Merge "[releng] Bug 501356 create oomph installation for eTrice developers"
diff --git a/.gitignore b/.gitignore
index ecdd5e6..6dda95a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
 [Tt]humbs.db
 *._trace
 *.xtendbin
+language.settings.xml
diff --git a/examples/my.etrice.generator.launch/META-INF/MANIFEST.MF b/examples/my.etrice.generator.launch/META-INF/MANIFEST.MF
index 2df862b..104f2cc 100644
--- a/examples/my.etrice.generator.launch/META-INF/MANIFEST.MF
+++ b/examples/my.etrice.generator.launch/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Derived Generator Launcher
 Bundle-SymbolicName: my.etrice.generator.launch;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: my.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator.launch;bundle-version="1.0.1",
- org.eclipse.etrice.generator.launch.java;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator.java;bundle-version="1.0.1",
+Require-Bundle: my.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.launch;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.launch.java;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.java;bundle-version="1.1.0",
  org.eclipse.debug.ui;bundle-version="3.8.1",
  org.eclipse.swt;bundle-version="3.100.1",
  org.eclipse.core.runtime;bundle-version="3.8.0",
diff --git a/examples/my.etrice.generator/META-INF/MANIFEST.MF b/examples/my.etrice.generator/META-INF/MANIFEST.MF
index 0331bb0..017ffb6 100644
--- a/examples/my.etrice.generator/META-INF/MANIFEST.MF
+++ b/examples/my.etrice.generator/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Derived Generator
 Bundle-SymbolicName: my.etrice.generator
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator.java;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.java;bundle-version="1.1.0",
  com.google.inject;bundle-version="3.0.0"
 Export-Package: my.etrice.generator
diff --git a/examples/org.eclipse.etrice.generator.cpp.reference/model/ReferenceCPP_ActorClasses.room b/examples/org.eclipse.etrice.generator.cpp.reference/model/ReferenceCPP_ActorClasses.room
index ac7ee7a..070e710 100644
--- a/examples/org.eclipse.etrice.generator.cpp.reference/model/ReferenceCPP_ActorClasses.room
+++ b/examples/org.eclipse.etrice.generator.cpp.reference/model/ReferenceCPP_ActorClasses.room
@@ -147,7 +147,7 @@
 		}
 		Behavior {
 			StateMachine {
-				Transition init: initial -> state1
+				Transition init: initial -> tp0 of state0
 				State state0 {
 					subgraph {
 						EntryPoint tp0
@@ -171,6 +171,7 @@
 					subgraph {
 						EntryPoint tp0
 						ExitPoint tp1
+					EntryPoint tr1
 					}
 				}
 				Transition tr2: tp1 of state2 -> Done
@@ -188,7 +189,7 @@
 					}
 				}
 				Transition tr5: cp cp0 -> tp0 of state2
-				Transition tr6: cp cp0 -> state2 {
+				Transition tr6:  cp cp0 -> tr1 of state2 {
 					cond {
 						"true"
 					}
@@ -214,11 +215,17 @@
 							}
 						}
 						Transition tr0: my tp0 -> state0
-					}
-				}
-				RefinedState state2 {
-					subgraph {
-						Transition tr0: my tp0 -> my tp1
+						Transition tr1: state0 -> my tp1 {
+							triggers {
+								<reply2:port>
+							}
+						}
+						Transition tr2: state0 -> my tp3 {
+							triggers {
+								<reply3:port>
+							}
+						}
+						
 					}
 				}
 			}
@@ -296,4 +303,82 @@
 		}
 	}
 
+	ActorClass ReplicationTop {
+		
+	Structure {
+			ActorRef replSub1 [3]: ReplicationSub1
+			ActorRef replSub2 [3]: ReplicationSub2
+		Binding replSub1.port and replSub2.port
+		ActorRef replSub3_1 [1]: ReplicationSub3
+		ActorRef replSub3_2: ReplicationSub3
+			conjugated Port replPort [8]: PStartStop
+		Binding replPort and replSub3_1.replPort
+			Binding replPort and replSub3_2.replPort
+		}
+	Behavior {
+			StateMachine {
+				State state0 {
+					entry {
+						"replPort.start();"
+					}
+				}
+				State DONE
+				State state1
+				Transition init0: initial -> state0
+				Transition tr0: state0 -> state1 {
+					triggers {
+						<started: replPort>
+					}
+				}
+				Transition tr1: state1 -> DONE {
+					triggers {
+						<started: replPort>
+					}
+				}
+			}
+		}
+	}
+	
+	ActorClass ReplicationSub1 {
+		
+	Interface {
+			conjugated Port port: PStartStop
+		}
+		Structure {
+			external Port port
+		}
+	}
+
+	ActorClass ReplicationSub2 {
+		
+	Interface {
+			Port port: PStartStop
+		}
+		Structure {
+			external Port port
+		}
+	}
+	ActorClass ReplicationSub3 {
+		
+	Interface {
+			Port replPort [1]: PStartStop
+		}
+		Structure {
+			external Port replPort
+		}
+		Behavior {
+			StateMachine { State state0
+				State state1
+				Transition init0: initial -> state0
+				Transition tr0: state0 -> state1 {
+					triggers {
+						<start: replPort>
+					}
+					action {
+						"replPort.started();"
+					}
+				}
+			}
+		}
+	}
 }
\ No newline at end of file
diff --git a/examples/org.eclipse.etrice.generator.cpp.reference/model/ReferenceCPP_Main.room b/examples/org.eclipse.etrice.generator.cpp.reference/model/ReferenceCPP_Main.room
index 22bdd94..15bd0f4 100644
--- a/examples/org.eclipse.etrice.generator.cpp.reference/model/ReferenceCPP_Main.room
+++ b/examples/org.eclipse.etrice.generator.cpp.reference/model/ReferenceCPP_Main.room
@@ -19,9 +19,11 @@
 	}
 
 	SubSystemClass SubSysClass {
-		ActorRef topActor: ActorToplevel
+		
 		ActorRef timingService: ATimingService
-		LayerConnection ref topActor satisfied_by timingService.timer
+		
 		LogicalThread defaultThread
+	LayerConnection ref replTop satisfied_by timingService.timer
+		ActorRef replTop: ReplicationTop
 	}
 }
\ No newline at end of file
diff --git a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.InheritanceBaseClassSimple.behavior b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.InheritanceBaseClassSimple.behavior
index b605b9c..6d5f073 100644
--- a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.InheritanceBaseClassSimple.behavior
+++ b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.InheritanceBaseClassSimple.behavior
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.behavior" name="Behavior of InheritanceBaseClassSimple" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@children.0/@children.5/@link //@children.1/@link //@children.1/@children.1/@link //@children.0/@children.2/@children.1/@link //@children.1/@children.2/@link //@children.0/@children.2/@children.2/@link //@children.2/@link //@children.2/@children.1/@link //@children.0/@children.4/@children.1/@link //@children.2/@children.2/@link //@children.0/@children.4/@children.2/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@children.1/@children.3/@link //@children.0/@children.6/@link //@connections.4/@link //@children.0/@children.7/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@connections.8/@link //@children.1/@children.4/@link //@children.0/@children.2/@children.3/@link //@connections.9/@link" verticalGridUnit="0" version="0.11.0">
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.behavior" name="Behavior of InheritanceBaseClassSimple" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@children.0/@children.5/@link //@children.1/@link //@children.1/@children.1/@link //@children.0/@children.2/@children.1/@link //@children.1/@children.2/@link //@children.0/@children.2/@children.2/@link //@children.2/@link //@children.2/@children.1/@link //@children.0/@children.4/@children.1/@link //@children.2/@children.2/@link //@children.0/@children.4/@children.2/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@children.1/@children.3/@link //@children.0/@children.6/@link //@connections.4/@link //@children.0/@children.7/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@connections.8/@link //@children.1/@children.4/@link //@children.0/@children.2/@children.3/@link //@connections.9/@link //@children.2/@children.3/@link //@children.0/@children.4/@children.3/@link" verticalGridUnit="0" version="0.11.0">
   <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
   <link>
     <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:InheritanceBaseClassSimple"/>
@@ -76,7 +76,7 @@
         <link>
           <businessObjects href="../ReferenceCPP_ActorClasses.room#EntryPoint:InheritanceBaseClassSimple$state0$tp0"/>
         </link>
-        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.2 //@connections.8"/>
+        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.2 //@connections.8 //@connections.0"/>
         <children visible="true">
           <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
         </children>
@@ -148,7 +148,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#SimpleState:InheritanceBaseClassSimple$state1"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.0 //@connections.4" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.4" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
       <children visible="true">
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="166" height="71" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state1"/>
       </children>
@@ -179,7 +179,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#SimpleState:InheritanceBaseClassSimple$state2"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.7" referencedGraphicsAlgorithm="//@children.0/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
       <children visible="true">
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="148" height="63" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state2"/>
       </children>
@@ -225,6 +225,28 @@
           <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" font="//@fonts.0" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_BOTTOM" value="tp1"/>
         </children>
       </children>
+      <children xsi:type="pi:ContainerShape" visible="true" active="true">
+        <properties key="obj-type" value="trp"/>
+        <properties key="item-kind" value="entp"/>
+        <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="39">
+          <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
+            <points x="27" y="33"/>
+            <points x="33" y="27"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0">
+            <points x="27" y="27"/>
+            <points x="33" y="33"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithm>
+        <link>
+          <businessObjects href="../ReferenceCPP_ActorClasses.room#EntryPoint:InheritanceBaseClassSimple$state2$tr1"/>
+        </link>
+        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.7" referencedGraphicsAlgorithm="//@children.0/@children.4/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <children visible="true">
+          <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" y="37" font="//@fonts.0" verticalAlignment="ALIGNMENT_TOP" value="tr1"/>
+        </children>
+      </children>
     </children>
     <children xsi:type="pi:ContainerShape" visible="true" active="true">
       <properties key="obj-type" value="state"/>
@@ -428,8 +450,30 @@
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp1"/>
       </children>
     </children>
+    <children xsi:type="pi:ContainerShape" active="true">
+      <properties key="obj-type" value="trp"/>
+      <properties key="item-kind" value="entp"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" y="270">
+        <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
+        <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
+          <points x="33" y="47"/>
+          <points x="47" y="33"/>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
+          <points x="33" y="33"/>
+          <points x="47" y="47"/>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#EntryPoint:InheritanceBaseClassSimple$state2$tr1"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor"/>
+      <children>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="50" font="//@fonts.0" verticalAlignment="ALIGNMENT_TOP" value="tr1"/>
+      </children>
+    </children>
   </children>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.3/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@children.1/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
@@ -549,7 +593,7 @@
       <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr5: [else]"/>
     </connectionDecorators>
   </connections>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.4/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.4/@children.3/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
diff --git a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.InheritanceDerivedClassSimple.behavior b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.InheritanceDerivedClassSimple.behavior
index 4ebdca8..4cd3140 100644
--- a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.InheritanceDerivedClassSimple.behavior
+++ b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.InheritanceDerivedClassSimple.behavior
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.behavior" name="Behavior of InheritanceDerivedClassSimple" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@children.0/@children.5/@link //@children.0/@children.6/@link //@children.0/@children.7/@link //@children.1/@link //@children.1/@children.1/@link //@children.0/@children.5/@children.1/@link //@children.1/@children.2/@link //@children.0/@children.5/@children.2/@link //@children.1/@children.3/@link //@children.1/@children.4/@link //@children.0/@children.5/@children.3/@link //@children.1/@children.5/@link //@connections.0/@link //@children.2/@link //@children.2/@children.1/@link //@children.0/@children.6/@children.1/@link //@children.2/@children.2/@link //@children.0/@children.6/@children.2/@link //@connections.1/@link //@connections.2/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@connections.8/@link //@connections.9/@link //@connections.10/@link //@connections.11/@link" verticalGridUnit="0" version="0.11.0">
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.behavior" name="Behavior of InheritanceDerivedClassSimple" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@children.0/@children.5/@link //@children.0/@children.6/@link //@children.0/@children.7/@link //@children.1/@link //@children.1/@children.1/@link //@children.0/@children.6/@children.1/@link //@children.1/@children.2/@link //@children.0/@children.6/@children.2/@link //@children.1/@children.3/@link //@children.1/@children.4/@link //@children.0/@children.6/@children.3/@link //@children.1/@children.5/@link //@connections.0/@link //@connections.1/@link //@connections.2/@link //@children.2/@link //@children.2/@children.1/@link //@children.0/@children.4/@children.1/@link //@children.2/@children.2/@link //@children.0/@children.4/@children.2/@link //@children.2/@children.3/@link //@children.0/@children.4/@children.3/@link //@connections.3/@link //@connections.4/@link //@connections.5/@link //@connections.6/@link //@connections.7/@link //@connections.8/@link //@connections.9/@link //@connections.10/@link //@connections.11/@link //@connections.12/@link" verticalGridUnit="0" version="0.11.0">
   <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
   <link>
     <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:InheritanceDerivedClassSimple"/>
@@ -24,7 +24,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#StateGraph:InheritanceBaseClassSimple$sg"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
       <children visible="true">
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
       </children>
@@ -38,7 +38,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#TransitionPoint:InheritanceBaseClassSimple$tp0"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6"/>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.7"/>
       <children visible="true">
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="50" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_TOP" value="tp0"/>
       </children>
@@ -69,13 +69,108 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#SimpleState:InheritanceBaseClassSimple$state1"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" incomingConnections="//@connections.2 //@connections.6" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5" incomingConnections="//@connections.7" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
       <children visible="true">
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="166" height="71" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state1"/>
       </children>
     </children>
     <children xsi:type="pi:ContainerShape" visible="true" active="true">
       <properties key="obj-type" value="state"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="208" height="123" x="207" y="358">
+        <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.4" foreground="//@colors.3" lineWidth="1" transparency="0.0" width="148" height="63" x="30" y="30" cornerHeight="20" cornerWidth="20">
+          <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.3" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="15" height="8" x="123" y="3" cornerHeight="5" cornerWidth="5"/>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.3" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="74" y="57">
+            <points x="-3" y="-3"/>
+            <points x="-3" y="3"/>
+            <points x="-11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.3" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="74" y="57">
+            <points x="3" y="-3"/>
+            <points x="3" y="3"/>
+            <points x="11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.3" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="74" y="57">
+            <points x="-2" y="-3"/>
+            <points x="-2" y="3"/>
+            <points x="2" y="3"/>
+            <points x="2" y="-3"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#SimpleState:InheritanceBaseClassSimple$state2"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="148" height="63" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state2"/>
+      </children>
+      <children xsi:type="pi:ContainerShape" visible="true" active="true">
+        <properties key="obj-type" value="trp"/>
+        <properties key="item-kind" value="entp"/>
+        <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="60">
+          <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.3" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0">
+            <points x="27" y="33"/>
+            <points x="33" y="27"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0">
+            <points x="27" y="27"/>
+            <points x="33" y="33"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithm>
+        <link>
+          <businessObjects href="../ReferenceCPP_ActorClasses.room#EntryPoint:InheritanceBaseClassSimple$state2$tp0"/>
+        </link>
+        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.4 //@connections.9" referencedGraphicsAlgorithm="//@children.0/@children.4/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <children visible="true">
+          <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
+        </children>
+      </children>
+      <children xsi:type="pi:ContainerShape" visible="true" active="true">
+        <properties key="obj-type" value="trp"/>
+        <properties key="item-kind" value="extp"/>
+        <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="148" y="29">
+          <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.3" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.3" lineWidth="1" filled="true" transparency="0.0" x="25" y="25">
+            <points x="5"/>
+            <points x="11" y="5"/>
+            <points x="5" y="11"/>
+            <points y="5"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithm>
+        <link>
+          <businessObjects href="../ReferenceCPP_ActorClasses.room#ExitPoint:InheritanceBaseClassSimple$state2$tp1"/>
+        </link>
+        <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.6" referencedGraphicsAlgorithm="//@children.0/@children.4/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <children visible="true">
+          <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp1"/>
+        </children>
+      </children>
+      <children xsi:type="pi:ContainerShape" visible="true" active="true">
+        <properties key="obj-type" value="trp"/>
+        <properties key="item-kind" value="entp"/>
+        <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="39">
+          <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.3" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0">
+            <points x="27" y="33"/>
+            <points x="33" y="27"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0">
+            <points x="27" y="27"/>
+            <points x="33" y="33"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithm>
+        <link>
+          <businessObjects href="../ReferenceCPP_ActorClasses.room#EntryPoint:InheritanceBaseClassSimple$state2$tr1"/>
+        </link>
+        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.10" referencedGraphicsAlgorithm="//@children.0/@children.4/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <children visible="true">
+          <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" y="37" font="//@fonts.0" verticalAlignment="ALIGNMENT_TOP" value="tr1"/>
+        </children>
+      </children>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="state"/>
       <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="208" height="123" x="541" y="330">
         <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.4" foreground="//@colors.3" lineWidth="1" transparency="0.0" width="148" height="63" x="30" y="30" cornerHeight="20" cornerWidth="20">
           <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.3" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="123" y="3" cornerHeight="5" cornerWidth="5"/>
@@ -100,7 +195,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#SimpleState:InheritanceBaseClassSimple$Done"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.5" referencedGraphicsAlgorithm="//@children.0/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.6" referencedGraphicsAlgorithm="//@children.0/@children.5/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
       <children visible="true">
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="148" height="63" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="Done"/>
       </children>
@@ -131,7 +226,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#RefinedState:InheritanceDerivedClassSimple$state0"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.7" referencedGraphicsAlgorithm="//@children.0/@children.5/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.8" referencedGraphicsAlgorithm="//@children.0/@children.6/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
       <children visible="true">
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="148" height="63" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state0"/>
       </children>
@@ -152,7 +247,7 @@
         <link>
           <businessObjects href="../ReferenceCPP_ActorClasses.room#EntryPoint:InheritanceBaseClassSimple$state0$tp0"/>
         </link>
-        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.4 //@connections.10" referencedGraphicsAlgorithm="//@children.0/@children.5/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.5 //@connections.11 //@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.6/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
         <children visible="true">
           <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" font="//@fonts.0" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
         </children>
@@ -172,7 +267,7 @@
         <link>
           <businessObjects href="../ReferenceCPP_ActorClasses.room#ExitPoint:InheritanceBaseClassSimple$state0$tp1"/>
         </link>
-        <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.3" referencedGraphicsAlgorithm="//@children.0/@children.5/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.4" referencedGraphicsAlgorithm="//@children.0/@children.6/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
         <children visible="true">
           <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" y="37" font="//@fonts.0" verticalAlignment="ALIGNMENT_TOP" value="tp1"/>
         </children>
@@ -192,86 +287,13 @@
         <link>
           <businessObjects href="../ReferenceCPP_ActorClasses.room#ExitPoint:InheritanceBaseClassSimple$state0$tp3"/>
         </link>
-        <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.11" referencedGraphicsAlgorithm="//@children.0/@children.5/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.12" referencedGraphicsAlgorithm="//@children.0/@children.6/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
         <children visible="true">
           <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" font="//@fonts.0" verticalAlignment="ALIGNMENT_BOTTOM" value="tp3"/>
         </children>
       </children>
     </children>
     <children xsi:type="pi:ContainerShape" visible="true" active="true">
-      <properties key="obj-type" value="state"/>
-      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="208" height="123" x="207" y="358">
-        <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.4" foreground="//@colors.3" lineWidth="1" transparency="0.0" width="148" height="63" x="30" y="30" cornerHeight="20" cornerWidth="20">
-          <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.3" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="15" height="8" x="123" y="3" cornerHeight="5" cornerWidth="5"/>
-          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.3" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="74" y="57">
-            <points x="-3" y="-3"/>
-            <points x="-3" y="3"/>
-            <points x="-11" y="3"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.3" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="74" y="57">
-            <points x="3" y="-3"/>
-            <points x="3" y="3"/>
-            <points x="11" y="3"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.3" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="74" y="57">
-            <points x="-2" y="-3"/>
-            <points x="-2" y="3"/>
-            <points x="2" y="3"/>
-            <points x="2" y="-3"/>
-          </graphicsAlgorithmChildren>
-        </graphicsAlgorithmChildren>
-      </graphicsAlgorithm>
-      <link>
-        <businessObjects href="../ReferenceCPP_ActorClasses.room#RefinedState:InheritanceDerivedClassSimple$state2"/>
-      </link>
-      <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.9" referencedGraphicsAlgorithm="//@children.0/@children.6/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
-      <children visible="true">
-        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="148" height="63" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state2"/>
-      </children>
-      <children xsi:type="pi:ContainerShape" visible="true" active="true">
-        <properties key="obj-type" value="trp"/>
-        <properties key="item-kind" value="entp"/>
-        <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="60">
-          <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.3" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0">
-            <points x="27" y="33"/>
-            <points x="33" y="27"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0">
-            <points x="27" y="27"/>
-            <points x="33" y="33"/>
-          </graphicsAlgorithmChildren>
-        </graphicsAlgorithm>
-        <link>
-          <businessObjects href="../ReferenceCPP_ActorClasses.room#EntryPoint:InheritanceBaseClassSimple$state2$tp0"/>
-        </link>
-        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.3 //@connections.8" referencedGraphicsAlgorithm="//@children.0/@children.6/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
-        <children visible="true">
-          <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
-        </children>
-      </children>
-      <children xsi:type="pi:ContainerShape" visible="true" active="true">
-        <properties key="obj-type" value="trp"/>
-        <properties key="item-kind" value="extp"/>
-        <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="148" y="29">
-          <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.3" lineWidth="1" transparency="0.0" width="11" height="11" x="25" y="25"/>
-          <graphicsAlgorithmChildren xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.3" lineWidth="1" filled="true" transparency="0.0" x="25" y="25">
-            <points x="5"/>
-            <points x="11" y="5"/>
-            <points x="5" y="11"/>
-            <points y="5"/>
-          </graphicsAlgorithmChildren>
-        </graphicsAlgorithm>
-        <link>
-          <businessObjects href="../ReferenceCPP_ActorClasses.room#ExitPoint:InheritanceBaseClassSimple$state2$tp1"/>
-        </link>
-        <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.5" referencedGraphicsAlgorithm="//@children.0/@children.6/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
-        <children visible="true">
-          <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="60" height="22" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp1"/>
-        </children>
-      </children>
-    </children>
-    <children xsi:type="pi:ContainerShape" visible="true" active="true">
       <properties key="obj-type" value="trp"/>
       <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="50" height="50" x="115" y="326">
         <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.3" lineWidth="2" transparency="0.0" width="25" height="25" x="12" y="12"/>
@@ -279,7 +301,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#ChoicePoint:InheritanceBaseClassSimple$cp0"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.8 //@connections.9 //@connections.10" incomingConnections="//@connections.7 //@connections.11"/>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.9 //@connections.10 //@connections.11" incomingConnections="//@connections.8 //@connections.12"/>
       <children visible="true">
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="50" height="25" y="12" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="C"/>
       </children>
@@ -334,7 +356,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#ExitPoint:InheritanceBaseClassSimple$state0$tp1"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor"/>
+      <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.1"/>
       <children>
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="50" font="//@fonts.0" verticalAlignment="ALIGNMENT_TOP" value="tp1"/>
       </children>
@@ -368,7 +390,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#ExitPoint:InheritanceBaseClassSimple$state0$tp3"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor"/>
+      <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.2"/>
       <children>
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="50" font="//@fonts.0" verticalAlignment="ALIGNMENT_TOP" value="tp3"/>
       </children>
@@ -399,7 +421,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#SimpleState:InheritanceDerivedClassSimple$state0$state0"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.1/@children.5/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1 //@connections.2" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.1/@children.5/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
       <children>
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state0"/>
       </children>
@@ -412,7 +434,7 @@
       <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
     </graphicsAlgorithm>
     <link>
-      <businessObjects href="../ReferenceCPP_ActorClasses.room#StateGraph:InheritanceDerivedClassSimple$state2$sg"/>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#StateGraph:InheritanceBaseClassSimple$state2$sg"/>
     </link>
     <children>
       <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="800" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/state2"/>
@@ -434,7 +456,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#EntryPoint:InheritanceBaseClassSimple$state2$tp0"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1"/>
+      <anchors xsi:type="pi:ChopboxAnchor"/>
       <children>
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="80" height="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp0"/>
       </children>
@@ -454,11 +476,33 @@
       <link>
         <businessObjects href="../ReferenceCPP_ActorClasses.room#ExitPoint:InheritanceBaseClassSimple$state2$tp1"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.1"/>
+      <anchors xsi:type="pi:ChopboxAnchor"/>
       <children>
         <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="80" height="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" verticalAlignment="ALIGNMENT_BOTTOM" value="tp1"/>
       </children>
     </children>
+    <children xsi:type="pi:ContainerShape" active="true">
+      <properties key="obj-type" value="trp"/>
+      <properties key="item-kind" value="entp"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" y="270">
+        <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.3" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
+        <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="2" filled="false" transparency="0.0">
+          <points x="33" y="47"/>
+          <points x="47" y="33"/>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="2" filled="false" transparency="0.0">
+          <points x="33" y="33"/>
+          <points x="47" y="47"/>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#EntryPoint:InheritanceBaseClassSimple$state2$tr1"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor"/>
+      <children>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="50" font="//@fonts.0" verticalAlignment="ALIGNMENT_TOP" value="tr1"/>
+      </children>
+    </children>
   </children>
   <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.1/@anchors.0" end="//@children.1/@children.5/@anchors.0">
     <properties key="obj-type" value="trans"/>
@@ -477,11 +521,11 @@
       <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr0: "/>
     </connectionDecorators>
   </connections>
-  <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.2/@children.1/@anchors.0" end="//@children.2/@children.2/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.5/@anchors.0" end="//@children.1/@children.2/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
-      <businessObjects href="../ReferenceCPP_ActorClasses.room#ContinuationTransition:InheritanceDerivedClassSimple$state2$tr0"/>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#TriggeredTransition:InheritanceDerivedClassSimple$state0$tr1"/>
     </link>
     <connectionDecorators locationRelative="true" location="1.0">
       <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
@@ -491,10 +535,27 @@
       </graphicsAlgorithm>
     </connectionDecorators>
     <connectionDecorators active="true" locationRelative="true" location="0.5">
-      <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr0: "/>
+      <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr1: &lt;reply2:port>"/>
     </connectionDecorators>
   </connections>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.3/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" active="true" start="//@children.1/@children.5/@anchors.0" end="//@children.1/@children.4/@anchors.0">
+    <properties key="obj-type" value="trans"/>
+    <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#TriggeredTransition:InheritanceDerivedClassSimple$state0$tr2"/>
+    </link>
+    <connectionDecorators locationRelative="true" location="1.0">
+      <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
+        <points x="-15" y="5"/>
+        <points/>
+        <points x="-15" y="-5"/>
+      </graphicsAlgorithm>
+    </connectionDecorators>
+    <connectionDecorators active="true" locationRelative="true" location="0.5">
+      <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr2: &lt;reply3:port>"/>
+    </connectionDecorators>
+  </connections>
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.6/@children.1/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
@@ -511,7 +572,7 @@
       <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
     </connectionDecorators>
   </connections>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@children.2/@anchors.0" end="//@children.0/@children.6/@children.1/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@children.2/@anchors.0" end="//@children.0/@children.4/@children.1/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
@@ -528,7 +589,7 @@
       <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr0: "/>
     </connectionDecorators>
   </connections>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.5/@children.1/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.6/@children.1/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
@@ -545,7 +606,7 @@
       <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" x="-67" y="-8" font="//@fonts.0" value="tr1: &lt;reply2:port>"/>
     </connectionDecorators>
   </connections>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@children.2/@anchors.0" end="//@children.0/@children.4/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@children.2/@anchors.0" end="//@children.0/@children.5/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
@@ -579,7 +640,7 @@
       <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr3: &lt;reply0:port>"/>
     </connectionDecorators>
   </connections>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@anchors.0" end="//@children.0/@children.7/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@anchors.0" end="//@children.0/@children.7/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
@@ -597,7 +658,7 @@
     </connectionDecorators>
     <bendpoints x="202" y="347"/>
   </connections>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.6/@children.1/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.4/@children.1/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
@@ -614,7 +675,7 @@
       <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr5: [else]"/>
     </connectionDecorators>
   </connections>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.6/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.4/@children.3/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
@@ -632,7 +693,7 @@
     </connectionDecorators>
     <bendpoints x="209" y="447"/>
   </connections>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.5/@children.1/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.7/@anchors.0" end="//@children.0/@children.6/@children.1/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
@@ -651,7 +712,7 @@
     <bendpoints x="161" y="267"/>
     <bendpoints x="257" y="267"/>
   </connections>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.5/@children.3/@anchors.0" end="//@children.0/@children.7/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.6/@children.3/@anchors.0" end="//@children.0/@children.7/@anchors.0">
     <properties key="obj-type" value="trans"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.3" lineWidth="1" filled="false" transparency="0.0"/>
     <link>
diff --git a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub1.structure b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub1.structure
new file mode 100644
index 0000000..8839181
--- /dev/null
+++ b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub1.structure
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.structure" name="Structure of ReplicationSub1" pictogramLinks="//@link //@children.0/@link //@children.0/@children.0/@link" verticalGridUnit="0" version="0.11.0">
+  <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+  <link>
+    <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:ReplicationSub1"/>
+  </link>
+  <children xsi:type="pi:ContainerShape" visible="true" active="true">
+    <properties key="obj-type" value="cls"/>
+    <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40">
+      <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" lineVisible="false" transparency="0.5" width="800" height="500" x="40" y="40"/>
+      <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+    </graphicsAlgorithm>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:ReplicationSub1"/>
+    </link>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="port"/>
+      <properties key="inherited" value="false"/>
+      <properties key="item-kind" value="C"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="800" y="250">
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
+        <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#Port:ReplicationSub1$port"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="port"/>
+      </children>
+    </children>
+  </children>
+  <colors red="227" green="238" blue="249"/>
+  <colors red="255" green="255" blue="255"/>
+  <colors/>
+  <fonts name="Arial" size="8"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub2.structure b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub2.structure
new file mode 100644
index 0000000..7a07561
--- /dev/null
+++ b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub2.structure
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.structure" name="Structure of ReplicationSub2" pictogramLinks="//@link //@children.0/@link //@children.0/@children.0/@link" verticalGridUnit="0" version="0.11.0">
+  <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+  <link>
+    <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:ReplicationSub2"/>
+  </link>
+  <children xsi:type="pi:ContainerShape" visible="true" active="true">
+    <properties key="obj-type" value="cls"/>
+    <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40">
+      <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" lineVisible="false" transparency="0.5" width="800" height="500" x="40" y="40"/>
+      <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+    </graphicsAlgorithm>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:ReplicationSub2"/>
+    </link>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="port"/>
+      <properties key="inherited" value="false"/>
+      <properties key="item-kind" value=""/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" y="268">
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
+        <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#Port:ReplicationSub2$port"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" value="port"/>
+      </children>
+    </children>
+  </children>
+  <colors red="227" green="238" blue="249"/>
+  <colors red="255" green="255" blue="255"/>
+  <colors/>
+  <fonts name="Arial" size="8"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub3.behavior b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub3.behavior
new file mode 100644
index 0000000..46d6e23
--- /dev/null
+++ b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub3.behavior
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.behavior" name="Behavior of ReplicationSub3" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link //@children.0/@children.3/@link //@connections.1/@link" verticalGridUnit="0" version="0.11.0">
+  <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+  <link>
+    <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:ReplicationSub3"/>
+  </link>
+  <children xsi:type="pi:ContainerShape" visible="true" active="true">
+    <properties key="obj-type" value="sg"/>
+    <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40">
+      <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
+      <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
+    </graphicsAlgorithm>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#StateGraph:ReplicationSub3$sg"/>
+    </link>
+    <children visible="true">
+      <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="800" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="trp"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="74" y="71">
+        <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#StateGraph:ReplicationSub3$sg"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
+      </children>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="state"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="317" y="180">
+        <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
+          <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="-3" y="-3"/>
+            <points x="-3" y="3"/>
+            <points x="-11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="3" y="-3"/>
+            <points x="3" y="3"/>
+            <points x="11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="-2" y="-3"/>
+            <points x="-2" y="3"/>
+            <points x="2" y="3"/>
+            <points x="2" y="-3"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#SimpleState:ReplicationSub3$state0"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state0"/>
+      </children>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="state"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="317" y="298">
+        <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
+          <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="-3" y="-3"/>
+            <points x="-3" y="3"/>
+            <points x="-11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="3" y="-3"/>
+            <points x="3" y="3"/>
+            <points x="11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="-2" y="-3"/>
+            <points x="-2" y="3"/>
+            <points x="2" y="3"/>
+            <points x="2" y="-3"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#SimpleState:ReplicationSub3$state1"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state1"/>
+      </children>
+    </children>
+  </children>
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0">
+    <properties key="obj-type" value="trans"/>
+    <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#InitialTransition:ReplicationSub3$initial"/>
+    </link>
+    <connectionDecorators visible="true" locationRelative="true" location="1.0">
+      <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
+        <points x="-15" y="5"/>
+        <points/>
+        <points x="-15" y="-5"/>
+      </graphicsAlgorithm>
+    </connectionDecorators>
+    <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
+      <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
+    </connectionDecorators>
+  </connections>
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.3/@anchors.0">
+    <properties key="obj-type" value="trans"/>
+    <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#TriggeredTransition:ReplicationSub3$tr0"/>
+    </link>
+    <connectionDecorators visible="true" locationRelative="true" location="1.0">
+      <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
+        <points x="-15" y="5"/>
+        <points/>
+        <points x="-15" y="-5"/>
+      </graphicsAlgorithm>
+    </connectionDecorators>
+    <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
+      <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr0: &lt;start:replPort..."/>
+    </connectionDecorators>
+  </connections>
+  <colors red="227" green="238" blue="249"/>
+  <colors red="255" green="255" blue="255"/>
+  <colors/>
+  <colors red="200" green="200" blue="200"/>
+  <fonts name="Arial" size="8"/>
+  <fonts name="Arial" size="9" bold="true"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub3.structure b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub3.structure
new file mode 100644
index 0000000..cb1a5d6
--- /dev/null
+++ b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationSub3.structure
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.structure" name="Structure of ReplicationSub3" pictogramLinks="//@link //@children.0/@link //@children.0/@children.0/@link" verticalGridUnit="0" version="0.11.0">
+  <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+  <link>
+    <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:ReplicationSub3"/>
+  </link>
+  <children xsi:type="pi:ContainerShape" visible="true" active="true">
+    <properties key="obj-type" value="cls"/>
+    <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40">
+      <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" lineVisible="false" transparency="0.5" width="800" height="500" x="40" y="40"/>
+      <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+    </graphicsAlgorithm>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:ReplicationSub3"/>
+    </link>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="port"/>
+      <properties key="inherited" value="false"/>
+      <properties key="item-kind" value=""/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="364">
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
+        <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.1" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#Port:ReplicationSub3$replPort"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="replPort"/>
+      </children>
+    </children>
+  </children>
+  <colors red="227" green="238" blue="249"/>
+  <colors red="255" green="255" blue="255"/>
+  <colors/>
+  <fonts name="Arial" size="8"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationTop.behavior b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationTop.behavior
new file mode 100644
index 0000000..0a03092
--- /dev/null
+++ b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationTop.behavior
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.behavior" name="Behavior of ReplicationTop" pictogramLinks="//@link //@children.0/@link //@children.0/@children.1/@link //@children.0/@children.2/@link //@connections.0/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@connections.1/@link //@connections.2/@link" verticalGridUnit="0" version="0.11.0">
+  <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+  <link>
+    <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:ReplicationTop"/>
+  </link>
+  <children xsi:type="pi:ContainerShape" visible="true" active="true">
+    <properties key="obj-type" value="sg"/>
+    <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40">
+      <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="4" transparency="0.5" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
+      <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40" cornerHeight="20" cornerWidth="20"/>
+    </graphicsAlgorithm>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#StateGraph:ReplicationTop$sg"/>
+    </link>
+    <children visible="true">
+      <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="800" height="80" y="40" font="//@fonts.1" horizontalAlignment="ALIGNMENT_RIGHT" verticalAlignment="ALIGNMENT_TOP" value="/"/>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="trp"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="40" height="40" x="98" y="70">
+        <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="10" y="10"/>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#StateGraph:ReplicationTop$sg"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="40" height="20" y="10" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="I"/>
+      </children>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="state"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="284" y="137">
+        <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
+          <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="30" y="24">
+            <points x="-3" y="-3"/>
+            <points x="-3" y="3"/>
+            <points x="-11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="3" y="-3"/>
+            <points x="3" y="3"/>
+            <points x="11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="-2" y="-3"/>
+            <points x="-2" y="3"/>
+            <points x="2" y="3"/>
+            <points x="2" y="-3"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#SimpleState:ReplicationTop$state0"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state0"/>
+      </children>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="state"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="302" y="269">
+        <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
+          <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="-3" y="-3"/>
+            <points x="-3" y="3"/>
+            <points x="-11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="3" y="-3"/>
+            <points x="3" y="3"/>
+            <points x="11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="-2" y="-3"/>
+            <points x="-2" y="3"/>
+            <points x="2" y="3"/>
+            <points x="2" y="-3"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#SimpleState:ReplicationTop$DONE"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="DONE"/>
+      </children>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="state"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="120" height="90" x="274" y="200">
+        <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="60" height="30" x="30" y="30" cornerHeight="20" cornerWidth="20">
+          <graphicsAlgorithmChildren xsi:type="al:RoundedRectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="15" height="8" x="35" y="3" cornerHeight="5" cornerWidth="5"/>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="-3" y="-3"/>
+            <points x="-3" y="3"/>
+            <points x="-11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="3" y="-3"/>
+            <points x="3" y="3"/>
+            <points x="11" y="3"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polygon" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" x="30" y="24">
+            <points x="-2" y="-3"/>
+            <points x="-2" y="3"/>
+            <points x="2" y="3"/>
+            <points x="2" y="-3"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#SimpleState:ReplicationTop$state1"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.2" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.2" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="30" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="state1"/>
+      </children>
+    </children>
+  </children>
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.2/@anchors.0">
+    <properties key="obj-type" value="trans"/>
+    <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#InitialTransition:ReplicationTop$initial"/>
+    </link>
+    <connectionDecorators visible="true" locationRelative="true" location="1.0">
+      <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
+        <points x="-15" y="5"/>
+        <points/>
+        <points x="-15" y="-5"/>
+      </graphicsAlgorithm>
+    </connectionDecorators>
+    <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
+      <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="init"/>
+    </connectionDecorators>
+  </connections>
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.2/@anchors.0" end="//@children.0/@children.4/@anchors.0">
+    <properties key="obj-type" value="trans"/>
+    <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#TriggeredTransition:ReplicationTop$tr0"/>
+    </link>
+    <connectionDecorators visible="true" locationRelative="true" location="1.0">
+      <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
+        <points x="-15" y="5"/>
+        <points/>
+        <points x="-15" y="-5"/>
+      </graphicsAlgorithm>
+    </connectionDecorators>
+    <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
+      <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr0: &lt;started:replPo..."/>
+    </connectionDecorators>
+  </connections>
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.4/@anchors.0" end="//@children.0/@children.3/@anchors.0">
+    <properties key="obj-type" value="trans"/>
+    <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#TriggeredTransition:ReplicationTop$tr1"/>
+    </link>
+    <connectionDecorators visible="true" locationRelative="true" location="1.0">
+      <graphicsAlgorithm xsi:type="al:Polygon" background="//@colors.1" foreground="//@colors.2" lineWidth="1" filled="true" transparency="0.0">
+        <points x="-15" y="5"/>
+        <points/>
+        <points x="-15" y="-5"/>
+      </graphicsAlgorithm>
+    </connectionDecorators>
+    <connectionDecorators visible="true" active="true" locationRelative="true" location="0.5">
+      <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" x="10" font="//@fonts.0" value="tr1: &lt;started:replPo..."/>
+    </connectionDecorators>
+  </connections>
+  <colors red="227" green="238" blue="249"/>
+  <colors red="255" green="255" blue="255"/>
+  <colors/>
+  <colors red="200" green="200" blue="200"/>
+  <fonts name="Arial" size="8"/>
+  <fonts name="Arial" size="9" bold="true"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationTop.structure b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationTop.structure
new file mode 100644
index 0000000..f693737
--- /dev/null
+++ b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_ActorClasses.ReplicationTop.structure
@@ -0,0 +1,600 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.structure" name="Structure of ReplicationTop" pictogramLinks="//@link //@children.0/@link //@children.0/@children.0/@link //@children.0/@children.1/@link //@children.0/@children.0/@children.2/@link //@children.0/@children.1/@children.2/@link //@connections.0/@link //@children.0/@children.2/@link //@children.0/@children.2/@children.2/@link //@children.0/@children.3/@link //@children.0/@children.4/@link //@children.0/@children.4/@children.2/@link //@connections.1/@link //@connections.2/@link" verticalGridUnit="0" version="0.11.0">
+  <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
+  <link>
+    <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:ReplicationTop"/>
+  </link>
+  <children xsi:type="pi:ContainerShape" visible="true" active="true">
+    <properties key="obj-type" value="cls"/>
+    <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="880" height="580" x="40" y="40">
+      <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" lineVisible="false" transparency="0.5" width="800" height="500" x="40" y="40"/>
+      <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="4" filled="false" transparency="0.0" width="800" height="500" x="40" y="40"/>
+    </graphicsAlgorithm>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorClass:ReplicationTop"/>
+    </link>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="ref"/>
+      <properties key="actorref_version" value="2"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="110" y="285">
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="true" lineVisible="true" transparency="0.0" width="180" height="80" x="33" y="27">
+          <properties key="actorref_graphic_element" value="replborder"/>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+          <properties key="actorref_graphic_element" value="mainborder"/>
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50">
+            <properties key="actorref_graphic_element" value="substructure"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65">
+            <properties key="actorref_graphic_element" value="substructure"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="15"/>
+            <points x="15"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="30"/>
+            <points x="30"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="45"/>
+            <points x="45"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="60"/>
+            <points x="60"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="75"/>
+            <points x="75"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="10" y="80"/>
+            <points x="90"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="25" y="80"/>
+            <points x="105"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="40" y="80"/>
+            <points x="120"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="55" y="80"/>
+            <points x="135"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="70" y="80"/>
+            <points x="150"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="85" y="80"/>
+            <points x="165"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="100" y="80"/>
+            <points x="180"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="115" y="80"/>
+            <points x="180" y="15"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="130" y="80"/>
+            <points x="180" y="30"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="145" y="80"/>
+            <points x="180" y="45"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="160" y="80"/>
+            <points x="180" y="60"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="175" y="80"/>
+            <points x="180" y="75"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="true" lineVisible="true" transparency="0.0" width="25" height="25" x="185" y="30">
+          <properties key="actorref_graphic_element" value="sizeframe"/>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorRef:ReplicationTop$replSub1"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.1">
+        <properties key="actorref_graphic_element" value="layerconn_anchor"/>
+      </anchors>
+      <children visible="true">
+        <properties key="actorref_graphic_element" value="name_shape"/>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="replSub1&#xA;(ReplicationSub1)"/>
+      </children>
+      <children visible="true">
+        <properties key="actorref_graphic_element" value="size_shape"/>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="25" height="25" x="185" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="3"/>
+      </children>
+      <children xsi:type="pi:ContainerShape" visible="true" active="true">
+        <properties key="obj-type" value="port"/>
+        <properties key="inherited" value="false"/>
+        <properties key="item-kind" value="C"/>
+        <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="180" y="40">
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
+        </graphicsAlgorithm>
+        <link>
+          <businessObjects href="../ReferenceCPP_ActorClasses.room#Port:ReplicationSub1$port"/>
+        </link>
+        <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <children visible="true">
+          <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" value="port"/>
+        </children>
+      </children>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="ref"/>
+      <properties key="actorref_version" value="2"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="422" y="285">
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="true" lineVisible="true" transparency="0.0" width="180" height="80" x="33" y="27">
+          <properties key="actorref_graphic_element" value="replborder"/>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+          <properties key="actorref_graphic_element" value="mainborder"/>
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50">
+            <properties key="actorref_graphic_element" value="substructure"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65">
+            <properties key="actorref_graphic_element" value="substructure"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="15"/>
+            <points x="15"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="30"/>
+            <points x="30"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="45"/>
+            <points x="45"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="60"/>
+            <points x="60"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="75"/>
+            <points x="75"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="10" y="80"/>
+            <points x="90"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="25" y="80"/>
+            <points x="105"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="40" y="80"/>
+            <points x="120"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="55" y="80"/>
+            <points x="135"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="70" y="80"/>
+            <points x="150"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="85" y="80"/>
+            <points x="165"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="100" y="80"/>
+            <points x="180"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="115" y="80"/>
+            <points x="180" y="15"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="130" y="80"/>
+            <points x="180" y="30"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="145" y="80"/>
+            <points x="180" y="45"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="160" y="80"/>
+            <points x="180" y="60"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="175" y="80"/>
+            <points x="180" y="75"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="true" lineVisible="true" transparency="0.0" width="25" height="25" x="185" y="30">
+          <properties key="actorref_graphic_element" value="sizeframe"/>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorRef:ReplicationTop$replSub2"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.1">
+        <properties key="actorref_graphic_element" value="layerconn_anchor"/>
+      </anchors>
+      <children visible="true">
+        <properties key="actorref_graphic_element" value="name_shape"/>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="replSub2&#xA;(ReplicationSub2)"/>
+      </children>
+      <children visible="true">
+        <properties key="actorref_graphic_element" value="size_shape"/>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="25" height="25" x="185" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="3"/>
+      </children>
+      <children xsi:type="pi:ContainerShape" visible="true" active="true">
+        <properties key="obj-type" value="port"/>
+        <properties key="inherited" value="false"/>
+        <properties key="item-kind" value=""/>
+        <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" y="42">
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
+        </graphicsAlgorithm>
+        <link>
+          <businessObjects href="../ReferenceCPP_ActorClasses.room#Port:ReplicationSub2$port"/>
+        </link>
+        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <children visible="true">
+          <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" value="port"/>
+        </children>
+      </children>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="ref"/>
+      <properties key="actorref_version" value="2"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="113" y="154">
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="180" height="80" x="33" y="27">
+          <properties key="actorref_graphic_element" value="replborder"/>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+          <properties key="actorref_graphic_element" value="mainborder"/>
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50">
+            <properties key="actorref_graphic_element" value="substructure"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65">
+            <properties key="actorref_graphic_element" value="substructure"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="15"/>
+            <points x="15"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="30"/>
+            <points x="30"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="45"/>
+            <points x="45"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="60"/>
+            <points x="60"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="75"/>
+            <points x="75"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="10" y="80"/>
+            <points x="90"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="25" y="80"/>
+            <points x="105"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="40" y="80"/>
+            <points x="120"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="55" y="80"/>
+            <points x="135"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="70" y="80"/>
+            <points x="150"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="85" y="80"/>
+            <points x="165"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="100" y="80"/>
+            <points x="180"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="115" y="80"/>
+            <points x="180" y="15"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="130" y="80"/>
+            <points x="180" y="30"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="145" y="80"/>
+            <points x="180" y="45"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="160" y="80"/>
+            <points x="180" y="60"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="175" y="80"/>
+            <points x="180" y="75"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="25" height="25" x="185" y="30">
+          <properties key="actorref_graphic_element" value="sizeframe"/>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorRef:ReplicationTop$replSub3_1"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.1">
+        <properties key="actorref_graphic_element" value="layerconn_anchor"/>
+      </anchors>
+      <children visible="true">
+        <properties key="actorref_graphic_element" value="name_shape"/>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="replSub3_1&#xA;(ReplicationSub3)"/>
+      </children>
+      <children>
+        <properties key="actorref_graphic_element" value="size_shape"/>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="25" height="25" x="185" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="1"/>
+      </children>
+      <children xsi:type="pi:ContainerShape" visible="true" active="true">
+        <properties key="obj-type" value="port"/>
+        <properties key="inherited" value="false"/>
+        <properties key="item-kind" value=""/>
+        <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="81">
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
+        </graphicsAlgorithm>
+        <link>
+          <businessObjects href="../ReferenceCPP_ActorClasses.room#Port:ReplicationSub3$replPort"/>
+        </link>
+        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.1" referencedGraphicsAlgorithm="//@children.0/@children.2/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <children visible="true">
+          <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" value="replPort"/>
+        </children>
+      </children>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="port"/>
+      <properties key="inherited" value="false"/>
+      <properties key="item-kind" value="CM"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="80" height="80" x="339" y="57">
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="25" y="15"/>
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="40" height="40" x="20" y="20"/>
+        <graphicsAlgorithmChildren xsi:type="al:Ellipse" background="//@colors.2" foreground="//@colors.2" lineWidth="2" transparency="0.0" width="20" height="20" x="30" y="30"/>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#Port:ReplicationTop$replPort"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.1 //@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.3/@graphicsAlgorithm/@graphicsAlgorithmChildren.1"/>
+      <children visible="true">
+        <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="80" height="20" y="60" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="replPort"/>
+      </children>
+    </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="ref"/>
+      <properties key="actorref_version" value="2"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="415" y="154">
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="180" height="80" x="33" y="27">
+          <properties key="actorref_graphic_element" value="replborder"/>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+          <properties key="actorref_graphic_element" value="mainborder"/>
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="150" y="50">
+            <properties key="actorref_graphic_element" value="substructure"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="20" height="10" x="145" y="65">
+            <properties key="actorref_graphic_element" value="substructure"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="15"/>
+            <points x="15"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="30"/>
+            <points x="30"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="45"/>
+            <points x="45"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="60"/>
+            <points x="60"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="75"/>
+            <points x="75"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="10" y="80"/>
+            <points x="90"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="25" y="80"/>
+            <points x="105"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="40" y="80"/>
+            <points x="120"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="55" y="80"/>
+            <points x="135"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="70" y="80"/>
+            <points x="150"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="85" y="80"/>
+            <points x="165"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="100" y="80"/>
+            <points x="180"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="115" y="80"/>
+            <points x="180" y="15"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="130" y="80"/>
+            <points x="180" y="30"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="145" y="80"/>
+            <points x="180" y="45"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="160" y="80"/>
+            <points x="180" y="60"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="175" y="80"/>
+            <points x="180" y="75"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="25" height="25" x="185" y="30">
+          <properties key="actorref_graphic_element" value="sizeframe"/>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_ActorClasses.room#ActorRef:ReplicationTop$replSub3_2"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.4/@graphicsAlgorithm/@graphicsAlgorithmChildren.1">
+        <properties key="actorref_graphic_element" value="layerconn_anchor"/>
+      </anchors>
+      <children visible="true">
+        <properties key="actorref_graphic_element" value="name_shape"/>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="replSub3_2&#xA;(ReplicationSub3)"/>
+      </children>
+      <children>
+        <properties key="actorref_graphic_element" value="size_shape"/>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="25" height="25" x="185" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="1"/>
+      </children>
+      <children xsi:type="pi:ContainerShape" visible="true" active="true">
+        <properties key="obj-type" value="port"/>
+        <properties key="inherited" value="false"/>
+        <properties key="item-kind" value=""/>
+        <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="60" height="60" x="81">
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.2" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="18" height="18" x="21" y="21"/>
+        </graphicsAlgorithm>
+        <link>
+          <businessObjects href="../ReferenceCPP_ActorClasses.room#Port:ReplicationSub3$replPort"/>
+        </link>
+        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.2" referencedGraphicsAlgorithm="//@children.0/@children.4/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <children visible="true">
+          <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" value="replPort"/>
+        </children>
+      </children>
+    </children>
+  </children>
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.0/@children.2/@anchors.0" end="//@children.0/@children.1/@children.2/@anchors.0">
+    <properties key="obj-type" value="bind"/>
+    <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#Binding:ReplicationTop$port!replSub1-port!replSub2"/>
+    </link>
+  </connections>
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.2/@children.2/@anchors.0">
+    <properties key="obj-type" value="bind"/>
+    <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#Binding:ReplicationTop$replPort!.-replPort!replSub3_1"/>
+    </link>
+  </connections>
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.3/@anchors.0" end="//@children.0/@children.4/@children.2/@anchors.0">
+    <properties key="obj-type" value="bind"/>
+    <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0"/>
+    <link>
+      <businessObjects href="../ReferenceCPP_ActorClasses.room#Binding:ReplicationTop$replPort!.-replPort!replSub3_2"/>
+    </link>
+  </connections>
+  <colors red="227" green="238" blue="249"/>
+  <colors red="255" green="255" blue="255"/>
+  <colors/>
+  <colors red="200" green="200" blue="200"/>
+  <fonts name="Arial" size="8"/>
+</pi:Diagram>
diff --git a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_Main.SubSysClass.structure b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_Main.SubSysClass.structure
index d019111..9bef2f9 100644
--- a/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_Main.SubSysClass.structure
+++ b/examples/org.eclipse.etrice.generator.cpp.reference/model/diagrams/ReferenceCPP_Main.SubSysClass.structure
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="ASCII"?>
-<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.structure" name="Structure of SubSysClass" pictogramLinks="//@link //@children.0/@link //@children.0/@children.0/@link //@children.0/@children.1/@link //@children.0/@children.1/@children.2/@link //@connections.0/@link" verticalGridUnit="0" version="0.11.0">
+<pi:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:al="http://eclipse.org/graphiti/mm/algorithms" xmlns:pi="http://eclipse.org/graphiti/mm/pictograms" visible="true" diagramTypeId="room.structure" name="Structure of SubSysClass" pictogramLinks="//@link //@children.0/@link //@children.0/@children.0/@link //@children.0/@children.0/@children.2/@link //@children.0/@children.1/@link //@connections.0/@link" verticalGridUnit="0" version="0.11.0">
   <graphicsAlgorithm xsi:type="al:Rectangle" background="//@colors.1" foreground="//@colors.0" lineWidth="1" transparency="0.0" width="1000" height="1000"/>
   <link>
     <businessObjects href="../ReferenceCPP_Main.room#SubSystemClass:SubSysClass"/>
@@ -16,126 +16,6 @@
     <children xsi:type="pi:ContainerShape" visible="true" active="true">
       <properties key="obj-type" value="ref"/>
       <properties key="actorref_version" value="2"/>
-      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="155" y="160">
-        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="180" height="80" x="33" y="27">
-          <properties key="actorref_graphic_element" value="replborder"/>
-        </graphicsAlgorithmChildren>
-        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
-          <properties key="actorref_graphic_element" value="mainborder"/>
-          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="20" height="10" x="150" y="50">
-            <properties key="actorref_graphic_element" value="substructure"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="20" height="10" x="145" y="65">
-            <properties key="actorref_graphic_element" value="substructure"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points y="15"/>
-            <points x="15"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points y="30"/>
-            <points x="30"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points y="45"/>
-            <points x="45"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points y="60"/>
-            <points x="60"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points y="75"/>
-            <points x="75"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="10" y="80"/>
-            <points x="90"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="25" y="80"/>
-            <points x="105"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="40" y="80"/>
-            <points x="120"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="55" y="80"/>
-            <points x="135"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="70" y="80"/>
-            <points x="150"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="85" y="80"/>
-            <points x="165"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="100" y="80"/>
-            <points x="180"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="115" y="80"/>
-            <points x="180" y="15"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="130" y="80"/>
-            <points x="180" y="30"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="145" y="80"/>
-            <points x="180" y="45"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="160" y="80"/>
-            <points x="180" y="60"/>
-          </graphicsAlgorithmChildren>
-          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
-            <properties key="actorref_graphic_element" value="hatched_line"/>
-            <points x="175" y="80"/>
-            <points x="180" y="75"/>
-          </graphicsAlgorithmChildren>
-        </graphicsAlgorithmChildren>
-        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="25" height="25" x="185" y="30">
-          <properties key="actorref_graphic_element" value="sizeframe"/>
-        </graphicsAlgorithmChildren>
-      </graphicsAlgorithm>
-      <link>
-        <businessObjects href="../ReferenceCPP_Main.room#ActorRef:SubSysClass$topActor"/>
-      </link>
-      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.1">
-        <properties key="actorref_graphic_element" value="layerconn_anchor"/>
-      </anchors>
-      <children visible="true">
-        <properties key="actorref_graphic_element" value="name_shape"/>
-        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="topActor&#xA;(ActorToplevel)"/>
-      </children>
-      <children>
-        <properties key="actorref_graphic_element" value="size_shape"/>
-        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="25" height="25" x="185" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="1"/>
-      </children>
-    </children>
-    <children xsi:type="pi:ContainerShape" visible="true" active="true">
-      <properties key="obj-type" value="ref"/>
-      <properties key="actorref_version" value="2"/>
       <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="155" y="306">
         <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="180" height="80" x="33" y="27">
           <properties key="actorref_graphic_element" value="replborder"/>
@@ -241,7 +121,7 @@
       <link>
         <businessObjects href="../ReferenceCPP_Main.room#ActorRef:SubSysClass$timingService"/>
       </link>
-      <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.1">
+      <anchors xsi:type="pi:ChopboxAnchor" referencedGraphicsAlgorithm="//@children.0/@children.0/@graphicsAlgorithm/@graphicsAlgorithmChildren.1">
         <properties key="actorref_graphic_element" value="layerconn_anchor"/>
       </anchors>
       <children visible="true">
@@ -262,18 +142,138 @@
         <link>
           <businessObjects href="../../../org.eclipse.etrice.modellib.cpp/model/TimingService.room#SPP:ATimingService$timer"/>
         </link>
-        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
+        <anchors xsi:type="pi:ChopboxAnchor" incomingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.0/@children.2/@graphicsAlgorithm/@graphicsAlgorithmChildren.0"/>
         <children visible="true">
           <graphicsAlgorithm xsi:type="al:Text" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="60" height="15" y="6" font="//@fonts.0" value="timer"/>
         </children>
       </children>
     </children>
+    <children xsi:type="pi:ContainerShape" visible="true" active="true">
+      <properties key="obj-type" value="ref"/>
+      <properties key="actorref_version" value="2"/>
+      <graphicsAlgorithm xsi:type="al:Rectangle" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="240" height="140" x="156" y="59">
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="180" height="80" x="33" y="27">
+          <properties key="actorref_graphic_element" value="replborder"/>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" transparency="0.0" width="180" height="80" x="30" y="30">
+          <properties key="actorref_graphic_element" value="mainborder"/>
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="20" height="10" x="150" y="50">
+            <properties key="actorref_graphic_element" value="substructure"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Rectangle" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="true" transparency="0.0" width="20" height="10" x="145" y="65">
+            <properties key="actorref_graphic_element" value="substructure"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="15"/>
+            <points x="15"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="30"/>
+            <points x="30"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="45"/>
+            <points x="45"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="60"/>
+            <points x="60"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points y="75"/>
+            <points x="75"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="10" y="80"/>
+            <points x="90"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="25" y="80"/>
+            <points x="105"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="40" y="80"/>
+            <points x="120"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="55" y="80"/>
+            <points x="135"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="70" y="80"/>
+            <points x="150"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="85" y="80"/>
+            <points x="165"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="100" y="80"/>
+            <points x="180"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="115" y="80"/>
+            <points x="180" y="15"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="130" y="80"/>
+            <points x="180" y="30"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="145" y="80"/>
+            <points x="180" y="45"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="160" y="80"/>
+            <points x="180" y="60"/>
+          </graphicsAlgorithmChildren>
+          <graphicsAlgorithmChildren xsi:type="al:Polyline" foreground="//@colors.2" lineStyle="UNSPECIFIED" lineVisible="false" transparency="0.4">
+            <properties key="actorref_graphic_element" value="hatched_line"/>
+            <points x="175" y="80"/>
+            <points x="180" y="75"/>
+          </graphicsAlgorithmChildren>
+        </graphicsAlgorithmChildren>
+        <graphicsAlgorithmChildren xsi:type="al:Rectangle" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" lineVisible="false" transparency="0.0" width="25" height="25" x="185" y="30">
+          <properties key="actorref_graphic_element" value="sizeframe"/>
+        </graphicsAlgorithmChildren>
+      </graphicsAlgorithm>
+      <link>
+        <businessObjects href="../ReferenceCPP_Main.room#ActorRef:SubSysClass$replTop"/>
+      </link>
+      <anchors xsi:type="pi:ChopboxAnchor" outgoingConnections="//@connections.0" referencedGraphicsAlgorithm="//@children.0/@children.1/@graphicsAlgorithm/@graphicsAlgorithmChildren.1">
+        <properties key="actorref_graphic_element" value="layerconn_anchor"/>
+      </anchors>
+      <children visible="true">
+        <properties key="actorref_graphic_element" value="name_shape"/>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="180" height="80" x="30" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="replTop&#xA;(ReplicationTop)"/>
+      </children>
+      <children>
+        <properties key="actorref_graphic_element" value="size_shape"/>
+        <graphicsAlgorithm xsi:type="al:Text" background="//@colors.3" foreground="//@colors.2" lineWidth="1" filled="false" transparency="0.0" width="25" height="25" x="185" y="30" font="//@fonts.0" horizontalAlignment="ALIGNMENT_CENTER" value="1"/>
+      </children>
+    </children>
   </children>
-  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.0/@anchors.0" end="//@children.0/@children.1/@children.2/@anchors.0">
+  <connections xsi:type="pi:FreeFormConnection" visible="true" active="true" start="//@children.0/@children.1/@anchors.0" end="//@children.0/@children.0/@children.2/@anchors.0">
     <properties key="obj-type" value="conn"/>
     <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0"/>
     <link>
-      <businessObjects href="../ReferenceCPP_Main.room#LayerConnection:SubSysClass$topActor-timingService!timer"/>
+      <businessObjects href="../ReferenceCPP_Main.room#LayerConnection:SubSysClass$replTop-timingService!timer"/>
     </link>
     <connectionDecorators visible="true" locationRelative="true" location="1.0">
       <graphicsAlgorithm xsi:type="al:Polyline" foreground="//@colors.2" lineWidth="2" filled="false" transparency="0.0">
diff --git a/features/org.eclipse.etrice.cdt-integration.feature/feature.xml b/features/org.eclipse.etrice.cdt-integration.feature/feature.xml
index f70d032..a245630 100644
--- a/features/org.eclipse.etrice.cdt-integration.feature/feature.xml
+++ b/features/org.eclipse.etrice.cdt-integration.feature/feature.xml
@@ -17,7 +17,7 @@
 <feature
       id="org.eclipse.etrice.cdt-integration.feature"
       label="%featureName"
-      version="1.0.1.qualifier"
+      version="1.1.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.etrice.core.room.ui"
       license-feature="org.eclipse.license"
diff --git a/features/org.eclipse.etrice.feature/feature.xml b/features/org.eclipse.etrice.feature/feature.xml
index 935dd63..9b90061 100644
--- a/features/org.eclipse.etrice.feature/feature.xml
+++ b/features/org.eclipse.etrice.feature/feature.xml
@@ -17,7 +17,7 @@
 <feature
       id="org.eclipse.etrice.feature"
       label="%featureName"
-      version="1.0.1.qualifier"
+      version="1.1.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.etrice.core.room.ui"
       license-feature="org.eclipse.license"
@@ -46,50 +46,50 @@
    </url>
 
    <requires>
-      <import plugin="org.eclipse.etrice.core.common" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.fsm" version="1.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.common" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.fsm" version="1.1.0" match="greaterOrEqual"/>
       <import plugin="org.antlr.runtime" version="3.0.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.core.resources" version="3.7.100" match="greaterOrEqual"/>
       <import plugin="org.eclipse.core.runtime" version="3.7.0" match="greaterOrEqual"/>
       <import plugin="org.apache.log4j"/>
-      <import plugin="org.eclipse.etrice.core.fsm.ui" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.common.ui" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.room" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.genmodel" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.ui.common.base" version="1.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.fsm.ui" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.common.ui" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.room" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.genmodel" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.ui.common.base" version="1.1.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui" version="3.6.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.editors" version="3.5.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.ide" version="3.5.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.codegen" version="2.6.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.compare"/>
       <import plugin="org.eclipse.core.filesystem" version="1.3.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.generator.fsm" version="1.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.generator.fsm" version="1.1.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.ide" version="3.9.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.core.runtime" version="3.6.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.ecore" version="2.6.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.ecore.xmi" version="2.5.0" match="greaterOrEqual"/>
       <import plugin="org.apache.commons.io" version="2.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.genmodel.fsm" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.generator" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.etmap" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.etphys" version="1.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.genmodel.fsm" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.generator" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.etmap" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.etphys" version="1.1.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.core.resources" version="3.6.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui" version="3.7.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.ide" version="3.7.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.generator.config" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.generator.doc" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.room.ui" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.ui.common" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.ui.behavior.fsm" version="1.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.generator.config" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.generator.doc" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.room.ui" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.ui.common" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.ui.behavior.fsm" version="1.1.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.graphiti" version="0.8.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.graphiti.ui" version="0.8.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.views.properties.tabbed" version="3.5.100" match="greaterOrEqual"/>
       <import plugin="org.eclipse.core.databinding" version="1.3.100" match="greaterOrEqual"/>
       <import plugin="org.eclipse.gef" version="3.6.1" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.transaction" version="1.4.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.abstractexec.behavior" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.ui.structure" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.ui.behavior" version="1.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.abstractexec.behavior" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.ui.structure" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.ui.behavior" version="1.1.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.gef" version="3.7.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.ide" version="3.6.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.graphiti.ui" version="0.7.0" match="greaterOrEqual"/>
@@ -99,29 +99,29 @@
       <import plugin="org.eclipse.jdt.core" version="3.9.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.workspace" version="1.5.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.core.databinding.beans" version="1.2.200" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.generator.ui" version="1.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.generator.ui" version="1.1.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.console" version="3.5.100" match="greaterOrEqual"/>
       <import plugin="org.eclipse.debug.core"/>
       <import plugin="org.eclipse.debug.ui"/>
       <import plugin="org.eclipse.core.variables" version="3.2.500" match="greaterOrEqual"/>
       <import plugin="org.eclipse.jdt.launching" version="3.5.200" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.generator.java" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.generator.launch" version="1.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.generator.java" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.generator.launch" version="1.1.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.jdt.ui" version="3.7.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.jdt.core" version="3.7.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.common.ui" version="2.7.0" match="greaterOrEqual"/>
       <import plugin="org.apache.log4j" version="1.2.15" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.generator.c" version="1.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.generator.c" version="1.1.0" match="greaterOrEqual"/>
       <import plugin="org.apache.commons.logging"/>
-      <import plugin="org.eclipse.etrice.core.config" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.config.ui" version="1.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.config" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.config.ui" version="1.1.0" match="greaterOrEqual"/>
       <import plugin="org.junit"/>
       <import plugin="org.hamcrest.core"/>
       <import plugin="com.google.guava"/>
       <import plugin="org.eclipse.emf.ecore" version="2.7.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.generator.cpp" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.etmap.ui" version="1.0.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.etphys.ui" version="1.0.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.generator.cpp" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.etmap.ui" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.etrice.core.etphys.ui" version="1.1.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.core.resources" version="3.8.100" match="greaterOrEqual"/>
       <import plugin="org.eclipse.emf.ecore" version="2.9.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.jdt.launching" version="3.7.0" match="greaterOrEqual"/>
diff --git a/features/org.eclipse.etrice.fsm.feature/feature.xml b/features/org.eclipse.etrice.fsm.feature/feature.xml
index 138bdbd..4cd6db8 100644
--- a/features/org.eclipse.etrice.fsm.feature/feature.xml
+++ b/features/org.eclipse.etrice.fsm.feature/feature.xml
@@ -17,7 +17,7 @@
 <feature
       id="org.eclipse.etrice.fsm.feature"
       label="eTrice.FSM Feature"
-      version="1.0.1.qualifier"
+      version="1.1.0.qualifier"
       provider-name="eTrice"
       license-feature="org.eclipse.license"
       license-feature-version="1.0.1.v20140414-1359">
diff --git a/features/org.eclipse.etrice.kieler.feature/.project b/features/org.eclipse.etrice.kieler.feature/.project
deleted file mode 100644
index 225fee5..0000000
--- a/features/org.eclipse.etrice.kieler.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.etrice.kieler.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.etrice.kieler.feature/about.html b/features/org.eclipse.etrice.kieler.feature/about.html
deleted file mode 100644
index d35d5ae..0000000
--- a/features/org.eclipse.etrice.kieler.feature/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 5, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/features/org.eclipse.etrice.kieler.feature/about.ini b/features/org.eclipse.etrice.kieler.feature/about.ini
deleted file mode 100644
index a2c20bc..0000000
--- a/features/org.eclipse.etrice.kieler.feature/about.ini
+++ /dev/null
@@ -1,15 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%featureText
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eTrice32.png
-
-# Property "appName" contains name of the application (translated)
-appName=%featureName
-
diff --git a/features/org.eclipse.etrice.kieler.feature/about.mappings b/features/org.eclipse.etrice.kieler.feature/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/features/org.eclipse.etrice.kieler.feature/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/features/org.eclipse.etrice.kieler.feature/about.properties b/features/org.eclipse.etrice.kieler.feature/about.properties
deleted file mode 100644
index 4778b20..0000000
--- a/features/org.eclipse.etrice.kieler.feature/about.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-# NLS_MESSAGEFORMAT_VAR
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-featureName=eTrice Layout 
-
-featureText=eTrice Layout \n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others. 2010-2013.  All rights reserved.\n\
-Visit http://www.eclipse.org/etrice
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/features/org.eclipse.etrice.kieler.feature/build.properties b/features/org.eclipse.etrice.kieler.feature/build.properties
deleted file mode 100644
index accee57..0000000
--- a/features/org.eclipse.etrice.kieler.feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
-               feature.properties,\
-               eTrice32.png,\
-               about.properties,\
-               about.mappings,\
-               about.ini,\
-               about.html
diff --git a/features/org.eclipse.etrice.kieler.feature/eTrice32.png b/features/org.eclipse.etrice.kieler.feature/eTrice32.png
deleted file mode 100644
index 1670cce..0000000
--- a/features/org.eclipse.etrice.kieler.feature/eTrice32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.etrice.kieler.feature/feature.properties b/features/org.eclipse.etrice.kieler.feature/feature.properties
deleted file mode 100644
index f4e1019..0000000
--- a/features/org.eclipse.etrice.kieler.feature/feature.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-featureName=eTrice 
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse eTrice
-description= eTrice feature for KIELER plug-ins
diff --git a/features/org.eclipse.etrice.kieler.feature/feature.xml b/features/org.eclipse.etrice.kieler.feature/feature.xml
deleted file mode 100644
index 94ee99d..0000000
--- a/features/org.eclipse.etrice.kieler.feature/feature.xml
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.etrice.kieler.feature"
-      label="KIELER"
-      version="1.0.0.qualifier"
-      provider-name="eTrice">
-
-   <description>
-      %description
-   </description>
-
-   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
-      (c) 2010 - 2013 Protos Software GmbH.
-All rights reserved.   This program and the accompanying materials
-are made available under the terms of the Eclipse Public License
-v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
-
-Copyright for the referenced plug-ins
-(c) 2013 Christian-Albrechts-University of Kiel / Department of Computer Science / Real-Time and Embedded Systems Group
-   </copyright>
-
-   <license url="http://www.eclipse.org/legal/epl-v10.html">
-      Eclipse Public License - v 1.0
-
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT&apos;S ACCEPTANCE OF THIS AGREEMENT.
-
-1. DEFINITIONS
-
-&quot;Contribution&quot; means:
-
-a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
-
-b) in the case of each subsequent Contributor:
-
-i) changes to the Program, and
-
-ii) additions to the Program;
-
-where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution &apos;originates&apos; from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor&apos;s behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
-
-&quot;Contributor&quot; means any person or entity that distributes the Program.
-
-&quot;Licensed Patents&quot; mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
-
-&quot;Program&quot; means the Contributions distributed in accordance with this Agreement.
-
-&quot;Recipient&quot; means anyone who receives the Program under this Agreement, including all Contributors.
-
-2. GRANT OF RIGHTS
-
-a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
-
-b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
-
-c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient&apos;s responsibility to acquire that license before distributing the Program.
-
-d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
-
-3. REQUIREMENTS
-
-A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
-
-a) it complies with the terms and conditions of this Agreement; and
-
-b) its license agreement:
-
-i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
-
-ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
-
-iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
-
-iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
-
-When the Program is made available in source code form:
-
-a) it must be made available under this Agreement; and
-
-b) a copy of this Agreement must be included with each copy of the Program.
-
-Contributors may not remove or alter any copyright notices contained within the Program.
-
-Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
-
-4. COMMERCIAL DISTRIBUTION
-
-Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor (&quot;Commercial Contributor&quot;) hereby agrees to defend and indemnify every other Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
-
-For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor&apos;s responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
-
-5. NO WARRANTY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
-
-6. DISCLAIMER OF LIABILITY
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-7. GENERAL
-
-If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
-
-If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient&apos;s patent(s), then such Recipient&apos;s rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
-
-All Recipient&apos;s rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient&apos;s rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient&apos;s obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
-
-Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
-
-This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
-   </license>
-
-   <url>
-      <update label="KIELER" url="http://download.eclipse.org/etrice/KIELER/kieler-0.7.1"/>
-   </url>
-
-   <plugin
-         id="de.cau.cs.kieler.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="de.cau.cs.kieler.kiml"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="de.cau.cs.kieler.kiml.graphiti"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="de.cau.cs.kieler.kiml.graphviz.dot"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="de.cau.cs.kieler.core.kgraph"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="de.cau.cs.kieler.kiml.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="de.cau.cs.kieler.kiml.service"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="de.cau.cs.kieler.kiml.graphviz.layouter"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.etrice.layout.feature/.project b/features/org.eclipse.etrice.layout.feature/.project
deleted file mode 100644
index 7c81da5..0000000
--- a/features/org.eclipse.etrice.layout.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.etrice.layout.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.etrice.layout.feature/about.html b/features/org.eclipse.etrice.layout.feature/about.html
deleted file mode 100644
index d35d5ae..0000000
--- a/features/org.eclipse.etrice.layout.feature/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 5, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/features/org.eclipse.etrice.layout.feature/about.ini b/features/org.eclipse.etrice.layout.feature/about.ini
deleted file mode 100644
index a2c20bc..0000000
--- a/features/org.eclipse.etrice.layout.feature/about.ini
+++ /dev/null
@@ -1,15 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%featureText
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eTrice32.png
-
-# Property "appName" contains name of the application (translated)
-appName=%featureName
-
diff --git a/features/org.eclipse.etrice.layout.feature/about.mappings b/features/org.eclipse.etrice.layout.feature/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/features/org.eclipse.etrice.layout.feature/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/features/org.eclipse.etrice.layout.feature/about.properties b/features/org.eclipse.etrice.layout.feature/about.properties
deleted file mode 100644
index 4778b20..0000000
--- a/features/org.eclipse.etrice.layout.feature/about.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-# NLS_MESSAGEFORMAT_VAR
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-featureName=eTrice Layout 
-
-featureText=eTrice Layout \n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others. 2010-2013.  All rights reserved.\n\
-Visit http://www.eclipse.org/etrice
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/features/org.eclipse.etrice.layout.feature/build.properties b/features/org.eclipse.etrice.layout.feature/build.properties
deleted file mode 100644
index 7240931..0000000
--- a/features/org.eclipse.etrice.layout.feature/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-bin.includes = feature.xml,\
-               about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               build.properties,\
-               feature.properties,\
-               modeling32.png,\
-               eTrice32.png
diff --git a/features/org.eclipse.etrice.layout.feature/eTrice32.png b/features/org.eclipse.etrice.layout.feature/eTrice32.png
deleted file mode 100644
index 1670cce..0000000
--- a/features/org.eclipse.etrice.layout.feature/eTrice32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.etrice.layout.feature/feature.properties b/features/org.eclipse.etrice.layout.feature/feature.properties
deleted file mode 100644
index 3169460..0000000
--- a/features/org.eclipse.etrice.layout.feature/feature.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-featureName=eTrice Layout Feature
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse eTrice
-description= automatic layout for eTrice structure and behavior diagrams
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
diff --git a/features/org.eclipse.etrice.layout.feature/feature.xml b/features/org.eclipse.etrice.layout.feature/feature.xml
deleted file mode 100644
index 246eceb..0000000
--- a/features/org.eclipse.etrice.layout.feature/feature.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    <copyright>
-   
-    Copyright (c) 2010 - 2013 Protos Software GmbH.
-    All rights reserved. This program and the accompanying materials
-    are made available under the terms of the Eclipse Public License v1.0
-    which accompanies this distribution, and is available at
-    http://www.eclipse.org/legal/epl-v10.html
-   
-    Contributors:
-       Henrik Rentz-Reichert
-   
-    </copyright>
-   
- -->
-<feature
-      id="org.eclipse.etrice.layout.feature"
-      label="%featureName"
-      version="1.0.1.qualifier"
-      provider-name="%providerName"
-      plugin="org.eclipse.etrice.core.room.ui"
-      license-feature="org.eclipse.license"
-      license-feature-version="1.0.1.v20140414-1359">
-
-   <description>
-      %description
-   </description>
-
-   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
-      (c) 2010 - 2011 Protos Software GmbH.
-All rights reserved.   This program and the accompanying materials
-are made available under the terms of the Eclipse Public License
-v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
-   </copyright>
-
-   <license url="http://www.eclipse.org/legal/epl-v10.html">
-      %license
-   </license>
-
-   <requires>
-      <import plugin="org.eclipse.graphiti" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.graphiti.ui" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.gef" version="3.5.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.ui" version="3.5.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.core.runtime" version="3.5.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.emf.transaction" version="1.3.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.ui.ide" version="3.5.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.ui.views.properties.tabbed" version="3.5.0" match="greaterOrEqual"/>
-      <import plugin="com.google.guava" version="8.0.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.ui.behavior" version="0.2.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.ui.structure" version="0.2.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.ui.common" version="0.2.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.etrice.core.room" version="0.2.0" match="greaterOrEqual"/>
-      <import feature="org.eclipse.etrice.kieler.feature" version="1.0.1.qualifier"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.etrice.ui.layout"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.etrice.tests.feature/feature.xml b/features/org.eclipse.etrice.tests.feature/feature.xml
index f0a6917..9e7170e 100644
--- a/features/org.eclipse.etrice.tests.feature/feature.xml
+++ b/features/org.eclipse.etrice.tests.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.etrice.tests.feature"
       label="%featureName"
-      version="1.0.1.qualifier"
+      version="1.1.0.qualifier"
       provider-name="%providerName">
 
    <description>
diff --git a/plugins/org.eclipse.etrice.abstractexec.behavior/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.abstractexec.behavior/META-INF/MANIFEST.MF
index 081e580..4cf6a72 100644
--- a/plugins/org.eclipse.etrice.abstractexec.behavior/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.abstractexec.behavior/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Abstract Execution for State Machines
 Bundle-SymbolicName: org.eclipse.etrice.abstractexec.behavior;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Vendor: Eclipse eTrice
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.genmodel.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.genmodel.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
  org.eclipse.emf.ecore;bundle-version="2.7.0",
  org.eclipse.xtext;bundle-version="2.6.0",
- org.eclipse.xtext.ui;bundle-version="2.6.0"
+ org.eclipse.core.runtime
 Bundle-Activator: org.eclipse.etrice.abstractexec.behavior.Activator
 Bundle-ActivationPolicy: lazy
 Export-Package: org.eclipse.etrice.abstractexec.behavior,
diff --git a/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/Activator.java b/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/Activator.java
index 75ba913..4152ecf 100644
--- a/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/Activator.java
+++ b/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/Activator.java
@@ -12,11 +12,11 @@
 
 package org.eclipse.etrice.abstractexec.behavior;
 
-import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.core.runtime.Plugin;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 
-public class Activator extends AbstractUIPlugin implements BundleActivator {
+public class Activator extends Plugin implements BundleActivator {
 
 	private static Activator instance = null;
 	
diff --git a/plugins/org.eclipse.etrice.core.common.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.common.ui/META-INF/MANIFEST.MF
index 9e6ba5a..40f15e1 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.common.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common eTrice DSL UI classes
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.common.ui; singleton:=true
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.etrice.core.common;visibility:=reexport,
@@ -18,7 +18,8 @@
  org.eclipse.compare,
  org.eclipse.core.filesystem;bundle-version="1.3.0",
  org.eclipse.help,
- org.eclipse.etrice.doc
+ org.eclipse.etrice.doc,
+ org.eclipse.xtext.xbase.lib
 Import-Package: org.apache.log4j,
  org.eclipse.xtext.xbase.lib
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/org.eclipse.etrice.core.common.ui/plugin.xml_gen b/plugins/org.eclipse.etrice.core.common.ui/plugin.xml_gen
index a4d6709..3580d2a 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/plugin.xml_gen
+++ b/plugins/org.eclipse.etrice.core.common.ui/plugin.xml_gen
@@ -250,7 +250,9 @@
    <extension
          point="org.eclipse.xtext.builder.participant">
       <participant
-            class="org.eclipse.etrice.core.common.ui.BaseExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant">
+            class="org.eclipse.etrice.core.common.ui.BaseExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
+            fileExtensions="__etbase"
+            >
       </participant>
    </extension>
    <extension
diff --git a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/AbstractBaseTestUiModule.java b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/AbstractBaseTestUiModule.java
index 77bfdd5..160ee1c 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/AbstractBaseTestUiModule.java
+++ b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/AbstractBaseTestUiModule.java
@@ -45,7 +45,7 @@
 
 	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
 	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
 	}
 
 	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
diff --git a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/AbstractBaseUiModule.java b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/AbstractBaseUiModule.java
index c6c580d..541eb71 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/AbstractBaseUiModule.java
+++ b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/AbstractBaseUiModule.java
@@ -60,7 +60,7 @@
 
 	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
 	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class);
 	}
 
 	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
diff --git a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/AbstractBaseProposalProvider.java b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/AbstractBaseProposalProvider.java
index 3f989fa..fdbe4c0 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/AbstractBaseProposalProvider.java
+++ b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/AbstractBaseProposalProvider.java
@@ -143,34 +143,19 @@
 	public void complete_Integer(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
-	public void complete_SignedInteger(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_Hexadecimal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
 	public void complete_Real(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
 	public void complete_Decimal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
-	public void complete_DotDecimal(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
-	public void complete_DecimalDot(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
 	public void complete_DecimalExp(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
-	public void complete_EXP(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+	public void complete_FQN(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
 	public void complete_HEX(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
-	public void complete_FQN(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
 }
diff --git a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/BaseParser.java b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/BaseParser.java
index b6017ce..762999e 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/BaseParser.java
+++ b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/BaseParser.java
@@ -47,12 +47,12 @@
 					put(grammarAccess.getBooleanLiteralAccess().getAlternatives_1(), "rule__BooleanLiteral__Alternatives_1");
 					put(grammarAccess.getNumberLiteralAccess().getAlternatives(), "rule__NumberLiteral__Alternatives");
 					put(grammarAccess.getIntegerAccess().getAlternatives(), "rule__Integer__Alternatives");
-					put(grammarAccess.getSignedIntegerAccess().getAlternatives_0(), "rule__SignedInteger__Alternatives_0");
+					put(grammarAccess.getIntegerAccess().getAlternatives_0_0(), "rule__Integer__Alternatives_0_0");
 					put(grammarAccess.getRealAccess().getAlternatives(), "rule__Real__Alternatives");
 					put(grammarAccess.getDecimalAccess().getAlternatives_0(), "rule__Decimal__Alternatives_0");
-					put(grammarAccess.getDotDecimalAccess().getAlternatives_0(), "rule__DotDecimal__Alternatives_0");
-					put(grammarAccess.getDecimalDotAccess().getAlternatives_0(), "rule__DecimalDot__Alternatives_0");
 					put(grammarAccess.getDecimalExpAccess().getAlternatives_0(), "rule__DecimalExp__Alternatives_0");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_4(), "rule__DecimalExp__Alternatives_4");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_5(), "rule__DecimalExp__Alternatives_5");
 					put(grammarAccess.getLiteralTypeAccess().getAlternatives(), "rule__LiteralType__Alternatives");
 					put(grammarAccess.getAnnotationAccess().getGroup(), "rule__Annotation__Group__0");
 					put(grammarAccess.getAnnotationAccess().getGroup_2(), "rule__Annotation__Group_2__0");
@@ -78,10 +78,8 @@
 					put(grammarAccess.getRealLiteralAccess().getGroup(), "rule__RealLiteral__Group__0");
 					put(grammarAccess.getIntLiteralAccess().getGroup(), "rule__IntLiteral__Group__0");
 					put(grammarAccess.getStringLiteralAccess().getGroup(), "rule__StringLiteral__Group__0");
-					put(grammarAccess.getSignedIntegerAccess().getGroup(), "rule__SignedInteger__Group__0");
+					put(grammarAccess.getIntegerAccess().getGroup_0(), "rule__Integer__Group_0__0");
 					put(grammarAccess.getDecimalAccess().getGroup(), "rule__Decimal__Group__0");
-					put(grammarAccess.getDotDecimalAccess().getGroup(), "rule__DotDecimal__Group__0");
-					put(grammarAccess.getDecimalDotAccess().getGroup(), "rule__DecimalDot__Group__0");
 					put(grammarAccess.getDecimalExpAccess().getGroup(), "rule__DecimalExp__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup(), "rule__FQN__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup_1(), "rule__FQN__Group_1__0");
diff --git a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g
index c4b56fd..f1f3847 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g
+++ b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g
@@ -484,78 +484,6 @@
 
 
 
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getSignedIntegerRule()); }
-	 ruleSignedInteger
-{ after(grammarAccess.getSignedIntegerRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSignedIntegerAccess().getGroup()); }
-(rule__SignedInteger__Group__0)
-{ after(grammarAccess.getSignedIntegerAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getHexadecimalRule()); }
-	 ruleHexadecimal
-{ after(grammarAccess.getHexadecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-	RULE_HEX
-{ after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleReal
 entryRuleReal 
 :
@@ -620,78 +548,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDotDecimalRule()); }
-	 ruleDotDecimal
-{ after(grammarAccess.getDotDecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDotDecimalAccess().getGroup()); }
-(rule__DotDecimal__Group__0)
-{ after(grammarAccess.getDotDecimalAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDecimalDotRule()); }
-	 ruleDecimalDot
-{ after(grammarAccess.getDecimalDotRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDecimalDotAccess().getGroup()); }
-(rule__DecimalDot__Group__0)
-{ after(grammarAccess.getDecimalDotAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp 
 @init {
@@ -929,15 +785,15 @@
     }
 :
 (
-{ before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
-	ruleSignedInteger
-{ after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
+{ before(grammarAccess.getIntegerAccess().getGroup_0()); }
+(rule__Integer__Group_0__0)
+{ after(grammarAccess.getIntegerAccess().getGroup_0()); }
 )
 
     |(
-{ before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
-	ruleHexadecimal
-{ after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
+	RULE_HEX
+{ after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
 )
 
 ;
@@ -945,25 +801,25 @@
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Alternatives_0
+rule__Integer__Alternatives_0_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 
 	'+' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 )
 
     |(
-{ before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 
 	'-' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 )
 
 ;
@@ -983,21 +839,9 @@
 )
 
     |(
-{ before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-	ruleDotDecimal
-{ after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-	ruleDecimalDot
-{ after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 	ruleDecimalExp
-{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 )
 
 ;
@@ -1031,58 +875,6 @@
 	restoreStackSize(stackSize);
 }
 
-rule__DotDecimal__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
 rule__DecimalExp__Alternatives_0
     @init {
 		int stackSize = keepStackSize();
@@ -1109,6 +901,58 @@
 	restoreStackSize(stackSize);
 }
 
+rule__DecimalExp__Alternatives_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+
+	'e' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+
+	'E' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Alternatives_5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+
+	'+' 
+
+{ after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+
+	'-' 
+
+{ after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__LiteralType__Alternatives
     @init {
 		int stackSize = keepStackSize();
@@ -2458,27 +2302,27 @@
 
 
 
-rule__SignedInteger__Group__0
+rule__Integer__Group_0__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__0__Impl
-	rule__SignedInteger__Group__1
+	rule__Integer__Group_0__0__Impl
+	rule__Integer__Group_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__0__Impl
+rule__Integer__Group_0__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
-(rule__SignedInteger__Alternatives_0)?
-{ after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
+{ before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
+(rule__Integer__Alternatives_0_0)?
+{ after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
 )
 
 ;
@@ -2487,26 +2331,26 @@
 }
 
 
-rule__SignedInteger__Group__1
+rule__Integer__Group_0__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__1__Impl
+	rule__Integer__Group_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__1__Impl
+rule__Integer__Group_0__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 	RULE_INT
-{ after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 )
 
 ;
@@ -2644,194 +2488,6 @@
 
 
 
-rule__DotDecimal__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__0__Impl
-	rule__DotDecimal__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-(rule__DotDecimal__Alternatives_0)?
-{ after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__1__Impl
-	rule__DotDecimal__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-
-	'.' 
-
-{ after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-	RULE_INT
-{ after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__DecimalDot__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__0__Impl
-	rule__DecimalDot__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-(rule__DecimalDot__Alternatives_0)?
-{ after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__1__Impl
-	rule__DecimalDot__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-	RULE_INT
-{ after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-
-	'.' 
-
-{ after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
 rule__DecimalExp__Group__0
     @init {
 		int stackSize = keepStackSize();
@@ -2956,6 +2612,7 @@
     }
 :
 	rule__DecimalExp__Group__4__Impl
+	rule__DecimalExp__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -2967,9 +2624,9 @@
     }
 :
 (
-{ before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
-	RULE_EXP
-{ after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
+(rule__DecimalExp__Alternatives_4)
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
 )
 
 ;
@@ -2978,6 +2635,67 @@
 }
 
 
+rule__DecimalExp__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__5__Impl
+	rule__DecimalExp__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+(rule__DecimalExp__Alternatives_5)?
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DecimalExp__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+	RULE_INT
+{ after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
 
 
 
@@ -3407,15 +3125,13 @@
 }
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
 
 RULE_INT : ('0'..'9')+;
 
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
 
 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
 
diff --git a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.tokens b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.tokens
index a60fc77..6606937 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.tokens
+++ b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.tokens
@@ -1,55 +1,58 @@
-RULE_EXP=7
-RULE_ID=4
-T__29=29
-T__28=28
-T__27=27
-T__26=26
-T__25=25
-T__24=24
-T__23=23
-T__22=22
-RULE_ANY_OTHER=12
-T__21=21
-T__20=20
-RULE_SL_COMMENT=10
-RULE_ML_COMMENT=9
-T__30=30
-T__19=19
-T__31=31
-RULE_STRING=8
+'('=23
+')'=24
+'+'=14
+','=25
+'-'=15
+'.'=34
+'.*'=31
+':'=28
+'='=26
+'@'=22
+'E'=17
+'['=32
+']'=33
+'attribute'=27
+'e'=16
+'false'=13
+'mandatory'=12
+'optional'=35
+'ptBoolean'=18
+'ptCharacter'=21
+'ptInteger'=19
+'ptReal'=20
+'true'=36
+'{'=29
+'}'=30
+RULE_ANY_OTHER=11
 RULE_HEX=5
+RULE_ID=4
+RULE_INT=6
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
+RULE_STRING=7
+RULE_WS=10
+T__12=12
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
+T__25=25
+T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
 T__32=32
 T__33=33
-T__16=16
 T__34=34
-T__15=15
 T__35=35
-T__18=18
-T__17=17
-T__14=14
-T__13=13
-RULE_INT=6
-RULE_WS=11
-'true'=35
-'}'=29
-'{'=28
-'optional'=34
-'.*'=30
-'ptCharacter'=20
-'='=25
-'false'=14
-':'=27
-'@'=21
-'('=22
-'['=31
-'attribute'=26
-'-'=16
-'+'=15
-'ptReal'=19
-','=24
-'.'=33
-')'=23
-'ptBoolean'=17
-']'=32
-'mandatory'=13
-'ptInteger'=18
+T__36=36
diff --git a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBaseLexer.java b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBaseLexer.java
index b52074b..ba230e2 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBaseLexer.java
+++ b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBaseLexer.java
@@ -12,39 +12,40 @@
 
 @SuppressWarnings("all")
 public class InternalBaseLexer extends Lexer {
-    public static final int RULE_ID=4;
-    public static final int RULE_EXP=7;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int EOF=-1;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
+    public static final int RULE_HEX=5;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
     public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__33=33;
+    public static final int T__12=12;
+    public static final int T__34=34;
+    public static final int T__13=13;
+    public static final int T__35=35;
+    public static final int T__14=14;
+    public static final int T__36=36;
+    public static final int EOF=-1;
     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_HEX=5;
-    public static final int RULE_STRING=8;
-    public static final int T__16=16;
-    public static final int T__33=33;
-    public static final int T__15=15;
-    public static final int T__34=34;
-    public static final int T__18=18;
-    public static final int T__35=35;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
+    public static final int RULE_ID=4;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int RULE_WS=11;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
 
     // delegates
     // delegators
@@ -59,10 +60,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:11:7: ( 'mandatory' )
             // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:11:9: 'mandatory'
@@ -78,6 +79,27 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:12:7: ( 'false' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:12:9: 'false'
+            {
+            match("false"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -85,11 +107,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:12:7: ( 'false' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:12:9: 'false'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:13:7: ( '+' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:13:9: '+'
             {
-            match("false"); 
-
+            match('+'); 
 
             }
 
@@ -106,10 +127,10 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:13:7: ( '+' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:13:9: '+'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:14:7: ( '-' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:14:9: '-'
             {
-            match('+'); 
+            match('-'); 
 
             }
 
@@ -126,10 +147,10 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:14:7: ( '-' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:14:9: '-'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:15:7: ( 'e' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:15:9: 'e'
             {
-            match('-'); 
+            match('e'); 
 
             }
 
@@ -146,11 +167,10 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:15:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:15:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:16:7: ( 'E' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:16:9: 'E'
             {
-            match("ptBoolean"); 
-
+            match('E'); 
 
             }
 
@@ -167,10 +187,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:16:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:16:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:17:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:17:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -188,10 +208,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:17:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:17:9: 'ptReal'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:18:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:18:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -209,10 +229,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:18:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:18:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:19:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:19:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -230,10 +250,11 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:19:7: ( '@' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:19:9: '@'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:20:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:20:9: 'ptCharacter'
             {
-            match('@'); 
+            match("ptCharacter"); 
+
 
             }
 
@@ -250,10 +271,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:20:7: ( '(' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:20:9: '('
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:21:7: ( '@' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:21:9: '@'
             {
-            match('('); 
+            match('@'); 
 
             }
 
@@ -270,10 +291,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:21:7: ( ')' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:21:9: ')'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:22:7: ( '(' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:22:9: '('
             {
-            match(')'); 
+            match('('); 
 
             }
 
@@ -290,10 +311,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:22:7: ( ',' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:22:9: ','
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:23:7: ( ')' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:23:9: ')'
             {
-            match(','); 
+            match(')'); 
 
             }
 
@@ -310,10 +331,10 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:23:7: ( '=' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:23:9: '='
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:24:7: ( ',' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:24:9: ','
             {
-            match('='); 
+            match(','); 
 
             }
 
@@ -330,11 +351,10 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:24:7: ( 'attribute' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:24:9: 'attribute'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:25:7: ( '=' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:25:9: '='
             {
-            match("attribute"); 
-
+            match('='); 
 
             }
 
@@ -351,10 +371,11 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:25:7: ( ':' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:25:9: ':'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:26:7: ( 'attribute' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:26:9: 'attribute'
             {
-            match(':'); 
+            match("attribute"); 
+
 
             }
 
@@ -371,10 +392,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:26:7: ( '{' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:26:9: '{'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:27:7: ( ':' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:27:9: ':'
             {
-            match('{'); 
+            match(':'); 
 
             }
 
@@ -391,10 +412,10 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:27:7: ( '}' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:27:9: '}'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:28:7: ( '{' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:28:9: '{'
             {
-            match('}'); 
+            match('{'); 
 
             }
 
@@ -411,11 +432,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:28:7: ( '.*' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:28:9: '.*'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:29:7: ( '}' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:29:9: '}'
             {
-            match(".*"); 
-
+            match('}'); 
 
             }
 
@@ -432,10 +452,11 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:29:7: ( '[' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:29:9: '['
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:30:7: ( '.*' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:30:9: '.*'
             {
-            match('['); 
+            match(".*"); 
+
 
             }
 
@@ -452,10 +473,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:30:7: ( ']' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:30:9: ']'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:31:7: ( '[' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:31:9: '['
             {
-            match(']'); 
+            match('['); 
 
             }
 
@@ -472,10 +493,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:31:7: ( '.' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:31:9: '.'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:32:7: ( ']' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:32:9: ']'
             {
-            match('.'); 
+            match(']'); 
 
             }
 
@@ -492,11 +513,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:32:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:32:9: 'optional'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:33:7: ( '.' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:33:9: '.'
             {
-            match("optional"); 
-
+            match('.'); 
 
             }
 
@@ -513,10 +533,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:33:7: ( 'true' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:33:9: 'true'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:34:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:34:9: 'optional'
             {
-            match("true"); 
+            match("optional"); 
 
 
             }
@@ -529,42 +549,74 @@
     }
     // $ANTLR end "T__35"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__36"
+    public final void mT__36() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3410:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3410:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:35:7: ( 'true' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:35:9: 'true'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("true"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3410:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__36"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3128:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3128:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3128:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3128:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3128:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -572,23 +624,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3410:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3128:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3410:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -611,109 +671,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3412:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3412:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3412:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3412:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3412:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3412:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -721,19 +678,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3414:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3414:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3130:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3130:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3414:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3130:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3414:11: '^'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3130:11: '^'
                     {
                     match('^'); 
 
@@ -751,18 +708,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3414:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3130:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:
             	    {
@@ -780,7 +737,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -800,24 +757,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3416:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3416:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3132:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3132:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3416:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3132:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3416:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3132:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -825,12 +782,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -849,63 +806,55 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3418:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3418:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3134:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3134:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3418:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3134:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3418:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3134:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3418:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3134:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3418:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3134:21: '\\\\' .
                     	    {
                     	    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;}
-
+                    	    matchAny(); 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3418:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3134:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -921,7 +870,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -930,42 +879,34 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3418:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3134:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3418:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3134:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3418:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3134:54: '\\\\' .
                     	    {
                     	    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;}
-
+                    	    matchAny(); 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3418:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3134:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -981,7 +922,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -1008,37 +949,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3420:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3420:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3136:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3136:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3420:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3136:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3420:52: .
+            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3136:52: .
             	    {
             	    matchAny(); 
 
@@ -1046,7 +987,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -1068,25 +1009,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3422:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3422:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3138:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3138:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3422:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3138:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3422:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3138: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();
@@ -1102,31 +1043,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3422:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3138:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3422:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3138:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3422:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3138:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3422:41: '\\r'
+                            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3138:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1158,22 +1099,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3424:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3424:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3140:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3140:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3424:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3140:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:
             	    {
@@ -1191,12 +1132,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -1215,8 +1156,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3426:16: ( . )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3426:18: .
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3142:16: ( . )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3142:18: .
             {
             matchAny(); 
 
@@ -1231,229 +1172,236 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:8: ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=32;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:8: ( 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 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=33;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:10: T__13
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:148: RULE_EXP
+            case 25 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:154: T__36
                 {
-                mRULE_EXP(); 
+                mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:157: RULE_HEX
+            case 26 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:160: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:166: RULE_ID
+            case 27 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:169: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:174: RULE_INT
+            case 28 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:177: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:183: RULE_STRING
+            case 29 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:186: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:195: RULE_ML_COMMENT
+            case 30 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:198: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:211: RULE_SL_COMMENT
+            case 31 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:214: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:227: RULE_WS
+            case 32 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:230: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:235: RULE_ANY_OTHER
+            case 33 :
+                // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1:238: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -1465,109 +1413,109 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\1\uffff\2\37\2\uffff\1\37\5\uffff\1\37\3\uffff\1\56\2\uffff\3"+
-        "\37\1\66\1\35\2\uffff\3\35\2\uffff\1\37\1\uffff\1\37\2\uffff\1\37"+
-        "\5\uffff\1\37\7\uffff\2\37\1\uffff\1\63\6\uffff\21\37\1\125\1\37"+
-        "\1\127\6\37\1\uffff\1\37\1\uffff\2\37\1\141\6\37\1\uffff\10\37\1"+
-        "\160\1\161\1\162\1\163\1\37\1\165\4\uffff\1\37\1\uffff\1\167\1\uffff";
-    static final String DFA16_eofS =
-        "\170\uffff";
-    static final String DFA16_minS =
-        "\1\0\2\141\2\uffff\1\164\5\uffff\1\164\3\uffff\1\52\2\uffff\1\160"+
-        "\1\162\1\53\1\130\1\101\2\uffff\2\0\1\52\2\uffff\1\156\1\uffff\1"+
-        "\154\2\uffff\1\102\5\uffff\1\164\7\uffff\1\164\1\165\1\uffff\1\60"+
-        "\6\uffff\1\144\1\163\1\157\1\156\1\145\1\150\1\162\1\151\1\145\1"+
-        "\141\1\145\1\157\1\164\2\141\1\151\1\157\1\60\1\164\1\60\1\154\1"+
-        "\145\1\154\1\162\1\142\1\156\1\uffff\1\157\1\uffff\1\145\1\147\1"+
-        "\60\1\141\1\165\1\141\1\162\1\141\1\145\1\uffff\1\143\1\164\1\154"+
-        "\1\171\1\156\1\162\1\164\1\145\4\60\1\145\1\60\4\uffff\1\162\1\uffff"+
-        "\1\60\1\uffff";
-    static final String DFA16_maxS =
-        "\1\uffff\2\141\2\uffff\1\164\5\uffff\1\164\3\uffff\1\52\2\uffff"+
-        "\1\160\1\162\1\71\1\170\1\172\2\uffff\2\uffff\1\57\2\uffff\1\156"+
-        "\1\uffff\1\154\2\uffff\1\122\5\uffff\1\164\7\uffff\1\164\1\165\1"+
-        "\uffff\1\172\6\uffff\1\144\1\163\1\157\1\156\1\145\1\150\1\162\1"+
-        "\151\1\145\1\141\1\145\1\157\1\164\2\141\1\151\1\157\1\172\1\164"+
-        "\1\172\1\154\1\145\1\154\1\162\1\142\1\156\1\uffff\1\157\1\uffff"+
-        "\1\145\1\147\1\172\1\141\1\165\1\141\1\162\1\141\1\145\1\uffff\1"+
-        "\143\1\164\1\154\1\171\1\156\1\162\1\164\1\145\4\172\1\145\1\172"+
-        "\4\uffff\1\162\1\uffff\1\172\1\uffff";
-    static final String DFA16_acceptS =
-        "\3\uffff\1\3\1\4\1\uffff\1\11\1\12\1\13\1\14\1\15\1\uffff\1\17"+
-        "\1\20\1\21\1\uffff\1\23\1\24\5\uffff\1\32\1\33\3\uffff\1\37\1\40"+
-        "\1\uffff\1\32\1\uffff\1\3\1\4\1\uffff\1\11\1\12\1\13\1\14\1\15\1"+
-        "\uffff\1\17\1\20\1\21\1\22\1\25\1\23\1\24\2\uffff\1\30\1\uffff\1"+
-        "\31\1\33\1\34\1\35\1\36\1\37\32\uffff\1\27\1\uffff\1\2\11\uffff"+
-        "\1\7\16\uffff\1\26\1\1\1\5\1\6\1\uffff\1\16\1\uffff\1\10";
-    static final String DFA16_specialS =
-        "\1\1\30\uffff\1\0\1\2\135\uffff}>";
-    static final String[] DFA16_transitionS = {
-            "\11\35\2\34\2\35\1\34\22\35\1\34\1\35\1\31\4\35\1\32\1\7\1"+
-            "\10\1\35\1\3\1\11\1\4\1\17\1\33\1\25\11\30\1\14\2\35\1\12\2"+
-            "\35\1\6\4\27\1\24\25\27\1\20\1\35\1\21\1\26\1\27\1\35\1\13\3"+
-            "\27\1\24\1\2\6\27\1\1\1\27\1\22\1\5\3\27\1\23\6\27\1\15\1\35"+
-            "\1\16\uff82\35",
-            "\1\36",
-            "\1\40",
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\1\uffff\2\40\2\uffff\1\44\1\45\1\40\5\uffff\1\40\3\uffff\1\61"+
+        "\2\uffff\2\40\1\67\1\36\2\uffff\3\36\2\uffff\1\40\1\uffff\1\40\4"+
+        "\uffff\1\40\5\uffff\1\40\7\uffff\2\40\6\uffff\21\40\1\126\1\40\1"+
+        "\130\6\40\1\uffff\1\40\1\uffff\2\40\1\142\6\40\1\uffff\10\40\1\161"+
+        "\1\162\1\163\1\164\1\40\1\166\4\uffff\1\40\1\uffff\1\170\1\uffff";
+    static final String DFA14_eofS =
+        "\171\uffff";
+    static final String DFA14_minS =
+        "\1\0\2\141\2\uffff\2\60\1\164\5\uffff\1\164\3\uffff\1\52\2\uffff"+
+        "\1\160\1\162\1\130\1\101\2\uffff\2\0\1\52\2\uffff\1\156\1\uffff"+
+        "\1\154\4\uffff\1\102\5\uffff\1\164\7\uffff\1\164\1\165\6\uffff\1"+
+        "\144\1\163\1\157\1\156\1\145\1\150\1\162\1\151\1\145\1\141\1\145"+
+        "\1\157\1\164\2\141\1\151\1\157\1\60\1\164\1\60\1\154\1\145\1\154"+
+        "\1\162\1\142\1\156\1\uffff\1\157\1\uffff\1\145\1\147\1\60\1\141"+
+        "\1\165\1\141\1\162\1\141\1\145\1\uffff\1\143\1\164\1\154\1\171\1"+
+        "\156\1\162\1\164\1\145\4\60\1\145\1\60\4\uffff\1\162\1\uffff\1\60"+
+        "\1\uffff";
+    static final String DFA14_maxS =
+        "\1\uffff\2\141\2\uffff\2\172\1\164\5\uffff\1\164\3\uffff\1\52\2"+
+        "\uffff\1\160\1\162\1\170\1\172\2\uffff\2\uffff\1\57\2\uffff\1\156"+
+        "\1\uffff\1\154\4\uffff\1\122\5\uffff\1\164\7\uffff\1\164\1\165\6"+
+        "\uffff\1\144\1\163\1\157\1\156\1\145\1\150\1\162\1\151\1\145\1\141"+
+        "\1\145\1\157\1\164\2\141\1\151\1\157\1\172\1\164\1\172\1\154\1\145"+
+        "\1\154\1\162\1\142\1\156\1\uffff\1\157\1\uffff\1\145\1\147\1\172"+
+        "\1\141\1\165\1\141\1\162\1\141\1\145\1\uffff\1\143\1\164\1\154\1"+
+        "\171\1\156\1\162\1\164\1\145\4\172\1\145\1\172\4\uffff\1\162\1\uffff"+
+        "\1\172\1\uffff";
+    static final String DFA14_acceptS =
+        "\3\uffff\1\3\1\4\3\uffff\1\13\1\14\1\15\1\16\1\17\1\uffff\1\21"+
+        "\1\22\1\23\1\uffff\1\25\1\26\4\uffff\1\33\1\34\3\uffff\1\40\1\41"+
+        "\1\uffff\1\33\1\uffff\1\3\1\4\1\5\1\6\1\uffff\1\13\1\14\1\15\1\16"+
+        "\1\17\1\uffff\1\21\1\22\1\23\1\24\1\27\1\25\1\26\2\uffff\1\32\1"+
+        "\34\1\35\1\36\1\37\1\40\32\uffff\1\31\1\uffff\1\2\11\uffff\1\11"+
+        "\16\uffff\1\30\1\1\1\7\1\10\1\uffff\1\20\1\uffff\1\12";
+    static final String DFA14_specialS =
+        "\1\1\31\uffff\1\0\1\2\135\uffff}>";
+    static final String[] DFA14_transitionS = {
+            "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\32\4\36\1\33\1\11\1"+
+            "\12\1\36\1\3\1\13\1\4\1\21\1\34\1\26\11\31\1\16\2\36\1\14\2"+
+            "\36\1\10\4\30\1\6\25\30\1\22\1\36\1\23\1\27\1\30\1\36\1\15\3"+
+            "\30\1\5\1\2\6\30\1\1\1\30\1\24\1\7\3\30\1\25\6\30\1\17\1\36"+
+            "\1\20\uff82\36",
+            "\1\37",
+            "\1\41",
             "",
             "",
-            "\1\43",
+            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
+            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
+            "\1\46",
             "",
             "",
             "",
             "",
             "",
-            "\1\51",
+            "\1\54",
             "",
             "",
             "",
-            "\1\55",
+            "\1\60",
             "",
             "",
-            "\1\61",
-            "\1\62",
-            "\1\63\1\uffff\1\63\2\uffff\12\64",
-            "\1\65\37\uffff\1\65",
-            "\32\37\4\uffff\1\37\1\uffff\32\37",
+            "\1\64",
+            "\1\65",
+            "\1\66\37\uffff\1\66",
+            "\32\40\4\uffff\1\40\1\uffff\32\40",
             "",
             "",
-            "\0\67",
-            "\0\67",
-            "\1\70\4\uffff\1\71",
+            "\0\70",
+            "\0\70",
+            "\1\71\4\uffff\1\72",
             "",
             "",
-            "\1\73",
-            "",
             "\1\74",
             "",
-            "",
-            "\1\75\1\100\5\uffff\1\76\10\uffff\1\77",
+            "\1\75",
             "",
             "",
             "",
             "",
-            "",
-            "\1\101",
-            "",
-            "",
+            "\1\76\1\101\5\uffff\1\77\10\uffff\1\100",
             "",
             "",
             "",
             "",
             "",
             "\1\102",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\103",
-            "",
-            "\12\64\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
             "\1\104",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\105",
             "\1\106",
             "\1\107",
@@ -1584,29 +1532,29 @@
             "\1\122",
             "\1\123",
             "\1\124",
-            "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
-            "\1\126",
-            "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
-            "\1\130",
+            "\1\125",
+            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
+            "\1\127",
+            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
             "\1\131",
             "\1\132",
             "\1\133",
             "\1\134",
             "\1\135",
-            "",
             "\1\136",
             "",
             "\1\137",
+            "",
             "\1\140",
-            "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
-            "\1\142",
+            "\1\141",
+            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
             "\1\143",
             "\1\144",
             "\1\145",
             "\1\146",
             "\1\147",
-            "",
             "\1\150",
+            "",
             "\1\151",
             "\1\152",
             "\1\153",
@@ -1614,145 +1562,148 @@
             "\1\155",
             "\1\156",
             "\1\157",
-            "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
-            "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
-            "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
-            "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
-            "\1\164",
-            "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
+            "\1\160",
+            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
+            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
+            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
+            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
+            "\1\165",
+            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
             "",
             "",
             "",
             "",
-            "\1\166",
+            "\1\167",
             "",
-            "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
+            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( 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 | RULE_HEX | 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 LA16_25 = input.LA(1);
+                        int LA14_26 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_25>='\u0000' && LA16_25<='\uFFFF')) ) {s = 55;}
+                        if ( ((LA14_26>='\u0000' && LA14_26<='\uFFFF')) ) {s = 56;}
 
-                        else s = 29;
+                        else s = 30;
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_0 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='m') ) {s = 1;}
+                        if ( (LA14_0=='m') ) {s = 1;}
 
-                        else if ( (LA16_0=='f') ) {s = 2;}
+                        else if ( (LA14_0=='f') ) {s = 2;}
 
-                        else if ( (LA16_0=='+') ) {s = 3;}
+                        else if ( (LA14_0=='+') ) {s = 3;}
 
-                        else if ( (LA16_0=='-') ) {s = 4;}
+                        else if ( (LA14_0=='-') ) {s = 4;}
 
-                        else if ( (LA16_0=='p') ) {s = 5;}
+                        else if ( (LA14_0=='e') ) {s = 5;}
 
-                        else if ( (LA16_0=='@') ) {s = 6;}
+                        else if ( (LA14_0=='E') ) {s = 6;}
 
-                        else if ( (LA16_0=='(') ) {s = 7;}
+                        else if ( (LA14_0=='p') ) {s = 7;}
 
-                        else if ( (LA16_0==')') ) {s = 8;}
+                        else if ( (LA14_0=='@') ) {s = 8;}
 
-                        else if ( (LA16_0==',') ) {s = 9;}
+                        else if ( (LA14_0=='(') ) {s = 9;}
 
-                        else if ( (LA16_0=='=') ) {s = 10;}
+                        else if ( (LA14_0==')') ) {s = 10;}
 
-                        else if ( (LA16_0=='a') ) {s = 11;}
+                        else if ( (LA14_0==',') ) {s = 11;}
 
-                        else if ( (LA16_0==':') ) {s = 12;}
+                        else if ( (LA14_0=='=') ) {s = 12;}
 
-                        else if ( (LA16_0=='{') ) {s = 13;}
+                        else if ( (LA14_0=='a') ) {s = 13;}
 
-                        else if ( (LA16_0=='}') ) {s = 14;}
+                        else if ( (LA14_0==':') ) {s = 14;}
 
-                        else if ( (LA16_0=='.') ) {s = 15;}
+                        else if ( (LA14_0=='{') ) {s = 15;}
 
-                        else if ( (LA16_0=='[') ) {s = 16;}
+                        else if ( (LA14_0=='}') ) {s = 16;}
 
-                        else if ( (LA16_0==']') ) {s = 17;}
+                        else if ( (LA14_0=='.') ) {s = 17;}
 
-                        else if ( (LA16_0=='o') ) {s = 18;}
+                        else if ( (LA14_0=='[') ) {s = 18;}
 
-                        else if ( (LA16_0=='t') ) {s = 19;}
+                        else if ( (LA14_0==']') ) {s = 19;}
 
-                        else if ( (LA16_0=='E'||LA16_0=='e') ) {s = 20;}
+                        else if ( (LA14_0=='o') ) {s = 20;}
 
-                        else if ( (LA16_0=='0') ) {s = 21;}
+                        else if ( (LA14_0=='t') ) {s = 21;}
 
-                        else if ( (LA16_0=='^') ) {s = 22;}
+                        else if ( (LA14_0=='0') ) {s = 22;}
 
-                        else if ( ((LA16_0>='A' && LA16_0<='D')||(LA16_0>='F' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='b' && LA16_0<='d')||(LA16_0>='g' && LA16_0<='l')||LA16_0=='n'||(LA16_0>='q' && LA16_0<='s')||(LA16_0>='u' && LA16_0<='z')) ) {s = 23;}
+                        else if ( (LA14_0=='^') ) {s = 23;}
 
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 24;}
+                        else if ( ((LA14_0>='A' && LA14_0<='D')||(LA14_0>='F' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='b' && LA14_0<='d')||(LA14_0>='g' && LA14_0<='l')||LA14_0=='n'||(LA14_0>='q' && LA14_0<='s')||(LA14_0>='u' && LA14_0<='z')) ) {s = 24;}
 
-                        else if ( (LA16_0=='\"') ) {s = 25;}
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 25;}
 
-                        else if ( (LA16_0=='\'') ) {s = 26;}
+                        else if ( (LA14_0=='\"') ) {s = 26;}
 
-                        else if ( (LA16_0=='/') ) {s = 27;}
+                        else if ( (LA14_0=='\'') ) {s = 27;}
 
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 28;}
+                        else if ( (LA14_0=='/') ) {s = 28;}
 
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||LA16_0=='*'||(LA16_0>=';' && LA16_0<='<')||(LA16_0>='>' && LA16_0<='?')||LA16_0=='\\'||LA16_0=='`'||LA16_0=='|'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 29;}
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 29;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||LA14_0=='*'||(LA14_0>=';' && LA14_0<='<')||(LA14_0>='>' && LA14_0<='?')||LA14_0=='\\'||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 30;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA16_26 = input.LA(1);
+                        int LA14_27 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_26>='\u0000' && LA16_26<='\uFFFF')) ) {s = 55;}
+                        if ( ((LA14_27>='\u0000' && LA14_27<='\uFFFF')) ) {s = 56;}
 
-                        else s = 29;
+                        else s = 30;
 
                         if ( s>=0 ) return s;
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBaseParser.java b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBaseParser.java
index 3b70177..ed665bc 100644
--- a/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBaseParser.java
+++ b/plugins/org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBaseParser.java
@@ -22,41 +22,42 @@
 @SuppressWarnings("all")
 public class InternalBaseParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_EXP", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'mandatory'", "'false'", "'+'", "'-'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'@'", "'('", "')'", "','", "'='", "'attribute'", "':'", "'{'", "'}'", "'.*'", "'['", "']'", "'.'", "'optional'", "'true'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'mandatory'", "'false'", "'+'", "'-'", "'e'", "'E'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'@'", "'('", "')'", "','", "'='", "'attribute'", "':'", "'{'", "'}'", "'.*'", "'['", "']'", "'.'", "'optional'", "'true'"
     };
-    public static final int RULE_EXP=7;
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int EOF=-1;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__19=19;
-    public static final int T__31=31;
-    public static final int RULE_STRING=8;
     public static final int RULE_HEX=5;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__16=16;
-    public static final int T__34=34;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__19=19;
     public static final int T__15=15;
-    public static final int T__35=35;
-    public static final int T__18=18;
+    public static final int T__16=16;
     public static final int T__17=17;
-    public static final int T__14=14;
+    public static final int T__18=18;
+    public static final int T__33=33;
+    public static final int T__12=12;
+    public static final int T__34=34;
     public static final int T__13=13;
+    public static final int T__35=35;
+    public static final int T__14=14;
+    public static final int T__36=36;
+    public static final int EOF=-1;
+    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_ID=4;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int RULE_WS=11;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
 
     // delegates
     // delegators
@@ -1240,181 +1241,21 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:488:1: entryRuleSignedInteger : ruleSignedInteger EOF ;
-    public final void entryRuleSignedInteger() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:492:1: ( ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:493:1: ruleSignedInteger EOF
-            {
-             before(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger973);
-            ruleSignedInteger();
-
-            state._fsp--;
-
-             after(grammarAccess.getSignedIntegerRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger980); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:503:1: ruleSignedInteger : ( ( rule__SignedInteger__Group__0 ) ) ;
-    public final void ruleSignedInteger() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:508:2: ( ( ( rule__SignedInteger__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:509:1: ( ( rule__SignedInteger__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:509:1: ( ( rule__SignedInteger__Group__0 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:510:1: ( rule__SignedInteger__Group__0 )
-            {
-             before(grammarAccess.getSignedIntegerAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:511:1: ( rule__SignedInteger__Group__0 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:511:2: rule__SignedInteger__Group__0
-            {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger1010);
-            rule__SignedInteger__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSignedIntegerAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:524:1: entryRuleHexadecimal : ruleHexadecimal EOF ;
-    public final void entryRuleHexadecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:528:1: ( ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:529:1: ruleHexadecimal EOF
-            {
-             before(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal1042);
-            ruleHexadecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getHexadecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal1049); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:539:1: ruleHexadecimal : ( RULE_HEX ) ;
-    public final void ruleHexadecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:544:2: ( ( RULE_HEX ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:545:1: ( RULE_HEX )
-            {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:545:1: ( RULE_HEX )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:546:1: RULE_HEX
-            {
-             before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-            match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal1079); 
-             after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:560:1: entryRuleReal : ruleReal EOF ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:488:1: entryRuleReal : ruleReal EOF ;
     public final void entryRuleReal() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:561:1: ( ruleReal EOF )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:562:1: ruleReal EOF
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:489:1: ( ruleReal EOF )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:490:1: ruleReal EOF
             {
              before(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal1105);
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal968);
             ruleReal();
 
             state._fsp--;
 
              after(grammarAccess.getRealRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal1112); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal975); 
 
             }
 
@@ -1431,23 +1272,23 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:569:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:497:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
     public final void ruleReal() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:573:2: ( ( ( rule__Real__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:574:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:501:2: ( ( ( rule__Real__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:502:1: ( ( rule__Real__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:574:1: ( ( rule__Real__Alternatives ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:575:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:502:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:503:1: ( rule__Real__Alternatives )
             {
              before(grammarAccess.getRealAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:576:1: ( rule__Real__Alternatives )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:576:2: rule__Real__Alternatives
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:504:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:504:2: rule__Real__Alternatives
             {
-            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal1138);
+            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal1001);
             rule__Real__Alternatives();
 
             state._fsp--;
@@ -1478,23 +1319,23 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:588:1: entryRuleDecimal : ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:516:1: entryRuleDecimal : ruleDecimal EOF ;
     public final void entryRuleDecimal() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:592:1: ( ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:593:1: ruleDecimal EOF
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:520:1: ( ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:521:1: ruleDecimal EOF
             {
              before(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal1170);
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal1033);
             ruleDecimal();
 
             state._fsp--;
 
              after(grammarAccess.getDecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal1177); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal1040); 
 
             }
 
@@ -1514,24 +1355,24 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:603:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:531:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
     public final void ruleDecimal() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:608:2: ( ( ( rule__Decimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:609:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:536:2: ( ( ( rule__Decimal__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:537:1: ( ( rule__Decimal__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:609:1: ( ( rule__Decimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:610:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:537:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:538:1: ( rule__Decimal__Group__0 )
             {
              before(grammarAccess.getDecimalAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:611:1: ( rule__Decimal__Group__0 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:611:2: rule__Decimal__Group__0
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:539:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:539:2: rule__Decimal__Group__0
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1207);
+            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1070);
             rule__Decimal__Group__0();
 
             state._fsp--;
@@ -1562,194 +1403,24 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:624:1: entryRuleDotDecimal : ruleDotDecimal EOF ;
-    public final void entryRuleDotDecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:628:1: ( ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:629:1: ruleDotDecimal EOF
-            {
-             before(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal1239);
-            ruleDotDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getDotDecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal1246); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:639:1: ruleDotDecimal : ( ( rule__DotDecimal__Group__0 ) ) ;
-    public final void ruleDotDecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:644:2: ( ( ( rule__DotDecimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:645:1: ( ( rule__DotDecimal__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:645:1: ( ( rule__DotDecimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:646:1: ( rule__DotDecimal__Group__0 )
-            {
-             before(grammarAccess.getDotDecimalAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:647:1: ( rule__DotDecimal__Group__0 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:647:2: rule__DotDecimal__Group__0
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal1276);
-            rule__DotDecimal__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDotDecimalAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:660:1: entryRuleDecimalDot : ruleDecimalDot EOF ;
-    public final void entryRuleDecimalDot() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:664:1: ( ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:665:1: ruleDecimalDot EOF
-            {
-             before(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot1308);
-            ruleDecimalDot();
-
-            state._fsp--;
-
-             after(grammarAccess.getDecimalDotRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot1315); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:675:1: ruleDecimalDot : ( ( rule__DecimalDot__Group__0 ) ) ;
-    public final void ruleDecimalDot() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:680:2: ( ( ( rule__DecimalDot__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:681:1: ( ( rule__DecimalDot__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:681:1: ( ( rule__DecimalDot__Group__0 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:682:1: ( rule__DecimalDot__Group__0 )
-            {
-             before(grammarAccess.getDecimalDotAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:683:1: ( rule__DecimalDot__Group__0 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:683:2: rule__DecimalDot__Group__0
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot1345);
-            rule__DecimalDot__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDecimalDotAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:696:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:552:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
     public final void entryRuleDecimalExp() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:700:1: ( ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:701:1: ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:556:1: ( ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:557:1: ruleDecimalExp EOF
             {
              before(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1377);
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1102);
             ruleDecimalExp();
 
             state._fsp--;
 
              after(grammarAccess.getDecimalExpRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp1384); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp1109); 
 
             }
 
@@ -1769,24 +1440,24 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:711:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:567:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
     public final void ruleDecimalExp() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:716:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:717:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:572:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:573:1: ( ( rule__DecimalExp__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:717:1: ( ( rule__DecimalExp__Group__0 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:718:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:573:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:574:1: ( rule__DecimalExp__Group__0 )
             {
              before(grammarAccess.getDecimalExpAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:719:1: ( rule__DecimalExp__Group__0 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:719:2: rule__DecimalExp__Group__0
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:575:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:575:2: rule__DecimalExp__Group__0
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1414);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1139);
             rule__DecimalExp__Group__0();
 
             state._fsp--;
@@ -1818,20 +1489,20 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:732:1: entryRuleFQN : ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:588:1: entryRuleFQN : ruleFQN EOF ;
     public final void entryRuleFQN() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:733:1: ( ruleFQN EOF )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:734:1: ruleFQN EOF
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:589:1: ( ruleFQN EOF )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:590:1: ruleFQN EOF
             {
              before(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN1441);
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN1166);
             ruleFQN();
 
             state._fsp--;
 
              after(grammarAccess.getFQNRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN1448); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN1173); 
 
             }
 
@@ -1848,23 +1519,23 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:741:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:597:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
     public final void ruleFQN() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:745:2: ( ( ( rule__FQN__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:746:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:601:2: ( ( ( rule__FQN__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:602:1: ( ( rule__FQN__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:746:1: ( ( rule__FQN__Group__0 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:747:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:602:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:603:1: ( rule__FQN__Group__0 )
             {
              before(grammarAccess.getFQNAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:748:1: ( rule__FQN__Group__0 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:748:2: rule__FQN__Group__0
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:604:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:604:2: rule__FQN__Group__0
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN1474);
+            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN1199);
             rule__FQN__Group__0();
 
             state._fsp--;
@@ -1895,23 +1566,23 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:761:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:617:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
     public final void ruleLiteralType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:765:1: ( ( ( rule__LiteralType__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:766:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:621:1: ( ( ( rule__LiteralType__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:622:1: ( ( rule__LiteralType__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:766:1: ( ( rule__LiteralType__Alternatives ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:767:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:622:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:623:1: ( rule__LiteralType__Alternatives )
             {
              before(grammarAccess.getLiteralTypeAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:768:1: ( rule__LiteralType__Alternatives )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:768:2: rule__LiteralType__Alternatives
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:624:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:624:2: rule__LiteralType__Alternatives
             {
-            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType1511);
+            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType1236);
             rule__LiteralType__Alternatives();
 
             state._fsp--;
@@ -1942,34 +1613,34 @@
 
 
     // $ANTLR start "rule__AnnotationAttribute__Alternatives"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:780:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:636:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
     public final void rule__AnnotationAttribute__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:784:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:640:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0==34) ) {
+            if ( (LA1_0==35) ) {
                 int LA1_1 = input.LA(2);
 
-                if ( (LA1_1==26) ) {
+                if ( (LA1_1==27) ) {
                     int LA1_3 = input.LA(3);
 
                     if ( (LA1_3==RULE_ID) ) {
                         int LA1_4 = input.LA(4);
 
-                        if ( (LA1_4==27) ) {
+                        if ( (LA1_4==28) ) {
                             int LA1_5 = input.LA(5);
 
-                            if ( ((LA1_5>=17 && LA1_5<=20)) ) {
-                                alt1=1;
-                            }
-                            else if ( (LA1_5==28) ) {
+                            if ( (LA1_5==29) ) {
                                 alt1=2;
                             }
+                            else if ( ((LA1_5>=18 && LA1_5<=21)) ) {
+                                alt1=1;
+                            }
                             else {
                                 NoViableAltException nvae =
                                     new NoViableAltException("", 1, 5, input);
@@ -1998,24 +1669,24 @@
                     throw nvae;
                 }
             }
-            else if ( (LA1_0==13) ) {
+            else if ( (LA1_0==12) ) {
                 int LA1_2 = input.LA(2);
 
-                if ( (LA1_2==26) ) {
+                if ( (LA1_2==27) ) {
                     int LA1_3 = input.LA(3);
 
                     if ( (LA1_3==RULE_ID) ) {
                         int LA1_4 = input.LA(4);
 
-                        if ( (LA1_4==27) ) {
+                        if ( (LA1_4==28) ) {
                             int LA1_5 = input.LA(5);
 
-                            if ( ((LA1_5>=17 && LA1_5<=20)) ) {
-                                alt1=1;
-                            }
-                            else if ( (LA1_5==28) ) {
+                            if ( (LA1_5==29) ) {
                                 alt1=2;
                             }
+                            else if ( ((LA1_5>=18 && LA1_5<=21)) ) {
+                                alt1=1;
+                            }
                             else {
                                 NoViableAltException nvae =
                                     new NoViableAltException("", 1, 5, input);
@@ -2052,13 +1723,13 @@
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:785:1: ( ruleSimpleAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:641:1: ( ruleSimpleAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:785:1: ( ruleSimpleAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:786:1: ruleSimpleAnnotationAttribute
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:641:1: ( ruleSimpleAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:642:1: ruleSimpleAnnotationAttribute
                     {
                      before(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1547);
+                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1272);
                     ruleSimpleAnnotationAttribute();
 
                     state._fsp--;
@@ -2071,13 +1742,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:791:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:647:6: ( ruleEnumAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:791:6: ( ruleEnumAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:792:1: ruleEnumAnnotationAttribute
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:647:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:648:1: ruleEnumAnnotationAttribute
                     {
                      before(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1564);
+                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1289);
                     ruleEnumAnnotationAttribute();
 
                     state._fsp--;
@@ -2107,20 +1778,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:802:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:658:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__SimpleAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:806:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:662:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
             int alt2=2;
             int LA2_0 = input.LA(1);
 
-            if ( (LA2_0==34) ) {
+            if ( (LA2_0==35) ) {
                 alt2=1;
             }
-            else if ( (LA2_0==13) ) {
+            else if ( (LA2_0==12) ) {
                 alt2=2;
             }
             else {
@@ -2131,16 +1802,16 @@
             }
             switch (alt2) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:807:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:663:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:807:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:808:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:663:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:664:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
                     {
                      before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:809:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:809:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:665:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:665:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_01596);
+                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_01321);
                     rule__SimpleAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
@@ -2156,13 +1827,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:813:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:669:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:813:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:814:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:669:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:670:1: 'mandatory'
                     {
                      before(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
-                    match(input,13,FOLLOW_13_in_rule__SimpleAnnotationAttribute__Alternatives_01615); 
+                    match(input,12,FOLLOW_12_in_rule__SimpleAnnotationAttribute__Alternatives_01340); 
                      after(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
 
                     }
@@ -2188,20 +1859,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:826:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:682:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__EnumAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:830:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:686:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
             int alt3=2;
             int LA3_0 = input.LA(1);
 
-            if ( (LA3_0==34) ) {
+            if ( (LA3_0==35) ) {
                 alt3=1;
             }
-            else if ( (LA3_0==13) ) {
+            else if ( (LA3_0==12) ) {
                 alt3=2;
             }
             else {
@@ -2212,16 +1883,16 @@
             }
             switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:831:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:687:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:831:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:832:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:687:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:688:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
                     {
                      before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:833:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:833:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:689:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:689:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_01649);
+                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_01374);
                     rule__EnumAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
@@ -2237,13 +1908,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:837:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:693:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:837:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:838:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:693:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:694:1: 'mandatory'
                     {
                      before(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
-                    match(input,13,FOLLOW_13_in_rule__EnumAnnotationAttribute__Alternatives_01668); 
+                    match(input,12,FOLLOW_12_in_rule__EnumAnnotationAttribute__Alternatives_01393); 
                      after(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
 
                     }
@@ -2269,26 +1940,25 @@
 
 
     // $ANTLR start "rule__Literal__Alternatives"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:852:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:708:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
     public final void rule__Literal__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:856:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:712:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
             int alt4=3;
             switch ( input.LA(1) ) {
-            case 14:
-            case 35:
+            case 13:
+            case 36:
                 {
                 alt4=1;
                 }
                 break;
             case RULE_HEX:
             case RULE_INT:
+            case 14:
             case 15:
-            case 16:
-            case 33:
                 {
                 alt4=2;
                 }
@@ -2307,13 +1977,13 @@
 
             switch (alt4) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:857:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:713:1: ( ruleBooleanLiteral )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:857:1: ( ruleBooleanLiteral )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:858:1: ruleBooleanLiteral
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:713:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:714:1: ruleBooleanLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1704);
+                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1429);
                     ruleBooleanLiteral();
 
                     state._fsp--;
@@ -2326,13 +1996,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:863:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:719:6: ( ruleNumberLiteral )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:863:6: ( ruleNumberLiteral )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:864:1: ruleNumberLiteral
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:719:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:720:1: ruleNumberLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives1721);
+                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives1446);
                     ruleNumberLiteral();
 
                     state._fsp--;
@@ -2345,13 +2015,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:869:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:725:6: ( ruleStringLiteral )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:869:6: ( ruleStringLiteral )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:870:1: ruleStringLiteral
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:725:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:726:1: ruleStringLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives1738);
+                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives1463);
                     ruleStringLiteral();
 
                     state._fsp--;
@@ -2381,20 +2051,20 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Alternatives_1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:880:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:736:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
     public final void rule__BooleanLiteral__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:884:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:740:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
             int alt5=2;
             int LA5_0 = input.LA(1);
 
-            if ( (LA5_0==14) ) {
+            if ( (LA5_0==13) ) {
                 alt5=1;
             }
-            else if ( (LA5_0==35) ) {
+            else if ( (LA5_0==36) ) {
                 alt5=2;
             }
             else {
@@ -2405,13 +2075,13 @@
             }
             switch (alt5) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:885:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:741:1: ( 'false' )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:885:1: ( 'false' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:886:1: 'false'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:741:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:742:1: 'false'
                     {
                      before(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
-                    match(input,14,FOLLOW_14_in_rule__BooleanLiteral__Alternatives_11771); 
+                    match(input,13,FOLLOW_13_in_rule__BooleanLiteral__Alternatives_11496); 
                      after(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
 
                     }
@@ -2420,16 +2090,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:893:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:749:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:893:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:894:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:749:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:750:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
                     {
                      before(grammarAccess.getBooleanLiteralAccess().getIsTrueAssignment_1_1()); 
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:895:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:895:2: rule__BooleanLiteral__IsTrueAssignment_1_1
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:751:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:751:2: rule__BooleanLiteral__IsTrueAssignment_1_1
                     {
-                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_11790);
+                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_11515);
                     rule__BooleanLiteral__IsTrueAssignment_1_1();
 
                     state._fsp--;
@@ -2462,26 +2132,26 @@
 
 
     // $ANTLR start "rule__NumberLiteral__Alternatives"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:904:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:760:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
     public final void rule__NumberLiteral__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:908:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:764:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
             int alt6=2;
             switch ( input.LA(1) ) {
-            case 15:
+            case 14:
                 {
                 int LA6_1 = input.LA(2);
 
                 if ( (LA6_1==RULE_INT) ) {
                     int LA6_3 = input.LA(3);
 
-                    if ( (LA6_3==33) ) {
+                    if ( (LA6_3==34) ) {
                         alt6=2;
                     }
-                    else if ( (LA6_3==EOF||(LA6_3>=23 && LA6_3<=24)) ) {
+                    else if ( (LA6_3==EOF||(LA6_3>=24 && LA6_3<=25)) ) {
                         alt6=1;
                     }
                     else {
@@ -2491,9 +2161,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA6_1==33) ) {
-                    alt6=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 6, 1, input);
@@ -2502,17 +2169,17 @@
                 }
                 }
                 break;
-            case 16:
+            case 15:
                 {
                 int LA6_2 = input.LA(2);
 
                 if ( (LA6_2==RULE_INT) ) {
                     int LA6_3 = input.LA(3);
 
-                    if ( (LA6_3==33) ) {
+                    if ( (LA6_3==34) ) {
                         alt6=2;
                     }
-                    else if ( (LA6_3==EOF||(LA6_3>=23 && LA6_3<=24)) ) {
+                    else if ( (LA6_3==EOF||(LA6_3>=24 && LA6_3<=25)) ) {
                         alt6=1;
                     }
                     else {
@@ -2522,9 +2189,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA6_2==33) ) {
-                    alt6=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 6, 2, input);
@@ -2537,10 +2201,10 @@
                 {
                 int LA6_3 = input.LA(2);
 
-                if ( (LA6_3==33) ) {
+                if ( (LA6_3==34) ) {
                     alt6=2;
                 }
-                else if ( (LA6_3==EOF||(LA6_3>=23 && LA6_3<=24)) ) {
+                else if ( (LA6_3==EOF||(LA6_3>=24 && LA6_3<=25)) ) {
                     alt6=1;
                 }
                 else {
@@ -2556,11 +2220,6 @@
                 alt6=1;
                 }
                 break;
-            case 33:
-                {
-                alt6=2;
-                }
-                break;
             default:
                 NoViableAltException nvae =
                     new NoViableAltException("", 6, 0, input);
@@ -2570,13 +2229,13 @@
 
             switch (alt6) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:909:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:765:1: ( ruleIntLiteral )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:909:1: ( ruleIntLiteral )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:910:1: ruleIntLiteral
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:765:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:766:1: ruleIntLiteral
                     {
                      before(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives1823);
+                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives1548);
                     ruleIntLiteral();
 
                     state._fsp--;
@@ -2589,13 +2248,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:915:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:771:6: ( ruleRealLiteral )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:915:6: ( ruleRealLiteral )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:916:1: ruleRealLiteral
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:771:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:772:1: ruleRealLiteral
                     {
                      before(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives1840);
+                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives1565);
                     ruleRealLiteral();
 
                     state._fsp--;
@@ -2625,17 +2284,17 @@
 
 
     // $ANTLR start "rule__Integer__Alternatives"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:926:1: rule__Integer__Alternatives : ( ( ruleSignedInteger ) | ( ruleHexadecimal ) );
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:782:1: rule__Integer__Alternatives : ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) );
     public final void rule__Integer__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:930:1: ( ( ruleSignedInteger ) | ( ruleHexadecimal ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:786:1: ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) )
             int alt7=2;
             int LA7_0 = input.LA(1);
 
-            if ( (LA7_0==RULE_INT||(LA7_0>=15 && LA7_0<=16)) ) {
+            if ( (LA7_0==RULE_INT||(LA7_0>=14 && LA7_0<=15)) ) {
                 alt7=1;
             }
             else if ( (LA7_0==RULE_HEX) ) {
@@ -2649,18 +2308,24 @@
             }
             switch (alt7) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:931:1: ( ruleSignedInteger )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:787:1: ( ( rule__Integer__Group_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:931:1: ( ruleSignedInteger )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:932:1: ruleSignedInteger
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:787:1: ( ( rule__Integer__Group_0__0 ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:788:1: ( rule__Integer__Group_0__0 )
                     {
-                     before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives1872);
-                    ruleSignedInteger();
+                     before(grammarAccess.getIntegerAccess().getGroup_0()); 
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:789:1: ( rule__Integer__Group_0__0 )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:789:2: rule__Integer__Group_0__0
+                    {
+                    pushFollow(FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives1597);
+                    rule__Integer__Group_0__0();
 
                     state._fsp--;
 
-                     after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
+
+                    }
+
+                     after(grammarAccess.getIntegerAccess().getGroup_0()); 
 
                     }
 
@@ -2668,18 +2333,14 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:937:6: ( ruleHexadecimal )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:793:6: ( RULE_HEX )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:937:6: ( ruleHexadecimal )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:938:1: ruleHexadecimal
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:793:6: ( RULE_HEX )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:794:1: RULE_HEX
                     {
-                     before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives1889);
-                    ruleHexadecimal();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
+                     before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
+                    match(input,RULE_HEX,FOLLOW_RULE_HEX_in_rule__Integer__Alternatives1615); 
+                     after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
 
                     }
 
@@ -2703,21 +2364,21 @@
     // $ANTLR end "rule__Integer__Alternatives"
 
 
-    // $ANTLR start "rule__SignedInteger__Alternatives_0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:948:1: rule__SignedInteger__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__SignedInteger__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Alternatives_0_0"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:804:1: rule__Integer__Alternatives_0_0 : ( ( '+' ) | ( '-' ) );
+    public final void rule__Integer__Alternatives_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:952:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:808:1: ( ( '+' ) | ( '-' ) )
             int alt8=2;
             int LA8_0 = input.LA(1);
 
-            if ( (LA8_0==15) ) {
+            if ( (LA8_0==14) ) {
                 alt8=1;
             }
-            else if ( (LA8_0==16) ) {
+            else if ( (LA8_0==15) ) {
                 alt8=2;
             }
             else {
@@ -2728,14 +2389,14 @@
             }
             switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:953:1: ( '+' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:809:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:953:1: ( '+' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:954:1: '+'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:809:1: ( '+' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:810:1: '+'
                     {
-                     before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                    match(input,15,FOLLOW_15_in_rule__SignedInteger__Alternatives_01922); 
-                     after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+                     before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                    match(input,14,FOLLOW_14_in_rule__Integer__Alternatives_0_01648); 
+                     after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
 
                     }
 
@@ -2743,14 +2404,14 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:961:6: ( '-' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:817:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:961:6: ( '-' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:962:1: '-'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:817:6: ( '-' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:818:1: '-'
                     {
-                     before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__SignedInteger__Alternatives_01942); 
-                     after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+                     before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                    match(input,15,FOLLOW_15_in_rule__Integer__Alternatives_0_01668); 
+                     after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
 
                     }
 
@@ -2771,28 +2432,169 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Alternatives_0"
+    // $ANTLR end "rule__Integer__Alternatives_0_0"
 
 
     // $ANTLR start "rule__Real__Alternatives"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:974:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:830:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDecimalExp ) );
     public final void rule__Real__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:978:1: ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) )
-            int alt9=4;
-            alt9 = dfa9.predict(input);
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:834:1: ( ( ruleDecimal ) | ( ruleDecimalExp ) )
+            int alt9=2;
+            switch ( input.LA(1) ) {
+            case 14:
+                {
+                int LA9_1 = input.LA(2);
+
+                if ( (LA9_1==RULE_INT) ) {
+                    int LA9_3 = input.LA(3);
+
+                    if ( (LA9_3==34) ) {
+                        int LA9_4 = input.LA(4);
+
+                        if ( (LA9_4==RULE_INT) ) {
+                            int LA9_5 = input.LA(5);
+
+                            if ( (LA9_5==EOF||(LA9_5>=24 && LA9_5<=25)) ) {
+                                alt9=1;
+                            }
+                            else if ( ((LA9_5>=16 && LA9_5<=17)) ) {
+                                alt9=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 9, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 9, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 9, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 9, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 15:
+                {
+                int LA9_2 = input.LA(2);
+
+                if ( (LA9_2==RULE_INT) ) {
+                    int LA9_3 = input.LA(3);
+
+                    if ( (LA9_3==34) ) {
+                        int LA9_4 = input.LA(4);
+
+                        if ( (LA9_4==RULE_INT) ) {
+                            int LA9_5 = input.LA(5);
+
+                            if ( (LA9_5==EOF||(LA9_5>=24 && LA9_5<=25)) ) {
+                                alt9=1;
+                            }
+                            else if ( ((LA9_5>=16 && LA9_5<=17)) ) {
+                                alt9=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 9, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 9, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 9, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 9, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA9_3 = input.LA(2);
+
+                if ( (LA9_3==34) ) {
+                    int LA9_4 = input.LA(3);
+
+                    if ( (LA9_4==RULE_INT) ) {
+                        int LA9_5 = input.LA(4);
+
+                        if ( (LA9_5==EOF||(LA9_5>=24 && LA9_5<=25)) ) {
+                            alt9=1;
+                        }
+                        else if ( ((LA9_5>=16 && LA9_5<=17)) ) {
+                            alt9=2;
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 9, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 9, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 9, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 9, 0, input);
+
+                throw nvae;
+            }
+
             switch (alt9) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:979:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:835:1: ( ruleDecimal )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:979:1: ( ruleDecimal )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:980:1: ruleDecimal
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:835:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:836:1: ruleDecimal
                     {
                      before(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives1976);
+                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives1702);
                     ruleDecimal();
 
                     state._fsp--;
@@ -2805,56 +2607,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:985:6: ( ruleDotDecimal )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:841:6: ( ruleDecimalExp )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:985:6: ( ruleDotDecimal )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:986:1: ruleDotDecimal
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:841:6: ( ruleDecimalExp )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:842:1: ruleDecimalExp
                     {
-                     before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives1993);
-                    ruleDotDecimal();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:991:6: ( ruleDecimalDot )
-                    {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:991:6: ( ruleDecimalDot )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:992:1: ruleDecimalDot
-                    {
-                     before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives2010);
-                    ruleDecimalDot();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:997:6: ( ruleDecimalExp )
-                    {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:997:6: ( ruleDecimalExp )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:998:1: ruleDecimalExp
-                    {
-                     before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives2027);
+                     before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
+                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives1719);
                     ruleDecimalExp();
 
                     state._fsp--;
 
-                     after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
+                     after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
 
                     }
 
@@ -2879,20 +2643,20 @@
 
 
     // $ANTLR start "rule__Decimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1008:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:852:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
     public final void rule__Decimal__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1012:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:856:1: ( ( '+' ) | ( '-' ) )
             int alt10=2;
             int LA10_0 = input.LA(1);
 
-            if ( (LA10_0==15) ) {
+            if ( (LA10_0==14) ) {
                 alt10=1;
             }
-            else if ( (LA10_0==16) ) {
+            else if ( (LA10_0==15) ) {
                 alt10=2;
             }
             else {
@@ -2903,13 +2667,13 @@
             }
             switch (alt10) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1013:1: ( '+' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:857:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1013:1: ( '+' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1014:1: '+'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:857:1: ( '+' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:858:1: '+'
                     {
                      before(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
-                    match(input,15,FOLLOW_15_in_rule__Decimal__Alternatives_02060); 
+                    match(input,14,FOLLOW_14_in_rule__Decimal__Alternatives_01752); 
                      after(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
 
                     }
@@ -2918,13 +2682,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1021:6: ( '-' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:865:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1021:6: ( '-' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1022:1: '-'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:865:6: ( '-' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:866:1: '-'
                     {
                      before(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__Decimal__Alternatives_02080); 
+                    match(input,15,FOLLOW_15_in_rule__Decimal__Alternatives_01772); 
                      after(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
 
                     }
@@ -2949,21 +2713,21 @@
     // $ANTLR end "rule__Decimal__Alternatives_0"
 
 
-    // $ANTLR start "rule__DotDecimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1034:1: rule__DotDecimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DotDecimal__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__DecimalExp__Alternatives_0"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:878:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    public final void rule__DecimalExp__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1038:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:882:1: ( ( '+' ) | ( '-' ) )
             int alt11=2;
             int LA11_0 = input.LA(1);
 
-            if ( (LA11_0==15) ) {
+            if ( (LA11_0==14) ) {
                 alt11=1;
             }
-            else if ( (LA11_0==16) ) {
+            else if ( (LA11_0==15) ) {
                 alt11=2;
             }
             else {
@@ -2974,155 +2738,13 @@
             }
             switch (alt11) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1039:1: ( '+' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:883:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1039:1: ( '+' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1040:1: '+'
-                    {
-                     before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                    match(input,15,FOLLOW_15_in_rule__DotDecimal__Alternatives_02115); 
-                     after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1047:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1047:6: ( '-' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1048:1: '-'
-                    {
-                     before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__DotDecimal__Alternatives_02135); 
-                     after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Alternatives_0"
-
-
-    // $ANTLR start "rule__DecimalDot__Alternatives_0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1060:1: rule__DecimalDot__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DecimalDot__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1064:1: ( ( '+' ) | ( '-' ) )
-            int alt12=2;
-            int LA12_0 = input.LA(1);
-
-            if ( (LA12_0==15) ) {
-                alt12=1;
-            }
-            else if ( (LA12_0==16) ) {
-                alt12=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 12, 0, input);
-
-                throw nvae;
-            }
-            switch (alt12) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1065:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1065:1: ( '+' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1066:1: '+'
-                    {
-                     before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                    match(input,15,FOLLOW_15_in_rule__DecimalDot__Alternatives_02170); 
-                     after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1073:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1073:6: ( '-' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1074:1: '-'
-                    {
-                     before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__DecimalDot__Alternatives_02190); 
-                     after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Alternatives_0"
-
-
-    // $ANTLR start "rule__DecimalExp__Alternatives_0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1086:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DecimalExp__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1090:1: ( ( '+' ) | ( '-' ) )
-            int alt13=2;
-            int LA13_0 = input.LA(1);
-
-            if ( (LA13_0==15) ) {
-                alt13=1;
-            }
-            else if ( (LA13_0==16) ) {
-                alt13=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 13, 0, input);
-
-                throw nvae;
-            }
-            switch (alt13) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1091:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1091:1: ( '+' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1092:1: '+'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:883:1: ( '+' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:884:1: '+'
                     {
                      before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
-                    match(input,15,FOLLOW_15_in_rule__DecimalExp__Alternatives_02225); 
+                    match(input,14,FOLLOW_14_in_rule__DecimalExp__Alternatives_01807); 
                      after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
 
                     }
@@ -3131,13 +2753,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1099:6: ( '-' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:891:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1099:6: ( '-' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1100:1: '-'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:891:6: ( '-' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:892:1: '-'
                     {
                      before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__DecimalExp__Alternatives_02245); 
+                    match(input,15,FOLLOW_15_in_rule__DecimalExp__Alternatives_01827); 
                      after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
 
                     }
@@ -3162,32 +2784,174 @@
     // $ANTLR end "rule__DecimalExp__Alternatives_0"
 
 
+    // $ANTLR start "rule__DecimalExp__Alternatives_4"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:904:1: rule__DecimalExp__Alternatives_4 : ( ( 'e' ) | ( 'E' ) );
+    public final void rule__DecimalExp__Alternatives_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:908:1: ( ( 'e' ) | ( 'E' ) )
+            int alt12=2;
+            int LA12_0 = input.LA(1);
+
+            if ( (LA12_0==16) ) {
+                alt12=1;
+            }
+            else if ( (LA12_0==17) ) {
+                alt12=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 12, 0, input);
+
+                throw nvae;
+            }
+            switch (alt12) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:909:1: ( 'e' )
+                    {
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:909:1: ( 'e' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:910:1: 'e'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                    match(input,16,FOLLOW_16_in_rule__DecimalExp__Alternatives_41862); 
+                     after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:917:6: ( 'E' )
+                    {
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:917:6: ( 'E' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:918:1: 'E'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                    match(input,17,FOLLOW_17_in_rule__DecimalExp__Alternatives_41882); 
+                     after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_4"
+
+
+    // $ANTLR start "rule__DecimalExp__Alternatives_5"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:930:1: rule__DecimalExp__Alternatives_5 : ( ( '+' ) | ( '-' ) );
+    public final void rule__DecimalExp__Alternatives_5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:934:1: ( ( '+' ) | ( '-' ) )
+            int alt13=2;
+            int LA13_0 = input.LA(1);
+
+            if ( (LA13_0==14) ) {
+                alt13=1;
+            }
+            else if ( (LA13_0==15) ) {
+                alt13=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 13, 0, input);
+
+                throw nvae;
+            }
+            switch (alt13) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:935:1: ( '+' )
+                    {
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:935:1: ( '+' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:936:1: '+'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                    match(input,14,FOLLOW_14_in_rule__DecimalExp__Alternatives_51917); 
+                     after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:943:6: ( '-' )
+                    {
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:943:6: ( '-' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:944:1: '-'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                    match(input,15,FOLLOW_15_in_rule__DecimalExp__Alternatives_51937); 
+                     after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_5"
+
+
     // $ANTLR start "rule__LiteralType__Alternatives"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1112:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:956:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
     public final void rule__LiteralType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1116:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:960:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
             int alt14=4;
             switch ( input.LA(1) ) {
-            case 17:
+            case 18:
                 {
                 alt14=1;
                 }
                 break;
-            case 18:
+            case 19:
                 {
                 alt14=2;
                 }
                 break;
-            case 19:
+            case 20:
                 {
                 alt14=3;
                 }
                 break;
-            case 20:
+            case 21:
                 {
                 alt14=4;
                 }
@@ -3201,16 +2965,16 @@
 
             switch (alt14) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1117:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:961:1: ( ( 'ptBoolean' ) )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1117:1: ( ( 'ptBoolean' ) )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1118:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:961:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:962:1: ( 'ptBoolean' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1119:1: ( 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1119:3: 'ptBoolean'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:963:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:963:3: 'ptBoolean'
                     {
-                    match(input,17,FOLLOW_17_in_rule__LiteralType__Alternatives2280); 
+                    match(input,18,FOLLOW_18_in_rule__LiteralType__Alternatives1972); 
 
                     }
 
@@ -3222,16 +2986,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1124:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:968:6: ( ( 'ptInteger' ) )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1124:6: ( ( 'ptInteger' ) )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1125:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:968:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:969:1: ( 'ptInteger' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1126:1: ( 'ptInteger' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1126:3: 'ptInteger'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:970:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:970:3: 'ptInteger'
                     {
-                    match(input,18,FOLLOW_18_in_rule__LiteralType__Alternatives2301); 
+                    match(input,19,FOLLOW_19_in_rule__LiteralType__Alternatives1993); 
 
                     }
 
@@ -3243,16 +3007,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1131:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:975:6: ( ( 'ptReal' ) )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1131:6: ( ( 'ptReal' ) )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1132:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:975:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:976:1: ( 'ptReal' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1133:1: ( 'ptReal' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1133:3: 'ptReal'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:977:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:977:3: 'ptReal'
                     {
-                    match(input,19,FOLLOW_19_in_rule__LiteralType__Alternatives2322); 
+                    match(input,20,FOLLOW_20_in_rule__LiteralType__Alternatives2014); 
 
                     }
 
@@ -3264,16 +3028,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1138:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:982:6: ( ( 'ptCharacter' ) )
                     {
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1138:6: ( ( 'ptCharacter' ) )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1139:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:982:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:983:1: ( 'ptCharacter' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1140:1: ( 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1140:3: 'ptCharacter'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:984:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:984:3: 'ptCharacter'
                     {
-                    match(input,20,FOLLOW_20_in_rule__LiteralType__Alternatives2343); 
+                    match(input,21,FOLLOW_21_in_rule__LiteralType__Alternatives2035); 
 
                     }
 
@@ -3302,21 +3066,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1152:1: rule__Annotation__Group__0 : rule__Annotation__Group__0__Impl rule__Annotation__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:996:1: rule__Annotation__Group__0 : rule__Annotation__Group__0__Impl rule__Annotation__Group__1 ;
     public final void rule__Annotation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1156:1: ( rule__Annotation__Group__0__Impl rule__Annotation__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1157:2: rule__Annotation__Group__0__Impl rule__Annotation__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1000:1: ( rule__Annotation__Group__0__Impl rule__Annotation__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1001:2: rule__Annotation__Group__0__Impl rule__Annotation__Group__1
             {
-            pushFollow(FOLLOW_rule__Annotation__Group__0__Impl_in_rule__Annotation__Group__02376);
+            pushFollow(FOLLOW_rule__Annotation__Group__0__Impl_in_rule__Annotation__Group__02068);
             rule__Annotation__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group__1_in_rule__Annotation__Group__02379);
+            pushFollow(FOLLOW_rule__Annotation__Group__1_in_rule__Annotation__Group__02071);
             rule__Annotation__Group__1();
 
             state._fsp--;
@@ -3340,20 +3104,20 @@
 
 
     // $ANTLR start "rule__Annotation__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1164:1: rule__Annotation__Group__0__Impl : ( '@' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1008:1: rule__Annotation__Group__0__Impl : ( '@' ) ;
     public final void rule__Annotation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1168:1: ( ( '@' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1169:1: ( '@' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1012:1: ( ( '@' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1013:1: ( '@' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1169:1: ( '@' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1170:1: '@'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1013:1: ( '@' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1014:1: '@'
             {
              before(grammarAccess.getAnnotationAccess().getCommercialAtKeyword_0()); 
-            match(input,21,FOLLOW_21_in_rule__Annotation__Group__0__Impl2407); 
+            match(input,22,FOLLOW_22_in_rule__Annotation__Group__0__Impl2099); 
              after(grammarAccess.getAnnotationAccess().getCommercialAtKeyword_0()); 
 
             }
@@ -3377,21 +3141,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1183:1: rule__Annotation__Group__1 : rule__Annotation__Group__1__Impl rule__Annotation__Group__2 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1027:1: rule__Annotation__Group__1 : rule__Annotation__Group__1__Impl rule__Annotation__Group__2 ;
     public final void rule__Annotation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1187:1: ( rule__Annotation__Group__1__Impl rule__Annotation__Group__2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1188:2: rule__Annotation__Group__1__Impl rule__Annotation__Group__2
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1031:1: ( rule__Annotation__Group__1__Impl rule__Annotation__Group__2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1032:2: rule__Annotation__Group__1__Impl rule__Annotation__Group__2
             {
-            pushFollow(FOLLOW_rule__Annotation__Group__1__Impl_in_rule__Annotation__Group__12438);
+            pushFollow(FOLLOW_rule__Annotation__Group__1__Impl_in_rule__Annotation__Group__12130);
             rule__Annotation__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group__2_in_rule__Annotation__Group__12441);
+            pushFollow(FOLLOW_rule__Annotation__Group__2_in_rule__Annotation__Group__12133);
             rule__Annotation__Group__2();
 
             state._fsp--;
@@ -3415,23 +3179,23 @@
 
 
     // $ANTLR start "rule__Annotation__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1195:1: rule__Annotation__Group__1__Impl : ( ( rule__Annotation__TypeAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1039:1: rule__Annotation__Group__1__Impl : ( ( rule__Annotation__TypeAssignment_1 ) ) ;
     public final void rule__Annotation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1199:1: ( ( ( rule__Annotation__TypeAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1200:1: ( ( rule__Annotation__TypeAssignment_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1043:1: ( ( ( rule__Annotation__TypeAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1044:1: ( ( rule__Annotation__TypeAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1200:1: ( ( rule__Annotation__TypeAssignment_1 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1201:1: ( rule__Annotation__TypeAssignment_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1044:1: ( ( rule__Annotation__TypeAssignment_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1045:1: ( rule__Annotation__TypeAssignment_1 )
             {
              before(grammarAccess.getAnnotationAccess().getTypeAssignment_1()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1202:1: ( rule__Annotation__TypeAssignment_1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1202:2: rule__Annotation__TypeAssignment_1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1046:1: ( rule__Annotation__TypeAssignment_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1046:2: rule__Annotation__TypeAssignment_1
             {
-            pushFollow(FOLLOW_rule__Annotation__TypeAssignment_1_in_rule__Annotation__Group__1__Impl2468);
+            pushFollow(FOLLOW_rule__Annotation__TypeAssignment_1_in_rule__Annotation__Group__1__Impl2160);
             rule__Annotation__TypeAssignment_1();
 
             state._fsp--;
@@ -3462,16 +3226,16 @@
 
 
     // $ANTLR start "rule__Annotation__Group__2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1212:1: rule__Annotation__Group__2 : rule__Annotation__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1056:1: rule__Annotation__Group__2 : rule__Annotation__Group__2__Impl ;
     public final void rule__Annotation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1216:1: ( rule__Annotation__Group__2__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1217:2: rule__Annotation__Group__2__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1060:1: ( rule__Annotation__Group__2__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1061:2: rule__Annotation__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__Annotation__Group__2__Impl_in_rule__Annotation__Group__22498);
+            pushFollow(FOLLOW_rule__Annotation__Group__2__Impl_in_rule__Annotation__Group__22190);
             rule__Annotation__Group__2__Impl();
 
             state._fsp--;
@@ -3495,31 +3259,31 @@
 
 
     // $ANTLR start "rule__Annotation__Group__2__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1223:1: rule__Annotation__Group__2__Impl : ( ( rule__Annotation__Group_2__0 )? ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1067:1: rule__Annotation__Group__2__Impl : ( ( rule__Annotation__Group_2__0 )? ) ;
     public final void rule__Annotation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1227:1: ( ( ( rule__Annotation__Group_2__0 )? ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1228:1: ( ( rule__Annotation__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1071:1: ( ( ( rule__Annotation__Group_2__0 )? ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1072:1: ( ( rule__Annotation__Group_2__0 )? )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1228:1: ( ( rule__Annotation__Group_2__0 )? )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1229:1: ( rule__Annotation__Group_2__0 )?
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1072:1: ( ( rule__Annotation__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1073:1: ( rule__Annotation__Group_2__0 )?
             {
              before(grammarAccess.getAnnotationAccess().getGroup_2()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1230:1: ( rule__Annotation__Group_2__0 )?
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1074:1: ( rule__Annotation__Group_2__0 )?
             int alt15=2;
             int LA15_0 = input.LA(1);
 
-            if ( (LA15_0==22) ) {
+            if ( (LA15_0==23) ) {
                 alt15=1;
             }
             switch (alt15) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1230:2: rule__Annotation__Group_2__0
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1074:2: rule__Annotation__Group_2__0
                     {
-                    pushFollow(FOLLOW_rule__Annotation__Group_2__0_in_rule__Annotation__Group__2__Impl2525);
+                    pushFollow(FOLLOW_rule__Annotation__Group_2__0_in_rule__Annotation__Group__2__Impl2217);
                     rule__Annotation__Group_2__0();
 
                     state._fsp--;
@@ -3553,21 +3317,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1246:1: rule__Annotation__Group_2__0 : rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1090:1: rule__Annotation__Group_2__0 : rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1 ;
     public final void rule__Annotation__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1250:1: ( rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1251:2: rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1094:1: ( rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1095:2: rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2__0__Impl_in_rule__Annotation__Group_2__02562);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__0__Impl_in_rule__Annotation__Group_2__02254);
             rule__Annotation__Group_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group_2__1_in_rule__Annotation__Group_2__02565);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__1_in_rule__Annotation__Group_2__02257);
             rule__Annotation__Group_2__1();
 
             state._fsp--;
@@ -3591,20 +3355,20 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1258:1: rule__Annotation__Group_2__0__Impl : ( '(' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1102:1: rule__Annotation__Group_2__0__Impl : ( '(' ) ;
     public final void rule__Annotation__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1262:1: ( ( '(' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1263:1: ( '(' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1106:1: ( ( '(' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1107:1: ( '(' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1263:1: ( '(' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1264:1: '('
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1107:1: ( '(' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1108:1: '('
             {
              before(grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_2_0()); 
-            match(input,22,FOLLOW_22_in_rule__Annotation__Group_2__0__Impl2593); 
+            match(input,23,FOLLOW_23_in_rule__Annotation__Group_2__0__Impl2285); 
              after(grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_2_0()); 
 
             }
@@ -3628,21 +3392,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1277:1: rule__Annotation__Group_2__1 : rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1121:1: rule__Annotation__Group_2__1 : rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2 ;
     public final void rule__Annotation__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1281:1: ( rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1282:2: rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1125:1: ( rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1126:2: rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2__1__Impl_in_rule__Annotation__Group_2__12624);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__1__Impl_in_rule__Annotation__Group_2__12316);
             rule__Annotation__Group_2__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group_2__2_in_rule__Annotation__Group_2__12627);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__2_in_rule__Annotation__Group_2__12319);
             rule__Annotation__Group_2__2();
 
             state._fsp--;
@@ -3666,23 +3430,23 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1289:1: rule__Annotation__Group_2__1__Impl : ( ( rule__Annotation__AttributesAssignment_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1133:1: rule__Annotation__Group_2__1__Impl : ( ( rule__Annotation__AttributesAssignment_2_1 ) ) ;
     public final void rule__Annotation__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1293:1: ( ( ( rule__Annotation__AttributesAssignment_2_1 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1294:1: ( ( rule__Annotation__AttributesAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1137:1: ( ( ( rule__Annotation__AttributesAssignment_2_1 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1138:1: ( ( rule__Annotation__AttributesAssignment_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1294:1: ( ( rule__Annotation__AttributesAssignment_2_1 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1295:1: ( rule__Annotation__AttributesAssignment_2_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1138:1: ( ( rule__Annotation__AttributesAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1139:1: ( rule__Annotation__AttributesAssignment_2_1 )
             {
              before(grammarAccess.getAnnotationAccess().getAttributesAssignment_2_1()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1296:1: ( rule__Annotation__AttributesAssignment_2_1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1296:2: rule__Annotation__AttributesAssignment_2_1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1140:1: ( rule__Annotation__AttributesAssignment_2_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1140:2: rule__Annotation__AttributesAssignment_2_1
             {
-            pushFollow(FOLLOW_rule__Annotation__AttributesAssignment_2_1_in_rule__Annotation__Group_2__1__Impl2654);
+            pushFollow(FOLLOW_rule__Annotation__AttributesAssignment_2_1_in_rule__Annotation__Group_2__1__Impl2346);
             rule__Annotation__AttributesAssignment_2_1();
 
             state._fsp--;
@@ -3713,21 +3477,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1306:1: rule__Annotation__Group_2__2 : rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1150:1: rule__Annotation__Group_2__2 : rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3 ;
     public final void rule__Annotation__Group_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1310:1: ( rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1311:2: rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1154:1: ( rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1155:2: rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2__2__Impl_in_rule__Annotation__Group_2__22684);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__2__Impl_in_rule__Annotation__Group_2__22376);
             rule__Annotation__Group_2__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group_2__3_in_rule__Annotation__Group_2__22687);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__3_in_rule__Annotation__Group_2__22379);
             rule__Annotation__Group_2__3();
 
             state._fsp--;
@@ -3751,35 +3515,35 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__2__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1318:1: rule__Annotation__Group_2__2__Impl : ( ( rule__Annotation__Group_2_2__0 )* ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1162:1: rule__Annotation__Group_2__2__Impl : ( ( rule__Annotation__Group_2_2__0 )* ) ;
     public final void rule__Annotation__Group_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1322:1: ( ( ( rule__Annotation__Group_2_2__0 )* ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1323:1: ( ( rule__Annotation__Group_2_2__0 )* )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1166:1: ( ( ( rule__Annotation__Group_2_2__0 )* ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1167:1: ( ( rule__Annotation__Group_2_2__0 )* )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1323:1: ( ( rule__Annotation__Group_2_2__0 )* )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1324:1: ( rule__Annotation__Group_2_2__0 )*
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1167:1: ( ( rule__Annotation__Group_2_2__0 )* )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1168:1: ( rule__Annotation__Group_2_2__0 )*
             {
              before(grammarAccess.getAnnotationAccess().getGroup_2_2()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1325:1: ( rule__Annotation__Group_2_2__0 )*
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1169:1: ( rule__Annotation__Group_2_2__0 )*
             loop16:
             do {
                 int alt16=2;
                 int LA16_0 = input.LA(1);
 
-                if ( (LA16_0==24) ) {
+                if ( (LA16_0==25) ) {
                     alt16=1;
                 }
 
 
                 switch (alt16) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1325:2: rule__Annotation__Group_2_2__0
+            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1169:2: rule__Annotation__Group_2_2__0
             	    {
-            	    pushFollow(FOLLOW_rule__Annotation__Group_2_2__0_in_rule__Annotation__Group_2__2__Impl2714);
+            	    pushFollow(FOLLOW_rule__Annotation__Group_2_2__0_in_rule__Annotation__Group_2__2__Impl2406);
             	    rule__Annotation__Group_2_2__0();
 
             	    state._fsp--;
@@ -3816,16 +3580,16 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__3"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1335:1: rule__Annotation__Group_2__3 : rule__Annotation__Group_2__3__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1179:1: rule__Annotation__Group_2__3 : rule__Annotation__Group_2__3__Impl ;
     public final void rule__Annotation__Group_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1339:1: ( rule__Annotation__Group_2__3__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1340:2: rule__Annotation__Group_2__3__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1183:1: ( rule__Annotation__Group_2__3__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1184:2: rule__Annotation__Group_2__3__Impl
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2__3__Impl_in_rule__Annotation__Group_2__32745);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__3__Impl_in_rule__Annotation__Group_2__32437);
             rule__Annotation__Group_2__3__Impl();
 
             state._fsp--;
@@ -3849,20 +3613,20 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__3__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1346:1: rule__Annotation__Group_2__3__Impl : ( ')' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1190:1: rule__Annotation__Group_2__3__Impl : ( ')' ) ;
     public final void rule__Annotation__Group_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1350:1: ( ( ')' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1351:1: ( ')' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1194:1: ( ( ')' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1195:1: ( ')' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1351:1: ( ')' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1352:1: ')'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1195:1: ( ')' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1196:1: ')'
             {
              before(grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_2_3()); 
-            match(input,23,FOLLOW_23_in_rule__Annotation__Group_2__3__Impl2773); 
+            match(input,24,FOLLOW_24_in_rule__Annotation__Group_2__3__Impl2465); 
              after(grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_2_3()); 
 
             }
@@ -3886,21 +3650,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2_2__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1373:1: rule__Annotation__Group_2_2__0 : rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1217:1: rule__Annotation__Group_2_2__0 : rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1 ;
     public final void rule__Annotation__Group_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1377:1: ( rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1378:2: rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1221:1: ( rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1222:2: rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2_2__0__Impl_in_rule__Annotation__Group_2_2__02812);
+            pushFollow(FOLLOW_rule__Annotation__Group_2_2__0__Impl_in_rule__Annotation__Group_2_2__02504);
             rule__Annotation__Group_2_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group_2_2__1_in_rule__Annotation__Group_2_2__02815);
+            pushFollow(FOLLOW_rule__Annotation__Group_2_2__1_in_rule__Annotation__Group_2_2__02507);
             rule__Annotation__Group_2_2__1();
 
             state._fsp--;
@@ -3924,20 +3688,20 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2_2__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1385:1: rule__Annotation__Group_2_2__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1229:1: rule__Annotation__Group_2_2__0__Impl : ( ',' ) ;
     public final void rule__Annotation__Group_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1389:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1390:1: ( ',' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1233:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1234:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1390:1: ( ',' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1391:1: ','
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1234:1: ( ',' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1235:1: ','
             {
              before(grammarAccess.getAnnotationAccess().getCommaKeyword_2_2_0()); 
-            match(input,24,FOLLOW_24_in_rule__Annotation__Group_2_2__0__Impl2843); 
+            match(input,25,FOLLOW_25_in_rule__Annotation__Group_2_2__0__Impl2535); 
              after(grammarAccess.getAnnotationAccess().getCommaKeyword_2_2_0()); 
 
             }
@@ -3961,16 +3725,16 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2_2__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1404:1: rule__Annotation__Group_2_2__1 : rule__Annotation__Group_2_2__1__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1248:1: rule__Annotation__Group_2_2__1 : rule__Annotation__Group_2_2__1__Impl ;
     public final void rule__Annotation__Group_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1408:1: ( rule__Annotation__Group_2_2__1__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1409:2: rule__Annotation__Group_2_2__1__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1252:1: ( rule__Annotation__Group_2_2__1__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1253:2: rule__Annotation__Group_2_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2_2__1__Impl_in_rule__Annotation__Group_2_2__12874);
+            pushFollow(FOLLOW_rule__Annotation__Group_2_2__1__Impl_in_rule__Annotation__Group_2_2__12566);
             rule__Annotation__Group_2_2__1__Impl();
 
             state._fsp--;
@@ -3994,23 +3758,23 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2_2__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1415:1: rule__Annotation__Group_2_2__1__Impl : ( ( rule__Annotation__AttributesAssignment_2_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1259:1: rule__Annotation__Group_2_2__1__Impl : ( ( rule__Annotation__AttributesAssignment_2_2_1 ) ) ;
     public final void rule__Annotation__Group_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1419:1: ( ( ( rule__Annotation__AttributesAssignment_2_2_1 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1420:1: ( ( rule__Annotation__AttributesAssignment_2_2_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1263:1: ( ( ( rule__Annotation__AttributesAssignment_2_2_1 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1264:1: ( ( rule__Annotation__AttributesAssignment_2_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1420:1: ( ( rule__Annotation__AttributesAssignment_2_2_1 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1421:1: ( rule__Annotation__AttributesAssignment_2_2_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1264:1: ( ( rule__Annotation__AttributesAssignment_2_2_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1265:1: ( rule__Annotation__AttributesAssignment_2_2_1 )
             {
              before(grammarAccess.getAnnotationAccess().getAttributesAssignment_2_2_1()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1422:1: ( rule__Annotation__AttributesAssignment_2_2_1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1422:2: rule__Annotation__AttributesAssignment_2_2_1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1266:1: ( rule__Annotation__AttributesAssignment_2_2_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1266:2: rule__Annotation__AttributesAssignment_2_2_1
             {
-            pushFollow(FOLLOW_rule__Annotation__AttributesAssignment_2_2_1_in_rule__Annotation__Group_2_2__1__Impl2901);
+            pushFollow(FOLLOW_rule__Annotation__AttributesAssignment_2_2_1_in_rule__Annotation__Group_2_2__1__Impl2593);
             rule__Annotation__AttributesAssignment_2_2_1();
 
             state._fsp--;
@@ -4041,21 +3805,21 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1436:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1280:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
     public final void rule__KeyValue__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1440:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1441:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1284:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1285:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__02935);
+            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__02627);
             rule__KeyValue__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__02938);
+            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__02630);
             rule__KeyValue__Group__1();
 
             state._fsp--;
@@ -4079,23 +3843,23 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1448:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1292:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
     public final void rule__KeyValue__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1452:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1453:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1296:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1297:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1453:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1454:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1297:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1298:1: ( rule__KeyValue__KeyAssignment_0 )
             {
              before(grammarAccess.getKeyValueAccess().getKeyAssignment_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1455:1: ( rule__KeyValue__KeyAssignment_0 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1455:2: rule__KeyValue__KeyAssignment_0
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1299:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1299:2: rule__KeyValue__KeyAssignment_0
             {
-            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl2965);
+            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl2657);
             rule__KeyValue__KeyAssignment_0();
 
             state._fsp--;
@@ -4126,21 +3890,21 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1465:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1309:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
     public final void rule__KeyValue__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1469:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1470:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1313:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1314:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__12995);
+            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__12687);
             rule__KeyValue__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__12998);
+            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__12690);
             rule__KeyValue__Group__2();
 
             state._fsp--;
@@ -4164,20 +3928,20 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1477:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1321:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
     public final void rule__KeyValue__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1481:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1482:1: ( '=' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1325:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1326:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1482:1: ( '=' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1483:1: '='
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1326:1: ( '=' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1327:1: '='
             {
              before(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
-            match(input,25,FOLLOW_25_in_rule__KeyValue__Group__1__Impl3026); 
+            match(input,26,FOLLOW_26_in_rule__KeyValue__Group__1__Impl2718); 
              after(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
 
             }
@@ -4201,16 +3965,16 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1496:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1340:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
     public final void rule__KeyValue__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1500:1: ( rule__KeyValue__Group__2__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1501:2: rule__KeyValue__Group__2__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1344:1: ( rule__KeyValue__Group__2__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1345:2: rule__KeyValue__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__23057);
+            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__22749);
             rule__KeyValue__Group__2__Impl();
 
             state._fsp--;
@@ -4234,23 +3998,23 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1507:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1351:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
     public final void rule__KeyValue__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1511:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1512:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1355:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1356:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1512:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1513:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1356:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1357:1: ( rule__KeyValue__ValueAssignment_2 )
             {
              before(grammarAccess.getKeyValueAccess().getValueAssignment_2()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1514:1: ( rule__KeyValue__ValueAssignment_2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1514:2: rule__KeyValue__ValueAssignment_2
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1358:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1358:2: rule__KeyValue__ValueAssignment_2
             {
-            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl3084);
+            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl2776);
             rule__KeyValue__ValueAssignment_2();
 
             state._fsp--;
@@ -4281,21 +4045,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1533:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1377:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
     public final void rule__SimpleAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1537:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1538:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1381:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1382:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__03123);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__02815);
             rule__SimpleAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__03126);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__02818);
             rule__SimpleAnnotationAttribute__Group__1();
 
             state._fsp--;
@@ -4319,23 +4083,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1545:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1389:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1549:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1550:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1393:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1394:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1550:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1551:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1394:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1395:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1552:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1552:2: rule__SimpleAnnotationAttribute__Alternatives_0
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1396:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1396:2: rule__SimpleAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl3153);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl2845);
             rule__SimpleAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
@@ -4366,21 +4130,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1562:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1406:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
     public final void rule__SimpleAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1566:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1567:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1410:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1411:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__13183);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__12875);
             rule__SimpleAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__13186);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__12878);
             rule__SimpleAnnotationAttribute__Group__2();
 
             state._fsp--;
@@ -4404,20 +4168,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1574:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1418:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1578:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1579:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1422:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1423:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1579:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1580:1: 'attribute'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1423:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1424:1: 'attribute'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
-            match(input,26,FOLLOW_26_in_rule__SimpleAnnotationAttribute__Group__1__Impl3214); 
+            match(input,27,FOLLOW_27_in_rule__SimpleAnnotationAttribute__Group__1__Impl2906); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
 
             }
@@ -4441,21 +4205,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1593:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1437:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
     public final void rule__SimpleAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1597:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1598:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1441:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1442:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__23245);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__22937);
             rule__SimpleAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__23248);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__22940);
             rule__SimpleAnnotationAttribute__Group__3();
 
             state._fsp--;
@@ -4479,23 +4243,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1605:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1449:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1609:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1610:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1453:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1454:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1610:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1611:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1454:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1455:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1612:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1612:2: rule__SimpleAnnotationAttribute__NameAssignment_2
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1456:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1456:2: rule__SimpleAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl3275);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl2967);
             rule__SimpleAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
@@ -4526,21 +4290,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1622:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1466:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
     public final void rule__SimpleAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1626:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1627:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1470:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1471:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__33305);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__32997);
             rule__SimpleAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__33308);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__33000);
             rule__SimpleAnnotationAttribute__Group__4();
 
             state._fsp--;
@@ -4564,20 +4328,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1634:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1478:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1638:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1639:1: ( ':' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1482:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1483:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1639:1: ( ':' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1640:1: ':'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1483:1: ( ':' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1484:1: ':'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
-            match(input,27,FOLLOW_27_in_rule__SimpleAnnotationAttribute__Group__3__Impl3336); 
+            match(input,28,FOLLOW_28_in_rule__SimpleAnnotationAttribute__Group__3__Impl3028); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
 
             }
@@ -4601,16 +4365,16 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1653:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1497:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
     public final void rule__SimpleAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1657:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1658:2: rule__SimpleAnnotationAttribute__Group__4__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1501:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1502:2: rule__SimpleAnnotationAttribute__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__43367);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__43059);
             rule__SimpleAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
@@ -4634,23 +4398,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1664:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1508:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1668:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1669:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1512:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1513:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1669:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1670:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1513:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1514:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeAssignment_4()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1671:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1671:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1515:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1515:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl3394);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl3086);
             rule__SimpleAnnotationAttribute__TypeAssignment_4();
 
             state._fsp--;
@@ -4681,21 +4445,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1691:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1535:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
     public final void rule__EnumAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1695:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1696:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1539:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1540:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__03434);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__03126);
             rule__EnumAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__03437);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__03129);
             rule__EnumAnnotationAttribute__Group__1();
 
             state._fsp--;
@@ -4719,23 +4483,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1703:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1547:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1707:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1708:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1551:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1552:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1708:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1709:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1552:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1553:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1710:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1710:2: rule__EnumAnnotationAttribute__Alternatives_0
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1554:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1554:2: rule__EnumAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl3464);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl3156);
             rule__EnumAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
@@ -4766,21 +4530,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1720:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1564:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
     public final void rule__EnumAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1724:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1725:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1568:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1569:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__13494);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__13186);
             rule__EnumAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__13497);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__13189);
             rule__EnumAnnotationAttribute__Group__2();
 
             state._fsp--;
@@ -4804,20 +4568,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1732:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1576:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__EnumAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1736:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1737:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1580:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1581:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1737:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1738:1: 'attribute'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1581:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1582:1: 'attribute'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
-            match(input,26,FOLLOW_26_in_rule__EnumAnnotationAttribute__Group__1__Impl3525); 
+            match(input,27,FOLLOW_27_in_rule__EnumAnnotationAttribute__Group__1__Impl3217); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
 
             }
@@ -4841,21 +4605,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1751:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1595:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
     public final void rule__EnumAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1755:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1756:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1599:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1600:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__23556);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__23248);
             rule__EnumAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__23559);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__23251);
             rule__EnumAnnotationAttribute__Group__3();
 
             state._fsp--;
@@ -4879,23 +4643,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1763:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1607:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1767:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1768:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1611:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1612:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1768:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1769:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1612:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1613:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1770:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1770:2: rule__EnumAnnotationAttribute__NameAssignment_2
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1614:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1614:2: rule__EnumAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl3586);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl3278);
             rule__EnumAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
@@ -4926,21 +4690,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1780:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1624:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
     public final void rule__EnumAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1784:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1785:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1628:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1629:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__33616);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__33308);
             rule__EnumAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__33619);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__33311);
             rule__EnumAnnotationAttribute__Group__4();
 
             state._fsp--;
@@ -4964,20 +4728,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1792:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1636:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__EnumAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1796:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1797:1: ( ':' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1640:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1641:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1797:1: ( ':' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1798:1: ':'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1641:1: ( ':' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1642:1: ':'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
-            match(input,27,FOLLOW_27_in_rule__EnumAnnotationAttribute__Group__3__Impl3647); 
+            match(input,28,FOLLOW_28_in_rule__EnumAnnotationAttribute__Group__3__Impl3339); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
 
             }
@@ -5001,21 +4765,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1811:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1655:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
     public final void rule__EnumAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1815:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1816:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1659:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1660:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__43678);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__43370);
             rule__EnumAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__43681);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__43373);
             rule__EnumAnnotationAttribute__Group__5();
 
             state._fsp--;
@@ -5039,20 +4803,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1823:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1667:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
     public final void rule__EnumAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1827:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1828:1: ( '{' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1671:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1672:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1828:1: ( '{' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1829:1: '{'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1672:1: ( '{' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1673:1: '{'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
-            match(input,28,FOLLOW_28_in_rule__EnumAnnotationAttribute__Group__4__Impl3709); 
+            match(input,29,FOLLOW_29_in_rule__EnumAnnotationAttribute__Group__4__Impl3401); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
 
             }
@@ -5076,21 +4840,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1842:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1686:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
     public final void rule__EnumAnnotationAttribute__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1846:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1847:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1690:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1691:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__53740);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__53432);
             rule__EnumAnnotationAttribute__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__53743);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__53435);
             rule__EnumAnnotationAttribute__Group__6();
 
             state._fsp--;
@@ -5114,23 +4878,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1854:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1698:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1858:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1859:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1702:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1703:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1859:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1860:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1703:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1704:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_5()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1861:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1861:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1705:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1705:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl3770);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl3462);
             rule__EnumAnnotationAttribute__ValuesAssignment_5();
 
             state._fsp--;
@@ -5161,21 +4925,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1871:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1715:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
     public final void rule__EnumAnnotationAttribute__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1875:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1876:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1719:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1720:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__63800);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__63492);
             rule__EnumAnnotationAttribute__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__63803);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__63495);
             rule__EnumAnnotationAttribute__Group__7();
 
             state._fsp--;
@@ -5199,35 +4963,35 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1883:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1727:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
     public final void rule__EnumAnnotationAttribute__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1887:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1888:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1731:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1732:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1888:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1889:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1732:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1733:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getGroup_6()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1890:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1734:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
             loop17:
             do {
                 int alt17=2;
                 int LA17_0 = input.LA(1);
 
-                if ( (LA17_0==24) ) {
+                if ( (LA17_0==25) ) {
                     alt17=1;
                 }
 
 
                 switch (alt17) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1890:2: rule__EnumAnnotationAttribute__Group_6__0
+            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1734:2: rule__EnumAnnotationAttribute__Group_6__0
             	    {
-            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl3830);
+            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl3522);
             	    rule__EnumAnnotationAttribute__Group_6__0();
 
             	    state._fsp--;
@@ -5264,16 +5028,16 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1900:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1744:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
     public final void rule__EnumAnnotationAttribute__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1904:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1905:2: rule__EnumAnnotationAttribute__Group__7__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1748:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1749:2: rule__EnumAnnotationAttribute__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__73861);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__73553);
             rule__EnumAnnotationAttribute__Group__7__Impl();
 
             state._fsp--;
@@ -5297,20 +5061,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1911:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1755:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
     public final void rule__EnumAnnotationAttribute__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1915:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1916:1: ( '}' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1759:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1760:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1916:1: ( '}' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1917:1: '}'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1760:1: ( '}' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1761:1: '}'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
-            match(input,29,FOLLOW_29_in_rule__EnumAnnotationAttribute__Group__7__Impl3889); 
+            match(input,30,FOLLOW_30_in_rule__EnumAnnotationAttribute__Group__7__Impl3581); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
 
             }
@@ -5334,21 +5098,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1946:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1790:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
     public final void rule__EnumAnnotationAttribute__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1950:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1951:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1794:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1795:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__03936);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__03628);
             rule__EnumAnnotationAttribute__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__03939);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__03631);
             rule__EnumAnnotationAttribute__Group_6__1();
 
             state._fsp--;
@@ -5372,20 +5136,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1958:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1802:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1962:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1963:1: ( ',' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1806:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1807:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1963:1: ( ',' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1964:1: ','
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1807:1: ( ',' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1808:1: ','
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
-            match(input,24,FOLLOW_24_in_rule__EnumAnnotationAttribute__Group_6__0__Impl3967); 
+            match(input,25,FOLLOW_25_in_rule__EnumAnnotationAttribute__Group_6__0__Impl3659); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
 
             }
@@ -5409,16 +5173,16 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1977:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1821:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
     public final void rule__EnumAnnotationAttribute__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1981:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1982:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1825:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1826:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__13998);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__13690);
             rule__EnumAnnotationAttribute__Group_6__1__Impl();
 
             state._fsp--;
@@ -5442,23 +5206,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1988:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1832:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1992:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1993:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1836:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1837:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1993:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1994:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1837:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1838:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_6_1()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1995:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1995:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1839:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1839:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl4025);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl3717);
             rule__EnumAnnotationAttribute__ValuesAssignment_6_1();
 
             state._fsp--;
@@ -5489,21 +5253,21 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2011:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1855:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
     public final void rule__ImportedFQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2015:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2016:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1859:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1860:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__04061);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__03753);
             rule__ImportedFQN__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__04064);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__03756);
             rule__ImportedFQN__Group__1();
 
             state._fsp--;
@@ -5527,20 +5291,20 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2023:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1867:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
     public final void rule__ImportedFQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2027:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2028:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1871:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1872:1: ( ruleFQN )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2028:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2029:1: ruleFQN
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1872:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1873:1: ruleFQN
             {
              before(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl4091);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl3783);
             ruleFQN();
 
             state._fsp--;
@@ -5568,16 +5332,16 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2040:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1884:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
     public final void rule__ImportedFQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2044:1: ( rule__ImportedFQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2045:2: rule__ImportedFQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1888:1: ( rule__ImportedFQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1889:2: rule__ImportedFQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__14120);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__13812);
             rule__ImportedFQN__Group__1__Impl();
 
             state._fsp--;
@@ -5601,31 +5365,31 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2051:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1895:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
     public final void rule__ImportedFQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2055:1: ( ( ( '.*' )? ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2056:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1899:1: ( ( ( '.*' )? ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1900:1: ( ( '.*' )? )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2056:1: ( ( '.*' )? )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2057:1: ( '.*' )?
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1900:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1901:1: ( '.*' )?
             {
              before(grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2058:1: ( '.*' )?
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1902:1: ( '.*' )?
             int alt18=2;
             int LA18_0 = input.LA(1);
 
-            if ( (LA18_0==30) ) {
+            if ( (LA18_0==31) ) {
                 alt18=1;
             }
             switch (alt18) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2059:2: '.*'
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1903:2: '.*'
                     {
-                    match(input,30,FOLLOW_30_in_rule__ImportedFQN__Group__1__Impl4149); 
+                    match(input,31,FOLLOW_31_in_rule__ImportedFQN__Group__1__Impl3841); 
 
                     }
                     break;
@@ -5655,21 +5419,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2074:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1918:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
     public final void rule__Documentation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2078:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2079:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1922:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1923:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__04186);
+            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__03878);
             rule__Documentation__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__04189);
+            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__03881);
             rule__Documentation__Group__1();
 
             state._fsp--;
@@ -5693,21 +5457,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2086:1: rule__Documentation__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1930:1: rule__Documentation__Group__0__Impl : ( () ) ;
     public final void rule__Documentation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2090:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2091:1: ( () )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1934:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1935:1: ( () )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2091:1: ( () )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2092:1: ()
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1935:1: ( () )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1936:1: ()
             {
              before(grammarAccess.getDocumentationAccess().getDocumentationAction_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2093:1: ()
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2095:1: 
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1937:1: ()
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1939:1: 
             {
             }
 
@@ -5730,21 +5494,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2105:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1949:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
     public final void rule__Documentation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2109:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2110:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1953:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1954:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__14247);
+            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__13939);
             rule__Documentation__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__14250);
+            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__13942);
             rule__Documentation__Group__2();
 
             state._fsp--;
@@ -5768,20 +5532,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2117:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1961:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
     public final void rule__Documentation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2121:1: ( ( '[' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2122:1: ( '[' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1965:1: ( ( '[' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1966:1: ( '[' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2122:1: ( '[' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2123:1: '['
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1966:1: ( '[' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1967:1: '['
             {
              before(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
-            match(input,31,FOLLOW_31_in_rule__Documentation__Group__1__Impl4278); 
+            match(input,32,FOLLOW_32_in_rule__Documentation__Group__1__Impl3970); 
              after(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
 
             }
@@ -5805,21 +5569,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2136:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1980:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
     public final void rule__Documentation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2140:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2141:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1984:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1985:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__24309);
+            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__24001);
             rule__Documentation__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__24312);
+            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__24004);
             rule__Documentation__Group__3();
 
             state._fsp--;
@@ -5843,20 +5607,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2148:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1992:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
     public final void rule__Documentation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2152:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2153:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1996:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1997:1: ( ( rule__Documentation__LinesAssignment_2 )* )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2153:1: ( ( rule__Documentation__LinesAssignment_2 )* )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2154:1: ( rule__Documentation__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1997:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1998:1: ( rule__Documentation__LinesAssignment_2 )*
             {
              before(grammarAccess.getDocumentationAccess().getLinesAssignment_2()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2155:1: ( rule__Documentation__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1999:1: ( rule__Documentation__LinesAssignment_2 )*
             loop19:
             do {
                 int alt19=2;
@@ -5869,9 +5633,9 @@
 
                 switch (alt19) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2155:2: rule__Documentation__LinesAssignment_2
+            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:1999:2: rule__Documentation__LinesAssignment_2
             	    {
-            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl4339);
+            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl4031);
             	    rule__Documentation__LinesAssignment_2();
 
             	    state._fsp--;
@@ -5908,16 +5672,16 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2165:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2009:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
     public final void rule__Documentation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2169:1: ( rule__Documentation__Group__3__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2170:2: rule__Documentation__Group__3__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2013:1: ( rule__Documentation__Group__3__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2014:2: rule__Documentation__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__34370);
+            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__34062);
             rule__Documentation__Group__3__Impl();
 
             state._fsp--;
@@ -5941,20 +5705,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2176:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2020:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
     public final void rule__Documentation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2180:1: ( ( ']' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2181:1: ( ']' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2024:1: ( ( ']' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2025:1: ( ']' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2181:1: ( ']' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2182:1: ']'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2025:1: ( ']' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2026:1: ']'
             {
              before(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
-            match(input,32,FOLLOW_32_in_rule__Documentation__Group__3__Impl4398); 
+            match(input,33,FOLLOW_33_in_rule__Documentation__Group__3__Impl4090); 
              after(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
 
             }
@@ -5978,21 +5742,21 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2209:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2053:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
     public final void rule__BooleanLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2213:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2214:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2057:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2058:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__04443);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__04135);
             rule__BooleanLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__04446);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__04138);
             rule__BooleanLiteral__Group__1();
 
             state._fsp--;
@@ -6016,21 +5780,21 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2221:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2065:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
     public final void rule__BooleanLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2225:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2226:1: ( () )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2069:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2070:1: ( () )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2226:1: ( () )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2227:1: ()
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2070:1: ( () )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2071:1: ()
             {
              before(grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2228:1: ()
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2230:1: 
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2072:1: ()
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2074:1: 
             {
             }
 
@@ -6053,16 +5817,16 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2240:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2084:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
     public final void rule__BooleanLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2244:1: ( rule__BooleanLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2245:2: rule__BooleanLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2088:1: ( rule__BooleanLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2089:2: rule__BooleanLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__14504);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__14196);
             rule__BooleanLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -6086,23 +5850,23 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2251:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2095:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
     public final void rule__BooleanLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2255:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2256:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2099:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2100:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2256:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2257:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2100:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2101:1: ( rule__BooleanLiteral__Alternatives_1 )
             {
              before(grammarAccess.getBooleanLiteralAccess().getAlternatives_1()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2258:1: ( rule__BooleanLiteral__Alternatives_1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2258:2: rule__BooleanLiteral__Alternatives_1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2102:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2102:2: rule__BooleanLiteral__Alternatives_1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl4531);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl4223);
             rule__BooleanLiteral__Alternatives_1();
 
             state._fsp--;
@@ -6133,21 +5897,21 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2272:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2116:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
     public final void rule__RealLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2276:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2277:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2120:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2121:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__04565);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__04257);
             rule__RealLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__04568);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__04260);
             rule__RealLiteral__Group__1();
 
             state._fsp--;
@@ -6171,21 +5935,21 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2284:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2128:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
     public final void rule__RealLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2288:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2289:1: ( () )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2132:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2133:1: ( () )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2289:1: ( () )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2290:1: ()
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2133:1: ( () )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2134:1: ()
             {
              before(grammarAccess.getRealLiteralAccess().getRealLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2291:1: ()
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2293:1: 
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2135:1: ()
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2137:1: 
             {
             }
 
@@ -6208,16 +5972,16 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2303:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2147:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
     public final void rule__RealLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2307:1: ( rule__RealLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2308:2: rule__RealLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2151:1: ( rule__RealLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2152:2: rule__RealLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__14626);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__14318);
             rule__RealLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -6241,23 +6005,23 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2314:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2158:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
     public final void rule__RealLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2318:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2319:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2162:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2163:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2319:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2320:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2163:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2164:1: ( rule__RealLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getRealLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2321:1: ( rule__RealLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2321:2: rule__RealLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2165:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2165:2: rule__RealLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl4653);
+            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl4345);
             rule__RealLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -6288,21 +6052,21 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2335:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2179:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
     public final void rule__IntLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2339:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2340:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2183:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2184:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__04687);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__04379);
             rule__IntLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__04690);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__04382);
             rule__IntLiteral__Group__1();
 
             state._fsp--;
@@ -6326,21 +6090,21 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2347:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2191:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
     public final void rule__IntLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2351:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2352:1: ( () )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2195:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2196:1: ( () )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2352:1: ( () )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2353:1: ()
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2196:1: ( () )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2197:1: ()
             {
              before(grammarAccess.getIntLiteralAccess().getIntLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2354:1: ()
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2356:1: 
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2198:1: ()
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2200:1: 
             {
             }
 
@@ -6363,16 +6127,16 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2366:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2210:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
     public final void rule__IntLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2370:1: ( rule__IntLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2371:2: rule__IntLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2214:1: ( rule__IntLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2215:2: rule__IntLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__14748);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__14440);
             rule__IntLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -6396,23 +6160,23 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2377:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2221:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
     public final void rule__IntLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2381:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2382:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2225:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2226:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2382:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2383:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2226:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2227:1: ( rule__IntLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getIntLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2384:1: ( rule__IntLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2384:2: rule__IntLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2228:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2228:2: rule__IntLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl4775);
+            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl4467);
             rule__IntLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -6443,21 +6207,21 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2398:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2242:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
     public final void rule__StringLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2402:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2403:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2246:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2247:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__04809);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__04501);
             rule__StringLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__04812);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__04504);
             rule__StringLiteral__Group__1();
 
             state._fsp--;
@@ -6481,21 +6245,21 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2410:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2254:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
     public final void rule__StringLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2414:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2415:1: ( () )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2258:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2259:1: ( () )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2415:1: ( () )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2416:1: ()
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2259:1: ( () )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2260:1: ()
             {
              before(grammarAccess.getStringLiteralAccess().getStringLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2417:1: ()
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2419:1: 
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2261:1: ()
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2263:1: 
             {
             }
 
@@ -6518,16 +6282,16 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2429:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2273:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
     public final void rule__StringLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2433:1: ( rule__StringLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2434:2: rule__StringLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2277:1: ( rule__StringLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2278:2: rule__StringLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__14870);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__14562);
             rule__StringLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -6551,23 +6315,23 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2440:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2284:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
     public final void rule__StringLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2444:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2445:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2288:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2289:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2445:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2446:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2289:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2290:1: ( rule__StringLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getStringLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2447:1: ( rule__StringLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2447:2: rule__StringLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2291:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2291:2: rule__StringLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl4897);
+            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl4589);
             rule__StringLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -6597,23 +6361,23 @@
     // $ANTLR end "rule__StringLiteral__Group__1__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2461:1: rule__SignedInteger__Group__0 : rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 ;
-    public final void rule__SignedInteger__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2305:1: rule__Integer__Group_0__0 : rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 ;
+    public final void rule__Integer__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2465:1: ( rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2466:2: rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2309:1: ( rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2310:2: rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__04931);
-            rule__SignedInteger__Group__0__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__04623);
+            rule__Integer__Group_0__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__04934);
-            rule__SignedInteger__Group__1();
+            pushFollow(FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__04626);
+            rule__Integer__Group_0__1();
 
             state._fsp--;
 
@@ -6632,36 +6396,36 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0"
+    // $ANTLR end "rule__Integer__Group_0__0"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2473:1: rule__SignedInteger__Group__0__Impl : ( ( rule__SignedInteger__Alternatives_0 )? ) ;
-    public final void rule__SignedInteger__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0__Impl"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2317:1: rule__Integer__Group_0__0__Impl : ( ( rule__Integer__Alternatives_0_0 )? ) ;
+    public final void rule__Integer__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2477:1: ( ( ( rule__SignedInteger__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2478:1: ( ( rule__SignedInteger__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2321:1: ( ( ( rule__Integer__Alternatives_0_0 )? ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2322:1: ( ( rule__Integer__Alternatives_0_0 )? )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2478:1: ( ( rule__SignedInteger__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2479:1: ( rule__SignedInteger__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2322:1: ( ( rule__Integer__Alternatives_0_0 )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2323:1: ( rule__Integer__Alternatives_0_0 )?
             {
-             before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2480:1: ( rule__SignedInteger__Alternatives_0 )?
+             before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2324:1: ( rule__Integer__Alternatives_0_0 )?
             int alt20=2;
             int LA20_0 = input.LA(1);
 
-            if ( ((LA20_0>=15 && LA20_0<=16)) ) {
+            if ( ((LA20_0>=14 && LA20_0<=15)) ) {
                 alt20=1;
             }
             switch (alt20) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2480:2: rule__SignedInteger__Alternatives_0
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2324:2: rule__Integer__Alternatives_0_0
                     {
-                    pushFollow(FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl4961);
-                    rule__SignedInteger__Alternatives_0();
+                    pushFollow(FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl4653);
+                    rule__Integer__Alternatives_0_0();
 
                     state._fsp--;
 
@@ -6671,7 +6435,7 @@
 
             }
 
-             after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
+             after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
 
             }
 
@@ -6690,21 +6454,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0__Impl"
+    // $ANTLR end "rule__Integer__Group_0__0__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2490:1: rule__SignedInteger__Group__1 : rule__SignedInteger__Group__1__Impl ;
-    public final void rule__SignedInteger__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2334:1: rule__Integer__Group_0__1 : rule__Integer__Group_0__1__Impl ;
+    public final void rule__Integer__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2494:1: ( rule__SignedInteger__Group__1__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2495:2: rule__SignedInteger__Group__1__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2338:1: ( rule__Integer__Group_0__1__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2339:2: rule__Integer__Group_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__14992);
-            rule__SignedInteger__Group__1__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__14684);
+            rule__Integer__Group_0__1__Impl();
 
             state._fsp--;
 
@@ -6723,25 +6487,25 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1"
+    // $ANTLR end "rule__Integer__Group_0__1"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2501:1: rule__SignedInteger__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__SignedInteger__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1__Impl"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2345:1: rule__Integer__Group_0__1__Impl : ( RULE_INT ) ;
+    public final void rule__Integer__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2505:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2506:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2349:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2350:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2506:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2507:1: RULE_INT
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2350:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2351:1: RULE_INT
             {
-             before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl5019); 
-             after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+             before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl4711); 
+             after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
 
             }
 
@@ -6760,25 +6524,25 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1__Impl"
+    // $ANTLR end "rule__Integer__Group_0__1__Impl"
 
 
     // $ANTLR start "rule__Decimal__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2522:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2366:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
     public final void rule__Decimal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2526:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2527:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2370:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2371:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__05052);
+            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__04744);
             rule__Decimal__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__05055);
+            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__04747);
             rule__Decimal__Group__1();
 
             state._fsp--;
@@ -6802,31 +6566,31 @@
 
 
     // $ANTLR start "rule__Decimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2534:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2378:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
     public final void rule__Decimal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2538:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2539:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2382:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2383:1: ( ( rule__Decimal__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2539:1: ( ( rule__Decimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2540:1: ( rule__Decimal__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2383:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2384:1: ( rule__Decimal__Alternatives_0 )?
             {
              before(grammarAccess.getDecimalAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2541:1: ( rule__Decimal__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2385:1: ( rule__Decimal__Alternatives_0 )?
             int alt21=2;
             int LA21_0 = input.LA(1);
 
-            if ( ((LA21_0>=15 && LA21_0<=16)) ) {
+            if ( ((LA21_0>=14 && LA21_0<=15)) ) {
                 alt21=1;
             }
             switch (alt21) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2541:2: rule__Decimal__Alternatives_0
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2385:2: rule__Decimal__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl5082);
+                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl4774);
                     rule__Decimal__Alternatives_0();
 
                     state._fsp--;
@@ -6860,21 +6624,21 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2551:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2395:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
     public final void rule__Decimal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2555:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2556:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2399:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2400:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__15113);
+            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__14805);
             rule__Decimal__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__15116);
+            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__14808);
             rule__Decimal__Group__2();
 
             state._fsp--;
@@ -6898,20 +6662,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2563:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2407:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2567:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2568:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2411:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2412:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2568:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2569:1: RULE_INT
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2412:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2413:1: RULE_INT
             {
              before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl5143); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl4835); 
              after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
 
             }
@@ -6935,21 +6699,21 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2580:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2424:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
     public final void rule__Decimal__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2584:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2585:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2428:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2429:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__25172);
+            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__24864);
             rule__Decimal__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__25175);
+            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__24867);
             rule__Decimal__Group__3();
 
             state._fsp--;
@@ -6973,20 +6737,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2592:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2436:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
     public final void rule__Decimal__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2596:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2597:1: ( '.' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2440:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2441:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2597:1: ( '.' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2598:1: '.'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2441:1: ( '.' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2442:1: '.'
             {
              before(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
-            match(input,33,FOLLOW_33_in_rule__Decimal__Group__2__Impl5203); 
+            match(input,34,FOLLOW_34_in_rule__Decimal__Group__2__Impl4895); 
              after(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
 
             }
@@ -7010,16 +6774,16 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2611:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2455:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
     public final void rule__Decimal__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2615:1: ( rule__Decimal__Group__3__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2616:2: rule__Decimal__Group__3__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2459:1: ( rule__Decimal__Group__3__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2460:2: rule__Decimal__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__35234);
+            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__34926);
             rule__Decimal__Group__3__Impl();
 
             state._fsp--;
@@ -7043,20 +6807,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2622:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2466:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2626:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2627:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2470:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2471:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2627:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2628:1: RULE_INT
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2471:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2472:1: RULE_INT
             {
              before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl5261); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl4953); 
              after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
 
             }
@@ -7079,504 +6843,22 @@
     // $ANTLR end "rule__Decimal__Group__3__Impl"
 
 
-    // $ANTLR start "rule__DotDecimal__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2647:1: rule__DotDecimal__Group__0 : rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 ;
-    public final void rule__DotDecimal__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2651:1: ( rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2652:2: rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__05298);
-            rule__DotDecimal__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__05301);
-            rule__DotDecimal__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2659:1: rule__DotDecimal__Group__0__Impl : ( ( rule__DotDecimal__Alternatives_0 )? ) ;
-    public final void rule__DotDecimal__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2663:1: ( ( ( rule__DotDecimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2664:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2664:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2665:1: ( rule__DotDecimal__Alternatives_0 )?
-            {
-             before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2666:1: ( rule__DotDecimal__Alternatives_0 )?
-            int alt22=2;
-            int LA22_0 = input.LA(1);
-
-            if ( ((LA22_0>=15 && LA22_0<=16)) ) {
-                alt22=1;
-            }
-            switch (alt22) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2666:2: rule__DotDecimal__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl5328);
-                    rule__DotDecimal__Alternatives_0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2676:1: rule__DotDecimal__Group__1 : rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 ;
-    public final void rule__DotDecimal__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2680:1: ( rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2681:2: rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__15359);
-            rule__DotDecimal__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__15362);
-            rule__DotDecimal__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2688:1: rule__DotDecimal__Group__1__Impl : ( '.' ) ;
-    public final void rule__DotDecimal__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2692:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2693:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2693:1: ( '.' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2694:1: '.'
-            {
-             before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-            match(input,33,FOLLOW_33_in_rule__DotDecimal__Group__1__Impl5390); 
-             after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2707:1: rule__DotDecimal__Group__2 : rule__DotDecimal__Group__2__Impl ;
-    public final void rule__DotDecimal__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2711:1: ( rule__DotDecimal__Group__2__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2712:2: rule__DotDecimal__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__25421);
-            rule__DotDecimal__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2718:1: rule__DotDecimal__Group__2__Impl : ( RULE_INT ) ;
-    public final void rule__DotDecimal__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2722:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2723:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2723:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2724:1: RULE_INT
-            {
-             before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl5448); 
-             after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2741:1: rule__DecimalDot__Group__0 : rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 ;
-    public final void rule__DecimalDot__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2745:1: ( rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2746:2: rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__05483);
-            rule__DecimalDot__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__05486);
-            rule__DecimalDot__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2753:1: rule__DecimalDot__Group__0__Impl : ( ( rule__DecimalDot__Alternatives_0 )? ) ;
-    public final void rule__DecimalDot__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2757:1: ( ( ( rule__DecimalDot__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2758:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2758:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2759:1: ( rule__DecimalDot__Alternatives_0 )?
-            {
-             before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2760:1: ( rule__DecimalDot__Alternatives_0 )?
-            int alt23=2;
-            int LA23_0 = input.LA(1);
-
-            if ( ((LA23_0>=15 && LA23_0<=16)) ) {
-                alt23=1;
-            }
-            switch (alt23) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2760:2: rule__DecimalDot__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl5513);
-                    rule__DecimalDot__Alternatives_0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2770:1: rule__DecimalDot__Group__1 : rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 ;
-    public final void rule__DecimalDot__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2774:1: ( rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2775:2: rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__15544);
-            rule__DecimalDot__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__15547);
-            rule__DecimalDot__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2782:1: rule__DecimalDot__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__DecimalDot__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2786:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2787:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2787:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2788:1: RULE_INT
-            {
-             before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl5574); 
-             after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2799:1: rule__DecimalDot__Group__2 : rule__DecimalDot__Group__2__Impl ;
-    public final void rule__DecimalDot__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2803:1: ( rule__DecimalDot__Group__2__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2804:2: rule__DecimalDot__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__25603);
-            rule__DecimalDot__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2810:1: rule__DecimalDot__Group__2__Impl : ( '.' ) ;
-    public final void rule__DecimalDot__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2814:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2815:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2815:1: ( '.' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2816:1: '.'
-            {
-             before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-            match(input,33,FOLLOW_33_in_rule__DecimalDot__Group__2__Impl5631); 
-             after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2__Impl"
-
-
     // $ANTLR start "rule__DecimalExp__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2835:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2491:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
     public final void rule__DecimalExp__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2839:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2840:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2495:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2496:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__05668);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__04990);
             rule__DecimalExp__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__05671);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__04993);
             rule__DecimalExp__Group__1();
 
             state._fsp--;
@@ -7600,31 +6882,31 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2847:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2503:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
     public final void rule__DecimalExp__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2851:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2852:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2507:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2508:1: ( ( rule__DecimalExp__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2852:1: ( ( rule__DecimalExp__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2853:1: ( rule__DecimalExp__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2508:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2509:1: ( rule__DecimalExp__Alternatives_0 )?
             {
              before(grammarAccess.getDecimalExpAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2854:1: ( rule__DecimalExp__Alternatives_0 )?
-            int alt24=2;
-            int LA24_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2510:1: ( rule__DecimalExp__Alternatives_0 )?
+            int alt22=2;
+            int LA22_0 = input.LA(1);
 
-            if ( ((LA24_0>=15 && LA24_0<=16)) ) {
-                alt24=1;
+            if ( ((LA22_0>=14 && LA22_0<=15)) ) {
+                alt22=1;
             }
-            switch (alt24) {
+            switch (alt22) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2854:2: rule__DecimalExp__Alternatives_0
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2510:2: rule__DecimalExp__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl5698);
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl5020);
                     rule__DecimalExp__Alternatives_0();
 
                     state._fsp--;
@@ -7658,21 +6940,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2864:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2520:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
     public final void rule__DecimalExp__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2868:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2869:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2524:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2525:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__15729);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__15051);
             rule__DecimalExp__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__15732);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__15054);
             rule__DecimalExp__Group__2();
 
             state._fsp--;
@@ -7696,20 +6978,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2876:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2532:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2880:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2881:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2536:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2537:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2881:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2882:1: RULE_INT
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2537:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2538:1: RULE_INT
             {
              before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl5759); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl5081); 
              after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
 
             }
@@ -7733,21 +7015,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2893:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2549:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
     public final void rule__DecimalExp__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2897:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2898:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2553:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2554:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__25788);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__25110);
             rule__DecimalExp__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__25791);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__25113);
             rule__DecimalExp__Group__3();
 
             state._fsp--;
@@ -7771,20 +7053,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2905:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2561:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
     public final void rule__DecimalExp__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2909:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2910:1: ( '.' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2565:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2566:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2910:1: ( '.' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2911:1: '.'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2566:1: ( '.' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2567:1: '.'
             {
              before(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
-            match(input,33,FOLLOW_33_in_rule__DecimalExp__Group__2__Impl5819); 
+            match(input,34,FOLLOW_34_in_rule__DecimalExp__Group__2__Impl5141); 
              after(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
 
             }
@@ -7808,21 +7090,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2924:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2580:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
     public final void rule__DecimalExp__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2928:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2929:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2584:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2585:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__35850);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__35172);
             rule__DecimalExp__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__35853);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__35175);
             rule__DecimalExp__Group__4();
 
             state._fsp--;
@@ -7846,20 +7128,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2936:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2592:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2940:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2941:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2596:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2597:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2941:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2942:1: RULE_INT
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2597:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2598:1: RULE_INT
             {
              before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl5880); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl5202); 
              after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
 
             }
@@ -7883,20 +7165,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2953:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2609:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 ;
     public final void rule__DecimalExp__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2957:1: ( rule__DecimalExp__Group__4__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2958:2: rule__DecimalExp__Group__4__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2613:1: ( rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2614:2: rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__45909);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__45231);
             rule__DecimalExp__Group__4__Impl();
 
             state._fsp--;
 
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__45234);
+            rule__DecimalExp__Group__5();
+
+            state._fsp--;
+
 
             }
 
@@ -7916,21 +7203,31 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2964:1: rule__DecimalExp__Group__4__Impl : ( RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2621:1: rule__DecimalExp__Group__4__Impl : ( ( rule__DecimalExp__Alternatives_4 ) ) ;
     public final void rule__DecimalExp__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2968:1: ( ( RULE_EXP ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2969:1: ( RULE_EXP )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2625:1: ( ( ( rule__DecimalExp__Alternatives_4 ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2626:1: ( ( rule__DecimalExp__Alternatives_4 ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2969:1: ( RULE_EXP )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2970:1: RULE_EXP
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2626:1: ( ( rule__DecimalExp__Alternatives_4 ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2627:1: ( rule__DecimalExp__Alternatives_4 )
             {
-             before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
-            match(input,RULE_EXP,FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl5936); 
-             after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+             before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2628:1: ( rule__DecimalExp__Alternatives_4 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2628:2: rule__DecimalExp__Alternatives_4
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl5261);
+            rule__DecimalExp__Alternatives_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
 
             }
 
@@ -7952,22 +7249,188 @@
     // $ANTLR end "rule__DecimalExp__Group__4__Impl"
 
 
+    // $ANTLR start "rule__DecimalExp__Group__5"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2638:1: rule__DecimalExp__Group__5 : rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 ;
+    public final void rule__DecimalExp__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2642:1: ( rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2643:2: rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__55291);
+            rule__DecimalExp__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__55294);
+            rule__DecimalExp__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__5__Impl"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2650:1: rule__DecimalExp__Group__5__Impl : ( ( rule__DecimalExp__Alternatives_5 )? ) ;
+    public final void rule__DecimalExp__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2654:1: ( ( ( rule__DecimalExp__Alternatives_5 )? ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2655:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            {
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2655:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2656:1: ( rule__DecimalExp__Alternatives_5 )?
+            {
+             before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2657:1: ( rule__DecimalExp__Alternatives_5 )?
+            int alt23=2;
+            int LA23_0 = input.LA(1);
+
+            if ( ((LA23_0>=14 && LA23_0<=15)) ) {
+                alt23=1;
+            }
+            switch (alt23) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2657:2: rule__DecimalExp__Alternatives_5
+                    {
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl5321);
+                    rule__DecimalExp__Alternatives_5();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5__Impl"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2667:1: rule__DecimalExp__Group__6 : rule__DecimalExp__Group__6__Impl ;
+    public final void rule__DecimalExp__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2671:1: ( rule__DecimalExp__Group__6__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2672:2: rule__DecimalExp__Group__6__Impl
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__65352);
+            rule__DecimalExp__Group__6__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6__Impl"
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2678:1: rule__DecimalExp__Group__6__Impl : ( RULE_INT ) ;
+    public final void rule__DecimalExp__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2682:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2683:1: ( RULE_INT )
+            {
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2683:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2684:1: RULE_INT
+            {
+             before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl5379); 
+             after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6__Impl"
+
+
     // $ANTLR start "rule__FQN__Group__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2991:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2709:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
     public final void rule__FQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2995:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2996:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2713:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2714:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__05975);
+            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__05422);
             rule__FQN__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__05978);
+            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__05425);
             rule__FQN__Group__1();
 
             state._fsp--;
@@ -7991,20 +7454,20 @@
 
 
     // $ANTLR start "rule__FQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3003:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2721:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3007:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3008:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2725:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2726:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3008:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3009:1: RULE_ID
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2726:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2727:1: RULE_ID
             {
              before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl6005); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl5452); 
              after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
 
             }
@@ -8028,16 +7491,16 @@
 
 
     // $ANTLR start "rule__FQN__Group__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3020:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2738:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
     public final void rule__FQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3024:1: ( rule__FQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3025:2: rule__FQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2742:1: ( rule__FQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2743:2: rule__FQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__16034);
+            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__15481);
             rule__FQN__Group__1__Impl();
 
             state._fsp--;
@@ -8061,35 +7524,35 @@
 
 
     // $ANTLR start "rule__FQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3031:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2749:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
     public final void rule__FQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3035:1: ( ( ( rule__FQN__Group_1__0 )* ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3036:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2753:1: ( ( ( rule__FQN__Group_1__0 )* ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2754:1: ( ( rule__FQN__Group_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3036:1: ( ( rule__FQN__Group_1__0 )* )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3037:1: ( rule__FQN__Group_1__0 )*
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2754:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2755:1: ( rule__FQN__Group_1__0 )*
             {
              before(grammarAccess.getFQNAccess().getGroup_1()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3038:1: ( rule__FQN__Group_1__0 )*
-            loop25:
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2756:1: ( rule__FQN__Group_1__0 )*
+            loop24:
             do {
-                int alt25=2;
-                int LA25_0 = input.LA(1);
+                int alt24=2;
+                int LA24_0 = input.LA(1);
 
-                if ( (LA25_0==33) ) {
-                    alt25=1;
+                if ( (LA24_0==34) ) {
+                    alt24=1;
                 }
 
 
-                switch (alt25) {
+                switch (alt24) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3038:2: rule__FQN__Group_1__0
+            	    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2756:2: rule__FQN__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl6061);
+            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl5508);
             	    rule__FQN__Group_1__0();
 
             	    state._fsp--;
@@ -8099,7 +7562,7 @@
             	    break;
 
             	default :
-            	    break loop25;
+            	    break loop24;
                 }
             } while (true);
 
@@ -8126,21 +7589,21 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3052:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2770:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
     public final void rule__FQN__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3056:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3057:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2774:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2775:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__06096);
+            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__05543);
             rule__FQN__Group_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__06099);
+            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__05546);
             rule__FQN__Group_1__1();
 
             state._fsp--;
@@ -8164,20 +7627,20 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3064:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2782:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
     public final void rule__FQN__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3068:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3069:1: ( '.' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2786:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2787:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3069:1: ( '.' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3070:1: '.'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2787:1: ( '.' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2788:1: '.'
             {
              before(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
-            match(input,33,FOLLOW_33_in_rule__FQN__Group_1__0__Impl6127); 
+            match(input,34,FOLLOW_34_in_rule__FQN__Group_1__0__Impl5574); 
              after(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
 
             }
@@ -8201,16 +7664,16 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3083:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2801:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
     public final void rule__FQN__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3087:1: ( rule__FQN__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3088:2: rule__FQN__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2805:1: ( rule__FQN__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2806:2: rule__FQN__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__16158);
+            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__15605);
             rule__FQN__Group_1__1__Impl();
 
             state._fsp--;
@@ -8234,20 +7697,20 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3094:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2812:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3098:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3099:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2816:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2817:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3099:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3100:1: RULE_ID
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2817:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2818:1: RULE_ID
             {
              before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl6185); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl5632); 
              after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
 
             }
@@ -8271,24 +7734,24 @@
 
 
     // $ANTLR start "rule__Annotation__TypeAssignment_1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3116:1: rule__Annotation__TypeAssignment_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2834:1: rule__Annotation__TypeAssignment_1 : ( ( ruleFQN ) ) ;
     public final void rule__Annotation__TypeAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3120:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3121:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2838:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2839:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3121:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3122:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2839:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2840:1: ( ruleFQN )
             {
              before(grammarAccess.getAnnotationAccess().getTypeAnnotationTypeCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3123:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3124:1: ruleFQN
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2841:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2842:1: ruleFQN
             {
              before(grammarAccess.getAnnotationAccess().getTypeAnnotationTypeFQNParserRuleCall_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__Annotation__TypeAssignment_16227);
+            pushFollow(FOLLOW_ruleFQN_in_rule__Annotation__TypeAssignment_15674);
             ruleFQN();
 
             state._fsp--;
@@ -8320,20 +7783,20 @@
 
 
     // $ANTLR start "rule__Annotation__AttributesAssignment_2_1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3135:1: rule__Annotation__AttributesAssignment_2_1 : ( ruleKeyValue ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2853:1: rule__Annotation__AttributesAssignment_2_1 : ( ruleKeyValue ) ;
     public final void rule__Annotation__AttributesAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3139:1: ( ( ruleKeyValue ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3140:1: ( ruleKeyValue )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2857:1: ( ( ruleKeyValue ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2858:1: ( ruleKeyValue )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3140:1: ( ruleKeyValue )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3141:1: ruleKeyValue
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2858:1: ( ruleKeyValue )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2859:1: ruleKeyValue
             {
              before(grammarAccess.getAnnotationAccess().getAttributesKeyValueParserRuleCall_2_1_0()); 
-            pushFollow(FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_16262);
+            pushFollow(FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_15709);
             ruleKeyValue();
 
             state._fsp--;
@@ -8361,20 +7824,20 @@
 
 
     // $ANTLR start "rule__Annotation__AttributesAssignment_2_2_1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3150:1: rule__Annotation__AttributesAssignment_2_2_1 : ( ruleKeyValue ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2868:1: rule__Annotation__AttributesAssignment_2_2_1 : ( ruleKeyValue ) ;
     public final void rule__Annotation__AttributesAssignment_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3154:1: ( ( ruleKeyValue ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3155:1: ( ruleKeyValue )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2872:1: ( ( ruleKeyValue ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2873:1: ( ruleKeyValue )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3155:1: ( ruleKeyValue )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3156:1: ruleKeyValue
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2873:1: ( ruleKeyValue )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2874:1: ruleKeyValue
             {
              before(grammarAccess.getAnnotationAccess().getAttributesKeyValueParserRuleCall_2_2_1_0()); 
-            pushFollow(FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_2_16293);
+            pushFollow(FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_2_15740);
             ruleKeyValue();
 
             state._fsp--;
@@ -8402,20 +7865,20 @@
 
 
     // $ANTLR start "rule__KeyValue__KeyAssignment_0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3165:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2883:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
     public final void rule__KeyValue__KeyAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3169:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3170:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2887:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2888:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3170:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3171:1: RULE_ID
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2888:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2889:1: RULE_ID
             {
              before(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_06324); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_05771); 
              after(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
 
             }
@@ -8439,20 +7902,20 @@
 
 
     // $ANTLR start "rule__KeyValue__ValueAssignment_2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3180:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2898:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
     public final void rule__KeyValue__ValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3184:1: ( ( ruleLiteral ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3185:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2902:1: ( ( ruleLiteral ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2903:1: ( ruleLiteral )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3185:1: ( ruleLiteral )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3186:1: ruleLiteral
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2903:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2904:1: ruleLiteral
             {
              before(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_26355);
+            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_25802);
             ruleLiteral();
 
             state._fsp--;
@@ -8480,24 +7943,24 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3201:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2919:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__SimpleAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3205:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3206:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2923:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2924:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3206:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3207:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2924:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2925:1: ( 'optional' )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3208:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3209:1: 'optional'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2926:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2927:1: 'optional'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            match(input,34,FOLLOW_34_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_06397); 
+            match(input,35,FOLLOW_35_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_05844); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
 
             }
@@ -8525,20 +7988,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3224:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2942:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__SimpleAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3228:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3229:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2946:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2947:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3229:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3230:1: RULE_ID
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2947:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2948:1: RULE_ID
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_26436); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_25883); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -8562,20 +8025,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__TypeAssignment_4"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3239:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2957:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
     public final void rule__SimpleAnnotationAttribute__TypeAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3243:1: ( ( ruleLiteralType ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3244:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2961:1: ( ( ruleLiteralType ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2962:1: ( ruleLiteralType )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3244:1: ( ruleLiteralType )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3245:1: ruleLiteralType
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2962:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2963:1: ruleLiteralType
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_46467);
+            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_45914);
             ruleLiteralType();
 
             state._fsp--;
@@ -8603,24 +8066,24 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3254:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2972:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__EnumAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3258:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3259:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2976:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2977:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3259:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3260:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2977:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2978:1: ( 'optional' )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3261:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3262:1: 'optional'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2979:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2980:1: 'optional'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            match(input,34,FOLLOW_34_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_06503); 
+            match(input,35,FOLLOW_35_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_05950); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
 
             }
@@ -8648,20 +8111,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3277:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2995:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__EnumAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3281:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3282:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:2999:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3000:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3282:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3283:1: RULE_ID
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3000:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3001:1: RULE_ID
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_26542); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_25989); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -8685,20 +8148,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_5"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3292:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3010:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3296:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3297:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3014:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3015:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3297:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3298:1: RULE_STRING
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3015:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3016:1: RULE_STRING
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_56573); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_56020); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
 
             }
@@ -8722,20 +8185,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_6_1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3307:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3025:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3311:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3312:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3029:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3030:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3312:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3313:1: RULE_STRING
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3030:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3031:1: RULE_STRING
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_16604); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_16051); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
 
             }
@@ -8759,20 +8222,20 @@
 
 
     // $ANTLR start "rule__Documentation__LinesAssignment_2"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3324:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3042:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
     public final void rule__Documentation__LinesAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3328:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3329:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3046:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3047:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3329:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3330:1: RULE_STRING
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3047:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3048:1: RULE_STRING
             {
              before(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_26637); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_26084); 
              after(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
 
             }
@@ -8796,24 +8259,24 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__IsTrueAssignment_1_1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3341:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3059:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
     public final void rule__BooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3345:1: ( ( ( 'true' ) ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3346:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3063:1: ( ( ( 'true' ) ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3064:1: ( ( 'true' ) )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3346:1: ( ( 'true' ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3347:1: ( 'true' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3064:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3065:1: ( 'true' )
             {
              before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3348:1: ( 'true' )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3349:1: 'true'
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3066:1: ( 'true' )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3067:1: 'true'
             {
              before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
-            match(input,35,FOLLOW_35_in_rule__BooleanLiteral__IsTrueAssignment_1_16675); 
+            match(input,36,FOLLOW_36_in_rule__BooleanLiteral__IsTrueAssignment_1_16122); 
              after(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
 
             }
@@ -8841,20 +8304,20 @@
 
 
     // $ANTLR start "rule__RealLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3364:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3082:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
     public final void rule__RealLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3368:1: ( ( ruleReal ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3369:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3086:1: ( ( ruleReal ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3087:1: ( ruleReal )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3369:1: ( ruleReal )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3370:1: ruleReal
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3087:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3088:1: ruleReal
             {
              before(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_16714);
+            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_16161);
             ruleReal();
 
             state._fsp--;
@@ -8882,20 +8345,20 @@
 
 
     // $ANTLR start "rule__IntLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3379:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3097:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
     public final void rule__IntLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3383:1: ( ( ruleInteger ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3384:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3101:1: ( ( ruleInteger ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3102:1: ( ruleInteger )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3384:1: ( ruleInteger )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3385:1: ruleInteger
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3102:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3103:1: ruleInteger
             {
              before(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_16745);
+            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_16192);
             ruleInteger();
 
             state._fsp--;
@@ -8923,20 +8386,20 @@
 
 
     // $ANTLR start "rule__StringLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3394:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3112:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
     public final void rule__StringLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3398:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3399:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3116:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3117:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3399:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3400:1: RULE_STRING
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3117:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.common.ui/src-gen/org/eclipse/etrice/core/common/ui/contentassist/antlr/internal/InternalBase.g:3118:1: RULE_STRING
             {
              before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_16776); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_16223); 
              after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
 
             }
@@ -8961,65 +8424,6 @@
     // Delegated rules
 
 
-    protected DFA9 dfa9 = new DFA9(this);
-    static final String DFA9_eotS =
-        "\12\uffff";
-    static final String DFA9_eofS =
-        "\5\uffff\1\6\1\uffff\1\10\2\uffff";
-    static final String DFA9_minS =
-        "\3\6\1\41\1\uffff\1\6\1\uffff\1\7\2\uffff";
-    static final String DFA9_maxS =
-        "\4\41\1\uffff\1\30\1\uffff\1\30\2\uffff";
-    static final String DFA9_acceptS =
-        "\4\uffff\1\2\1\uffff\1\3\1\uffff\1\1\1\4";
-    static final String DFA9_specialS =
-        "\12\uffff}>";
-    static final String[] DFA9_transitionS = {
-            "\1\3\10\uffff\1\1\1\2\20\uffff\1\4",
-            "\1\3\32\uffff\1\4",
-            "\1\3\32\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\7\20\uffff\2\6",
-            "",
-            "\1\11\17\uffff\2\10",
-            "",
-            ""
-    };
-
-    static final short[] DFA9_eot = DFA.unpackEncodedString(DFA9_eotS);
-    static final short[] DFA9_eof = DFA.unpackEncodedString(DFA9_eofS);
-    static final char[] DFA9_min = DFA.unpackEncodedStringToUnsignedChars(DFA9_minS);
-    static final char[] DFA9_max = DFA.unpackEncodedStringToUnsignedChars(DFA9_maxS);
-    static final short[] DFA9_accept = DFA.unpackEncodedString(DFA9_acceptS);
-    static final short[] DFA9_special = DFA.unpackEncodedString(DFA9_specialS);
-    static final short[][] DFA9_transition;
-
-    static {
-        int numStates = DFA9_transitionS.length;
-        DFA9_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA9_transition[i] = DFA.unpackEncodedString(DFA9_transitionS[i]);
-        }
-    }
-
-    class DFA9 extends DFA {
-
-        public DFA9(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 9;
-            this.eot = DFA9_eot;
-            this.eof = DFA9_eof;
-            this.min = DFA9_min;
-            this.max = DFA9_max;
-            this.accept = DFA9_accept;
-            this.special = DFA9_special;
-            this.transition = DFA9_transition;
-        }
-        public String getDescription() {
-            return "974:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );";
-        }
-    }
  
 
     public static final BitSet FOLLOW_ruleAnnotation_in_entryRuleAnnotation61 = new BitSet(new long[]{0x0000000000000000L});
@@ -9067,241 +8471,217 @@
     public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger908 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInteger915 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rule__Integer__Alternatives_in_ruleInteger941 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger973 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger980 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger1010 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal1042 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal1049 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal1079 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal1105 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal1112 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal1138 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal1170 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal1177 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1207 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal1239 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal1246 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal1276 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot1308 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot1315 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot1345 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1377 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp1384 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1414 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN1441 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN1448 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN1474 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType1511 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1547 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1564 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_01596 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rule__SimpleAnnotationAttribute__Alternatives_01615 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_01649 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rule__EnumAnnotationAttribute__Alternatives_01668 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1704 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives1721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives1738 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__BooleanLiteral__Alternatives_11771 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_11790 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives1823 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives1840 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives1872 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives1889 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__SignedInteger__Alternatives_01922 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__SignedInteger__Alternatives_01942 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives1976 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives1993 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives2010 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives2027 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__Decimal__Alternatives_02060 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__Decimal__Alternatives_02080 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__DotDecimal__Alternatives_02115 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__DotDecimal__Alternatives_02135 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__DecimalDot__Alternatives_02170 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__DecimalDot__Alternatives_02190 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__DecimalExp__Alternatives_02225 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__DecimalExp__Alternatives_02245 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__LiteralType__Alternatives2280 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_rule__LiteralType__Alternatives2301 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__LiteralType__Alternatives2322 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__LiteralType__Alternatives2343 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group__0__Impl_in_rule__Annotation__Group__02376 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__Annotation__Group__1_in_rule__Annotation__Group__02379 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_21_in_rule__Annotation__Group__0__Impl2407 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group__1__Impl_in_rule__Annotation__Group__12438 = new BitSet(new long[]{0x0000000000400000L});
-    public static final BitSet FOLLOW_rule__Annotation__Group__2_in_rule__Annotation__Group__12441 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__TypeAssignment_1_in_rule__Annotation__Group__1__Impl2468 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group__2__Impl_in_rule__Annotation__Group__22498 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__0_in_rule__Annotation__Group__2__Impl2525 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__0__Impl_in_rule__Annotation__Group_2__02562 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__1_in_rule__Annotation__Group_2__02565 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_22_in_rule__Annotation__Group_2__0__Impl2593 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__1__Impl_in_rule__Annotation__Group_2__12624 = new BitSet(new long[]{0x0000000001800000L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__2_in_rule__Annotation__Group_2__12627 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__AttributesAssignment_2_1_in_rule__Annotation__Group_2__1__Impl2654 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__2__Impl_in_rule__Annotation__Group_2__22684 = new BitSet(new long[]{0x0000000001800000L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__3_in_rule__Annotation__Group_2__22687 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__0_in_rule__Annotation__Group_2__2__Impl2714 = new BitSet(new long[]{0x0000000001000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__3__Impl_in_rule__Annotation__Group_2__32745 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_rule__Annotation__Group_2__3__Impl2773 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__0__Impl_in_rule__Annotation__Group_2_2__02812 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__1_in_rule__Annotation__Group_2_2__02815 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__Annotation__Group_2_2__0__Impl2843 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__1__Impl_in_rule__Annotation__Group_2_2__12874 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__AttributesAssignment_2_2_1_in_rule__Annotation__Group_2_2__1__Impl2901 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__02935 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__02938 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl2965 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__12995 = new BitSet(new long[]{0x0000000A0001C160L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__12998 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_rule__KeyValue__Group__1__Impl3026 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__23057 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl3084 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__03123 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__03126 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl3153 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__13183 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__13186 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__SimpleAnnotationAttribute__Group__1__Impl3214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__23245 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__23248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl3275 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__33305 = new BitSet(new long[]{0x00000000001E0000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__33308 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__SimpleAnnotationAttribute__Group__3__Impl3336 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__43367 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl3394 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__03434 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__03437 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl3464 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__13494 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__13497 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__EnumAnnotationAttribute__Group__1__Impl3525 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__23556 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__23559 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl3586 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__33616 = new BitSet(new long[]{0x0000000010000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__33619 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__EnumAnnotationAttribute__Group__3__Impl3647 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__43678 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__43681 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__EnumAnnotationAttribute__Group__4__Impl3709 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__53740 = new BitSet(new long[]{0x0000000021000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__53743 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl3770 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__63800 = new BitSet(new long[]{0x0000000021000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__63803 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl3830 = new BitSet(new long[]{0x0000000001000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__73861 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__EnumAnnotationAttribute__Group__7__Impl3889 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__03936 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__03939 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__EnumAnnotationAttribute__Group_6__0__Impl3967 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__13998 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl4025 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__04061 = new BitSet(new long[]{0x0000000040000000L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__04064 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl4091 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__14120 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__ImportedFQN__Group__1__Impl4149 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__04186 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__04189 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__14247 = new BitSet(new long[]{0x0000000100000100L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__14250 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_rule__Documentation__Group__1__Impl4278 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__24309 = new BitSet(new long[]{0x0000000100000100L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__24312 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl4339 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__34370 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_rule__Documentation__Group__3__Impl4398 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__04443 = new BitSet(new long[]{0x0000000800004000L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__04446 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__14504 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl4531 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__04565 = new BitSet(new long[]{0x0000000200018060L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__04568 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__14626 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl4653 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__04687 = new BitSet(new long[]{0x0000000000018060L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__04690 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__14748 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl4775 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__04809 = new BitSet(new long[]{0x0000000A0001C160L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__04812 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__14870 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl4897 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__04931 = new BitSet(new long[]{0x0000000000018040L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__04934 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl4961 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__14992 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl5019 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__05052 = new BitSet(new long[]{0x0000000000018040L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__05055 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl5082 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__15113 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__15116 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl5143 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__25172 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__25175 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__Decimal__Group__2__Impl5203 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__35234 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl5261 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__05298 = new BitSet(new long[]{0x0000000200018000L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__05301 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl5328 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__15359 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__15362 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__DotDecimal__Group__1__Impl5390 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__25421 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl5448 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__05483 = new BitSet(new long[]{0x0000000000018040L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__05486 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl5513 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__15544 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__15547 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl5574 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__25603 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__DecimalDot__Group__2__Impl5631 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__05668 = new BitSet(new long[]{0x0000000200018060L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__05671 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl5698 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__15729 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__15732 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl5759 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__25788 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__25791 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__DecimalExp__Group__2__Impl5819 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__35850 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__35853 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl5880 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__45909 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl5936 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__05975 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__05978 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl6005 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__16034 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl6061 = new BitSet(new long[]{0x0000000200000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__06096 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__06099 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__FQN__Group_1__0__Impl6127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__16158 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl6185 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__Annotation__TypeAssignment_16227 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_16262 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_2_16293 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_06324 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_26355 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_06397 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_26436 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_46467 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_06503 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_26542 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_56573 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_16604 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_26637 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_rule__BooleanLiteral__IsTrueAssignment_1_16675 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_16714 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_16745 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_16776 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal968 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal975 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal1001 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal1033 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal1040 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1070 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1102 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp1109 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1139 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN1166 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN1173 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN1199 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType1236 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1272 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1289 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_01321 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_rule__SimpleAnnotationAttribute__Alternatives_01340 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_01374 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_rule__EnumAnnotationAttribute__Alternatives_01393 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1429 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives1446 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives1463 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_13_in_rule__BooleanLiteral__Alternatives_11496 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_11515 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives1548 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives1565 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives1597 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_rule__Integer__Alternatives1615 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__Integer__Alternatives_0_01648 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__Integer__Alternatives_0_01668 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives1702 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives1719 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__Decimal__Alternatives_01752 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__Decimal__Alternatives_01772 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__DecimalExp__Alternatives_01807 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__DecimalExp__Alternatives_01827 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__DecimalExp__Alternatives_41862 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_rule__DecimalExp__Alternatives_41882 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__DecimalExp__Alternatives_51917 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__DecimalExp__Alternatives_51937 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_18_in_rule__LiteralType__Alternatives1972 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_rule__LiteralType__Alternatives1993 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_20_in_rule__LiteralType__Alternatives2014 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_21_in_rule__LiteralType__Alternatives2035 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group__0__Impl_in_rule__Annotation__Group__02068 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__Annotation__Group__1_in_rule__Annotation__Group__02071 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_22_in_rule__Annotation__Group__0__Impl2099 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group__1__Impl_in_rule__Annotation__Group__12130 = new BitSet(new long[]{0x0000000000800000L});
+    public static final BitSet FOLLOW_rule__Annotation__Group__2_in_rule__Annotation__Group__12133 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__TypeAssignment_1_in_rule__Annotation__Group__1__Impl2160 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group__2__Impl_in_rule__Annotation__Group__22190 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__0_in_rule__Annotation__Group__2__Impl2217 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__0__Impl_in_rule__Annotation__Group_2__02254 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__1_in_rule__Annotation__Group_2__02257 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_23_in_rule__Annotation__Group_2__0__Impl2285 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__1__Impl_in_rule__Annotation__Group_2__12316 = new BitSet(new long[]{0x0000000003000000L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__2_in_rule__Annotation__Group_2__12319 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__AttributesAssignment_2_1_in_rule__Annotation__Group_2__1__Impl2346 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__2__Impl_in_rule__Annotation__Group_2__22376 = new BitSet(new long[]{0x0000000003000000L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__3_in_rule__Annotation__Group_2__22379 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__0_in_rule__Annotation__Group_2__2__Impl2406 = new BitSet(new long[]{0x0000000002000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__3__Impl_in_rule__Annotation__Group_2__32437 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_24_in_rule__Annotation__Group_2__3__Impl2465 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__0__Impl_in_rule__Annotation__Group_2_2__02504 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__1_in_rule__Annotation__Group_2_2__02507 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_25_in_rule__Annotation__Group_2_2__0__Impl2535 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__1__Impl_in_rule__Annotation__Group_2_2__12566 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__AttributesAssignment_2_2_1_in_rule__Annotation__Group_2_2__1__Impl2593 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__02627 = new BitSet(new long[]{0x0000000004000000L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__02630 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl2657 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__12687 = new BitSet(new long[]{0x000000100000E0E0L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__12690 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_26_in_rule__KeyValue__Group__1__Impl2718 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__22749 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl2776 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__02815 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__02818 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl2845 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__12875 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__12878 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__SimpleAnnotationAttribute__Group__1__Impl2906 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__22937 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__22940 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl2967 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__32997 = new BitSet(new long[]{0x00000000003C0000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__33000 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__SimpleAnnotationAttribute__Group__3__Impl3028 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__43059 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl3086 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__03126 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__03129 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl3156 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__13186 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__13189 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__EnumAnnotationAttribute__Group__1__Impl3217 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__23248 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__23251 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl3278 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__33308 = new BitSet(new long[]{0x0000000020000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__33311 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__EnumAnnotationAttribute__Group__3__Impl3339 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__43370 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__43373 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__EnumAnnotationAttribute__Group__4__Impl3401 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__53432 = new BitSet(new long[]{0x0000000042000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__53435 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl3462 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__63492 = new BitSet(new long[]{0x0000000042000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__63495 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl3522 = new BitSet(new long[]{0x0000000002000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__73553 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__EnumAnnotationAttribute__Group__7__Impl3581 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__03628 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__03631 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_25_in_rule__EnumAnnotationAttribute__Group_6__0__Impl3659 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__13690 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl3717 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__03753 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__03756 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl3783 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__13812 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__ImportedFQN__Group__1__Impl3841 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__03878 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__03881 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__13939 = new BitSet(new long[]{0x0000000200000080L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__13942 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_32_in_rule__Documentation__Group__1__Impl3970 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__24001 = new BitSet(new long[]{0x0000000200000080L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__24004 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl4031 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__34062 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_rule__Documentation__Group__3__Impl4090 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__04135 = new BitSet(new long[]{0x0000001000002000L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__04138 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__14196 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl4223 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__04257 = new BitSet(new long[]{0x000000000000C060L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__04260 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__14318 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl4345 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__04379 = new BitSet(new long[]{0x000000000000C060L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__04382 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__14440 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl4467 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__04501 = new BitSet(new long[]{0x000000100000E0E0L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__04504 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__14562 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl4589 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__04623 = new BitSet(new long[]{0x000000000000C040L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__04626 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl4653 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__14684 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl4711 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__04744 = new BitSet(new long[]{0x000000000000C040L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__04747 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl4774 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__14805 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__14808 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl4835 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__24864 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__24867 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__Decimal__Group__2__Impl4895 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__34926 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl4953 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__04990 = new BitSet(new long[]{0x000000000000C060L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__04993 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl5020 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__15051 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__15054 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl5081 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__25110 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__25113 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__DecimalExp__Group__2__Impl5141 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__35172 = new BitSet(new long[]{0x0000000000030000L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__35175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl5202 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__45231 = new BitSet(new long[]{0x000000000000C040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__45234 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl5261 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__55291 = new BitSet(new long[]{0x000000000000C040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__55294 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl5321 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__65352 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl5379 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__05422 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__05425 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl5452 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__15481 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl5508 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__05543 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__05546 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__FQN__Group_1__0__Impl5574 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__15605 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl5632 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__Annotation__TypeAssignment_15674 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_15709 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_2_15740 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_05771 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_25802 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_05844 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_25883 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_45914 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_05950 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_25989 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_56020 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_16051 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_26084 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_36_in_rule__BooleanLiteral__IsTrueAssignment_1_16122 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_16161 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_16192 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_16223 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file
diff --git "a/plugins/org.eclipse.etrice.core.common/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.common\051.launch" "b/plugins/org.eclipse.etrice.core.common/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.common\051.launch"
index 217d2f1..04c96ed 100644
--- "a/plugins/org.eclipse.etrice.core.common/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.common\051.launch"
+++ "b/plugins/org.eclipse.etrice.core.common/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.common\051.launch"
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.common&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.common.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.common.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.common.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;resources&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.common&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.common.generator&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.common.tests&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.common.ui&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;/resources&gt;}"/>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
 <listEntry value="/org.eclipse.etrice.core.common"/>
 </listAttribute>
@@ -11,6 +11,7 @@
 <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
 <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
 </listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/etrice/core/common/GenerateBase.mwe2"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.core.common"/>
diff --git a/plugins/org.eclipse.etrice.core.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.common/META-INF/MANIFEST.MF
index a426ca8..c5cdd14 100644
--- a/plugins/org.eclipse.etrice.core.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.common/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common eTrice Grammar Fragment and Utility Classes
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.common; singleton:=true
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.xtext;bundle-version="2.6.0";visibility:=reexport,
@@ -18,7 +18,8 @@
  org.eclipse.emf.common,
  org.antlr.runtime,
  org.eclipse.core.runtime,
- org.eclipse.core.resources
+ org.eclipse.core.resources,
+ org.eclipse.xtext.xbase.lib
 Import-Package: org.apache.log4j,
  org.eclipse.xtext.xbase.lib
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/org.eclipse.etrice.core.common/pom.xml b/plugins/org.eclipse.etrice.core.common/pom.xml
index 9299b7a..d7a931d 100644
--- a/plugins/org.eclipse.etrice.core.common/pom.xml
+++ b/plugins/org.eclipse.etrice.core.common/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/AbstractBaseRuntimeModule.java b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/AbstractBaseRuntimeModule.java
index 0691dbb..1162a04 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/AbstractBaseRuntimeModule.java
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/AbstractBaseRuntimeModule.java
@@ -140,8 +140,8 @@
 	}
 
 	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
 	}
 
 	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/AbstractBaseTestRuntimeModule.java b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/AbstractBaseTestRuntimeModule.java
index 14fb0b9..92a291f 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/AbstractBaseTestRuntimeModule.java
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/AbstractBaseTestRuntimeModule.java
@@ -100,8 +100,8 @@
 	}
 
 	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
-	public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
-		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
 	}
 
 	// contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.genmodel b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.genmodel
index 0deb51c..2e0a41a 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.genmodel
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.genmodel
@@ -4,7 +4,7 @@
     editorDirectory="/org.eclipse.etrice.core.common.editor/src" modelPluginID="org.eclipse.etrice.core.common"
     forceOverwrite="true" modelName="Base" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
     complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.etrice.core.common.edit"
-    editorPluginID="org.eclipse.etrice.core.common.editor" runtimeVersion="2.9">
+    editorPluginID="org.eclipse.etrice.core.common.editor" runtimeVersion="2.10">
   <genPackages prefix="Base" basePackage="org.eclipse.etrice.core.common" disposableProviderFactory="true"
       fileExtensions="__etbase" ecorePackage="Base.ecore#/">
     <genEnums typeSafeEnumCompatible="false" ecoreEnum="Base.ecore#//LiteralType">
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.xtextbin b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.xtextbin
index 324a2be..de9b489 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.xtextbin
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.xtextbin
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/BaseTest.genmodel b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/BaseTest.genmodel
index 527a785..55e2e6b 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/BaseTest.genmodel
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/BaseTest.genmodel
@@ -4,7 +4,7 @@
     editorDirectory="/org.eclipse.etrice.core.common.editor/src" modelPluginID="org.eclipse.etrice.core.common"
     forceOverwrite="true" modelName="BaseTest" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
     complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.etrice.core.common.edit"
-    editorPluginID="org.eclipse.etrice.core.common.editor" runtimeVersion="2.9">
+    editorPluginID="org.eclipse.etrice.core.common.editor" runtimeVersion="2.10">
   <genPackages prefix="Basetest" basePackage="org.eclipse.etrice.core.common" disposableProviderFactory="true"
       fileExtensions="__etbase" ecorePackage="BaseTest.ecore#/">
     <genClasses ecoreClass="BaseTest.ecore#//BaseModel">
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/BaseTest.xtextbin b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/BaseTest.xtextbin
index c77ef49..574f53a 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/BaseTest.xtextbin
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/BaseTest.xtextbin
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g
index 1064f34..b0d02fa 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g
@@ -866,120 +866,36 @@
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-    }
-    this_SignedInteger_0=ruleSignedInteger    {
-		$current.merge(this_SignedInteger_0);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-    }
-    this_Hexadecimal_1=ruleHexadecimal    {
-		$current.merge(this_Hexadecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getSignedIntegerRule()); } 
-	 iv_ruleSignedInteger=ruleSignedInteger 
-	 { $current=$iv_ruleSignedInteger.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
+(((
 	kw='+' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
     }
 
     |
 	kw='-' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
     }
 )?    this_INT_2=RULE_INT    {
 		$current.merge(this_INT_2);
     }
 
     { 
-    newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+    newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
     }
 )
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getHexadecimalRule()); } 
-	 iv_ruleHexadecimal=ruleHexadecimal 
-	 { $current=$iv_ruleHexadecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-    this_HEX_0=RULE_HEX    {
-		$current.merge(this_HEX_0);
+    |    this_HEX_3=RULE_HEX    {
+		$current.merge(this_HEX_3);
     }
 
     { 
-    newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
+    newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
     }
-
+)
     ;
-finally {
-	myHiddenTokenState.restore();
-}
 
 
 
@@ -1013,34 +929,10 @@
 
     |
     { 
-        newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
     }
-    this_DotDecimal_1=ruleDotDecimal    {
-		$current.merge(this_DotDecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-    }
-    this_DecimalDot_2=ruleDecimalDot    {
-		$current.merge(this_DecimalDot_2);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-    }
-    this_DecimalExp_3=ruleDecimalExp    {
-		$current.merge(this_DecimalExp_3);
+    this_DecimalExp_1=ruleDecimalExp    {
+		$current.merge(this_DecimalExp_1);
     }
 
     { 
@@ -1117,120 +1009,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDotDecimalRule()); } 
-	 iv_ruleDotDecimal=ruleDotDecimal 
-	 { $current=$iv_ruleDotDecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-    }
-    this_INT_3=RULE_INT    {
-		$current.merge(this_INT_3);
-    }
-
-    { 
-    newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDecimalDotRule()); } 
-	 iv_ruleDecimalDot=ruleDecimalDot 
-	 { $current=$iv_ruleDecimalDot.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?    this_INT_2=RULE_INT    {
-		$current.merge(this_INT_2);
-    }
-
-    { 
-    newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-    }
-
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp returns [String current=null] 
 	@init { 
@@ -1285,12 +1063,38 @@
     { 
     newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
     }
-    this_EXP_5=RULE_EXP    {
-		$current.merge(this_EXP_5);
+(
+	kw='e' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+    }
+
+    |
+	kw='E' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+    }
+)(
+	kw='+' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+    }
+
+    |
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+    }
+)?    this_INT_9=RULE_INT    {
+		$current.merge(this_INT_9);
     }
 
     { 
-    newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+    newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
     }
 )
     ;
@@ -1374,15 +1178,13 @@
 
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
 
 RULE_INT : ('0'..'9')+;
 
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
 
 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
 
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.tokens b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.tokens
index 219796a..d54f31b 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.tokens
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.tokens
@@ -1,55 +1,58 @@
-RULE_EXP=8
-RULE_ID=4
-T__29=29
-T__28=28
-T__27=27
-T__26=26
-T__25=25
-T__24=24
-T__23=23
-T__22=22
-RULE_ANY_OTHER=12
-T__21=21
-T__20=20
-RULE_SL_COMMENT=10
-RULE_ML_COMMENT=9
-T__30=30
-T__19=19
-T__31=31
+'('=13
+')'=15
+'+'=28
+','=14
+'-'=29
+'.'=30
+'.*'=23
+':'=20
+'='=16
+'@'=12
+'E'=32
+'['=24
+']'=25
+'attribute'=19
+'e'=31
+'false'=26
+'mandatory'=18
+'optional'=17
+'ptBoolean'=33
+'ptCharacter'=36
+'ptInteger'=34
+'ptReal'=35
+'true'=27
+'{'=21
+'}'=22
+RULE_ANY_OTHER=11
 RULE_HEX=7
+RULE_ID=4
+RULE_INT=6
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
 RULE_STRING=5
+RULE_WS=10
+T__12=12
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
+T__25=25
+T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
 T__32=32
 T__33=33
-T__16=16
 T__34=34
-T__15=15
 T__35=35
-T__18=18
-T__17=17
-T__14=14
-T__13=13
-RULE_INT=6
-RULE_WS=11
-'true'=28
-'}'=23
-'{'=22
-'optional'=18
-'.*'=24
-'ptCharacter'=35
-'false'=27
-'='=17
-'@'=13
-'('=14
-':'=21
-'-'=30
-'['=25
-'attribute'=20
-'+'=29
-'ptReal'=34
-','=15
-'.'=31
-')'=16
-'ptBoolean'=32
-'ptInteger'=33
-']'=26
-'mandatory'=19
+T__36=36
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseLexer.java b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseLexer.java
index a56d87d..923b7e4 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseLexer.java
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseLexer.java
@@ -12,39 +12,40 @@
 
 @SuppressWarnings("all")
 public class InternalBaseLexer extends Lexer {
-    public static final int RULE_ID=4;
-    public static final int RULE_EXP=8;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int EOF=-1;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
+    public static final int RULE_HEX=7;
+    public static final int RULE_STRING=5;
+    public static final int RULE_SL_COMMENT=9;
     public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__33=33;
+    public static final int T__12=12;
+    public static final int T__34=34;
+    public static final int T__13=13;
+    public static final int T__35=35;
+    public static final int T__14=14;
+    public static final int T__36=36;
+    public static final int EOF=-1;
     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=5;
-    public static final int RULE_HEX=7;
-    public static final int T__16=16;
-    public static final int T__33=33;
-    public static final int T__15=15;
-    public static final int T__34=34;
-    public static final int T__18=18;
-    public static final int T__35=35;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
+    public static final int RULE_ID=4;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int RULE_WS=11;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
 
     // delegates
     // delegators
@@ -59,10 +60,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:11:7: ( '@' )
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:11:9: '@'
@@ -77,6 +78,26 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:12:7: ( '(' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:12:9: '('
+            {
+            match('('); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -84,10 +105,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:12:7: ( '(' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:12:9: '('
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:13:7: ( ',' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:13:9: ','
             {
-            match('('); 
+            match(','); 
 
             }
 
@@ -104,10 +125,10 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:13:7: ( ',' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:13:9: ','
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:14:7: ( ')' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:14:9: ')'
             {
-            match(','); 
+            match(')'); 
 
             }
 
@@ -124,10 +145,10 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:14:7: ( ')' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:14:9: ')'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:15:7: ( '=' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:15:9: '='
             {
-            match(')'); 
+            match('='); 
 
             }
 
@@ -144,10 +165,11 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:15:7: ( '=' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:15:9: '='
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:16:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:16:9: 'optional'
             {
-            match('='); 
+            match("optional"); 
+
 
             }
 
@@ -164,10 +186,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:16:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:16:9: 'optional'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:17:7: ( 'mandatory' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:17:9: 'mandatory'
             {
-            match("optional"); 
+            match("mandatory"); 
 
 
             }
@@ -185,10 +207,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:17:7: ( 'mandatory' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:17:9: 'mandatory'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:18:7: ( 'attribute' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:18:9: 'attribute'
             {
-            match("mandatory"); 
+            match("attribute"); 
 
 
             }
@@ -206,11 +228,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:18:7: ( 'attribute' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:18:9: 'attribute'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:19:7: ( ':' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:19:9: ':'
             {
-            match("attribute"); 
-
+            match(':'); 
 
             }
 
@@ -227,10 +248,10 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:19:7: ( ':' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:19:9: ':'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:20:7: ( '{' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:20:9: '{'
             {
-            match(':'); 
+            match('{'); 
 
             }
 
@@ -247,10 +268,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:20:7: ( '{' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:20:9: '{'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:21:7: ( '}' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:21:9: '}'
             {
-            match('{'); 
+            match('}'); 
 
             }
 
@@ -267,10 +288,11 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:21:7: ( '}' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:21:9: '}'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:22:7: ( '.*' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:22:9: '.*'
             {
-            match('}'); 
+            match(".*"); 
+
 
             }
 
@@ -287,11 +309,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:22:7: ( '.*' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:22:9: '.*'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:23:7: ( '[' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:23:9: '['
             {
-            match(".*"); 
-
+            match('['); 
 
             }
 
@@ -308,10 +329,10 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:23:7: ( '[' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:23:9: '['
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:24:7: ( ']' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:24:9: ']'
             {
-            match('['); 
+            match(']'); 
 
             }
 
@@ -328,10 +349,11 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:24:7: ( ']' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:24:9: ']'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:25:7: ( 'false' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:25:9: 'false'
             {
-            match(']'); 
+            match("false"); 
+
 
             }
 
@@ -348,10 +370,10 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:25:7: ( 'false' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:25:9: 'false'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:26:7: ( 'true' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:26:9: 'true'
             {
-            match("false"); 
+            match("true"); 
 
 
             }
@@ -369,11 +391,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:26:7: ( 'true' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:26:9: 'true'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:27:7: ( '+' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:27:9: '+'
             {
-            match("true"); 
-
+            match('+'); 
 
             }
 
@@ -390,10 +411,10 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:27:7: ( '+' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:27:9: '+'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:28:7: ( '-' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:28:9: '-'
             {
-            match('+'); 
+            match('-'); 
 
             }
 
@@ -410,10 +431,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:28:7: ( '-' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:28:9: '-'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:29:7: ( '.' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:29:9: '.'
             {
-            match('-'); 
+            match('.'); 
 
             }
 
@@ -430,10 +451,10 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:29:7: ( '.' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:29:9: '.'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:30:7: ( 'e' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:30:9: 'e'
             {
-            match('.'); 
+            match('e'); 
 
             }
 
@@ -450,11 +471,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:30:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:30:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:31:7: ( 'E' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:31:9: 'E'
             {
-            match("ptBoolean"); 
-
+            match('E'); 
 
             }
 
@@ -471,10 +491,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:31:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:31:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:32:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:32:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -492,10 +512,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:32:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:32:9: 'ptReal'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:33:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:33:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -513,10 +533,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:33:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:33:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:34:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:34:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -529,42 +549,74 @@
     }
     // $ANTLR end "T__35"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__36"
+    public final void mT__36() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1377:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1377:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:35:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:35:9: 'ptCharacter'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("ptCharacter"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1377:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__36"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1181:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1181:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1181:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1181:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1181:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -572,23 +624,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1377:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1181:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1377:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -611,109 +671,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1379:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1379:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1379:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1379:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1379:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1379:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -721,19 +678,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1381:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1381:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1183:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1183:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1381:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1183:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1381:11: '^'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1183:11: '^'
                     {
                     match('^'); 
 
@@ -751,18 +708,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1381:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1183:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:
             	    {
@@ -780,7 +737,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -800,24 +757,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1383:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1383:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1185:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1185:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1383:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1185:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1383:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1185:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -825,12 +782,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -849,63 +806,55 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1385:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1385:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1187:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1187:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1385:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1187:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1385:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1187:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1385:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1187:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1385:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1187:21: '\\\\' .
                     	    {
                     	    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;}
-
+                    	    matchAny(); 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1385:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1187:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -921,7 +870,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -930,42 +879,34 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1385:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1187:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1385:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1187:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1385:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1187:54: '\\\\' .
                     	    {
                     	    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;}
-
+                    	    matchAny(); 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1385:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1187:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -981,7 +922,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -1008,37 +949,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1387:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1387:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1189:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1189:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1387:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1189:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1387:52: .
+            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1189:52: .
             	    {
             	    matchAny(); 
 
@@ -1046,7 +987,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -1068,25 +1009,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1389:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1389:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1191:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1191:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1389:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1191:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1389:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1191: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();
@@ -1102,31 +1043,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1389:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1191:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1389:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1191:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1389:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1191:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1389:41: '\\r'
+                            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1191:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1158,22 +1099,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1391:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1391:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1193:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1193:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1391:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1193:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:
             	    {
@@ -1191,12 +1132,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -1215,8 +1156,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1393:16: ( . )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1393:18: .
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1195:16: ( . )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1195:18: .
             {
             matchAny(); 
 
@@ -1231,229 +1172,236 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:8: ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=32;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:8: ( 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 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=33;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:10: T__13
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:148: RULE_EXP
+            case 25 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:154: T__36
                 {
-                mRULE_EXP(); 
+                mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:157: RULE_HEX
+            case 26 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:160: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:166: RULE_ID
+            case 27 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:169: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:174: RULE_INT
+            case 28 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:177: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:183: RULE_STRING
+            case 29 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:186: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:195: RULE_ML_COMMENT
+            case 30 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:198: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:211: RULE_SL_COMMENT
+            case 31 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:214: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:227: RULE_WS
+            case 32 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:230: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:235: RULE_ANY_OTHER
+            case 33 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1:238: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -1465,77 +1413,77 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\6\uffff\3\44\3\uffff\1\53\2\uffff\2\44\2\uffff\2\44\1\66\1\35"+
-        "\2\uffff\3\35\7\uffff\1\44\1\uffff\2\44\7\uffff\2\44\2\uffff\1\44"+
-        "\1\uffff\1\63\6\uffff\15\44\1\121\7\44\1\131\1\uffff\7\44\1\uffff"+
-        "\2\44\1\143\6\44\1\uffff\1\44\1\153\5\44\1\uffff\1\161\1\162\1\163"+
-        "\1\164\1\44\4\uffff\1\44\1\167\1\uffff";
-    static final String DFA16_eofS =
-        "\170\uffff";
-    static final String DFA16_minS =
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\6\uffff\3\45\3\uffff\1\54\2\uffff\2\45\2\uffff\1\63\1\64\1\45"+
+        "\1\67\1\36\2\uffff\3\36\7\uffff\1\45\1\uffff\2\45\7\uffff\2\45\4"+
+        "\uffff\1\45\6\uffff\15\45\1\122\7\45\1\132\1\uffff\7\45\1\uffff"+
+        "\2\45\1\144\6\45\1\uffff\1\45\1\154\5\45\1\uffff\1\162\1\163\1\164"+
+        "\1\165\1\45\4\uffff\1\45\1\170\1\uffff";
+    static final String DFA14_eofS =
+        "\171\uffff";
+    static final String DFA14_minS =
         "\1\0\5\uffff\1\160\1\141\1\164\3\uffff\1\52\2\uffff\1\141\1\162"+
-        "\2\uffff\1\164\1\53\1\130\1\101\2\uffff\2\0\1\52\7\uffff\1\164\1"+
-        "\uffff\1\156\1\164\7\uffff\1\154\1\165\2\uffff\1\102\1\uffff\1\60"+
-        "\6\uffff\1\151\1\144\1\162\1\163\1\145\1\157\1\156\1\145\1\150\1"+
-        "\157\1\141\1\151\1\145\1\60\1\157\1\164\2\141\1\156\1\164\1\142"+
-        "\1\60\1\uffff\1\154\1\145\1\154\1\162\1\141\1\157\1\165\1\uffff"+
-        "\1\145\1\147\1\60\1\141\1\154\1\162\1\164\1\141\1\145\1\uffff\1"+
-        "\143\1\60\1\171\1\145\1\156\1\162\1\164\1\uffff\4\60\1\145\4\uffff"+
-        "\1\162\1\60\1\uffff";
-    static final String DFA16_maxS =
+        "\2\uffff\2\60\1\164\1\130\1\101\2\uffff\2\0\1\52\7\uffff\1\164\1"+
+        "\uffff\1\156\1\164\7\uffff\1\154\1\165\4\uffff\1\102\6\uffff\1\151"+
+        "\1\144\1\162\1\163\1\145\1\157\1\156\1\145\1\150\1\157\1\141\1\151"+
+        "\1\145\1\60\1\157\1\164\2\141\1\156\1\164\1\142\1\60\1\uffff\1\154"+
+        "\1\145\1\154\1\162\1\141\1\157\1\165\1\uffff\1\145\1\147\1\60\1"+
+        "\141\1\154\1\162\1\164\1\141\1\145\1\uffff\1\143\1\60\1\171\1\145"+
+        "\1\156\1\162\1\164\1\uffff\4\60\1\145\4\uffff\1\162\1\60\1\uffff";
+    static final String DFA14_maxS =
         "\1\uffff\5\uffff\1\160\1\141\1\164\3\uffff\1\52\2\uffff\1\141\1"+
-        "\162\2\uffff\1\164\1\71\1\170\1\172\2\uffff\2\uffff\1\57\7\uffff"+
-        "\1\164\1\uffff\1\156\1\164\7\uffff\1\154\1\165\2\uffff\1\122\1\uffff"+
-        "\1\172\6\uffff\1\151\1\144\1\162\1\163\1\145\1\157\1\156\1\145\1"+
-        "\150\1\157\1\141\1\151\1\145\1\172\1\157\1\164\2\141\1\156\1\164"+
-        "\1\142\1\172\1\uffff\1\154\1\145\1\154\1\162\1\141\1\157\1\165\1"+
-        "\uffff\1\145\1\147\1\172\1\141\1\154\1\162\1\164\1\141\1\145\1\uffff"+
-        "\1\143\1\172\1\171\1\145\1\156\1\162\1\164\1\uffff\4\172\1\145\4"+
-        "\uffff\1\162\1\172\1\uffff";
-    static final String DFA16_acceptS =
+        "\162\2\uffff\2\172\1\164\1\170\1\172\2\uffff\2\uffff\1\57\7\uffff"+
+        "\1\164\1\uffff\1\156\1\164\7\uffff\1\154\1\165\4\uffff\1\122\6\uffff"+
+        "\1\151\1\144\1\162\1\163\1\145\1\157\1\156\1\145\1\150\1\157\1\141"+
+        "\1\151\1\145\1\172\1\157\1\164\2\141\1\156\1\164\1\142\1\172\1\uffff"+
+        "\1\154\1\145\1\154\1\162\1\141\1\157\1\165\1\uffff\1\145\1\147\1"+
+        "\172\1\141\1\154\1\162\1\164\1\141\1\145\1\uffff\1\143\1\172\1\171"+
+        "\1\145\1\156\1\162\1\164\1\uffff\4\172\1\145\4\uffff\1\162\1\172"+
+        "\1\uffff";
+    static final String DFA14_acceptS =
         "\1\uffff\1\1\1\2\1\3\1\4\1\5\3\uffff\1\11\1\12\1\13\1\uffff\1\15"+
-        "\1\16\2\uffff\1\21\1\22\4\uffff\1\32\1\33\3\uffff\1\37\1\40\1\1"+
-        "\1\2\1\3\1\4\1\5\1\uffff\1\32\2\uffff\1\11\1\12\1\13\1\14\1\23\1"+
-        "\15\1\16\2\uffff\1\21\1\22\1\uffff\1\30\1\uffff\1\31\1\33\1\34\1"+
-        "\35\1\36\1\37\26\uffff\1\20\7\uffff\1\17\11\uffff\1\26\7\uffff\1"+
-        "\6\5\uffff\1\7\1\10\1\24\1\25\2\uffff\1\27";
-    static final String DFA16_specialS =
-        "\1\2\30\uffff\1\0\1\1\135\uffff}>";
-    static final String[] DFA16_transitionS = {
-            "\11\35\2\34\2\35\1\34\22\35\1\34\1\35\1\31\4\35\1\32\1\2\1"+
-            "\4\1\35\1\21\1\3\1\22\1\14\1\33\1\25\11\30\1\11\2\35\1\5\2\35"+
-            "\1\1\4\27\1\24\25\27\1\15\1\35\1\16\1\26\1\27\1\35\1\10\3\27"+
-            "\1\24\1\17\6\27\1\7\1\27\1\6\1\23\3\27\1\20\6\27\1\12\1\35\1"+
-            "\13\uff82\35",
+        "\1\16\2\uffff\1\21\1\22\5\uffff\1\33\1\34\3\uffff\1\40\1\41\1\1"+
+        "\1\2\1\3\1\4\1\5\1\uffff\1\33\2\uffff\1\11\1\12\1\13\1\14\1\23\1"+
+        "\15\1\16\2\uffff\1\21\1\22\1\24\1\25\1\uffff\1\32\1\34\1\35\1\36"+
+        "\1\37\1\40\26\uffff\1\20\7\uffff\1\17\11\uffff\1\30\7\uffff\1\6"+
+        "\5\uffff\1\7\1\10\1\26\1\27\2\uffff\1\31";
+    static final String DFA14_specialS =
+        "\1\1\31\uffff\1\0\1\2\135\uffff}>";
+    static final String[] DFA14_transitionS = {
+            "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\32\4\36\1\33\1\2\1"+
+            "\4\1\36\1\21\1\3\1\22\1\14\1\34\1\26\11\31\1\11\2\36\1\5\2\36"+
+            "\1\1\4\30\1\24\25\30\1\15\1\36\1\16\1\27\1\30\1\36\1\10\3\30"+
+            "\1\23\1\17\6\30\1\7\1\30\1\6\1\25\3\30\1\20\6\30\1\12\1\36\1"+
+            "\13\uff82\36",
             "",
             "",
             "",
             "",
             "",
-            "\1\43",
-            "\1\45",
+            "\1\44",
             "\1\46",
+            "\1\47",
             "",
             "",
             "",
-            "\1\52",
+            "\1\53",
             "",
             "",
-            "\1\56",
             "\1\57",
+            "\1\60",
             "",
             "",
-            "\1\62",
-            "\1\63\1\uffff\1\63\2\uffff\12\64",
-            "\1\65\37\uffff\1\65",
-            "\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\1\65",
+            "\1\66\37\uffff\1\66",
+            "\32\45\4\uffff\1\45\1\uffff\32\45",
             "",
             "",
-            "\0\67",
-            "\0\67",
-            "\1\70\4\uffff\1\71",
+            "\0\70",
+            "\0\70",
+            "\1\71\4\uffff\1\72",
             "",
             "",
             "",
@@ -1543,31 +1491,30 @@
             "",
             "",
             "",
-            "\1\73",
-            "",
             "\1\74",
+            "",
             "\1\75",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
             "\1\76",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\77",
+            "\1\100",
             "",
             "",
-            "\1\100\1\103\5\uffff\1\101\10\uffff\1\102",
             "",
-            "\12\64\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "\1\101\1\104\5\uffff\1\102\10\uffff\1\103",
             "",
             "",
             "",
             "",
             "",
             "",
-            "\1\104",
             "\1\105",
             "\1\106",
             "\1\107",
@@ -1580,179 +1527,182 @@
             "\1\116",
             "\1\117",
             "\1\120",
-            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\122",
+            "\1\121",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\123",
             "\1\124",
             "\1\125",
             "\1\126",
             "\1\127",
             "\1\130",
-            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "\1\131",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "",
-            "\1\132",
             "\1\133",
             "\1\134",
             "\1\135",
             "\1\136",
             "\1\137",
             "\1\140",
-            "",
             "\1\141",
+            "",
             "\1\142",
-            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\144",
+            "\1\143",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\145",
             "\1\146",
             "\1\147",
             "\1\150",
             "\1\151",
-            "",
             "\1\152",
-            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\154",
+            "",
+            "\1\153",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\155",
             "\1\156",
             "\1\157",
             "\1\160",
+            "\1\161",
             "",
-            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
-            "\1\165",
-            "",
-            "",
-            "",
-            "",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             "\1\166",
-            "\12\44\7\uffff\32\44\4\uffff\1\44\1\uffff\32\44",
+            "",
+            "",
+            "",
+            "",
+            "\1\167",
+            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( 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 | RULE_HEX | 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 LA16_25 = input.LA(1);
+                        int LA14_26 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_25>='\u0000' && LA16_25<='\uFFFF')) ) {s = 55;}
+                        if ( ((LA14_26>='\u0000' && LA14_26<='\uFFFF')) ) {s = 56;}
 
-                        else s = 29;
+                        else s = 30;
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_26 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_26>='\u0000' && LA16_26<='\uFFFF')) ) {s = 55;}
+                        if ( (LA14_0=='@') ) {s = 1;}
 
-                        else s = 29;
+                        else if ( (LA14_0=='(') ) {s = 2;}
+
+                        else if ( (LA14_0==',') ) {s = 3;}
+
+                        else if ( (LA14_0==')') ) {s = 4;}
+
+                        else if ( (LA14_0=='=') ) {s = 5;}
+
+                        else if ( (LA14_0=='o') ) {s = 6;}
+
+                        else if ( (LA14_0=='m') ) {s = 7;}
+
+                        else if ( (LA14_0=='a') ) {s = 8;}
+
+                        else if ( (LA14_0==':') ) {s = 9;}
+
+                        else if ( (LA14_0=='{') ) {s = 10;}
+
+                        else if ( (LA14_0=='}') ) {s = 11;}
+
+                        else if ( (LA14_0=='.') ) {s = 12;}
+
+                        else if ( (LA14_0=='[') ) {s = 13;}
+
+                        else if ( (LA14_0==']') ) {s = 14;}
+
+                        else if ( (LA14_0=='f') ) {s = 15;}
+
+                        else if ( (LA14_0=='t') ) {s = 16;}
+
+                        else if ( (LA14_0=='+') ) {s = 17;}
+
+                        else if ( (LA14_0=='-') ) {s = 18;}
+
+                        else if ( (LA14_0=='e') ) {s = 19;}
+
+                        else if ( (LA14_0=='E') ) {s = 20;}
+
+                        else if ( (LA14_0=='p') ) {s = 21;}
+
+                        else if ( (LA14_0=='0') ) {s = 22;}
+
+                        else if ( (LA14_0=='^') ) {s = 23;}
+
+                        else if ( ((LA14_0>='A' && LA14_0<='D')||(LA14_0>='F' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='b' && LA14_0<='d')||(LA14_0>='g' && LA14_0<='l')||LA14_0=='n'||(LA14_0>='q' && LA14_0<='s')||(LA14_0>='u' && LA14_0<='z')) ) {s = 24;}
+
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 25;}
+
+                        else if ( (LA14_0=='\"') ) {s = 26;}
+
+                        else if ( (LA14_0=='\'') ) {s = 27;}
+
+                        else if ( (LA14_0=='/') ) {s = 28;}
+
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 29;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||LA14_0=='*'||(LA14_0>=';' && LA14_0<='<')||(LA14_0>='>' && LA14_0<='?')||LA14_0=='\\'||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 30;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA16_0 = input.LA(1);
+                        int LA14_27 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='@') ) {s = 1;}
+                        if ( ((LA14_27>='\u0000' && LA14_27<='\uFFFF')) ) {s = 56;}
 
-                        else if ( (LA16_0=='(') ) {s = 2;}
-
-                        else if ( (LA16_0==',') ) {s = 3;}
-
-                        else if ( (LA16_0==')') ) {s = 4;}
-
-                        else if ( (LA16_0=='=') ) {s = 5;}
-
-                        else if ( (LA16_0=='o') ) {s = 6;}
-
-                        else if ( (LA16_0=='m') ) {s = 7;}
-
-                        else if ( (LA16_0=='a') ) {s = 8;}
-
-                        else if ( (LA16_0==':') ) {s = 9;}
-
-                        else if ( (LA16_0=='{') ) {s = 10;}
-
-                        else if ( (LA16_0=='}') ) {s = 11;}
-
-                        else if ( (LA16_0=='.') ) {s = 12;}
-
-                        else if ( (LA16_0=='[') ) {s = 13;}
-
-                        else if ( (LA16_0==']') ) {s = 14;}
-
-                        else if ( (LA16_0=='f') ) {s = 15;}
-
-                        else if ( (LA16_0=='t') ) {s = 16;}
-
-                        else if ( (LA16_0=='+') ) {s = 17;}
-
-                        else if ( (LA16_0=='-') ) {s = 18;}
-
-                        else if ( (LA16_0=='p') ) {s = 19;}
-
-                        else if ( (LA16_0=='E'||LA16_0=='e') ) {s = 20;}
-
-                        else if ( (LA16_0=='0') ) {s = 21;}
-
-                        else if ( (LA16_0=='^') ) {s = 22;}
-
-                        else if ( ((LA16_0>='A' && LA16_0<='D')||(LA16_0>='F' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='b' && LA16_0<='d')||(LA16_0>='g' && LA16_0<='l')||LA16_0=='n'||(LA16_0>='q' && LA16_0<='s')||(LA16_0>='u' && LA16_0<='z')) ) {s = 23;}
-
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 24;}
-
-                        else if ( (LA16_0=='\"') ) {s = 25;}
-
-                        else if ( (LA16_0=='\'') ) {s = 26;}
-
-                        else if ( (LA16_0=='/') ) {s = 27;}
-
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 28;}
-
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||LA16_0=='*'||(LA16_0>=';' && LA16_0<='<')||(LA16_0>='>' && LA16_0<='?')||LA16_0=='\\'||LA16_0=='`'||LA16_0=='|'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 29;}
+                        else s = 30;
 
                         if ( s>=0 ) return s;
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseParser.java b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseParser.java
index 5ecbeb6..fc85969 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseParser.java
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseParser.java
@@ -22,41 +22,42 @@
 @SuppressWarnings("all")
 public class InternalBaseParser extends AbstractInternalAntlrParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_EXP", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'@'", "'('", "','", "')'", "'='", "'optional'", "'mandatory'", "'attribute'", "':'", "'{'", "'}'", "'.*'", "'['", "']'", "'false'", "'true'", "'+'", "'-'", "'.'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'@'", "'('", "','", "')'", "'='", "'optional'", "'mandatory'", "'attribute'", "':'", "'{'", "'}'", "'.*'", "'['", "']'", "'false'", "'true'", "'+'", "'-'", "'.'", "'e'", "'E'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
     };
-    public static final int RULE_EXP=8;
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int EOF=-1;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__19=19;
-    public static final int T__31=31;
     public static final int RULE_HEX=7;
     public static final int RULE_STRING=5;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__16=16;
-    public static final int T__34=34;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__19=19;
     public static final int T__15=15;
-    public static final int T__35=35;
-    public static final int T__18=18;
+    public static final int T__16=16;
     public static final int T__17=17;
-    public static final int T__14=14;
+    public static final int T__18=18;
+    public static final int T__33=33;
+    public static final int T__12=12;
+    public static final int T__34=34;
     public static final int T__13=13;
+    public static final int T__35=35;
+    public static final int T__14=14;
+    public static final int T__36=36;
+    public static final int EOF=-1;
+    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_ID=4;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int RULE_WS=11;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
 
     // delegates
     // delegators
@@ -155,7 +156,7 @@
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:81:1: (otherlv_0= '@' ( ( ruleFQN ) ) (otherlv_2= '(' ( (lv_attributes_3_0= ruleKeyValue ) ) (otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) ) )* otherlv_6= ')' )? )
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:81:3: otherlv_0= '@' ( ( ruleFQN ) ) (otherlv_2= '(' ( (lv_attributes_3_0= ruleKeyValue ) ) (otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) ) )* otherlv_6= ')' )?
             {
-            otherlv_0=(Token)match(input,13,FOLLOW_13_in_ruleAnnotation122); 
+            otherlv_0=(Token)match(input,12,FOLLOW_12_in_ruleAnnotation122); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getAnnotationAccess().getCommercialAtKeyword_0());
                 
@@ -191,14 +192,14 @@
             int alt2=2;
             int LA2_0 = input.LA(1);
 
-            if ( (LA2_0==14) ) {
+            if ( (LA2_0==13) ) {
                 alt2=1;
             }
             switch (alt2) {
                 case 1 :
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:100:4: otherlv_2= '(' ( (lv_attributes_3_0= ruleKeyValue ) ) (otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) ) )* otherlv_6= ')'
                     {
-                    otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleAnnotation158); 
+                    otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleAnnotation158); 
 
                         	newLeafNode(otherlv_2, grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_2_0());
                         
@@ -239,7 +240,7 @@
                         int alt1=2;
                         int LA1_0 = input.LA(1);
 
-                        if ( (LA1_0==15) ) {
+                        if ( (LA1_0==14) ) {
                             alt1=1;
                         }
 
@@ -248,7 +249,7 @@
                     	case 1 :
                     	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:122:4: otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) )
                     	    {
-                    	    otherlv_4=(Token)match(input,15,FOLLOW_15_in_ruleAnnotation192); 
+                    	    otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleAnnotation192); 
 
                     	        	newLeafNode(otherlv_4, grammarAccess.getAnnotationAccess().getCommaKeyword_2_2_0());
                     	        
@@ -292,7 +293,7 @@
                         }
                     } while (true);
 
-                    otherlv_6=(Token)match(input,16,FOLLOW_16_in_ruleAnnotation227); 
+                    otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleAnnotation227); 
 
                         	newLeafNode(otherlv_6, grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_2_3());
                         
@@ -403,7 +404,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,17,FOLLOW_17_in_ruleKeyValue334); 
+            otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleKeyValue334); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1());
                 
@@ -587,22 +588,22 @@
             int alt3=2;
             int LA3_0 = input.LA(1);
 
-            if ( (LA3_0==18) ) {
+            if ( (LA3_0==17) ) {
                 int LA3_1 = input.LA(2);
 
-                if ( (LA3_1==20) ) {
+                if ( (LA3_1==19) ) {
                     int LA3_3 = input.LA(3);
 
                     if ( (LA3_3==RULE_ID) ) {
                         int LA3_4 = input.LA(4);
 
-                        if ( (LA3_4==21) ) {
+                        if ( (LA3_4==20) ) {
                             int LA3_5 = input.LA(5);
 
-                            if ( ((LA3_5>=32 && LA3_5<=35)) ) {
+                            if ( ((LA3_5>=33 && LA3_5<=36)) ) {
                                 alt3=1;
                             }
-                            else if ( (LA3_5==22) ) {
+                            else if ( (LA3_5==21) ) {
                                 alt3=2;
                             }
                             else {
@@ -633,22 +634,22 @@
                     throw nvae;
                 }
             }
-            else if ( (LA3_0==19) ) {
+            else if ( (LA3_0==18) ) {
                 int LA3_2 = input.LA(2);
 
-                if ( (LA3_2==20) ) {
+                if ( (LA3_2==19) ) {
                     int LA3_3 = input.LA(3);
 
                     if ( (LA3_3==RULE_ID) ) {
                         int LA3_4 = input.LA(4);
 
-                        if ( (LA3_4==21) ) {
+                        if ( (LA3_4==20) ) {
                             int LA3_5 = input.LA(5);
 
-                            if ( ((LA3_5>=32 && LA3_5<=35)) ) {
+                            if ( ((LA3_5>=33 && LA3_5<=36)) ) {
                                 alt3=1;
                             }
-                            else if ( (LA3_5==22) ) {
+                            else if ( (LA3_5==21) ) {
                                 alt3=2;
                             }
                             else {
@@ -804,10 +805,10 @@
             int alt4=2;
             int LA4_0 = input.LA(1);
 
-            if ( (LA4_0==18) ) {
+            if ( (LA4_0==17) ) {
                 alt4=1;
             }
-            else if ( (LA4_0==19) ) {
+            else if ( (LA4_0==18) ) {
                 alt4=2;
             }
             else {
@@ -826,7 +827,7 @@
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:301:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:302:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,18,FOLLOW_18_in_ruleSimpleAnnotationAttribute661); 
+                    lv_optional_0_0=(Token)match(input,17,FOLLOW_17_in_ruleSimpleAnnotationAttribute661); 
 
                             newLeafNode(lv_optional_0_0, grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
                         
@@ -848,7 +849,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:316:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,19,FOLLOW_19_in_ruleSimpleAnnotationAttribute692); 
+                    otherlv_1=(Token)match(input,18,FOLLOW_18_in_ruleSimpleAnnotationAttribute692); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1());
                         
@@ -858,7 +859,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,20,FOLLOW_20_in_ruleSimpleAnnotationAttribute705); 
+            otherlv_2=(Token)match(input,19,FOLLOW_19_in_ruleSimpleAnnotationAttribute705); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1());
                 
@@ -888,7 +889,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,21,FOLLOW_21_in_ruleSimpleAnnotationAttribute739); 
+            otherlv_4=(Token)match(input,20,FOLLOW_20_in_ruleSimpleAnnotationAttribute739); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3());
                 
@@ -1008,10 +1009,10 @@
             int alt5=2;
             int LA5_0 = input.LA(1);
 
-            if ( (LA5_0==18) ) {
+            if ( (LA5_0==17) ) {
                 alt5=1;
             }
-            else if ( (LA5_0==19) ) {
+            else if ( (LA5_0==18) ) {
                 alt5=2;
             }
             else {
@@ -1030,7 +1031,7 @@
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:386:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:387:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,18,FOLLOW_18_in_ruleEnumAnnotationAttribute850); 
+                    lv_optional_0_0=(Token)match(input,17,FOLLOW_17_in_ruleEnumAnnotationAttribute850); 
 
                             newLeafNode(lv_optional_0_0, grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
                         
@@ -1052,7 +1053,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:401:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,19,FOLLOW_19_in_ruleEnumAnnotationAttribute881); 
+                    otherlv_1=(Token)match(input,18,FOLLOW_18_in_ruleEnumAnnotationAttribute881); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1());
                         
@@ -1062,7 +1063,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,20,FOLLOW_20_in_ruleEnumAnnotationAttribute894); 
+            otherlv_2=(Token)match(input,19,FOLLOW_19_in_ruleEnumAnnotationAttribute894); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1());
                 
@@ -1092,11 +1093,11 @@
 
             }
 
-            otherlv_4=(Token)match(input,21,FOLLOW_21_in_ruleEnumAnnotationAttribute928); 
+            otherlv_4=(Token)match(input,20,FOLLOW_20_in_ruleEnumAnnotationAttribute928); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3());
                 
-            otherlv_5=(Token)match(input,22,FOLLOW_22_in_ruleEnumAnnotationAttribute940); 
+            otherlv_5=(Token)match(input,21,FOLLOW_21_in_ruleEnumAnnotationAttribute940); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4());
                 
@@ -1132,7 +1133,7 @@
                 int alt6=2;
                 int LA6_0 = input.LA(1);
 
-                if ( (LA6_0==15) ) {
+                if ( (LA6_0==14) ) {
                     alt6=1;
                 }
 
@@ -1141,7 +1142,7 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:453:4: otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) )
             	    {
-            	    otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleEnumAnnotationAttribute975); 
+            	    otherlv_7=(Token)match(input,14,FOLLOW_14_in_ruleEnumAnnotationAttribute975); 
 
             	        	newLeafNode(otherlv_7, grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0());
             	        
@@ -1180,7 +1181,7 @@
                 }
             } while (true);
 
-            otherlv_9=(Token)match(input,23,FOLLOW_23_in_ruleEnumAnnotationAttribute1011); 
+            otherlv_9=(Token)match(input,22,FOLLOW_22_in_ruleEnumAnnotationAttribute1011); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7());
                 
@@ -1276,14 +1277,14 @@
             int alt7=2;
             int LA7_0 = input.LA(1);
 
-            if ( (LA7_0==24) ) {
+            if ( (LA7_0==23) ) {
                 alt7=1;
             }
             switch (alt7) {
                 case 1 :
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:514:2: kw= '.*'
                     {
-                    kw=(Token)match(input,24,FOLLOW_24_in_ruleImportedFQN1127); 
+                    kw=(Token)match(input,23,FOLLOW_23_in_ruleImportedFQN1127); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
@@ -1379,7 +1380,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,25,FOLLOW_25_in_ruleDocumentation1225); 
+            otherlv_1=(Token)match(input,24,FOLLOW_24_in_ruleDocumentation1225); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1());
                 
@@ -1427,7 +1428,7 @@
                 }
             } while (true);
 
-            otherlv_3=(Token)match(input,26,FOLLOW_26_in_ruleDocumentation1260); 
+            otherlv_3=(Token)match(input,25,FOLLOW_25_in_ruleDocumentation1260); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3());
                 
@@ -1508,17 +1509,16 @@
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:597:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
             int alt9=3;
             switch ( input.LA(1) ) {
+            case 26:
             case 27:
-            case 28:
                 {
                 alt9=1;
                 }
                 break;
             case RULE_INT:
             case RULE_HEX:
+            case 28:
             case 29:
-            case 30:
-            case 31:
                 {
                 alt9=2;
                 }
@@ -1678,10 +1678,10 @@
             int alt10=2;
             int LA10_0 = input.LA(1);
 
-            if ( (LA10_0==27) ) {
+            if ( (LA10_0==26) ) {
                 alt10=1;
             }
-            else if ( (LA10_0==28) ) {
+            else if ( (LA10_0==27) ) {
                 alt10=2;
             }
             else {
@@ -1694,7 +1694,7 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:653:4: otherlv_1= 'false'
                     {
-                    otherlv_1=(Token)match(input,27,FOLLOW_27_in_ruleBooleanLiteral1503); 
+                    otherlv_1=(Token)match(input,26,FOLLOW_26_in_ruleBooleanLiteral1503); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0());
                         
@@ -1710,7 +1710,7 @@
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:659:1: (lv_isTrue_2_0= 'true' )
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:660:3: lv_isTrue_2_0= 'true'
                     {
-                    lv_isTrue_2_0=(Token)match(input,28,FOLLOW_28_in_ruleBooleanLiteral1527); 
+                    lv_isTrue_2_0=(Token)match(input,27,FOLLOW_27_in_ruleBooleanLiteral1527); 
 
                             newLeafNode(lv_isTrue_2_0, grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
                         
@@ -1807,22 +1807,19 @@
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:694:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
             int alt11=2;
             switch ( input.LA(1) ) {
-            case 29:
+            case 28:
                 {
                 int LA11_1 = input.LA(2);
 
-                if ( (LA11_1==31) ) {
-                    alt11=2;
-                }
-                else if ( (LA11_1==RULE_INT) ) {
+                if ( (LA11_1==RULE_INT) ) {
                     int LA11_3 = input.LA(3);
 
-                    if ( (LA11_3==31) ) {
-                        alt11=2;
-                    }
-                    else if ( (LA11_3==EOF||(LA11_3>=15 && LA11_3<=16)) ) {
+                    if ( (LA11_3==EOF||(LA11_3>=14 && LA11_3<=15)) ) {
                         alt11=1;
                     }
+                    else if ( (LA11_3==30) ) {
+                        alt11=2;
+                    }
                     else {
                         NoViableAltException nvae =
                             new NoViableAltException("", 11, 3, input);
@@ -1838,19 +1835,19 @@
                 }
                 }
                 break;
-            case 30:
+            case 29:
                 {
                 int LA11_2 = input.LA(2);
 
                 if ( (LA11_2==RULE_INT) ) {
                     int LA11_3 = input.LA(3);
 
-                    if ( (LA11_3==31) ) {
-                        alt11=2;
-                    }
-                    else if ( (LA11_3==EOF||(LA11_3>=15 && LA11_3<=16)) ) {
+                    if ( (LA11_3==EOF||(LA11_3>=14 && LA11_3<=15)) ) {
                         alt11=1;
                     }
+                    else if ( (LA11_3==30) ) {
+                        alt11=2;
+                    }
                     else {
                         NoViableAltException nvae =
                             new NoViableAltException("", 11, 3, input);
@@ -1858,9 +1855,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA11_2==31) ) {
-                    alt11=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 11, 2, input);
@@ -1873,12 +1867,12 @@
                 {
                 int LA11_3 = input.LA(2);
 
-                if ( (LA11_3==31) ) {
-                    alt11=2;
-                }
-                else if ( (LA11_3==EOF||(LA11_3>=15 && LA11_3<=16)) ) {
+                if ( (LA11_3==EOF||(LA11_3>=14 && LA11_3<=15)) ) {
                     alt11=1;
                 }
+                else if ( (LA11_3==30) ) {
+                    alt11=2;
+                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 11, 3, input);
@@ -1892,11 +1886,6 @@
                 alt11=1;
                 }
                 break;
-            case 31:
-                {
-                alt11=2;
-                }
-                break;
             default:
                 NoViableAltException nvae =
                     new NoViableAltException("", 11, 0, input);
@@ -2337,74 +2326,101 @@
 
 
     // $ANTLR start "ruleInteger"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:865:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:865:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) ;
     public final AntlrDatatypeRuleToken ruleInteger() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
-        AntlrDatatypeRuleToken this_SignedInteger_0 = null;
-
-        AntlrDatatypeRuleToken this_Hexadecimal_1 = null;
-
+        Token kw=null;
+        Token this_INT_2=null;
+        Token this_HEX_3=null;
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:868:28: ( (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:869:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:868:28: ( ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:869:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:869:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
-            int alt12=2;
-            int LA12_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:869:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
+            int alt13=2;
+            int LA13_0 = input.LA(1);
 
-            if ( (LA12_0==RULE_INT||(LA12_0>=29 && LA12_0<=30)) ) {
-                alt12=1;
+            if ( (LA13_0==RULE_INT||(LA13_0>=28 && LA13_0<=29)) ) {
+                alt13=1;
             }
-            else if ( (LA12_0==RULE_HEX) ) {
-                alt12=2;
+            else if ( (LA13_0==RULE_HEX) ) {
+                alt13=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 12, 0, input);
+                    new NoViableAltException("", 13, 0, input);
 
                 throw nvae;
             }
-            switch (alt12) {
+            switch (alt13) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:870:5: this_SignedInteger_0= ruleSignedInteger
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:869:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleSignedInteger_in_ruleInteger2059);
-                    this_SignedInteger_0=ruleSignedInteger();
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:869:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:869:3: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
+                    {
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:869:3: (kw= '+' | kw= '-' )?
+                    int alt12=3;
+                    int LA12_0 = input.LA(1);
 
-                    state._fsp--;
+                    if ( (LA12_0==28) ) {
+                        alt12=1;
+                    }
+                    else if ( (LA12_0==29) ) {
+                        alt12=2;
+                    }
+                    switch (alt12) {
+                        case 1 :
+                            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:870:2: kw= '+'
+                            {
+                            kw=(Token)match(input,28,FOLLOW_28_in_ruleInteger2052); 
 
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                                
 
-                    		current.merge(this_SignedInteger_0);
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:877:2: kw= '-'
+                            {
+                            kw=(Token)match(input,29,FOLLOW_29_in_ruleInteger2071); 
+
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                                
+
+                            }
+                            break;
+
+                    }
+
+                    this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleInteger2088); 
+
+                    		current.merge(this_INT_2);
                         
                      
-                            afterParserOrEnumRuleCall();
+                        newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
                         
 
                     }
+
+
+                    }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:882:5: this_Hexadecimal_1= ruleHexadecimal
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:890:10: this_HEX_3= RULE_HEX
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleHexadecimal_in_ruleInteger2092);
-                    this_Hexadecimal_1=ruleHexadecimal();
+                    this_HEX_3=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleInteger2115); 
 
-                    state._fsp--;
-
-
-                    		current.merge(this_Hexadecimal_1);
+                    		current.merge(this_HEX_3);
                         
                      
-                            afterParserOrEnumRuleCall();
+                        newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
                         
 
                     }
@@ -2429,217 +2445,8 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:900:1: entryRuleSignedInteger returns [String current=null] : iv_ruleSignedInteger= ruleSignedInteger EOF ;
-    public final String entryRuleSignedInteger() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleSignedInteger = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:904:2: (iv_ruleSignedInteger= ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:905:2: iv_ruleSignedInteger= ruleSignedInteger EOF
-            {
-             newCompositeNode(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2144);
-            iv_ruleSignedInteger=ruleSignedInteger();
-
-            state._fsp--;
-
-             current =iv_ruleSignedInteger.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger2155); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:915:1: ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleSignedInteger() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:919:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:920:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:920:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:920:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:920:2: (kw= '+' | kw= '-' )?
-            int alt13=3;
-            int LA13_0 = input.LA(1);
-
-            if ( (LA13_0==29) ) {
-                alt13=1;
-            }
-            else if ( (LA13_0==30) ) {
-                alt13=2;
-            }
-            switch (alt13) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:921:2: kw= '+'
-                    {
-                    kw=(Token)match(input,29,FOLLOW_29_in_ruleSignedInteger2198); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:928:2: kw= '-'
-                    {
-                    kw=(Token)match(input,30,FOLLOW_30_in_ruleSignedInteger2217); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSignedInteger2234); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:951:1: entryRuleHexadecimal returns [String current=null] : iv_ruleHexadecimal= ruleHexadecimal EOF ;
-    public final String entryRuleHexadecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleHexadecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:955:2: (iv_ruleHexadecimal= ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:956:2: iv_ruleHexadecimal= ruleHexadecimal EOF
-            {
-             newCompositeNode(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal2290);
-            iv_ruleHexadecimal=ruleHexadecimal();
-
-            state._fsp--;
-
-             current =iv_ruleHexadecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal2301); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:966:1: ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_HEX_0= RULE_HEX ;
-    public final AntlrDatatypeRuleToken ruleHexadecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_HEX_0=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:970:28: (this_HEX_0= RULE_HEX )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:971:5: this_HEX_0= RULE_HEX
-            {
-            this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal2344); 
-
-            		current.merge(this_HEX_0);
-                
-             
-                newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:989:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:905:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
     public final String entryRuleReal() throws RecognitionException {
         String current = null;
 
@@ -2647,17 +2454,17 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:990:2: (iv_ruleReal= ruleReal EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:991:2: iv_ruleReal= ruleReal EOF
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:906:2: (iv_ruleReal= ruleReal EOF )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:907:2: iv_ruleReal= ruleReal EOF
             {
              newCompositeNode(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal2393);
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal2161);
             iv_ruleReal=ruleReal();
 
             state._fsp--;
 
              current =iv_ruleReal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal2404); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal2172); 
 
             }
 
@@ -2675,36 +2482,173 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:998:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:914:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) ;
     public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         AntlrDatatypeRuleToken this_Decimal_0 = null;
 
-        AntlrDatatypeRuleToken this_DotDecimal_1 = null;
-
-        AntlrDatatypeRuleToken this_DecimalDot_2 = null;
-
-        AntlrDatatypeRuleToken this_DecimalExp_3 = null;
+        AntlrDatatypeRuleToken this_DecimalExp_1 = null;
 
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1001:28: ( (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1002:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:917:28: ( (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:918:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1002:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
-            int alt14=4;
-            alt14 = dfa14.predict(input);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:918:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
+            int alt14=2;
+            switch ( input.LA(1) ) {
+            case 28:
+                {
+                int LA14_1 = input.LA(2);
+
+                if ( (LA14_1==RULE_INT) ) {
+                    int LA14_3 = input.LA(3);
+
+                    if ( (LA14_3==30) ) {
+                        int LA14_4 = input.LA(4);
+
+                        if ( (LA14_4==RULE_INT) ) {
+                            int LA14_5 = input.LA(5);
+
+                            if ( (LA14_5==EOF||(LA14_5>=14 && LA14_5<=15)) ) {
+                                alt14=1;
+                            }
+                            else if ( ((LA14_5>=31 && LA14_5<=32)) ) {
+                                alt14=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 14, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 14, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 14, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 14, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 29:
+                {
+                int LA14_2 = input.LA(2);
+
+                if ( (LA14_2==RULE_INT) ) {
+                    int LA14_3 = input.LA(3);
+
+                    if ( (LA14_3==30) ) {
+                        int LA14_4 = input.LA(4);
+
+                        if ( (LA14_4==RULE_INT) ) {
+                            int LA14_5 = input.LA(5);
+
+                            if ( (LA14_5==EOF||(LA14_5>=14 && LA14_5<=15)) ) {
+                                alt14=1;
+                            }
+                            else if ( ((LA14_5>=31 && LA14_5<=32)) ) {
+                                alt14=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 14, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 14, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 14, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 14, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA14_3 = input.LA(2);
+
+                if ( (LA14_3==30) ) {
+                    int LA14_4 = input.LA(3);
+
+                    if ( (LA14_4==RULE_INT) ) {
+                        int LA14_5 = input.LA(4);
+
+                        if ( (LA14_5==EOF||(LA14_5>=14 && LA14_5<=15)) ) {
+                            alt14=1;
+                        }
+                        else if ( ((LA14_5>=31 && LA14_5<=32)) ) {
+                            alt14=2;
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 14, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 14, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 14, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 14, 0, input);
+
+                throw nvae;
+            }
+
             switch (alt14) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1003:5: this_Decimal_0= ruleDecimal
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:919:5: this_Decimal_0= ruleDecimal
                     {
                      
                             newCompositeNode(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
                         
-                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal2451);
+                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal2219);
                     this_Decimal_0=ruleDecimal();
 
                     state._fsp--;
@@ -2719,58 +2663,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1015:5: this_DotDecimal_1= ruleDotDecimal
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:931:5: this_DecimalExp_1= ruleDecimalExp
                     {
                      
-                            newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
                         
-                    pushFollow(FOLLOW_ruleDotDecimal_in_ruleReal2484);
-                    this_DotDecimal_1=ruleDotDecimal();
+                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal2252);
+                    this_DecimalExp_1=ruleDecimalExp();
 
                     state._fsp--;
 
 
-                    		current.merge(this_DotDecimal_1);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1027:5: this_DecimalDot_2= ruleDecimalDot
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalDot_in_ruleReal2517);
-                    this_DecimalDot_2=ruleDecimalDot();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalDot_2);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1039:5: this_DecimalExp_3= ruleDecimalExp
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal2550);
-                    this_DecimalExp_3=ruleDecimalExp();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalExp_3);
+                    		current.merge(this_DecimalExp_1);
                         
                      
                             afterParserOrEnumRuleCall();
@@ -2799,7 +2703,7 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1057:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:949:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
     public final String entryRuleDecimal() throws RecognitionException {
         String current = null;
 
@@ -2810,17 +2714,17 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1061:2: (iv_ruleDecimal= ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1062:2: iv_ruleDecimal= ruleDecimal EOF
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:953:2: (iv_ruleDecimal= ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:954:2: iv_ruleDecimal= ruleDecimal EOF
             {
              newCompositeNode(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal2602);
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal2304);
             iv_ruleDecimal=ruleDecimal();
 
             state._fsp--;
 
              current =iv_ruleDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal2613); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal2315); 
 
             }
 
@@ -2841,7 +2745,7 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1072:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:964:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -2853,27 +2757,27 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1076:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1077:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:968:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:969:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1077:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1077:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:969:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:969:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1077:2: (kw= '+' | kw= '-' )?
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:969:2: (kw= '+' | kw= '-' )?
             int alt15=3;
             int LA15_0 = input.LA(1);
 
-            if ( (LA15_0==29) ) {
+            if ( (LA15_0==28) ) {
                 alt15=1;
             }
-            else if ( (LA15_0==30) ) {
+            else if ( (LA15_0==29) ) {
                 alt15=2;
             }
             switch (alt15) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1078:2: kw= '+'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:970:2: kw= '+'
                     {
-                    kw=(Token)match(input,29,FOLLOW_29_in_ruleDecimal2656); 
+                    kw=(Token)match(input,28,FOLLOW_28_in_ruleDecimal2358); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
@@ -2882,9 +2786,9 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1085:2: kw= '-'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:977:2: kw= '-'
                     {
-                    kw=(Token)match(input,30,FOLLOW_30_in_ruleDecimal2675); 
+                    kw=(Token)match(input,29,FOLLOW_29_in_ruleDecimal2377); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
@@ -2895,19 +2799,19 @@
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal2692); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal2394); 
 
             		current.merge(this_INT_2);
                 
              
                 newLeafNode(this_INT_2, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
                 
-            kw=(Token)match(input,31,FOLLOW_31_in_ruleDecimal2710); 
+            kw=(Token)match(input,30,FOLLOW_30_in_ruleDecimal2412); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
                 
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal2725); 
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal2427); 
 
             		current.merge(this_INT_4);
                 
@@ -2937,270 +2841,8 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1121:1: entryRuleDotDecimal returns [String current=null] : iv_ruleDotDecimal= ruleDotDecimal EOF ;
-    public final String entryRuleDotDecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDotDecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1125:2: (iv_ruleDotDecimal= ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1126:2: iv_ruleDotDecimal= ruleDotDecimal EOF
-            {
-             newCompositeNode(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal2781);
-            iv_ruleDotDecimal=ruleDotDecimal();
-
-            state._fsp--;
-
-             current =iv_ruleDotDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal2792); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1136:1: ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleDotDecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_3=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1140:28: ( ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1141:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1141:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1141:2: (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1141:2: (kw= '+' | kw= '-' )?
-            int alt16=3;
-            int LA16_0 = input.LA(1);
-
-            if ( (LA16_0==29) ) {
-                alt16=1;
-            }
-            else if ( (LA16_0==30) ) {
-                alt16=2;
-            }
-            switch (alt16) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1142:2: kw= '+'
-                    {
-                    kw=(Token)match(input,29,FOLLOW_29_in_ruleDotDecimal2835); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1149:2: kw= '-'
-                    {
-                    kw=(Token)match(input,30,FOLLOW_30_in_ruleDotDecimal2854); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            kw=(Token)match(input,31,FOLLOW_31_in_ruleDotDecimal2869); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-                
-            this_INT_3=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDotDecimal2884); 
-
-            		current.merge(this_INT_3);
-                
-             
-                newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1178:1: entryRuleDecimalDot returns [String current=null] : iv_ruleDecimalDot= ruleDecimalDot EOF ;
-    public final String entryRuleDecimalDot() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDecimalDot = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1182:2: (iv_ruleDecimalDot= ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1183:2: iv_ruleDecimalDot= ruleDecimalDot EOF
-            {
-             newCompositeNode(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot2940);
-            iv_ruleDecimalDot=ruleDecimalDot();
-
-            state._fsp--;
-
-             current =iv_ruleDecimalDot.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot2951); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1193:1: ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) ;
-    public final AntlrDatatypeRuleToken ruleDecimalDot() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1197:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1198:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1198:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1198:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.'
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1198:2: (kw= '+' | kw= '-' )?
-            int alt17=3;
-            int LA17_0 = input.LA(1);
-
-            if ( (LA17_0==29) ) {
-                alt17=1;
-            }
-            else if ( (LA17_0==30) ) {
-                alt17=2;
-            }
-            switch (alt17) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1199:2: kw= '+'
-                    {
-                    kw=(Token)match(input,29,FOLLOW_29_in_ruleDecimalDot2994); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1206:2: kw= '-'
-                    {
-                    kw=(Token)match(input,30,FOLLOW_30_in_ruleDecimalDot3013); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalDot3030); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,31,FOLLOW_31_in_ruleDecimalDot3048); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1235:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1013:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
     public final String entryRuleDecimalExp() throws RecognitionException {
         String current = null;
 
@@ -3211,17 +2853,17 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1239:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1240:2: iv_ruleDecimalExp= ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1017:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1018:2: iv_ruleDecimalExp= ruleDecimalExp EOF
             {
              newCompositeNode(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3099);
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp2483);
             iv_ruleDecimalExp=ruleDecimalExp();
 
             state._fsp--;
 
              current =iv_ruleDecimalExp.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp3110); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp2494); 
 
             }
 
@@ -3242,40 +2884,40 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1250:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1028:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimalExp() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         Token kw=null;
         Token this_INT_2=null;
         Token this_INT_4=null;
-        Token this_EXP_5=null;
+        Token this_INT_9=null;
 
          enterRule(); 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1254:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1255:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1032:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1033:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1255:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1255:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1033:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1033:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1255:2: (kw= '+' | kw= '-' )?
-            int alt18=3;
-            int LA18_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1033:2: (kw= '+' | kw= '-' )?
+            int alt16=3;
+            int LA16_0 = input.LA(1);
 
-            if ( (LA18_0==29) ) {
-                alt18=1;
+            if ( (LA16_0==28) ) {
+                alt16=1;
             }
-            else if ( (LA18_0==30) ) {
-                alt18=2;
+            else if ( (LA16_0==29) ) {
+                alt16=2;
             }
-            switch (alt18) {
+            switch (alt16) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1256:2: kw= '+'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1034:2: kw= '+'
                     {
-                    kw=(Token)match(input,29,FOLLOW_29_in_ruleDecimalExp3153); 
+                    kw=(Token)match(input,28,FOLLOW_28_in_ruleDecimalExp2537); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
@@ -3284,9 +2926,9 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1263:2: kw= '-'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1041:2: kw= '-'
                     {
-                    kw=(Token)match(input,30,FOLLOW_30_in_ruleDecimalExp3172); 
+                    kw=(Token)match(input,29,FOLLOW_29_in_ruleDecimalExp2556); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
@@ -3297,31 +2939,109 @@
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3189); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp2573); 
 
             		current.merge(this_INT_2);
                 
              
                 newLeafNode(this_INT_2, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
                 
-            kw=(Token)match(input,31,FOLLOW_31_in_ruleDecimalExp3207); 
+            kw=(Token)match(input,30,FOLLOW_30_in_ruleDecimalExp2591); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
                 
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3222); 
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp2606); 
 
             		current.merge(this_INT_4);
                 
              
                 newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
                 
-            this_EXP_5=(Token)match(input,RULE_EXP,FOLLOW_RULE_EXP_in_ruleDecimalExp3242); 
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1066:1: (kw= 'e' | kw= 'E' )
+            int alt17=2;
+            int LA17_0 = input.LA(1);
 
-            		current.merge(this_EXP_5);
+            if ( (LA17_0==31) ) {
+                alt17=1;
+            }
+            else if ( (LA17_0==32) ) {
+                alt17=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 17, 0, input);
+
+                throw nvae;
+            }
+            switch (alt17) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1067:2: kw= 'e'
+                    {
+                    kw=(Token)match(input,31,FOLLOW_31_in_ruleDecimalExp2625); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1074:2: kw= 'E'
+                    {
+                    kw=(Token)match(input,32,FOLLOW_32_in_ruleDecimalExp2644); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1079:2: (kw= '+' | kw= '-' )?
+            int alt18=3;
+            int LA18_0 = input.LA(1);
+
+            if ( (LA18_0==28) ) {
+                alt18=1;
+            }
+            else if ( (LA18_0==29) ) {
+                alt18=2;
+            }
+            switch (alt18) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1080:2: kw= '+'
+                    {
+                    kw=(Token)match(input,28,FOLLOW_28_in_ruleDecimalExp2659); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1087:2: kw= '-'
+                    {
+                    kw=(Token)match(input,29,FOLLOW_29_in_ruleDecimalExp2678); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            this_INT_9=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp2695); 
+
+            		current.merge(this_INT_9);
                 
              
-                newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+                newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
                 
 
             }
@@ -3347,7 +3067,7 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1306:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1110:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
     public final String entryRuleFQN() throws RecognitionException {
         String current = null;
 
@@ -3355,17 +3075,17 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1307:2: (iv_ruleFQN= ruleFQN EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1308:2: iv_ruleFQN= ruleFQN EOF
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1111:2: (iv_ruleFQN= ruleFQN EOF )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1112:2: iv_ruleFQN= ruleFQN EOF
             {
              newCompositeNode(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN3292);
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN2745);
             iv_ruleFQN=ruleFQN();
 
             state._fsp--;
 
              current =iv_ruleFQN.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN3303); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN2756); 
 
             }
 
@@ -3383,7 +3103,7 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1315:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1119:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
     public final AntlrDatatypeRuleToken ruleFQN() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -3394,40 +3114,40 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1318:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1319:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1122:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1123:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1319:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1319:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1123:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1123:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
             {
-            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN3343); 
+            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN2796); 
 
             		current.merge(this_ID_0);
                 
              
                 newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
                 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1326:1: (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1130:1: (kw= '.' this_ID_2= RULE_ID )*
             loop19:
             do {
                 int alt19=2;
                 int LA19_0 = input.LA(1);
 
-                if ( (LA19_0==31) ) {
+                if ( (LA19_0==30) ) {
                     alt19=1;
                 }
 
 
                 switch (alt19) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1327:2: kw= '.' this_ID_2= RULE_ID
+            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1131:2: kw= '.' this_ID_2= RULE_ID
             	    {
-            	    kw=(Token)match(input,31,FOLLOW_31_in_ruleFQN3362); 
+            	    kw=(Token)match(input,30,FOLLOW_30_in_ruleFQN2815); 
 
             	            current.merge(kw);
             	            newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
             	        
-            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN3377); 
+            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN2830); 
 
             	    		current.merge(this_ID_2);
             	        
@@ -3464,7 +3184,7 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1347:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1151:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
     public final Enumerator ruleLiteralType() throws RecognitionException {
         Enumerator current = null;
 
@@ -3475,28 +3195,28 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1349:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1350:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1153:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1154:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1350:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1154:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             int alt20=4;
             switch ( input.LA(1) ) {
-            case 32:
+            case 33:
                 {
                 alt20=1;
                 }
                 break;
-            case 33:
+            case 34:
                 {
                 alt20=2;
                 }
                 break;
-            case 34:
+            case 35:
                 {
                 alt20=3;
                 }
                 break;
-            case 35:
+            case 36:
                 {
                 alt20=4;
                 }
@@ -3510,12 +3230,12 @@
 
             switch (alt20) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1350:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1154:2: (enumLiteral_0= 'ptBoolean' )
                     {
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1350:2: (enumLiteral_0= 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1350:4: enumLiteral_0= 'ptBoolean'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1154:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1154:4: enumLiteral_0= 'ptBoolean'
                     {
-                    enumLiteral_0=(Token)match(input,32,FOLLOW_32_in_ruleLiteralType3438); 
+                    enumLiteral_0=(Token)match(input,33,FOLLOW_33_in_ruleLiteralType2891); 
 
                             current = grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_0, grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
@@ -3527,12 +3247,12 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1356:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1160:6: (enumLiteral_1= 'ptInteger' )
                     {
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1356:6: (enumLiteral_1= 'ptInteger' )
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1356:8: enumLiteral_1= 'ptInteger'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1160:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1160:8: enumLiteral_1= 'ptInteger'
                     {
-                    enumLiteral_1=(Token)match(input,33,FOLLOW_33_in_ruleLiteralType3455); 
+                    enumLiteral_1=(Token)match(input,34,FOLLOW_34_in_ruleLiteralType2908); 
 
                             current = grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_1, grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
@@ -3544,12 +3264,12 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1362:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1166:6: (enumLiteral_2= 'ptReal' )
                     {
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1362:6: (enumLiteral_2= 'ptReal' )
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1362:8: enumLiteral_2= 'ptReal'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1166:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1166:8: enumLiteral_2= 'ptReal'
                     {
-                    enumLiteral_2=(Token)match(input,34,FOLLOW_34_in_ruleLiteralType3472); 
+                    enumLiteral_2=(Token)match(input,35,FOLLOW_35_in_ruleLiteralType2925); 
 
                             current = grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_2, grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
@@ -3561,12 +3281,12 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1368:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1172:6: (enumLiteral_3= 'ptCharacter' )
                     {
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1368:6: (enumLiteral_3= 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1368:8: enumLiteral_3= 'ptCharacter'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1172:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBase.g:1172:8: enumLiteral_3= 'ptCharacter'
                     {
-                    enumLiteral_3=(Token)match(input,35,FOLLOW_35_in_ruleLiteralType3489); 
+                    enumLiteral_3=(Token)match(input,36,FOLLOW_36_in_ruleLiteralType2942); 
 
                             current = grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_3, grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
@@ -3599,80 +3319,21 @@
     // Delegated rules
 
 
-    protected DFA14 dfa14 = new DFA14(this);
-    static final String DFA14_eotS =
-        "\12\uffff";
-    static final String DFA14_eofS =
-        "\5\uffff\1\6\1\uffff\1\11\2\uffff";
-    static final String DFA14_minS =
-        "\3\6\1\37\1\uffff\1\6\1\uffff\1\10\2\uffff";
-    static final String DFA14_maxS =
-        "\4\37\1\uffff\1\20\1\uffff\1\20\2\uffff";
-    static final String DFA14_acceptS =
-        "\4\uffff\1\2\1\uffff\1\3\1\uffff\1\4\1\1";
-    static final String DFA14_specialS =
-        "\12\uffff}>";
-    static final String[] DFA14_transitionS = {
-            "\1\3\26\uffff\1\1\1\2\1\4",
-            "\1\3\30\uffff\1\4",
-            "\1\3\30\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\7\10\uffff\2\6",
-            "",
-            "\1\10\6\uffff\2\11",
-            "",
-            ""
-    };
-
-    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
-    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
-    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
-    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
-    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
-    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
-    static final short[][] DFA14_transition;
-
-    static {
-        int numStates = DFA14_transitionS.length;
-        DFA14_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
-        }
-    }
-
-    class DFA14 extends DFA {
-
-        public DFA14(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 14;
-            this.eot = DFA14_eot;
-            this.eof = DFA14_eof;
-            this.min = DFA14_min;
-            this.max = DFA14_max;
-            this.accept = DFA14_accept;
-            this.special = DFA14_special;
-            this.transition = DFA14_transition;
-        }
-        public String getDescription() {
-            return "1002:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )";
-        }
-    }
  
 
     public static final BitSet FOLLOW_ruleAnnotation_in_entryRuleAnnotation75 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotation85 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_ruleAnnotation122 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleAnnotation145 = new BitSet(new long[]{0x0000000000004002L});
-    public static final BitSet FOLLOW_14_in_ruleAnnotation158 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation179 = new BitSet(new long[]{0x0000000000018000L});
-    public static final BitSet FOLLOW_15_in_ruleAnnotation192 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation213 = new BitSet(new long[]{0x0000000000018000L});
-    public static final BitSet FOLLOW_16_in_ruleAnnotation227 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_ruleAnnotation122 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleAnnotation145 = new BitSet(new long[]{0x0000000000002002L});
+    public static final BitSet FOLLOW_13_in_ruleAnnotation158 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation179 = new BitSet(new long[]{0x000000000000C000L});
+    public static final BitSet FOLLOW_14_in_ruleAnnotation192 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation213 = new BitSet(new long[]{0x000000000000C000L});
+    public static final BitSet FOLLOW_15_in_ruleAnnotation227 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue265 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue275 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue317 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleKeyValue334 = new BitSet(new long[]{0x00000000F80000E0L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue317 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleKeyValue334 = new BitSet(new long[]{0x000000003C0000E0L});
     public static final BitSet FOLLOW_ruleLiteral_in_ruleKeyValue355 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType394 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType405 = new BitSet(new long[]{0x0000000000000002L});
@@ -3683,33 +3344,33 @@
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_ruleAnnotationAttribute572 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute607 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute617 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_ruleSimpleAnnotationAttribute661 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_19_in_ruleSimpleAnnotationAttribute692 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_20_in_ruleSimpleAnnotationAttribute705 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute722 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_ruleSimpleAnnotationAttribute739 = new BitSet(new long[]{0x0000000F00000000L});
+    public static final BitSet FOLLOW_17_in_ruleSimpleAnnotationAttribute661 = new BitSet(new long[]{0x0000000000080000L});
+    public static final BitSet FOLLOW_18_in_ruleSimpleAnnotationAttribute692 = new BitSet(new long[]{0x0000000000080000L});
+    public static final BitSet FOLLOW_19_in_ruleSimpleAnnotationAttribute705 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute722 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_ruleSimpleAnnotationAttribute739 = new BitSet(new long[]{0x0000001E00000000L});
     public static final BitSet FOLLOW_ruleLiteralType_in_ruleSimpleAnnotationAttribute760 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute796 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute806 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_ruleEnumAnnotationAttribute850 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_19_in_ruleEnumAnnotationAttribute881 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_20_in_ruleEnumAnnotationAttribute894 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute911 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_ruleEnumAnnotationAttribute928 = new BitSet(new long[]{0x0000000000400000L});
-    public static final BitSet FOLLOW_22_in_ruleEnumAnnotationAttribute940 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute957 = new BitSet(new long[]{0x0000000000808000L});
-    public static final BitSet FOLLOW_15_in_ruleEnumAnnotationAttribute975 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute992 = new BitSet(new long[]{0x0000000000808000L});
-    public static final BitSet FOLLOW_23_in_ruleEnumAnnotationAttribute1011 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_ruleEnumAnnotationAttribute850 = new BitSet(new long[]{0x0000000000080000L});
+    public static final BitSet FOLLOW_18_in_ruleEnumAnnotationAttribute881 = new BitSet(new long[]{0x0000000000080000L});
+    public static final BitSet FOLLOW_19_in_ruleEnumAnnotationAttribute894 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute911 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_ruleEnumAnnotationAttribute928 = new BitSet(new long[]{0x0000000000200000L});
+    public static final BitSet FOLLOW_21_in_ruleEnumAnnotationAttribute940 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute957 = new BitSet(new long[]{0x0000000000404000L});
+    public static final BitSet FOLLOW_14_in_ruleEnumAnnotationAttribute975 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute992 = new BitSet(new long[]{0x0000000000404000L});
+    public static final BitSet FOLLOW_22_in_ruleEnumAnnotationAttribute1011 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN1050 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN1061 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN1108 = new BitSet(new long[]{0x0000000001000002L});
-    public static final BitSet FOLLOW_24_in_ruleImportedFQN1127 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN1108 = new BitSet(new long[]{0x0000000000800002L});
+    public static final BitSet FOLLOW_23_in_ruleImportedFQN1127 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation1169 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation1179 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_ruleDocumentation1225 = new BitSet(new long[]{0x0000000004000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation1242 = new BitSet(new long[]{0x0000000004000020L});
-    public static final BitSet FOLLOW_26_in_ruleDocumentation1260 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_24_in_ruleDocumentation1225 = new BitSet(new long[]{0x0000000002000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation1242 = new BitSet(new long[]{0x0000000002000020L});
+    public static final BitSet FOLLOW_25_in_ruleDocumentation1260 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral1300 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleLiteral1310 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_ruleLiteral1357 = new BitSet(new long[]{0x0000000000000002L});
@@ -3717,8 +3378,8 @@
     public static final BitSet FOLLOW_ruleStringLiteral_in_ruleLiteral1411 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1446 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral1456 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_ruleBooleanLiteral1503 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_ruleBooleanLiteral1527 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_26_in_ruleBooleanLiteral1503 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_ruleBooleanLiteral1527 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1577 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral1587 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleIntLiteral_in_ruleNumberLiteral1634 = new BitSet(new long[]{0x0000000000000002L});
@@ -3734,57 +3395,41 @@
     public static final BitSet FOLLOW_RULE_STRING_in_ruleStringLiteral1959 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger2001 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInteger2012 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_ruleInteger2059 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_ruleInteger2092 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2144 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger2155 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_ruleSignedInteger2198 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_30_in_ruleSignedInteger2217 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleSignedInteger2234 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal2290 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal2301 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal2344 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal2393 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal2404 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal2451 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_ruleReal2484 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_ruleReal2517 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal2550 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal2602 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal2613 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_ruleDecimal2656 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_30_in_ruleDecimal2675 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal2692 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleDecimal2710 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal2725 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal2781 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal2792 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_ruleDotDecimal2835 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_30_in_ruleDotDecimal2854 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleDotDecimal2869 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDotDecimal2884 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot2940 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot2951 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_ruleDecimalDot2994 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_30_in_ruleDecimalDot3013 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalDot3030 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleDecimalDot3048 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3099 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp3110 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_ruleDecimalExp3153 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_30_in_ruleDecimalExp3172 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3189 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleDecimalExp3207 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3222 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RULE_EXP_in_ruleDecimalExp3242 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN3292 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN3303 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN3343 = new BitSet(new long[]{0x0000000080000002L});
-    public static final BitSet FOLLOW_31_in_ruleFQN3362 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN3377 = new BitSet(new long[]{0x0000000080000002L});
-    public static final BitSet FOLLOW_32_in_ruleLiteralType3438 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_ruleLiteralType3455 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleLiteralType3472 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_ruleLiteralType3489 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_ruleInteger2052 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_29_in_ruleInteger2071 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleInteger2088 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_ruleInteger2115 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal2161 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal2172 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal2219 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal2252 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal2304 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal2315 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_ruleDecimal2358 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_29_in_ruleDecimal2377 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal2394 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleDecimal2412 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal2427 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp2483 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp2494 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_ruleDecimalExp2537 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_29_in_ruleDecimalExp2556 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp2573 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleDecimalExp2591 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp2606 = new BitSet(new long[]{0x0000000180000000L});
+    public static final BitSet FOLLOW_31_in_ruleDecimalExp2625 = new BitSet(new long[]{0x0000000030000040L});
+    public static final BitSet FOLLOW_32_in_ruleDecimalExp2644 = new BitSet(new long[]{0x0000000030000040L});
+    public static final BitSet FOLLOW_28_in_ruleDecimalExp2659 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_29_in_ruleDecimalExp2678 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp2695 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN2745 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN2756 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN2796 = new BitSet(new long[]{0x0000000040000002L});
+    public static final BitSet FOLLOW_30_in_ruleFQN2815 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN2830 = new BitSet(new long[]{0x0000000040000002L});
+    public static final BitSet FOLLOW_33_in_ruleLiteralType2891 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_ruleLiteralType2908 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_ruleLiteralType2925 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_36_in_ruleLiteralType2942 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g
index 29c27c6..09ac81d 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g
@@ -1083,120 +1083,36 @@
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-    }
-    this_SignedInteger_0=ruleSignedInteger    {
-		$current.merge(this_SignedInteger_0);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-    }
-    this_Hexadecimal_1=ruleHexadecimal    {
-		$current.merge(this_Hexadecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getSignedIntegerRule()); } 
-	 iv_ruleSignedInteger=ruleSignedInteger 
-	 { $current=$iv_ruleSignedInteger.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
+(((
 	kw='+' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
     }
 
     |
 	kw='-' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
     }
 )?    this_INT_2=RULE_INT    {
 		$current.merge(this_INT_2);
     }
 
     { 
-    newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+    newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
     }
 )
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getHexadecimalRule()); } 
-	 iv_ruleHexadecimal=ruleHexadecimal 
-	 { $current=$iv_ruleHexadecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-    this_HEX_0=RULE_HEX    {
-		$current.merge(this_HEX_0);
+    |    this_HEX_3=RULE_HEX    {
+		$current.merge(this_HEX_3);
     }
 
     { 
-    newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
+    newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
     }
-
+)
     ;
-finally {
-	myHiddenTokenState.restore();
-}
 
 
 
@@ -1230,34 +1146,10 @@
 
     |
     { 
-        newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
     }
-    this_DotDecimal_1=ruleDotDecimal    {
-		$current.merge(this_DotDecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-    }
-    this_DecimalDot_2=ruleDecimalDot    {
-		$current.merge(this_DecimalDot_2);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-    }
-    this_DecimalExp_3=ruleDecimalExp    {
-		$current.merge(this_DecimalExp_3);
+    this_DecimalExp_1=ruleDecimalExp    {
+		$current.merge(this_DecimalExp_1);
     }
 
     { 
@@ -1334,120 +1226,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDotDecimalRule()); } 
-	 iv_ruleDotDecimal=ruleDotDecimal 
-	 { $current=$iv_ruleDotDecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-    }
-    this_INT_3=RULE_INT    {
-		$current.merge(this_INT_3);
-    }
-
-    { 
-    newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDecimalDotRule()); } 
-	 iv_ruleDecimalDot=ruleDecimalDot 
-	 { $current=$iv_ruleDecimalDot.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?    this_INT_2=RULE_INT    {
-		$current.merge(this_INT_2);
-    }
-
-    { 
-    newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-    }
-
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp returns [String current=null] 
 	@init { 
@@ -1502,12 +1280,38 @@
     { 
     newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
     }
-    this_EXP_5=RULE_EXP    {
-		$current.merge(this_EXP_5);
+(
+	kw='e' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+    }
+
+    |
+	kw='E' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+    }
+)(
+	kw='+' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+    }
+
+    |
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+    }
+)?    this_INT_9=RULE_INT    {
+		$current.merge(this_INT_9);
     }
 
     { 
-    newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+    newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
     }
 )
     ;
@@ -1591,15 +1395,13 @@
 
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
 
 RULE_INT : ('0'..'9')+;
 
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
 
 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
 
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.tokens b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.tokens
index 16d804b..3be14ef 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.tokens
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.tokens
@@ -1,59 +1,62 @@
-RULE_EXP=8
-RULE_ID=4
-T__29=29
-T__28=28
-T__27=27
-T__26=26
-T__25=25
-T__24=24
-T__23=23
-T__22=22
-RULE_ANY_OTHER=12
-T__21=21
-T__20=20
-RULE_SL_COMMENT=10
-RULE_ML_COMMENT=9
-T__30=30
-T__19=19
-T__31=31
+'('=13
+')'=15
+'+'=30
+','=14
+'-'=31
+'.'=32
+'.*'=25
+':'=24
+'='=16
+'@'=12
+'AnnotationType'=17
+'E'=34
+'['=26
+']'=27
+'attribute'=23
+'e'=33
+'false'=28
+'mandatory'=22
+'optional'=21
+'ptBoolean'=35
+'ptCharacter'=38
+'ptInteger'=36
+'ptReal'=37
+'target'=19
+'true'=29
+'{'=18
+'}'=20
+RULE_ANY_OTHER=11
 RULE_HEX=7
+RULE_ID=4
+RULE_INT=6
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
 RULE_STRING=5
+RULE_WS=10
+T__12=12
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
+T__25=25
+T__26=26
+T__27=27
+T__28=28
+T__29=29
+T__30=30
+T__31=31
 T__32=32
 T__33=33
-T__16=16
 T__34=34
-T__15=15
 T__35=35
-T__18=18
 T__36=36
-T__17=17
 T__37=37
-T__14=14
-T__13=13
-RULE_INT=6
-RULE_WS=11
-'true'=30
-'}'=21
-'{'=19
-'.*'=26
-'optional'=22
-'ptCharacter'=37
-'false'=29
-'='=17
-':'=25
-'@'=13
-'('=14
-'-'=32
-'['=27
-'attribute'=24
-'+'=31
-'ptReal'=36
-','=15
-'AnnotationType'=18
-'.'=33
-')'=16
-'ptBoolean'=34
-'ptInteger'=35
-']'=28
-'mandatory'=23
-'target'=20
+T__38=38
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTestLexer.java b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTestLexer.java
index e1a3cca..99a1def 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTestLexer.java
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTestLexer.java
@@ -12,41 +12,42 @@
 
 @SuppressWarnings("all")
 public class InternalBaseTestLexer extends Lexer {
-    public static final int RULE_ID=4;
-    public static final int RULE_EXP=8;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int EOF=-1;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
+    public static final int RULE_HEX=7;
+    public static final int RULE_STRING=5;
+    public static final int RULE_SL_COMMENT=9;
     public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__37=37;
+    public static final int T__16=16;
+    public static final int T__38=38;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__33=33;
+    public static final int T__12=12;
+    public static final int T__34=34;
+    public static final int T__13=13;
+    public static final int T__35=35;
+    public static final int T__14=14;
+    public static final int T__36=36;
+    public static final int EOF=-1;
     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=5;
-    public static final int RULE_HEX=7;
-    public static final int T__16=16;
-    public static final int T__33=33;
-    public static final int T__15=15;
-    public static final int T__34=34;
-    public static final int T__18=18;
-    public static final int T__35=35;
-    public static final int T__17=17;
-    public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__14=14;
-    public static final int T__13=13;
+    public static final int RULE_ID=4;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int RULE_WS=11;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
 
     // delegates
     // delegators
@@ -61,10 +62,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:11:7: ( '@' )
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:11:9: '@'
@@ -79,6 +80,26 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:12:7: ( '(' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:12:9: '('
+            {
+            match('('); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -86,10 +107,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:12:7: ( '(' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:12:9: '('
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:13:7: ( ',' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:13:9: ','
             {
-            match('('); 
+            match(','); 
 
             }
 
@@ -106,10 +127,10 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:13:7: ( ',' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:13:9: ','
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:14:7: ( ')' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:14:9: ')'
             {
-            match(','); 
+            match(')'); 
 
             }
 
@@ -126,10 +147,10 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:14:7: ( ')' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:14:9: ')'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:15:7: ( '=' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:15:9: '='
             {
-            match(')'); 
+            match('='); 
 
             }
 
@@ -146,10 +167,11 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:15:7: ( '=' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:15:9: '='
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:16:7: ( 'AnnotationType' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:16:9: 'AnnotationType'
             {
-            match('='); 
+            match("AnnotationType"); 
+
 
             }
 
@@ -166,11 +188,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:16:7: ( 'AnnotationType' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:16:9: 'AnnotationType'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:17:7: ( '{' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:17:9: '{'
             {
-            match("AnnotationType"); 
-
+            match('{'); 
 
             }
 
@@ -187,10 +208,11 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:17:7: ( '{' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:17:9: '{'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:18:7: ( 'target' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:18:9: 'target'
             {
-            match('{'); 
+            match("target"); 
+
 
             }
 
@@ -207,11 +229,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:18:7: ( 'target' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:18:9: 'target'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:19:7: ( '}' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:19:9: '}'
             {
-            match("target"); 
-
+            match('}'); 
 
             }
 
@@ -228,10 +249,11 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:19:7: ( '}' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:19:9: '}'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:20:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:20:9: 'optional'
             {
-            match('}'); 
+            match("optional"); 
+
 
             }
 
@@ -248,10 +270,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:20:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:20:9: 'optional'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:21:7: ( 'mandatory' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:21:9: 'mandatory'
             {
-            match("optional"); 
+            match("mandatory"); 
 
 
             }
@@ -269,10 +291,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:21:7: ( 'mandatory' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:21:9: 'mandatory'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:22:7: ( 'attribute' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:22:9: 'attribute'
             {
-            match("mandatory"); 
+            match("attribute"); 
 
 
             }
@@ -290,11 +312,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:22:7: ( 'attribute' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:22:9: 'attribute'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:23:7: ( ':' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:23:9: ':'
             {
-            match("attribute"); 
-
+            match(':'); 
 
             }
 
@@ -311,10 +332,11 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:23:7: ( ':' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:23:9: ':'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:24:7: ( '.*' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:24:9: '.*'
             {
-            match(':'); 
+            match(".*"); 
+
 
             }
 
@@ -331,11 +353,10 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:24:7: ( '.*' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:24:9: '.*'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:25:7: ( '[' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:25:9: '['
             {
-            match(".*"); 
-
+            match('['); 
 
             }
 
@@ -352,10 +373,10 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:25:7: ( '[' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:25:9: '['
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:26:7: ( ']' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:26:9: ']'
             {
-            match('['); 
+            match(']'); 
 
             }
 
@@ -372,10 +393,11 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:26:7: ( ']' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:26:9: ']'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:27:7: ( 'false' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:27:9: 'false'
             {
-            match(']'); 
+            match("false"); 
+
 
             }
 
@@ -392,10 +414,10 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:27:7: ( 'false' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:27:9: 'false'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:28:7: ( 'true' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:28:9: 'true'
             {
-            match("false"); 
+            match("true"); 
 
 
             }
@@ -413,11 +435,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:28:7: ( 'true' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:28:9: 'true'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:29:7: ( '+' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:29:9: '+'
             {
-            match("true"); 
-
+            match('+'); 
 
             }
 
@@ -434,10 +455,10 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:29:7: ( '+' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:29:9: '+'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:30:7: ( '-' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:30:9: '-'
             {
-            match('+'); 
+            match('-'); 
 
             }
 
@@ -454,10 +475,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:30:7: ( '-' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:30:9: '-'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:31:7: ( '.' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:31:9: '.'
             {
-            match('-'); 
+            match('.'); 
 
             }
 
@@ -474,10 +495,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:31:7: ( '.' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:31:9: '.'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:32:7: ( 'e' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:32:9: 'e'
             {
-            match('.'); 
+            match('e'); 
 
             }
 
@@ -494,11 +515,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:32:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:32:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:33:7: ( 'E' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:33:9: 'E'
             {
-            match("ptBoolean"); 
-
+            match('E'); 
 
             }
 
@@ -515,10 +535,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:33:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:33:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:34:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:34:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -536,10 +556,10 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:34:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:34:9: 'ptReal'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:35:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:35:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -557,10 +577,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:35:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:35:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:36:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:36:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -573,42 +593,74 @@
     }
     // $ANTLR end "T__37"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__38"
+    public final void mT__38() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1594:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1594:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:37:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:37:9: 'ptCharacter'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("ptCharacter"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1594:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__38"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1398:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1398:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1398:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1398:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1398:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -616,23 +668,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1594:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1398:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1594:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -655,109 +715,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1596:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1596:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1596:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1596:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1596:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1596:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -765,19 +722,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1598:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1598:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1400:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1400:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1598:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1400:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1598:11: '^'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1400:11: '^'
                     {
                     match('^'); 
 
@@ -795,18 +752,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1598:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1400:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:
             	    {
@@ -824,7 +781,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -844,24 +801,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1600:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1600:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1402:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1402:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1600:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1402:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1600:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1402:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -869,12 +826,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -893,63 +850,55 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1602:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1602:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1404:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1404:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1602:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1404:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1602:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1404:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1602:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1404:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1602:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1404:21: '\\\\' .
                     	    {
                     	    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;}
-
+                    	    matchAny(); 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1602:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1404:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -965,7 +914,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -974,42 +923,34 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1602:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1404:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1602:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1404:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1602:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1404:54: '\\\\' .
                     	    {
                     	    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;}
-
+                    	    matchAny(); 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1602:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1404:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1025,7 +966,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -1052,37 +993,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1604:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1604:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1406:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1406:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1604:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1406:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1604:52: .
+            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1406:52: .
             	    {
             	    matchAny(); 
 
@@ -1090,7 +1031,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -1112,25 +1053,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1606:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1606:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1408:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1408:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1606:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1408:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1606:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1408: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();
@@ -1146,31 +1087,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1606:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1408:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1606:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1408:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1606:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1408:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1606:41: '\\r'
+                            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1408:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1202,22 +1143,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1608:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1608:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1410:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1410:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1608:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1410:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:
             	    {
@@ -1235,12 +1176,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -1259,8 +1200,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1610:16: ( . )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1610:18: .
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1412:16: ( . )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1412:18: .
             {
             matchAny(); 
 
@@ -1275,243 +1216,250 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:8: ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=34;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:8: ( 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 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=35;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:10: T__13
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:148: T__36
+            case 25 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:154: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:154: T__37
+            case 26 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:160: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:160: RULE_EXP
+            case 27 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:166: T__38
                 {
-                mRULE_EXP(); 
+                mT__38(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:169: RULE_HEX
+            case 28 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:172: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:178: RULE_ID
+            case 29 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:181: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:186: RULE_INT
+            case 30 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:189: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:195: RULE_STRING
+            case 31 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:198: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:207: RULE_ML_COMMENT
+            case 32 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:210: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:223: RULE_SL_COMMENT
+            case 33 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:226: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 33 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:239: RULE_WS
+            case 34 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:242: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 34 :
-                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:247: RULE_ANY_OTHER
+            case 35 :
+                // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1:250: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -1523,85 +1471,86 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\6\uffff\1\45\1\uffff\1\45\1\uffff\3\45\1\uffff\1\57\2\uffff\1"+
-        "\45\2\uffff\2\45\1\71\1\36\2\uffff\3\36\7\uffff\1\45\2\uffff\2\45"+
-        "\1\uffff\3\45\5\uffff\1\45\2\uffff\1\45\1\uffff\1\66\6\uffff\15"+
-        "\45\1\126\12\45\1\uffff\3\45\1\144\5\45\1\152\3\45\1\uffff\2\45"+
-        "\1\160\2\45\1\uffff\5\45\1\uffff\2\45\1\172\6\45\1\uffff\1\u0081"+
-        "\1\u0082\1\u0083\1\u0084\2\45\4\uffff\2\45\1\u0089\1\45\1\uffff"+
-        "\1\45\1\u008c\1\uffff";
-    static final String DFA16_eofS =
-        "\u008d\uffff";
-    static final String DFA16_minS =
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\6\uffff\1\46\1\uffff\1\46\1\uffff\3\46\1\uffff\1\60\2\uffff\1"+
+        "\46\2\uffff\1\66\1\67\1\46\1\72\1\37\2\uffff\3\37\7\uffff\1\46\2"+
+        "\uffff\2\46\1\uffff\3\46\5\uffff\1\46\4\uffff\1\46\6\uffff\15\46"+
+        "\1\127\12\46\1\uffff\3\46\1\145\5\46\1\153\3\46\1\uffff\2\46\1\161"+
+        "\2\46\1\uffff\5\46\1\uffff\2\46\1\173\6\46\1\uffff\1\u0082\1\u0083"+
+        "\1\u0084\1\u0085\2\46\4\uffff\2\46\1\u008a\1\46\1\uffff\1\46\1\u008d"+
+        "\1\uffff";
+    static final String DFA14_eofS =
+        "\u008e\uffff";
+    static final String DFA14_minS =
         "\1\0\5\uffff\1\156\1\uffff\1\141\1\uffff\1\160\1\141\1\164\1\uffff"+
-        "\1\52\2\uffff\1\141\2\uffff\1\164\1\53\1\130\1\101\2\uffff\2\0\1"+
+        "\1\52\2\uffff\1\141\2\uffff\2\60\1\164\1\130\1\101\2\uffff\2\0\1"+
         "\52\7\uffff\1\156\2\uffff\1\162\1\165\1\uffff\1\164\1\156\1\164"+
-        "\5\uffff\1\154\2\uffff\1\102\1\uffff\1\60\6\uffff\1\157\1\147\1"+
-        "\145\1\151\1\144\1\162\1\163\1\157\1\156\1\145\1\150\1\164\1\145"+
-        "\1\60\1\157\1\141\1\151\1\145\1\157\1\164\3\141\1\164\1\uffff\1"+
-        "\156\1\164\1\142\1\60\1\154\1\145\1\154\1\162\1\164\1\60\1\141\1"+
-        "\157\1\165\1\uffff\1\145\1\147\1\60\1\141\1\151\1\uffff\1\154\1"+
-        "\162\1\164\1\141\1\145\1\uffff\1\143\1\157\1\60\1\171\1\145\1\156"+
-        "\1\162\1\164\1\156\1\uffff\4\60\1\145\1\124\4\uffff\1\162\1\171"+
-        "\1\60\1\160\1\uffff\1\145\1\60\1\uffff";
-    static final String DFA16_maxS =
+        "\5\uffff\1\154\4\uffff\1\102\6\uffff\1\157\1\147\1\145\1\151\1\144"+
+        "\1\162\1\163\1\157\1\156\1\145\1\150\1\164\1\145\1\60\1\157\1\141"+
+        "\1\151\1\145\1\157\1\164\3\141\1\164\1\uffff\1\156\1\164\1\142\1"+
+        "\60\1\154\1\145\1\154\1\162\1\164\1\60\1\141\1\157\1\165\1\uffff"+
+        "\1\145\1\147\1\60\1\141\1\151\1\uffff\1\154\1\162\1\164\1\141\1"+
+        "\145\1\uffff\1\143\1\157\1\60\1\171\1\145\1\156\1\162\1\164\1\156"+
+        "\1\uffff\4\60\1\145\1\124\4\uffff\1\162\1\171\1\60\1\160\1\uffff"+
+        "\1\145\1\60\1\uffff";
+    static final String DFA14_maxS =
         "\1\uffff\5\uffff\1\156\1\uffff\1\162\1\uffff\1\160\1\141\1\164"+
-        "\1\uffff\1\52\2\uffff\1\141\2\uffff\1\164\1\71\1\170\1\172\2\uffff"+
+        "\1\uffff\1\52\2\uffff\1\141\2\uffff\2\172\1\164\1\170\1\172\2\uffff"+
         "\2\uffff\1\57\7\uffff\1\156\2\uffff\1\162\1\165\1\uffff\1\164\1"+
-        "\156\1\164\5\uffff\1\154\2\uffff\1\122\1\uffff\1\172\6\uffff\1\157"+
-        "\1\147\1\145\1\151\1\144\1\162\1\163\1\157\1\156\1\145\1\150\1\164"+
-        "\1\145\1\172\1\157\1\141\1\151\1\145\1\157\1\164\3\141\1\164\1\uffff"+
-        "\1\156\1\164\1\142\1\172\1\154\1\145\1\154\1\162\1\164\1\172\1\141"+
-        "\1\157\1\165\1\uffff\1\145\1\147\1\172\1\141\1\151\1\uffff\1\154"+
-        "\1\162\1\164\1\141\1\145\1\uffff\1\143\1\157\1\172\1\171\1\145\1"+
-        "\156\1\162\1\164\1\156\1\uffff\4\172\1\145\1\124\4\uffff\1\162\1"+
-        "\171\1\172\1\160\1\uffff\1\145\1\172\1\uffff";
-    static final String DFA16_acceptS =
+        "\156\1\164\5\uffff\1\154\4\uffff\1\122\6\uffff\1\157\1\147\1\145"+
+        "\1\151\1\144\1\162\1\163\1\157\1\156\1\145\1\150\1\164\1\145\1\172"+
+        "\1\157\1\141\1\151\1\145\1\157\1\164\3\141\1\164\1\uffff\1\156\1"+
+        "\164\1\142\1\172\1\154\1\145\1\154\1\162\1\164\1\172\1\141\1\157"+
+        "\1\165\1\uffff\1\145\1\147\1\172\1\141\1\151\1\uffff\1\154\1\162"+
+        "\1\164\1\141\1\145\1\uffff\1\143\1\157\1\172\1\171\1\145\1\156\1"+
+        "\162\1\164\1\156\1\uffff\4\172\1\145\1\124\4\uffff\1\162\1\171\1"+
+        "\172\1\160\1\uffff\1\145\1\172\1\uffff";
+    static final String DFA14_acceptS =
         "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\uffff\1\7\1\uffff\1\11\3\uffff\1"+
-        "\15\1\uffff\1\17\1\20\1\uffff\1\23\1\24\4\uffff\1\34\1\35\3\uffff"+
-        "\1\41\1\42\1\1\1\2\1\3\1\4\1\5\1\uffff\1\34\1\7\2\uffff\1\11\3\uffff"+
-        "\1\15\1\16\1\25\1\17\1\20\1\uffff\1\23\1\24\1\uffff\1\32\1\uffff"+
-        "\1\33\1\35\1\36\1\37\1\40\1\41\30\uffff\1\22\15\uffff\1\21\5\uffff"+
-        "\1\10\5\uffff\1\30\11\uffff\1\12\6\uffff\1\13\1\14\1\26\1\27\4\uffff"+
-        "\1\31\2\uffff\1\6";
-    static final String DFA16_specialS =
-        "\1\0\31\uffff\1\1\1\2\161\uffff}>";
-    static final String[] DFA16_transitionS = {
-            "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\32\4\36\1\33\1\2\1"+
-            "\4\1\36\1\22\1\3\1\23\1\16\1\34\1\26\11\31\1\15\2\36\1\5\2\36"+
-            "\1\1\1\6\3\30\1\25\25\30\1\17\1\36\1\20\1\27\1\30\1\36\1\14"+
-            "\3\30\1\25\1\21\6\30\1\13\1\30\1\12\1\24\3\30\1\10\6\30\1\7"+
-            "\1\36\1\11\uff82\36",
+        "\15\1\uffff\1\17\1\20\1\uffff\1\23\1\24\5\uffff\1\35\1\36\3\uffff"+
+        "\1\42\1\43\1\1\1\2\1\3\1\4\1\5\1\uffff\1\35\1\7\2\uffff\1\11\3\uffff"+
+        "\1\15\1\16\1\25\1\17\1\20\1\uffff\1\23\1\24\1\26\1\27\1\uffff\1"+
+        "\34\1\36\1\37\1\40\1\41\1\42\30\uffff\1\22\15\uffff\1\21\5\uffff"+
+        "\1\10\5\uffff\1\32\11\uffff\1\12\6\uffff\1\13\1\14\1\30\1\31\4\uffff"+
+        "\1\33\2\uffff\1\6";
+    static final String DFA14_specialS =
+        "\1\0\32\uffff\1\2\1\1\161\uffff}>";
+    static final String[] DFA14_transitionS = {
+            "\11\37\2\36\2\37\1\36\22\37\1\36\1\37\1\33\4\37\1\34\1\2\1"+
+            "\4\1\37\1\22\1\3\1\23\1\16\1\35\1\27\11\32\1\15\2\37\1\5\2\37"+
+            "\1\1\1\6\3\31\1\25\25\31\1\17\1\37\1\20\1\30\1\31\1\37\1\14"+
+            "\3\31\1\24\1\21\6\31\1\13\1\31\1\12\1\26\3\31\1\10\6\31\1\7"+
+            "\1\37\1\11\uff82\37",
             "",
             "",
             "",
             "",
             "",
-            "\1\44",
+            "\1\45",
             "",
-            "\1\47\20\uffff\1\50",
+            "\1\50\20\uffff\1\51",
             "",
-            "\1\52",
             "\1\53",
             "\1\54",
+            "\1\55",
             "",
-            "\1\56",
+            "\1\57",
             "",
             "",
-            "\1\62",
+            "\1\63",
             "",
             "",
-            "\1\65",
-            "\1\66\1\uffff\1\66\2\uffff\12\67",
-            "\1\70\37\uffff\1\70",
-            "\32\45\4\uffff\1\45\1\uffff\32\45",
+            "\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\70",
+            "\1\71\37\uffff\1\71",
+            "\32\46\4\uffff\1\46\1\uffff\32\46",
             "",
             "",
-            "\0\72",
-            "\0\72",
-            "\1\73\4\uffff\1\74",
+            "\0\73",
+            "\0\73",
+            "\1\74\4\uffff\1\75",
             "",
             "",
             "",
@@ -1609,33 +1558,32 @@
             "",
             "",
             "",
-            "\1\76",
-            "",
-            "",
             "\1\77",
-            "\1\100",
             "",
+            "",
+            "\1\100",
             "\1\101",
+            "",
             "\1\102",
             "\1\103",
-            "",
-            "",
-            "",
-            "",
-            "",
             "\1\104",
             "",
             "",
-            "\1\105\1\110\5\uffff\1\106\10\uffff\1\107",
             "",
-            "\12\67\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
+            "",
+            "\1\105",
+            "",
+            "",
+            "",
+            "",
+            "\1\106\1\111\5\uffff\1\107\10\uffff\1\110",
             "",
             "",
             "",
             "",
             "",
             "",
-            "\1\111",
             "\1\112",
             "\1\113",
             "\1\114",
@@ -1648,8 +1596,8 @@
             "\1\123",
             "\1\124",
             "\1\125",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\127",
+            "\1\126",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\130",
             "\1\131",
             "\1\132",
@@ -1659,188 +1607,191 @@
             "\1\136",
             "\1\137",
             "\1\140",
-            "",
             "\1\141",
+            "",
             "\1\142",
             "\1\143",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\145",
+            "\1\144",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\146",
             "\1\147",
             "\1\150",
             "\1\151",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\153",
+            "\1\152",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\154",
             "\1\155",
-            "",
             "\1\156",
-            "\1\157",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\161",
-            "\1\162",
             "",
+            "\1\157",
+            "\1\160",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
+            "\1\162",
             "\1\163",
+            "",
             "\1\164",
             "\1\165",
             "\1\166",
             "\1\167",
-            "",
             "\1\170",
+            "",
             "\1\171",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\173",
+            "\1\172",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\174",
             "\1\175",
             "\1\176",
             "\1\177",
             "\1\u0080",
+            "\1\u0081",
             "",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u0085",
+            "\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",
+            "\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\u0086",
-            "",
-            "",
-            "",
-            "",
             "\1\u0087",
-            "\1\u0088",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-            "\1\u008a",
             "",
+            "",
+            "",
+            "",
+            "\1\u0088",
+            "\1\u0089",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             "\1\u008b",
-            "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+            "",
+            "\1\u008c",
+            "\12\46\7\uffff\32\46\4\uffff\1\46\1\uffff\32\46",
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( 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 | RULE_HEX | 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 LA16_0 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='@') ) {s = 1;}
+                        if ( (LA14_0=='@') ) {s = 1;}
 
-                        else if ( (LA16_0=='(') ) {s = 2;}
+                        else if ( (LA14_0=='(') ) {s = 2;}
 
-                        else if ( (LA16_0==',') ) {s = 3;}
+                        else if ( (LA14_0==',') ) {s = 3;}
 
-                        else if ( (LA16_0==')') ) {s = 4;}
+                        else if ( (LA14_0==')') ) {s = 4;}
 
-                        else if ( (LA16_0=='=') ) {s = 5;}
+                        else if ( (LA14_0=='=') ) {s = 5;}
 
-                        else if ( (LA16_0=='A') ) {s = 6;}
+                        else if ( (LA14_0=='A') ) {s = 6;}
 
-                        else if ( (LA16_0=='{') ) {s = 7;}
+                        else if ( (LA14_0=='{') ) {s = 7;}
 
-                        else if ( (LA16_0=='t') ) {s = 8;}
+                        else if ( (LA14_0=='t') ) {s = 8;}
 
-                        else if ( (LA16_0=='}') ) {s = 9;}
+                        else if ( (LA14_0=='}') ) {s = 9;}
 
-                        else if ( (LA16_0=='o') ) {s = 10;}
+                        else if ( (LA14_0=='o') ) {s = 10;}
 
-                        else if ( (LA16_0=='m') ) {s = 11;}
+                        else if ( (LA14_0=='m') ) {s = 11;}
 
-                        else if ( (LA16_0=='a') ) {s = 12;}
+                        else if ( (LA14_0=='a') ) {s = 12;}
 
-                        else if ( (LA16_0==':') ) {s = 13;}
+                        else if ( (LA14_0==':') ) {s = 13;}
 
-                        else if ( (LA16_0=='.') ) {s = 14;}
+                        else if ( (LA14_0=='.') ) {s = 14;}
 
-                        else if ( (LA16_0=='[') ) {s = 15;}
+                        else if ( (LA14_0=='[') ) {s = 15;}
 
-                        else if ( (LA16_0==']') ) {s = 16;}
+                        else if ( (LA14_0==']') ) {s = 16;}
 
-                        else if ( (LA16_0=='f') ) {s = 17;}
+                        else if ( (LA14_0=='f') ) {s = 17;}
 
-                        else if ( (LA16_0=='+') ) {s = 18;}
+                        else if ( (LA14_0=='+') ) {s = 18;}
 
-                        else if ( (LA16_0=='-') ) {s = 19;}
+                        else if ( (LA14_0=='-') ) {s = 19;}
 
-                        else if ( (LA16_0=='p') ) {s = 20;}
+                        else if ( (LA14_0=='e') ) {s = 20;}
 
-                        else if ( (LA16_0=='E'||LA16_0=='e') ) {s = 21;}
+                        else if ( (LA14_0=='E') ) {s = 21;}
 
-                        else if ( (LA16_0=='0') ) {s = 22;}
+                        else if ( (LA14_0=='p') ) {s = 22;}
 
-                        else if ( (LA16_0=='^') ) {s = 23;}
+                        else if ( (LA14_0=='0') ) {s = 23;}
 
-                        else if ( ((LA16_0>='B' && LA16_0<='D')||(LA16_0>='F' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='b' && LA16_0<='d')||(LA16_0>='g' && LA16_0<='l')||LA16_0=='n'||(LA16_0>='q' && LA16_0<='s')||(LA16_0>='u' && LA16_0<='z')) ) {s = 24;}
+                        else if ( (LA14_0=='^') ) {s = 24;}
 
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 25;}
+                        else if ( ((LA14_0>='B' && LA14_0<='D')||(LA14_0>='F' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='b' && LA14_0<='d')||(LA14_0>='g' && LA14_0<='l')||LA14_0=='n'||(LA14_0>='q' && LA14_0<='s')||(LA14_0>='u' && LA14_0<='z')) ) {s = 25;}
 
-                        else if ( (LA16_0=='\"') ) {s = 26;}
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 26;}
 
-                        else if ( (LA16_0=='\'') ) {s = 27;}
+                        else if ( (LA14_0=='\"') ) {s = 27;}
 
-                        else if ( (LA16_0=='/') ) {s = 28;}
+                        else if ( (LA14_0=='\'') ) {s = 28;}
 
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 29;}
+                        else if ( (LA14_0=='/') ) {s = 29;}
 
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||LA16_0=='*'||(LA16_0>=';' && LA16_0<='<')||(LA16_0>='>' && LA16_0<='?')||LA16_0=='\\'||LA16_0=='`'||LA16_0=='|'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 30;}
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 30;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||LA14_0=='*'||(LA14_0>=';' && LA14_0<='<')||(LA14_0>='>' && LA14_0<='?')||LA14_0=='\\'||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 31;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_26 = input.LA(1);
+                        int LA14_28 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_26>='\u0000' && LA16_26<='\uFFFF')) ) {s = 58;}
+                        if ( ((LA14_28>='\u0000' && LA14_28<='\uFFFF')) ) {s = 59;}
 
-                        else s = 30;
+                        else s = 31;
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA16_27 = input.LA(1);
+                        int LA14_27 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_27>='\u0000' && LA16_27<='\uFFFF')) ) {s = 58;}
+                        if ( ((LA14_27>='\u0000' && LA14_27<='\uFFFF')) ) {s = 59;}
 
-                        else s = 30;
+                        else s = 31;
 
                         if ( s>=0 ) return s;
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTestParser.java b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTestParser.java
index 49ad4e6..ba01841 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTestParser.java
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTestParser.java
@@ -22,43 +22,44 @@
 @SuppressWarnings("all")
 public class InternalBaseTestParser extends AbstractInternalAntlrParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_EXP", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'@'", "'('", "','", "')'", "'='", "'AnnotationType'", "'{'", "'target'", "'}'", "'optional'", "'mandatory'", "'attribute'", "':'", "'.*'", "'['", "']'", "'false'", "'true'", "'+'", "'-'", "'.'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'@'", "'('", "','", "')'", "'='", "'AnnotationType'", "'{'", "'target'", "'}'", "'optional'", "'mandatory'", "'attribute'", "':'", "'.*'", "'['", "']'", "'false'", "'true'", "'+'", "'-'", "'.'", "'e'", "'E'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
     };
-    public static final int RULE_EXP=8;
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int EOF=-1;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__19=19;
-    public static final int T__31=31;
     public static final int RULE_HEX=7;
     public static final int RULE_STRING=5;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__16=16;
-    public static final int T__34=34;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__19=19;
     public static final int T__15=15;
-    public static final int T__35=35;
-    public static final int T__18=18;
-    public static final int T__36=36;
-    public static final int T__17=17;
     public static final int T__37=37;
-    public static final int T__14=14;
+    public static final int T__16=16;
+    public static final int T__38=38;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__33=33;
+    public static final int T__12=12;
+    public static final int T__34=34;
     public static final int T__13=13;
+    public static final int T__35=35;
+    public static final int T__14=14;
+    public static final int T__36=36;
+    public static final int EOF=-1;
+    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_ID=4;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int RULE_WS=11;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
 
     // delegates
     // delegators
@@ -156,7 +157,7 @@
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( (LA2_0==13||LA2_0==18) ) {
+                if ( (LA2_0==12||LA2_0==17) ) {
                     alt2=1;
                 }
 
@@ -172,10 +173,10 @@
             	    int alt1=2;
             	    int LA1_0 = input.LA(1);
 
-            	    if ( (LA1_0==13) ) {
+            	    if ( (LA1_0==12) ) {
             	        alt1=1;
             	    }
-            	    else if ( (LA1_0==18) ) {
+            	    else if ( (LA1_0==17) ) {
             	        alt1=2;
             	    }
             	    else {
@@ -326,7 +327,7 @@
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:138:1: (otherlv_0= '@' ( ( ruleFQN ) ) (otherlv_2= '(' ( (lv_attributes_3_0= ruleKeyValue ) ) (otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) ) )* otherlv_6= ')' )? )
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:138:3: otherlv_0= '@' ( ( ruleFQN ) ) (otherlv_2= '(' ( (lv_attributes_3_0= ruleKeyValue ) ) (otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) ) )* otherlv_6= ')' )?
             {
-            otherlv_0=(Token)match(input,13,FOLLOW_13_in_ruleAnnotation237); 
+            otherlv_0=(Token)match(input,12,FOLLOW_12_in_ruleAnnotation237); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getAnnotationAccess().getCommercialAtKeyword_0());
                 
@@ -362,14 +363,14 @@
             int alt4=2;
             int LA4_0 = input.LA(1);
 
-            if ( (LA4_0==14) ) {
+            if ( (LA4_0==13) ) {
                 alt4=1;
             }
             switch (alt4) {
                 case 1 :
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:157:4: otherlv_2= '(' ( (lv_attributes_3_0= ruleKeyValue ) ) (otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) ) )* otherlv_6= ')'
                     {
-                    otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleAnnotation273); 
+                    otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleAnnotation273); 
 
                         	newLeafNode(otherlv_2, grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_2_0());
                         
@@ -410,7 +411,7 @@
                         int alt3=2;
                         int LA3_0 = input.LA(1);
 
-                        if ( (LA3_0==15) ) {
+                        if ( (LA3_0==14) ) {
                             alt3=1;
                         }
 
@@ -419,7 +420,7 @@
                     	case 1 :
                     	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:179:4: otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) )
                     	    {
-                    	    otherlv_4=(Token)match(input,15,FOLLOW_15_in_ruleAnnotation307); 
+                    	    otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleAnnotation307); 
 
                     	        	newLeafNode(otherlv_4, grammarAccess.getAnnotationAccess().getCommaKeyword_2_2_0());
                     	        
@@ -463,7 +464,7 @@
                         }
                     } while (true);
 
-                    otherlv_6=(Token)match(input,16,FOLLOW_16_in_ruleAnnotation342); 
+                    otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleAnnotation342); 
 
                         	newLeafNode(otherlv_6, grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_2_3());
                         
@@ -574,7 +575,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,17,FOLLOW_17_in_ruleKeyValue449); 
+            otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleKeyValue449); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1());
                 
@@ -699,7 +700,7 @@
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:287:1: (otherlv_0= 'AnnotationType' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' otherlv_4= 'target' otherlv_5= '=' ( ( (lv_targets_6_0= ruleAnnotationTargetType ) ) | (otherlv_7= '{' ( (lv_targets_8_0= ruleAnnotationTargetType ) ) (otherlv_9= ',' ( (lv_targets_10_0= ruleAnnotationTargetType ) ) )* otherlv_11= '}' ) ) ( (lv_attributes_12_0= ruleAnnotationAttribute ) )* otherlv_13= '}' )
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:287:3: otherlv_0= 'AnnotationType' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' otherlv_4= 'target' otherlv_5= '=' ( ( (lv_targets_6_0= ruleAnnotationTargetType ) ) | (otherlv_7= '{' ( (lv_targets_8_0= ruleAnnotationTargetType ) ) (otherlv_9= ',' ( (lv_targets_10_0= ruleAnnotationTargetType ) ) )* otherlv_11= '}' ) ) ( (lv_attributes_12_0= ruleAnnotationAttribute ) )* otherlv_13= '}'
             {
-            otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleAnnotationType553); 
+            otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleAnnotationType553); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getAnnotationTypeAccess().getAnnotationTypeKeyword_0());
                 
@@ -733,7 +734,7 @@
             int alt5=2;
             int LA5_0 = input.LA(1);
 
-            if ( (LA5_0==27) ) {
+            if ( (LA5_0==26) ) {
                 alt5=1;
             }
             switch (alt5) {
@@ -771,15 +772,15 @@
 
             }
 
-            otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleAnnotationType609); 
+            otherlv_3=(Token)match(input,18,FOLLOW_18_in_ruleAnnotationType609); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getAnnotationTypeAccess().getLeftCurlyBracketKeyword_3());
                 
-            otherlv_4=(Token)match(input,20,FOLLOW_20_in_ruleAnnotationType621); 
+            otherlv_4=(Token)match(input,19,FOLLOW_19_in_ruleAnnotationType621); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getAnnotationTypeAccess().getTargetKeyword_4());
                 
-            otherlv_5=(Token)match(input,17,FOLLOW_17_in_ruleAnnotationType633); 
+            otherlv_5=(Token)match(input,16,FOLLOW_16_in_ruleAnnotationType633); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getAnnotationTypeAccess().getEqualsSignKeyword_5());
                 
@@ -790,7 +791,7 @@
             if ( (LA7_0==RULE_ID) ) {
                 alt7=1;
             }
-            else if ( (LA7_0==19) ) {
+            else if ( (LA7_0==18) ) {
                 alt7=2;
             }
             else {
@@ -843,7 +844,7 @@
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:358:6: (otherlv_7= '{' ( (lv_targets_8_0= ruleAnnotationTargetType ) ) (otherlv_9= ',' ( (lv_targets_10_0= ruleAnnotationTargetType ) ) )* otherlv_11= '}' )
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:358:8: otherlv_7= '{' ( (lv_targets_8_0= ruleAnnotationTargetType ) ) (otherlv_9= ',' ( (lv_targets_10_0= ruleAnnotationTargetType ) ) )* otherlv_11= '}'
                     {
-                    otherlv_7=(Token)match(input,19,FOLLOW_19_in_ruleAnnotationType674); 
+                    otherlv_7=(Token)match(input,18,FOLLOW_18_in_ruleAnnotationType674); 
 
                         	newLeafNode(otherlv_7, grammarAccess.getAnnotationTypeAccess().getLeftCurlyBracketKeyword_6_1_0());
                         
@@ -884,7 +885,7 @@
                         int alt6=2;
                         int LA6_0 = input.LA(1);
 
-                        if ( (LA6_0==15) ) {
+                        if ( (LA6_0==14) ) {
                             alt6=1;
                         }
 
@@ -893,7 +894,7 @@
                     	case 1 :
                     	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:380:4: otherlv_9= ',' ( (lv_targets_10_0= ruleAnnotationTargetType ) )
                     	    {
-                    	    otherlv_9=(Token)match(input,15,FOLLOW_15_in_ruleAnnotationType708); 
+                    	    otherlv_9=(Token)match(input,14,FOLLOW_14_in_ruleAnnotationType708); 
 
                     	        	newLeafNode(otherlv_9, grammarAccess.getAnnotationTypeAccess().getCommaKeyword_6_1_2_0());
                     	        
@@ -937,7 +938,7 @@
                         }
                     } while (true);
 
-                    otherlv_11=(Token)match(input,21,FOLLOW_21_in_ruleAnnotationType743); 
+                    otherlv_11=(Token)match(input,20,FOLLOW_20_in_ruleAnnotationType743); 
 
                         	newLeafNode(otherlv_11, grammarAccess.getAnnotationTypeAccess().getRightCurlyBracketKeyword_6_1_3());
                         
@@ -956,7 +957,7 @@
                 int alt8=2;
                 int LA8_0 = input.LA(1);
 
-                if ( ((LA8_0>=22 && LA8_0<=23)) ) {
+                if ( ((LA8_0>=21 && LA8_0<=22)) ) {
                     alt8=1;
                 }
 
@@ -999,7 +1000,7 @@
                 }
             } while (true);
 
-            otherlv_13=(Token)match(input,21,FOLLOW_21_in_ruleAnnotationType779); 
+            otherlv_13=(Token)match(input,20,FOLLOW_20_in_ruleAnnotationType779); 
 
                 	newLeafNode(otherlv_13, grammarAccess.getAnnotationTypeAccess().getRightCurlyBracketKeyword_8());
                 
@@ -1152,22 +1153,22 @@
             int alt9=2;
             int LA9_0 = input.LA(1);
 
-            if ( (LA9_0==22) ) {
+            if ( (LA9_0==21) ) {
                 int LA9_1 = input.LA(2);
 
-                if ( (LA9_1==24) ) {
+                if ( (LA9_1==23) ) {
                     int LA9_3 = input.LA(3);
 
                     if ( (LA9_3==RULE_ID) ) {
                         int LA9_4 = input.LA(4);
 
-                        if ( (LA9_4==25) ) {
+                        if ( (LA9_4==24) ) {
                             int LA9_5 = input.LA(5);
 
-                            if ( (LA9_5==19) ) {
+                            if ( (LA9_5==18) ) {
                                 alt9=2;
                             }
-                            else if ( ((LA9_5>=34 && LA9_5<=37)) ) {
+                            else if ( ((LA9_5>=35 && LA9_5<=38)) ) {
                                 alt9=1;
                             }
                             else {
@@ -1198,22 +1199,22 @@
                     throw nvae;
                 }
             }
-            else if ( (LA9_0==23) ) {
+            else if ( (LA9_0==22) ) {
                 int LA9_2 = input.LA(2);
 
-                if ( (LA9_2==24) ) {
+                if ( (LA9_2==23) ) {
                     int LA9_3 = input.LA(3);
 
                     if ( (LA9_3==RULE_ID) ) {
                         int LA9_4 = input.LA(4);
 
-                        if ( (LA9_4==25) ) {
+                        if ( (LA9_4==24) ) {
                             int LA9_5 = input.LA(5);
 
-                            if ( (LA9_5==19) ) {
+                            if ( (LA9_5==18) ) {
                                 alt9=2;
                             }
-                            else if ( ((LA9_5>=34 && LA9_5<=37)) ) {
+                            else if ( ((LA9_5>=35 && LA9_5<=38)) ) {
                                 alt9=1;
                             }
                             else {
@@ -1369,10 +1370,10 @@
             int alt10=2;
             int LA10_0 = input.LA(1);
 
-            if ( (LA10_0==22) ) {
+            if ( (LA10_0==21) ) {
                 alt10=1;
             }
-            else if ( (LA10_0==23) ) {
+            else if ( (LA10_0==22) ) {
                 alt10=2;
             }
             else {
@@ -1391,7 +1392,7 @@
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:518:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:519:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,22,FOLLOW_22_in_ruleSimpleAnnotationAttribute1083); 
+                    lv_optional_0_0=(Token)match(input,21,FOLLOW_21_in_ruleSimpleAnnotationAttribute1083); 
 
                             newLeafNode(lv_optional_0_0, grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
                         
@@ -1413,7 +1414,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:533:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,23,FOLLOW_23_in_ruleSimpleAnnotationAttribute1114); 
+                    otherlv_1=(Token)match(input,22,FOLLOW_22_in_ruleSimpleAnnotationAttribute1114); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1());
                         
@@ -1423,7 +1424,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleSimpleAnnotationAttribute1127); 
+            otherlv_2=(Token)match(input,23,FOLLOW_23_in_ruleSimpleAnnotationAttribute1127); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1());
                 
@@ -1453,7 +1454,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleSimpleAnnotationAttribute1161); 
+            otherlv_4=(Token)match(input,24,FOLLOW_24_in_ruleSimpleAnnotationAttribute1161); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3());
                 
@@ -1573,10 +1574,10 @@
             int alt11=2;
             int LA11_0 = input.LA(1);
 
-            if ( (LA11_0==22) ) {
+            if ( (LA11_0==21) ) {
                 alt11=1;
             }
-            else if ( (LA11_0==23) ) {
+            else if ( (LA11_0==22) ) {
                 alt11=2;
             }
             else {
@@ -1595,7 +1596,7 @@
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:603:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:604:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,22,FOLLOW_22_in_ruleEnumAnnotationAttribute1272); 
+                    lv_optional_0_0=(Token)match(input,21,FOLLOW_21_in_ruleEnumAnnotationAttribute1272); 
 
                             newLeafNode(lv_optional_0_0, grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
                         
@@ -1617,7 +1618,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:618:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,23,FOLLOW_23_in_ruleEnumAnnotationAttribute1303); 
+                    otherlv_1=(Token)match(input,22,FOLLOW_22_in_ruleEnumAnnotationAttribute1303); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1());
                         
@@ -1627,7 +1628,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,24,FOLLOW_24_in_ruleEnumAnnotationAttribute1316); 
+            otherlv_2=(Token)match(input,23,FOLLOW_23_in_ruleEnumAnnotationAttribute1316); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1());
                 
@@ -1657,11 +1658,11 @@
 
             }
 
-            otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleEnumAnnotationAttribute1350); 
+            otherlv_4=(Token)match(input,24,FOLLOW_24_in_ruleEnumAnnotationAttribute1350); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3());
                 
-            otherlv_5=(Token)match(input,19,FOLLOW_19_in_ruleEnumAnnotationAttribute1362); 
+            otherlv_5=(Token)match(input,18,FOLLOW_18_in_ruleEnumAnnotationAttribute1362); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4());
                 
@@ -1697,7 +1698,7 @@
                 int alt12=2;
                 int LA12_0 = input.LA(1);
 
-                if ( (LA12_0==15) ) {
+                if ( (LA12_0==14) ) {
                     alt12=1;
                 }
 
@@ -1706,7 +1707,7 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:670:4: otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) )
             	    {
-            	    otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleEnumAnnotationAttribute1397); 
+            	    otherlv_7=(Token)match(input,14,FOLLOW_14_in_ruleEnumAnnotationAttribute1397); 
 
             	        	newLeafNode(otherlv_7, grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0());
             	        
@@ -1745,7 +1746,7 @@
                 }
             } while (true);
 
-            otherlv_9=(Token)match(input,21,FOLLOW_21_in_ruleEnumAnnotationAttribute1433); 
+            otherlv_9=(Token)match(input,20,FOLLOW_20_in_ruleEnumAnnotationAttribute1433); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7());
                 
@@ -1841,14 +1842,14 @@
             int alt13=2;
             int LA13_0 = input.LA(1);
 
-            if ( (LA13_0==26) ) {
+            if ( (LA13_0==25) ) {
                 alt13=1;
             }
             switch (alt13) {
                 case 1 :
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:731:2: kw= '.*'
                     {
-                    kw=(Token)match(input,26,FOLLOW_26_in_ruleImportedFQN1549); 
+                    kw=(Token)match(input,25,FOLLOW_25_in_ruleImportedFQN1549); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
@@ -1944,7 +1945,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,27,FOLLOW_27_in_ruleDocumentation1647); 
+            otherlv_1=(Token)match(input,26,FOLLOW_26_in_ruleDocumentation1647); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1());
                 
@@ -1992,7 +1993,7 @@
                 }
             } while (true);
 
-            otherlv_3=(Token)match(input,28,FOLLOW_28_in_ruleDocumentation1682); 
+            otherlv_3=(Token)match(input,27,FOLLOW_27_in_ruleDocumentation1682); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3());
                 
@@ -2073,17 +2074,16 @@
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:814:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
             int alt15=3;
             switch ( input.LA(1) ) {
+            case 28:
             case 29:
-            case 30:
                 {
                 alt15=1;
                 }
                 break;
             case RULE_INT:
             case RULE_HEX:
+            case 30:
             case 31:
-            case 32:
-            case 33:
                 {
                 alt15=2;
                 }
@@ -2243,10 +2243,10 @@
             int alt16=2;
             int LA16_0 = input.LA(1);
 
-            if ( (LA16_0==29) ) {
+            if ( (LA16_0==28) ) {
                 alt16=1;
             }
-            else if ( (LA16_0==30) ) {
+            else if ( (LA16_0==29) ) {
                 alt16=2;
             }
             else {
@@ -2259,7 +2259,7 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:870:4: otherlv_1= 'false'
                     {
-                    otherlv_1=(Token)match(input,29,FOLLOW_29_in_ruleBooleanLiteral1925); 
+                    otherlv_1=(Token)match(input,28,FOLLOW_28_in_ruleBooleanLiteral1925); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0());
                         
@@ -2275,7 +2275,7 @@
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:876:1: (lv_isTrue_2_0= 'true' )
                     // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:877:3: lv_isTrue_2_0= 'true'
                     {
-                    lv_isTrue_2_0=(Token)match(input,30,FOLLOW_30_in_ruleBooleanLiteral1949); 
+                    lv_isTrue_2_0=(Token)match(input,29,FOLLOW_29_in_ruleBooleanLiteral1949); 
 
                             newLeafNode(lv_isTrue_2_0, grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
                         
@@ -2372,19 +2372,19 @@
             // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:911:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
             int alt17=2;
             switch ( input.LA(1) ) {
-            case 31:
+            case 30:
                 {
                 int LA17_1 = input.LA(2);
 
                 if ( (LA17_1==RULE_INT) ) {
                     int LA17_3 = input.LA(3);
 
-                    if ( (LA17_3==33) ) {
-                        alt17=2;
-                    }
-                    else if ( (LA17_3==EOF||(LA17_3>=15 && LA17_3<=16)) ) {
+                    if ( (LA17_3==EOF||(LA17_3>=14 && LA17_3<=15)) ) {
                         alt17=1;
                     }
+                    else if ( (LA17_3==32) ) {
+                        alt17=2;
+                    }
                     else {
                         NoViableAltException nvae =
                             new NoViableAltException("", 17, 3, input);
@@ -2392,9 +2392,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA17_1==33) ) {
-                    alt17=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 17, 1, input);
@@ -2403,19 +2400,19 @@
                 }
                 }
                 break;
-            case 32:
+            case 31:
                 {
                 int LA17_2 = input.LA(2);
 
                 if ( (LA17_2==RULE_INT) ) {
                     int LA17_3 = input.LA(3);
 
-                    if ( (LA17_3==33) ) {
-                        alt17=2;
-                    }
-                    else if ( (LA17_3==EOF||(LA17_3>=15 && LA17_3<=16)) ) {
+                    if ( (LA17_3==EOF||(LA17_3>=14 && LA17_3<=15)) ) {
                         alt17=1;
                     }
+                    else if ( (LA17_3==32) ) {
+                        alt17=2;
+                    }
                     else {
                         NoViableAltException nvae =
                             new NoViableAltException("", 17, 3, input);
@@ -2423,9 +2420,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA17_2==33) ) {
-                    alt17=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 17, 2, input);
@@ -2438,12 +2432,12 @@
                 {
                 int LA17_3 = input.LA(2);
 
-                if ( (LA17_3==33) ) {
-                    alt17=2;
-                }
-                else if ( (LA17_3==EOF||(LA17_3>=15 && LA17_3<=16)) ) {
+                if ( (LA17_3==EOF||(LA17_3>=14 && LA17_3<=15)) ) {
                     alt17=1;
                 }
+                else if ( (LA17_3==32) ) {
+                    alt17=2;
+                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 17, 3, input);
@@ -2457,11 +2451,6 @@
                 alt17=1;
                 }
                 break;
-            case 33:
-                {
-                alt17=2;
-                }
-                break;
             default:
                 NoViableAltException nvae =
                     new NoViableAltException("", 17, 0, input);
@@ -2902,74 +2891,101 @@
 
 
     // $ANTLR start "ruleInteger"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1082:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1082:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) ;
     public final AntlrDatatypeRuleToken ruleInteger() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
-        AntlrDatatypeRuleToken this_SignedInteger_0 = null;
-
-        AntlrDatatypeRuleToken this_Hexadecimal_1 = null;
-
+        Token kw=null;
+        Token this_INT_2=null;
+        Token this_HEX_3=null;
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1085:28: ( (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1086:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1085:28: ( ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1086:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1086:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
-            int alt18=2;
-            int LA18_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1086:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
+            int alt19=2;
+            int LA19_0 = input.LA(1);
 
-            if ( (LA18_0==RULE_INT||(LA18_0>=31 && LA18_0<=32)) ) {
-                alt18=1;
+            if ( (LA19_0==RULE_INT||(LA19_0>=30 && LA19_0<=31)) ) {
+                alt19=1;
             }
-            else if ( (LA18_0==RULE_HEX) ) {
-                alt18=2;
+            else if ( (LA19_0==RULE_HEX) ) {
+                alt19=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 18, 0, input);
+                    new NoViableAltException("", 19, 0, input);
 
                 throw nvae;
             }
-            switch (alt18) {
+            switch (alt19) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1087:5: this_SignedInteger_0= ruleSignedInteger
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1086:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleSignedInteger_in_ruleInteger2481);
-                    this_SignedInteger_0=ruleSignedInteger();
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1086:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1086:3: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
+                    {
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1086:3: (kw= '+' | kw= '-' )?
+                    int alt18=3;
+                    int LA18_0 = input.LA(1);
 
-                    state._fsp--;
+                    if ( (LA18_0==30) ) {
+                        alt18=1;
+                    }
+                    else if ( (LA18_0==31) ) {
+                        alt18=2;
+                    }
+                    switch (alt18) {
+                        case 1 :
+                            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1087:2: kw= '+'
+                            {
+                            kw=(Token)match(input,30,FOLLOW_30_in_ruleInteger2474); 
 
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                                
 
-                    		current.merge(this_SignedInteger_0);
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1094:2: kw= '-'
+                            {
+                            kw=(Token)match(input,31,FOLLOW_31_in_ruleInteger2493); 
+
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                                
+
+                            }
+                            break;
+
+                    }
+
+                    this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleInteger2510); 
+
+                    		current.merge(this_INT_2);
                         
                      
-                            afterParserOrEnumRuleCall();
+                        newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
                         
 
                     }
+
+
+                    }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1099:5: this_Hexadecimal_1= ruleHexadecimal
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1107:10: this_HEX_3= RULE_HEX
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleHexadecimal_in_ruleInteger2514);
-                    this_Hexadecimal_1=ruleHexadecimal();
+                    this_HEX_3=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleInteger2537); 
 
-                    state._fsp--;
-
-
-                    		current.merge(this_Hexadecimal_1);
+                    		current.merge(this_HEX_3);
                         
                      
-                            afterParserOrEnumRuleCall();
+                        newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
                         
 
                     }
@@ -2994,217 +3010,8 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1117:1: entryRuleSignedInteger returns [String current=null] : iv_ruleSignedInteger= ruleSignedInteger EOF ;
-    public final String entryRuleSignedInteger() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleSignedInteger = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1121:2: (iv_ruleSignedInteger= ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1122:2: iv_ruleSignedInteger= ruleSignedInteger EOF
-            {
-             newCompositeNode(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2566);
-            iv_ruleSignedInteger=ruleSignedInteger();
-
-            state._fsp--;
-
-             current =iv_ruleSignedInteger.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger2577); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1132:1: ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleSignedInteger() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1136:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1137:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1137:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1137:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1137:2: (kw= '+' | kw= '-' )?
-            int alt19=3;
-            int LA19_0 = input.LA(1);
-
-            if ( (LA19_0==31) ) {
-                alt19=1;
-            }
-            else if ( (LA19_0==32) ) {
-                alt19=2;
-            }
-            switch (alt19) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1138:2: kw= '+'
-                    {
-                    kw=(Token)match(input,31,FOLLOW_31_in_ruleSignedInteger2620); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1145:2: kw= '-'
-                    {
-                    kw=(Token)match(input,32,FOLLOW_32_in_ruleSignedInteger2639); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSignedInteger2656); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1168:1: entryRuleHexadecimal returns [String current=null] : iv_ruleHexadecimal= ruleHexadecimal EOF ;
-    public final String entryRuleHexadecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleHexadecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1172:2: (iv_ruleHexadecimal= ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1173:2: iv_ruleHexadecimal= ruleHexadecimal EOF
-            {
-             newCompositeNode(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal2712);
-            iv_ruleHexadecimal=ruleHexadecimal();
-
-            state._fsp--;
-
-             current =iv_ruleHexadecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal2723); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1183:1: ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_HEX_0= RULE_HEX ;
-    public final AntlrDatatypeRuleToken ruleHexadecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_HEX_0=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1187:28: (this_HEX_0= RULE_HEX )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1188:5: this_HEX_0= RULE_HEX
-            {
-            this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal2766); 
-
-            		current.merge(this_HEX_0);
-                
-             
-                newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1206:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1122:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
     public final String entryRuleReal() throws RecognitionException {
         String current = null;
 
@@ -3212,17 +3019,17 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1207:2: (iv_ruleReal= ruleReal EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1208:2: iv_ruleReal= ruleReal EOF
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1123:2: (iv_ruleReal= ruleReal EOF )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1124:2: iv_ruleReal= ruleReal EOF
             {
              newCompositeNode(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal2815);
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal2583);
             iv_ruleReal=ruleReal();
 
             state._fsp--;
 
              current =iv_ruleReal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal2826); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal2594); 
 
             }
 
@@ -3240,36 +3047,173 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1215:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1131:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) ;
     public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         AntlrDatatypeRuleToken this_Decimal_0 = null;
 
-        AntlrDatatypeRuleToken this_DotDecimal_1 = null;
-
-        AntlrDatatypeRuleToken this_DecimalDot_2 = null;
-
-        AntlrDatatypeRuleToken this_DecimalExp_3 = null;
+        AntlrDatatypeRuleToken this_DecimalExp_1 = null;
 
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1218:28: ( (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1219:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1134:28: ( (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1135:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1219:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
-            int alt20=4;
-            alt20 = dfa20.predict(input);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1135:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
+            int alt20=2;
+            switch ( input.LA(1) ) {
+            case 30:
+                {
+                int LA20_1 = input.LA(2);
+
+                if ( (LA20_1==RULE_INT) ) {
+                    int LA20_3 = input.LA(3);
+
+                    if ( (LA20_3==32) ) {
+                        int LA20_4 = input.LA(4);
+
+                        if ( (LA20_4==RULE_INT) ) {
+                            int LA20_5 = input.LA(5);
+
+                            if ( (LA20_5==EOF||(LA20_5>=14 && LA20_5<=15)) ) {
+                                alt20=1;
+                            }
+                            else if ( ((LA20_5>=33 && LA20_5<=34)) ) {
+                                alt20=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 20, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 20, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 20, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 20, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 31:
+                {
+                int LA20_2 = input.LA(2);
+
+                if ( (LA20_2==RULE_INT) ) {
+                    int LA20_3 = input.LA(3);
+
+                    if ( (LA20_3==32) ) {
+                        int LA20_4 = input.LA(4);
+
+                        if ( (LA20_4==RULE_INT) ) {
+                            int LA20_5 = input.LA(5);
+
+                            if ( (LA20_5==EOF||(LA20_5>=14 && LA20_5<=15)) ) {
+                                alt20=1;
+                            }
+                            else if ( ((LA20_5>=33 && LA20_5<=34)) ) {
+                                alt20=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 20, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 20, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 20, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 20, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA20_3 = input.LA(2);
+
+                if ( (LA20_3==32) ) {
+                    int LA20_4 = input.LA(3);
+
+                    if ( (LA20_4==RULE_INT) ) {
+                        int LA20_5 = input.LA(4);
+
+                        if ( (LA20_5==EOF||(LA20_5>=14 && LA20_5<=15)) ) {
+                            alt20=1;
+                        }
+                        else if ( ((LA20_5>=33 && LA20_5<=34)) ) {
+                            alt20=2;
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 20, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 20, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 20, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 20, 0, input);
+
+                throw nvae;
+            }
+
             switch (alt20) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1220:5: this_Decimal_0= ruleDecimal
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1136:5: this_Decimal_0= ruleDecimal
                     {
                      
                             newCompositeNode(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
                         
-                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal2873);
+                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal2641);
                     this_Decimal_0=ruleDecimal();
 
                     state._fsp--;
@@ -3284,58 +3228,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1232:5: this_DotDecimal_1= ruleDotDecimal
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1148:5: this_DecimalExp_1= ruleDecimalExp
                     {
                      
-                            newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
                         
-                    pushFollow(FOLLOW_ruleDotDecimal_in_ruleReal2906);
-                    this_DotDecimal_1=ruleDotDecimal();
+                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal2674);
+                    this_DecimalExp_1=ruleDecimalExp();
 
                     state._fsp--;
 
 
-                    		current.merge(this_DotDecimal_1);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1244:5: this_DecimalDot_2= ruleDecimalDot
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalDot_in_ruleReal2939);
-                    this_DecimalDot_2=ruleDecimalDot();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalDot_2);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1256:5: this_DecimalExp_3= ruleDecimalExp
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal2972);
-                    this_DecimalExp_3=ruleDecimalExp();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalExp_3);
+                    		current.merge(this_DecimalExp_1);
                         
                      
                             afterParserOrEnumRuleCall();
@@ -3364,7 +3268,7 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1274:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1166:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
     public final String entryRuleDecimal() throws RecognitionException {
         String current = null;
 
@@ -3375,17 +3279,17 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1278:2: (iv_ruleDecimal= ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1279:2: iv_ruleDecimal= ruleDecimal EOF
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1170:2: (iv_ruleDecimal= ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1171:2: iv_ruleDecimal= ruleDecimal EOF
             {
              newCompositeNode(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal3024);
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal2726);
             iv_ruleDecimal=ruleDecimal();
 
             state._fsp--;
 
              current =iv_ruleDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal3035); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal2737); 
 
             }
 
@@ -3406,7 +3310,7 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1289:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1181:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -3418,27 +3322,27 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1293:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1294:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1185:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1186:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1294:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1294:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1186:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1186:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1294:2: (kw= '+' | kw= '-' )?
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1186:2: (kw= '+' | kw= '-' )?
             int alt21=3;
             int LA21_0 = input.LA(1);
 
-            if ( (LA21_0==31) ) {
+            if ( (LA21_0==30) ) {
                 alt21=1;
             }
-            else if ( (LA21_0==32) ) {
+            else if ( (LA21_0==31) ) {
                 alt21=2;
             }
             switch (alt21) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1295:2: kw= '+'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1187:2: kw= '+'
                     {
-                    kw=(Token)match(input,31,FOLLOW_31_in_ruleDecimal3078); 
+                    kw=(Token)match(input,30,FOLLOW_30_in_ruleDecimal2780); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
@@ -3447,9 +3351,9 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1302:2: kw= '-'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1194:2: kw= '-'
                     {
-                    kw=(Token)match(input,32,FOLLOW_32_in_ruleDecimal3097); 
+                    kw=(Token)match(input,31,FOLLOW_31_in_ruleDecimal2799); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
@@ -3460,19 +3364,19 @@
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal3114); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal2816); 
 
             		current.merge(this_INT_2);
                 
              
                 newLeafNode(this_INT_2, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
                 
-            kw=(Token)match(input,33,FOLLOW_33_in_ruleDecimal3132); 
+            kw=(Token)match(input,32,FOLLOW_32_in_ruleDecimal2834); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
                 
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal3147); 
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal2849); 
 
             		current.merge(this_INT_4);
                 
@@ -3502,270 +3406,8 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1338:1: entryRuleDotDecimal returns [String current=null] : iv_ruleDotDecimal= ruleDotDecimal EOF ;
-    public final String entryRuleDotDecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDotDecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1342:2: (iv_ruleDotDecimal= ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1343:2: iv_ruleDotDecimal= ruleDotDecimal EOF
-            {
-             newCompositeNode(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal3203);
-            iv_ruleDotDecimal=ruleDotDecimal();
-
-            state._fsp--;
-
-             current =iv_ruleDotDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal3214); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1353:1: ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleDotDecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_3=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1357:28: ( ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1358:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1358:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1358:2: (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1358:2: (kw= '+' | kw= '-' )?
-            int alt22=3;
-            int LA22_0 = input.LA(1);
-
-            if ( (LA22_0==31) ) {
-                alt22=1;
-            }
-            else if ( (LA22_0==32) ) {
-                alt22=2;
-            }
-            switch (alt22) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1359:2: kw= '+'
-                    {
-                    kw=(Token)match(input,31,FOLLOW_31_in_ruleDotDecimal3257); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1366:2: kw= '-'
-                    {
-                    kw=(Token)match(input,32,FOLLOW_32_in_ruleDotDecimal3276); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            kw=(Token)match(input,33,FOLLOW_33_in_ruleDotDecimal3291); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-                
-            this_INT_3=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDotDecimal3306); 
-
-            		current.merge(this_INT_3);
-                
-             
-                newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1395:1: entryRuleDecimalDot returns [String current=null] : iv_ruleDecimalDot= ruleDecimalDot EOF ;
-    public final String entryRuleDecimalDot() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDecimalDot = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1399:2: (iv_ruleDecimalDot= ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1400:2: iv_ruleDecimalDot= ruleDecimalDot EOF
-            {
-             newCompositeNode(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot3362);
-            iv_ruleDecimalDot=ruleDecimalDot();
-
-            state._fsp--;
-
-             current =iv_ruleDecimalDot.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot3373); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1410:1: ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) ;
-    public final AntlrDatatypeRuleToken ruleDecimalDot() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1414:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1415:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1415:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1415:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.'
-            {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1415:2: (kw= '+' | kw= '-' )?
-            int alt23=3;
-            int LA23_0 = input.LA(1);
-
-            if ( (LA23_0==31) ) {
-                alt23=1;
-            }
-            else if ( (LA23_0==32) ) {
-                alt23=2;
-            }
-            switch (alt23) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1416:2: kw= '+'
-                    {
-                    kw=(Token)match(input,31,FOLLOW_31_in_ruleDecimalDot3416); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1423:2: kw= '-'
-                    {
-                    kw=(Token)match(input,32,FOLLOW_32_in_ruleDecimalDot3435); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalDot3452); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,33,FOLLOW_33_in_ruleDecimalDot3470); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1452:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1230:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
     public final String entryRuleDecimalExp() throws RecognitionException {
         String current = null;
 
@@ -3776,17 +3418,17 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1456:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1457:2: iv_ruleDecimalExp= ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1234:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1235:2: iv_ruleDecimalExp= ruleDecimalExp EOF
             {
              newCompositeNode(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3521);
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp2905);
             iv_ruleDecimalExp=ruleDecimalExp();
 
             state._fsp--;
 
              current =iv_ruleDecimalExp.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp3532); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp2916); 
 
             }
 
@@ -3807,40 +3449,40 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1467:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1245:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimalExp() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         Token kw=null;
         Token this_INT_2=null;
         Token this_INT_4=null;
-        Token this_EXP_5=null;
+        Token this_INT_9=null;
 
          enterRule(); 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1471:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1472:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1249:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1250:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1472:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1472:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1250:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1250:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1472:2: (kw= '+' | kw= '-' )?
-            int alt24=3;
-            int LA24_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1250:2: (kw= '+' | kw= '-' )?
+            int alt22=3;
+            int LA22_0 = input.LA(1);
 
-            if ( (LA24_0==31) ) {
-                alt24=1;
+            if ( (LA22_0==30) ) {
+                alt22=1;
             }
-            else if ( (LA24_0==32) ) {
-                alt24=2;
+            else if ( (LA22_0==31) ) {
+                alt22=2;
             }
-            switch (alt24) {
+            switch (alt22) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1473:2: kw= '+'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1251:2: kw= '+'
                     {
-                    kw=(Token)match(input,31,FOLLOW_31_in_ruleDecimalExp3575); 
+                    kw=(Token)match(input,30,FOLLOW_30_in_ruleDecimalExp2959); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
@@ -3849,9 +3491,9 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1480:2: kw= '-'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1258:2: kw= '-'
                     {
-                    kw=(Token)match(input,32,FOLLOW_32_in_ruleDecimalExp3594); 
+                    kw=(Token)match(input,31,FOLLOW_31_in_ruleDecimalExp2978); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
@@ -3862,31 +3504,109 @@
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3611); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp2995); 
 
             		current.merge(this_INT_2);
                 
              
                 newLeafNode(this_INT_2, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
                 
-            kw=(Token)match(input,33,FOLLOW_33_in_ruleDecimalExp3629); 
+            kw=(Token)match(input,32,FOLLOW_32_in_ruleDecimalExp3013); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
                 
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3644); 
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3028); 
 
             		current.merge(this_INT_4);
                 
              
                 newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
                 
-            this_EXP_5=(Token)match(input,RULE_EXP,FOLLOW_RULE_EXP_in_ruleDecimalExp3664); 
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1283:1: (kw= 'e' | kw= 'E' )
+            int alt23=2;
+            int LA23_0 = input.LA(1);
 
-            		current.merge(this_EXP_5);
+            if ( (LA23_0==33) ) {
+                alt23=1;
+            }
+            else if ( (LA23_0==34) ) {
+                alt23=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 23, 0, input);
+
+                throw nvae;
+            }
+            switch (alt23) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1284:2: kw= 'e'
+                    {
+                    kw=(Token)match(input,33,FOLLOW_33_in_ruleDecimalExp3047); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1291:2: kw= 'E'
+                    {
+                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDecimalExp3066); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1296:2: (kw= '+' | kw= '-' )?
+            int alt24=3;
+            int LA24_0 = input.LA(1);
+
+            if ( (LA24_0==30) ) {
+                alt24=1;
+            }
+            else if ( (LA24_0==31) ) {
+                alt24=2;
+            }
+            switch (alt24) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1297:2: kw= '+'
+                    {
+                    kw=(Token)match(input,30,FOLLOW_30_in_ruleDecimalExp3081); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1304:2: kw= '-'
+                    {
+                    kw=(Token)match(input,31,FOLLOW_31_in_ruleDecimalExp3100); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            this_INT_9=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3117); 
+
+            		current.merge(this_INT_9);
                 
              
-                newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+                newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
                 
 
             }
@@ -3912,7 +3632,7 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1523:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1327:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
     public final String entryRuleFQN() throws RecognitionException {
         String current = null;
 
@@ -3920,17 +3640,17 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1524:2: (iv_ruleFQN= ruleFQN EOF )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1525:2: iv_ruleFQN= ruleFQN EOF
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1328:2: (iv_ruleFQN= ruleFQN EOF )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1329:2: iv_ruleFQN= ruleFQN EOF
             {
              newCompositeNode(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN3714);
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN3167);
             iv_ruleFQN=ruleFQN();
 
             state._fsp--;
 
              current =iv_ruleFQN.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN3725); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN3178); 
 
             }
 
@@ -3948,7 +3668,7 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1532:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1336:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
     public final AntlrDatatypeRuleToken ruleFQN() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -3959,40 +3679,40 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1535:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1536:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1339:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1340:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1536:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1536:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1340:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1340:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
             {
-            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN3765); 
+            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN3218); 
 
             		current.merge(this_ID_0);
                 
              
                 newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
                 
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1543:1: (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1347:1: (kw= '.' this_ID_2= RULE_ID )*
             loop25:
             do {
                 int alt25=2;
                 int LA25_0 = input.LA(1);
 
-                if ( (LA25_0==33) ) {
+                if ( (LA25_0==32) ) {
                     alt25=1;
                 }
 
 
                 switch (alt25) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1544:2: kw= '.' this_ID_2= RULE_ID
+            	    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1348:2: kw= '.' this_ID_2= RULE_ID
             	    {
-            	    kw=(Token)match(input,33,FOLLOW_33_in_ruleFQN3784); 
+            	    kw=(Token)match(input,32,FOLLOW_32_in_ruleFQN3237); 
 
             	            current.merge(kw);
             	            newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
             	        
-            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN3799); 
+            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN3252); 
 
             	    		current.merge(this_ID_2);
             	        
@@ -4029,7 +3749,7 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1564:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
+    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1368:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
     public final Enumerator ruleLiteralType() throws RecognitionException {
         Enumerator current = null;
 
@@ -4040,28 +3760,28 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1566:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1567:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1370:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1371:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             {
-            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1567:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1371:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             int alt26=4;
             switch ( input.LA(1) ) {
-            case 34:
+            case 35:
                 {
                 alt26=1;
                 }
                 break;
-            case 35:
+            case 36:
                 {
                 alt26=2;
                 }
                 break;
-            case 36:
+            case 37:
                 {
                 alt26=3;
                 }
                 break;
-            case 37:
+            case 38:
                 {
                 alt26=4;
                 }
@@ -4075,12 +3795,12 @@
 
             switch (alt26) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1567:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1371:2: (enumLiteral_0= 'ptBoolean' )
                     {
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1567:2: (enumLiteral_0= 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1567:4: enumLiteral_0= 'ptBoolean'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1371:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1371:4: enumLiteral_0= 'ptBoolean'
                     {
-                    enumLiteral_0=(Token)match(input,34,FOLLOW_34_in_ruleLiteralType3860); 
+                    enumLiteral_0=(Token)match(input,35,FOLLOW_35_in_ruleLiteralType3313); 
 
                             current = grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_0, grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
@@ -4092,12 +3812,12 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1573:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1377:6: (enumLiteral_1= 'ptInteger' )
                     {
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1573:6: (enumLiteral_1= 'ptInteger' )
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1573:8: enumLiteral_1= 'ptInteger'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1377:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1377:8: enumLiteral_1= 'ptInteger'
                     {
-                    enumLiteral_1=(Token)match(input,35,FOLLOW_35_in_ruleLiteralType3877); 
+                    enumLiteral_1=(Token)match(input,36,FOLLOW_36_in_ruleLiteralType3330); 
 
                             current = grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_1, grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
@@ -4109,12 +3829,12 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1579:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1383:6: (enumLiteral_2= 'ptReal' )
                     {
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1579:6: (enumLiteral_2= 'ptReal' )
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1579:8: enumLiteral_2= 'ptReal'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1383:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1383:8: enumLiteral_2= 'ptReal'
                     {
-                    enumLiteral_2=(Token)match(input,36,FOLLOW_36_in_ruleLiteralType3894); 
+                    enumLiteral_2=(Token)match(input,37,FOLLOW_37_in_ruleLiteralType3347); 
 
                             current = grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_2, grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
@@ -4126,12 +3846,12 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1585:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1389:6: (enumLiteral_3= 'ptCharacter' )
                     {
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1585:6: (enumLiteral_3= 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1585:8: enumLiteral_3= 'ptCharacter'
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1389:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/parser/antlr/internal/InternalBaseTest.g:1389:8: enumLiteral_3= 'ptCharacter'
                     {
-                    enumLiteral_3=(Token)match(input,37,FOLLOW_37_in_ruleLiteralType3911); 
+                    enumLiteral_3=(Token)match(input,38,FOLLOW_38_in_ruleLiteralType3364); 
 
                             current = grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_3, grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
@@ -4164,101 +3884,42 @@
     // Delegated rules
 
 
-    protected DFA20 dfa20 = new DFA20(this);
-    static final String DFA20_eotS =
-        "\12\uffff";
-    static final String DFA20_eofS =
-        "\5\uffff\1\7\1\11\3\uffff";
-    static final String DFA20_minS =
-        "\3\6\1\41\1\uffff\1\6\1\10\3\uffff";
-    static final String DFA20_maxS =
-        "\4\41\1\uffff\2\20\3\uffff";
-    static final String DFA20_acceptS =
-        "\4\uffff\1\2\2\uffff\1\3\1\4\1\1";
-    static final String DFA20_specialS =
-        "\12\uffff}>";
-    static final String[] DFA20_transitionS = {
-            "\1\3\30\uffff\1\1\1\2\1\4",
-            "\1\3\32\uffff\1\4",
-            "\1\3\32\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\6\10\uffff\2\7",
-            "\1\10\6\uffff\2\11",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA20_eot = DFA.unpackEncodedString(DFA20_eotS);
-    static final short[] DFA20_eof = DFA.unpackEncodedString(DFA20_eofS);
-    static final char[] DFA20_min = DFA.unpackEncodedStringToUnsignedChars(DFA20_minS);
-    static final char[] DFA20_max = DFA.unpackEncodedStringToUnsignedChars(DFA20_maxS);
-    static final short[] DFA20_accept = DFA.unpackEncodedString(DFA20_acceptS);
-    static final short[] DFA20_special = DFA.unpackEncodedString(DFA20_specialS);
-    static final short[][] DFA20_transition;
-
-    static {
-        int numStates = DFA20_transitionS.length;
-        DFA20_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA20_transition[i] = DFA.unpackEncodedString(DFA20_transitionS[i]);
-        }
-    }
-
-    class DFA20 extends DFA {
-
-        public DFA20(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 20;
-            this.eot = DFA20_eot;
-            this.eof = DFA20_eof;
-            this.min = DFA20_min;
-            this.max = DFA20_max;
-            this.accept = DFA20_accept;
-            this.special = DFA20_special;
-            this.transition = DFA20_transition;
-        }
-        public String getDescription() {
-            return "1219:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )";
-        }
-    }
  
 
     public static final BitSet FOLLOW_ruleBaseModel_in_entryRuleBaseModel75 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleBaseModel85 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_ruleBaseModel132 = new BitSet(new long[]{0x0000000000042002L});
-    public static final BitSet FOLLOW_ruleAnnotationType_in_ruleBaseModel151 = new BitSet(new long[]{0x0000000000042002L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_ruleBaseModel132 = new BitSet(new long[]{0x0000000000021002L});
+    public static final BitSet FOLLOW_ruleAnnotationType_in_ruleBaseModel151 = new BitSet(new long[]{0x0000000000021002L});
     public static final BitSet FOLLOW_ruleAnnotation_in_entryRuleAnnotation190 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotation200 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_ruleAnnotation237 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleAnnotation260 = new BitSet(new long[]{0x0000000000004002L});
-    public static final BitSet FOLLOW_14_in_ruleAnnotation273 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation294 = new BitSet(new long[]{0x0000000000018000L});
-    public static final BitSet FOLLOW_15_in_ruleAnnotation307 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation328 = new BitSet(new long[]{0x0000000000018000L});
-    public static final BitSet FOLLOW_16_in_ruleAnnotation342 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_ruleAnnotation237 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleAnnotation260 = new BitSet(new long[]{0x0000000000002002L});
+    public static final BitSet FOLLOW_13_in_ruleAnnotation273 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation294 = new BitSet(new long[]{0x000000000000C000L});
+    public static final BitSet FOLLOW_14_in_ruleAnnotation307 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation328 = new BitSet(new long[]{0x000000000000C000L});
+    public static final BitSet FOLLOW_15_in_ruleAnnotation342 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue380 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue390 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue432 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleKeyValue449 = new BitSet(new long[]{0x00000003E00000E0L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue432 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleKeyValue449 = new BitSet(new long[]{0x00000000F00000E0L});
     public static final BitSet FOLLOW_ruleLiteral_in_ruleKeyValue470 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAnnotationType_in_entryRuleAnnotationType506 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationType516 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_ruleAnnotationType553 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotationType570 = new BitSet(new long[]{0x0000000008080000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleAnnotationType596 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_19_in_ruleAnnotationType609 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_20_in_ruleAnnotationType621 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleAnnotationType633 = new BitSet(new long[]{0x0000000000080010L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType655 = new BitSet(new long[]{0x0000000000E00000L});
-    public static final BitSet FOLLOW_19_in_ruleAnnotationType674 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType695 = new BitSet(new long[]{0x0000000000208000L});
-    public static final BitSet FOLLOW_15_in_ruleAnnotationType708 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType729 = new BitSet(new long[]{0x0000000000208000L});
-    public static final BitSet FOLLOW_21_in_ruleAnnotationType743 = new BitSet(new long[]{0x0000000000E00000L});
-    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_ruleAnnotationType766 = new BitSet(new long[]{0x0000000000E00000L});
-    public static final BitSet FOLLOW_21_in_ruleAnnotationType779 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_ruleAnnotationType553 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotationType570 = new BitSet(new long[]{0x0000000004040000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleAnnotationType596 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_18_in_ruleAnnotationType609 = new BitSet(new long[]{0x0000000000080000L});
+    public static final BitSet FOLLOW_19_in_ruleAnnotationType621 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleAnnotationType633 = new BitSet(new long[]{0x0000000000040010L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType655 = new BitSet(new long[]{0x0000000000700000L});
+    public static final BitSet FOLLOW_18_in_ruleAnnotationType674 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType695 = new BitSet(new long[]{0x0000000000104000L});
+    public static final BitSet FOLLOW_14_in_ruleAnnotationType708 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType729 = new BitSet(new long[]{0x0000000000104000L});
+    public static final BitSet FOLLOW_20_in_ruleAnnotationType743 = new BitSet(new long[]{0x0000000000700000L});
+    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_ruleAnnotationType766 = new BitSet(new long[]{0x0000000000700000L});
+    public static final BitSet FOLLOW_20_in_ruleAnnotationType779 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType816 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType827 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotationTargetType866 = new BitSet(new long[]{0x0000000000000002L});
@@ -4268,33 +3929,33 @@
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_ruleAnnotationAttribute994 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute1029 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute1039 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_22_in_ruleSimpleAnnotationAttribute1083 = new BitSet(new long[]{0x0000000001000000L});
-    public static final BitSet FOLLOW_23_in_ruleSimpleAnnotationAttribute1114 = new BitSet(new long[]{0x0000000001000000L});
-    public static final BitSet FOLLOW_24_in_ruleSimpleAnnotationAttribute1127 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute1144 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_25_in_ruleSimpleAnnotationAttribute1161 = new BitSet(new long[]{0x0000003C00000000L});
+    public static final BitSet FOLLOW_21_in_ruleSimpleAnnotationAttribute1083 = new BitSet(new long[]{0x0000000000800000L});
+    public static final BitSet FOLLOW_22_in_ruleSimpleAnnotationAttribute1114 = new BitSet(new long[]{0x0000000000800000L});
+    public static final BitSet FOLLOW_23_in_ruleSimpleAnnotationAttribute1127 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute1144 = new BitSet(new long[]{0x0000000001000000L});
+    public static final BitSet FOLLOW_24_in_ruleSimpleAnnotationAttribute1161 = new BitSet(new long[]{0x0000007800000000L});
     public static final BitSet FOLLOW_ruleLiteralType_in_ruleSimpleAnnotationAttribute1182 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute1218 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute1228 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_22_in_ruleEnumAnnotationAttribute1272 = new BitSet(new long[]{0x0000000001000000L});
-    public static final BitSet FOLLOW_23_in_ruleEnumAnnotationAttribute1303 = new BitSet(new long[]{0x0000000001000000L});
-    public static final BitSet FOLLOW_24_in_ruleEnumAnnotationAttribute1316 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute1333 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_25_in_ruleEnumAnnotationAttribute1350 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_19_in_ruleEnumAnnotationAttribute1362 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute1379 = new BitSet(new long[]{0x0000000000208000L});
-    public static final BitSet FOLLOW_15_in_ruleEnumAnnotationAttribute1397 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute1414 = new BitSet(new long[]{0x0000000000208000L});
-    public static final BitSet FOLLOW_21_in_ruleEnumAnnotationAttribute1433 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_21_in_ruleEnumAnnotationAttribute1272 = new BitSet(new long[]{0x0000000000800000L});
+    public static final BitSet FOLLOW_22_in_ruleEnumAnnotationAttribute1303 = new BitSet(new long[]{0x0000000000800000L});
+    public static final BitSet FOLLOW_23_in_ruleEnumAnnotationAttribute1316 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute1333 = new BitSet(new long[]{0x0000000001000000L});
+    public static final BitSet FOLLOW_24_in_ruleEnumAnnotationAttribute1350 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_18_in_ruleEnumAnnotationAttribute1362 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute1379 = new BitSet(new long[]{0x0000000000104000L});
+    public static final BitSet FOLLOW_14_in_ruleEnumAnnotationAttribute1397 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute1414 = new BitSet(new long[]{0x0000000000104000L});
+    public static final BitSet FOLLOW_20_in_ruleEnumAnnotationAttribute1433 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN1472 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN1483 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN1530 = new BitSet(new long[]{0x0000000004000002L});
-    public static final BitSet FOLLOW_26_in_ruleImportedFQN1549 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN1530 = new BitSet(new long[]{0x0000000002000002L});
+    public static final BitSet FOLLOW_25_in_ruleImportedFQN1549 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation1591 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation1601 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_ruleDocumentation1647 = new BitSet(new long[]{0x0000000010000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation1664 = new BitSet(new long[]{0x0000000010000020L});
-    public static final BitSet FOLLOW_28_in_ruleDocumentation1682 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_26_in_ruleDocumentation1647 = new BitSet(new long[]{0x0000000008000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation1664 = new BitSet(new long[]{0x0000000008000020L});
+    public static final BitSet FOLLOW_27_in_ruleDocumentation1682 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral1722 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleLiteral1732 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_ruleLiteral1779 = new BitSet(new long[]{0x0000000000000002L});
@@ -4302,8 +3963,8 @@
     public static final BitSet FOLLOW_ruleStringLiteral_in_ruleLiteral1833 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1868 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral1878 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_ruleBooleanLiteral1925 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_ruleBooleanLiteral1949 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_ruleBooleanLiteral1925 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_ruleBooleanLiteral1949 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1999 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral2009 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleIntLiteral_in_ruleNumberLiteral2056 = new BitSet(new long[]{0x0000000000000002L});
@@ -4319,57 +3980,41 @@
     public static final BitSet FOLLOW_RULE_STRING_in_ruleStringLiteral2381 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger2423 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInteger2434 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_ruleInteger2481 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_ruleInteger2514 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2566 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger2577 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_ruleSignedInteger2620 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_32_in_ruleSignedInteger2639 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleSignedInteger2656 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal2712 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal2723 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal2766 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal2815 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal2826 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal2873 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_ruleReal2906 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_ruleReal2939 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal2972 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal3024 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal3035 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_ruleDecimal3078 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_32_in_ruleDecimal3097 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal3114 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_ruleDecimal3132 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal3147 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal3203 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal3214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_ruleDotDecimal3257 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_32_in_ruleDotDecimal3276 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_ruleDotDecimal3291 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDotDecimal3306 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot3362 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot3373 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_ruleDecimalDot3416 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_32_in_ruleDecimalDot3435 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalDot3452 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_ruleDecimalDot3470 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3521 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp3532 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_ruleDecimalExp3575 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_32_in_ruleDecimalExp3594 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3611 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_ruleDecimalExp3629 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3644 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RULE_EXP_in_ruleDecimalExp3664 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN3714 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN3725 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN3765 = new BitSet(new long[]{0x0000000200000002L});
-    public static final BitSet FOLLOW_33_in_ruleFQN3784 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN3799 = new BitSet(new long[]{0x0000000200000002L});
-    public static final BitSet FOLLOW_34_in_ruleLiteralType3860 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_ruleLiteralType3877 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_ruleLiteralType3894 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_ruleLiteralType3911 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_ruleInteger2474 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_31_in_ruleInteger2493 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleInteger2510 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_ruleInteger2537 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal2583 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal2594 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal2641 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal2674 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal2726 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal2737 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_ruleDecimal2780 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_31_in_ruleDecimal2799 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal2816 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_32_in_ruleDecimal2834 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal2849 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp2905 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp2916 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_ruleDecimalExp2959 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_31_in_ruleDecimalExp2978 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp2995 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_32_in_ruleDecimalExp3013 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3028 = new BitSet(new long[]{0x0000000600000000L});
+    public static final BitSet FOLLOW_33_in_ruleDecimalExp3047 = new BitSet(new long[]{0x00000000C0000040L});
+    public static final BitSet FOLLOW_34_in_ruleDecimalExp3066 = new BitSet(new long[]{0x00000000C0000040L});
+    public static final BitSet FOLLOW_30_in_ruleDecimalExp3081 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_31_in_ruleDecimalExp3100 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3117 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN3167 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN3178 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN3218 = new BitSet(new long[]{0x0000000100000002L});
+    public static final BitSet FOLLOW_32_in_ruleFQN3237 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN3252 = new BitSet(new long[]{0x0000000100000002L});
+    public static final BitSet FOLLOW_35_in_ruleLiteralType3313 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_36_in_ruleLiteralType3330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_ruleLiteralType3347 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_38_in_ruleLiteralType3364 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/services/BaseGrammarAccess.java b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/services/BaseGrammarAccess.java
index c76cb5e..931408a 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/services/BaseGrammarAccess.java
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/services/BaseGrammarAccess.java
@@ -762,89 +762,57 @@
 	public class IntegerElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Integer");
 		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
-		private final RuleCall cSignedIntegerParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cHexadecimalParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+		private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
+		private final Alternatives cAlternatives_0_0 = (Alternatives)cGroup_0.eContents().get(0);
+		private final Keyword cPlusSignKeyword_0_0_0 = (Keyword)cAlternatives_0_0.eContents().get(0);
+		private final Keyword cHyphenMinusKeyword_0_0_1 = (Keyword)cAlternatives_0_0.eContents().get(1);
+		private final RuleCall cINTTerminalRuleCall_0_1 = (RuleCall)cGroup_0.eContents().get(1);
+		private final RuleCall cHEXTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		
 		//Integer returns ecore::ELong:
-		//	SignedInteger | Hexadecimal;
+		//	("+" | "-")? INT | HEX;
 		public ParserRule getRule() { return rule; }
 
-		//SignedInteger | Hexadecimal
+		//("+" | "-")? INT | HEX
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//SignedInteger
-		public RuleCall getSignedIntegerParserRuleCall_0() { return cSignedIntegerParserRuleCall_0; }
-
-		//Hexadecimal
-		public RuleCall getHexadecimalParserRuleCall_1() { return cHexadecimalParserRuleCall_1; }
-	}
-
-	public class SignedIntegerElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SignedInteger");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
-		private final Keyword cPlusSignKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0);
-		private final Keyword cHyphenMinusKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
-		private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
-		
-		//SignedInteger hidden():
-		//	("+" | "-")? INT;
-		public ParserRule getRule() { return rule; }
-
 		//("+" | "-")? INT
-		public Group getGroup() { return cGroup; }
+		public Group getGroup_0() { return cGroup_0; }
 
 		//("+" | "-")?
-		public Alternatives getAlternatives_0() { return cAlternatives_0; }
+		public Alternatives getAlternatives_0_0() { return cAlternatives_0_0; }
 
 		//"+"
-		public Keyword getPlusSignKeyword_0_0() { return cPlusSignKeyword_0_0; }
+		public Keyword getPlusSignKeyword_0_0_0() { return cPlusSignKeyword_0_0_0; }
 
 		//"-"
-		public Keyword getHyphenMinusKeyword_0_1() { return cHyphenMinusKeyword_0_1; }
+		public Keyword getHyphenMinusKeyword_0_0_1() { return cHyphenMinusKeyword_0_0_1; }
 
 		//INT
-		public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
-	}
-
-	public class HexadecimalElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Hexadecimal");
-		private final RuleCall cHEXTerminalRuleCall = (RuleCall)rule.eContents().get(1);
-		
-		//Hexadecimal hidden():
-		//	HEX;
-		public ParserRule getRule() { return rule; }
+		public RuleCall getINTTerminalRuleCall_0_1() { return cINTTerminalRuleCall_0_1; }
 
 		//HEX
-		public RuleCall getHEXTerminalRuleCall() { return cHEXTerminalRuleCall; }
+		public RuleCall getHEXTerminalRuleCall_1() { return cHEXTerminalRuleCall_1; }
 	}
 
 	public class RealElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Real");
 		private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
 		private final RuleCall cDecimalParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
-		private final RuleCall cDotDecimalParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
-		private final RuleCall cDecimalDotParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
-		private final RuleCall cDecimalExpParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+		private final RuleCall cDecimalExpParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		
 		//Real returns ecore::EDouble:
-		//	Decimal | DotDecimal | DecimalDot | DecimalExp;
+		//	Decimal | / *DotDecimal | DecimalDot |* / DecimalExp;
 		public ParserRule getRule() { return rule; }
 
-		//Decimal | DotDecimal | DecimalDot | DecimalExp
+		//Decimal | / *DotDecimal | DecimalDot |* / DecimalExp
 		public Alternatives getAlternatives() { return cAlternatives; }
 
 		//Decimal
 		public RuleCall getDecimalParserRuleCall_0() { return cDecimalParserRuleCall_0; }
 
-		//DotDecimal
-		public RuleCall getDotDecimalParserRuleCall_1() { return cDotDecimalParserRuleCall_1; }
-
-		//DecimalDot
-		public RuleCall getDecimalDotParserRuleCall_2() { return cDecimalDotParserRuleCall_2; }
-
-		//DecimalExp
-		public RuleCall getDecimalExpParserRuleCall_3() { return cDecimalExpParserRuleCall_3; }
+		/// *DotDecimal | DecimalDot |* / DecimalExp
+		public RuleCall getDecimalExpParserRuleCall_1() { return cDecimalExpParserRuleCall_1; }
 	}
 
 	public class DecimalElements extends AbstractParserRuleElementFinder {
@@ -883,70 +851,6 @@
 		public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; }
 	}
 
-	public class DotDecimalElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DotDecimal");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
-		private final Keyword cPlusSignKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0);
-		private final Keyword cHyphenMinusKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
-		private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
-		private final RuleCall cINTTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
-		
-		//DotDecimal hidden():
-		//	("+" | "-")? "." INT;
-		public ParserRule getRule() { return rule; }
-
-		//("+" | "-")? "." INT
-		public Group getGroup() { return cGroup; }
-
-		//("+" | "-")?
-		public Alternatives getAlternatives_0() { return cAlternatives_0; }
-
-		//"+"
-		public Keyword getPlusSignKeyword_0_0() { return cPlusSignKeyword_0_0; }
-
-		//"-"
-		public Keyword getHyphenMinusKeyword_0_1() { return cHyphenMinusKeyword_0_1; }
-
-		//"."
-		public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
-
-		//INT
-		public RuleCall getINTTerminalRuleCall_2() { return cINTTerminalRuleCall_2; }
-	}
-
-	public class DecimalDotElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DecimalDot");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
-		private final Keyword cPlusSignKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0);
-		private final Keyword cHyphenMinusKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
-		private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
-		private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
-		
-		//DecimalDot hidden():
-		//	("+" | "-")? INT ".";
-		public ParserRule getRule() { return rule; }
-
-		//("+" | "-")? INT "."
-		public Group getGroup() { return cGroup; }
-
-		//("+" | "-")?
-		public Alternatives getAlternatives_0() { return cAlternatives_0; }
-
-		//"+"
-		public Keyword getPlusSignKeyword_0_0() { return cPlusSignKeyword_0_0; }
-
-		//"-"
-		public Keyword getHyphenMinusKeyword_0_1() { return cHyphenMinusKeyword_0_1; }
-
-		//INT
-		public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
-
-		//"."
-		public Keyword getFullStopKeyword_2() { return cFullStopKeyword_2; }
-	}
-
 	public class DecimalExpElements extends AbstractParserRuleElementFinder {
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DecimalExp");
 		private final Group cGroup = (Group)rule.eContents().get(1);
@@ -956,13 +860,24 @@
 		private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
 		private final Keyword cFullStopKeyword_2 = (Keyword)cGroup.eContents().get(2);
 		private final RuleCall cINTTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
-		private final RuleCall cEXPTerminalRuleCall_4 = (RuleCall)cGroup.eContents().get(4);
+		private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4);
+		private final Keyword cEKeyword_4_0 = (Keyword)cAlternatives_4.eContents().get(0);
+		private final Keyword cEKeyword_4_1 = (Keyword)cAlternatives_4.eContents().get(1);
+		private final Alternatives cAlternatives_5 = (Alternatives)cGroup.eContents().get(5);
+		private final Keyword cPlusSignKeyword_5_0 = (Keyword)cAlternatives_5.eContents().get(0);
+		private final Keyword cHyphenMinusKeyword_5_1 = (Keyword)cAlternatives_5.eContents().get(1);
+		private final RuleCall cINTTerminalRuleCall_6 = (RuleCall)cGroup.eContents().get(6);
 		
+		////DotDecimal hidden():
+		////	('+' | '-')? '.' INT;
+		////
+		////DecimalDot hidden():
+		////	('+' | '-')? INT '.';
 		//DecimalExp hidden():
-		//	("+" | "-")? INT "." INT EXP;
+		//	("+" | "-")? INT "." INT ("e" | "E") ("+" | "-")? INT;
 		public ParserRule getRule() { return rule; }
 
-		//("+" | "-")? INT "." INT EXP
+		//("+" | "-")? INT "." INT ("e" | "E") ("+" | "-")? INT
 		public Group getGroup() { return cGroup; }
 
 		//("+" | "-")?
@@ -983,8 +898,26 @@
 		//INT
 		public RuleCall getINTTerminalRuleCall_3() { return cINTTerminalRuleCall_3; }
 
-		//EXP
-		public RuleCall getEXPTerminalRuleCall_4() { return cEXPTerminalRuleCall_4; }
+		//"e" | "E"
+		public Alternatives getAlternatives_4() { return cAlternatives_4; }
+
+		//"e"
+		public Keyword getEKeyword_4_0() { return cEKeyword_4_0; }
+
+		//"E"
+		public Keyword getEKeyword_4_1() { return cEKeyword_4_1; }
+
+		//("+" | "-")?
+		public Alternatives getAlternatives_5() { return cAlternatives_5; }
+
+		//"+"
+		public Keyword getPlusSignKeyword_5_0() { return cPlusSignKeyword_5_0; }
+
+		//"-"
+		public Keyword getHyphenMinusKeyword_5_1() { return cHyphenMinusKeyword_5_1; }
+
+		//INT
+		public RuleCall getINTTerminalRuleCall_6() { return cINTTerminalRuleCall_6; }
 	}
 
 	public class FQNElements extends AbstractParserRuleElementFinder {
@@ -1062,46 +995,66 @@
 		public Keyword getCHARPtCharacterKeyword_3_0() { return cCHARPtCharacterKeyword_3_0; }
 	}
 	
-	private AnnotationElements pAnnotation;
-	private KeyValueElements pKeyValue;
-	private AnnotationTypeElements pAnnotationType;
-	private AnnotationTargetTypeElements pAnnotationTargetType;
-	private AnnotationAttributeElements pAnnotationAttribute;
-	private SimpleAnnotationAttributeElements pSimpleAnnotationAttribute;
-	private EnumAnnotationAttributeElements pEnumAnnotationAttribute;
-	private ImportElements pImport;
-	private ImportedFQNElements pImportedFQN;
-	private DocumentationElements pDocumentation;
-	private TIMEElements pTIME;
-	private LiteralTypeElements unknownRuleLiteralType;
-	private LiteralArrayElements pLiteralArray;
-	private LiteralElements pLiteral;
-	private BooleanLiteralElements pBooleanLiteral;
-	private NumberLiteralElements pNumberLiteral;
-	private RealLiteralElements pRealLiteral;
-	private IntLiteralElements pIntLiteral;
-	private StringLiteralElements pStringLiteral;
-	private IntegerElements pInteger;
-	private SignedIntegerElements pSignedInteger;
-	private HexadecimalElements pHexadecimal;
-	private RealElements pReal;
-	private DecimalElements pDecimal;
-	private DotDecimalElements pDotDecimal;
-	private DecimalDotElements pDecimalDot;
-	private DecimalExpElements pDecimalExp;
-	private TerminalRule tEXP;
-	private TerminalRule tHEX;
-	private FQNElements pFQN;
+	private final AnnotationElements pAnnotation;
+	private final KeyValueElements pKeyValue;
+	private final AnnotationTypeElements pAnnotationType;
+	private final AnnotationTargetTypeElements pAnnotationTargetType;
+	private final AnnotationAttributeElements pAnnotationAttribute;
+	private final SimpleAnnotationAttributeElements pSimpleAnnotationAttribute;
+	private final EnumAnnotationAttributeElements pEnumAnnotationAttribute;
+	private final ImportElements pImport;
+	private final ImportedFQNElements pImportedFQN;
+	private final DocumentationElements pDocumentation;
+	private final TIMEElements pTIME;
+	private final LiteralTypeElements unknownRuleLiteralType;
+	private final LiteralArrayElements pLiteralArray;
+	private final LiteralElements pLiteral;
+	private final BooleanLiteralElements pBooleanLiteral;
+	private final NumberLiteralElements pNumberLiteral;
+	private final RealLiteralElements pRealLiteral;
+	private final IntLiteralElements pIntLiteral;
+	private final StringLiteralElements pStringLiteral;
+	private final IntegerElements pInteger;
+	private final RealElements pReal;
+	private final DecimalElements pDecimal;
+	private final DecimalExpElements pDecimalExp;
+	private final FQNElements pFQN;
+	private final TerminalRule tHEX;
 	
 	private final Grammar grammar;
 
-	private TerminalsGrammarAccess gaTerminals;
+	private final TerminalsGrammarAccess gaTerminals;
 
 	@Inject
 	public BaseGrammarAccess(GrammarProvider grammarProvider,
 		TerminalsGrammarAccess gaTerminals) {
 		this.grammar = internalFindGrammar(grammarProvider);
 		this.gaTerminals = gaTerminals;
+		this.pAnnotation = new AnnotationElements();
+		this.pKeyValue = new KeyValueElements();
+		this.pAnnotationType = new AnnotationTypeElements();
+		this.pAnnotationTargetType = new AnnotationTargetTypeElements();
+		this.pAnnotationAttribute = new AnnotationAttributeElements();
+		this.pSimpleAnnotationAttribute = new SimpleAnnotationAttributeElements();
+		this.pEnumAnnotationAttribute = new EnumAnnotationAttributeElements();
+		this.pImport = new ImportElements();
+		this.pImportedFQN = new ImportedFQNElements();
+		this.pDocumentation = new DocumentationElements();
+		this.pTIME = new TIMEElements();
+		this.unknownRuleLiteralType = new LiteralTypeElements();
+		this.pLiteralArray = new LiteralArrayElements();
+		this.pLiteral = new LiteralElements();
+		this.pBooleanLiteral = new BooleanLiteralElements();
+		this.pNumberLiteral = new NumberLiteralElements();
+		this.pRealLiteral = new RealLiteralElements();
+		this.pIntLiteral = new IntLiteralElements();
+		this.pStringLiteral = new StringLiteralElements();
+		this.pInteger = new IntegerElements();
+		this.pReal = new RealElements();
+		this.pDecimal = new DecimalElements();
+		this.pDecimalExp = new DecimalExpElements();
+		this.pFQN = new FQNElements();
+		this.tHEX = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "HEX");
 	}
 	
 	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -1136,7 +1089,7 @@
 	//Annotation:
 	//	"@" type=[AnnotationType|FQN] ("(" attributes+=KeyValue ("," attributes+=KeyValue)* ")")?;
 	public AnnotationElements getAnnotationAccess() {
-		return (pAnnotation != null) ? pAnnotation : (pAnnotation = new AnnotationElements());
+		return pAnnotation;
 	}
 	
 	public ParserRule getAnnotationRule() {
@@ -1146,7 +1099,7 @@
 	//KeyValue:
 	//	key=ID "=" value=Literal;
 	public KeyValueElements getKeyValueAccess() {
-		return (pKeyValue != null) ? pKeyValue : (pKeyValue = new KeyValueElements());
+		return pKeyValue;
 	}
 	
 	public ParserRule getKeyValueRule() {
@@ -1157,7 +1110,7 @@
 	//	"AnnotationType" name=ID docu=Documentation? "{" "target" "=" (targets+=AnnotationTargetType | "{"
 	//	targets+=AnnotationTargetType ("," targets+=AnnotationTargetType)* "}") attributes+=AnnotationAttribute* "}";
 	public AnnotationTypeElements getAnnotationTypeAccess() {
-		return (pAnnotationType != null) ? pAnnotationType : (pAnnotationType = new AnnotationTypeElements());
+		return pAnnotationType;
 	}
 	
 	public ParserRule getAnnotationTypeRule() {
@@ -1175,7 +1128,7 @@
 	//AnnotationTargetType:
 	//	ID;
 	public AnnotationTargetTypeElements getAnnotationTargetTypeAccess() {
-		return (pAnnotationTargetType != null) ? pAnnotationTargetType : (pAnnotationTargetType = new AnnotationTargetTypeElements());
+		return pAnnotationTargetType;
 	}
 	
 	public ParserRule getAnnotationTargetTypeRule() {
@@ -1185,7 +1138,7 @@
 	//AnnotationAttribute:
 	//	SimpleAnnotationAttribute | EnumAnnotationAttribute;
 	public AnnotationAttributeElements getAnnotationAttributeAccess() {
-		return (pAnnotationAttribute != null) ? pAnnotationAttribute : (pAnnotationAttribute = new AnnotationAttributeElements());
+		return pAnnotationAttribute;
 	}
 	
 	public ParserRule getAnnotationAttributeRule() {
@@ -1195,7 +1148,7 @@
 	//SimpleAnnotationAttribute:
 	//	(optional?="optional" | "mandatory") "attribute" name=ID ":" type=LiteralType;
 	public SimpleAnnotationAttributeElements getSimpleAnnotationAttributeAccess() {
-		return (pSimpleAnnotationAttribute != null) ? pSimpleAnnotationAttribute : (pSimpleAnnotationAttribute = new SimpleAnnotationAttributeElements());
+		return pSimpleAnnotationAttribute;
 	}
 	
 	public ParserRule getSimpleAnnotationAttributeRule() {
@@ -1205,7 +1158,7 @@
 	//EnumAnnotationAttribute:
 	//	(optional?="optional" | "mandatory") "attribute" name=ID ":" "{" values+=STRING ("," values+=STRING)* "}";
 	public EnumAnnotationAttributeElements getEnumAnnotationAttributeAccess() {
-		return (pEnumAnnotationAttribute != null) ? pEnumAnnotationAttribute : (pEnumAnnotationAttribute = new EnumAnnotationAttributeElements());
+		return pEnumAnnotationAttribute;
 	}
 	
 	public ParserRule getEnumAnnotationAttributeRule() {
@@ -1235,7 +1188,7 @@
 	//Import:
 	//	"import" (importedNamespace=ImportedFQN "from" | "model") importURI=STRING;
 	public ImportElements getImportAccess() {
-		return (pImport != null) ? pImport : (pImport = new ImportElements());
+		return pImport;
 	}
 	
 	public ParserRule getImportRule() {
@@ -1245,7 +1198,7 @@
 	//ImportedFQN:
 	//	FQN ".*"?;
 	public ImportedFQNElements getImportedFQNAccess() {
-		return (pImportedFQN != null) ? pImportedFQN : (pImportedFQN = new ImportedFQNElements());
+		return pImportedFQN;
 	}
 	
 	public ParserRule getImportedFQNRule() {
@@ -1257,7 +1210,7 @@
 	//Documentation:
 	//	{Documentation} "[" lines+=STRING* "]";
 	public DocumentationElements getDocumentationAccess() {
-		return (pDocumentation != null) ? pDocumentation : (pDocumentation = new DocumentationElements());
+		return pDocumentation;
 	}
 	
 	public ParserRule getDocumentationRule() {
@@ -1269,7 +1222,7 @@
 	//TIME returns ecore::ELong:
 	//	INT "s" | INT "ms" | INT "us" | INT "ns";
 	public TIMEElements getTIMEAccess() {
-		return (pTIME != null) ? pTIME : (pTIME = new TIMEElements());
+		return pTIME;
 	}
 	
 	public ParserRule getTIMERule() {
@@ -1281,7 +1234,7 @@
 	//enum LiteralType:
 	//	BOOL="ptBoolean" | INT="ptInteger" | REAL="ptReal" | CHAR="ptCharacter";
 	public LiteralTypeElements getLiteralTypeAccess() {
-		return (unknownRuleLiteralType != null) ? unknownRuleLiteralType : (unknownRuleLiteralType = new LiteralTypeElements());
+		return unknownRuleLiteralType;
 	}
 	
 	public EnumRule getLiteralTypeRule() {
@@ -1291,7 +1244,7 @@
 	//LiteralArray:
 	//	literals+=Literal ("," literals+=Literal)*;
 	public LiteralArrayElements getLiteralArrayAccess() {
-		return (pLiteralArray != null) ? pLiteralArray : (pLiteralArray = new LiteralArrayElements());
+		return pLiteralArray;
 	}
 	
 	public ParserRule getLiteralArrayRule() {
@@ -1302,7 +1255,7 @@
 	//Literal:
 	//	BooleanLiteral | NumberLiteral | StringLiteral;
 	public LiteralElements getLiteralAccess() {
-		return (pLiteral != null) ? pLiteral : (pLiteral = new LiteralElements());
+		return pLiteral;
 	}
 	
 	public ParserRule getLiteralRule() {
@@ -1312,7 +1265,7 @@
 	//BooleanLiteral:
 	//	{BooleanLiteral} ("false" | isTrue?="true");
 	public BooleanLiteralElements getBooleanLiteralAccess() {
-		return (pBooleanLiteral != null) ? pBooleanLiteral : (pBooleanLiteral = new BooleanLiteralElements());
+		return pBooleanLiteral;
 	}
 	
 	public ParserRule getBooleanLiteralRule() {
@@ -1322,7 +1275,7 @@
 	//NumberLiteral:
 	//	IntLiteral | RealLiteral;
 	public NumberLiteralElements getNumberLiteralAccess() {
-		return (pNumberLiteral != null) ? pNumberLiteral : (pNumberLiteral = new NumberLiteralElements());
+		return pNumberLiteral;
 	}
 	
 	public ParserRule getNumberLiteralRule() {
@@ -1332,7 +1285,7 @@
 	//RealLiteral:
 	//	{RealLiteral} value=Real;
 	public RealLiteralElements getRealLiteralAccess() {
-		return (pRealLiteral != null) ? pRealLiteral : (pRealLiteral = new RealLiteralElements());
+		return pRealLiteral;
 	}
 	
 	public ParserRule getRealLiteralRule() {
@@ -1342,7 +1295,7 @@
 	//IntLiteral:
 	//	{IntLiteral} value=Integer;
 	public IntLiteralElements getIntLiteralAccess() {
-		return (pIntLiteral != null) ? pIntLiteral : (pIntLiteral = new IntLiteralElements());
+		return pIntLiteral;
 	}
 	
 	public ParserRule getIntLiteralRule() {
@@ -1352,7 +1305,7 @@
 	//StringLiteral:
 	//	{StringLiteral} value=STRING;
 	public StringLiteralElements getStringLiteralAccess() {
-		return (pStringLiteral != null) ? pStringLiteral : (pStringLiteral = new StringLiteralElements());
+		return pStringLiteral;
 	}
 	
 	public ParserRule getStringLiteralRule() {
@@ -1360,39 +1313,19 @@
 	}
 
 	//Integer returns ecore::ELong:
-	//	SignedInteger | Hexadecimal;
+	//	("+" | "-")? INT | HEX;
 	public IntegerElements getIntegerAccess() {
-		return (pInteger != null) ? pInteger : (pInteger = new IntegerElements());
+		return pInteger;
 	}
 	
 	public ParserRule getIntegerRule() {
 		return getIntegerAccess().getRule();
 	}
 
-	//SignedInteger hidden():
-	//	("+" | "-")? INT;
-	public SignedIntegerElements getSignedIntegerAccess() {
-		return (pSignedInteger != null) ? pSignedInteger : (pSignedInteger = new SignedIntegerElements());
-	}
-	
-	public ParserRule getSignedIntegerRule() {
-		return getSignedIntegerAccess().getRule();
-	}
-
-	//Hexadecimal hidden():
-	//	HEX;
-	public HexadecimalElements getHexadecimalAccess() {
-		return (pHexadecimal != null) ? pHexadecimal : (pHexadecimal = new HexadecimalElements());
-	}
-	
-	public ParserRule getHexadecimalRule() {
-		return getHexadecimalAccess().getRule();
-	}
-
 	//Real returns ecore::EDouble:
-	//	Decimal | DotDecimal | DecimalDot | DecimalExp;
+	//	Decimal | / *DotDecimal | DecimalDot |* / DecimalExp;
 	public RealElements getRealAccess() {
-		return (pReal != null) ? pReal : (pReal = new RealElements());
+		return pReal;
 	}
 	
 	public ParserRule getRealRule() {
@@ -1402,65 +1335,44 @@
 	//Decimal hidden():
 	//	("+" | "-")? INT "." INT;
 	public DecimalElements getDecimalAccess() {
-		return (pDecimal != null) ? pDecimal : (pDecimal = new DecimalElements());
+		return pDecimal;
 	}
 	
 	public ParserRule getDecimalRule() {
 		return getDecimalAccess().getRule();
 	}
 
-	//DotDecimal hidden():
-	//	("+" | "-")? "." INT;
-	public DotDecimalElements getDotDecimalAccess() {
-		return (pDotDecimal != null) ? pDotDecimal : (pDotDecimal = new DotDecimalElements());
-	}
-	
-	public ParserRule getDotDecimalRule() {
-		return getDotDecimalAccess().getRule();
-	}
-
-	//DecimalDot hidden():
-	//	("+" | "-")? INT ".";
-	public DecimalDotElements getDecimalDotAccess() {
-		return (pDecimalDot != null) ? pDecimalDot : (pDecimalDot = new DecimalDotElements());
-	}
-	
-	public ParserRule getDecimalDotRule() {
-		return getDecimalDotAccess().getRule();
-	}
-
+	////DotDecimal hidden():
+	////	('+' | '-')? '.' INT;
+	////
+	////DecimalDot hidden():
+	////	('+' | '-')? INT '.';
 	//DecimalExp hidden():
-	//	("+" | "-")? INT "." INT EXP;
+	//	("+" | "-")? INT "." INT ("e" | "E") ("+" | "-")? INT;
 	public DecimalExpElements getDecimalExpAccess() {
-		return (pDecimalExp != null) ? pDecimalExp : (pDecimalExp = new DecimalExpElements());
+		return pDecimalExp;
 	}
 	
 	public ParserRule getDecimalExpRule() {
 		return getDecimalExpAccess().getRule();
 	}
 
-	//terminal EXP:
-	//	("e" | "E") ("+" | "-")? "0".."9"+;
-	public TerminalRule getEXPRule() {
-		return (tEXP != null) ? tEXP : (tEXP = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "EXP"));
-	} 
-
-	//terminal HEX:
-	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
-	public TerminalRule getHEXRule() {
-		return (tHEX != null) ? tHEX : (tHEX = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "HEX"));
-	} 
-
 	//FQN:
 	//	ID ("." ID)*;
 	public FQNElements getFQNAccess() {
-		return (pFQN != null) ? pFQN : (pFQN = new FQNElements());
+		return pFQN;
 	}
 	
 	public ParserRule getFQNRule() {
 		return getFQNAccess().getRule();
 	}
 
+	//terminal HEX:
+	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
+	public TerminalRule getHEXRule() {
+		return tHEX;
+	} 
+
 	//terminal ID:
 	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
 	public TerminalRule getIDRule() {
@@ -1474,8 +1386,8 @@
 	} 
 
 	//terminal STRING:
-	//	"\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" |
-	//	"n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
+	//	"\"" ("\\" . / * 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' * / | !("\\" | "\""))* "\"" | "\'" ("\\" .
+	//	/ * 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' * / | !("\\" | "\'"))* "\'";
 	public TerminalRule getSTRINGRule() {
 		return gaTerminals.getSTRINGRule();
 	} 
diff --git a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/services/BaseTestGrammarAccess.java b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/services/BaseTestGrammarAccess.java
index 9d201e3..f99772c 100644
--- a/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/services/BaseTestGrammarAccess.java
+++ b/plugins/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/services/BaseTestGrammarAccess.java
@@ -46,17 +46,18 @@
 	}
 	
 	
-	private BaseModelElements pBaseModel;
+	private final BaseModelElements pBaseModel;
 	
 	private final Grammar grammar;
 
-	private BaseGrammarAccess gaBase;
+	private final BaseGrammarAccess gaBase;
 
 	@Inject
 	public BaseTestGrammarAccess(GrammarProvider grammarProvider,
 		BaseGrammarAccess gaBase) {
 		this.grammar = internalFindGrammar(grammarProvider);
 		this.gaBase = gaBase;
+		this.pBaseModel = new BaseModelElements();
 	}
 	
 	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -92,7 +93,7 @@
 	//BaseModel:
 	//	elements+=(Annotation | AnnotationType)*;
 	public BaseModelElements getBaseModelAccess() {
-		return (pBaseModel != null) ? pBaseModel : (pBaseModel = new BaseModelElements());
+		return pBaseModel;
 	}
 	
 	public ParserRule getBaseModelRule() {
@@ -328,7 +329,7 @@
 	}
 
 	//Integer returns ecore::ELong:
-	//	SignedInteger | Hexadecimal;
+	//	("+" | "-")? INT | HEX;
 	public BaseGrammarAccess.IntegerElements getIntegerAccess() {
 		return gaBase.getIntegerAccess();
 	}
@@ -337,28 +338,8 @@
 		return getIntegerAccess().getRule();
 	}
 
-	//SignedInteger hidden():
-	//	("+" | "-")? INT;
-	public BaseGrammarAccess.SignedIntegerElements getSignedIntegerAccess() {
-		return gaBase.getSignedIntegerAccess();
-	}
-	
-	public ParserRule getSignedIntegerRule() {
-		return getSignedIntegerAccess().getRule();
-	}
-
-	//Hexadecimal hidden():
-	//	HEX;
-	public BaseGrammarAccess.HexadecimalElements getHexadecimalAccess() {
-		return gaBase.getHexadecimalAccess();
-	}
-	
-	public ParserRule getHexadecimalRule() {
-		return getHexadecimalAccess().getRule();
-	}
-
 	//Real returns ecore::EDouble:
-	//	Decimal | DotDecimal | DecimalDot | DecimalExp;
+	//	Decimal | / *DotDecimal | DecimalDot |* / DecimalExp;
 	public BaseGrammarAccess.RealElements getRealAccess() {
 		return gaBase.getRealAccess();
 	}
@@ -377,28 +358,13 @@
 		return getDecimalAccess().getRule();
 	}
 
-	//DotDecimal hidden():
-	//	("+" | "-")? "." INT;
-	public BaseGrammarAccess.DotDecimalElements getDotDecimalAccess() {
-		return gaBase.getDotDecimalAccess();
-	}
-	
-	public ParserRule getDotDecimalRule() {
-		return getDotDecimalAccess().getRule();
-	}
-
-	//DecimalDot hidden():
-	//	("+" | "-")? INT ".";
-	public BaseGrammarAccess.DecimalDotElements getDecimalDotAccess() {
-		return gaBase.getDecimalDotAccess();
-	}
-	
-	public ParserRule getDecimalDotRule() {
-		return getDecimalDotAccess().getRule();
-	}
-
+	////DotDecimal hidden():
+	////	('+' | '-')? '.' INT;
+	////
+	////DecimalDot hidden():
+	////	('+' | '-')? INT '.';
 	//DecimalExp hidden():
-	//	("+" | "-")? INT "." INT EXP;
+	//	("+" | "-")? INT "." INT ("e" | "E") ("+" | "-")? INT;
 	public BaseGrammarAccess.DecimalExpElements getDecimalExpAccess() {
 		return gaBase.getDecimalExpAccess();
 	}
@@ -407,18 +373,6 @@
 		return getDecimalExpAccess().getRule();
 	}
 
-	//terminal EXP:
-	//	("e" | "E") ("+" | "-")? "0".."9"+;
-	public TerminalRule getEXPRule() {
-		return gaBase.getEXPRule();
-	} 
-
-	//terminal HEX:
-	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
-	public TerminalRule getHEXRule() {
-		return gaBase.getHEXRule();
-	} 
-
 	//FQN:
 	//	ID ("." ID)*;
 	public BaseGrammarAccess.FQNElements getFQNAccess() {
@@ -429,6 +383,12 @@
 		return getFQNAccess().getRule();
 	}
 
+	//terminal HEX:
+	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
+	public TerminalRule getHEXRule() {
+		return gaBase.getHEXRule();
+	} 
+
 	//terminal ID:
 	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
 	public TerminalRule getIDRule() {
@@ -442,8 +402,8 @@
 	} 
 
 	//terminal STRING:
-	//	"\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" |
-	//	"n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
+	//	"\"" ("\\" . / * 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' * / | !("\\" | "\""))* "\"" | "\'" ("\\" .
+	//	/ * 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' * / | !("\\" | "\'"))* "\'";
 	public TerminalRule getSTRINGRule() {
 		return gaBase.getSTRINGRule();
 	} 
diff --git a/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/Base.xtext b/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/Base.xtext
index 265de29..1805bcb 100644
--- a/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/Base.xtext
+++ b/plugins/org.eclipse.etrice.core.common/src/org/eclipse/etrice/core/common/Base.xtext
@@ -127,34 +127,25 @@
 	{StringLiteral} value=STRING;
 
 Integer returns ecore::ELong:
-	SignedInteger | Hexadecimal;
-
-SignedInteger hidden():
-	('+' | '-')? INT;
-
-Hexadecimal hidden():
-	HEX;
+	(('+' | '-')? INT) | HEX;
 
 Real returns ecore::EDouble:
-	Decimal | DotDecimal | DecimalDot | DecimalExp;
+	Decimal | /*DotDecimal | DecimalDot |*/ DecimalExp;
 
 Decimal hidden():
 	('+' | '-')? INT '.' INT;
 
-DotDecimal hidden():
-	('+' | '-')? '.' INT;
-
-DecimalDot hidden():
-	('+' | '-')? INT '.';
+//DotDecimal hidden():
+//	('+' | '-')? '.' INT;
+//
+//DecimalDot hidden():
+//	('+' | '-')? INT '.';
 
 DecimalExp hidden():
-	('+' | '-')? INT '.' INT EXP;
+	('+' | '-')? INT '.' INT ('e' | 'E') ('+' | '-')? INT;
 
-terminal EXP:
-	('e' | 'E') ('+' | '-')? ('0'..'9')+;
+FQN:
+	ID ('.' ID)*;
 
 terminal HEX:
 	('0x' | '0X') ('0'..'9' | 'a'..'f' | 'A'..'F')+;
-
-FQN:
-	ID ('.' ID)*;
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/formatting/BaseFormatter.java b/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/formatting/BaseFormatter.java
index c8c4dfd..bdccb78 100644
--- a/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/formatting/BaseFormatter.java
+++ b/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/formatting/BaseFormatter.java
@@ -23,6 +23,7 @@
  */
 @SuppressWarnings("all")
 public class BaseFormatter extends AbstractDeclarativeFormatter {
+  @Override
   protected void configureFormatting(final FormattingConfig c) {
   }
 }
diff --git a/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/generator/BaseGenerator.java b/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/generator/BaseGenerator.java
index f6a013a..c3ecaf6 100644
--- a/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/generator/BaseGenerator.java
+++ b/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/generator/BaseGenerator.java
@@ -21,6 +21,7 @@
  */
 @SuppressWarnings("all")
 public class BaseGenerator implements IGenerator {
+  @Override
   public void doGenerate(final Resource resource, final IFileSystemAccess fsa) {
   }
 }
diff --git a/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/postprocessing/PostprocessingHelpers.java b/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/postprocessing/PostprocessingHelpers.java
index e9be2be..0ad1c71 100644
--- a/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/postprocessing/PostprocessingHelpers.java
+++ b/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/postprocessing/PostprocessingHelpers.java
@@ -45,6 +45,7 @@
   public static EAttribute getAttribute(final EClass cls, final String name) {
     EList<EAttribute> _eAllAttributes = cls.getEAllAttributes();
     final Function1<EAttribute, Boolean> _function = new Function1<EAttribute, Boolean>() {
+      @Override
       public Boolean apply(final EAttribute a) {
         String _name = a.getName();
         return Boolean.valueOf(_name.equals(name));
@@ -56,6 +57,7 @@
   public static EReference getReference(final EClass cls, final String name) {
     EList<EReference> _eAllReferences = cls.getEAllReferences();
     final Function1<EReference, Boolean> _function = new Function1<EReference, Boolean>() {
+      @Override
       public Boolean apply(final EReference a) {
         String _name = a.getName();
         return Boolean.valueOf(_name.equals(name));
diff --git a/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/validation/ValidationHelpers.java b/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/validation/ValidationHelpers.java
index 999f37c..94484ec 100644
--- a/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/validation/ValidationHelpers.java
+++ b/plugins/org.eclipse.etrice.core.common/xtend-gen/org/eclipse/etrice/core/common/validation/ValidationHelpers.java
@@ -77,6 +77,7 @@
   public static class NamedObjectList extends ArrayList<ValidationHelpers.NamedObject> {
     public void addAll(final List<? extends EObject> items, final EStructuralFeature feature) {
       final Procedure1<EObject> _function = new Procedure1<EObject>() {
+        @Override
         public void apply(final EObject it) {
           Object _eGet = it.eGet(feature);
           ValidationHelpers.NamedObject _namedObject = new ValidationHelpers.NamedObject(((String) _eGet), it, feature);
@@ -104,6 +105,7 @@
         }
       }
       final Function1<ValidationHelpers.NamedObject, Boolean> _function = new Function1<ValidationHelpers.NamedObject, Boolean>() {
+        @Override
         public Boolean apply(final ValidationHelpers.NamedObject i) {
           String _name = i.getName();
           return Boolean.valueOf(duplicateNames.contains(_name));
@@ -116,6 +118,7 @@
   
   public static Iterable<ValidationHelpers.NamedObject> inSameResource(final Iterable<ValidationHelpers.NamedObject> items, final Resource resource) {
     final Function1<ValidationHelpers.NamedObject, Boolean> _function = new Function1<ValidationHelpers.NamedObject, Boolean>() {
+      @Override
       public Boolean apply(final ValidationHelpers.NamedObject i) {
         EObject _obj = i.getObj();
         Resource _eResource = _obj.eResource();
diff --git a/plugins/org.eclipse.etrice.core.config.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.config.ui/META-INF/MANIFEST.MF
index bf6e77b..d5a0821 100644
--- a/plugins/org.eclipse.etrice.core.config.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.config.ui/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Config DSL UI
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.config.ui; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle:  org.eclipse.etrice.core.room.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.common.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.core.config;bundle-version="1.0.1";visibility:=reexport,
+Require-Bundle:  org.eclipse.etrice.core.room.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.common.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.core.config;bundle-version="1.1.0";visibility:=reexport,
  org.eclipse.xtext.ui;bundle-version="2.6.0",
  org.eclipse.ui.editors;bundle-version="3.5.0",
  org.eclipse.ui.ide;bundle-version="3.5.0",
diff --git a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/ConfigParser.java b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/ConfigParser.java
index 6e8efe1..d0e9b19 100644
--- a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/ConfigParser.java
+++ b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/ConfigParser.java
@@ -53,12 +53,12 @@
 					put(grammarAccess.getBooleanLiteralAccess().getAlternatives_1(), "rule__BooleanLiteral__Alternatives_1");
 					put(grammarAccess.getNumberLiteralAccess().getAlternatives(), "rule__NumberLiteral__Alternatives");
 					put(grammarAccess.getIntegerAccess().getAlternatives(), "rule__Integer__Alternatives");
-					put(grammarAccess.getSignedIntegerAccess().getAlternatives_0(), "rule__SignedInteger__Alternatives_0");
+					put(grammarAccess.getIntegerAccess().getAlternatives_0_0(), "rule__Integer__Alternatives_0_0");
 					put(grammarAccess.getRealAccess().getAlternatives(), "rule__Real__Alternatives");
 					put(grammarAccess.getDecimalAccess().getAlternatives_0(), "rule__Decimal__Alternatives_0");
-					put(grammarAccess.getDotDecimalAccess().getAlternatives_0(), "rule__DotDecimal__Alternatives_0");
-					put(grammarAccess.getDecimalDotAccess().getAlternatives_0(), "rule__DecimalDot__Alternatives_0");
 					put(grammarAccess.getDecimalExpAccess().getAlternatives_0(), "rule__DecimalExp__Alternatives_0");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_4(), "rule__DecimalExp__Alternatives_4");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_5(), "rule__DecimalExp__Alternatives_5");
 					put(grammarAccess.getLiteralTypeAccess().getAlternatives(), "rule__LiteralType__Alternatives");
 					put(grammarAccess.getConfigModelAccess().getGroup(), "rule__ConfigModel__Group__0");
 					put(grammarAccess.getSubSystemConfigAccess().getGroup(), "rule__SubSystemConfig__Group__0");
@@ -117,10 +117,8 @@
 					put(grammarAccess.getRealLiteralAccess().getGroup(), "rule__RealLiteral__Group__0");
 					put(grammarAccess.getIntLiteralAccess().getGroup(), "rule__IntLiteral__Group__0");
 					put(grammarAccess.getStringLiteralAccess().getGroup(), "rule__StringLiteral__Group__0");
-					put(grammarAccess.getSignedIntegerAccess().getGroup(), "rule__SignedInteger__Group__0");
+					put(grammarAccess.getIntegerAccess().getGroup_0(), "rule__Integer__Group_0__0");
 					put(grammarAccess.getDecimalAccess().getGroup(), "rule__Decimal__Group__0");
-					put(grammarAccess.getDotDecimalAccess().getGroup(), "rule__DotDecimal__Group__0");
-					put(grammarAccess.getDecimalDotAccess().getGroup(), "rule__DecimalDot__Group__0");
 					put(grammarAccess.getDecimalExpAccess().getGroup(), "rule__DecimalExp__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup(), "rule__FQN__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup_1(), "rule__FQN__Group_1__0");
diff --git a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g
index 70c3887..378ba52 100644
--- a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g
+++ b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g
@@ -5,6 +5,7 @@
 
 options {
 	superClass=AbstractInternalContentAssistParser;
+	backtrack=true;
 	
 }
 
@@ -988,78 +989,6 @@
 
 
 
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getSignedIntegerRule()); }
-	 ruleSignedInteger
-{ after(grammarAccess.getSignedIntegerRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSignedIntegerAccess().getGroup()); }
-(rule__SignedInteger__Group__0)
-{ after(grammarAccess.getSignedIntegerAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getHexadecimalRule()); }
-	 ruleHexadecimal
-{ after(grammarAccess.getHexadecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-	RULE_HEX
-{ after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleReal
 entryRuleReal 
 :
@@ -1124,78 +1053,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDotDecimalRule()); }
-	 ruleDotDecimal
-{ after(grammarAccess.getDotDecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDotDecimalAccess().getGroup()); }
-(rule__DotDecimal__Group__0)
-{ after(grammarAccess.getDotDecimalAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDecimalDotRule()); }
-	 ruleDecimalDot
-{ after(grammarAccess.getDecimalDotRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDecimalDotAccess().getGroup()); }
-(rule__DecimalDot__Group__0)
-{ after(grammarAccess.getDecimalDotAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp 
 @init {
@@ -1618,15 +1475,15 @@
     }
 :
 (
-{ before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
-	ruleSignedInteger
-{ after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
+{ before(grammarAccess.getIntegerAccess().getGroup_0()); }
+(rule__Integer__Group_0__0)
+{ after(grammarAccess.getIntegerAccess().getGroup_0()); }
 )
 
     |(
-{ before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
-	ruleHexadecimal
-{ after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
+	RULE_HEX
+{ after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
 )
 
 ;
@@ -1634,25 +1491,25 @@
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Alternatives_0
+rule__Integer__Alternatives_0_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 
 	'+' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 )
 
     |(
-{ before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 
 	'-' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 )
 
 ;
@@ -1672,21 +1529,9 @@
 )
 
     |(
-{ before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-	ruleDotDecimal
-{ after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-	ruleDecimalDot
-{ after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 	ruleDecimalExp
-{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 )
 
 ;
@@ -1720,58 +1565,6 @@
 	restoreStackSize(stackSize);
 }
 
-rule__DotDecimal__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
 rule__DecimalExp__Alternatives_0
     @init {
 		int stackSize = keepStackSize();
@@ -1798,6 +1591,58 @@
 	restoreStackSize(stackSize);
 }
 
+rule__DecimalExp__Alternatives_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+
+	'e' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+
+	'E' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Alternatives_5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+
+	'+' 
+
+{ after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+
+	'-' 
+
+{ after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__LiteralType__Alternatives
     @init {
 		int stackSize = keepStackSize();
@@ -6620,27 +6465,27 @@
 
 
 
-rule__SignedInteger__Group__0
+rule__Integer__Group_0__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__0__Impl
-	rule__SignedInteger__Group__1
+	rule__Integer__Group_0__0__Impl
+	rule__Integer__Group_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__0__Impl
+rule__Integer__Group_0__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
-(rule__SignedInteger__Alternatives_0)?
-{ after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
+{ before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
+(rule__Integer__Alternatives_0_0)?
+{ after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
 )
 
 ;
@@ -6649,26 +6494,26 @@
 }
 
 
-rule__SignedInteger__Group__1
+rule__Integer__Group_0__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__1__Impl
+	rule__Integer__Group_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__1__Impl
+rule__Integer__Group_0__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 	RULE_INT
-{ after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 )
 
 ;
@@ -6806,194 +6651,6 @@
 
 
 
-rule__DotDecimal__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__0__Impl
-	rule__DotDecimal__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-(rule__DotDecimal__Alternatives_0)?
-{ after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__1__Impl
-	rule__DotDecimal__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-
-	'.' 
-
-{ after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-	RULE_INT
-{ after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__DecimalDot__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__0__Impl
-	rule__DecimalDot__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-(rule__DecimalDot__Alternatives_0)?
-{ after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__1__Impl
-	rule__DecimalDot__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-	RULE_INT
-{ after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-
-	'.' 
-
-{ after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
 rule__DecimalExp__Group__0
     @init {
 		int stackSize = keepStackSize();
@@ -7118,6 +6775,7 @@
     }
 :
 	rule__DecimalExp__Group__4__Impl
+	rule__DecimalExp__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -7129,9 +6787,9 @@
     }
 :
 (
-{ before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
-	RULE_EXP
-{ after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
+(rule__DecimalExp__Alternatives_4)
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
 )
 
 ;
@@ -7140,6 +6798,67 @@
 }
 
 
+rule__DecimalExp__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__5__Impl
+	rule__DecimalExp__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+(rule__DecimalExp__Alternatives_5)?
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DecimalExp__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+(	RULE_INT)
+{ after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
 
 
 
@@ -8540,8 +8259,6 @@
 }
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
diff --git a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.tokens b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.tokens
index 2d0ca01..366f5e5 100644
--- a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.tokens
+++ b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.tokens
@@ -1,60 +1,62 @@
-'+'=19
-','=45
-'-'=20
-'.'=46
-'.*'=51
-'/'=29
-':'=47
-'='=42
-'ActorClassConfig'=35
-'ActorInstanceConfig'=36
-'Attr'=41
-'ConfigModel'=25
-'InterfaceItem'=40
-'Port'=39
-'ProtocolClassConfig'=37
-'SubSystemConfig'=28
-'['=52
-']'=53
-'attribute'=48
-'conjugate'=13
-'conjugated'=14
-'dynamic configuration'=30
-'false'=18
-'file path'=31
-'from'=50
-'import'=49
-'mandatory'=16
-'max'=44
-'min'=43
-'model'=17
-'ms'=55
-'ns'=57
-'optional'=59
-'polling interval'=34
-'ptBoolean'=21
-'ptCharacter'=24
-'ptInteger'=22
-'ptReal'=23
-'read'=58
-'regular'=38
-'s'=54
-'true'=60
-'us'=56
-'user constructor'=33
-'user import'=32
-'write'=15
-'{'=26
-'}'=27
-RULE_ANY_OTHER=12
-RULE_EXP=7
+'+'=18
+','=46
+'-'=19
+'.'=47
+'.*'=52
+'/'=30
+':'=48
+'='=43
+'ActorClassConfig'=36
+'ActorInstanceConfig'=37
+'Attr'=42
+'ConfigModel'=26
+'E'=21
+'InterfaceItem'=41
+'Port'=40
+'ProtocolClassConfig'=38
+'SubSystemConfig'=29
+'['=53
+']'=54
+'attribute'=49
+'conjugate'=12
+'conjugated'=13
+'dynamic configuration'=31
+'e'=20
+'false'=17
+'file path'=32
+'from'=51
+'import'=50
+'mandatory'=15
+'max'=45
+'min'=44
+'model'=16
+'ms'=56
+'ns'=58
+'optional'=60
+'polling interval'=35
+'ptBoolean'=22
+'ptCharacter'=25
+'ptInteger'=23
+'ptReal'=24
+'read'=59
+'regular'=39
+'s'=55
+'true'=61
+'us'=57
+'user constructor'=34
+'user import'=33
+'write'=14
+'{'=27
+'}'=28
+RULE_ANY_OTHER=11
 RULE_HEX=5
 RULE_ID=4
 RULE_INT=6
-RULE_ML_COMMENT=9
-RULE_SL_COMMENT=10
-RULE_STRING=8
-RULE_WS=11
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
+RULE_STRING=7
+RULE_WS=10
+T__12=12
 T__13=13
 T__14=14
 T__15=15
@@ -103,3 +105,4 @@
 T__58=58
 T__59=59
 T__60=60
+T__61=61
diff --git a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigLexer.java b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigLexer.java
index 73bf487..987b9db 100644
--- a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigLexer.java
+++ b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigLexer.java
@@ -12,64 +12,65 @@
 
 @SuppressWarnings("all")
 public class InternalConfigLexer extends Lexer {
-    public static final int RULE_EXP=7;
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int T__21=21;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__20=20;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=5;
-    public static final int T__58=58;
+    public static final int T__50=50;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__59=59;
     public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__15=15;
     public static final int T__53=53;
-    public static final int T__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    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=8;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -84,10 +85,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:11:7: ( 'conjugate' )
             // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:11:9: 'conjugate'
@@ -103,6 +104,27 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:12:7: ( 'conjugated' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:12:9: 'conjugated'
+            {
+            match("conjugated"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -110,10 +132,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:12:7: ( 'conjugated' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:12:9: 'conjugated'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:13:7: ( 'write' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:13:9: 'write'
             {
-            match("conjugated"); 
+            match("write"); 
 
 
             }
@@ -131,10 +153,10 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:13:7: ( 'write' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:13:9: 'write'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:14:7: ( 'mandatory' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:14:9: 'mandatory'
             {
-            match("write"); 
+            match("mandatory"); 
 
 
             }
@@ -152,10 +174,10 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:14:7: ( 'mandatory' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:14:9: 'mandatory'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:15:7: ( 'model' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:15:9: 'model'
             {
-            match("mandatory"); 
+            match("model"); 
 
 
             }
@@ -173,10 +195,10 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:15:7: ( 'model' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:15:9: 'model'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:16:7: ( 'false' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:16:9: 'false'
             {
-            match("model"); 
+            match("false"); 
 
 
             }
@@ -194,11 +216,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:16:7: ( 'false' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:16:9: 'false'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:17:7: ( '+' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:17:9: '+'
             {
-            match("false"); 
-
+            match('+'); 
 
             }
 
@@ -215,10 +236,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:17:7: ( '+' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:17:9: '+'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:18:7: ( '-' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:18:9: '-'
             {
-            match('+'); 
+            match('-'); 
 
             }
 
@@ -235,10 +256,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:18:7: ( '-' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:18:9: '-'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:19:7: ( 'e' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:19:9: 'e'
             {
-            match('-'); 
+            match('e'); 
 
             }
 
@@ -255,11 +276,10 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:19:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:19:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:20:7: ( 'E' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:20:9: 'E'
             {
-            match("ptBoolean"); 
-
+            match('E'); 
 
             }
 
@@ -276,10 +296,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:20:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:20:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:21:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:21:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -297,10 +317,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:21:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:21:9: 'ptReal'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:22:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:22:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -318,10 +338,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:22:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:22:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:23:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:23:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -339,10 +359,10 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:23:7: ( 'ConfigModel' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:23:9: 'ConfigModel'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:24:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:24:9: 'ptCharacter'
             {
-            match("ConfigModel"); 
+            match("ptCharacter"); 
 
 
             }
@@ -360,10 +380,11 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:24:7: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:24:9: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:25:7: ( 'ConfigModel' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:25:9: 'ConfigModel'
             {
-            match('{'); 
+            match("ConfigModel"); 
+
 
             }
 
@@ -380,10 +401,10 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:25:7: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:25:9: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:26:7: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:26:9: '{'
             {
-            match('}'); 
+            match('{'); 
 
             }
 
@@ -400,11 +421,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:26:7: ( 'SubSystemConfig' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:26:9: 'SubSystemConfig'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:27:7: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:27:9: '}'
             {
-            match("SubSystemConfig"); 
-
+            match('}'); 
 
             }
 
@@ -421,10 +441,11 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:27:7: ( '/' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:27:9: '/'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:28:7: ( 'SubSystemConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:28:9: 'SubSystemConfig'
             {
-            match('/'); 
+            match("SubSystemConfig"); 
+
 
             }
 
@@ -441,11 +462,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:28:7: ( 'dynamic configuration' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:28:9: 'dynamic configuration'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:29:7: ( '/' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:29:9: '/'
             {
-            match("dynamic configuration"); 
-
+            match('/'); 
 
             }
 
@@ -462,10 +482,10 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:29:7: ( 'file path' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:29:9: 'file path'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:30:7: ( 'dynamic configuration' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:30:9: 'dynamic configuration'
             {
-            match("file path"); 
+            match("dynamic configuration"); 
 
 
             }
@@ -483,10 +503,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:30:7: ( 'user import' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:30:9: 'user import'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:31:7: ( 'file path' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:31:9: 'file path'
             {
-            match("user import"); 
+            match("file path"); 
 
 
             }
@@ -504,10 +524,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:31:7: ( 'user constructor' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:31:9: 'user constructor'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:32:7: ( 'user import' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:32:9: 'user import'
             {
-            match("user constructor"); 
+            match("user import"); 
 
 
             }
@@ -525,10 +545,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:32:7: ( 'polling interval' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:32:9: 'polling interval'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:33:7: ( 'user constructor' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:33:9: 'user constructor'
             {
-            match("polling interval"); 
+            match("user constructor"); 
 
 
             }
@@ -546,10 +566,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:33:7: ( 'ActorClassConfig' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:33:9: 'ActorClassConfig'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:34:7: ( 'polling interval' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:34:9: 'polling interval'
             {
-            match("ActorClassConfig"); 
+            match("polling interval"); 
 
 
             }
@@ -567,10 +587,10 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:34:7: ( 'ActorInstanceConfig' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:34:9: 'ActorInstanceConfig'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:35:7: ( 'ActorClassConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:35:9: 'ActorClassConfig'
             {
-            match("ActorInstanceConfig"); 
+            match("ActorClassConfig"); 
 
 
             }
@@ -588,10 +608,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:35:7: ( 'ProtocolClassConfig' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:35:9: 'ProtocolClassConfig'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:36:7: ( 'ActorInstanceConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:36:9: 'ActorInstanceConfig'
             {
-            match("ProtocolClassConfig"); 
+            match("ActorInstanceConfig"); 
 
 
             }
@@ -609,10 +629,10 @@
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:36:7: ( 'regular' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:36:9: 'regular'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:37:7: ( 'ProtocolClassConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:37:9: 'ProtocolClassConfig'
             {
-            match("regular"); 
+            match("ProtocolClassConfig"); 
 
 
             }
@@ -630,10 +650,10 @@
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:37:7: ( 'Port' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:37:9: 'Port'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:38:7: ( 'regular' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:38:9: 'regular'
             {
-            match("Port"); 
+            match("regular"); 
 
 
             }
@@ -651,10 +671,10 @@
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:38:7: ( 'InterfaceItem' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:38:9: 'InterfaceItem'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:39:7: ( 'Port' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:39:9: 'Port'
             {
-            match("InterfaceItem"); 
+            match("Port"); 
 
 
             }
@@ -672,10 +692,10 @@
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:39:7: ( 'Attr' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:39:9: 'Attr'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:40:7: ( 'InterfaceItem' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:40:9: 'InterfaceItem'
             {
-            match("Attr"); 
+            match("InterfaceItem"); 
 
 
             }
@@ -693,10 +713,11 @@
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:40:7: ( '=' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:40:9: '='
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:41:7: ( 'Attr' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:41:9: 'Attr'
             {
-            match('='); 
+            match("Attr"); 
+
 
             }
 
@@ -713,11 +734,10 @@
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:41:7: ( 'min' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:41:9: 'min'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:42:7: ( '=' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:42:9: '='
             {
-            match("min"); 
-
+            match('='); 
 
             }
 
@@ -734,10 +754,10 @@
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:42:7: ( 'max' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:42:9: 'max'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:43:7: ( 'min' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:43:9: 'min'
             {
-            match("max"); 
+            match("min"); 
 
 
             }
@@ -755,10 +775,11 @@
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:43:7: ( ',' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:43:9: ','
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:44:7: ( 'max' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:44:9: 'max'
             {
-            match(','); 
+            match("max"); 
+
 
             }
 
@@ -775,10 +796,10 @@
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:44:7: ( '.' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:44:9: '.'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:45:7: ( ',' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:45:9: ','
             {
-            match('.'); 
+            match(','); 
 
             }
 
@@ -795,10 +816,10 @@
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:45:7: ( ':' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:45:9: ':'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:46:7: ( '.' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:46:9: '.'
             {
-            match(':'); 
+            match('.'); 
 
             }
 
@@ -815,11 +836,10 @@
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:46:7: ( 'attribute' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:46:9: 'attribute'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:47:7: ( ':' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:47:9: ':'
             {
-            match("attribute"); 
-
+            match(':'); 
 
             }
 
@@ -836,10 +856,10 @@
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:47:7: ( 'import' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:47:9: 'import'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:48:7: ( 'attribute' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:48:9: 'attribute'
             {
-            match("import"); 
+            match("attribute"); 
 
 
             }
@@ -857,10 +877,10 @@
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:48:7: ( 'from' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:48:9: 'from'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:49:7: ( 'import' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:49:9: 'import'
             {
-            match("from"); 
+            match("import"); 
 
 
             }
@@ -878,10 +898,10 @@
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:49:7: ( '.*' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:49:9: '.*'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:50:7: ( 'from' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:50:9: 'from'
             {
-            match(".*"); 
+            match("from"); 
 
 
             }
@@ -899,10 +919,11 @@
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:50:7: ( '[' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:50:9: '['
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:51:7: ( '.*' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:51:9: '.*'
             {
-            match('['); 
+            match(".*"); 
+
 
             }
 
@@ -919,10 +940,10 @@
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:51:7: ( ']' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:51:9: ']'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:52:7: ( '[' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:52:9: '['
             {
-            match(']'); 
+            match('['); 
 
             }
 
@@ -939,10 +960,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:52:7: ( 's' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:52:9: 's'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:53:7: ( ']' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:53:9: ']'
             {
-            match('s'); 
+            match(']'); 
 
             }
 
@@ -959,11 +980,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:53:7: ( 'ms' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:53:9: 'ms'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:54:7: ( 's' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:54:9: 's'
             {
-            match("ms"); 
-
+            match('s'); 
 
             }
 
@@ -980,10 +1000,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:54:7: ( 'us' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:54:9: 'us'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:55:7: ( 'ms' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:55:9: 'ms'
             {
-            match("us"); 
+            match("ms"); 
 
 
             }
@@ -1001,10 +1021,10 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:55:7: ( 'ns' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:55:9: 'ns'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:56:7: ( 'us' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:56:9: 'us'
             {
-            match("ns"); 
+            match("us"); 
 
 
             }
@@ -1022,10 +1042,10 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:56:7: ( 'read' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:56:9: 'read'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:57:7: ( 'ns' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:57:9: 'ns'
             {
-            match("read"); 
+            match("ns"); 
 
 
             }
@@ -1043,10 +1063,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:57:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:57:9: 'optional'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:58:7: ( 'read' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:58:9: 'read'
             {
-            match("optional"); 
+            match("read"); 
 
 
             }
@@ -1064,10 +1084,10 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:58:7: ( 'true' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:58:9: 'true'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:59:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:59:9: 'optional'
             {
-            match("true"); 
+            match("optional"); 
 
 
             }
@@ -1080,42 +1100,74 @@
     }
     // $ANTLR end "T__60"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__61"
+    public final void mT__61() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8543:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8543:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:60:7: ( 'true' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:60:9: 'true'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("true"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8543:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__61"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8262:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8262:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8262:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8262:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8262:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -1123,23 +1175,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8543:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8262:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8543:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -1162,109 +1222,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8545:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8545:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8545:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8545:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8545:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8545:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -1272,19 +1229,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8547:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8547:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8264:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8264:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8547:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8264:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8547:11: '^'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8264:11: '^'
                     {
                     match('^'); 
 
@@ -1302,18 +1259,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8547:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8264:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:
             	    {
@@ -1331,7 +1288,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -1351,24 +1308,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8549:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8549:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8266:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8266:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8549:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8266:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8549:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8266:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -1376,12 +1333,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -1400,47 +1357,47 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8551:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8551:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8268:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8268:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8551:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8268:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8551:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8268:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8551:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8268:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8551:21: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8268:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1448,7 +1405,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8551:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8268:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1464,7 +1421,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -1473,26 +1430,26 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8551:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8268:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8551:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8268:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8551:54: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8268:54: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1500,7 +1457,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8551:61: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8268:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1516,7 +1473,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -1543,37 +1500,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8553:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8553:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8270:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8270:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8553:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8270:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8553:52: .
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8270:52: .
             	    {
             	    matchAny(); 
 
@@ -1581,7 +1538,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -1603,25 +1560,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8555:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8555:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8272:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8272:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8555:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8272:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8555:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8272: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();
@@ -1637,31 +1594,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8555:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8272:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8555:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8272:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8555:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8272:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8555:41: '\\r'
+                            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8272:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1693,22 +1650,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8557:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8557:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8274:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8274:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8557:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8274:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:
             	    {
@@ -1726,12 +1683,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -1750,8 +1707,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8559:16: ( . )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8559:18: .
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8276:16: ( . )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8276:18: .
             {
             matchAny(); 
 
@@ -1766,404 +1723,411 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:8: ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=57;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:8: ( 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 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=58;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:10: T__13
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:148: T__36
+            case 25 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:154: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:154: T__37
+            case 26 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:160: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:160: T__38
+            case 27 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:166: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:166: T__39
+            case 28 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:172: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:172: T__40
+            case 29 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:178: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:178: T__41
+            case 30 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:184: T__41
                 {
                 mT__41(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:184: T__42
+            case 31 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:190: T__42
                 {
                 mT__42(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:190: T__43
+            case 32 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:196: T__43
                 {
                 mT__43(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:196: T__44
+            case 33 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:202: T__44
                 {
                 mT__44(); 
 
                 }
                 break;
-            case 33 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:202: T__45
+            case 34 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:208: T__45
                 {
                 mT__45(); 
 
                 }
                 break;
-            case 34 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:208: T__46
+            case 35 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:214: T__46
                 {
                 mT__46(); 
 
                 }
                 break;
-            case 35 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:214: T__47
+            case 36 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:220: T__47
                 {
                 mT__47(); 
 
                 }
                 break;
-            case 36 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:220: T__48
+            case 37 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:226: T__48
                 {
                 mT__48(); 
 
                 }
                 break;
-            case 37 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:226: T__49
+            case 38 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:232: T__49
                 {
                 mT__49(); 
 
                 }
                 break;
-            case 38 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:232: T__50
+            case 39 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:238: T__50
                 {
                 mT__50(); 
 
                 }
                 break;
-            case 39 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:238: T__51
+            case 40 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:244: T__51
                 {
                 mT__51(); 
 
                 }
                 break;
-            case 40 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:244: T__52
+            case 41 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:250: T__52
                 {
                 mT__52(); 
 
                 }
                 break;
-            case 41 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:250: T__53
+            case 42 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:256: T__53
                 {
                 mT__53(); 
 
                 }
                 break;
-            case 42 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:256: T__54
+            case 43 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:262: T__54
                 {
                 mT__54(); 
 
                 }
                 break;
-            case 43 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:262: T__55
+            case 44 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:268: T__55
                 {
                 mT__55(); 
 
                 }
                 break;
-            case 44 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:268: T__56
+            case 45 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:274: T__56
                 {
                 mT__56(); 
 
                 }
                 break;
-            case 45 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:274: T__57
+            case 46 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:280: T__57
                 {
                 mT__57(); 
 
                 }
                 break;
-            case 46 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:280: T__58
+            case 47 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:286: T__58
                 {
                 mT__58(); 
 
                 }
                 break;
-            case 47 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:286: T__59
+            case 48 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:292: T__59
                 {
                 mT__59(); 
 
                 }
                 break;
-            case 48 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:292: T__60
+            case 49 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:298: T__60
                 {
                 mT__60(); 
 
                 }
                 break;
-            case 49 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:298: RULE_EXP
+            case 50 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:304: T__61
                 {
-                mRULE_EXP(); 
+                mT__61(); 
 
                 }
                 break;
-            case 50 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:307: RULE_HEX
+            case 51 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:310: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 51 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:316: RULE_ID
+            case 52 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:319: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 52 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:324: RULE_INT
+            case 53 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:327: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 53 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:333: RULE_STRING
+            case 54 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:336: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 54 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:345: RULE_ML_COMMENT
+            case 55 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:348: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 55 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:361: RULE_SL_COMMENT
+            case 56 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:364: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 56 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:377: RULE_WS
+            case 57 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:380: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 57 :
-                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:385: RULE_ANY_OTHER
+            case 58 :
+                // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1:388: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -2175,191 +2139,191 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\1\uffff\4\51\2\uffff\2\51\2\uffff\1\51\1\74\6\51\2\uffff\1\110"+
-        "\1\uffff\2\51\2\uffff\1\116\4\51\1\125\1\47\2\uffff\2\47\2\uffff"+
-        "\1\51\1\uffff\4\51\1\136\3\51\2\uffff\3\51\2\uffff\1\51\3\uffff"+
-        "\1\51\1\153\6\51\5\uffff\2\51\3\uffff\1\165\2\51\1\123\5\uffff\3"+
-        "\51\1\173\1\51\1\175\1\uffff\14\51\1\uffff\11\51\1\uffff\5\51\1"+
-        "\uffff\1\51\1\uffff\2\51\1\u009b\12\51\1\u00a6\1\51\1\u00a8\1\51"+
-        "\1\u00aa\4\51\1\u00af\1\51\1\u00b1\1\51\1\u00b3\1\u00b4\2\uffff"+
-        "\10\51\1\uffff\1\51\1\uffff\1\51\1\uffff\1\51\1\uffff\4\51\1\uffff"+
-        "\1\51\1\uffff\1\51\2\uffff\2\51\1\u00cb\5\51\2\uffff\6\51\1\u00d7"+
-        "\5\51\1\uffff\10\51\1\u00e5\2\51\1\uffff\6\51\1\uffff\2\51\1\uffff"+
-        "\3\51\1\uffff\2\51\1\u00f5\1\u00f7\1\u00f8\1\u00f9\1\u00fa\7\51"+
-        "\1\u0102\1\uffff\1\u0103\4\uffff\7\51\2\uffff\1\u010b\1\u010c\5"+
-        "\51\2\uffff\11\51\1\u011b\4\51\1\uffff\1\u0120\3\51\1\uffff\1\u0124"+
-        "\2\51\1\uffff\4\51\1\u012b\1\u012c\2\uffff";
-    static final String DFA16_eofS =
-        "\u012d\uffff";
-    static final String DFA16_minS =
-        "\1\0\1\157\1\162\2\141\2\uffff\2\157\2\uffff\1\165\1\52\1\171\1"+
-        "\163\1\143\1\157\1\145\1\156\2\uffff\1\52\1\uffff\1\164\1\155\2"+
-        "\uffff\1\60\1\163\1\160\1\162\1\53\1\130\1\101\2\uffff\2\0\2\uffff"+
-        "\1\156\1\uffff\1\151\1\156\1\144\1\156\1\60\2\154\1\157\2\uffff"+
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\1\uffff\4\52\2\uffff\1\65\1\66\2\52\2\uffff\1\52\1\77\6\52\2\uffff"+
+        "\1\113\1\uffff\2\52\2\uffff\1\121\3\52\1\126\1\50\2\uffff\2\50\2"+
+        "\uffff\1\52\1\uffff\4\52\1\137\3\52\4\uffff\3\52\2\uffff\1\52\3"+
+        "\uffff\1\52\1\154\6\52\5\uffff\2\52\3\uffff\1\166\2\52\4\uffff\3"+
+        "\52\1\174\1\52\1\176\1\uffff\14\52\1\uffff\11\52\1\uffff\5\52\1"+
+        "\uffff\1\52\1\uffff\2\52\1\u009c\12\52\1\u00a7\1\52\1\u00a9\1\52"+
+        "\1\u00ab\4\52\1\u00b0\1\52\1\u00b2\1\52\1\u00b4\1\u00b5\2\uffff"+
+        "\10\52\1\uffff\1\52\1\uffff\1\52\1\uffff\1\52\1\uffff\4\52\1\uffff"+
+        "\1\52\1\uffff\1\52\2\uffff\2\52\1\u00cc\5\52\2\uffff\6\52\1\u00d8"+
+        "\5\52\1\uffff\10\52\1\u00e6\2\52\1\uffff\6\52\1\uffff\2\52\1\uffff"+
+        "\3\52\1\uffff\2\52\1\u00f6\1\u00f8\1\u00f9\1\u00fa\1\u00fb\7\52"+
+        "\1\u0103\1\uffff\1\u0104\4\uffff\7\52\2\uffff\1\u010c\1\u010d\5"+
+        "\52\2\uffff\11\52\1\u011c\4\52\1\uffff\1\u0121\3\52\1\uffff\1\u0125"+
+        "\2\52\1\uffff\4\52\1\u012c\1\u012d\2\uffff";
+    static final String DFA14_eofS =
+        "\u012e\uffff";
+    static final String DFA14_minS =
+        "\1\0\1\157\1\162\2\141\2\uffff\2\60\2\157\2\uffff\1\165\1\52\1"+
+        "\171\1\163\1\143\1\157\1\145\1\156\2\uffff\1\52\1\uffff\1\164\1"+
+        "\155\2\uffff\1\60\1\163\1\160\1\162\1\130\1\101\2\uffff\2\0\2\uffff"+
+        "\1\156\1\uffff\1\151\1\156\1\144\1\156\1\60\2\154\1\157\4\uffff"+
         "\1\102\1\154\1\156\2\uffff\1\142\3\uffff\1\156\1\60\2\164\1\157"+
         "\1\162\1\141\1\164\5\uffff\1\164\1\160\3\uffff\1\60\1\164\1\165"+
-        "\1\60\5\uffff\1\152\1\164\1\144\1\60\1\145\1\60\1\uffff\1\163\1"+
-        "\145\1\155\1\157\1\156\1\145\1\150\1\154\1\146\1\123\1\141\1\162"+
-        "\1\uffff\1\157\1\162\2\164\1\165\1\144\1\145\1\162\1\157\1\uffff"+
-        "\1\151\1\145\1\165\1\145\1\141\1\uffff\1\154\1\uffff\1\145\1\40"+
-        "\1\60\1\157\1\164\2\141\2\151\1\171\1\155\1\40\1\162\1\60\1\157"+
-        "\1\60\1\154\1\60\1\162\1\151\1\162\1\157\1\60\1\147\1\60\1\164\2"+
-        "\60\2\uffff\1\154\1\145\1\154\1\162\1\156\1\147\1\163\1\151\1\143"+
-        "\1\103\1\uffff\1\143\1\uffff\1\141\1\uffff\1\146\1\142\1\164\1\156"+
-        "\1\uffff\1\141\1\uffff\1\157\2\uffff\1\145\1\147\1\60\1\141\1\147"+
-        "\1\115\1\164\1\143\2\uffff\1\154\1\156\1\157\1\162\1\141\1\165\1"+
-        "\60\1\141\1\164\1\162\1\141\1\145\1\uffff\1\143\1\40\1\157\1\145"+
-        "\1\40\1\141\1\163\1\154\1\60\1\143\1\164\1\uffff\1\154\1\145\1\171"+
-        "\1\156\1\162\1\164\1\uffff\1\144\1\155\1\uffff\1\163\1\164\1\103"+
-        "\1\uffff\2\145\5\60\2\145\1\103\1\163\1\141\1\154\1\111\1\60\1\uffff"+
-        "\1\60\4\uffff\1\162\1\154\1\157\1\103\1\156\1\141\1\164\2\uffff"+
-        "\2\60\1\156\1\157\1\143\1\163\1\145\2\uffff\1\146\1\156\1\145\1"+
-        "\163\1\155\1\151\1\146\2\103\1\60\1\147\1\151\2\157\1\uffff\1\60"+
-        "\1\147\2\156\1\uffff\1\60\2\146\1\uffff\2\151\2\147\2\60\2\uffff";
-    static final String DFA16_maxS =
-        "\1\uffff\1\157\1\162\1\163\1\162\2\uffff\1\164\1\157\2\uffff\1"+
-        "\165\1\57\1\171\1\163\1\164\1\162\1\145\1\156\2\uffff\1\52\1\uffff"+
-        "\1\164\1\155\2\uffff\1\172\1\163\1\160\1\162\1\71\1\170\1\172\2"+
-        "\uffff\2\uffff\2\uffff\1\156\1\uffff\1\151\1\170\1\144\1\156\1\172"+
-        "\2\154\1\157\2\uffff\1\122\1\154\1\156\2\uffff\1\142\3\uffff\1\156"+
-        "\1\172\2\164\1\157\1\162\1\147\1\164\5\uffff\1\164\1\160\3\uffff"+
-        "\1\172\1\164\1\165\1\172\5\uffff\1\152\1\164\1\144\1\172\1\145\1"+
-        "\172\1\uffff\1\163\1\145\1\155\1\157\1\156\1\145\1\150\1\154\1\146"+
-        "\1\123\1\141\1\162\1\uffff\1\157\1\162\2\164\1\165\1\144\1\145\1"+
-        "\162\1\157\1\uffff\1\151\1\145\1\165\1\145\1\141\1\uffff\1\154\1"+
-        "\uffff\1\145\1\40\1\172\1\157\1\164\2\141\2\151\1\171\1\155\1\40"+
-        "\1\162\1\172\1\157\1\172\1\154\1\172\1\162\1\151\1\162\1\157\1\172"+
-        "\1\147\1\172\1\164\2\172\2\uffff\1\154\1\145\1\154\1\162\1\156\1"+
-        "\147\1\163\2\151\1\111\1\uffff\1\143\1\uffff\1\141\1\uffff\1\146"+
-        "\1\142\1\164\1\156\1\uffff\1\141\1\uffff\1\157\2\uffff\1\145\1\147"+
-        "\1\172\1\141\1\147\1\115\1\164\1\143\2\uffff\1\154\1\156\1\157\1"+
-        "\162\1\141\1\165\1\172\1\141\1\164\1\162\1\141\1\145\1\uffff\1\143"+
-        "\1\40\1\157\1\145\1\40\1\141\1\163\1\154\1\172\1\143\1\164\1\uffff"+
-        "\1\154\1\145\1\171\1\156\1\162\1\164\1\uffff\1\144\1\155\1\uffff"+
-        "\1\163\1\164\1\103\1\uffff\2\145\5\172\2\145\1\103\1\163\1\141\1"+
-        "\154\1\111\1\172\1\uffff\1\172\4\uffff\1\162\1\154\1\157\1\103\1"+
-        "\156\1\141\1\164\2\uffff\2\172\1\156\1\157\1\143\1\163\1\145\2\uffff"+
-        "\1\146\1\156\1\145\1\163\1\155\1\151\1\146\2\103\1\172\1\147\1\151"+
-        "\2\157\1\uffff\1\172\1\147\2\156\1\uffff\1\172\2\146\1\uffff\2\151"+
-        "\2\147\2\172\2\uffff";
-    static final String DFA16_acceptS =
-        "\5\uffff\1\7\1\10\2\uffff\1\16\1\17\10\uffff\1\36\1\41\1\uffff"+
-        "\1\43\2\uffff\1\50\1\51\7\uffff\1\63\1\64\2\uffff\1\70\1\71\1\uffff"+
-        "\1\63\10\uffff\1\7\1\10\3\uffff\1\16\1\17\1\uffff\1\66\1\67\1\21"+
-        "\10\uffff\1\36\1\41\1\47\1\42\1\43\2\uffff\1\50\1\51\1\52\4\uffff"+
-        "\1\61\1\62\1\64\1\65\1\70\6\uffff\1\53\14\uffff\1\54\11\uffff\1"+
-        "\55\5\uffff\1\40\1\uffff\1\37\34\uffff\1\23\1\46\12\uffff\1\35\1"+
-        "\uffff\1\33\1\uffff\1\56\4\uffff\1\60\1\uffff\1\3\1\uffff\1\5\1"+
-        "\6\10\uffff\1\24\1\25\14\uffff\1\13\13\uffff\1\45\6\uffff\1\26\2"+
-        "\uffff\1\22\3\uffff\1\32\17\uffff\1\57\1\uffff\1\1\1\4\1\11\1\12"+
-        "\7\uffff\1\44\1\2\7\uffff\1\14\1\15\16\uffff\1\34\4\uffff\1\20\3"+
-        "\uffff\1\27\6\uffff\1\30\1\31";
-    static final String DFA16_specialS =
-        "\1\2\43\uffff\1\1\1\0\u0107\uffff}>";
-    static final String[] DFA16_transitionS = {
-            "\11\47\2\46\2\47\1\46\22\47\1\46\1\47\1\44\4\47\1\45\3\47\1"+
-            "\5\1\24\1\6\1\25\1\14\1\40\11\43\1\26\2\47\1\23\3\47\1\17\1"+
-            "\42\1\10\1\42\1\37\3\42\1\22\6\42\1\20\2\42\1\13\7\42\1\31\1"+
-            "\47\1\32\1\41\1\42\1\47\1\27\1\42\1\1\1\15\1\37\1\4\2\42\1\30"+
-            "\3\42\1\3\1\34\1\35\1\7\1\42\1\21\1\33\1\36\1\16\1\42\1\2\3"+
-            "\42\1\11\1\47\1\12\uff82\47",
-            "\1\50",
-            "\1\52",
-            "\1\53\7\uffff\1\55\5\uffff\1\54\3\uffff\1\56",
-            "\1\57\7\uffff\1\60\10\uffff\1\61",
+        "\4\uffff\1\152\1\164\1\144\1\60\1\145\1\60\1\uffff\1\163\1\145\1"+
+        "\155\1\157\1\156\1\145\1\150\1\154\1\146\1\123\1\141\1\162\1\uffff"+
+        "\1\157\1\162\2\164\1\165\1\144\1\145\1\162\1\157\1\uffff\1\151\1"+
+        "\145\1\165\1\145\1\141\1\uffff\1\154\1\uffff\1\145\1\40\1\60\1\157"+
+        "\1\164\2\141\2\151\1\171\1\155\1\40\1\162\1\60\1\157\1\60\1\154"+
+        "\1\60\1\162\1\151\1\162\1\157\1\60\1\147\1\60\1\164\2\60\2\uffff"+
+        "\1\154\1\145\1\154\1\162\1\156\1\147\1\163\1\151\1\143\1\103\1\uffff"+
+        "\1\143\1\uffff\1\141\1\uffff\1\146\1\142\1\164\1\156\1\uffff\1\141"+
+        "\1\uffff\1\157\2\uffff\1\145\1\147\1\60\1\141\1\147\1\115\1\164"+
+        "\1\143\2\uffff\1\154\1\156\1\157\1\162\1\141\1\165\1\60\1\141\1"+
+        "\164\1\162\1\141\1\145\1\uffff\1\143\1\40\1\157\1\145\1\40\1\141"+
+        "\1\163\1\154\1\60\1\143\1\164\1\uffff\1\154\1\145\1\171\1\156\1"+
+        "\162\1\164\1\uffff\1\144\1\155\1\uffff\1\163\1\164\1\103\1\uffff"+
+        "\2\145\5\60\2\145\1\103\1\163\1\141\1\154\1\111\1\60\1\uffff\1\60"+
+        "\4\uffff\1\162\1\154\1\157\1\103\1\156\1\141\1\164\2\uffff\2\60"+
+        "\1\156\1\157\1\143\1\163\1\145\2\uffff\1\146\1\156\1\145\1\163\1"+
+        "\155\1\151\1\146\2\103\1\60\1\147\1\151\2\157\1\uffff\1\60\1\147"+
+        "\2\156\1\uffff\1\60\2\146\1\uffff\2\151\2\147\2\60\2\uffff";
+    static final String DFA14_maxS =
+        "\1\uffff\1\157\1\162\1\163\1\162\2\uffff\2\172\1\164\1\157\2\uffff"+
+        "\1\165\1\57\1\171\1\163\1\164\1\162\1\145\1\156\2\uffff\1\52\1\uffff"+
+        "\1\164\1\155\2\uffff\1\172\1\163\1\160\1\162\1\170\1\172\2\uffff"+
+        "\2\uffff\2\uffff\1\156\1\uffff\1\151\1\170\1\144\1\156\1\172\2\154"+
+        "\1\157\4\uffff\1\122\1\154\1\156\2\uffff\1\142\3\uffff\1\156\1\172"+
+        "\2\164\1\157\1\162\1\147\1\164\5\uffff\1\164\1\160\3\uffff\1\172"+
+        "\1\164\1\165\4\uffff\1\152\1\164\1\144\1\172\1\145\1\172\1\uffff"+
+        "\1\163\1\145\1\155\1\157\1\156\1\145\1\150\1\154\1\146\1\123\1\141"+
+        "\1\162\1\uffff\1\157\1\162\2\164\1\165\1\144\1\145\1\162\1\157\1"+
+        "\uffff\1\151\1\145\1\165\1\145\1\141\1\uffff\1\154\1\uffff\1\145"+
+        "\1\40\1\172\1\157\1\164\2\141\2\151\1\171\1\155\1\40\1\162\1\172"+
+        "\1\157\1\172\1\154\1\172\1\162\1\151\1\162\1\157\1\172\1\147\1\172"+
+        "\1\164\2\172\2\uffff\1\154\1\145\1\154\1\162\1\156\1\147\1\163\2"+
+        "\151\1\111\1\uffff\1\143\1\uffff\1\141\1\uffff\1\146\1\142\1\164"+
+        "\1\156\1\uffff\1\141\1\uffff\1\157\2\uffff\1\145\1\147\1\172\1\141"+
+        "\1\147\1\115\1\164\1\143\2\uffff\1\154\1\156\1\157\1\162\1\141\1"+
+        "\165\1\172\1\141\1\164\1\162\1\141\1\145\1\uffff\1\143\1\40\1\157"+
+        "\1\145\1\40\1\141\1\163\1\154\1\172\1\143\1\164\1\uffff\1\154\1"+
+        "\145\1\171\1\156\1\162\1\164\1\uffff\1\144\1\155\1\uffff\1\163\1"+
+        "\164\1\103\1\uffff\2\145\5\172\2\145\1\103\1\163\1\141\1\154\1\111"+
+        "\1\172\1\uffff\1\172\4\uffff\1\162\1\154\1\157\1\103\1\156\1\141"+
+        "\1\164\2\uffff\2\172\1\156\1\157\1\143\1\163\1\145\2\uffff\1\146"+
+        "\1\156\1\145\1\163\1\155\1\151\1\146\2\103\1\172\1\147\1\151\2\157"+
+        "\1\uffff\1\172\1\147\2\156\1\uffff\1\172\2\146\1\uffff\2\151\2\147"+
+        "\2\172\2\uffff";
+    static final String DFA14_acceptS =
+        "\5\uffff\1\7\1\10\4\uffff\1\20\1\21\10\uffff\1\40\1\43\1\uffff"+
+        "\1\45\2\uffff\1\52\1\53\6\uffff\1\64\1\65\2\uffff\1\71\1\72\1\uffff"+
+        "\1\64\10\uffff\1\7\1\10\1\11\1\12\3\uffff\1\20\1\21\1\uffff\1\67"+
+        "\1\70\1\23\10\uffff\1\40\1\43\1\51\1\44\1\45\2\uffff\1\52\1\53\1"+
+        "\54\3\uffff\1\63\1\65\1\66\1\71\6\uffff\1\55\14\uffff\1\56\11\uffff"+
+        "\1\57\5\uffff\1\42\1\uffff\1\41\34\uffff\1\25\1\50\12\uffff\1\37"+
+        "\1\uffff\1\35\1\uffff\1\60\4\uffff\1\62\1\uffff\1\3\1\uffff\1\5"+
+        "\1\6\10\uffff\1\26\1\27\14\uffff\1\15\13\uffff\1\47\6\uffff\1\30"+
+        "\2\uffff\1\24\3\uffff\1\34\17\uffff\1\61\1\uffff\1\1\1\4\1\13\1"+
+        "\14\7\uffff\1\46\1\2\7\uffff\1\16\1\17\16\uffff\1\36\4\uffff\1\22"+
+        "\3\uffff\1\31\6\uffff\1\32\1\33";
+    static final String DFA14_specialS =
+        "\1\1\44\uffff\1\0\1\2\u0107\uffff}>";
+    static final String[] DFA14_transitionS = {
+            "\11\50\2\47\2\50\1\47\22\50\1\47\1\50\1\45\4\50\1\46\3\50\1"+
+            "\5\1\26\1\6\1\27\1\16\1\41\11\44\1\30\2\50\1\25\3\50\1\21\1"+
+            "\43\1\12\1\43\1\10\3\43\1\24\6\43\1\22\2\43\1\15\7\43\1\33\1"+
+            "\50\1\34\1\42\1\43\1\50\1\31\1\43\1\1\1\17\1\7\1\4\2\43\1\32"+
+            "\3\43\1\3\1\36\1\37\1\11\1\43\1\23\1\35\1\40\1\20\1\43\1\2\3"+
+            "\43\1\13\1\50\1\14\uff82\50",
+            "\1\51",
+            "\1\53",
+            "\1\54\7\uffff\1\56\5\uffff\1\55\3\uffff\1\57",
+            "\1\60\7\uffff\1\61\10\uffff\1\62",
             "",
             "",
-            "\1\65\4\uffff\1\64",
-            "\1\66",
-            "",
-            "",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\70\4\uffff\1\67",
             "\1\71",
-            "\1\72\4\uffff\1\73",
-            "\1\75",
-            "\1\76",
-            "\1\77\20\uffff\1\100",
-            "\1\102\2\uffff\1\101",
-            "\1\103",
-            "\1\104",
             "",
             "",
+            "\1\74",
+            "\1\75\4\uffff\1\76",
+            "\1\100",
+            "\1\101",
+            "\1\102\20\uffff\1\103",
+            "\1\105\2\uffff\1\104",
+            "\1\106",
             "\1\107",
             "",
+            "",
             "\1\112",
-            "\1\113",
+            "",
+            "\1\115",
+            "\1\116",
             "",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\117",
-            "\1\120",
-            "\1\121",
-            "\1\123\1\uffff\1\123\2\uffff\12\122",
-            "\1\124\37\uffff\1\124",
-            "\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\122",
+            "\1\123",
+            "\1\124",
+            "\1\125\37\uffff\1\125",
+            "\32\52\4\uffff\1\52\1\uffff\32\52",
             "",
             "",
-            "\0\126",
-            "\0\126",
+            "\0\127",
+            "\0\127",
             "",
             "",
-            "\1\130",
-            "",
             "\1\131",
-            "\1\132\11\uffff\1\133",
-            "\1\134",
+            "",
+            "\1\132",
+            "\1\133\11\uffff\1\134",
             "\1\135",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\137",
+            "\1\136",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\140",
             "\1\141",
+            "\1\142",
             "",
             "",
-            "\1\142\1\145\5\uffff\1\143\10\uffff\1\144",
-            "\1\146",
+            "",
+            "",
+            "\1\143\1\146\5\uffff\1\144\10\uffff\1\145",
             "\1\147",
-            "",
-            "",
             "\1\150",
             "",
             "",
-            "",
             "\1\151",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\4\51\1\152\25\51",
-            "\1\154",
+            "",
+            "",
+            "",
+            "\1\152",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\4\52\1\153\25\52",
             "\1\155",
             "\1\156",
             "\1\157",
-            "\1\161\5\uffff\1\160",
-            "\1\162",
-            "",
-            "",
-            "",
-            "",
-            "",
+            "\1\160",
+            "\1\162\5\uffff\1\161",
             "\1\163",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\164",
+            "\1\165",
             "",
             "",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\166",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\167",
-            "\12\122\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "",
-            "",
-            "",
-            "",
-            "",
             "\1\170",
+            "",
+            "",
+            "",
+            "",
             "\1\171",
             "\1\172",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\174",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\173",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\175",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "",
-            "\1\176",
             "\1\177",
             "\1\u0080",
             "\1\u0081",
@@ -2371,8 +2335,8 @@
             "\1\u0087",
             "\1\u0088",
             "\1\u0089",
-            "",
             "\1\u008a",
+            "",
             "\1\u008b",
             "\1\u008c",
             "\1\u008d",
@@ -2381,19 +2345,19 @@
             "\1\u0090",
             "\1\u0091",
             "\1\u0092",
-            "",
             "\1\u0093",
+            "",
             "\1\u0094",
             "\1\u0095",
             "\1\u0096",
             "\1\u0097",
-            "",
             "\1\u0098",
             "",
             "\1\u0099",
+            "",
             "\1\u009a",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u009c",
+            "\1\u009b",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u009d",
             "\1\u009e",
             "\1\u009f",
@@ -2403,24 +2367,24 @@
             "\1\u00a3",
             "\1\u00a4",
             "\1\u00a5",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00a7",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00a9",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00ab",
+            "\1\u00a6",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\u00a8",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\u00aa",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00ac",
             "\1\u00ad",
             "\1\u00ae",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00b0",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00b2",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00af",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\u00b1",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\u00b3",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "",
             "",
-            "\1\u00b5",
             "\1\u00b6",
             "\1\u00b7",
             "\1\u00b8",
@@ -2428,47 +2392,47 @@
             "\1\u00ba",
             "\1\u00bb",
             "\1\u00bc",
-            "\1\u00be\5\uffff\1\u00bd",
-            "\1\u00bf\5\uffff\1\u00c0",
-            "",
-            "\1\u00c1",
+            "\1\u00bd",
+            "\1\u00bf\5\uffff\1\u00be",
+            "\1\u00c0\5\uffff\1\u00c1",
             "",
             "\1\u00c2",
             "",
             "\1\u00c3",
+            "",
             "\1\u00c4",
             "\1\u00c5",
             "\1\u00c6",
-            "",
             "\1\u00c7",
             "",
             "\1\u00c8",
             "",
-            "",
             "\1\u00c9",
+            "",
+            "",
             "\1\u00ca",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00cc",
+            "\1\u00cb",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00cd",
             "\1\u00ce",
             "\1\u00cf",
             "\1\u00d0",
-            "",
-            "",
             "\1\u00d1",
+            "",
+            "",
             "\1\u00d2",
             "\1\u00d3",
             "\1\u00d4",
             "\1\u00d5",
             "\1\u00d6",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00d8",
+            "\1\u00d7",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00d9",
             "\1\u00da",
             "\1\u00db",
             "\1\u00dc",
-            "",
             "\1\u00dd",
+            "",
             "\1\u00de",
             "\1\u00df",
             "\1\u00e0",
@@ -2476,65 +2440,65 @@
             "\1\u00e2",
             "\1\u00e3",
             "\1\u00e4",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00e6",
+            "\1\u00e5",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00e7",
-            "",
             "\1\u00e8",
+            "",
             "\1\u00e9",
             "\1\u00ea",
             "\1\u00eb",
             "\1\u00ec",
             "\1\u00ed",
-            "",
             "\1\u00ee",
-            "\1\u00ef",
             "",
+            "\1\u00ef",
             "\1\u00f0",
+            "",
             "\1\u00f1",
             "\1\u00f2",
-            "",
             "\1\u00f3",
+            "",
             "\1\u00f4",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\3\51\1\u00f6\26"+
-            "\51",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00fb",
+            "\1\u00f5",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\3\52\1\u00f7\26"+
+            "\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00fc",
             "\1\u00fd",
             "\1\u00fe",
             "\1\u00ff",
             "\1\u0100",
             "\1\u0101",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0102",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "",
             "",
             "",
             "",
-            "\1\u0104",
             "\1\u0105",
             "\1\u0106",
             "\1\u0107",
             "\1\u0108",
             "\1\u0109",
             "\1\u010a",
+            "\1\u010b",
             "",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u010d",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u010e",
             "\1\u010f",
             "\1\u0110",
             "\1\u0111",
-            "",
-            "",
             "\1\u0112",
+            "",
+            "",
             "\1\u0113",
             "\1\u0114",
             "\1\u0115",
@@ -2543,174 +2507,177 @@
             "\1\u0118",
             "\1\u0119",
             "\1\u011a",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u011c",
+            "\1\u011b",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u011d",
             "\1\u011e",
             "\1\u011f",
+            "\1\u0120",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u0121",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u0122",
             "\1\u0123",
+            "\1\u0124",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u0125",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u0126",
-            "",
             "\1\u0127",
+            "",
             "\1\u0128",
             "\1\u0129",
             "\1\u012a",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u012b",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "",
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( 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 | RULE_HEX | 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 LA16_37 = input.LA(1);
+                        int LA14_37 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_37>='\u0000' && LA16_37<='\uFFFF')) ) {s = 86;}
+                        if ( ((LA14_37>='\u0000' && LA14_37<='\uFFFF')) ) {s = 87;}
 
-                        else s = 39;
+                        else s = 40;
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_36 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_36>='\u0000' && LA16_36<='\uFFFF')) ) {s = 86;}
+                        if ( (LA14_0=='c') ) {s = 1;}
 
-                        else s = 39;
+                        else if ( (LA14_0=='w') ) {s = 2;}
+
+                        else if ( (LA14_0=='m') ) {s = 3;}
+
+                        else if ( (LA14_0=='f') ) {s = 4;}
+
+                        else if ( (LA14_0=='+') ) {s = 5;}
+
+                        else if ( (LA14_0=='-') ) {s = 6;}
+
+                        else if ( (LA14_0=='e') ) {s = 7;}
+
+                        else if ( (LA14_0=='E') ) {s = 8;}
+
+                        else if ( (LA14_0=='p') ) {s = 9;}
+
+                        else if ( (LA14_0=='C') ) {s = 10;}
+
+                        else if ( (LA14_0=='{') ) {s = 11;}
+
+                        else if ( (LA14_0=='}') ) {s = 12;}
+
+                        else if ( (LA14_0=='S') ) {s = 13;}
+
+                        else if ( (LA14_0=='/') ) {s = 14;}
+
+                        else if ( (LA14_0=='d') ) {s = 15;}
+
+                        else if ( (LA14_0=='u') ) {s = 16;}
+
+                        else if ( (LA14_0=='A') ) {s = 17;}
+
+                        else if ( (LA14_0=='P') ) {s = 18;}
+
+                        else if ( (LA14_0=='r') ) {s = 19;}
+
+                        else if ( (LA14_0=='I') ) {s = 20;}
+
+                        else if ( (LA14_0=='=') ) {s = 21;}
+
+                        else if ( (LA14_0==',') ) {s = 22;}
+
+                        else if ( (LA14_0=='.') ) {s = 23;}
+
+                        else if ( (LA14_0==':') ) {s = 24;}
+
+                        else if ( (LA14_0=='a') ) {s = 25;}
+
+                        else if ( (LA14_0=='i') ) {s = 26;}
+
+                        else if ( (LA14_0=='[') ) {s = 27;}
+
+                        else if ( (LA14_0==']') ) {s = 28;}
+
+                        else if ( (LA14_0=='s') ) {s = 29;}
+
+                        else if ( (LA14_0=='n') ) {s = 30;}
+
+                        else if ( (LA14_0=='o') ) {s = 31;}
+
+                        else if ( (LA14_0=='t') ) {s = 32;}
+
+                        else if ( (LA14_0=='0') ) {s = 33;}
+
+                        else if ( (LA14_0=='^') ) {s = 34;}
+
+                        else if ( (LA14_0=='B'||LA14_0=='D'||(LA14_0>='F' && LA14_0<='H')||(LA14_0>='J' && LA14_0<='O')||(LA14_0>='Q' && LA14_0<='R')||(LA14_0>='T' && LA14_0<='Z')||LA14_0=='_'||LA14_0=='b'||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='l')||LA14_0=='q'||LA14_0=='v'||(LA14_0>='x' && LA14_0<='z')) ) {s = 35;}
+
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 36;}
+
+                        else if ( (LA14_0=='\"') ) {s = 37;}
+
+                        else if ( (LA14_0=='\'') ) {s = 38;}
+
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 39;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||(LA14_0>='(' && LA14_0<='*')||(LA14_0>=';' && LA14_0<='<')||(LA14_0>='>' && LA14_0<='@')||LA14_0=='\\'||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 40;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA16_0 = input.LA(1);
+                        int LA14_38 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='c') ) {s = 1;}
+                        if ( ((LA14_38>='\u0000' && LA14_38<='\uFFFF')) ) {s = 87;}
 
-                        else if ( (LA16_0=='w') ) {s = 2;}
-
-                        else if ( (LA16_0=='m') ) {s = 3;}
-
-                        else if ( (LA16_0=='f') ) {s = 4;}
-
-                        else if ( (LA16_0=='+') ) {s = 5;}
-
-                        else if ( (LA16_0=='-') ) {s = 6;}
-
-                        else if ( (LA16_0=='p') ) {s = 7;}
-
-                        else if ( (LA16_0=='C') ) {s = 8;}
-
-                        else if ( (LA16_0=='{') ) {s = 9;}
-
-                        else if ( (LA16_0=='}') ) {s = 10;}
-
-                        else if ( (LA16_0=='S') ) {s = 11;}
-
-                        else if ( (LA16_0=='/') ) {s = 12;}
-
-                        else if ( (LA16_0=='d') ) {s = 13;}
-
-                        else if ( (LA16_0=='u') ) {s = 14;}
-
-                        else if ( (LA16_0=='A') ) {s = 15;}
-
-                        else if ( (LA16_0=='P') ) {s = 16;}
-
-                        else if ( (LA16_0=='r') ) {s = 17;}
-
-                        else if ( (LA16_0=='I') ) {s = 18;}
-
-                        else if ( (LA16_0=='=') ) {s = 19;}
-
-                        else if ( (LA16_0==',') ) {s = 20;}
-
-                        else if ( (LA16_0=='.') ) {s = 21;}
-
-                        else if ( (LA16_0==':') ) {s = 22;}
-
-                        else if ( (LA16_0=='a') ) {s = 23;}
-
-                        else if ( (LA16_0=='i') ) {s = 24;}
-
-                        else if ( (LA16_0=='[') ) {s = 25;}
-
-                        else if ( (LA16_0==']') ) {s = 26;}
-
-                        else if ( (LA16_0=='s') ) {s = 27;}
-
-                        else if ( (LA16_0=='n') ) {s = 28;}
-
-                        else if ( (LA16_0=='o') ) {s = 29;}
-
-                        else if ( (LA16_0=='t') ) {s = 30;}
-
-                        else if ( (LA16_0=='E'||LA16_0=='e') ) {s = 31;}
-
-                        else if ( (LA16_0=='0') ) {s = 32;}
-
-                        else if ( (LA16_0=='^') ) {s = 33;}
-
-                        else if ( (LA16_0=='B'||LA16_0=='D'||(LA16_0>='F' && LA16_0<='H')||(LA16_0>='J' && LA16_0<='O')||(LA16_0>='Q' && LA16_0<='R')||(LA16_0>='T' && LA16_0<='Z')||LA16_0=='_'||LA16_0=='b'||(LA16_0>='g' && LA16_0<='h')||(LA16_0>='j' && LA16_0<='l')||LA16_0=='q'||LA16_0=='v'||(LA16_0>='x' && LA16_0<='z')) ) {s = 34;}
-
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 35;}
-
-                        else if ( (LA16_0=='\"') ) {s = 36;}
-
-                        else if ( (LA16_0=='\'') ) {s = 37;}
-
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 38;}
-
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||(LA16_0>='(' && LA16_0<='*')||(LA16_0>=';' && LA16_0<='<')||(LA16_0>='>' && LA16_0<='@')||LA16_0=='\\'||LA16_0=='`'||LA16_0=='|'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 39;}
+                        else s = 40;
 
                         if ( s>=0 ) return s;
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigParser.java b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigParser.java
index 782dee6..ada3366 100644
--- a/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigParser.java
+++ b/plugins/org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfigParser.java
@@ -23,66 +23,67 @@
 @SuppressWarnings("all")
 public class InternalConfigParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_EXP", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'conjugate'", "'conjugated'", "'write'", "'mandatory'", "'model'", "'false'", "'+'", "'-'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'ConfigModel'", "'{'", "'}'", "'SubSystemConfig'", "'/'", "'dynamic configuration'", "'file path'", "'user import'", "'user constructor'", "'polling interval'", "'ActorClassConfig'", "'ActorInstanceConfig'", "'ProtocolClassConfig'", "'regular'", "'Port'", "'InterfaceItem'", "'Attr'", "'='", "'min'", "'max'", "','", "'.'", "':'", "'attribute'", "'import'", "'from'", "'.*'", "'['", "']'", "'s'", "'ms'", "'us'", "'ns'", "'read'", "'optional'", "'true'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'conjugate'", "'conjugated'", "'write'", "'mandatory'", "'model'", "'false'", "'+'", "'-'", "'e'", "'E'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'ConfigModel'", "'{'", "'}'", "'SubSystemConfig'", "'/'", "'dynamic configuration'", "'file path'", "'user import'", "'user constructor'", "'polling interval'", "'ActorClassConfig'", "'ActorInstanceConfig'", "'ProtocolClassConfig'", "'regular'", "'Port'", "'InterfaceItem'", "'Attr'", "'='", "'min'", "'max'", "','", "'.'", "':'", "'attribute'", "'import'", "'from'", "'.*'", "'['", "']'", "'s'", "'ms'", "'us'", "'ns'", "'read'", "'optional'", "'true'"
     };
-    public static final int RULE_EXP=7;
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=5;
-    public static final int T__58=58;
+    public static final int T__50=50;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__59=59;
     public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__15=15;
     public static final int T__53=53;
-    public static final int T__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int RULE_STRING=8;
-    public static final int T__32=32;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -122,16 +123,16 @@
 
 
     // $ANTLR start "entryRuleConfigModel"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:60:1: entryRuleConfigModel : ruleConfigModel EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:61:1: entryRuleConfigModel : ruleConfigModel EOF ;
     public final void entryRuleConfigModel() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:61:1: ( ruleConfigModel EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:62:1: ruleConfigModel EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:62:1: ( ruleConfigModel EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:63:1: ruleConfigModel EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigModelRule()); 
             }
-            pushFollow(FOLLOW_ruleConfigModel_in_entryRuleConfigModel61);
+            pushFollow(FOLLOW_ruleConfigModel_in_entryRuleConfigModel67);
             ruleConfigModel();
 
             state._fsp--;
@@ -139,7 +140,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getConfigModelRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigModel68); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigModel74); if (state.failed) return ;
 
             }
 
@@ -156,25 +157,25 @@
 
 
     // $ANTLR start "ruleConfigModel"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:69:1: ruleConfigModel : ( ( rule__ConfigModel__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:70:1: ruleConfigModel : ( ( rule__ConfigModel__Group__0 ) ) ;
     public final void ruleConfigModel() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:73:2: ( ( ( rule__ConfigModel__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:74:1: ( ( rule__ConfigModel__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:74:2: ( ( ( rule__ConfigModel__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:75:1: ( ( rule__ConfigModel__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:74:1: ( ( rule__ConfigModel__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:75:1: ( rule__ConfigModel__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:75:1: ( ( rule__ConfigModel__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:76:1: ( rule__ConfigModel__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigModelAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:76:1: ( rule__ConfigModel__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:76:2: rule__ConfigModel__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:77:1: ( rule__ConfigModel__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:77:2: rule__ConfigModel__Group__0
             {
-            pushFollow(FOLLOW_rule__ConfigModel__Group__0_in_ruleConfigModel94);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__0_in_ruleConfigModel100);
             rule__ConfigModel__Group__0();
 
             state._fsp--;
@@ -207,16 +208,16 @@
 
 
     // $ANTLR start "entryRuleConfigElement"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:88:1: entryRuleConfigElement : ruleConfigElement EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:89:1: entryRuleConfigElement : ruleConfigElement EOF ;
     public final void entryRuleConfigElement() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:89:1: ( ruleConfigElement EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:90:1: ruleConfigElement EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:90:1: ( ruleConfigElement EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:91:1: ruleConfigElement EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigElementRule()); 
             }
-            pushFollow(FOLLOW_ruleConfigElement_in_entryRuleConfigElement121);
+            pushFollow(FOLLOW_ruleConfigElement_in_entryRuleConfigElement127);
             ruleConfigElement();
 
             state._fsp--;
@@ -224,7 +225,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getConfigElementRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigElement128); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigElement134); if (state.failed) return ;
 
             }
 
@@ -241,25 +242,25 @@
 
 
     // $ANTLR start "ruleConfigElement"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:97:1: ruleConfigElement : ( ( rule__ConfigElement__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:98:1: ruleConfigElement : ( ( rule__ConfigElement__Alternatives ) ) ;
     public final void ruleConfigElement() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:101:2: ( ( ( rule__ConfigElement__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:102:1: ( ( rule__ConfigElement__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:102:2: ( ( ( rule__ConfigElement__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:103:1: ( ( rule__ConfigElement__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:102:1: ( ( rule__ConfigElement__Alternatives ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:103:1: ( rule__ConfigElement__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:103:1: ( ( rule__ConfigElement__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:104:1: ( rule__ConfigElement__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigElementAccess().getAlternatives()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:104:1: ( rule__ConfigElement__Alternatives )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:104:2: rule__ConfigElement__Alternatives
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:105:1: ( rule__ConfigElement__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:105:2: rule__ConfigElement__Alternatives
             {
-            pushFollow(FOLLOW_rule__ConfigElement__Alternatives_in_ruleConfigElement154);
+            pushFollow(FOLLOW_rule__ConfigElement__Alternatives_in_ruleConfigElement160);
             rule__ConfigElement__Alternatives();
 
             state._fsp--;
@@ -292,16 +293,16 @@
 
 
     // $ANTLR start "entryRuleSubSystemConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:116:1: entryRuleSubSystemConfig : ruleSubSystemConfig EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:117:1: entryRuleSubSystemConfig : ruleSubSystemConfig EOF ;
     public final void entryRuleSubSystemConfig() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:117:1: ( ruleSubSystemConfig EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:118:1: ruleSubSystemConfig EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:118:1: ( ruleSubSystemConfig EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:119:1: ruleSubSystemConfig EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigRule()); 
             }
-            pushFollow(FOLLOW_ruleSubSystemConfig_in_entryRuleSubSystemConfig181);
+            pushFollow(FOLLOW_ruleSubSystemConfig_in_entryRuleSubSystemConfig187);
             ruleSubSystemConfig();
 
             state._fsp--;
@@ -309,7 +310,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSubSystemConfigRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSubSystemConfig188); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleSubSystemConfig194); if (state.failed) return ;
 
             }
 
@@ -326,25 +327,25 @@
 
 
     // $ANTLR start "ruleSubSystemConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:125:1: ruleSubSystemConfig : ( ( rule__SubSystemConfig__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:126:1: ruleSubSystemConfig : ( ( rule__SubSystemConfig__Group__0 ) ) ;
     public final void ruleSubSystemConfig() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:129:2: ( ( ( rule__SubSystemConfig__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:130:1: ( ( rule__SubSystemConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:130:2: ( ( ( rule__SubSystemConfig__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:131:1: ( ( rule__SubSystemConfig__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:130:1: ( ( rule__SubSystemConfig__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:131:1: ( rule__SubSystemConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:131:1: ( ( rule__SubSystemConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:132:1: ( rule__SubSystemConfig__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:132:1: ( rule__SubSystemConfig__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:132:2: rule__SubSystemConfig__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:133:1: ( rule__SubSystemConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:133:2: rule__SubSystemConfig__Group__0
             {
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__0_in_ruleSubSystemConfig214);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__0_in_ruleSubSystemConfig220);
             rule__SubSystemConfig__Group__0();
 
             state._fsp--;
@@ -377,16 +378,16 @@
 
 
     // $ANTLR start "entryRuleDynamicConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:144:1: entryRuleDynamicConfig : ruleDynamicConfig EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:145:1: entryRuleDynamicConfig : ruleDynamicConfig EOF ;
     public final void entryRuleDynamicConfig() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:145:1: ( ruleDynamicConfig EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:146:1: ruleDynamicConfig EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:146:1: ( ruleDynamicConfig EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:147:1: ruleDynamicConfig EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigRule()); 
             }
-            pushFollow(FOLLOW_ruleDynamicConfig_in_entryRuleDynamicConfig241);
+            pushFollow(FOLLOW_ruleDynamicConfig_in_entryRuleDynamicConfig247);
             ruleDynamicConfig();
 
             state._fsp--;
@@ -394,7 +395,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDynamicConfigRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDynamicConfig248); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDynamicConfig254); if (state.failed) return ;
 
             }
 
@@ -411,25 +412,25 @@
 
 
     // $ANTLR start "ruleDynamicConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:153:1: ruleDynamicConfig : ( ( rule__DynamicConfig__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:154:1: ruleDynamicConfig : ( ( rule__DynamicConfig__Group__0 ) ) ;
     public final void ruleDynamicConfig() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:157:2: ( ( ( rule__DynamicConfig__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:158:1: ( ( rule__DynamicConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:158:2: ( ( ( rule__DynamicConfig__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:159:1: ( ( rule__DynamicConfig__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:158:1: ( ( rule__DynamicConfig__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:159:1: ( rule__DynamicConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:159:1: ( ( rule__DynamicConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:160:1: ( rule__DynamicConfig__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:160:1: ( rule__DynamicConfig__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:160:2: rule__DynamicConfig__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:161:1: ( rule__DynamicConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:161:2: rule__DynamicConfig__Group__0
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group__0_in_ruleDynamicConfig274);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group__0_in_ruleDynamicConfig280);
             rule__DynamicConfig__Group__0();
 
             state._fsp--;
@@ -462,16 +463,16 @@
 
 
     // $ANTLR start "entryRuleActorClassConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:172:1: entryRuleActorClassConfig : ruleActorClassConfig EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:173:1: entryRuleActorClassConfig : ruleActorClassConfig EOF ;
     public final void entryRuleActorClassConfig() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:173:1: ( ruleActorClassConfig EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:174:1: ruleActorClassConfig EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:174:1: ( ruleActorClassConfig EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:175:1: ruleActorClassConfig EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorClassConfigRule()); 
             }
-            pushFollow(FOLLOW_ruleActorClassConfig_in_entryRuleActorClassConfig301);
+            pushFollow(FOLLOW_ruleActorClassConfig_in_entryRuleActorClassConfig307);
             ruleActorClassConfig();
 
             state._fsp--;
@@ -479,7 +480,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getActorClassConfigRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleActorClassConfig308); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleActorClassConfig314); if (state.failed) return ;
 
             }
 
@@ -496,25 +497,25 @@
 
 
     // $ANTLR start "ruleActorClassConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:181:1: ruleActorClassConfig : ( ( rule__ActorClassConfig__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:182:1: ruleActorClassConfig : ( ( rule__ActorClassConfig__Group__0 ) ) ;
     public final void ruleActorClassConfig() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:185:2: ( ( ( rule__ActorClassConfig__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:186:1: ( ( rule__ActorClassConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:186:2: ( ( ( rule__ActorClassConfig__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:187:1: ( ( rule__ActorClassConfig__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:186:1: ( ( rule__ActorClassConfig__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:187:1: ( rule__ActorClassConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:187:1: ( ( rule__ActorClassConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:188:1: ( rule__ActorClassConfig__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorClassConfigAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:188:1: ( rule__ActorClassConfig__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:188:2: rule__ActorClassConfig__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:189:1: ( rule__ActorClassConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:189:2: rule__ActorClassConfig__Group__0
             {
-            pushFollow(FOLLOW_rule__ActorClassConfig__Group__0_in_ruleActorClassConfig334);
+            pushFollow(FOLLOW_rule__ActorClassConfig__Group__0_in_ruleActorClassConfig340);
             rule__ActorClassConfig__Group__0();
 
             state._fsp--;
@@ -547,16 +548,16 @@
 
 
     // $ANTLR start "entryRuleActorInstanceConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:200:1: entryRuleActorInstanceConfig : ruleActorInstanceConfig EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:201:1: entryRuleActorInstanceConfig : ruleActorInstanceConfig EOF ;
     public final void entryRuleActorInstanceConfig() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:201:1: ( ruleActorInstanceConfig EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:202:1: ruleActorInstanceConfig EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:202:1: ( ruleActorInstanceConfig EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:203:1: ruleActorInstanceConfig EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigRule()); 
             }
-            pushFollow(FOLLOW_ruleActorInstanceConfig_in_entryRuleActorInstanceConfig361);
+            pushFollow(FOLLOW_ruleActorInstanceConfig_in_entryRuleActorInstanceConfig367);
             ruleActorInstanceConfig();
 
             state._fsp--;
@@ -564,7 +565,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getActorInstanceConfigRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleActorInstanceConfig368); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleActorInstanceConfig374); if (state.failed) return ;
 
             }
 
@@ -581,25 +582,25 @@
 
 
     // $ANTLR start "ruleActorInstanceConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:209:1: ruleActorInstanceConfig : ( ( rule__ActorInstanceConfig__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:210:1: ruleActorInstanceConfig : ( ( rule__ActorInstanceConfig__Group__0 ) ) ;
     public final void ruleActorInstanceConfig() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:213:2: ( ( ( rule__ActorInstanceConfig__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:214:1: ( ( rule__ActorInstanceConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:214:2: ( ( ( rule__ActorInstanceConfig__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:215:1: ( ( rule__ActorInstanceConfig__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:214:1: ( ( rule__ActorInstanceConfig__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:215:1: ( rule__ActorInstanceConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:215:1: ( ( rule__ActorInstanceConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:216:1: ( rule__ActorInstanceConfig__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:216:1: ( rule__ActorInstanceConfig__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:216:2: rule__ActorInstanceConfig__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:217:1: ( rule__ActorInstanceConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:217:2: rule__ActorInstanceConfig__Group__0
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__0_in_ruleActorInstanceConfig394);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__0_in_ruleActorInstanceConfig400);
             rule__ActorInstanceConfig__Group__0();
 
             state._fsp--;
@@ -632,16 +633,16 @@
 
 
     // $ANTLR start "entryRuleProtocolClassConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:228:1: entryRuleProtocolClassConfig : ruleProtocolClassConfig EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:229:1: entryRuleProtocolClassConfig : ruleProtocolClassConfig EOF ;
     public final void entryRuleProtocolClassConfig() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:229:1: ( ruleProtocolClassConfig EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:230:1: ruleProtocolClassConfig EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:230:1: ( ruleProtocolClassConfig EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:231:1: ruleProtocolClassConfig EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigRule()); 
             }
-            pushFollow(FOLLOW_ruleProtocolClassConfig_in_entryRuleProtocolClassConfig421);
+            pushFollow(FOLLOW_ruleProtocolClassConfig_in_entryRuleProtocolClassConfig427);
             ruleProtocolClassConfig();
 
             state._fsp--;
@@ -649,7 +650,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getProtocolClassConfigRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleProtocolClassConfig428); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleProtocolClassConfig434); if (state.failed) return ;
 
             }
 
@@ -666,25 +667,25 @@
 
 
     // $ANTLR start "ruleProtocolClassConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:237:1: ruleProtocolClassConfig : ( ( rule__ProtocolClassConfig__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:238:1: ruleProtocolClassConfig : ( ( rule__ProtocolClassConfig__Group__0 ) ) ;
     public final void ruleProtocolClassConfig() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:241:2: ( ( ( rule__ProtocolClassConfig__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:242:1: ( ( rule__ProtocolClassConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:242:2: ( ( ( rule__ProtocolClassConfig__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:243:1: ( ( rule__ProtocolClassConfig__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:242:1: ( ( rule__ProtocolClassConfig__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:243:1: ( rule__ProtocolClassConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:243:1: ( ( rule__ProtocolClassConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:244:1: ( rule__ProtocolClassConfig__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:244:1: ( rule__ProtocolClassConfig__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:244:2: rule__ProtocolClassConfig__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:245:1: ( rule__ProtocolClassConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:245:2: rule__ProtocolClassConfig__Group__0
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__0_in_ruleProtocolClassConfig454);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__0_in_ruleProtocolClassConfig460);
             rule__ProtocolClassConfig__Group__0();
 
             state._fsp--;
@@ -717,16 +718,16 @@
 
 
     // $ANTLR start "entryRulePortClassConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:256:1: entryRulePortClassConfig : rulePortClassConfig EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:257:1: entryRulePortClassConfig : rulePortClassConfig EOF ;
     public final void entryRulePortClassConfig() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:257:1: ( rulePortClassConfig EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:258:1: rulePortClassConfig EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:258:1: ( rulePortClassConfig EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:259:1: rulePortClassConfig EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortClassConfigRule()); 
             }
-            pushFollow(FOLLOW_rulePortClassConfig_in_entryRulePortClassConfig481);
+            pushFollow(FOLLOW_rulePortClassConfig_in_entryRulePortClassConfig487);
             rulePortClassConfig();
 
             state._fsp--;
@@ -734,7 +735,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPortClassConfigRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRulePortClassConfig488); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRulePortClassConfig494); if (state.failed) return ;
 
             }
 
@@ -751,25 +752,25 @@
 
 
     // $ANTLR start "rulePortClassConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:265:1: rulePortClassConfig : ( ( rule__PortClassConfig__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:266:1: rulePortClassConfig : ( ( rule__PortClassConfig__Group__0 ) ) ;
     public final void rulePortClassConfig() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:269:2: ( ( ( rule__PortClassConfig__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:270:1: ( ( rule__PortClassConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:270:2: ( ( ( rule__PortClassConfig__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:271:1: ( ( rule__PortClassConfig__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:270:1: ( ( rule__PortClassConfig__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:271:1: ( rule__PortClassConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:271:1: ( ( rule__PortClassConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:272:1: ( rule__PortClassConfig__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortClassConfigAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:272:1: ( rule__PortClassConfig__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:272:2: rule__PortClassConfig__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:273:1: ( rule__PortClassConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:273:2: rule__PortClassConfig__Group__0
             {
-            pushFollow(FOLLOW_rule__PortClassConfig__Group__0_in_rulePortClassConfig514);
+            pushFollow(FOLLOW_rule__PortClassConfig__Group__0_in_rulePortClassConfig520);
             rule__PortClassConfig__Group__0();
 
             state._fsp--;
@@ -802,16 +803,16 @@
 
 
     // $ANTLR start "entryRulePortInstanceConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:284:1: entryRulePortInstanceConfig : rulePortInstanceConfig EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:285:1: entryRulePortInstanceConfig : rulePortInstanceConfig EOF ;
     public final void entryRulePortInstanceConfig() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:285:1: ( rulePortInstanceConfig EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:286:1: rulePortInstanceConfig EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:286:1: ( rulePortInstanceConfig EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:287:1: rulePortInstanceConfig EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortInstanceConfigRule()); 
             }
-            pushFollow(FOLLOW_rulePortInstanceConfig_in_entryRulePortInstanceConfig541);
+            pushFollow(FOLLOW_rulePortInstanceConfig_in_entryRulePortInstanceConfig547);
             rulePortInstanceConfig();
 
             state._fsp--;
@@ -819,7 +820,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPortInstanceConfigRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRulePortInstanceConfig548); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRulePortInstanceConfig554); if (state.failed) return ;
 
             }
 
@@ -836,25 +837,25 @@
 
 
     // $ANTLR start "rulePortInstanceConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:293:1: rulePortInstanceConfig : ( ( rule__PortInstanceConfig__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:294:1: rulePortInstanceConfig : ( ( rule__PortInstanceConfig__Group__0 ) ) ;
     public final void rulePortInstanceConfig() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:297:2: ( ( ( rule__PortInstanceConfig__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:298:1: ( ( rule__PortInstanceConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:298:2: ( ( ( rule__PortInstanceConfig__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:299:1: ( ( rule__PortInstanceConfig__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:298:1: ( ( rule__PortInstanceConfig__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:299:1: ( rule__PortInstanceConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:299:1: ( ( rule__PortInstanceConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:300:1: ( rule__PortInstanceConfig__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortInstanceConfigAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:300:1: ( rule__PortInstanceConfig__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:300:2: rule__PortInstanceConfig__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:301:1: ( rule__PortInstanceConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:301:2: rule__PortInstanceConfig__Group__0
             {
-            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__0_in_rulePortInstanceConfig574);
+            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__0_in_rulePortInstanceConfig580);
             rule__PortInstanceConfig__Group__0();
 
             state._fsp--;
@@ -887,16 +888,16 @@
 
 
     // $ANTLR start "entryRuleAttrClassConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:314:1: entryRuleAttrClassConfig : ruleAttrClassConfig EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:315:1: entryRuleAttrClassConfig : ruleAttrClassConfig EOF ;
     public final void entryRuleAttrClassConfig() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:315:1: ( ruleAttrClassConfig EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:316:1: ruleAttrClassConfig EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:316:1: ( ruleAttrClassConfig EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:317:1: ruleAttrClassConfig EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigRule()); 
             }
-            pushFollow(FOLLOW_ruleAttrClassConfig_in_entryRuleAttrClassConfig603);
+            pushFollow(FOLLOW_ruleAttrClassConfig_in_entryRuleAttrClassConfig609);
             ruleAttrClassConfig();
 
             state._fsp--;
@@ -904,7 +905,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrClassConfigRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAttrClassConfig610); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAttrClassConfig616); if (state.failed) return ;
 
             }
 
@@ -921,25 +922,25 @@
 
 
     // $ANTLR start "ruleAttrClassConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:323:1: ruleAttrClassConfig : ( ( rule__AttrClassConfig__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:324:1: ruleAttrClassConfig : ( ( rule__AttrClassConfig__Group__0 ) ) ;
     public final void ruleAttrClassConfig() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:327:2: ( ( ( rule__AttrClassConfig__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:328:1: ( ( rule__AttrClassConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:328:2: ( ( ( rule__AttrClassConfig__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:329:1: ( ( rule__AttrClassConfig__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:328:1: ( ( rule__AttrClassConfig__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:329:1: ( rule__AttrClassConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:329:1: ( ( rule__AttrClassConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:330:1: ( rule__AttrClassConfig__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:330:1: ( rule__AttrClassConfig__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:330:2: rule__AttrClassConfig__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:331:1: ( rule__AttrClassConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:331:2: rule__AttrClassConfig__Group__0
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group__0_in_ruleAttrClassConfig636);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group__0_in_ruleAttrClassConfig642);
             rule__AttrClassConfig__Group__0();
 
             state._fsp--;
@@ -972,16 +973,16 @@
 
 
     // $ANTLR start "entryRuleAttrInstanceConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:342:1: entryRuleAttrInstanceConfig : ruleAttrInstanceConfig EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:343:1: entryRuleAttrInstanceConfig : ruleAttrInstanceConfig EOF ;
     public final void entryRuleAttrInstanceConfig() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:343:1: ( ruleAttrInstanceConfig EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:344:1: ruleAttrInstanceConfig EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:344:1: ( ruleAttrInstanceConfig EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:345:1: ruleAttrInstanceConfig EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigRule()); 
             }
-            pushFollow(FOLLOW_ruleAttrInstanceConfig_in_entryRuleAttrInstanceConfig663);
+            pushFollow(FOLLOW_ruleAttrInstanceConfig_in_entryRuleAttrInstanceConfig669);
             ruleAttrInstanceConfig();
 
             state._fsp--;
@@ -989,7 +990,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrInstanceConfigRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAttrInstanceConfig670); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAttrInstanceConfig676); if (state.failed) return ;
 
             }
 
@@ -1006,25 +1007,25 @@
 
 
     // $ANTLR start "ruleAttrInstanceConfig"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:351:1: ruleAttrInstanceConfig : ( ( rule__AttrInstanceConfig__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:352:1: ruleAttrInstanceConfig : ( ( rule__AttrInstanceConfig__Group__0 ) ) ;
     public final void ruleAttrInstanceConfig() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:355:2: ( ( ( rule__AttrInstanceConfig__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:356:1: ( ( rule__AttrInstanceConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:356:2: ( ( ( rule__AttrInstanceConfig__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:357:1: ( ( rule__AttrInstanceConfig__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:356:1: ( ( rule__AttrInstanceConfig__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:357:1: ( rule__AttrInstanceConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:357:1: ( ( rule__AttrInstanceConfig__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:358:1: ( rule__AttrInstanceConfig__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:358:1: ( rule__AttrInstanceConfig__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:358:2: rule__AttrInstanceConfig__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:359:1: ( rule__AttrInstanceConfig__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:359:2: rule__AttrInstanceConfig__Group__0
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__0_in_ruleAttrInstanceConfig696);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__0_in_ruleAttrInstanceConfig702);
             rule__AttrInstanceConfig__Group__0();
 
             state._fsp--;
@@ -1057,16 +1058,16 @@
 
 
     // $ANTLR start "entryRuleConfigValueArray"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:370:1: entryRuleConfigValueArray : ruleConfigValueArray EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:371:1: entryRuleConfigValueArray : ruleConfigValueArray EOF ;
     public final void entryRuleConfigValueArray() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:371:1: ( ruleConfigValueArray EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:372:1: ruleConfigValueArray EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:372:1: ( ruleConfigValueArray EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:373:1: ruleConfigValueArray EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigValueArrayRule()); 
             }
-            pushFollow(FOLLOW_ruleConfigValueArray_in_entryRuleConfigValueArray723);
+            pushFollow(FOLLOW_ruleConfigValueArray_in_entryRuleConfigValueArray729);
             ruleConfigValueArray();
 
             state._fsp--;
@@ -1074,7 +1075,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getConfigValueArrayRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigValueArray730); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigValueArray736); if (state.failed) return ;
 
             }
 
@@ -1091,25 +1092,25 @@
 
 
     // $ANTLR start "ruleConfigValueArray"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:379:1: ruleConfigValueArray : ( ( rule__ConfigValueArray__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:380:1: ruleConfigValueArray : ( ( rule__ConfigValueArray__Group__0 ) ) ;
     public final void ruleConfigValueArray() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:383:2: ( ( ( rule__ConfigValueArray__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:384:1: ( ( rule__ConfigValueArray__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:384:2: ( ( ( rule__ConfigValueArray__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:385:1: ( ( rule__ConfigValueArray__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:384:1: ( ( rule__ConfigValueArray__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:385:1: ( rule__ConfigValueArray__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:385:1: ( ( rule__ConfigValueArray__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:386:1: ( rule__ConfigValueArray__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigValueArrayAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:386:1: ( rule__ConfigValueArray__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:386:2: rule__ConfigValueArray__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:387:1: ( rule__ConfigValueArray__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:387:2: rule__ConfigValueArray__Group__0
             {
-            pushFollow(FOLLOW_rule__ConfigValueArray__Group__0_in_ruleConfigValueArray756);
+            pushFollow(FOLLOW_rule__ConfigValueArray__Group__0_in_ruleConfigValueArray762);
             rule__ConfigValueArray__Group__0();
 
             state._fsp--;
@@ -1142,16 +1143,16 @@
 
 
     // $ANTLR start "entryRuleConfigValue"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:398:1: entryRuleConfigValue : ruleConfigValue EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:399:1: entryRuleConfigValue : ruleConfigValue EOF ;
     public final void entryRuleConfigValue() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:399:1: ( ruleConfigValue EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:400:1: ruleConfigValue EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:400:1: ( ruleConfigValue EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:401:1: ruleConfigValue EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigValueRule()); 
             }
-            pushFollow(FOLLOW_ruleConfigValue_in_entryRuleConfigValue783);
+            pushFollow(FOLLOW_ruleConfigValue_in_entryRuleConfigValue789);
             ruleConfigValue();
 
             state._fsp--;
@@ -1159,7 +1160,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getConfigValueRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigValue790); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigValue796); if (state.failed) return ;
 
             }
 
@@ -1176,25 +1177,25 @@
 
 
     // $ANTLR start "ruleConfigValue"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:407:1: ruleConfigValue : ( ( rule__ConfigValue__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:408:1: ruleConfigValue : ( ( rule__ConfigValue__Alternatives ) ) ;
     public final void ruleConfigValue() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:411:2: ( ( ( rule__ConfigValue__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:412:1: ( ( rule__ConfigValue__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:412:2: ( ( ( rule__ConfigValue__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:413:1: ( ( rule__ConfigValue__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:412:1: ( ( rule__ConfigValue__Alternatives ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:413:1: ( rule__ConfigValue__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:413:1: ( ( rule__ConfigValue__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:414:1: ( rule__ConfigValue__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigValueAccess().getAlternatives()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:414:1: ( rule__ConfigValue__Alternatives )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:414:2: rule__ConfigValue__Alternatives
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:415:1: ( rule__ConfigValue__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:415:2: rule__ConfigValue__Alternatives
             {
-            pushFollow(FOLLOW_rule__ConfigValue__Alternatives_in_ruleConfigValue816);
+            pushFollow(FOLLOW_rule__ConfigValue__Alternatives_in_ruleConfigValue822);
             rule__ConfigValue__Alternatives();
 
             state._fsp--;
@@ -1227,16 +1228,16 @@
 
 
     // $ANTLR start "entryRuleLiteralConfigValue"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:426:1: entryRuleLiteralConfigValue : ruleLiteralConfigValue EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:427:1: entryRuleLiteralConfigValue : ruleLiteralConfigValue EOF ;
     public final void entryRuleLiteralConfigValue() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:427:1: ( ruleLiteralConfigValue EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:428:1: ruleLiteralConfigValue EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:428:1: ( ruleLiteralConfigValue EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:429:1: ruleLiteralConfigValue EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLiteralConfigValueRule()); 
             }
-            pushFollow(FOLLOW_ruleLiteralConfigValue_in_entryRuleLiteralConfigValue843);
+            pushFollow(FOLLOW_ruleLiteralConfigValue_in_entryRuleLiteralConfigValue849);
             ruleLiteralConfigValue();
 
             state._fsp--;
@@ -1244,7 +1245,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLiteralConfigValueRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteralConfigValue850); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteralConfigValue856); if (state.failed) return ;
 
             }
 
@@ -1261,25 +1262,25 @@
 
 
     // $ANTLR start "ruleLiteralConfigValue"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:435:1: ruleLiteralConfigValue : ( ( rule__LiteralConfigValue__ValueAssignment ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:436:1: ruleLiteralConfigValue : ( ( rule__LiteralConfigValue__ValueAssignment ) ) ;
     public final void ruleLiteralConfigValue() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:439:2: ( ( ( rule__LiteralConfigValue__ValueAssignment ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:440:1: ( ( rule__LiteralConfigValue__ValueAssignment ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:440:2: ( ( ( rule__LiteralConfigValue__ValueAssignment ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:441:1: ( ( rule__LiteralConfigValue__ValueAssignment ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:440:1: ( ( rule__LiteralConfigValue__ValueAssignment ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:441:1: ( rule__LiteralConfigValue__ValueAssignment )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:441:1: ( ( rule__LiteralConfigValue__ValueAssignment ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:442:1: ( rule__LiteralConfigValue__ValueAssignment )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLiteralConfigValueAccess().getValueAssignment()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:442:1: ( rule__LiteralConfigValue__ValueAssignment )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:442:2: rule__LiteralConfigValue__ValueAssignment
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:443:1: ( rule__LiteralConfigValue__ValueAssignment )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:443:2: rule__LiteralConfigValue__ValueAssignment
             {
-            pushFollow(FOLLOW_rule__LiteralConfigValue__ValueAssignment_in_ruleLiteralConfigValue876);
+            pushFollow(FOLLOW_rule__LiteralConfigValue__ValueAssignment_in_ruleLiteralConfigValue882);
             rule__LiteralConfigValue__ValueAssignment();
 
             state._fsp--;
@@ -1312,16 +1313,16 @@
 
 
     // $ANTLR start "entryRuleEnumConfigValue"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:454:1: entryRuleEnumConfigValue : ruleEnumConfigValue EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:455:1: entryRuleEnumConfigValue : ruleEnumConfigValue EOF ;
     public final void entryRuleEnumConfigValue() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:455:1: ( ruleEnumConfigValue EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:456:1: ruleEnumConfigValue EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:456:1: ( ruleEnumConfigValue EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:457:1: ruleEnumConfigValue EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumConfigValueRule()); 
             }
-            pushFollow(FOLLOW_ruleEnumConfigValue_in_entryRuleEnumConfigValue903);
+            pushFollow(FOLLOW_ruleEnumConfigValue_in_entryRuleEnumConfigValue909);
             ruleEnumConfigValue();
 
             state._fsp--;
@@ -1329,7 +1330,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumConfigValueRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumConfigValue910); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumConfigValue916); if (state.failed) return ;
 
             }
 
@@ -1346,25 +1347,25 @@
 
 
     // $ANTLR start "ruleEnumConfigValue"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:463:1: ruleEnumConfigValue : ( ( rule__EnumConfigValue__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:464:1: ruleEnumConfigValue : ( ( rule__EnumConfigValue__Group__0 ) ) ;
     public final void ruleEnumConfigValue() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:467:2: ( ( ( rule__EnumConfigValue__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:468:1: ( ( rule__EnumConfigValue__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:468:2: ( ( ( rule__EnumConfigValue__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:469:1: ( ( rule__EnumConfigValue__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:468:1: ( ( rule__EnumConfigValue__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:469:1: ( rule__EnumConfigValue__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:469:1: ( ( rule__EnumConfigValue__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:470:1: ( rule__EnumConfigValue__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumConfigValueAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:470:1: ( rule__EnumConfigValue__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:470:2: rule__EnumConfigValue__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:471:1: ( rule__EnumConfigValue__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:471:2: rule__EnumConfigValue__Group__0
             {
-            pushFollow(FOLLOW_rule__EnumConfigValue__Group__0_in_ruleEnumConfigValue936);
+            pushFollow(FOLLOW_rule__EnumConfigValue__Group__0_in_ruleEnumConfigValue942);
             rule__EnumConfigValue__Group__0();
 
             state._fsp--;
@@ -1397,16 +1398,16 @@
 
 
     // $ANTLR start "entryRuleRefPath"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:482:1: entryRuleRefPath : ruleRefPath EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:483:1: entryRuleRefPath : ruleRefPath EOF ;
     public final void entryRuleRefPath() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:483:1: ( ruleRefPath EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:484:1: ruleRefPath EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:484:1: ( ruleRefPath EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:485:1: ruleRefPath EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefPathRule()); 
             }
-            pushFollow(FOLLOW_ruleRefPath_in_entryRuleRefPath963);
+            pushFollow(FOLLOW_ruleRefPath_in_entryRuleRefPath969);
             ruleRefPath();
 
             state._fsp--;
@@ -1414,7 +1415,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getRefPathRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRefPath970); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRefPath976); if (state.failed) return ;
 
             }
 
@@ -1431,25 +1432,25 @@
 
 
     // $ANTLR start "ruleRefPath"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:491:1: ruleRefPath : ( ( rule__RefPath__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:492:1: ruleRefPath : ( ( rule__RefPath__Group__0 ) ) ;
     public final void ruleRefPath() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:495:2: ( ( ( rule__RefPath__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:496:1: ( ( rule__RefPath__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:496:2: ( ( ( rule__RefPath__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:497:1: ( ( rule__RefPath__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:496:1: ( ( rule__RefPath__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:497:1: ( rule__RefPath__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:497:1: ( ( rule__RefPath__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:498:1: ( rule__RefPath__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefPathAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:498:1: ( rule__RefPath__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:498:2: rule__RefPath__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:499:1: ( rule__RefPath__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:499:2: rule__RefPath__Group__0
             {
-            pushFollow(FOLLOW_rule__RefPath__Group__0_in_ruleRefPath996);
+            pushFollow(FOLLOW_rule__RefPath__Group__0_in_ruleRefPath1002);
             rule__RefPath__Group__0();
 
             state._fsp--;
@@ -1482,16 +1483,16 @@
 
 
     // $ANTLR start "entryRuleRefSegment"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:510:1: entryRuleRefSegment : ruleRefSegment EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:511:1: entryRuleRefSegment : ruleRefSegment EOF ;
     public final void entryRuleRefSegment() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:511:1: ( ruleRefSegment EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:512:1: ruleRefSegment EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:512:1: ( ruleRefSegment EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:513:1: ruleRefSegment EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefSegmentRule()); 
             }
-            pushFollow(FOLLOW_ruleRefSegment_in_entryRuleRefSegment1023);
+            pushFollow(FOLLOW_ruleRefSegment_in_entryRuleRefSegment1029);
             ruleRefSegment();
 
             state._fsp--;
@@ -1499,7 +1500,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getRefSegmentRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRefSegment1030); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRefSegment1036); if (state.failed) return ;
 
             }
 
@@ -1516,25 +1517,25 @@
 
 
     // $ANTLR start "ruleRefSegment"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:519:1: ruleRefSegment : ( ( rule__RefSegment__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:520:1: ruleRefSegment : ( ( rule__RefSegment__Group__0 ) ) ;
     public final void ruleRefSegment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:523:2: ( ( ( rule__RefSegment__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:524:1: ( ( rule__RefSegment__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:524:2: ( ( ( rule__RefSegment__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:525:1: ( ( rule__RefSegment__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:524:1: ( ( rule__RefSegment__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:525:1: ( rule__RefSegment__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:525:1: ( ( rule__RefSegment__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:526:1: ( rule__RefSegment__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefSegmentAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:526:1: ( rule__RefSegment__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:526:2: rule__RefSegment__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:527:1: ( rule__RefSegment__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:527:2: rule__RefSegment__Group__0
             {
-            pushFollow(FOLLOW_rule__RefSegment__Group__0_in_ruleRefSegment1056);
+            pushFollow(FOLLOW_rule__RefSegment__Group__0_in_ruleRefSegment1062);
             rule__RefSegment__Group__0();
 
             state._fsp--;
@@ -1567,16 +1568,16 @@
 
 
     // $ANTLR start "entryRuleKeyValue"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:540:1: entryRuleKeyValue : ruleKeyValue EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:541:1: entryRuleKeyValue : ruleKeyValue EOF ;
     public final void entryRuleKeyValue() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:541:1: ( ruleKeyValue EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:542:1: ruleKeyValue EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:542:1: ( ruleKeyValue EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:543:1: ruleKeyValue EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getKeyValueRule()); 
             }
-            pushFollow(FOLLOW_ruleKeyValue_in_entryRuleKeyValue1085);
+            pushFollow(FOLLOW_ruleKeyValue_in_entryRuleKeyValue1091);
             ruleKeyValue();
 
             state._fsp--;
@@ -1584,7 +1585,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getKeyValueRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleKeyValue1092); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleKeyValue1098); if (state.failed) return ;
 
             }
 
@@ -1601,25 +1602,25 @@
 
 
     // $ANTLR start "ruleKeyValue"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:549:1: ruleKeyValue : ( ( rule__KeyValue__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:550:1: ruleKeyValue : ( ( rule__KeyValue__Group__0 ) ) ;
     public final void ruleKeyValue() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:553:2: ( ( ( rule__KeyValue__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:554:1: ( ( rule__KeyValue__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:554:2: ( ( ( rule__KeyValue__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:555:1: ( ( rule__KeyValue__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:554:1: ( ( rule__KeyValue__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:555:1: ( rule__KeyValue__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:555:1: ( ( rule__KeyValue__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:556:1: ( rule__KeyValue__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getKeyValueAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:556:1: ( rule__KeyValue__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:556:2: rule__KeyValue__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:557:1: ( rule__KeyValue__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:557:2: rule__KeyValue__Group__0
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__0_in_ruleKeyValue1118);
+            pushFollow(FOLLOW_rule__KeyValue__Group__0_in_ruleKeyValue1124);
             rule__KeyValue__Group__0();
 
             state._fsp--;
@@ -1652,16 +1653,16 @@
 
 
     // $ANTLR start "entryRuleAnnotationTargetType"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:570:1: entryRuleAnnotationTargetType : ruleAnnotationTargetType EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:571:1: entryRuleAnnotationTargetType : ruleAnnotationTargetType EOF ;
     public final void entryRuleAnnotationTargetType() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:571:1: ( ruleAnnotationTargetType EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:572:1: ruleAnnotationTargetType EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:572:1: ( ruleAnnotationTargetType EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:573:1: ruleAnnotationTargetType EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationTargetTypeRule()); 
             }
-            pushFollow(FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType1147);
+            pushFollow(FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType1153);
             ruleAnnotationTargetType();
 
             state._fsp--;
@@ -1669,7 +1670,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAnnotationTargetTypeRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationTargetType1154); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationTargetType1160); if (state.failed) return ;
 
             }
 
@@ -1686,22 +1687,22 @@
 
 
     // $ANTLR start "ruleAnnotationTargetType"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:579:1: ruleAnnotationTargetType : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:580:1: ruleAnnotationTargetType : ( RULE_ID ) ;
     public final void ruleAnnotationTargetType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:583:2: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:584:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:584:2: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:585:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:584:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:585:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:585:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:586:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationTargetTypeAccess().getIDTerminalRuleCall()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAnnotationTargetType1180); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAnnotationTargetType1186); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAnnotationTargetTypeAccess().getIDTerminalRuleCall()); 
             }
@@ -1727,16 +1728,16 @@
 
 
     // $ANTLR start "entryRuleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:598:1: entryRuleAnnotationAttribute : ruleAnnotationAttribute EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:599:1: entryRuleAnnotationAttribute : ruleAnnotationAttribute EOF ;
     public final void entryRuleAnnotationAttribute() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:599:1: ( ruleAnnotationAttribute EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:600:1: ruleAnnotationAttribute EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:600:1: ( ruleAnnotationAttribute EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:601:1: ruleAnnotationAttribute EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationAttributeRule()); 
             }
-            pushFollow(FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute1206);
+            pushFollow(FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute1212);
             ruleAnnotationAttribute();
 
             state._fsp--;
@@ -1744,7 +1745,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAnnotationAttributeRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationAttribute1213); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationAttribute1219); if (state.failed) return ;
 
             }
 
@@ -1761,25 +1762,25 @@
 
 
     // $ANTLR start "ruleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:607:1: ruleAnnotationAttribute : ( ( rule__AnnotationAttribute__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:608:1: ruleAnnotationAttribute : ( ( rule__AnnotationAttribute__Alternatives ) ) ;
     public final void ruleAnnotationAttribute() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:611:2: ( ( ( rule__AnnotationAttribute__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:612:1: ( ( rule__AnnotationAttribute__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:612:2: ( ( ( rule__AnnotationAttribute__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:613:1: ( ( rule__AnnotationAttribute__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:612:1: ( ( rule__AnnotationAttribute__Alternatives ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:613:1: ( rule__AnnotationAttribute__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:613:1: ( ( rule__AnnotationAttribute__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:614:1: ( rule__AnnotationAttribute__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAnnotationAttributeAccess().getAlternatives()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:614:1: ( rule__AnnotationAttribute__Alternatives )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:614:2: rule__AnnotationAttribute__Alternatives
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:615:1: ( rule__AnnotationAttribute__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:615:2: rule__AnnotationAttribute__Alternatives
             {
-            pushFollow(FOLLOW_rule__AnnotationAttribute__Alternatives_in_ruleAnnotationAttribute1239);
+            pushFollow(FOLLOW_rule__AnnotationAttribute__Alternatives_in_ruleAnnotationAttribute1245);
             rule__AnnotationAttribute__Alternatives();
 
             state._fsp--;
@@ -1812,16 +1813,16 @@
 
 
     // $ANTLR start "entryRuleSimpleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:626:1: entryRuleSimpleAnnotationAttribute : ruleSimpleAnnotationAttribute EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:627:1: entryRuleSimpleAnnotationAttribute : ruleSimpleAnnotationAttribute EOF ;
     public final void entryRuleSimpleAnnotationAttribute() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:627:1: ( ruleSimpleAnnotationAttribute EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:628:1: ruleSimpleAnnotationAttribute EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:628:1: ( ruleSimpleAnnotationAttribute EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:629:1: ruleSimpleAnnotationAttribute EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSimpleAnnotationAttributeRule()); 
             }
-            pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute1266);
+            pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute1272);
             ruleSimpleAnnotationAttribute();
 
             state._fsp--;
@@ -1829,7 +1830,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSimpleAnnotationAttributeRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute1273); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute1279); if (state.failed) return ;
 
             }
 
@@ -1846,25 +1847,25 @@
 
 
     // $ANTLR start "ruleSimpleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:635:1: ruleSimpleAnnotationAttribute : ( ( rule__SimpleAnnotationAttribute__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:636:1: ruleSimpleAnnotationAttribute : ( ( rule__SimpleAnnotationAttribute__Group__0 ) ) ;
     public final void ruleSimpleAnnotationAttribute() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:639:2: ( ( ( rule__SimpleAnnotationAttribute__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:640:1: ( ( rule__SimpleAnnotationAttribute__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:640:2: ( ( ( rule__SimpleAnnotationAttribute__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:641:1: ( ( rule__SimpleAnnotationAttribute__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:640:1: ( ( rule__SimpleAnnotationAttribute__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:641:1: ( rule__SimpleAnnotationAttribute__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:641:1: ( ( rule__SimpleAnnotationAttribute__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:642:1: ( rule__SimpleAnnotationAttribute__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSimpleAnnotationAttributeAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:642:1: ( rule__SimpleAnnotationAttribute__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:642:2: rule__SimpleAnnotationAttribute__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:643:1: ( rule__SimpleAnnotationAttribute__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:643:2: rule__SimpleAnnotationAttribute__Group__0
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0_in_ruleSimpleAnnotationAttribute1299);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0_in_ruleSimpleAnnotationAttribute1305);
             rule__SimpleAnnotationAttribute__Group__0();
 
             state._fsp--;
@@ -1897,16 +1898,16 @@
 
 
     // $ANTLR start "entryRuleEnumAnnotationAttribute"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:654:1: entryRuleEnumAnnotationAttribute : ruleEnumAnnotationAttribute EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:655:1: entryRuleEnumAnnotationAttribute : ruleEnumAnnotationAttribute EOF ;
     public final void entryRuleEnumAnnotationAttribute() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:655:1: ( ruleEnumAnnotationAttribute EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:656:1: ruleEnumAnnotationAttribute EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:656:1: ( ruleEnumAnnotationAttribute EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:657:1: ruleEnumAnnotationAttribute EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeRule()); 
             }
-            pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute1326);
+            pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute1332);
             ruleEnumAnnotationAttribute();
 
             state._fsp--;
@@ -1914,7 +1915,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumAnnotationAttributeRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute1333); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute1339); if (state.failed) return ;
 
             }
 
@@ -1931,25 +1932,25 @@
 
 
     // $ANTLR start "ruleEnumAnnotationAttribute"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:663:1: ruleEnumAnnotationAttribute : ( ( rule__EnumAnnotationAttribute__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:664:1: ruleEnumAnnotationAttribute : ( ( rule__EnumAnnotationAttribute__Group__0 ) ) ;
     public final void ruleEnumAnnotationAttribute() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:667:2: ( ( ( rule__EnumAnnotationAttribute__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:668:1: ( ( rule__EnumAnnotationAttribute__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:668:2: ( ( ( rule__EnumAnnotationAttribute__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:669:1: ( ( rule__EnumAnnotationAttribute__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:668:1: ( ( rule__EnumAnnotationAttribute__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:669:1: ( rule__EnumAnnotationAttribute__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:669:1: ( ( rule__EnumAnnotationAttribute__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:670:1: ( rule__EnumAnnotationAttribute__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:670:1: ( rule__EnumAnnotationAttribute__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:670:2: rule__EnumAnnotationAttribute__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:671:1: ( rule__EnumAnnotationAttribute__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:671:2: rule__EnumAnnotationAttribute__Group__0
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0_in_ruleEnumAnnotationAttribute1359);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0_in_ruleEnumAnnotationAttribute1365);
             rule__EnumAnnotationAttribute__Group__0();
 
             state._fsp--;
@@ -1982,16 +1983,16 @@
 
 
     // $ANTLR start "entryRuleImport"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:682:1: entryRuleImport : ruleImport EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:683:1: entryRuleImport : ruleImport EOF ;
     public final void entryRuleImport() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:683:1: ( ruleImport EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:684:1: ruleImport EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:684:1: ( ruleImport EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:685:1: ruleImport EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportRule()); 
             }
-            pushFollow(FOLLOW_ruleImport_in_entryRuleImport1386);
+            pushFollow(FOLLOW_ruleImport_in_entryRuleImport1392);
             ruleImport();
 
             state._fsp--;
@@ -1999,7 +2000,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImportRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleImport1393); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleImport1399); if (state.failed) return ;
 
             }
 
@@ -2016,25 +2017,25 @@
 
 
     // $ANTLR start "ruleImport"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:691:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:692:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
     public final void ruleImport() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:695:2: ( ( ( rule__Import__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:696:1: ( ( rule__Import__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:696:2: ( ( ( rule__Import__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:697:1: ( ( rule__Import__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:696:1: ( ( rule__Import__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:697:1: ( rule__Import__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:697:1: ( ( rule__Import__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:698:1: ( rule__Import__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:698:1: ( rule__Import__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:698:2: rule__Import__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:699:1: ( rule__Import__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:699:2: rule__Import__Group__0
             {
-            pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport1419);
+            pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport1425);
             rule__Import__Group__0();
 
             state._fsp--;
@@ -2067,16 +2068,16 @@
 
 
     // $ANTLR start "entryRuleImportedFQN"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:710:1: entryRuleImportedFQN : ruleImportedFQN EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:711:1: entryRuleImportedFQN : ruleImportedFQN EOF ;
     public final void entryRuleImportedFQN() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:711:1: ( ruleImportedFQN EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:712:1: ruleImportedFQN EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:712:1: ( ruleImportedFQN EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:713:1: ruleImportedFQN EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportedFQNRule()); 
             }
-            pushFollow(FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN1446);
+            pushFollow(FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN1452);
             ruleImportedFQN();
 
             state._fsp--;
@@ -2084,7 +2085,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImportedFQNRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleImportedFQN1453); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleImportedFQN1459); if (state.failed) return ;
 
             }
 
@@ -2101,25 +2102,25 @@
 
 
     // $ANTLR start "ruleImportedFQN"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:719:1: ruleImportedFQN : ( ( rule__ImportedFQN__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:720:1: ruleImportedFQN : ( ( rule__ImportedFQN__Group__0 ) ) ;
     public final void ruleImportedFQN() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:723:2: ( ( ( rule__ImportedFQN__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:724:1: ( ( rule__ImportedFQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:724:2: ( ( ( rule__ImportedFQN__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:725:1: ( ( rule__ImportedFQN__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:724:1: ( ( rule__ImportedFQN__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:725:1: ( rule__ImportedFQN__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:725:1: ( ( rule__ImportedFQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:726:1: ( rule__ImportedFQN__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportedFQNAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:726:1: ( rule__ImportedFQN__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:726:2: rule__ImportedFQN__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:727:1: ( rule__ImportedFQN__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:727:2: rule__ImportedFQN__Group__0
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__0_in_ruleImportedFQN1479);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__0_in_ruleImportedFQN1485);
             rule__ImportedFQN__Group__0();
 
             state._fsp--;
@@ -2152,16 +2153,16 @@
 
 
     // $ANTLR start "entryRuleDocumentation"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:738:1: entryRuleDocumentation : ruleDocumentation EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:739:1: entryRuleDocumentation : ruleDocumentation EOF ;
     public final void entryRuleDocumentation() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:739:1: ( ruleDocumentation EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:740:1: ruleDocumentation EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:740:1: ( ruleDocumentation EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:741:1: ruleDocumentation EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationRule()); 
             }
-            pushFollow(FOLLOW_ruleDocumentation_in_entryRuleDocumentation1506);
+            pushFollow(FOLLOW_ruleDocumentation_in_entryRuleDocumentation1512);
             ruleDocumentation();
 
             state._fsp--;
@@ -2169,7 +2170,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDocumentationRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDocumentation1513); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDocumentation1519); if (state.failed) return ;
 
             }
 
@@ -2186,25 +2187,25 @@
 
 
     // $ANTLR start "ruleDocumentation"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:747:1: ruleDocumentation : ( ( rule__Documentation__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:748:1: ruleDocumentation : ( ( rule__Documentation__Group__0 ) ) ;
     public final void ruleDocumentation() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:751:2: ( ( ( rule__Documentation__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:752:1: ( ( rule__Documentation__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:752:2: ( ( ( rule__Documentation__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:753:1: ( ( rule__Documentation__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:752:1: ( ( rule__Documentation__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:753:1: ( rule__Documentation__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:753:1: ( ( rule__Documentation__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:754:1: ( rule__Documentation__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:754:1: ( rule__Documentation__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:754:2: rule__Documentation__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:755:1: ( rule__Documentation__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:755:2: rule__Documentation__Group__0
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__0_in_ruleDocumentation1539);
+            pushFollow(FOLLOW_rule__Documentation__Group__0_in_ruleDocumentation1545);
             rule__Documentation__Group__0();
 
             state._fsp--;
@@ -2237,16 +2238,16 @@
 
 
     // $ANTLR start "entryRuleTIME"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:766:1: entryRuleTIME : ruleTIME EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:767:1: entryRuleTIME : ruleTIME EOF ;
     public final void entryRuleTIME() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:767:1: ( ruleTIME EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:768:1: ruleTIME EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:768:1: ( ruleTIME EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:769:1: ruleTIME EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTIMERule()); 
             }
-            pushFollow(FOLLOW_ruleTIME_in_entryRuleTIME1566);
+            pushFollow(FOLLOW_ruleTIME_in_entryRuleTIME1572);
             ruleTIME();
 
             state._fsp--;
@@ -2254,7 +2255,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTIMERule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleTIME1573); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleTIME1579); if (state.failed) return ;
 
             }
 
@@ -2271,25 +2272,25 @@
 
 
     // $ANTLR start "ruleTIME"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:775:1: ruleTIME : ( ( rule__TIME__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:776:1: ruleTIME : ( ( rule__TIME__Alternatives ) ) ;
     public final void ruleTIME() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:779:2: ( ( ( rule__TIME__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:780:1: ( ( rule__TIME__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:780:2: ( ( ( rule__TIME__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:781:1: ( ( rule__TIME__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:780:1: ( ( rule__TIME__Alternatives ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:781:1: ( rule__TIME__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:781:1: ( ( rule__TIME__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:782:1: ( rule__TIME__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTIMEAccess().getAlternatives()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:782:1: ( rule__TIME__Alternatives )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:782:2: rule__TIME__Alternatives
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:783:1: ( rule__TIME__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:783:2: rule__TIME__Alternatives
             {
-            pushFollow(FOLLOW_rule__TIME__Alternatives_in_ruleTIME1599);
+            pushFollow(FOLLOW_rule__TIME__Alternatives_in_ruleTIME1605);
             rule__TIME__Alternatives();
 
             state._fsp--;
@@ -2322,16 +2323,16 @@
 
 
     // $ANTLR start "entryRuleLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:796:1: entryRuleLiteral : ruleLiteral EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:797:1: entryRuleLiteral : ruleLiteral EOF ;
     public final void entryRuleLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:797:1: ( ruleLiteral EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:798:1: ruleLiteral EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:798:1: ( ruleLiteral EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:799:1: ruleLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLiteralRule()); 
             }
-            pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral1628);
+            pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral1634);
             ruleLiteral();
 
             state._fsp--;
@@ -2339,7 +2340,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getLiteralRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral1635); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral1641); if (state.failed) return ;
 
             }
 
@@ -2356,25 +2357,25 @@
 
 
     // $ANTLR start "ruleLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:805:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:806:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ;
     public final void ruleLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:809:2: ( ( ( rule__Literal__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:810:1: ( ( rule__Literal__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:810:2: ( ( ( rule__Literal__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:811:1: ( ( rule__Literal__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:810:1: ( ( rule__Literal__Alternatives ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:811:1: ( rule__Literal__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:811:1: ( ( rule__Literal__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:812:1: ( rule__Literal__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLiteralAccess().getAlternatives()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:812:1: ( rule__Literal__Alternatives )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:812:2: rule__Literal__Alternatives
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:813:1: ( rule__Literal__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:813:2: rule__Literal__Alternatives
             {
-            pushFollow(FOLLOW_rule__Literal__Alternatives_in_ruleLiteral1661);
+            pushFollow(FOLLOW_rule__Literal__Alternatives_in_ruleLiteral1667);
             rule__Literal__Alternatives();
 
             state._fsp--;
@@ -2407,16 +2408,16 @@
 
 
     // $ANTLR start "entryRuleBooleanLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:824:1: entryRuleBooleanLiteral : ruleBooleanLiteral EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:825:1: entryRuleBooleanLiteral : ruleBooleanLiteral EOF ;
     public final void entryRuleBooleanLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:825:1: ( ruleBooleanLiteral EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:826:1: ruleBooleanLiteral EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:826:1: ( ruleBooleanLiteral EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:827:1: ruleBooleanLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBooleanLiteralRule()); 
             }
-            pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1688);
+            pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1694);
             ruleBooleanLiteral();
 
             state._fsp--;
@@ -2424,7 +2425,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getBooleanLiteralRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral1695); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral1701); if (state.failed) return ;
 
             }
 
@@ -2441,25 +2442,25 @@
 
 
     // $ANTLR start "ruleBooleanLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:833:1: ruleBooleanLiteral : ( ( rule__BooleanLiteral__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:834:1: ruleBooleanLiteral : ( ( rule__BooleanLiteral__Group__0 ) ) ;
     public final void ruleBooleanLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:837:2: ( ( ( rule__BooleanLiteral__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:838:1: ( ( rule__BooleanLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:838:2: ( ( ( rule__BooleanLiteral__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:839:1: ( ( rule__BooleanLiteral__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:838:1: ( ( rule__BooleanLiteral__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:839:1: ( rule__BooleanLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:839:1: ( ( rule__BooleanLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:840:1: ( rule__BooleanLiteral__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBooleanLiteralAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:840:1: ( rule__BooleanLiteral__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:840:2: rule__BooleanLiteral__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:841:1: ( rule__BooleanLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:841:2: rule__BooleanLiteral__Group__0
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0_in_ruleBooleanLiteral1721);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0_in_ruleBooleanLiteral1727);
             rule__BooleanLiteral__Group__0();
 
             state._fsp--;
@@ -2492,16 +2493,16 @@
 
 
     // $ANTLR start "entryRuleNumberLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:852:1: entryRuleNumberLiteral : ruleNumberLiteral EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:853:1: entryRuleNumberLiteral : ruleNumberLiteral EOF ;
     public final void entryRuleNumberLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:853:1: ( ruleNumberLiteral EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:854:1: ruleNumberLiteral EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:854:1: ( ruleNumberLiteral EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:855:1: ruleNumberLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberLiteralRule()); 
             }
-            pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1748);
+            pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1754);
             ruleNumberLiteral();
 
             state._fsp--;
@@ -2509,7 +2510,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getNumberLiteralRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral1755); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral1761); if (state.failed) return ;
 
             }
 
@@ -2526,25 +2527,25 @@
 
 
     // $ANTLR start "ruleNumberLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:861:1: ruleNumberLiteral : ( ( rule__NumberLiteral__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:862:1: ruleNumberLiteral : ( ( rule__NumberLiteral__Alternatives ) ) ;
     public final void ruleNumberLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:865:2: ( ( ( rule__NumberLiteral__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:866:1: ( ( rule__NumberLiteral__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:866:2: ( ( ( rule__NumberLiteral__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:867:1: ( ( rule__NumberLiteral__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:866:1: ( ( rule__NumberLiteral__Alternatives ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:867:1: ( rule__NumberLiteral__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:867:1: ( ( rule__NumberLiteral__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:868:1: ( rule__NumberLiteral__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getNumberLiteralAccess().getAlternatives()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:868:1: ( rule__NumberLiteral__Alternatives )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:868:2: rule__NumberLiteral__Alternatives
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:869:1: ( rule__NumberLiteral__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:869:2: rule__NumberLiteral__Alternatives
             {
-            pushFollow(FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1781);
+            pushFollow(FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1787);
             rule__NumberLiteral__Alternatives();
 
             state._fsp--;
@@ -2577,16 +2578,16 @@
 
 
     // $ANTLR start "entryRuleRealLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:880:1: entryRuleRealLiteral : ruleRealLiteral EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:881:1: entryRuleRealLiteral : ruleRealLiteral EOF ;
     public final void entryRuleRealLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:881:1: ( ruleRealLiteral EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:882:1: ruleRealLiteral EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:882:1: ( ruleRealLiteral EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:883:1: ruleRealLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRealLiteralRule()); 
             }
-            pushFollow(FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral1808);
+            pushFollow(FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral1814);
             ruleRealLiteral();
 
             state._fsp--;
@@ -2594,7 +2595,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getRealLiteralRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRealLiteral1815); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRealLiteral1821); if (state.failed) return ;
 
             }
 
@@ -2611,25 +2612,25 @@
 
 
     // $ANTLR start "ruleRealLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:889:1: ruleRealLiteral : ( ( rule__RealLiteral__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:890:1: ruleRealLiteral : ( ( rule__RealLiteral__Group__0 ) ) ;
     public final void ruleRealLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:893:2: ( ( ( rule__RealLiteral__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:894:1: ( ( rule__RealLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:894:2: ( ( ( rule__RealLiteral__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:895:1: ( ( rule__RealLiteral__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:894:1: ( ( rule__RealLiteral__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:895:1: ( rule__RealLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:895:1: ( ( rule__RealLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:896:1: ( rule__RealLiteral__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRealLiteralAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:896:1: ( rule__RealLiteral__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:896:2: rule__RealLiteral__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:897:1: ( rule__RealLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:897:2: rule__RealLiteral__Group__0
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__0_in_ruleRealLiteral1841);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__0_in_ruleRealLiteral1847);
             rule__RealLiteral__Group__0();
 
             state._fsp--;
@@ -2662,16 +2663,16 @@
 
 
     // $ANTLR start "entryRuleIntLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:908:1: entryRuleIntLiteral : ruleIntLiteral EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:909:1: entryRuleIntLiteral : ruleIntLiteral EOF ;
     public final void entryRuleIntLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:909:1: ( ruleIntLiteral EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:910:1: ruleIntLiteral EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:910:1: ( ruleIntLiteral EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:911:1: ruleIntLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIntLiteralRule()); 
             }
-            pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1868);
+            pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1874);
             ruleIntLiteral();
 
             state._fsp--;
@@ -2679,7 +2680,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getIntLiteralRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral1875); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral1881); if (state.failed) return ;
 
             }
 
@@ -2696,25 +2697,25 @@
 
 
     // $ANTLR start "ruleIntLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:917:1: ruleIntLiteral : ( ( rule__IntLiteral__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:918:1: ruleIntLiteral : ( ( rule__IntLiteral__Group__0 ) ) ;
     public final void ruleIntLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:921:2: ( ( ( rule__IntLiteral__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:922:1: ( ( rule__IntLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:922:2: ( ( ( rule__IntLiteral__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:923:1: ( ( rule__IntLiteral__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:922:1: ( ( rule__IntLiteral__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:923:1: ( rule__IntLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:923:1: ( ( rule__IntLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:924:1: ( rule__IntLiteral__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIntLiteralAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:924:1: ( rule__IntLiteral__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:924:2: rule__IntLiteral__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:925:1: ( rule__IntLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:925:2: rule__IntLiteral__Group__0
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__0_in_ruleIntLiteral1901);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__0_in_ruleIntLiteral1907);
             rule__IntLiteral__Group__0();
 
             state._fsp--;
@@ -2747,16 +2748,16 @@
 
 
     // $ANTLR start "entryRuleStringLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:936:1: entryRuleStringLiteral : ruleStringLiteral EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:937:1: entryRuleStringLiteral : ruleStringLiteral EOF ;
     public final void entryRuleStringLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:937:1: ( ruleStringLiteral EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:938:1: ruleStringLiteral EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:938:1: ( ruleStringLiteral EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:939:1: ruleStringLiteral EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringLiteralRule()); 
             }
-            pushFollow(FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1928);
+            pushFollow(FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1934);
             ruleStringLiteral();
 
             state._fsp--;
@@ -2764,7 +2765,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStringLiteralRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleStringLiteral1935); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleStringLiteral1941); if (state.failed) return ;
 
             }
 
@@ -2781,25 +2782,25 @@
 
 
     // $ANTLR start "ruleStringLiteral"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:945:1: ruleStringLiteral : ( ( rule__StringLiteral__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:946:1: ruleStringLiteral : ( ( rule__StringLiteral__Group__0 ) ) ;
     public final void ruleStringLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:949:2: ( ( ( rule__StringLiteral__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:950:1: ( ( rule__StringLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:950:2: ( ( ( rule__StringLiteral__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:951:1: ( ( rule__StringLiteral__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:950:1: ( ( rule__StringLiteral__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:951:1: ( rule__StringLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:951:1: ( ( rule__StringLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:952:1: ( rule__StringLiteral__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringLiteralAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:952:1: ( rule__StringLiteral__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:952:2: rule__StringLiteral__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:953:1: ( rule__StringLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:953:2: rule__StringLiteral__Group__0
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral1961);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral1967);
             rule__StringLiteral__Group__0();
 
             state._fsp--;
@@ -2832,16 +2833,16 @@
 
 
     // $ANTLR start "entryRuleInteger"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:964:1: entryRuleInteger : ruleInteger EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:965:1: entryRuleInteger : ruleInteger EOF ;
     public final void entryRuleInteger() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:965:1: ( ruleInteger EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:966:1: ruleInteger EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:966:1: ( ruleInteger EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:967:1: ruleInteger EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIntegerRule()); 
             }
-            pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger1988);
+            pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger1994);
             ruleInteger();
 
             state._fsp--;
@@ -2849,7 +2850,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getIntegerRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleInteger1995); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleInteger2001); if (state.failed) return ;
 
             }
 
@@ -2866,25 +2867,25 @@
 
 
     // $ANTLR start "ruleInteger"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:973:1: ruleInteger : ( ( rule__Integer__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:974:1: ruleInteger : ( ( rule__Integer__Alternatives ) ) ;
     public final void ruleInteger() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:977:2: ( ( ( rule__Integer__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:978:1: ( ( rule__Integer__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:978:2: ( ( ( rule__Integer__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:979:1: ( ( rule__Integer__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:978:1: ( ( rule__Integer__Alternatives ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:979:1: ( rule__Integer__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:979:1: ( ( rule__Integer__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:980:1: ( rule__Integer__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIntegerAccess().getAlternatives()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:980:1: ( rule__Integer__Alternatives )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:980:2: rule__Integer__Alternatives
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:981:1: ( rule__Integer__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:981:2: rule__Integer__Alternatives
             {
-            pushFollow(FOLLOW_rule__Integer__Alternatives_in_ruleInteger2021);
+            pushFollow(FOLLOW_rule__Integer__Alternatives_in_ruleInteger2027);
             rule__Integer__Alternatives();
 
             state._fsp--;
@@ -2916,193 +2917,17 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:992:1: entryRuleSignedInteger : ruleSignedInteger EOF ;
-    public final void entryRuleSignedInteger() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:996:1: ( ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:997:1: ruleSignedInteger EOF
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getSignedIntegerRule()); 
-            }
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2053);
-            ruleSignedInteger();
-
-            state._fsp--;
-            if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getSignedIntegerRule()); 
-            }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger2060); if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1007:1: ruleSignedInteger : ( ( rule__SignedInteger__Group__0 ) ) ;
-    public final void ruleSignedInteger() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1012:2: ( ( ( rule__SignedInteger__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1013:1: ( ( rule__SignedInteger__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1013:1: ( ( rule__SignedInteger__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1014:1: ( rule__SignedInteger__Group__0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getSignedIntegerAccess().getGroup()); 
-            }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1015:1: ( rule__SignedInteger__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1015:2: rule__SignedInteger__Group__0
-            {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger2090);
-            rule__SignedInteger__Group__0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getSignedIntegerAccess().getGroup()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1028:1: entryRuleHexadecimal : ruleHexadecimal EOF ;
-    public final void entryRuleHexadecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1032:1: ( ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1033:1: ruleHexadecimal EOF
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getHexadecimalRule()); 
-            }
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal2122);
-            ruleHexadecimal();
-
-            state._fsp--;
-            if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getHexadecimalRule()); 
-            }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal2129); if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1043:1: ruleHexadecimal : ( RULE_HEX ) ;
-    public final void ruleHexadecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1048:2: ( ( RULE_HEX ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1049:1: ( RULE_HEX )
-            {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1049:1: ( RULE_HEX )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1050:1: RULE_HEX
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-            }
-            match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal2159); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1064:1: entryRuleReal : ruleReal EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:993:1: entryRuleReal : ruleReal EOF ;
     public final void entryRuleReal() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1065:1: ( ruleReal EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1066:1: ruleReal EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:994:1: ( ruleReal EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:995:1: ruleReal EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRealRule()); 
             }
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal2185);
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal2054);
             ruleReal();
 
             state._fsp--;
@@ -3110,7 +2935,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getRealRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal2192); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal2061); if (state.failed) return ;
 
             }
 
@@ -3127,25 +2952,25 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1073:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1002:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
     public final void ruleReal() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1077:2: ( ( ( rule__Real__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1078:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1006:2: ( ( ( rule__Real__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1007:1: ( ( rule__Real__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1078:1: ( ( rule__Real__Alternatives ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1079:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1007:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1008:1: ( rule__Real__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRealAccess().getAlternatives()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1080:1: ( rule__Real__Alternatives )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1080:2: rule__Real__Alternatives
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1009:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1009:2: rule__Real__Alternatives
             {
-            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal2218);
+            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal2087);
             rule__Real__Alternatives();
 
             state._fsp--;
@@ -3178,19 +3003,19 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1092:1: entryRuleDecimal : ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1021:1: entryRuleDecimal : ruleDecimal EOF ;
     public final void entryRuleDecimal() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1096:1: ( ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1097:1: ruleDecimal EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1025:1: ( ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1026:1: ruleDecimal EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalRule()); 
             }
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal2250);
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal2119);
             ruleDecimal();
 
             state._fsp--;
@@ -3198,7 +3023,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDecimalRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal2257); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal2126); if (state.failed) return ;
 
             }
 
@@ -3218,26 +3043,26 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1107:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1036:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
     public final void ruleDecimal() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1112:2: ( ( ( rule__Decimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1113:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1041:2: ( ( ( rule__Decimal__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1042:1: ( ( rule__Decimal__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1113:1: ( ( rule__Decimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1114:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1042:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1043:1: ( rule__Decimal__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1115:1: ( rule__Decimal__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1115:2: rule__Decimal__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1044:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1044:2: rule__Decimal__Group__0
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal2287);
+            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal2156);
             rule__Decimal__Group__0();
 
             state._fsp--;
@@ -3270,206 +3095,20 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1128:1: entryRuleDotDecimal : ruleDotDecimal EOF ;
-    public final void entryRuleDotDecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1132:1: ( ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1133:1: ruleDotDecimal EOF
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDotDecimalRule()); 
-            }
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal2319);
-            ruleDotDecimal();
-
-            state._fsp--;
-            if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDotDecimalRule()); 
-            }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal2326); if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1143:1: ruleDotDecimal : ( ( rule__DotDecimal__Group__0 ) ) ;
-    public final void ruleDotDecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1148:2: ( ( ( rule__DotDecimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1149:1: ( ( rule__DotDecimal__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1149:1: ( ( rule__DotDecimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1150:1: ( rule__DotDecimal__Group__0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDotDecimalAccess().getGroup()); 
-            }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1151:1: ( rule__DotDecimal__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1151:2: rule__DotDecimal__Group__0
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal2356);
-            rule__DotDecimal__Group__0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDotDecimalAccess().getGroup()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1164:1: entryRuleDecimalDot : ruleDecimalDot EOF ;
-    public final void entryRuleDecimalDot() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1168:1: ( ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1169:1: ruleDecimalDot EOF
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDecimalDotRule()); 
-            }
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot2388);
-            ruleDecimalDot();
-
-            state._fsp--;
-            if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDecimalDotRule()); 
-            }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot2395); if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1179:1: ruleDecimalDot : ( ( rule__DecimalDot__Group__0 ) ) ;
-    public final void ruleDecimalDot() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1184:2: ( ( ( rule__DecimalDot__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1185:1: ( ( rule__DecimalDot__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1185:1: ( ( rule__DecimalDot__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1186:1: ( rule__DecimalDot__Group__0 )
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDecimalDotAccess().getGroup()); 
-            }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1187:1: ( rule__DecimalDot__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1187:2: rule__DecimalDot__Group__0
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot2425);
-            rule__DecimalDot__Group__0();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDecimalDotAccess().getGroup()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1200:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1057:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
     public final void entryRuleDecimalExp() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1204:1: ( ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1205:1: ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1061:1: ( ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1062:1: ruleDecimalExp EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalExpRule()); 
             }
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp2457);
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp2188);
             ruleDecimalExp();
 
             state._fsp--;
@@ -3477,7 +3116,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDecimalExpRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp2464); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp2195); if (state.failed) return ;
 
             }
 
@@ -3497,26 +3136,26 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1215:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1072:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
     public final void ruleDecimalExp() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1220:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1221:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1077:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1078:1: ( ( rule__DecimalExp__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1221:1: ( ( rule__DecimalExp__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1222:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1078:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1079:1: ( rule__DecimalExp__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalExpAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1223:1: ( rule__DecimalExp__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1223:2: rule__DecimalExp__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1080:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1080:2: rule__DecimalExp__Group__0
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp2494);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp2225);
             rule__DecimalExp__Group__0();
 
             state._fsp--;
@@ -3550,16 +3189,16 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1236:1: entryRuleFQN : ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1093:1: entryRuleFQN : ruleFQN EOF ;
     public final void entryRuleFQN() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1237:1: ( ruleFQN EOF )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1238:1: ruleFQN EOF
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1094:1: ( ruleFQN EOF )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1095:1: ruleFQN EOF
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFQNRule()); 
             }
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN2521);
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN2252);
             ruleFQN();
 
             state._fsp--;
@@ -3567,7 +3206,7 @@
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFQNRule()); 
             }
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN2528); if (state.failed) return ;
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN2259); if (state.failed) return ;
 
             }
 
@@ -3584,25 +3223,25 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1245:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1102:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
     public final void ruleFQN() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1249:2: ( ( ( rule__FQN__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1250:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1106:2: ( ( ( rule__FQN__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1107:1: ( ( rule__FQN__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1250:1: ( ( rule__FQN__Group__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1251:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1107:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1108:1: ( rule__FQN__Group__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFQNAccess().getGroup()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1252:1: ( rule__FQN__Group__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1252:2: rule__FQN__Group__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1109:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1109:2: rule__FQN__Group__0
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN2554);
+            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN2285);
             rule__FQN__Group__0();
 
             state._fsp--;
@@ -3635,25 +3274,25 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1265:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1122:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
     public final void ruleLiteralType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1269:1: ( ( ( rule__LiteralType__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1270:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1126:1: ( ( ( rule__LiteralType__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1127:1: ( ( rule__LiteralType__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1270:1: ( ( rule__LiteralType__Alternatives ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1271:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1127:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1128:1: ( rule__LiteralType__Alternatives )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLiteralTypeAccess().getAlternatives()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1272:1: ( rule__LiteralType__Alternatives )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1272:2: rule__LiteralType__Alternatives
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1129:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1129:2: rule__LiteralType__Alternatives
             {
-            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType2591);
+            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType2322);
             rule__LiteralType__Alternatives();
 
             state._fsp--;
@@ -3686,31 +3325,31 @@
 
 
     // $ANTLR start "rule__ConfigElement__Alternatives"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1283:1: rule__ConfigElement__Alternatives : ( ( ruleSubSystemConfig ) | ( ruleActorClassConfig ) | ( ruleActorInstanceConfig ) | ( ruleProtocolClassConfig ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1140:1: rule__ConfigElement__Alternatives : ( ( ruleSubSystemConfig ) | ( ruleActorClassConfig ) | ( ruleActorInstanceConfig ) | ( ruleProtocolClassConfig ) );
     public final void rule__ConfigElement__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1287:1: ( ( ruleSubSystemConfig ) | ( ruleActorClassConfig ) | ( ruleActorInstanceConfig ) | ( ruleProtocolClassConfig ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1144:1: ( ( ruleSubSystemConfig ) | ( ruleActorClassConfig ) | ( ruleActorInstanceConfig ) | ( ruleProtocolClassConfig ) )
             int alt1=4;
             switch ( input.LA(1) ) {
-            case 28:
+            case 29:
                 {
                 alt1=1;
                 }
                 break;
-            case 35:
+            case 36:
                 {
                 alt1=2;
                 }
                 break;
-            case 36:
+            case 37:
                 {
                 alt1=3;
                 }
                 break;
-            case 37:
+            case 38:
                 {
                 alt1=4;
                 }
@@ -3725,15 +3364,15 @@
 
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1288:1: ( ruleSubSystemConfig )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1145:1: ( ruleSubSystemConfig )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1288:1: ( ruleSubSystemConfig )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1289:1: ruleSubSystemConfig
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1145:1: ( ruleSubSystemConfig )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1146:1: ruleSubSystemConfig
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getConfigElementAccess().getSubSystemConfigParserRuleCall_0()); 
                     }
-                    pushFollow(FOLLOW_ruleSubSystemConfig_in_rule__ConfigElement__Alternatives2626);
+                    pushFollow(FOLLOW_ruleSubSystemConfig_in_rule__ConfigElement__Alternatives2357);
                     ruleSubSystemConfig();
 
                     state._fsp--;
@@ -3748,15 +3387,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1294:6: ( ruleActorClassConfig )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1151:6: ( ruleActorClassConfig )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1294:6: ( ruleActorClassConfig )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1295:1: ruleActorClassConfig
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1151:6: ( ruleActorClassConfig )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1152:1: ruleActorClassConfig
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getConfigElementAccess().getActorClassConfigParserRuleCall_1()); 
                     }
-                    pushFollow(FOLLOW_ruleActorClassConfig_in_rule__ConfigElement__Alternatives2643);
+                    pushFollow(FOLLOW_ruleActorClassConfig_in_rule__ConfigElement__Alternatives2374);
                     ruleActorClassConfig();
 
                     state._fsp--;
@@ -3771,15 +3410,15 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1300:6: ( ruleActorInstanceConfig )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1157:6: ( ruleActorInstanceConfig )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1300:6: ( ruleActorInstanceConfig )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1301:1: ruleActorInstanceConfig
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1157:6: ( ruleActorInstanceConfig )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1158:1: ruleActorInstanceConfig
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getConfigElementAccess().getActorInstanceConfigParserRuleCall_2()); 
                     }
-                    pushFollow(FOLLOW_ruleActorInstanceConfig_in_rule__ConfigElement__Alternatives2660);
+                    pushFollow(FOLLOW_ruleActorInstanceConfig_in_rule__ConfigElement__Alternatives2391);
                     ruleActorInstanceConfig();
 
                     state._fsp--;
@@ -3794,15 +3433,15 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1306:6: ( ruleProtocolClassConfig )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1163:6: ( ruleProtocolClassConfig )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1306:6: ( ruleProtocolClassConfig )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1307:1: ruleProtocolClassConfig
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1163:6: ( ruleProtocolClassConfig )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1164:1: ruleProtocolClassConfig
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getConfigElementAccess().getProtocolClassConfigParserRuleCall_3()); 
                     }
-                    pushFollow(FOLLOW_ruleProtocolClassConfig_in_rule__ConfigElement__Alternatives2677);
+                    pushFollow(FOLLOW_ruleProtocolClassConfig_in_rule__ConfigElement__Alternatives2408);
                     ruleProtocolClassConfig();
 
                     state._fsp--;
@@ -3834,20 +3473,20 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Alternatives_2_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1317:1: rule__DynamicConfig__Alternatives_2_0 : ( ( ( rule__DynamicConfig__Group_2_0_0__0 ) ) | ( ( rule__DynamicConfig__Group_2_0_1__0 ) ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1174:1: rule__DynamicConfig__Alternatives_2_0 : ( ( ( rule__DynamicConfig__Group_2_0_0__0 ) ) | ( ( rule__DynamicConfig__Group_2_0_1__0 ) ) );
     public final void rule__DynamicConfig__Alternatives_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1321:1: ( ( ( rule__DynamicConfig__Group_2_0_0__0 ) ) | ( ( rule__DynamicConfig__Group_2_0_1__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1178:1: ( ( ( rule__DynamicConfig__Group_2_0_0__0 ) ) | ( ( rule__DynamicConfig__Group_2_0_1__0 ) ) )
             int alt2=2;
             int LA2_0 = input.LA(1);
 
-            if ( (LA2_0==31) ) {
+            if ( (LA2_0==32) ) {
                 alt2=1;
             }
-            else if ( (LA2_0==32) ) {
+            else if ( (LA2_0==33) ) {
                 alt2=2;
             }
             else {
@@ -3859,18 +3498,18 @@
             }
             switch (alt2) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1322:1: ( ( rule__DynamicConfig__Group_2_0_0__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1179:1: ( ( rule__DynamicConfig__Group_2_0_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1322:1: ( ( rule__DynamicConfig__Group_2_0_0__0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1323:1: ( rule__DynamicConfig__Group_2_0_0__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1179:1: ( ( rule__DynamicConfig__Group_2_0_0__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1180:1: ( rule__DynamicConfig__Group_2_0_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDynamicConfigAccess().getGroup_2_0_0()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1324:1: ( rule__DynamicConfig__Group_2_0_0__0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1324:2: rule__DynamicConfig__Group_2_0_0__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1181:1: ( rule__DynamicConfig__Group_2_0_0__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1181:2: rule__DynamicConfig__Group_2_0_0__0
                     {
-                    pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_0__0_in_rule__DynamicConfig__Alternatives_2_02709);
+                    pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_0__0_in_rule__DynamicConfig__Alternatives_2_02440);
                     rule__DynamicConfig__Group_2_0_0__0();
 
                     state._fsp--;
@@ -3888,18 +3527,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1328:6: ( ( rule__DynamicConfig__Group_2_0_1__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1185:6: ( ( rule__DynamicConfig__Group_2_0_1__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1328:6: ( ( rule__DynamicConfig__Group_2_0_1__0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1329:1: ( rule__DynamicConfig__Group_2_0_1__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1185:6: ( ( rule__DynamicConfig__Group_2_0_1__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1186:1: ( rule__DynamicConfig__Group_2_0_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDynamicConfigAccess().getGroup_2_0_1()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1330:1: ( rule__DynamicConfig__Group_2_0_1__0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1330:2: rule__DynamicConfig__Group_2_0_1__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1187:1: ( rule__DynamicConfig__Group_2_0_1__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1187:2: rule__DynamicConfig__Group_2_0_1__0
                     {
-                    pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1__0_in_rule__DynamicConfig__Alternatives_2_02727);
+                    pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1__0_in_rule__DynamicConfig__Alternatives_2_02458);
                     rule__DynamicConfig__Group_2_0_1__0();
 
                     state._fsp--;
@@ -3934,20 +3573,20 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Alternatives_3_1_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1339:1: rule__ProtocolClassConfig__Alternatives_3_1_0 : ( ( 'conjugate' ) | ( 'conjugated' ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1196:1: rule__ProtocolClassConfig__Alternatives_3_1_0 : ( ( 'conjugate' ) | ( 'conjugated' ) );
     public final void rule__ProtocolClassConfig__Alternatives_3_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1343:1: ( ( 'conjugate' ) | ( 'conjugated' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1200:1: ( ( 'conjugate' ) | ( 'conjugated' ) )
             int alt3=2;
             int LA3_0 = input.LA(1);
 
-            if ( (LA3_0==13) ) {
+            if ( (LA3_0==12) ) {
                 alt3=1;
             }
-            else if ( (LA3_0==14) ) {
+            else if ( (LA3_0==13) ) {
                 alt3=2;
             }
             else {
@@ -3959,15 +3598,15 @@
             }
             switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1344:1: ( 'conjugate' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1201:1: ( 'conjugate' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1344:1: ( 'conjugate' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1345:1: 'conjugate'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1201:1: ( 'conjugate' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1202:1: 'conjugate'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getProtocolClassConfigAccess().getConjugateKeyword_3_1_0_0()); 
                     }
-                    match(input,13,FOLLOW_13_in_rule__ProtocolClassConfig__Alternatives_3_1_02761); if (state.failed) return ;
+                    match(input,12,FOLLOW_12_in_rule__ProtocolClassConfig__Alternatives_3_1_02492); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getProtocolClassConfigAccess().getConjugateKeyword_3_1_0_0()); 
                     }
@@ -3978,15 +3617,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1352:6: ( 'conjugated' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1209:6: ( 'conjugated' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1352:6: ( 'conjugated' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1353:1: 'conjugated'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1209:6: ( 'conjugated' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1210:1: 'conjugated'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getProtocolClassConfigAccess().getConjugatedKeyword_3_1_0_1()); 
                     }
-                    match(input,14,FOLLOW_14_in_rule__ProtocolClassConfig__Alternatives_3_1_02781); if (state.failed) return ;
+                    match(input,13,FOLLOW_13_in_rule__ProtocolClassConfig__Alternatives_3_1_02512); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getProtocolClassConfigAccess().getConjugatedKeyword_3_1_0_1()); 
                     }
@@ -4014,20 +3653,20 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Alternatives_3_1_0_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1366:1: rule__AttrInstanceConfig__Alternatives_3_1_0_1 : ( ( ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 ) ) | ( 'write' ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1223:1: rule__AttrInstanceConfig__Alternatives_3_1_0_1 : ( ( ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 ) ) | ( 'write' ) );
     public final void rule__AttrInstanceConfig__Alternatives_3_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1370:1: ( ( ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 ) ) | ( 'write' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1227:1: ( ( ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 ) ) | ( 'write' ) )
             int alt4=2;
             int LA4_0 = input.LA(1);
 
-            if ( (LA4_0==58) ) {
+            if ( (LA4_0==59) ) {
                 alt4=1;
             }
-            else if ( (LA4_0==15) ) {
+            else if ( (LA4_0==14) ) {
                 alt4=2;
             }
             else {
@@ -4039,18 +3678,18 @@
             }
             switch (alt4) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1371:1: ( ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1228:1: ( ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1371:1: ( ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1372:1: ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1228:1: ( ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1229:1: ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAttrInstanceConfigAccess().getReadOnlyAssignment_3_1_0_1_0()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1373:1: ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1373:2: rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1230:1: ( rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1230:2: rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0
                     {
-                    pushFollow(FOLLOW_rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0_in_rule__AttrInstanceConfig__Alternatives_3_1_0_12816);
+                    pushFollow(FOLLOW_rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0_in_rule__AttrInstanceConfig__Alternatives_3_1_0_12547);
                     rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0();
 
                     state._fsp--;
@@ -4068,15 +3707,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1377:6: ( 'write' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1234:6: ( 'write' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1377:6: ( 'write' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1378:1: 'write'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1234:6: ( 'write' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1235:1: 'write'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAttrInstanceConfigAccess().getWriteKeyword_3_1_0_1_1()); 
                     }
-                    match(input,15,FOLLOW_15_in_rule__AttrInstanceConfig__Alternatives_3_1_0_12835); if (state.failed) return ;
+                    match(input,14,FOLLOW_14_in_rule__AttrInstanceConfig__Alternatives_3_1_0_12566); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getAttrInstanceConfigAccess().getWriteKeyword_3_1_0_1_1()); 
                     }
@@ -4104,17 +3743,17 @@
 
 
     // $ANTLR start "rule__ConfigValue__Alternatives"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1390:1: rule__ConfigValue__Alternatives : ( ( ruleLiteralConfigValue ) | ( ruleEnumConfigValue ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1247:1: rule__ConfigValue__Alternatives : ( ( ruleLiteralConfigValue ) | ( ruleEnumConfigValue ) );
     public final void rule__ConfigValue__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1394:1: ( ( ruleLiteralConfigValue ) | ( ruleEnumConfigValue ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1251:1: ( ( ruleLiteralConfigValue ) | ( ruleEnumConfigValue ) )
             int alt5=2;
             int LA5_0 = input.LA(1);
 
-            if ( ((LA5_0>=RULE_HEX && LA5_0<=RULE_INT)||LA5_0==RULE_STRING||(LA5_0>=18 && LA5_0<=20)||LA5_0==46||LA5_0==60) ) {
+            if ( ((LA5_0>=RULE_HEX && LA5_0<=RULE_STRING)||(LA5_0>=17 && LA5_0<=19)||LA5_0==61) ) {
                 alt5=1;
             }
             else if ( (LA5_0==RULE_ID) ) {
@@ -4129,15 +3768,15 @@
             }
             switch (alt5) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1395:1: ( ruleLiteralConfigValue )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1252:1: ( ruleLiteralConfigValue )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1395:1: ( ruleLiteralConfigValue )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1396:1: ruleLiteralConfigValue
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1252:1: ( ruleLiteralConfigValue )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1253:1: ruleLiteralConfigValue
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getConfigValueAccess().getLiteralConfigValueParserRuleCall_0()); 
                     }
-                    pushFollow(FOLLOW_ruleLiteralConfigValue_in_rule__ConfigValue__Alternatives2869);
+                    pushFollow(FOLLOW_ruleLiteralConfigValue_in_rule__ConfigValue__Alternatives2600);
                     ruleLiteralConfigValue();
 
                     state._fsp--;
@@ -4152,15 +3791,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1401:6: ( ruleEnumConfigValue )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1258:6: ( ruleEnumConfigValue )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1401:6: ( ruleEnumConfigValue )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1402:1: ruleEnumConfigValue
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1258:6: ( ruleEnumConfigValue )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1259:1: ruleEnumConfigValue
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getConfigValueAccess().getEnumConfigValueParserRuleCall_1()); 
                     }
-                    pushFollow(FOLLOW_ruleEnumConfigValue_in_rule__ConfigValue__Alternatives2886);
+                    pushFollow(FOLLOW_ruleEnumConfigValue_in_rule__ConfigValue__Alternatives2617);
                     ruleEnumConfigValue();
 
                     state._fsp--;
@@ -4192,32 +3831,32 @@
 
 
     // $ANTLR start "rule__AnnotationAttribute__Alternatives"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1413:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1270:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
     public final void rule__AnnotationAttribute__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1417:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1274:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
             int alt6=2;
             int LA6_0 = input.LA(1);
 
-            if ( (LA6_0==59) ) {
+            if ( (LA6_0==60) ) {
                 int LA6_1 = input.LA(2);
 
-                if ( (LA6_1==48) ) {
+                if ( (LA6_1==49) ) {
                     int LA6_3 = input.LA(3);
 
                     if ( (LA6_3==RULE_ID) ) {
                         int LA6_4 = input.LA(4);
 
-                        if ( (LA6_4==47) ) {
+                        if ( (LA6_4==48) ) {
                             int LA6_5 = input.LA(5);
 
-                            if ( ((LA6_5>=21 && LA6_5<=24)) ) {
+                            if ( ((LA6_5>=22 && LA6_5<=25)) ) {
                                 alt6=1;
                             }
-                            else if ( (LA6_5==26) ) {
+                            else if ( (LA6_5==27) ) {
                                 alt6=2;
                             }
                             else {
@@ -4252,22 +3891,22 @@
                     throw nvae;
                 }
             }
-            else if ( (LA6_0==16) ) {
+            else if ( (LA6_0==15) ) {
                 int LA6_2 = input.LA(2);
 
-                if ( (LA6_2==48) ) {
+                if ( (LA6_2==49) ) {
                     int LA6_3 = input.LA(3);
 
                     if ( (LA6_3==RULE_ID) ) {
                         int LA6_4 = input.LA(4);
 
-                        if ( (LA6_4==47) ) {
+                        if ( (LA6_4==48) ) {
                             int LA6_5 = input.LA(5);
 
-                            if ( ((LA6_5>=21 && LA6_5<=24)) ) {
+                            if ( ((LA6_5>=22 && LA6_5<=25)) ) {
                                 alt6=1;
                             }
-                            else if ( (LA6_5==26) ) {
+                            else if ( (LA6_5==27) ) {
                                 alt6=2;
                             }
                             else {
@@ -4311,15 +3950,15 @@
             }
             switch (alt6) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1418:1: ( ruleSimpleAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1275:1: ( ruleSimpleAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1418:1: ( ruleSimpleAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1419:1: ruleSimpleAnnotationAttribute
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1275:1: ( ruleSimpleAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1276:1: ruleSimpleAnnotationAttribute
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
                     }
-                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2919);
+                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2650);
                     ruleSimpleAnnotationAttribute();
 
                     state._fsp--;
@@ -4334,15 +3973,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1424:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1281:6: ( ruleEnumAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1424:6: ( ruleEnumAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1425:1: ruleEnumAnnotationAttribute
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1281:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1282:1: ruleEnumAnnotationAttribute
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
                     }
-                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2936);
+                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2667);
                     ruleEnumAnnotationAttribute();
 
                     state._fsp--;
@@ -4374,20 +4013,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1435:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1292:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__SimpleAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1439:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1296:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
             int alt7=2;
             int LA7_0 = input.LA(1);
 
-            if ( (LA7_0==59) ) {
+            if ( (LA7_0==60) ) {
                 alt7=1;
             }
-            else if ( (LA7_0==16) ) {
+            else if ( (LA7_0==15) ) {
                 alt7=2;
             }
             else {
@@ -4399,18 +4038,18 @@
             }
             switch (alt7) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1440:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1297:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1440:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1441:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1297:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1298:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1442:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1442:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1299:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1299:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_02968);
+                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_02699);
                     rule__SimpleAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
@@ -4428,15 +4067,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1446:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1303:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1446:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1447:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1303:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1304:1: 'mandatory'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
                     }
-                    match(input,16,FOLLOW_16_in_rule__SimpleAnnotationAttribute__Alternatives_02987); if (state.failed) return ;
+                    match(input,15,FOLLOW_15_in_rule__SimpleAnnotationAttribute__Alternatives_02718); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
                     }
@@ -4464,20 +4103,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1459:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1316:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__EnumAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1463:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1320:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
             int alt8=2;
             int LA8_0 = input.LA(1);
 
-            if ( (LA8_0==59) ) {
+            if ( (LA8_0==60) ) {
                 alt8=1;
             }
-            else if ( (LA8_0==16) ) {
+            else if ( (LA8_0==15) ) {
                 alt8=2;
             }
             else {
@@ -4489,18 +4128,18 @@
             }
             switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1464:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1321:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1464:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1465:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1321:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1322:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1466:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1466:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1323:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1323:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_03021);
+                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_02752);
                     rule__EnumAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
@@ -4518,15 +4157,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1470:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1327:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1470:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1471:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1327:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1328:1: 'mandatory'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
                     }
-                    match(input,16,FOLLOW_16_in_rule__EnumAnnotationAttribute__Alternatives_03040); if (state.failed) return ;
+                    match(input,15,FOLLOW_15_in_rule__EnumAnnotationAttribute__Alternatives_02771); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
                     }
@@ -4554,20 +4193,20 @@
 
 
     // $ANTLR start "rule__Import__Alternatives_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1483:1: rule__Import__Alternatives_1 : ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1340:1: rule__Import__Alternatives_1 : ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) );
     public final void rule__Import__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1487:1: ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1344:1: ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) )
             int alt9=2;
             int LA9_0 = input.LA(1);
 
             if ( (LA9_0==RULE_ID) ) {
                 alt9=1;
             }
-            else if ( (LA9_0==17) ) {
+            else if ( (LA9_0==16) ) {
                 alt9=2;
             }
             else {
@@ -4579,18 +4218,18 @@
             }
             switch (alt9) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1488:1: ( ( rule__Import__Group_1_0__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1345:1: ( ( rule__Import__Group_1_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1488:1: ( ( rule__Import__Group_1_0__0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1489:1: ( rule__Import__Group_1_0__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1345:1: ( ( rule__Import__Group_1_0__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1346:1: ( rule__Import__Group_1_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getImportAccess().getGroup_1_0()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1490:1: ( rule__Import__Group_1_0__0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1490:2: rule__Import__Group_1_0__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1347:1: ( rule__Import__Group_1_0__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1347:2: rule__Import__Group_1_0__0
                     {
-                    pushFollow(FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_13074);
+                    pushFollow(FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_12805);
                     rule__Import__Group_1_0__0();
 
                     state._fsp--;
@@ -4608,15 +4247,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1494:6: ( 'model' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1351:6: ( 'model' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1494:6: ( 'model' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1495:1: 'model'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1351:6: ( 'model' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1352:1: 'model'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getImportAccess().getModelKeyword_1_1()); 
                     }
-                    match(input,17,FOLLOW_17_in_rule__Import__Alternatives_13093); if (state.failed) return ;
+                    match(input,16,FOLLOW_16_in_rule__Import__Alternatives_12824); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getImportAccess().getModelKeyword_1_1()); 
                     }
@@ -4644,36 +4283,36 @@
 
 
     // $ANTLR start "rule__TIME__Alternatives"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1507:1: rule__TIME__Alternatives : ( ( ( rule__TIME__Group_0__0 ) ) | ( ( rule__TIME__Group_1__0 ) ) | ( ( rule__TIME__Group_2__0 ) ) | ( ( rule__TIME__Group_3__0 ) ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1364:1: rule__TIME__Alternatives : ( ( ( rule__TIME__Group_0__0 ) ) | ( ( rule__TIME__Group_1__0 ) ) | ( ( rule__TIME__Group_2__0 ) ) | ( ( rule__TIME__Group_3__0 ) ) );
     public final void rule__TIME__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1511:1: ( ( ( rule__TIME__Group_0__0 ) ) | ( ( rule__TIME__Group_1__0 ) ) | ( ( rule__TIME__Group_2__0 ) ) | ( ( rule__TIME__Group_3__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1368:1: ( ( ( rule__TIME__Group_0__0 ) ) | ( ( rule__TIME__Group_1__0 ) ) | ( ( rule__TIME__Group_2__0 ) ) | ( ( rule__TIME__Group_3__0 ) ) )
             int alt10=4;
             int LA10_0 = input.LA(1);
 
             if ( (LA10_0==RULE_INT) ) {
                 switch ( input.LA(2) ) {
-                case 57:
+                case 58:
                     {
                     alt10=4;
                     }
                     break;
-                case 54:
+                case 55:
                     {
                     alt10=1;
                     }
                     break;
-                case 55:
+                case 57:
                     {
-                    alt10=2;
+                    alt10=3;
                     }
                     break;
                 case 56:
                     {
-                    alt10=3;
+                    alt10=2;
                     }
                     break;
                 default:
@@ -4694,18 +4333,18 @@
             }
             switch (alt10) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1512:1: ( ( rule__TIME__Group_0__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1369:1: ( ( rule__TIME__Group_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1512:1: ( ( rule__TIME__Group_0__0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1513:1: ( rule__TIME__Group_0__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1369:1: ( ( rule__TIME__Group_0__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1370:1: ( rule__TIME__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTIMEAccess().getGroup_0()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1514:1: ( rule__TIME__Group_0__0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1514:2: rule__TIME__Group_0__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1371:1: ( rule__TIME__Group_0__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1371:2: rule__TIME__Group_0__0
                     {
-                    pushFollow(FOLLOW_rule__TIME__Group_0__0_in_rule__TIME__Alternatives3127);
+                    pushFollow(FOLLOW_rule__TIME__Group_0__0_in_rule__TIME__Alternatives2858);
                     rule__TIME__Group_0__0();
 
                     state._fsp--;
@@ -4723,18 +4362,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1518:6: ( ( rule__TIME__Group_1__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1375:6: ( ( rule__TIME__Group_1__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1518:6: ( ( rule__TIME__Group_1__0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1519:1: ( rule__TIME__Group_1__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1375:6: ( ( rule__TIME__Group_1__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1376:1: ( rule__TIME__Group_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTIMEAccess().getGroup_1()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1520:1: ( rule__TIME__Group_1__0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1520:2: rule__TIME__Group_1__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1377:1: ( rule__TIME__Group_1__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1377:2: rule__TIME__Group_1__0
                     {
-                    pushFollow(FOLLOW_rule__TIME__Group_1__0_in_rule__TIME__Alternatives3145);
+                    pushFollow(FOLLOW_rule__TIME__Group_1__0_in_rule__TIME__Alternatives2876);
                     rule__TIME__Group_1__0();
 
                     state._fsp--;
@@ -4752,18 +4391,18 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1524:6: ( ( rule__TIME__Group_2__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1381:6: ( ( rule__TIME__Group_2__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1524:6: ( ( rule__TIME__Group_2__0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1525:1: ( rule__TIME__Group_2__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1381:6: ( ( rule__TIME__Group_2__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1382:1: ( rule__TIME__Group_2__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTIMEAccess().getGroup_2()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1526:1: ( rule__TIME__Group_2__0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1526:2: rule__TIME__Group_2__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1383:1: ( rule__TIME__Group_2__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1383:2: rule__TIME__Group_2__0
                     {
-                    pushFollow(FOLLOW_rule__TIME__Group_2__0_in_rule__TIME__Alternatives3163);
+                    pushFollow(FOLLOW_rule__TIME__Group_2__0_in_rule__TIME__Alternatives2894);
                     rule__TIME__Group_2__0();
 
                     state._fsp--;
@@ -4781,18 +4420,18 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1530:6: ( ( rule__TIME__Group_3__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1387:6: ( ( rule__TIME__Group_3__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1530:6: ( ( rule__TIME__Group_3__0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1531:1: ( rule__TIME__Group_3__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1387:6: ( ( rule__TIME__Group_3__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1388:1: ( rule__TIME__Group_3__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getTIMEAccess().getGroup_3()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1532:1: ( rule__TIME__Group_3__0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1532:2: rule__TIME__Group_3__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1389:1: ( rule__TIME__Group_3__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1389:2: rule__TIME__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__TIME__Group_3__0_in_rule__TIME__Alternatives3181);
+                    pushFollow(FOLLOW_rule__TIME__Group_3__0_in_rule__TIME__Alternatives2912);
                     rule__TIME__Group_3__0();
 
                     state._fsp--;
@@ -4827,26 +4466,25 @@
 
 
     // $ANTLR start "rule__Literal__Alternatives"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1541:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1398:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
     public final void rule__Literal__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1545:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1402:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
             int alt11=3;
             switch ( input.LA(1) ) {
-            case 18:
-            case 60:
+            case 17:
+            case 61:
                 {
                 alt11=1;
                 }
                 break;
             case RULE_HEX:
             case RULE_INT:
+            case 18:
             case 19:
-            case 20:
-            case 46:
                 {
                 alt11=2;
                 }
@@ -4866,15 +4504,15 @@
 
             switch (alt11) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1546:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1403:1: ( ruleBooleanLiteral )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1546:1: ( ruleBooleanLiteral )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1547:1: ruleBooleanLiteral
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1403:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1404:1: ruleBooleanLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
                     }
-                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives3214);
+                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives2945);
                     ruleBooleanLiteral();
 
                     state._fsp--;
@@ -4889,15 +4527,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1552:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1409:6: ( ruleNumberLiteral )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1552:6: ( ruleNumberLiteral )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1553:1: ruleNumberLiteral
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1409:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1410:1: ruleNumberLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
                     }
-                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives3231);
+                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives2962);
                     ruleNumberLiteral();
 
                     state._fsp--;
@@ -4912,15 +4550,15 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1558:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1415:6: ( ruleStringLiteral )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1558:6: ( ruleStringLiteral )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1559:1: ruleStringLiteral
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1415:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1416:1: ruleStringLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
                     }
-                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives3248);
+                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives2979);
                     ruleStringLiteral();
 
                     state._fsp--;
@@ -4952,20 +4590,20 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Alternatives_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1569:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1426:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
     public final void rule__BooleanLiteral__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1573:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1430:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
             int alt12=2;
             int LA12_0 = input.LA(1);
 
-            if ( (LA12_0==18) ) {
+            if ( (LA12_0==17) ) {
                 alt12=1;
             }
-            else if ( (LA12_0==60) ) {
+            else if ( (LA12_0==61) ) {
                 alt12=2;
             }
             else {
@@ -4977,15 +4615,15 @@
             }
             switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1574:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1431:1: ( 'false' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1574:1: ( 'false' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1575:1: 'false'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1431:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1432:1: 'false'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
                     }
-                    match(input,18,FOLLOW_18_in_rule__BooleanLiteral__Alternatives_13281); if (state.failed) return ;
+                    match(input,17,FOLLOW_17_in_rule__BooleanLiteral__Alternatives_13012); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
                     }
@@ -4996,18 +4634,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1582:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1439:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1582:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1583:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1439:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1440:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getBooleanLiteralAccess().getIsTrueAssignment_1_1()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1584:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1584:2: rule__BooleanLiteral__IsTrueAssignment_1_1
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1441:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1441:2: rule__BooleanLiteral__IsTrueAssignment_1_1
                     {
-                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_13300);
+                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_13031);
                     rule__BooleanLiteral__IsTrueAssignment_1_1();
 
                     state._fsp--;
@@ -5042,26 +4680,26 @@
 
 
     // $ANTLR start "rule__NumberLiteral__Alternatives"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1593:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1450:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
     public final void rule__NumberLiteral__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1597:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1454:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
             int alt13=2;
             switch ( input.LA(1) ) {
-            case 19:
+            case 18:
                 {
                 int LA13_1 = input.LA(2);
 
                 if ( (LA13_1==RULE_INT) ) {
                     int LA13_3 = input.LA(3);
 
-                    if ( (LA13_3==46) ) {
+                    if ( (LA13_3==47) ) {
                         alt13=2;
                     }
-                    else if ( (LA13_3==EOF||(LA13_3>=26 && LA13_3<=27)||(LA13_3>=40 && LA13_3<=41)||(LA13_3>=44 && LA13_3<=45)) ) {
+                    else if ( (LA13_3==EOF||(LA13_3>=27 && LA13_3<=28)||(LA13_3>=41 && LA13_3<=42)||(LA13_3>=45 && LA13_3<=46)) ) {
                         alt13=1;
                     }
                     else {
@@ -5072,9 +4710,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA13_1==46) ) {
-                    alt13=2;
-                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -5084,17 +4719,17 @@
                 }
                 }
                 break;
-            case 20:
+            case 19:
                 {
                 int LA13_2 = input.LA(2);
 
                 if ( (LA13_2==RULE_INT) ) {
                     int LA13_3 = input.LA(3);
 
-                    if ( (LA13_3==46) ) {
+                    if ( (LA13_3==47) ) {
                         alt13=2;
                     }
-                    else if ( (LA13_3==EOF||(LA13_3>=26 && LA13_3<=27)||(LA13_3>=40 && LA13_3<=41)||(LA13_3>=44 && LA13_3<=45)) ) {
+                    else if ( (LA13_3==EOF||(LA13_3>=27 && LA13_3<=28)||(LA13_3>=41 && LA13_3<=42)||(LA13_3>=45 && LA13_3<=46)) ) {
                         alt13=1;
                     }
                     else {
@@ -5105,9 +4740,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA13_2==46) ) {
-                    alt13=2;
-                }
                 else {
                     if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
@@ -5121,10 +4753,10 @@
                 {
                 int LA13_3 = input.LA(2);
 
-                if ( (LA13_3==46) ) {
+                if ( (LA13_3==47) ) {
                     alt13=2;
                 }
-                else if ( (LA13_3==EOF||(LA13_3>=26 && LA13_3<=27)||(LA13_3>=40 && LA13_3<=41)||(LA13_3>=44 && LA13_3<=45)) ) {
+                else if ( (LA13_3==EOF||(LA13_3>=27 && LA13_3<=28)||(LA13_3>=41 && LA13_3<=42)||(LA13_3>=45 && LA13_3<=46)) ) {
                     alt13=1;
                 }
                 else {
@@ -5141,11 +4773,6 @@
                 alt13=1;
                 }
                 break;
-            case 46:
-                {
-                alt13=2;
-                }
-                break;
             default:
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
@@ -5156,15 +4783,15 @@
 
             switch (alt13) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1598:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1455:1: ( ruleIntLiteral )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1598:1: ( ruleIntLiteral )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1599:1: ruleIntLiteral
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1455:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1456:1: ruleIntLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
                     }
-                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives3333);
+                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives3064);
                     ruleIntLiteral();
 
                     state._fsp--;
@@ -5179,15 +4806,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1604:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1461:6: ( ruleRealLiteral )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1604:6: ( ruleRealLiteral )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1605:1: ruleRealLiteral
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1461:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1462:1: ruleRealLiteral
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
                     }
-                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives3350);
+                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives3081);
                     ruleRealLiteral();
 
                     state._fsp--;
@@ -5219,17 +4846,17 @@
 
 
     // $ANTLR start "rule__Integer__Alternatives"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1615:1: rule__Integer__Alternatives : ( ( ruleSignedInteger ) | ( ruleHexadecimal ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1472:1: rule__Integer__Alternatives : ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) );
     public final void rule__Integer__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1619:1: ( ( ruleSignedInteger ) | ( ruleHexadecimal ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1476:1: ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) )
             int alt14=2;
             int LA14_0 = input.LA(1);
 
-            if ( (LA14_0==RULE_INT||(LA14_0>=19 && LA14_0<=20)) ) {
+            if ( (LA14_0==RULE_INT||(LA14_0>=18 && LA14_0<=19)) ) {
                 alt14=1;
             }
             else if ( (LA14_0==RULE_HEX) ) {
@@ -5244,21 +4871,27 @@
             }
             switch (alt14) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1620:1: ( ruleSignedInteger )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1477:1: ( ( rule__Integer__Group_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1620:1: ( ruleSignedInteger )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1621:1: ruleSignedInteger
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1477:1: ( ( rule__Integer__Group_0__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1478:1: ( rule__Integer__Group_0__0 )
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
+                       before(grammarAccess.getIntegerAccess().getGroup_0()); 
                     }
-                    pushFollow(FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives3382);
-                    ruleSignedInteger();
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1479:1: ( rule__Integer__Group_0__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1479:2: rule__Integer__Group_0__0
+                    {
+                    pushFollow(FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives3113);
+                    rule__Integer__Group_0__0();
 
                     state._fsp--;
                     if (state.failed) return ;
+
+                    }
+
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
+                       after(grammarAccess.getIntegerAccess().getGroup_0()); 
                     }
 
                     }
@@ -5267,21 +4900,17 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1626:6: ( ruleHexadecimal )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1483:6: ( RULE_HEX )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1626:6: ( ruleHexadecimal )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1627:1: ruleHexadecimal
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1483:6: ( RULE_HEX )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1484:1: RULE_HEX
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
+                       before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
                     }
-                    pushFollow(FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives3399);
-                    ruleHexadecimal();
-
-                    state._fsp--;
-                    if (state.failed) return ;
+                    match(input,RULE_HEX,FOLLOW_RULE_HEX_in_rule__Integer__Alternatives3131); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
+                       after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
                     }
 
                     }
@@ -5306,21 +4935,21 @@
     // $ANTLR end "rule__Integer__Alternatives"
 
 
-    // $ANTLR start "rule__SignedInteger__Alternatives_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1637:1: rule__SignedInteger__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__SignedInteger__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Alternatives_0_0"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1494:1: rule__Integer__Alternatives_0_0 : ( ( '+' ) | ( '-' ) );
+    public final void rule__Integer__Alternatives_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1641:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1498:1: ( ( '+' ) | ( '-' ) )
             int alt15=2;
             int LA15_0 = input.LA(1);
 
-            if ( (LA15_0==19) ) {
+            if ( (LA15_0==18) ) {
                 alt15=1;
             }
-            else if ( (LA15_0==20) ) {
+            else if ( (LA15_0==19) ) {
                 alt15=2;
             }
             else {
@@ -5332,17 +4961,17 @@
             }
             switch (alt15) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1642:1: ( '+' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1499:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1642:1: ( '+' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1643:1: '+'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1499:1: ( '+' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1500:1: '+'
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+                       before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
                     }
-                    match(input,19,FOLLOW_19_in_rule__SignedInteger__Alternatives_03432); if (state.failed) return ;
+                    match(input,18,FOLLOW_18_in_rule__Integer__Alternatives_0_03164); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+                       after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
                     }
 
                     }
@@ -5351,17 +4980,17 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1650:6: ( '-' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1507:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1650:6: ( '-' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1651:1: '-'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1507:6: ( '-' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1508:1: '-'
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+                       before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
                     }
-                    match(input,20,FOLLOW_20_in_rule__SignedInteger__Alternatives_03452); if (state.failed) return ;
+                    match(input,19,FOLLOW_19_in_rule__Integer__Alternatives_0_03184); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+                       after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
                     }
 
                     }
@@ -5383,30 +5012,183 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Alternatives_0"
+    // $ANTLR end "rule__Integer__Alternatives_0_0"
 
 
     // $ANTLR start "rule__Real__Alternatives"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1663:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1520:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDecimalExp ) );
     public final void rule__Real__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1667:1: ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) )
-            int alt16=4;
-            alt16 = dfa16.predict(input);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1524:1: ( ( ruleDecimal ) | ( ruleDecimalExp ) )
+            int alt16=2;
+            switch ( input.LA(1) ) {
+            case 18:
+                {
+                int LA16_1 = input.LA(2);
+
+                if ( (LA16_1==RULE_INT) ) {
+                    int LA16_3 = input.LA(3);
+
+                    if ( (LA16_3==47) ) {
+                        int LA16_4 = input.LA(4);
+
+                        if ( (LA16_4==RULE_INT) ) {
+                            int LA16_5 = input.LA(5);
+
+                            if ( ((LA16_5>=20 && LA16_5<=21)) ) {
+                                alt16=2;
+                            }
+                            else if ( (LA16_5==EOF||(LA16_5>=27 && LA16_5<=28)||(LA16_5>=41 && LA16_5<=42)||(LA16_5>=45 && LA16_5<=46)) ) {
+                                alt16=1;
+                            }
+                            else {
+                                if (state.backtracking>0) {state.failed=true; return ;}
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 16, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return ;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 16, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 16, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 16, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 19:
+                {
+                int LA16_2 = input.LA(2);
+
+                if ( (LA16_2==RULE_INT) ) {
+                    int LA16_3 = input.LA(3);
+
+                    if ( (LA16_3==47) ) {
+                        int LA16_4 = input.LA(4);
+
+                        if ( (LA16_4==RULE_INT) ) {
+                            int LA16_5 = input.LA(5);
+
+                            if ( ((LA16_5>=20 && LA16_5<=21)) ) {
+                                alt16=2;
+                            }
+                            else if ( (LA16_5==EOF||(LA16_5>=27 && LA16_5<=28)||(LA16_5>=41 && LA16_5<=42)||(LA16_5>=45 && LA16_5<=46)) ) {
+                                alt16=1;
+                            }
+                            else {
+                                if (state.backtracking>0) {state.failed=true; return ;}
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 16, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return ;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 16, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 16, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 16, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA16_3 = input.LA(2);
+
+                if ( (LA16_3==47) ) {
+                    int LA16_4 = input.LA(3);
+
+                    if ( (LA16_4==RULE_INT) ) {
+                        int LA16_5 = input.LA(4);
+
+                        if ( ((LA16_5>=20 && LA16_5<=21)) ) {
+                            alt16=2;
+                        }
+                        else if ( (LA16_5==EOF||(LA16_5>=27 && LA16_5<=28)||(LA16_5>=41 && LA16_5<=42)||(LA16_5>=45 && LA16_5<=46)) ) {
+                            alt16=1;
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return ;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 16, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 16, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 16, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 16, 0, input);
+
+                throw nvae;
+            }
+
             switch (alt16) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1668:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1525:1: ( ruleDecimal )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1668:1: ( ruleDecimal )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1669:1: ruleDecimal
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1525:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1526:1: ruleDecimal
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
                     }
-                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives3486);
+                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives3218);
                     ruleDecimal();
 
                     state._fsp--;
@@ -5421,67 +5203,21 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1674:6: ( ruleDotDecimal )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1531:6: ( ruleDecimalExp )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1674:6: ( ruleDotDecimal )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1675:1: ruleDotDecimal
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1531:6: ( ruleDecimalExp )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1532:1: ruleDecimalExp
                     {
                     if ( state.backtracking==0 ) {
-                       before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+                       before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
                     }
-                    pushFollow(FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives3503);
-                    ruleDotDecimal();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1680:6: ( ruleDecimalDot )
-                    {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1680:6: ( ruleDecimalDot )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1681:1: ruleDecimalDot
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                    }
-                    pushFollow(FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives3520);
-                    ruleDecimalDot();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1686:6: ( ruleDecimalExp )
-                    {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1686:6: ( ruleDecimalExp )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1687:1: ruleDecimalExp
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                    }
-                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives3537);
+                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives3235);
                     ruleDecimalExp();
 
                     state._fsp--;
                     if (state.failed) return ;
                     if ( state.backtracking==0 ) {
-                       after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
+                       after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
                     }
 
                     }
@@ -5507,20 +5243,20 @@
 
 
     // $ANTLR start "rule__Decimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1697:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1542:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
     public final void rule__Decimal__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1701:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1546:1: ( ( '+' ) | ( '-' ) )
             int alt17=2;
             int LA17_0 = input.LA(1);
 
-            if ( (LA17_0==19) ) {
+            if ( (LA17_0==18) ) {
                 alt17=1;
             }
-            else if ( (LA17_0==20) ) {
+            else if ( (LA17_0==19) ) {
                 alt17=2;
             }
             else {
@@ -5532,15 +5268,15 @@
             }
             switch (alt17) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1702:1: ( '+' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1547:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1702:1: ( '+' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1703:1: '+'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1547:1: ( '+' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1548:1: '+'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
                     }
-                    match(input,19,FOLLOW_19_in_rule__Decimal__Alternatives_03570); if (state.failed) return ;
+                    match(input,18,FOLLOW_18_in_rule__Decimal__Alternatives_03268); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
                     }
@@ -5551,15 +5287,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1710:6: ( '-' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1555:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1710:6: ( '-' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1711:1: '-'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1555:6: ( '-' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1556:1: '-'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
                     }
-                    match(input,20,FOLLOW_20_in_rule__Decimal__Alternatives_03590); if (state.failed) return ;
+                    match(input,19,FOLLOW_19_in_rule__Decimal__Alternatives_03288); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
                     }
@@ -5586,21 +5322,21 @@
     // $ANTLR end "rule__Decimal__Alternatives_0"
 
 
-    // $ANTLR start "rule__DotDecimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1723:1: rule__DotDecimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DotDecimal__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__DecimalExp__Alternatives_0"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1568:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    public final void rule__DecimalExp__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1727:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1572:1: ( ( '+' ) | ( '-' ) )
             int alt18=2;
             int LA18_0 = input.LA(1);
 
-            if ( (LA18_0==19) ) {
+            if ( (LA18_0==18) ) {
                 alt18=1;
             }
-            else if ( (LA18_0==20) ) {
+            else if ( (LA18_0==19) ) {
                 alt18=2;
             }
             else {
@@ -5612,175 +5348,15 @@
             }
             switch (alt18) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1728:1: ( '+' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1573:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1728:1: ( '+' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1729:1: '+'
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                    }
-                    match(input,19,FOLLOW_19_in_rule__DotDecimal__Alternatives_03625); if (state.failed) return ;
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1736:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1736:6: ( '-' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1737:1: '-'
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    }
-                    match(input,20,FOLLOW_20_in_rule__DotDecimal__Alternatives_03645); if (state.failed) return ;
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Alternatives_0"
-
-
-    // $ANTLR start "rule__DecimalDot__Alternatives_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1749:1: rule__DecimalDot__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DecimalDot__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1753:1: ( ( '+' ) | ( '-' ) )
-            int alt19=2;
-            int LA19_0 = input.LA(1);
-
-            if ( (LA19_0==19) ) {
-                alt19=1;
-            }
-            else if ( (LA19_0==20) ) {
-                alt19=2;
-            }
-            else {
-                if (state.backtracking>0) {state.failed=true; return ;}
-                NoViableAltException nvae =
-                    new NoViableAltException("", 19, 0, input);
-
-                throw nvae;
-            }
-            switch (alt19) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1754:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1754:1: ( '+' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1755:1: '+'
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                    }
-                    match(input,19,FOLLOW_19_in_rule__DecimalDot__Alternatives_03680); if (state.failed) return ;
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1762:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1762:6: ( '-' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1763:1: '-'
-                    {
-                    if ( state.backtracking==0 ) {
-                       before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                    }
-                    match(input,20,FOLLOW_20_in_rule__DecimalDot__Alternatives_03700); if (state.failed) return ;
-                    if ( state.backtracking==0 ) {
-                       after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                    }
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Alternatives_0"
-
-
-    // $ANTLR start "rule__DecimalExp__Alternatives_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1775:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DecimalExp__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1779:1: ( ( '+' ) | ( '-' ) )
-            int alt20=2;
-            int LA20_0 = input.LA(1);
-
-            if ( (LA20_0==19) ) {
-                alt20=1;
-            }
-            else if ( (LA20_0==20) ) {
-                alt20=2;
-            }
-            else {
-                if (state.backtracking>0) {state.failed=true; return ;}
-                NoViableAltException nvae =
-                    new NoViableAltException("", 20, 0, input);
-
-                throw nvae;
-            }
-            switch (alt20) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1780:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1780:1: ( '+' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1781:1: '+'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1573:1: ( '+' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1574:1: '+'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
                     }
-                    match(input,19,FOLLOW_19_in_rule__DecimalExp__Alternatives_03735); if (state.failed) return ;
+                    match(input,18,FOLLOW_18_in_rule__DecimalExp__Alternatives_03323); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
                     }
@@ -5791,15 +5367,15 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1788:6: ( '-' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1581:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1788:6: ( '-' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1789:1: '-'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1581:6: ( '-' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1582:1: '-'
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
                     }
-                    match(input,20,FOLLOW_20_in_rule__DecimalExp__Alternatives_03755); if (state.failed) return ;
+                    match(input,19,FOLLOW_19_in_rule__DecimalExp__Alternatives_03343); if (state.failed) return ;
                     if ( state.backtracking==0 ) {
                        after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
                     }
@@ -5826,32 +5402,192 @@
     // $ANTLR end "rule__DecimalExp__Alternatives_0"
 
 
+    // $ANTLR start "rule__DecimalExp__Alternatives_4"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1594:1: rule__DecimalExp__Alternatives_4 : ( ( 'e' ) | ( 'E' ) );
+    public final void rule__DecimalExp__Alternatives_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1598:1: ( ( 'e' ) | ( 'E' ) )
+            int alt19=2;
+            int LA19_0 = input.LA(1);
+
+            if ( (LA19_0==20) ) {
+                alt19=1;
+            }
+            else if ( (LA19_0==21) ) {
+                alt19=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 19, 0, input);
+
+                throw nvae;
+            }
+            switch (alt19) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1599:1: ( 'e' )
+                    {
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1599:1: ( 'e' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1600:1: 'e'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                    }
+                    match(input,20,FOLLOW_20_in_rule__DecimalExp__Alternatives_43378); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1607:6: ( 'E' )
+                    {
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1607:6: ( 'E' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1608:1: 'E'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                    }
+                    match(input,21,FOLLOW_21_in_rule__DecimalExp__Alternatives_43398); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_4"
+
+
+    // $ANTLR start "rule__DecimalExp__Alternatives_5"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1620:1: rule__DecimalExp__Alternatives_5 : ( ( '+' ) | ( '-' ) );
+    public final void rule__DecimalExp__Alternatives_5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1624:1: ( ( '+' ) | ( '-' ) )
+            int alt20=2;
+            int LA20_0 = input.LA(1);
+
+            if ( (LA20_0==18) ) {
+                alt20=1;
+            }
+            else if ( (LA20_0==19) ) {
+                alt20=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 20, 0, input);
+
+                throw nvae;
+            }
+            switch (alt20) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1625:1: ( '+' )
+                    {
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1625:1: ( '+' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1626:1: '+'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                    }
+                    match(input,18,FOLLOW_18_in_rule__DecimalExp__Alternatives_53433); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1633:6: ( '-' )
+                    {
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1633:6: ( '-' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1634:1: '-'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                    }
+                    match(input,19,FOLLOW_19_in_rule__DecimalExp__Alternatives_53453); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_5"
+
+
     // $ANTLR start "rule__LiteralType__Alternatives"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1801:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1646:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
     public final void rule__LiteralType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1805:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1650:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
             int alt21=4;
             switch ( input.LA(1) ) {
-            case 21:
+            case 22:
                 {
                 alt21=1;
                 }
                 break;
-            case 22:
+            case 23:
                 {
                 alt21=2;
                 }
                 break;
-            case 23:
+            case 24:
                 {
                 alt21=3;
                 }
                 break;
-            case 24:
+            case 25:
                 {
                 alt21=4;
                 }
@@ -5866,18 +5602,18 @@
 
             switch (alt21) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1806:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1651:1: ( ( 'ptBoolean' ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1806:1: ( ( 'ptBoolean' ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1807:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1651:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1652:1: ( 'ptBoolean' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1808:1: ( 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1808:3: 'ptBoolean'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1653:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1653:3: 'ptBoolean'
                     {
-                    match(input,21,FOLLOW_21_in_rule__LiteralType__Alternatives3790); if (state.failed) return ;
+                    match(input,22,FOLLOW_22_in_rule__LiteralType__Alternatives3488); if (state.failed) return ;
 
                     }
 
@@ -5891,18 +5627,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1813:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1658:6: ( ( 'ptInteger' ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1813:6: ( ( 'ptInteger' ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1814:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1658:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1659:1: ( 'ptInteger' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1815:1: ( 'ptInteger' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1815:3: 'ptInteger'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1660:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1660:3: 'ptInteger'
                     {
-                    match(input,22,FOLLOW_22_in_rule__LiteralType__Alternatives3811); if (state.failed) return ;
+                    match(input,23,FOLLOW_23_in_rule__LiteralType__Alternatives3509); if (state.failed) return ;
 
                     }
 
@@ -5916,18 +5652,18 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1820:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1665:6: ( ( 'ptReal' ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1820:6: ( ( 'ptReal' ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1821:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1665:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1666:1: ( 'ptReal' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1822:1: ( 'ptReal' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1822:3: 'ptReal'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1667:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1667:3: 'ptReal'
                     {
-                    match(input,23,FOLLOW_23_in_rule__LiteralType__Alternatives3832); if (state.failed) return ;
+                    match(input,24,FOLLOW_24_in_rule__LiteralType__Alternatives3530); if (state.failed) return ;
 
                     }
 
@@ -5941,18 +5677,18 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1827:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1672:6: ( ( 'ptCharacter' ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1827:6: ( ( 'ptCharacter' ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1828:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1672:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1673:1: ( 'ptCharacter' )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1829:1: ( 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1829:3: 'ptCharacter'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1674:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1674:3: 'ptCharacter'
                     {
-                    match(input,24,FOLLOW_24_in_rule__LiteralType__Alternatives3853); if (state.failed) return ;
+                    match(input,25,FOLLOW_25_in_rule__LiteralType__Alternatives3551); if (state.failed) return ;
 
                     }
 
@@ -5983,21 +5719,21 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1841:1: rule__ConfigModel__Group__0 : rule__ConfigModel__Group__0__Impl rule__ConfigModel__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1686:1: rule__ConfigModel__Group__0 : rule__ConfigModel__Group__0__Impl rule__ConfigModel__Group__1 ;
     public final void rule__ConfigModel__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1845:1: ( rule__ConfigModel__Group__0__Impl rule__ConfigModel__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1846:2: rule__ConfigModel__Group__0__Impl rule__ConfigModel__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1690:1: ( rule__ConfigModel__Group__0__Impl rule__ConfigModel__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1691:2: rule__ConfigModel__Group__0__Impl rule__ConfigModel__Group__1
             {
-            pushFollow(FOLLOW_rule__ConfigModel__Group__0__Impl_in_rule__ConfigModel__Group__03886);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__0__Impl_in_rule__ConfigModel__Group__03584);
             rule__ConfigModel__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ConfigModel__Group__1_in_rule__ConfigModel__Group__03889);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__1_in_rule__ConfigModel__Group__03587);
             rule__ConfigModel__Group__1();
 
             state._fsp--;
@@ -6021,22 +5757,22 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1853:1: rule__ConfigModel__Group__0__Impl : ( 'ConfigModel' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1698:1: rule__ConfigModel__Group__0__Impl : ( 'ConfigModel' ) ;
     public final void rule__ConfigModel__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1857:1: ( ( 'ConfigModel' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1858:1: ( 'ConfigModel' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1702:1: ( ( 'ConfigModel' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1703:1: ( 'ConfigModel' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1858:1: ( 'ConfigModel' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1859:1: 'ConfigModel'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1703:1: ( 'ConfigModel' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1704:1: 'ConfigModel'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigModelAccess().getConfigModelKeyword_0()); 
             }
-            match(input,25,FOLLOW_25_in_rule__ConfigModel__Group__0__Impl3917); if (state.failed) return ;
+            match(input,26,FOLLOW_26_in_rule__ConfigModel__Group__0__Impl3615); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getConfigModelAccess().getConfigModelKeyword_0()); 
             }
@@ -6062,21 +5798,21 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1872:1: rule__ConfigModel__Group__1 : rule__ConfigModel__Group__1__Impl rule__ConfigModel__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1717:1: rule__ConfigModel__Group__1 : rule__ConfigModel__Group__1__Impl rule__ConfigModel__Group__2 ;
     public final void rule__ConfigModel__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1876:1: ( rule__ConfigModel__Group__1__Impl rule__ConfigModel__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1877:2: rule__ConfigModel__Group__1__Impl rule__ConfigModel__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1721:1: ( rule__ConfigModel__Group__1__Impl rule__ConfigModel__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1722:2: rule__ConfigModel__Group__1__Impl rule__ConfigModel__Group__2
             {
-            pushFollow(FOLLOW_rule__ConfigModel__Group__1__Impl_in_rule__ConfigModel__Group__13948);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__1__Impl_in_rule__ConfigModel__Group__13646);
             rule__ConfigModel__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ConfigModel__Group__2_in_rule__ConfigModel__Group__13951);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__2_in_rule__ConfigModel__Group__13649);
             rule__ConfigModel__Group__2();
 
             state._fsp--;
@@ -6100,25 +5836,25 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1884:1: rule__ConfigModel__Group__1__Impl : ( ( rule__ConfigModel__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1729:1: rule__ConfigModel__Group__1__Impl : ( ( rule__ConfigModel__NameAssignment_1 ) ) ;
     public final void rule__ConfigModel__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1888:1: ( ( ( rule__ConfigModel__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1889:1: ( ( rule__ConfigModel__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1733:1: ( ( ( rule__ConfigModel__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1734:1: ( ( rule__ConfigModel__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1889:1: ( ( rule__ConfigModel__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1890:1: ( rule__ConfigModel__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1734:1: ( ( rule__ConfigModel__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1735:1: ( rule__ConfigModel__NameAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigModelAccess().getNameAssignment_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1891:1: ( rule__ConfigModel__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1891:2: rule__ConfigModel__NameAssignment_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1736:1: ( rule__ConfigModel__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1736:2: rule__ConfigModel__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__ConfigModel__NameAssignment_1_in_rule__ConfigModel__Group__1__Impl3978);
+            pushFollow(FOLLOW_rule__ConfigModel__NameAssignment_1_in_rule__ConfigModel__Group__1__Impl3676);
             rule__ConfigModel__NameAssignment_1();
 
             state._fsp--;
@@ -6151,21 +5887,21 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1901:1: rule__ConfigModel__Group__2 : rule__ConfigModel__Group__2__Impl rule__ConfigModel__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1746:1: rule__ConfigModel__Group__2 : rule__ConfigModel__Group__2__Impl rule__ConfigModel__Group__3 ;
     public final void rule__ConfigModel__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1905:1: ( rule__ConfigModel__Group__2__Impl rule__ConfigModel__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1906:2: rule__ConfigModel__Group__2__Impl rule__ConfigModel__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1750:1: ( rule__ConfigModel__Group__2__Impl rule__ConfigModel__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1751:2: rule__ConfigModel__Group__2__Impl rule__ConfigModel__Group__3
             {
-            pushFollow(FOLLOW_rule__ConfigModel__Group__2__Impl_in_rule__ConfigModel__Group__24008);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__2__Impl_in_rule__ConfigModel__Group__23706);
             rule__ConfigModel__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ConfigModel__Group__3_in_rule__ConfigModel__Group__24011);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__3_in_rule__ConfigModel__Group__23709);
             rule__ConfigModel__Group__3();
 
             state._fsp--;
@@ -6189,22 +5925,22 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1913:1: rule__ConfigModel__Group__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1758:1: rule__ConfigModel__Group__2__Impl : ( '{' ) ;
     public final void rule__ConfigModel__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1917:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1918:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1762:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1763:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1918:1: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1919:1: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1763:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1764:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigModelAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,26,FOLLOW_26_in_rule__ConfigModel__Group__2__Impl4039); if (state.failed) return ;
+            match(input,27,FOLLOW_27_in_rule__ConfigModel__Group__2__Impl3737); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getConfigModelAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -6230,21 +5966,21 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1932:1: rule__ConfigModel__Group__3 : rule__ConfigModel__Group__3__Impl rule__ConfigModel__Group__4 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1777:1: rule__ConfigModel__Group__3 : rule__ConfigModel__Group__3__Impl rule__ConfigModel__Group__4 ;
     public final void rule__ConfigModel__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1936:1: ( rule__ConfigModel__Group__3__Impl rule__ConfigModel__Group__4 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1937:2: rule__ConfigModel__Group__3__Impl rule__ConfigModel__Group__4
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1781:1: ( rule__ConfigModel__Group__3__Impl rule__ConfigModel__Group__4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1782:2: rule__ConfigModel__Group__3__Impl rule__ConfigModel__Group__4
             {
-            pushFollow(FOLLOW_rule__ConfigModel__Group__3__Impl_in_rule__ConfigModel__Group__34070);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__3__Impl_in_rule__ConfigModel__Group__33768);
             rule__ConfigModel__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ConfigModel__Group__4_in_rule__ConfigModel__Group__34073);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__4_in_rule__ConfigModel__Group__33771);
             rule__ConfigModel__Group__4();
 
             state._fsp--;
@@ -6268,37 +6004,37 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1944:1: rule__ConfigModel__Group__3__Impl : ( ( rule__ConfigModel__ImportsAssignment_3 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1789:1: rule__ConfigModel__Group__3__Impl : ( ( rule__ConfigModel__ImportsAssignment_3 )* ) ;
     public final void rule__ConfigModel__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1948:1: ( ( ( rule__ConfigModel__ImportsAssignment_3 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1949:1: ( ( rule__ConfigModel__ImportsAssignment_3 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1793:1: ( ( ( rule__ConfigModel__ImportsAssignment_3 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1794:1: ( ( rule__ConfigModel__ImportsAssignment_3 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1949:1: ( ( rule__ConfigModel__ImportsAssignment_3 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1950:1: ( rule__ConfigModel__ImportsAssignment_3 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1794:1: ( ( rule__ConfigModel__ImportsAssignment_3 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1795:1: ( rule__ConfigModel__ImportsAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigModelAccess().getImportsAssignment_3()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1951:1: ( rule__ConfigModel__ImportsAssignment_3 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1796:1: ( rule__ConfigModel__ImportsAssignment_3 )*
             loop22:
             do {
                 int alt22=2;
                 int LA22_0 = input.LA(1);
 
-                if ( (LA22_0==49) ) {
+                if ( (LA22_0==50) ) {
                     alt22=1;
                 }
 
 
                 switch (alt22) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1951:2: rule__ConfigModel__ImportsAssignment_3
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1796:2: rule__ConfigModel__ImportsAssignment_3
             	    {
-            	    pushFollow(FOLLOW_rule__ConfigModel__ImportsAssignment_3_in_rule__ConfigModel__Group__3__Impl4100);
+            	    pushFollow(FOLLOW_rule__ConfigModel__ImportsAssignment_3_in_rule__ConfigModel__Group__3__Impl3798);
             	    rule__ConfigModel__ImportsAssignment_3();
 
             	    state._fsp--;
@@ -6337,21 +6073,21 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1961:1: rule__ConfigModel__Group__4 : rule__ConfigModel__Group__4__Impl rule__ConfigModel__Group__5 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1806:1: rule__ConfigModel__Group__4 : rule__ConfigModel__Group__4__Impl rule__ConfigModel__Group__5 ;
     public final void rule__ConfigModel__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1965:1: ( rule__ConfigModel__Group__4__Impl rule__ConfigModel__Group__5 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1966:2: rule__ConfigModel__Group__4__Impl rule__ConfigModel__Group__5
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1810:1: ( rule__ConfigModel__Group__4__Impl rule__ConfigModel__Group__5 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1811:2: rule__ConfigModel__Group__4__Impl rule__ConfigModel__Group__5
             {
-            pushFollow(FOLLOW_rule__ConfigModel__Group__4__Impl_in_rule__ConfigModel__Group__44131);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__4__Impl_in_rule__ConfigModel__Group__43829);
             rule__ConfigModel__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ConfigModel__Group__5_in_rule__ConfigModel__Group__44134);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__5_in_rule__ConfigModel__Group__43832);
             rule__ConfigModel__Group__5();
 
             state._fsp--;
@@ -6375,37 +6111,37 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__4__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1973:1: rule__ConfigModel__Group__4__Impl : ( ( rule__ConfigModel__ConfigElementsAssignment_4 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1818:1: rule__ConfigModel__Group__4__Impl : ( ( rule__ConfigModel__ConfigElementsAssignment_4 )* ) ;
     public final void rule__ConfigModel__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1977:1: ( ( ( rule__ConfigModel__ConfigElementsAssignment_4 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1978:1: ( ( rule__ConfigModel__ConfigElementsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1822:1: ( ( ( rule__ConfigModel__ConfigElementsAssignment_4 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1823:1: ( ( rule__ConfigModel__ConfigElementsAssignment_4 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1978:1: ( ( rule__ConfigModel__ConfigElementsAssignment_4 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1979:1: ( rule__ConfigModel__ConfigElementsAssignment_4 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1823:1: ( ( rule__ConfigModel__ConfigElementsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1824:1: ( rule__ConfigModel__ConfigElementsAssignment_4 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigModelAccess().getConfigElementsAssignment_4()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1980:1: ( rule__ConfigModel__ConfigElementsAssignment_4 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1825:1: ( rule__ConfigModel__ConfigElementsAssignment_4 )*
             loop23:
             do {
                 int alt23=2;
                 int LA23_0 = input.LA(1);
 
-                if ( (LA23_0==28||(LA23_0>=35 && LA23_0<=37)) ) {
+                if ( (LA23_0==29||(LA23_0>=36 && LA23_0<=38)) ) {
                     alt23=1;
                 }
 
 
                 switch (alt23) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1980:2: rule__ConfigModel__ConfigElementsAssignment_4
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1825:2: rule__ConfigModel__ConfigElementsAssignment_4
             	    {
-            	    pushFollow(FOLLOW_rule__ConfigModel__ConfigElementsAssignment_4_in_rule__ConfigModel__Group__4__Impl4161);
+            	    pushFollow(FOLLOW_rule__ConfigModel__ConfigElementsAssignment_4_in_rule__ConfigModel__Group__4__Impl3859);
             	    rule__ConfigModel__ConfigElementsAssignment_4();
 
             	    state._fsp--;
@@ -6444,16 +6180,16 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__5"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1990:1: rule__ConfigModel__Group__5 : rule__ConfigModel__Group__5__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1835:1: rule__ConfigModel__Group__5 : rule__ConfigModel__Group__5__Impl ;
     public final void rule__ConfigModel__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1994:1: ( rule__ConfigModel__Group__5__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1995:2: rule__ConfigModel__Group__5__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1839:1: ( rule__ConfigModel__Group__5__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1840:2: rule__ConfigModel__Group__5__Impl
             {
-            pushFollow(FOLLOW_rule__ConfigModel__Group__5__Impl_in_rule__ConfigModel__Group__54192);
+            pushFollow(FOLLOW_rule__ConfigModel__Group__5__Impl_in_rule__ConfigModel__Group__53890);
             rule__ConfigModel__Group__5__Impl();
 
             state._fsp--;
@@ -6477,22 +6213,22 @@
 
 
     // $ANTLR start "rule__ConfigModel__Group__5__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2001:1: rule__ConfigModel__Group__5__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1846:1: rule__ConfigModel__Group__5__Impl : ( '}' ) ;
     public final void rule__ConfigModel__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2005:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2006:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1850:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1851:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2006:1: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2007:1: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1851:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1852:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigModelAccess().getRightCurlyBracketKeyword_5()); 
             }
-            match(input,27,FOLLOW_27_in_rule__ConfigModel__Group__5__Impl4220); if (state.failed) return ;
+            match(input,28,FOLLOW_28_in_rule__ConfigModel__Group__5__Impl3918); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getConfigModelAccess().getRightCurlyBracketKeyword_5()); 
             }
@@ -6518,21 +6254,21 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2032:1: rule__SubSystemConfig__Group__0 : rule__SubSystemConfig__Group__0__Impl rule__SubSystemConfig__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1877:1: rule__SubSystemConfig__Group__0 : rule__SubSystemConfig__Group__0__Impl rule__SubSystemConfig__Group__1 ;
     public final void rule__SubSystemConfig__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2036:1: ( rule__SubSystemConfig__Group__0__Impl rule__SubSystemConfig__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2037:2: rule__SubSystemConfig__Group__0__Impl rule__SubSystemConfig__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1881:1: ( rule__SubSystemConfig__Group__0__Impl rule__SubSystemConfig__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1882:2: rule__SubSystemConfig__Group__0__Impl rule__SubSystemConfig__Group__1
             {
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__0__Impl_in_rule__SubSystemConfig__Group__04263);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__0__Impl_in_rule__SubSystemConfig__Group__03961);
             rule__SubSystemConfig__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__1_in_rule__SubSystemConfig__Group__04266);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__1_in_rule__SubSystemConfig__Group__03964);
             rule__SubSystemConfig__Group__1();
 
             state._fsp--;
@@ -6556,22 +6292,22 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2044:1: rule__SubSystemConfig__Group__0__Impl : ( 'SubSystemConfig' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1889:1: rule__SubSystemConfig__Group__0__Impl : ( 'SubSystemConfig' ) ;
     public final void rule__SubSystemConfig__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2048:1: ( ( 'SubSystemConfig' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2049:1: ( 'SubSystemConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1893:1: ( ( 'SubSystemConfig' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1894:1: ( 'SubSystemConfig' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2049:1: ( 'SubSystemConfig' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2050:1: 'SubSystemConfig'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1894:1: ( 'SubSystemConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1895:1: 'SubSystemConfig'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getSubSystemConfigKeyword_0()); 
             }
-            match(input,28,FOLLOW_28_in_rule__SubSystemConfig__Group__0__Impl4294); if (state.failed) return ;
+            match(input,29,FOLLOW_29_in_rule__SubSystemConfig__Group__0__Impl3992); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSubSystemConfigAccess().getSubSystemConfigKeyword_0()); 
             }
@@ -6597,21 +6333,21 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2063:1: rule__SubSystemConfig__Group__1 : rule__SubSystemConfig__Group__1__Impl rule__SubSystemConfig__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1908:1: rule__SubSystemConfig__Group__1 : rule__SubSystemConfig__Group__1__Impl rule__SubSystemConfig__Group__2 ;
     public final void rule__SubSystemConfig__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2067:1: ( rule__SubSystemConfig__Group__1__Impl rule__SubSystemConfig__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2068:2: rule__SubSystemConfig__Group__1__Impl rule__SubSystemConfig__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1912:1: ( rule__SubSystemConfig__Group__1__Impl rule__SubSystemConfig__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1913:2: rule__SubSystemConfig__Group__1__Impl rule__SubSystemConfig__Group__2
             {
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__1__Impl_in_rule__SubSystemConfig__Group__14325);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__1__Impl_in_rule__SubSystemConfig__Group__14023);
             rule__SubSystemConfig__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__2_in_rule__SubSystemConfig__Group__14328);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__2_in_rule__SubSystemConfig__Group__14026);
             rule__SubSystemConfig__Group__2();
 
             state._fsp--;
@@ -6635,25 +6371,25 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2075:1: rule__SubSystemConfig__Group__1__Impl : ( ( rule__SubSystemConfig__RootAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1920:1: rule__SubSystemConfig__Group__1__Impl : ( ( rule__SubSystemConfig__RootAssignment_1 ) ) ;
     public final void rule__SubSystemConfig__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2079:1: ( ( ( rule__SubSystemConfig__RootAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2080:1: ( ( rule__SubSystemConfig__RootAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1924:1: ( ( ( rule__SubSystemConfig__RootAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1925:1: ( ( rule__SubSystemConfig__RootAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2080:1: ( ( rule__SubSystemConfig__RootAssignment_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2081:1: ( rule__SubSystemConfig__RootAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1925:1: ( ( rule__SubSystemConfig__RootAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1926:1: ( rule__SubSystemConfig__RootAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getRootAssignment_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2082:1: ( rule__SubSystemConfig__RootAssignment_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2082:2: rule__SubSystemConfig__RootAssignment_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1927:1: ( rule__SubSystemConfig__RootAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1927:2: rule__SubSystemConfig__RootAssignment_1
             {
-            pushFollow(FOLLOW_rule__SubSystemConfig__RootAssignment_1_in_rule__SubSystemConfig__Group__1__Impl4355);
+            pushFollow(FOLLOW_rule__SubSystemConfig__RootAssignment_1_in_rule__SubSystemConfig__Group__1__Impl4053);
             rule__SubSystemConfig__RootAssignment_1();
 
             state._fsp--;
@@ -6686,21 +6422,21 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2092:1: rule__SubSystemConfig__Group__2 : rule__SubSystemConfig__Group__2__Impl rule__SubSystemConfig__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1937:1: rule__SubSystemConfig__Group__2 : rule__SubSystemConfig__Group__2__Impl rule__SubSystemConfig__Group__3 ;
     public final void rule__SubSystemConfig__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2096:1: ( rule__SubSystemConfig__Group__2__Impl rule__SubSystemConfig__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2097:2: rule__SubSystemConfig__Group__2__Impl rule__SubSystemConfig__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1941:1: ( rule__SubSystemConfig__Group__2__Impl rule__SubSystemConfig__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1942:2: rule__SubSystemConfig__Group__2__Impl rule__SubSystemConfig__Group__3
             {
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__2__Impl_in_rule__SubSystemConfig__Group__24385);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__2__Impl_in_rule__SubSystemConfig__Group__24083);
             rule__SubSystemConfig__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__3_in_rule__SubSystemConfig__Group__24388);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__3_in_rule__SubSystemConfig__Group__24086);
             rule__SubSystemConfig__Group__3();
 
             state._fsp--;
@@ -6724,22 +6460,22 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2104:1: rule__SubSystemConfig__Group__2__Impl : ( '/' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1949:1: rule__SubSystemConfig__Group__2__Impl : ( '/' ) ;
     public final void rule__SubSystemConfig__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2108:1: ( ( '/' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2109:1: ( '/' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1953:1: ( ( '/' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1954:1: ( '/' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2109:1: ( '/' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2110:1: '/'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1954:1: ( '/' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1955:1: '/'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getSolidusKeyword_2()); 
             }
-            match(input,29,FOLLOW_29_in_rule__SubSystemConfig__Group__2__Impl4416); if (state.failed) return ;
+            match(input,30,FOLLOW_30_in_rule__SubSystemConfig__Group__2__Impl4114); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSubSystemConfigAccess().getSolidusKeyword_2()); 
             }
@@ -6765,21 +6501,21 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2123:1: rule__SubSystemConfig__Group__3 : rule__SubSystemConfig__Group__3__Impl rule__SubSystemConfig__Group__4 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1968:1: rule__SubSystemConfig__Group__3 : rule__SubSystemConfig__Group__3__Impl rule__SubSystemConfig__Group__4 ;
     public final void rule__SubSystemConfig__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2127:1: ( rule__SubSystemConfig__Group__3__Impl rule__SubSystemConfig__Group__4 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2128:2: rule__SubSystemConfig__Group__3__Impl rule__SubSystemConfig__Group__4
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1972:1: ( rule__SubSystemConfig__Group__3__Impl rule__SubSystemConfig__Group__4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1973:2: rule__SubSystemConfig__Group__3__Impl rule__SubSystemConfig__Group__4
             {
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__3__Impl_in_rule__SubSystemConfig__Group__34447);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__3__Impl_in_rule__SubSystemConfig__Group__34145);
             rule__SubSystemConfig__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__4_in_rule__SubSystemConfig__Group__34450);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__4_in_rule__SubSystemConfig__Group__34148);
             rule__SubSystemConfig__Group__4();
 
             state._fsp--;
@@ -6803,25 +6539,25 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2135:1: rule__SubSystemConfig__Group__3__Impl : ( ( rule__SubSystemConfig__SubSystemAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1980:1: rule__SubSystemConfig__Group__3__Impl : ( ( rule__SubSystemConfig__SubSystemAssignment_3 ) ) ;
     public final void rule__SubSystemConfig__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2139:1: ( ( ( rule__SubSystemConfig__SubSystemAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2140:1: ( ( rule__SubSystemConfig__SubSystemAssignment_3 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1984:1: ( ( ( rule__SubSystemConfig__SubSystemAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1985:1: ( ( rule__SubSystemConfig__SubSystemAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2140:1: ( ( rule__SubSystemConfig__SubSystemAssignment_3 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2141:1: ( rule__SubSystemConfig__SubSystemAssignment_3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1985:1: ( ( rule__SubSystemConfig__SubSystemAssignment_3 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1986:1: ( rule__SubSystemConfig__SubSystemAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getSubSystemAssignment_3()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2142:1: ( rule__SubSystemConfig__SubSystemAssignment_3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2142:2: rule__SubSystemConfig__SubSystemAssignment_3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1987:1: ( rule__SubSystemConfig__SubSystemAssignment_3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1987:2: rule__SubSystemConfig__SubSystemAssignment_3
             {
-            pushFollow(FOLLOW_rule__SubSystemConfig__SubSystemAssignment_3_in_rule__SubSystemConfig__Group__3__Impl4477);
+            pushFollow(FOLLOW_rule__SubSystemConfig__SubSystemAssignment_3_in_rule__SubSystemConfig__Group__3__Impl4175);
             rule__SubSystemConfig__SubSystemAssignment_3();
 
             state._fsp--;
@@ -6854,21 +6590,21 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2152:1: rule__SubSystemConfig__Group__4 : rule__SubSystemConfig__Group__4__Impl rule__SubSystemConfig__Group__5 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:1997:1: rule__SubSystemConfig__Group__4 : rule__SubSystemConfig__Group__4__Impl rule__SubSystemConfig__Group__5 ;
     public final void rule__SubSystemConfig__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2156:1: ( rule__SubSystemConfig__Group__4__Impl rule__SubSystemConfig__Group__5 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2157:2: rule__SubSystemConfig__Group__4__Impl rule__SubSystemConfig__Group__5
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2001:1: ( rule__SubSystemConfig__Group__4__Impl rule__SubSystemConfig__Group__5 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2002:2: rule__SubSystemConfig__Group__4__Impl rule__SubSystemConfig__Group__5
             {
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__4__Impl_in_rule__SubSystemConfig__Group__44507);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__4__Impl_in_rule__SubSystemConfig__Group__44205);
             rule__SubSystemConfig__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__5_in_rule__SubSystemConfig__Group__44510);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__5_in_rule__SubSystemConfig__Group__44208);
             rule__SubSystemConfig__Group__5();
 
             state._fsp--;
@@ -6892,22 +6628,22 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__4__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2164:1: rule__SubSystemConfig__Group__4__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2009:1: rule__SubSystemConfig__Group__4__Impl : ( '{' ) ;
     public final void rule__SubSystemConfig__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2168:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2169:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2013:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2014:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2169:1: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2170:1: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2014:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2015:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getLeftCurlyBracketKeyword_4()); 
             }
-            match(input,26,FOLLOW_26_in_rule__SubSystemConfig__Group__4__Impl4538); if (state.failed) return ;
+            match(input,27,FOLLOW_27_in_rule__SubSystemConfig__Group__4__Impl4236); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSubSystemConfigAccess().getLeftCurlyBracketKeyword_4()); 
             }
@@ -6933,21 +6669,21 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__5"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2183:1: rule__SubSystemConfig__Group__5 : rule__SubSystemConfig__Group__5__Impl rule__SubSystemConfig__Group__6 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2028:1: rule__SubSystemConfig__Group__5 : rule__SubSystemConfig__Group__5__Impl rule__SubSystemConfig__Group__6 ;
     public final void rule__SubSystemConfig__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2187:1: ( rule__SubSystemConfig__Group__5__Impl rule__SubSystemConfig__Group__6 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2188:2: rule__SubSystemConfig__Group__5__Impl rule__SubSystemConfig__Group__6
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2032:1: ( rule__SubSystemConfig__Group__5__Impl rule__SubSystemConfig__Group__6 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2033:2: rule__SubSystemConfig__Group__5__Impl rule__SubSystemConfig__Group__6
             {
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__5__Impl_in_rule__SubSystemConfig__Group__54569);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__5__Impl_in_rule__SubSystemConfig__Group__54267);
             rule__SubSystemConfig__Group__5__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__6_in_rule__SubSystemConfig__Group__54572);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__6_in_rule__SubSystemConfig__Group__54270);
             rule__SubSystemConfig__Group__6();
 
             state._fsp--;
@@ -6971,25 +6707,25 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__5__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2195:1: rule__SubSystemConfig__Group__5__Impl : ( ( rule__SubSystemConfig__DynConfigAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2040:1: rule__SubSystemConfig__Group__5__Impl : ( ( rule__SubSystemConfig__DynConfigAssignment_5 ) ) ;
     public final void rule__SubSystemConfig__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2199:1: ( ( ( rule__SubSystemConfig__DynConfigAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2200:1: ( ( rule__SubSystemConfig__DynConfigAssignment_5 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2044:1: ( ( ( rule__SubSystemConfig__DynConfigAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2045:1: ( ( rule__SubSystemConfig__DynConfigAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2200:1: ( ( rule__SubSystemConfig__DynConfigAssignment_5 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2201:1: ( rule__SubSystemConfig__DynConfigAssignment_5 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2045:1: ( ( rule__SubSystemConfig__DynConfigAssignment_5 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2046:1: ( rule__SubSystemConfig__DynConfigAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getDynConfigAssignment_5()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2202:1: ( rule__SubSystemConfig__DynConfigAssignment_5 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2202:2: rule__SubSystemConfig__DynConfigAssignment_5
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2047:1: ( rule__SubSystemConfig__DynConfigAssignment_5 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2047:2: rule__SubSystemConfig__DynConfigAssignment_5
             {
-            pushFollow(FOLLOW_rule__SubSystemConfig__DynConfigAssignment_5_in_rule__SubSystemConfig__Group__5__Impl4599);
+            pushFollow(FOLLOW_rule__SubSystemConfig__DynConfigAssignment_5_in_rule__SubSystemConfig__Group__5__Impl4297);
             rule__SubSystemConfig__DynConfigAssignment_5();
 
             state._fsp--;
@@ -7022,16 +6758,16 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__6"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2212:1: rule__SubSystemConfig__Group__6 : rule__SubSystemConfig__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2057:1: rule__SubSystemConfig__Group__6 : rule__SubSystemConfig__Group__6__Impl ;
     public final void rule__SubSystemConfig__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2216:1: ( rule__SubSystemConfig__Group__6__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2217:2: rule__SubSystemConfig__Group__6__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2061:1: ( rule__SubSystemConfig__Group__6__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2062:2: rule__SubSystemConfig__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__SubSystemConfig__Group__6__Impl_in_rule__SubSystemConfig__Group__64629);
+            pushFollow(FOLLOW_rule__SubSystemConfig__Group__6__Impl_in_rule__SubSystemConfig__Group__64327);
             rule__SubSystemConfig__Group__6__Impl();
 
             state._fsp--;
@@ -7055,22 +6791,22 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__Group__6__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2223:1: rule__SubSystemConfig__Group__6__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2068:1: rule__SubSystemConfig__Group__6__Impl : ( '}' ) ;
     public final void rule__SubSystemConfig__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2227:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2228:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2072:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2073:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2228:1: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2229:1: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2073:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2074:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getRightCurlyBracketKeyword_6()); 
             }
-            match(input,27,FOLLOW_27_in_rule__SubSystemConfig__Group__6__Impl4657); if (state.failed) return ;
+            match(input,28,FOLLOW_28_in_rule__SubSystemConfig__Group__6__Impl4355); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSubSystemConfigAccess().getRightCurlyBracketKeyword_6()); 
             }
@@ -7096,21 +6832,21 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2256:1: rule__DynamicConfig__Group__0 : rule__DynamicConfig__Group__0__Impl rule__DynamicConfig__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2101:1: rule__DynamicConfig__Group__0 : rule__DynamicConfig__Group__0__Impl rule__DynamicConfig__Group__1 ;
     public final void rule__DynamicConfig__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2260:1: ( rule__DynamicConfig__Group__0__Impl rule__DynamicConfig__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2261:2: rule__DynamicConfig__Group__0__Impl rule__DynamicConfig__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2105:1: ( rule__DynamicConfig__Group__0__Impl rule__DynamicConfig__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2106:2: rule__DynamicConfig__Group__0__Impl rule__DynamicConfig__Group__1
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group__0__Impl_in_rule__DynamicConfig__Group__04702);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group__0__Impl_in_rule__DynamicConfig__Group__04400);
             rule__DynamicConfig__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DynamicConfig__Group__1_in_rule__DynamicConfig__Group__04705);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group__1_in_rule__DynamicConfig__Group__04403);
             rule__DynamicConfig__Group__1();
 
             state._fsp--;
@@ -7134,22 +6870,22 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2268:1: rule__DynamicConfig__Group__0__Impl : ( 'dynamic configuration' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2113:1: rule__DynamicConfig__Group__0__Impl : ( 'dynamic configuration' ) ;
     public final void rule__DynamicConfig__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2272:1: ( ( 'dynamic configuration' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2273:1: ( 'dynamic configuration' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2117:1: ( ( 'dynamic configuration' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2118:1: ( 'dynamic configuration' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2273:1: ( 'dynamic configuration' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2274:1: 'dynamic configuration'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2118:1: ( 'dynamic configuration' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2119:1: 'dynamic configuration'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getDynamicConfigurationKeyword_0()); 
             }
-            match(input,30,FOLLOW_30_in_rule__DynamicConfig__Group__0__Impl4733); if (state.failed) return ;
+            match(input,31,FOLLOW_31_in_rule__DynamicConfig__Group__0__Impl4431); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDynamicConfigAccess().getDynamicConfigurationKeyword_0()); 
             }
@@ -7175,21 +6911,21 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2287:1: rule__DynamicConfig__Group__1 : rule__DynamicConfig__Group__1__Impl rule__DynamicConfig__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2132:1: rule__DynamicConfig__Group__1 : rule__DynamicConfig__Group__1__Impl rule__DynamicConfig__Group__2 ;
     public final void rule__DynamicConfig__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2291:1: ( rule__DynamicConfig__Group__1__Impl rule__DynamicConfig__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2292:2: rule__DynamicConfig__Group__1__Impl rule__DynamicConfig__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2136:1: ( rule__DynamicConfig__Group__1__Impl rule__DynamicConfig__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2137:2: rule__DynamicConfig__Group__1__Impl rule__DynamicConfig__Group__2
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group__1__Impl_in_rule__DynamicConfig__Group__14764);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group__1__Impl_in_rule__DynamicConfig__Group__14462);
             rule__DynamicConfig__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DynamicConfig__Group__2_in_rule__DynamicConfig__Group__14767);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group__2_in_rule__DynamicConfig__Group__14465);
             rule__DynamicConfig__Group__2();
 
             state._fsp--;
@@ -7213,22 +6949,22 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2299:1: rule__DynamicConfig__Group__1__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2144:1: rule__DynamicConfig__Group__1__Impl : ( '{' ) ;
     public final void rule__DynamicConfig__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2303:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2304:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2148:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2149:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2304:1: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2305:1: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2149:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2150:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getLeftCurlyBracketKeyword_1()); 
             }
-            match(input,26,FOLLOW_26_in_rule__DynamicConfig__Group__1__Impl4795); if (state.failed) return ;
+            match(input,27,FOLLOW_27_in_rule__DynamicConfig__Group__1__Impl4493); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDynamicConfigAccess().getLeftCurlyBracketKeyword_1()); 
             }
@@ -7254,21 +6990,21 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2318:1: rule__DynamicConfig__Group__2 : rule__DynamicConfig__Group__2__Impl rule__DynamicConfig__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2163:1: rule__DynamicConfig__Group__2 : rule__DynamicConfig__Group__2__Impl rule__DynamicConfig__Group__3 ;
     public final void rule__DynamicConfig__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2322:1: ( rule__DynamicConfig__Group__2__Impl rule__DynamicConfig__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2323:2: rule__DynamicConfig__Group__2__Impl rule__DynamicConfig__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2167:1: ( rule__DynamicConfig__Group__2__Impl rule__DynamicConfig__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2168:2: rule__DynamicConfig__Group__2__Impl rule__DynamicConfig__Group__3
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group__2__Impl_in_rule__DynamicConfig__Group__24826);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group__2__Impl_in_rule__DynamicConfig__Group__24524);
             rule__DynamicConfig__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DynamicConfig__Group__3_in_rule__DynamicConfig__Group__24829);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group__3_in_rule__DynamicConfig__Group__24527);
             rule__DynamicConfig__Group__3();
 
             state._fsp--;
@@ -7292,25 +7028,25 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2330:1: rule__DynamicConfig__Group__2__Impl : ( ( rule__DynamicConfig__UnorderedGroup_2 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2175:1: rule__DynamicConfig__Group__2__Impl : ( ( rule__DynamicConfig__UnorderedGroup_2 ) ) ;
     public final void rule__DynamicConfig__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2334:1: ( ( ( rule__DynamicConfig__UnorderedGroup_2 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2335:1: ( ( rule__DynamicConfig__UnorderedGroup_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2179:1: ( ( ( rule__DynamicConfig__UnorderedGroup_2 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2180:1: ( ( rule__DynamicConfig__UnorderedGroup_2 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2335:1: ( ( rule__DynamicConfig__UnorderedGroup_2 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2336:1: ( rule__DynamicConfig__UnorderedGroup_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2180:1: ( ( rule__DynamicConfig__UnorderedGroup_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2181:1: ( rule__DynamicConfig__UnorderedGroup_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2337:1: ( rule__DynamicConfig__UnorderedGroup_2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2337:2: rule__DynamicConfig__UnorderedGroup_2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2182:1: ( rule__DynamicConfig__UnorderedGroup_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2182:2: rule__DynamicConfig__UnorderedGroup_2
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__UnorderedGroup_2_in_rule__DynamicConfig__Group__2__Impl4856);
+            pushFollow(FOLLOW_rule__DynamicConfig__UnorderedGroup_2_in_rule__DynamicConfig__Group__2__Impl4554);
             rule__DynamicConfig__UnorderedGroup_2();
 
             state._fsp--;
@@ -7343,16 +7079,16 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2347:1: rule__DynamicConfig__Group__3 : rule__DynamicConfig__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2192:1: rule__DynamicConfig__Group__3 : rule__DynamicConfig__Group__3__Impl ;
     public final void rule__DynamicConfig__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2351:1: ( rule__DynamicConfig__Group__3__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2352:2: rule__DynamicConfig__Group__3__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2196:1: ( rule__DynamicConfig__Group__3__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2197:2: rule__DynamicConfig__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group__3__Impl_in_rule__DynamicConfig__Group__34886);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group__3__Impl_in_rule__DynamicConfig__Group__34584);
             rule__DynamicConfig__Group__3__Impl();
 
             state._fsp--;
@@ -7376,22 +7112,22 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2358:1: rule__DynamicConfig__Group__3__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2203:1: rule__DynamicConfig__Group__3__Impl : ( '}' ) ;
     public final void rule__DynamicConfig__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2362:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2363:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2207:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2208:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2363:1: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2364:1: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2208:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2209:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getRightCurlyBracketKeyword_3()); 
             }
-            match(input,27,FOLLOW_27_in_rule__DynamicConfig__Group__3__Impl4914); if (state.failed) return ;
+            match(input,28,FOLLOW_28_in_rule__DynamicConfig__Group__3__Impl4612); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDynamicConfigAccess().getRightCurlyBracketKeyword_3()); 
             }
@@ -7417,21 +7153,21 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_0__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2385:1: rule__DynamicConfig__Group_2_0_0__0 : rule__DynamicConfig__Group_2_0_0__0__Impl rule__DynamicConfig__Group_2_0_0__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2230:1: rule__DynamicConfig__Group_2_0_0__0 : rule__DynamicConfig__Group_2_0_0__0__Impl rule__DynamicConfig__Group_2_0_0__1 ;
     public final void rule__DynamicConfig__Group_2_0_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2389:1: ( rule__DynamicConfig__Group_2_0_0__0__Impl rule__DynamicConfig__Group_2_0_0__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2390:2: rule__DynamicConfig__Group_2_0_0__0__Impl rule__DynamicConfig__Group_2_0_0__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2234:1: ( rule__DynamicConfig__Group_2_0_0__0__Impl rule__DynamicConfig__Group_2_0_0__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2235:2: rule__DynamicConfig__Group_2_0_0__0__Impl rule__DynamicConfig__Group_2_0_0__1
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_0__0__Impl_in_rule__DynamicConfig__Group_2_0_0__04953);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_0__0__Impl_in_rule__DynamicConfig__Group_2_0_0__04651);
             rule__DynamicConfig__Group_2_0_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_0__1_in_rule__DynamicConfig__Group_2_0_0__04956);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_0__1_in_rule__DynamicConfig__Group_2_0_0__04654);
             rule__DynamicConfig__Group_2_0_0__1();
 
             state._fsp--;
@@ -7455,22 +7191,22 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_0__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2397:1: rule__DynamicConfig__Group_2_0_0__0__Impl : ( 'file path' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2242:1: rule__DynamicConfig__Group_2_0_0__0__Impl : ( 'file path' ) ;
     public final void rule__DynamicConfig__Group_2_0_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2401:1: ( ( 'file path' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2402:1: ( 'file path' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2246:1: ( ( 'file path' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2247:1: ( 'file path' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2402:1: ( 'file path' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2403:1: 'file path'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2247:1: ( 'file path' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2248:1: 'file path'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getFilePathKeyword_2_0_0_0()); 
             }
-            match(input,31,FOLLOW_31_in_rule__DynamicConfig__Group_2_0_0__0__Impl4984); if (state.failed) return ;
+            match(input,32,FOLLOW_32_in_rule__DynamicConfig__Group_2_0_0__0__Impl4682); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDynamicConfigAccess().getFilePathKeyword_2_0_0_0()); 
             }
@@ -7496,16 +7232,16 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_0__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2416:1: rule__DynamicConfig__Group_2_0_0__1 : rule__DynamicConfig__Group_2_0_0__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2261:1: rule__DynamicConfig__Group_2_0_0__1 : rule__DynamicConfig__Group_2_0_0__1__Impl ;
     public final void rule__DynamicConfig__Group_2_0_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2420:1: ( rule__DynamicConfig__Group_2_0_0__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2421:2: rule__DynamicConfig__Group_2_0_0__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2265:1: ( rule__DynamicConfig__Group_2_0_0__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2266:2: rule__DynamicConfig__Group_2_0_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_0__1__Impl_in_rule__DynamicConfig__Group_2_0_0__15015);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_0__1__Impl_in_rule__DynamicConfig__Group_2_0_0__14713);
             rule__DynamicConfig__Group_2_0_0__1__Impl();
 
             state._fsp--;
@@ -7529,25 +7265,25 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_0__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2427:1: rule__DynamicConfig__Group_2_0_0__1__Impl : ( ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2272:1: rule__DynamicConfig__Group_2_0_0__1__Impl : ( ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 ) ) ;
     public final void rule__DynamicConfig__Group_2_0_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2431:1: ( ( ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2432:1: ( ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2276:1: ( ( ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2277:1: ( ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2432:1: ( ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2433:1: ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2277:1: ( ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2278:1: ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getFilePathAssignment_2_0_0_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2434:1: ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2434:2: rule__DynamicConfig__FilePathAssignment_2_0_0_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2279:1: ( rule__DynamicConfig__FilePathAssignment_2_0_0_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2279:2: rule__DynamicConfig__FilePathAssignment_2_0_0_1
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__FilePathAssignment_2_0_0_1_in_rule__DynamicConfig__Group_2_0_0__1__Impl5042);
+            pushFollow(FOLLOW_rule__DynamicConfig__FilePathAssignment_2_0_0_1_in_rule__DynamicConfig__Group_2_0_0__1__Impl4740);
             rule__DynamicConfig__FilePathAssignment_2_0_0_1();
 
             state._fsp--;
@@ -7580,21 +7316,21 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2448:1: rule__DynamicConfig__Group_2_0_1__0 : rule__DynamicConfig__Group_2_0_1__0__Impl rule__DynamicConfig__Group_2_0_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2293:1: rule__DynamicConfig__Group_2_0_1__0 : rule__DynamicConfig__Group_2_0_1__0__Impl rule__DynamicConfig__Group_2_0_1__1 ;
     public final void rule__DynamicConfig__Group_2_0_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2452:1: ( rule__DynamicConfig__Group_2_0_1__0__Impl rule__DynamicConfig__Group_2_0_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2453:2: rule__DynamicConfig__Group_2_0_1__0__Impl rule__DynamicConfig__Group_2_0_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2297:1: ( rule__DynamicConfig__Group_2_0_1__0__Impl rule__DynamicConfig__Group_2_0_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2298:2: rule__DynamicConfig__Group_2_0_1__0__Impl rule__DynamicConfig__Group_2_0_1__1
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1__0__Impl_in_rule__DynamicConfig__Group_2_0_1__05076);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1__0__Impl_in_rule__DynamicConfig__Group_2_0_1__04774);
             rule__DynamicConfig__Group_2_0_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1__1_in_rule__DynamicConfig__Group_2_0_1__05079);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1__1_in_rule__DynamicConfig__Group_2_0_1__04777);
             rule__DynamicConfig__Group_2_0_1__1();
 
             state._fsp--;
@@ -7618,25 +7354,25 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2460:1: rule__DynamicConfig__Group_2_0_1__0__Impl : ( ( rule__DynamicConfig__Group_2_0_1_0__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2305:1: rule__DynamicConfig__Group_2_0_1__0__Impl : ( ( rule__DynamicConfig__Group_2_0_1_0__0 ) ) ;
     public final void rule__DynamicConfig__Group_2_0_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2464:1: ( ( ( rule__DynamicConfig__Group_2_0_1_0__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2465:1: ( ( rule__DynamicConfig__Group_2_0_1_0__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2309:1: ( ( ( rule__DynamicConfig__Group_2_0_1_0__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2310:1: ( ( rule__DynamicConfig__Group_2_0_1_0__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2465:1: ( ( rule__DynamicConfig__Group_2_0_1_0__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2466:1: ( rule__DynamicConfig__Group_2_0_1_0__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2310:1: ( ( rule__DynamicConfig__Group_2_0_1_0__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2311:1: ( rule__DynamicConfig__Group_2_0_1_0__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getGroup_2_0_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2467:1: ( rule__DynamicConfig__Group_2_0_1_0__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2467:2: rule__DynamicConfig__Group_2_0_1_0__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2312:1: ( rule__DynamicConfig__Group_2_0_1_0__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2312:2: rule__DynamicConfig__Group_2_0_1_0__0
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_0__0_in_rule__DynamicConfig__Group_2_0_1__0__Impl5106);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_0__0_in_rule__DynamicConfig__Group_2_0_1__0__Impl4804);
             rule__DynamicConfig__Group_2_0_1_0__0();
 
             state._fsp--;
@@ -7669,16 +7405,16 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2477:1: rule__DynamicConfig__Group_2_0_1__1 : rule__DynamicConfig__Group_2_0_1__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2322:1: rule__DynamicConfig__Group_2_0_1__1 : rule__DynamicConfig__Group_2_0_1__1__Impl ;
     public final void rule__DynamicConfig__Group_2_0_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2481:1: ( rule__DynamicConfig__Group_2_0_1__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2482:2: rule__DynamicConfig__Group_2_0_1__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2326:1: ( rule__DynamicConfig__Group_2_0_1__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2327:2: rule__DynamicConfig__Group_2_0_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1__1__Impl_in_rule__DynamicConfig__Group_2_0_1__15136);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1__1__Impl_in_rule__DynamicConfig__Group_2_0_1__14834);
             rule__DynamicConfig__Group_2_0_1__1__Impl();
 
             state._fsp--;
@@ -7702,25 +7438,25 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2488:1: rule__DynamicConfig__Group_2_0_1__1__Impl : ( ( rule__DynamicConfig__Group_2_0_1_1__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2333:1: rule__DynamicConfig__Group_2_0_1__1__Impl : ( ( rule__DynamicConfig__Group_2_0_1_1__0 ) ) ;
     public final void rule__DynamicConfig__Group_2_0_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2492:1: ( ( ( rule__DynamicConfig__Group_2_0_1_1__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2493:1: ( ( rule__DynamicConfig__Group_2_0_1_1__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2337:1: ( ( ( rule__DynamicConfig__Group_2_0_1_1__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2338:1: ( ( rule__DynamicConfig__Group_2_0_1_1__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2493:1: ( ( rule__DynamicConfig__Group_2_0_1_1__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2494:1: ( rule__DynamicConfig__Group_2_0_1_1__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2338:1: ( ( rule__DynamicConfig__Group_2_0_1_1__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2339:1: ( rule__DynamicConfig__Group_2_0_1_1__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getGroup_2_0_1_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2495:1: ( rule__DynamicConfig__Group_2_0_1_1__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2495:2: rule__DynamicConfig__Group_2_0_1_1__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2340:1: ( rule__DynamicConfig__Group_2_0_1_1__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2340:2: rule__DynamicConfig__Group_2_0_1_1__0
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_1__0_in_rule__DynamicConfig__Group_2_0_1__1__Impl5163);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_1__0_in_rule__DynamicConfig__Group_2_0_1__1__Impl4861);
             rule__DynamicConfig__Group_2_0_1_1__0();
 
             state._fsp--;
@@ -7753,21 +7489,21 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1_0__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2509:1: rule__DynamicConfig__Group_2_0_1_0__0 : rule__DynamicConfig__Group_2_0_1_0__0__Impl rule__DynamicConfig__Group_2_0_1_0__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2354:1: rule__DynamicConfig__Group_2_0_1_0__0 : rule__DynamicConfig__Group_2_0_1_0__0__Impl rule__DynamicConfig__Group_2_0_1_0__1 ;
     public final void rule__DynamicConfig__Group_2_0_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2513:1: ( rule__DynamicConfig__Group_2_0_1_0__0__Impl rule__DynamicConfig__Group_2_0_1_0__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2514:2: rule__DynamicConfig__Group_2_0_1_0__0__Impl rule__DynamicConfig__Group_2_0_1_0__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2358:1: ( rule__DynamicConfig__Group_2_0_1_0__0__Impl rule__DynamicConfig__Group_2_0_1_0__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2359:2: rule__DynamicConfig__Group_2_0_1_0__0__Impl rule__DynamicConfig__Group_2_0_1_0__1
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_0__0__Impl_in_rule__DynamicConfig__Group_2_0_1_0__05197);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_0__0__Impl_in_rule__DynamicConfig__Group_2_0_1_0__04895);
             rule__DynamicConfig__Group_2_0_1_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_0__1_in_rule__DynamicConfig__Group_2_0_1_0__05200);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_0__1_in_rule__DynamicConfig__Group_2_0_1_0__04898);
             rule__DynamicConfig__Group_2_0_1_0__1();
 
             state._fsp--;
@@ -7791,22 +7527,22 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1_0__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2521:1: rule__DynamicConfig__Group_2_0_1_0__0__Impl : ( 'user import' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2366:1: rule__DynamicConfig__Group_2_0_1_0__0__Impl : ( 'user import' ) ;
     public final void rule__DynamicConfig__Group_2_0_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2525:1: ( ( 'user import' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2526:1: ( 'user import' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2370:1: ( ( 'user import' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2371:1: ( 'user import' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2526:1: ( 'user import' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2527:1: 'user import'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2371:1: ( 'user import' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2372:1: 'user import'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getUserImportKeyword_2_0_1_0_0()); 
             }
-            match(input,32,FOLLOW_32_in_rule__DynamicConfig__Group_2_0_1_0__0__Impl5228); if (state.failed) return ;
+            match(input,33,FOLLOW_33_in_rule__DynamicConfig__Group_2_0_1_0__0__Impl4926); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDynamicConfigAccess().getUserImportKeyword_2_0_1_0_0()); 
             }
@@ -7832,16 +7568,16 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1_0__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2540:1: rule__DynamicConfig__Group_2_0_1_0__1 : rule__DynamicConfig__Group_2_0_1_0__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2385:1: rule__DynamicConfig__Group_2_0_1_0__1 : rule__DynamicConfig__Group_2_0_1_0__1__Impl ;
     public final void rule__DynamicConfig__Group_2_0_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2544:1: ( rule__DynamicConfig__Group_2_0_1_0__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2545:2: rule__DynamicConfig__Group_2_0_1_0__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2389:1: ( rule__DynamicConfig__Group_2_0_1_0__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2390:2: rule__DynamicConfig__Group_2_0_1_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_0__1__Impl_in_rule__DynamicConfig__Group_2_0_1_0__15259);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_0__1__Impl_in_rule__DynamicConfig__Group_2_0_1_0__14957);
             rule__DynamicConfig__Group_2_0_1_0__1__Impl();
 
             state._fsp--;
@@ -7865,25 +7601,25 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1_0__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2551:1: rule__DynamicConfig__Group_2_0_1_0__1__Impl : ( ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2396:1: rule__DynamicConfig__Group_2_0_1_0__1__Impl : ( ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 ) ) ;
     public final void rule__DynamicConfig__Group_2_0_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2555:1: ( ( ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2556:1: ( ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2400:1: ( ( ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2401:1: ( ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2556:1: ( ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2557:1: ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2401:1: ( ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2402:1: ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getUserCode1Assignment_2_0_1_0_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2558:1: ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2558:2: rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2403:1: ( rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2403:2: rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1_in_rule__DynamicConfig__Group_2_0_1_0__1__Impl5286);
+            pushFollow(FOLLOW_rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1_in_rule__DynamicConfig__Group_2_0_1_0__1__Impl4984);
             rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1();
 
             state._fsp--;
@@ -7916,21 +7652,21 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2572:1: rule__DynamicConfig__Group_2_0_1_1__0 : rule__DynamicConfig__Group_2_0_1_1__0__Impl rule__DynamicConfig__Group_2_0_1_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2417:1: rule__DynamicConfig__Group_2_0_1_1__0 : rule__DynamicConfig__Group_2_0_1_1__0__Impl rule__DynamicConfig__Group_2_0_1_1__1 ;
     public final void rule__DynamicConfig__Group_2_0_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2576:1: ( rule__DynamicConfig__Group_2_0_1_1__0__Impl rule__DynamicConfig__Group_2_0_1_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2577:2: rule__DynamicConfig__Group_2_0_1_1__0__Impl rule__DynamicConfig__Group_2_0_1_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2421:1: ( rule__DynamicConfig__Group_2_0_1_1__0__Impl rule__DynamicConfig__Group_2_0_1_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2422:2: rule__DynamicConfig__Group_2_0_1_1__0__Impl rule__DynamicConfig__Group_2_0_1_1__1
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_1__0__Impl_in_rule__DynamicConfig__Group_2_0_1_1__05320);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_1__0__Impl_in_rule__DynamicConfig__Group_2_0_1_1__05018);
             rule__DynamicConfig__Group_2_0_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_1__1_in_rule__DynamicConfig__Group_2_0_1_1__05323);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_1__1_in_rule__DynamicConfig__Group_2_0_1_1__05021);
             rule__DynamicConfig__Group_2_0_1_1__1();
 
             state._fsp--;
@@ -7954,22 +7690,22 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2584:1: rule__DynamicConfig__Group_2_0_1_1__0__Impl : ( 'user constructor' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2429:1: rule__DynamicConfig__Group_2_0_1_1__0__Impl : ( 'user constructor' ) ;
     public final void rule__DynamicConfig__Group_2_0_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2588:1: ( ( 'user constructor' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2589:1: ( 'user constructor' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2433:1: ( ( 'user constructor' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2434:1: ( 'user constructor' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2589:1: ( 'user constructor' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2590:1: 'user constructor'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2434:1: ( 'user constructor' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2435:1: 'user constructor'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getUserConstructorKeyword_2_0_1_1_0()); 
             }
-            match(input,33,FOLLOW_33_in_rule__DynamicConfig__Group_2_0_1_1__0__Impl5351); if (state.failed) return ;
+            match(input,34,FOLLOW_34_in_rule__DynamicConfig__Group_2_0_1_1__0__Impl5049); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDynamicConfigAccess().getUserConstructorKeyword_2_0_1_1_0()); 
             }
@@ -7995,16 +7731,16 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2603:1: rule__DynamicConfig__Group_2_0_1_1__1 : rule__DynamicConfig__Group_2_0_1_1__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2448:1: rule__DynamicConfig__Group_2_0_1_1__1 : rule__DynamicConfig__Group_2_0_1_1__1__Impl ;
     public final void rule__DynamicConfig__Group_2_0_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2607:1: ( rule__DynamicConfig__Group_2_0_1_1__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2608:2: rule__DynamicConfig__Group_2_0_1_1__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2452:1: ( rule__DynamicConfig__Group_2_0_1_1__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2453:2: rule__DynamicConfig__Group_2_0_1_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_1__1__Impl_in_rule__DynamicConfig__Group_2_0_1_1__15382);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_0_1_1__1__Impl_in_rule__DynamicConfig__Group_2_0_1_1__15080);
             rule__DynamicConfig__Group_2_0_1_1__1__Impl();
 
             state._fsp--;
@@ -8028,25 +7764,25 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_0_1_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2614:1: rule__DynamicConfig__Group_2_0_1_1__1__Impl : ( ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2459:1: rule__DynamicConfig__Group_2_0_1_1__1__Impl : ( ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 ) ) ;
     public final void rule__DynamicConfig__Group_2_0_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2618:1: ( ( ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2619:1: ( ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2463:1: ( ( ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2464:1: ( ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2619:1: ( ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2620:1: ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2464:1: ( ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2465:1: ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getUserCode2Assignment_2_0_1_1_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2621:1: ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2621:2: rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2466:1: ( rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2466:2: rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1_in_rule__DynamicConfig__Group_2_0_1_1__1__Impl5409);
+            pushFollow(FOLLOW_rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1_in_rule__DynamicConfig__Group_2_0_1_1__1__Impl5107);
             rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1();
 
             state._fsp--;
@@ -8079,21 +7815,21 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2635:1: rule__DynamicConfig__Group_2_1__0 : rule__DynamicConfig__Group_2_1__0__Impl rule__DynamicConfig__Group_2_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2480:1: rule__DynamicConfig__Group_2_1__0 : rule__DynamicConfig__Group_2_1__0__Impl rule__DynamicConfig__Group_2_1__1 ;
     public final void rule__DynamicConfig__Group_2_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2639:1: ( rule__DynamicConfig__Group_2_1__0__Impl rule__DynamicConfig__Group_2_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2640:2: rule__DynamicConfig__Group_2_1__0__Impl rule__DynamicConfig__Group_2_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2484:1: ( rule__DynamicConfig__Group_2_1__0__Impl rule__DynamicConfig__Group_2_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2485:2: rule__DynamicConfig__Group_2_1__0__Impl rule__DynamicConfig__Group_2_1__1
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_1__0__Impl_in_rule__DynamicConfig__Group_2_1__05443);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_1__0__Impl_in_rule__DynamicConfig__Group_2_1__05141);
             rule__DynamicConfig__Group_2_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_1__1_in_rule__DynamicConfig__Group_2_1__05446);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_1__1_in_rule__DynamicConfig__Group_2_1__05144);
             rule__DynamicConfig__Group_2_1__1();
 
             state._fsp--;
@@ -8117,22 +7853,22 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2647:1: rule__DynamicConfig__Group_2_1__0__Impl : ( 'polling interval' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2492:1: rule__DynamicConfig__Group_2_1__0__Impl : ( 'polling interval' ) ;
     public final void rule__DynamicConfig__Group_2_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2651:1: ( ( 'polling interval' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2652:1: ( 'polling interval' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2496:1: ( ( 'polling interval' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2497:1: ( 'polling interval' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2652:1: ( 'polling interval' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2653:1: 'polling interval'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2497:1: ( 'polling interval' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2498:1: 'polling interval'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getPollingIntervalKeyword_2_1_0()); 
             }
-            match(input,34,FOLLOW_34_in_rule__DynamicConfig__Group_2_1__0__Impl5474); if (state.failed) return ;
+            match(input,35,FOLLOW_35_in_rule__DynamicConfig__Group_2_1__0__Impl5172); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDynamicConfigAccess().getPollingIntervalKeyword_2_1_0()); 
             }
@@ -8158,16 +7894,16 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2666:1: rule__DynamicConfig__Group_2_1__1 : rule__DynamicConfig__Group_2_1__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2511:1: rule__DynamicConfig__Group_2_1__1 : rule__DynamicConfig__Group_2_1__1__Impl ;
     public final void rule__DynamicConfig__Group_2_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2670:1: ( rule__DynamicConfig__Group_2_1__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2671:2: rule__DynamicConfig__Group_2_1__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2515:1: ( rule__DynamicConfig__Group_2_1__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2516:2: rule__DynamicConfig__Group_2_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_1__1__Impl_in_rule__DynamicConfig__Group_2_1__15505);
+            pushFollow(FOLLOW_rule__DynamicConfig__Group_2_1__1__Impl_in_rule__DynamicConfig__Group_2_1__15203);
             rule__DynamicConfig__Group_2_1__1__Impl();
 
             state._fsp--;
@@ -8191,25 +7927,25 @@
 
 
     // $ANTLR start "rule__DynamicConfig__Group_2_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2677:1: rule__DynamicConfig__Group_2_1__1__Impl : ( ( rule__DynamicConfig__PollingAssignment_2_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2522:1: rule__DynamicConfig__Group_2_1__1__Impl : ( ( rule__DynamicConfig__PollingAssignment_2_1_1 ) ) ;
     public final void rule__DynamicConfig__Group_2_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2681:1: ( ( ( rule__DynamicConfig__PollingAssignment_2_1_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2682:1: ( ( rule__DynamicConfig__PollingAssignment_2_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2526:1: ( ( ( rule__DynamicConfig__PollingAssignment_2_1_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2527:1: ( ( rule__DynamicConfig__PollingAssignment_2_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2682:1: ( ( rule__DynamicConfig__PollingAssignment_2_1_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2683:1: ( rule__DynamicConfig__PollingAssignment_2_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2527:1: ( ( rule__DynamicConfig__PollingAssignment_2_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2528:1: ( rule__DynamicConfig__PollingAssignment_2_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getPollingAssignment_2_1_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2684:1: ( rule__DynamicConfig__PollingAssignment_2_1_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2684:2: rule__DynamicConfig__PollingAssignment_2_1_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2529:1: ( rule__DynamicConfig__PollingAssignment_2_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2529:2: rule__DynamicConfig__PollingAssignment_2_1_1
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__PollingAssignment_2_1_1_in_rule__DynamicConfig__Group_2_1__1__Impl5532);
+            pushFollow(FOLLOW_rule__DynamicConfig__PollingAssignment_2_1_1_in_rule__DynamicConfig__Group_2_1__1__Impl5230);
             rule__DynamicConfig__PollingAssignment_2_1_1();
 
             state._fsp--;
@@ -8242,21 +7978,21 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2698:1: rule__ActorClassConfig__Group__0 : rule__ActorClassConfig__Group__0__Impl rule__ActorClassConfig__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2543:1: rule__ActorClassConfig__Group__0 : rule__ActorClassConfig__Group__0__Impl rule__ActorClassConfig__Group__1 ;
     public final void rule__ActorClassConfig__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2702:1: ( rule__ActorClassConfig__Group__0__Impl rule__ActorClassConfig__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2703:2: rule__ActorClassConfig__Group__0__Impl rule__ActorClassConfig__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2547:1: ( rule__ActorClassConfig__Group__0__Impl rule__ActorClassConfig__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2548:2: rule__ActorClassConfig__Group__0__Impl rule__ActorClassConfig__Group__1
             {
-            pushFollow(FOLLOW_rule__ActorClassConfig__Group__0__Impl_in_rule__ActorClassConfig__Group__05566);
+            pushFollow(FOLLOW_rule__ActorClassConfig__Group__0__Impl_in_rule__ActorClassConfig__Group__05264);
             rule__ActorClassConfig__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorClassConfig__Group__1_in_rule__ActorClassConfig__Group__05569);
+            pushFollow(FOLLOW_rule__ActorClassConfig__Group__1_in_rule__ActorClassConfig__Group__05267);
             rule__ActorClassConfig__Group__1();
 
             state._fsp--;
@@ -8280,22 +8016,22 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2710:1: rule__ActorClassConfig__Group__0__Impl : ( 'ActorClassConfig' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2555:1: rule__ActorClassConfig__Group__0__Impl : ( 'ActorClassConfig' ) ;
     public final void rule__ActorClassConfig__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2714:1: ( ( 'ActorClassConfig' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2715:1: ( 'ActorClassConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2559:1: ( ( 'ActorClassConfig' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2560:1: ( 'ActorClassConfig' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2715:1: ( 'ActorClassConfig' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2716:1: 'ActorClassConfig'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2560:1: ( 'ActorClassConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2561:1: 'ActorClassConfig'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorClassConfigAccess().getActorClassConfigKeyword_0()); 
             }
-            match(input,35,FOLLOW_35_in_rule__ActorClassConfig__Group__0__Impl5597); if (state.failed) return ;
+            match(input,36,FOLLOW_36_in_rule__ActorClassConfig__Group__0__Impl5295); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getActorClassConfigAccess().getActorClassConfigKeyword_0()); 
             }
@@ -8321,21 +8057,21 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2729:1: rule__ActorClassConfig__Group__1 : rule__ActorClassConfig__Group__1__Impl rule__ActorClassConfig__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2574:1: rule__ActorClassConfig__Group__1 : rule__ActorClassConfig__Group__1__Impl rule__ActorClassConfig__Group__2 ;
     public final void rule__ActorClassConfig__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2733:1: ( rule__ActorClassConfig__Group__1__Impl rule__ActorClassConfig__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2734:2: rule__ActorClassConfig__Group__1__Impl rule__ActorClassConfig__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2578:1: ( rule__ActorClassConfig__Group__1__Impl rule__ActorClassConfig__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2579:2: rule__ActorClassConfig__Group__1__Impl rule__ActorClassConfig__Group__2
             {
-            pushFollow(FOLLOW_rule__ActorClassConfig__Group__1__Impl_in_rule__ActorClassConfig__Group__15628);
+            pushFollow(FOLLOW_rule__ActorClassConfig__Group__1__Impl_in_rule__ActorClassConfig__Group__15326);
             rule__ActorClassConfig__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorClassConfig__Group__2_in_rule__ActorClassConfig__Group__15631);
+            pushFollow(FOLLOW_rule__ActorClassConfig__Group__2_in_rule__ActorClassConfig__Group__15329);
             rule__ActorClassConfig__Group__2();
 
             state._fsp--;
@@ -8359,25 +8095,25 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2741:1: rule__ActorClassConfig__Group__1__Impl : ( ( rule__ActorClassConfig__ActorAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2586:1: rule__ActorClassConfig__Group__1__Impl : ( ( rule__ActorClassConfig__ActorAssignment_1 ) ) ;
     public final void rule__ActorClassConfig__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2745:1: ( ( ( rule__ActorClassConfig__ActorAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2746:1: ( ( rule__ActorClassConfig__ActorAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2590:1: ( ( ( rule__ActorClassConfig__ActorAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2591:1: ( ( rule__ActorClassConfig__ActorAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2746:1: ( ( rule__ActorClassConfig__ActorAssignment_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2747:1: ( rule__ActorClassConfig__ActorAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2591:1: ( ( rule__ActorClassConfig__ActorAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2592:1: ( rule__ActorClassConfig__ActorAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorClassConfigAccess().getActorAssignment_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2748:1: ( rule__ActorClassConfig__ActorAssignment_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2748:2: rule__ActorClassConfig__ActorAssignment_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2593:1: ( rule__ActorClassConfig__ActorAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2593:2: rule__ActorClassConfig__ActorAssignment_1
             {
-            pushFollow(FOLLOW_rule__ActorClassConfig__ActorAssignment_1_in_rule__ActorClassConfig__Group__1__Impl5658);
+            pushFollow(FOLLOW_rule__ActorClassConfig__ActorAssignment_1_in_rule__ActorClassConfig__Group__1__Impl5356);
             rule__ActorClassConfig__ActorAssignment_1();
 
             state._fsp--;
@@ -8410,21 +8146,21 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2758:1: rule__ActorClassConfig__Group__2 : rule__ActorClassConfig__Group__2__Impl rule__ActorClassConfig__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2603:1: rule__ActorClassConfig__Group__2 : rule__ActorClassConfig__Group__2__Impl rule__ActorClassConfig__Group__3 ;
     public final void rule__ActorClassConfig__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2762:1: ( rule__ActorClassConfig__Group__2__Impl rule__ActorClassConfig__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2763:2: rule__ActorClassConfig__Group__2__Impl rule__ActorClassConfig__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2607:1: ( rule__ActorClassConfig__Group__2__Impl rule__ActorClassConfig__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2608:2: rule__ActorClassConfig__Group__2__Impl rule__ActorClassConfig__Group__3
             {
-            pushFollow(FOLLOW_rule__ActorClassConfig__Group__2__Impl_in_rule__ActorClassConfig__Group__25688);
+            pushFollow(FOLLOW_rule__ActorClassConfig__Group__2__Impl_in_rule__ActorClassConfig__Group__25386);
             rule__ActorClassConfig__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorClassConfig__Group__3_in_rule__ActorClassConfig__Group__25691);
+            pushFollow(FOLLOW_rule__ActorClassConfig__Group__3_in_rule__ActorClassConfig__Group__25389);
             rule__ActorClassConfig__Group__3();
 
             state._fsp--;
@@ -8448,22 +8184,22 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2770:1: rule__ActorClassConfig__Group__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2615:1: rule__ActorClassConfig__Group__2__Impl : ( '{' ) ;
     public final void rule__ActorClassConfig__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2774:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2775:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2619:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2620:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2775:1: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2776:1: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2620:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2621:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorClassConfigAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,26,FOLLOW_26_in_rule__ActorClassConfig__Group__2__Impl5719); if (state.failed) return ;
+            match(input,27,FOLLOW_27_in_rule__ActorClassConfig__Group__2__Impl5417); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getActorClassConfigAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -8489,21 +8225,21 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2789:1: rule__ActorClassConfig__Group__3 : rule__ActorClassConfig__Group__3__Impl rule__ActorClassConfig__Group__4 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2634:1: rule__ActorClassConfig__Group__3 : rule__ActorClassConfig__Group__3__Impl rule__ActorClassConfig__Group__4 ;
     public final void rule__ActorClassConfig__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2793:1: ( rule__ActorClassConfig__Group__3__Impl rule__ActorClassConfig__Group__4 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2794:2: rule__ActorClassConfig__Group__3__Impl rule__ActorClassConfig__Group__4
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2638:1: ( rule__ActorClassConfig__Group__3__Impl rule__ActorClassConfig__Group__4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2639:2: rule__ActorClassConfig__Group__3__Impl rule__ActorClassConfig__Group__4
             {
-            pushFollow(FOLLOW_rule__ActorClassConfig__Group__3__Impl_in_rule__ActorClassConfig__Group__35750);
+            pushFollow(FOLLOW_rule__ActorClassConfig__Group__3__Impl_in_rule__ActorClassConfig__Group__35448);
             rule__ActorClassConfig__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorClassConfig__Group__4_in_rule__ActorClassConfig__Group__35753);
+            pushFollow(FOLLOW_rule__ActorClassConfig__Group__4_in_rule__ActorClassConfig__Group__35451);
             rule__ActorClassConfig__Group__4();
 
             state._fsp--;
@@ -8527,37 +8263,37 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2801:1: rule__ActorClassConfig__Group__3__Impl : ( ( rule__ActorClassConfig__AttributesAssignment_3 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2646:1: rule__ActorClassConfig__Group__3__Impl : ( ( rule__ActorClassConfig__AttributesAssignment_3 )* ) ;
     public final void rule__ActorClassConfig__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2805:1: ( ( ( rule__ActorClassConfig__AttributesAssignment_3 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2806:1: ( ( rule__ActorClassConfig__AttributesAssignment_3 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2650:1: ( ( ( rule__ActorClassConfig__AttributesAssignment_3 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2651:1: ( ( rule__ActorClassConfig__AttributesAssignment_3 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2806:1: ( ( rule__ActorClassConfig__AttributesAssignment_3 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2807:1: ( rule__ActorClassConfig__AttributesAssignment_3 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2651:1: ( ( rule__ActorClassConfig__AttributesAssignment_3 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2652:1: ( rule__ActorClassConfig__AttributesAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorClassConfigAccess().getAttributesAssignment_3()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2808:1: ( rule__ActorClassConfig__AttributesAssignment_3 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2653:1: ( rule__ActorClassConfig__AttributesAssignment_3 )*
             loop24:
             do {
                 int alt24=2;
                 int LA24_0 = input.LA(1);
 
-                if ( (LA24_0==41) ) {
+                if ( (LA24_0==42) ) {
                     alt24=1;
                 }
 
 
                 switch (alt24) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2808:2: rule__ActorClassConfig__AttributesAssignment_3
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2653:2: rule__ActorClassConfig__AttributesAssignment_3
             	    {
-            	    pushFollow(FOLLOW_rule__ActorClassConfig__AttributesAssignment_3_in_rule__ActorClassConfig__Group__3__Impl5780);
+            	    pushFollow(FOLLOW_rule__ActorClassConfig__AttributesAssignment_3_in_rule__ActorClassConfig__Group__3__Impl5478);
             	    rule__ActorClassConfig__AttributesAssignment_3();
 
             	    state._fsp--;
@@ -8596,16 +8332,16 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__Group__4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2818:1: rule__ActorClassConfig__Group__4 : rule__ActorClassConfig__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2663:1: rule__ActorClassConfig__Group__4 : rule__ActorClassConfig__Group__4__Impl ;
     public final void rule__ActorClassConfig__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2822:1: ( rule__ActorClassConfig__Group__4__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2823:2: rule__ActorClassConfig__Group__4__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2667:1: ( rule__ActorClassConfig__Group__4__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2668:2: rule__ActorClassConfig__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__ActorClassConfig__Group__4__Impl_in_rule__ActorClassConfig__Group__45811);
+            pushFollow(FOLLOW_rule__ActorClassConfig__Group__4__Impl_in_rule__ActorClassConfig__Group__45509);
             rule__ActorClassConfig__Group__4__Impl();
 
             state._fsp--;
@@ -8629,22 +8365,22 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__Group__4__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2829:1: rule__ActorClassConfig__Group__4__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2674:1: rule__ActorClassConfig__Group__4__Impl : ( '}' ) ;
     public final void rule__ActorClassConfig__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2833:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2834:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2678:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2679:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2834:1: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2835:1: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2679:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2680:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorClassConfigAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,27,FOLLOW_27_in_rule__ActorClassConfig__Group__4__Impl5839); if (state.failed) return ;
+            match(input,28,FOLLOW_28_in_rule__ActorClassConfig__Group__4__Impl5537); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getActorClassConfigAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -8670,21 +8406,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2858:1: rule__ActorInstanceConfig__Group__0 : rule__ActorInstanceConfig__Group__0__Impl rule__ActorInstanceConfig__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2703:1: rule__ActorInstanceConfig__Group__0 : rule__ActorInstanceConfig__Group__0__Impl rule__ActorInstanceConfig__Group__1 ;
     public final void rule__ActorInstanceConfig__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2862:1: ( rule__ActorInstanceConfig__Group__0__Impl rule__ActorInstanceConfig__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2863:2: rule__ActorInstanceConfig__Group__0__Impl rule__ActorInstanceConfig__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2707:1: ( rule__ActorInstanceConfig__Group__0__Impl rule__ActorInstanceConfig__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2708:2: rule__ActorInstanceConfig__Group__0__Impl rule__ActorInstanceConfig__Group__1
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__0__Impl_in_rule__ActorInstanceConfig__Group__05880);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__0__Impl_in_rule__ActorInstanceConfig__Group__05578);
             rule__ActorInstanceConfig__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__1_in_rule__ActorInstanceConfig__Group__05883);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__1_in_rule__ActorInstanceConfig__Group__05581);
             rule__ActorInstanceConfig__Group__1();
 
             state._fsp--;
@@ -8708,22 +8444,22 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2870:1: rule__ActorInstanceConfig__Group__0__Impl : ( 'ActorInstanceConfig' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2715:1: rule__ActorInstanceConfig__Group__0__Impl : ( 'ActorInstanceConfig' ) ;
     public final void rule__ActorInstanceConfig__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2874:1: ( ( 'ActorInstanceConfig' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2875:1: ( 'ActorInstanceConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2719:1: ( ( 'ActorInstanceConfig' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2720:1: ( 'ActorInstanceConfig' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2875:1: ( 'ActorInstanceConfig' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2876:1: 'ActorInstanceConfig'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2720:1: ( 'ActorInstanceConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2721:1: 'ActorInstanceConfig'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getActorInstanceConfigKeyword_0()); 
             }
-            match(input,36,FOLLOW_36_in_rule__ActorInstanceConfig__Group__0__Impl5911); if (state.failed) return ;
+            match(input,37,FOLLOW_37_in_rule__ActorInstanceConfig__Group__0__Impl5609); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getActorInstanceConfigAccess().getActorInstanceConfigKeyword_0()); 
             }
@@ -8749,21 +8485,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2889:1: rule__ActorInstanceConfig__Group__1 : rule__ActorInstanceConfig__Group__1__Impl rule__ActorInstanceConfig__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2734:1: rule__ActorInstanceConfig__Group__1 : rule__ActorInstanceConfig__Group__1__Impl rule__ActorInstanceConfig__Group__2 ;
     public final void rule__ActorInstanceConfig__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2893:1: ( rule__ActorInstanceConfig__Group__1__Impl rule__ActorInstanceConfig__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2894:2: rule__ActorInstanceConfig__Group__1__Impl rule__ActorInstanceConfig__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2738:1: ( rule__ActorInstanceConfig__Group__1__Impl rule__ActorInstanceConfig__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2739:2: rule__ActorInstanceConfig__Group__1__Impl rule__ActorInstanceConfig__Group__2
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__1__Impl_in_rule__ActorInstanceConfig__Group__15942);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__1__Impl_in_rule__ActorInstanceConfig__Group__15640);
             rule__ActorInstanceConfig__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__2_in_rule__ActorInstanceConfig__Group__15945);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__2_in_rule__ActorInstanceConfig__Group__15643);
             rule__ActorInstanceConfig__Group__2();
 
             state._fsp--;
@@ -8787,25 +8523,25 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2901:1: rule__ActorInstanceConfig__Group__1__Impl : ( ( rule__ActorInstanceConfig__RootAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2746:1: rule__ActorInstanceConfig__Group__1__Impl : ( ( rule__ActorInstanceConfig__RootAssignment_1 ) ) ;
     public final void rule__ActorInstanceConfig__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2905:1: ( ( ( rule__ActorInstanceConfig__RootAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2906:1: ( ( rule__ActorInstanceConfig__RootAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2750:1: ( ( ( rule__ActorInstanceConfig__RootAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2751:1: ( ( rule__ActorInstanceConfig__RootAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2906:1: ( ( rule__ActorInstanceConfig__RootAssignment_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2907:1: ( rule__ActorInstanceConfig__RootAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2751:1: ( ( rule__ActorInstanceConfig__RootAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2752:1: ( rule__ActorInstanceConfig__RootAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getRootAssignment_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2908:1: ( rule__ActorInstanceConfig__RootAssignment_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2908:2: rule__ActorInstanceConfig__RootAssignment_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2753:1: ( rule__ActorInstanceConfig__RootAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2753:2: rule__ActorInstanceConfig__RootAssignment_1
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__RootAssignment_1_in_rule__ActorInstanceConfig__Group__1__Impl5972);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__RootAssignment_1_in_rule__ActorInstanceConfig__Group__1__Impl5670);
             rule__ActorInstanceConfig__RootAssignment_1();
 
             state._fsp--;
@@ -8838,21 +8574,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2918:1: rule__ActorInstanceConfig__Group__2 : rule__ActorInstanceConfig__Group__2__Impl rule__ActorInstanceConfig__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2763:1: rule__ActorInstanceConfig__Group__2 : rule__ActorInstanceConfig__Group__2__Impl rule__ActorInstanceConfig__Group__3 ;
     public final void rule__ActorInstanceConfig__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2922:1: ( rule__ActorInstanceConfig__Group__2__Impl rule__ActorInstanceConfig__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2923:2: rule__ActorInstanceConfig__Group__2__Impl rule__ActorInstanceConfig__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2767:1: ( rule__ActorInstanceConfig__Group__2__Impl rule__ActorInstanceConfig__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2768:2: rule__ActorInstanceConfig__Group__2__Impl rule__ActorInstanceConfig__Group__3
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__2__Impl_in_rule__ActorInstanceConfig__Group__26002);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__2__Impl_in_rule__ActorInstanceConfig__Group__25700);
             rule__ActorInstanceConfig__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__3_in_rule__ActorInstanceConfig__Group__26005);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__3_in_rule__ActorInstanceConfig__Group__25703);
             rule__ActorInstanceConfig__Group__3();
 
             state._fsp--;
@@ -8876,22 +8612,22 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2930:1: rule__ActorInstanceConfig__Group__2__Impl : ( '/' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2775:1: rule__ActorInstanceConfig__Group__2__Impl : ( '/' ) ;
     public final void rule__ActorInstanceConfig__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2934:1: ( ( '/' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2935:1: ( '/' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2779:1: ( ( '/' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2780:1: ( '/' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2935:1: ( '/' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2936:1: '/'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2780:1: ( '/' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2781:1: '/'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getSolidusKeyword_2()); 
             }
-            match(input,29,FOLLOW_29_in_rule__ActorInstanceConfig__Group__2__Impl6033); if (state.failed) return ;
+            match(input,30,FOLLOW_30_in_rule__ActorInstanceConfig__Group__2__Impl5731); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getActorInstanceConfigAccess().getSolidusKeyword_2()); 
             }
@@ -8917,21 +8653,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2949:1: rule__ActorInstanceConfig__Group__3 : rule__ActorInstanceConfig__Group__3__Impl rule__ActorInstanceConfig__Group__4 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2794:1: rule__ActorInstanceConfig__Group__3 : rule__ActorInstanceConfig__Group__3__Impl rule__ActorInstanceConfig__Group__4 ;
     public final void rule__ActorInstanceConfig__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2953:1: ( rule__ActorInstanceConfig__Group__3__Impl rule__ActorInstanceConfig__Group__4 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2954:2: rule__ActorInstanceConfig__Group__3__Impl rule__ActorInstanceConfig__Group__4
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2798:1: ( rule__ActorInstanceConfig__Group__3__Impl rule__ActorInstanceConfig__Group__4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2799:2: rule__ActorInstanceConfig__Group__3__Impl rule__ActorInstanceConfig__Group__4
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__3__Impl_in_rule__ActorInstanceConfig__Group__36064);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__3__Impl_in_rule__ActorInstanceConfig__Group__35762);
             rule__ActorInstanceConfig__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__4_in_rule__ActorInstanceConfig__Group__36067);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__4_in_rule__ActorInstanceConfig__Group__35765);
             rule__ActorInstanceConfig__Group__4();
 
             state._fsp--;
@@ -8955,25 +8691,25 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2961:1: rule__ActorInstanceConfig__Group__3__Impl : ( ( rule__ActorInstanceConfig__SubSystemAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2806:1: rule__ActorInstanceConfig__Group__3__Impl : ( ( rule__ActorInstanceConfig__SubSystemAssignment_3 ) ) ;
     public final void rule__ActorInstanceConfig__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2965:1: ( ( ( rule__ActorInstanceConfig__SubSystemAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2966:1: ( ( rule__ActorInstanceConfig__SubSystemAssignment_3 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2810:1: ( ( ( rule__ActorInstanceConfig__SubSystemAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2811:1: ( ( rule__ActorInstanceConfig__SubSystemAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2966:1: ( ( rule__ActorInstanceConfig__SubSystemAssignment_3 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2967:1: ( rule__ActorInstanceConfig__SubSystemAssignment_3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2811:1: ( ( rule__ActorInstanceConfig__SubSystemAssignment_3 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2812:1: ( rule__ActorInstanceConfig__SubSystemAssignment_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getSubSystemAssignment_3()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2968:1: ( rule__ActorInstanceConfig__SubSystemAssignment_3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2968:2: rule__ActorInstanceConfig__SubSystemAssignment_3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2813:1: ( rule__ActorInstanceConfig__SubSystemAssignment_3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2813:2: rule__ActorInstanceConfig__SubSystemAssignment_3
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__SubSystemAssignment_3_in_rule__ActorInstanceConfig__Group__3__Impl6094);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__SubSystemAssignment_3_in_rule__ActorInstanceConfig__Group__3__Impl5792);
             rule__ActorInstanceConfig__SubSystemAssignment_3();
 
             state._fsp--;
@@ -9006,21 +8742,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2978:1: rule__ActorInstanceConfig__Group__4 : rule__ActorInstanceConfig__Group__4__Impl rule__ActorInstanceConfig__Group__5 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2823:1: rule__ActorInstanceConfig__Group__4 : rule__ActorInstanceConfig__Group__4__Impl rule__ActorInstanceConfig__Group__5 ;
     public final void rule__ActorInstanceConfig__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2982:1: ( rule__ActorInstanceConfig__Group__4__Impl rule__ActorInstanceConfig__Group__5 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2983:2: rule__ActorInstanceConfig__Group__4__Impl rule__ActorInstanceConfig__Group__5
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2827:1: ( rule__ActorInstanceConfig__Group__4__Impl rule__ActorInstanceConfig__Group__5 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2828:2: rule__ActorInstanceConfig__Group__4__Impl rule__ActorInstanceConfig__Group__5
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__4__Impl_in_rule__ActorInstanceConfig__Group__46124);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__4__Impl_in_rule__ActorInstanceConfig__Group__45822);
             rule__ActorInstanceConfig__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__5_in_rule__ActorInstanceConfig__Group__46127);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__5_in_rule__ActorInstanceConfig__Group__45825);
             rule__ActorInstanceConfig__Group__5();
 
             state._fsp--;
@@ -9044,22 +8780,22 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__4__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2990:1: rule__ActorInstanceConfig__Group__4__Impl : ( '/' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2835:1: rule__ActorInstanceConfig__Group__4__Impl : ( '/' ) ;
     public final void rule__ActorInstanceConfig__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2994:1: ( ( '/' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2995:1: ( '/' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2839:1: ( ( '/' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2840:1: ( '/' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2995:1: ( '/' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2996:1: '/'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2840:1: ( '/' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2841:1: '/'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getSolidusKeyword_4()); 
             }
-            match(input,29,FOLLOW_29_in_rule__ActorInstanceConfig__Group__4__Impl6155); if (state.failed) return ;
+            match(input,30,FOLLOW_30_in_rule__ActorInstanceConfig__Group__4__Impl5853); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getActorInstanceConfigAccess().getSolidusKeyword_4()); 
             }
@@ -9085,21 +8821,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__5"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3009:1: rule__ActorInstanceConfig__Group__5 : rule__ActorInstanceConfig__Group__5__Impl rule__ActorInstanceConfig__Group__6 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2854:1: rule__ActorInstanceConfig__Group__5 : rule__ActorInstanceConfig__Group__5__Impl rule__ActorInstanceConfig__Group__6 ;
     public final void rule__ActorInstanceConfig__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3013:1: ( rule__ActorInstanceConfig__Group__5__Impl rule__ActorInstanceConfig__Group__6 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3014:2: rule__ActorInstanceConfig__Group__5__Impl rule__ActorInstanceConfig__Group__6
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2858:1: ( rule__ActorInstanceConfig__Group__5__Impl rule__ActorInstanceConfig__Group__6 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2859:2: rule__ActorInstanceConfig__Group__5__Impl rule__ActorInstanceConfig__Group__6
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__5__Impl_in_rule__ActorInstanceConfig__Group__56186);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__5__Impl_in_rule__ActorInstanceConfig__Group__55884);
             rule__ActorInstanceConfig__Group__5__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__6_in_rule__ActorInstanceConfig__Group__56189);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__6_in_rule__ActorInstanceConfig__Group__55887);
             rule__ActorInstanceConfig__Group__6();
 
             state._fsp--;
@@ -9123,25 +8859,25 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__5__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3021:1: rule__ActorInstanceConfig__Group__5__Impl : ( ( rule__ActorInstanceConfig__PathAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2866:1: rule__ActorInstanceConfig__Group__5__Impl : ( ( rule__ActorInstanceConfig__PathAssignment_5 ) ) ;
     public final void rule__ActorInstanceConfig__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3025:1: ( ( ( rule__ActorInstanceConfig__PathAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3026:1: ( ( rule__ActorInstanceConfig__PathAssignment_5 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2870:1: ( ( ( rule__ActorInstanceConfig__PathAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2871:1: ( ( rule__ActorInstanceConfig__PathAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3026:1: ( ( rule__ActorInstanceConfig__PathAssignment_5 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3027:1: ( rule__ActorInstanceConfig__PathAssignment_5 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2871:1: ( ( rule__ActorInstanceConfig__PathAssignment_5 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2872:1: ( rule__ActorInstanceConfig__PathAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getPathAssignment_5()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3028:1: ( rule__ActorInstanceConfig__PathAssignment_5 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3028:2: rule__ActorInstanceConfig__PathAssignment_5
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2873:1: ( rule__ActorInstanceConfig__PathAssignment_5 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2873:2: rule__ActorInstanceConfig__PathAssignment_5
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__PathAssignment_5_in_rule__ActorInstanceConfig__Group__5__Impl6216);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__PathAssignment_5_in_rule__ActorInstanceConfig__Group__5__Impl5914);
             rule__ActorInstanceConfig__PathAssignment_5();
 
             state._fsp--;
@@ -9174,21 +8910,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__6"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3038:1: rule__ActorInstanceConfig__Group__6 : rule__ActorInstanceConfig__Group__6__Impl rule__ActorInstanceConfig__Group__7 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2883:1: rule__ActorInstanceConfig__Group__6 : rule__ActorInstanceConfig__Group__6__Impl rule__ActorInstanceConfig__Group__7 ;
     public final void rule__ActorInstanceConfig__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3042:1: ( rule__ActorInstanceConfig__Group__6__Impl rule__ActorInstanceConfig__Group__7 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3043:2: rule__ActorInstanceConfig__Group__6__Impl rule__ActorInstanceConfig__Group__7
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2887:1: ( rule__ActorInstanceConfig__Group__6__Impl rule__ActorInstanceConfig__Group__7 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2888:2: rule__ActorInstanceConfig__Group__6__Impl rule__ActorInstanceConfig__Group__7
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__6__Impl_in_rule__ActorInstanceConfig__Group__66246);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__6__Impl_in_rule__ActorInstanceConfig__Group__65944);
             rule__ActorInstanceConfig__Group__6__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__7_in_rule__ActorInstanceConfig__Group__66249);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__7_in_rule__ActorInstanceConfig__Group__65947);
             rule__ActorInstanceConfig__Group__7();
 
             state._fsp--;
@@ -9212,22 +8948,22 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__6__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3050:1: rule__ActorInstanceConfig__Group__6__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2895:1: rule__ActorInstanceConfig__Group__6__Impl : ( '{' ) ;
     public final void rule__ActorInstanceConfig__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3054:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3055:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2899:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2900:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3055:1: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3056:1: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2900:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2901:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getLeftCurlyBracketKeyword_6()); 
             }
-            match(input,26,FOLLOW_26_in_rule__ActorInstanceConfig__Group__6__Impl6277); if (state.failed) return ;
+            match(input,27,FOLLOW_27_in_rule__ActorInstanceConfig__Group__6__Impl5975); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getActorInstanceConfigAccess().getLeftCurlyBracketKeyword_6()); 
             }
@@ -9253,21 +8989,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__7"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3069:1: rule__ActorInstanceConfig__Group__7 : rule__ActorInstanceConfig__Group__7__Impl rule__ActorInstanceConfig__Group__8 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2914:1: rule__ActorInstanceConfig__Group__7 : rule__ActorInstanceConfig__Group__7__Impl rule__ActorInstanceConfig__Group__8 ;
     public final void rule__ActorInstanceConfig__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3073:1: ( rule__ActorInstanceConfig__Group__7__Impl rule__ActorInstanceConfig__Group__8 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3074:2: rule__ActorInstanceConfig__Group__7__Impl rule__ActorInstanceConfig__Group__8
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2918:1: ( rule__ActorInstanceConfig__Group__7__Impl rule__ActorInstanceConfig__Group__8 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2919:2: rule__ActorInstanceConfig__Group__7__Impl rule__ActorInstanceConfig__Group__8
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__7__Impl_in_rule__ActorInstanceConfig__Group__76308);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__7__Impl_in_rule__ActorInstanceConfig__Group__76006);
             rule__ActorInstanceConfig__Group__7__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__8_in_rule__ActorInstanceConfig__Group__76311);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__8_in_rule__ActorInstanceConfig__Group__76009);
             rule__ActorInstanceConfig__Group__8();
 
             state._fsp--;
@@ -9291,25 +9027,25 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__7__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3081:1: rule__ActorInstanceConfig__Group__7__Impl : ( ( rule__ActorInstanceConfig__UnorderedGroup_7 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2926:1: rule__ActorInstanceConfig__Group__7__Impl : ( ( rule__ActorInstanceConfig__UnorderedGroup_7 ) ) ;
     public final void rule__ActorInstanceConfig__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3085:1: ( ( ( rule__ActorInstanceConfig__UnorderedGroup_7 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3086:1: ( ( rule__ActorInstanceConfig__UnorderedGroup_7 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2930:1: ( ( ( rule__ActorInstanceConfig__UnorderedGroup_7 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2931:1: ( ( rule__ActorInstanceConfig__UnorderedGroup_7 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3086:1: ( ( rule__ActorInstanceConfig__UnorderedGroup_7 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3087:1: ( rule__ActorInstanceConfig__UnorderedGroup_7 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2931:1: ( ( rule__ActorInstanceConfig__UnorderedGroup_7 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2932:1: ( rule__ActorInstanceConfig__UnorderedGroup_7 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3088:1: ( rule__ActorInstanceConfig__UnorderedGroup_7 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3088:2: rule__ActorInstanceConfig__UnorderedGroup_7
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2933:1: ( rule__ActorInstanceConfig__UnorderedGroup_7 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2933:2: rule__ActorInstanceConfig__UnorderedGroup_7
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7_in_rule__ActorInstanceConfig__Group__7__Impl6338);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7_in_rule__ActorInstanceConfig__Group__7__Impl6036);
             rule__ActorInstanceConfig__UnorderedGroup_7();
 
             state._fsp--;
@@ -9342,16 +9078,16 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__8"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3098:1: rule__ActorInstanceConfig__Group__8 : rule__ActorInstanceConfig__Group__8__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2943:1: rule__ActorInstanceConfig__Group__8 : rule__ActorInstanceConfig__Group__8__Impl ;
     public final void rule__ActorInstanceConfig__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3102:1: ( rule__ActorInstanceConfig__Group__8__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3103:2: rule__ActorInstanceConfig__Group__8__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2947:1: ( rule__ActorInstanceConfig__Group__8__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2948:2: rule__ActorInstanceConfig__Group__8__Impl
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__8__Impl_in_rule__ActorInstanceConfig__Group__86368);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__Group__8__Impl_in_rule__ActorInstanceConfig__Group__86066);
             rule__ActorInstanceConfig__Group__8__Impl();
 
             state._fsp--;
@@ -9375,22 +9111,22 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__Group__8__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3109:1: rule__ActorInstanceConfig__Group__8__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2954:1: rule__ActorInstanceConfig__Group__8__Impl : ( '}' ) ;
     public final void rule__ActorInstanceConfig__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3113:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3114:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2958:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2959:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3114:1: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3115:1: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2959:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2960:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getRightCurlyBracketKeyword_8()); 
             }
-            match(input,27,FOLLOW_27_in_rule__ActorInstanceConfig__Group__8__Impl6396); if (state.failed) return ;
+            match(input,28,FOLLOW_28_in_rule__ActorInstanceConfig__Group__8__Impl6094); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getActorInstanceConfigAccess().getRightCurlyBracketKeyword_8()); 
             }
@@ -9416,21 +9152,21 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3146:1: rule__ProtocolClassConfig__Group__0 : rule__ProtocolClassConfig__Group__0__Impl rule__ProtocolClassConfig__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2991:1: rule__ProtocolClassConfig__Group__0 : rule__ProtocolClassConfig__Group__0__Impl rule__ProtocolClassConfig__Group__1 ;
     public final void rule__ProtocolClassConfig__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3150:1: ( rule__ProtocolClassConfig__Group__0__Impl rule__ProtocolClassConfig__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3151:2: rule__ProtocolClassConfig__Group__0__Impl rule__ProtocolClassConfig__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2995:1: ( rule__ProtocolClassConfig__Group__0__Impl rule__ProtocolClassConfig__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:2996:2: rule__ProtocolClassConfig__Group__0__Impl rule__ProtocolClassConfig__Group__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__0__Impl_in_rule__ProtocolClassConfig__Group__06445);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__0__Impl_in_rule__ProtocolClassConfig__Group__06143);
             rule__ProtocolClassConfig__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__1_in_rule__ProtocolClassConfig__Group__06448);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__1_in_rule__ProtocolClassConfig__Group__06146);
             rule__ProtocolClassConfig__Group__1();
 
             state._fsp--;
@@ -9454,22 +9190,22 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3158:1: rule__ProtocolClassConfig__Group__0__Impl : ( 'ProtocolClassConfig' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3003:1: rule__ProtocolClassConfig__Group__0__Impl : ( 'ProtocolClassConfig' ) ;
     public final void rule__ProtocolClassConfig__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3162:1: ( ( 'ProtocolClassConfig' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3163:1: ( 'ProtocolClassConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3007:1: ( ( 'ProtocolClassConfig' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3008:1: ( 'ProtocolClassConfig' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3163:1: ( 'ProtocolClassConfig' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3164:1: 'ProtocolClassConfig'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3008:1: ( 'ProtocolClassConfig' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3009:1: 'ProtocolClassConfig'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getProtocolClassConfigKeyword_0()); 
             }
-            match(input,37,FOLLOW_37_in_rule__ProtocolClassConfig__Group__0__Impl6476); if (state.failed) return ;
+            match(input,38,FOLLOW_38_in_rule__ProtocolClassConfig__Group__0__Impl6174); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getProtocolClassConfigAccess().getProtocolClassConfigKeyword_0()); 
             }
@@ -9495,21 +9231,21 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3177:1: rule__ProtocolClassConfig__Group__1 : rule__ProtocolClassConfig__Group__1__Impl rule__ProtocolClassConfig__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3022:1: rule__ProtocolClassConfig__Group__1 : rule__ProtocolClassConfig__Group__1__Impl rule__ProtocolClassConfig__Group__2 ;
     public final void rule__ProtocolClassConfig__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3181:1: ( rule__ProtocolClassConfig__Group__1__Impl rule__ProtocolClassConfig__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3182:2: rule__ProtocolClassConfig__Group__1__Impl rule__ProtocolClassConfig__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3026:1: ( rule__ProtocolClassConfig__Group__1__Impl rule__ProtocolClassConfig__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3027:2: rule__ProtocolClassConfig__Group__1__Impl rule__ProtocolClassConfig__Group__2
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__1__Impl_in_rule__ProtocolClassConfig__Group__16507);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__1__Impl_in_rule__ProtocolClassConfig__Group__16205);
             rule__ProtocolClassConfig__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__2_in_rule__ProtocolClassConfig__Group__16510);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__2_in_rule__ProtocolClassConfig__Group__16208);
             rule__ProtocolClassConfig__Group__2();
 
             state._fsp--;
@@ -9533,25 +9269,25 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3189:1: rule__ProtocolClassConfig__Group__1__Impl : ( ( rule__ProtocolClassConfig__ProtocolAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3034:1: rule__ProtocolClassConfig__Group__1__Impl : ( ( rule__ProtocolClassConfig__ProtocolAssignment_1 ) ) ;
     public final void rule__ProtocolClassConfig__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3193:1: ( ( ( rule__ProtocolClassConfig__ProtocolAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3194:1: ( ( rule__ProtocolClassConfig__ProtocolAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3038:1: ( ( ( rule__ProtocolClassConfig__ProtocolAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3039:1: ( ( rule__ProtocolClassConfig__ProtocolAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3194:1: ( ( rule__ProtocolClassConfig__ProtocolAssignment_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3195:1: ( rule__ProtocolClassConfig__ProtocolAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3039:1: ( ( rule__ProtocolClassConfig__ProtocolAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3040:1: ( rule__ProtocolClassConfig__ProtocolAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getProtocolAssignment_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3196:1: ( rule__ProtocolClassConfig__ProtocolAssignment_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3196:2: rule__ProtocolClassConfig__ProtocolAssignment_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3041:1: ( rule__ProtocolClassConfig__ProtocolAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3041:2: rule__ProtocolClassConfig__ProtocolAssignment_1
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__ProtocolAssignment_1_in_rule__ProtocolClassConfig__Group__1__Impl6537);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__ProtocolAssignment_1_in_rule__ProtocolClassConfig__Group__1__Impl6235);
             rule__ProtocolClassConfig__ProtocolAssignment_1();
 
             state._fsp--;
@@ -9584,21 +9320,21 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3206:1: rule__ProtocolClassConfig__Group__2 : rule__ProtocolClassConfig__Group__2__Impl rule__ProtocolClassConfig__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3051:1: rule__ProtocolClassConfig__Group__2 : rule__ProtocolClassConfig__Group__2__Impl rule__ProtocolClassConfig__Group__3 ;
     public final void rule__ProtocolClassConfig__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3210:1: ( rule__ProtocolClassConfig__Group__2__Impl rule__ProtocolClassConfig__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3211:2: rule__ProtocolClassConfig__Group__2__Impl rule__ProtocolClassConfig__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3055:1: ( rule__ProtocolClassConfig__Group__2__Impl rule__ProtocolClassConfig__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3056:2: rule__ProtocolClassConfig__Group__2__Impl rule__ProtocolClassConfig__Group__3
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__2__Impl_in_rule__ProtocolClassConfig__Group__26567);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__2__Impl_in_rule__ProtocolClassConfig__Group__26265);
             rule__ProtocolClassConfig__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__3_in_rule__ProtocolClassConfig__Group__26570);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__3_in_rule__ProtocolClassConfig__Group__26268);
             rule__ProtocolClassConfig__Group__3();
 
             state._fsp--;
@@ -9622,22 +9358,22 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3218:1: rule__ProtocolClassConfig__Group__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3063:1: rule__ProtocolClassConfig__Group__2__Impl : ( '{' ) ;
     public final void rule__ProtocolClassConfig__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3222:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3223:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3067:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3068:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3223:1: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3224:1: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3068:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3069:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,26,FOLLOW_26_in_rule__ProtocolClassConfig__Group__2__Impl6598); if (state.failed) return ;
+            match(input,27,FOLLOW_27_in_rule__ProtocolClassConfig__Group__2__Impl6296); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getProtocolClassConfigAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -9663,21 +9399,21 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3237:1: rule__ProtocolClassConfig__Group__3 : rule__ProtocolClassConfig__Group__3__Impl rule__ProtocolClassConfig__Group__4 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3082:1: rule__ProtocolClassConfig__Group__3 : rule__ProtocolClassConfig__Group__3__Impl rule__ProtocolClassConfig__Group__4 ;
     public final void rule__ProtocolClassConfig__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3241:1: ( rule__ProtocolClassConfig__Group__3__Impl rule__ProtocolClassConfig__Group__4 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3242:2: rule__ProtocolClassConfig__Group__3__Impl rule__ProtocolClassConfig__Group__4
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3086:1: ( rule__ProtocolClassConfig__Group__3__Impl rule__ProtocolClassConfig__Group__4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3087:2: rule__ProtocolClassConfig__Group__3__Impl rule__ProtocolClassConfig__Group__4
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__3__Impl_in_rule__ProtocolClassConfig__Group__36629);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__3__Impl_in_rule__ProtocolClassConfig__Group__36327);
             rule__ProtocolClassConfig__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__4_in_rule__ProtocolClassConfig__Group__36632);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__4_in_rule__ProtocolClassConfig__Group__36330);
             rule__ProtocolClassConfig__Group__4();
 
             state._fsp--;
@@ -9701,25 +9437,25 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3249:1: rule__ProtocolClassConfig__Group__3__Impl : ( ( rule__ProtocolClassConfig__UnorderedGroup_3 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3094:1: rule__ProtocolClassConfig__Group__3__Impl : ( ( rule__ProtocolClassConfig__UnorderedGroup_3 ) ) ;
     public final void rule__ProtocolClassConfig__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3253:1: ( ( ( rule__ProtocolClassConfig__UnorderedGroup_3 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3254:1: ( ( rule__ProtocolClassConfig__UnorderedGroup_3 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3098:1: ( ( ( rule__ProtocolClassConfig__UnorderedGroup_3 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3099:1: ( ( rule__ProtocolClassConfig__UnorderedGroup_3 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3254:1: ( ( rule__ProtocolClassConfig__UnorderedGroup_3 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3255:1: ( rule__ProtocolClassConfig__UnorderedGroup_3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3099:1: ( ( rule__ProtocolClassConfig__UnorderedGroup_3 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3100:1: ( rule__ProtocolClassConfig__UnorderedGroup_3 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3256:1: ( rule__ProtocolClassConfig__UnorderedGroup_3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3256:2: rule__ProtocolClassConfig__UnorderedGroup_3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3101:1: ( rule__ProtocolClassConfig__UnorderedGroup_3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3101:2: rule__ProtocolClassConfig__UnorderedGroup_3
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3_in_rule__ProtocolClassConfig__Group__3__Impl6659);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3_in_rule__ProtocolClassConfig__Group__3__Impl6357);
             rule__ProtocolClassConfig__UnorderedGroup_3();
 
             state._fsp--;
@@ -9752,16 +9488,16 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group__4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3266:1: rule__ProtocolClassConfig__Group__4 : rule__ProtocolClassConfig__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3111:1: rule__ProtocolClassConfig__Group__4 : rule__ProtocolClassConfig__Group__4__Impl ;
     public final void rule__ProtocolClassConfig__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3270:1: ( rule__ProtocolClassConfig__Group__4__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3271:2: rule__ProtocolClassConfig__Group__4__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3115:1: ( rule__ProtocolClassConfig__Group__4__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3116:2: rule__ProtocolClassConfig__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__4__Impl_in_rule__ProtocolClassConfig__Group__46689);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group__4__Impl_in_rule__ProtocolClassConfig__Group__46387);
             rule__ProtocolClassConfig__Group__4__Impl();
 
             state._fsp--;
@@ -9785,22 +9521,22 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group__4__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3277:1: rule__ProtocolClassConfig__Group__4__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3122:1: rule__ProtocolClassConfig__Group__4__Impl : ( '}' ) ;
     public final void rule__ProtocolClassConfig__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3281:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3282:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3126:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3127:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3282:1: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3283:1: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3127:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3128:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,27,FOLLOW_27_in_rule__ProtocolClassConfig__Group__4__Impl6717); if (state.failed) return ;
+            match(input,28,FOLLOW_28_in_rule__ProtocolClassConfig__Group__4__Impl6415); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getProtocolClassConfigAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -9826,21 +9562,21 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group_3_0__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3306:1: rule__ProtocolClassConfig__Group_3_0__0 : rule__ProtocolClassConfig__Group_3_0__0__Impl rule__ProtocolClassConfig__Group_3_0__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3151:1: rule__ProtocolClassConfig__Group_3_0__0 : rule__ProtocolClassConfig__Group_3_0__0__Impl rule__ProtocolClassConfig__Group_3_0__1 ;
     public final void rule__ProtocolClassConfig__Group_3_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3310:1: ( rule__ProtocolClassConfig__Group_3_0__0__Impl rule__ProtocolClassConfig__Group_3_0__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3311:2: rule__ProtocolClassConfig__Group_3_0__0__Impl rule__ProtocolClassConfig__Group_3_0__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3155:1: ( rule__ProtocolClassConfig__Group_3_0__0__Impl rule__ProtocolClassConfig__Group_3_0__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3156:2: rule__ProtocolClassConfig__Group_3_0__0__Impl rule__ProtocolClassConfig__Group_3_0__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_0__0__Impl_in_rule__ProtocolClassConfig__Group_3_0__06758);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_0__0__Impl_in_rule__ProtocolClassConfig__Group_3_0__06456);
             rule__ProtocolClassConfig__Group_3_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_0__1_in_rule__ProtocolClassConfig__Group_3_0__06761);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_0__1_in_rule__ProtocolClassConfig__Group_3_0__06459);
             rule__ProtocolClassConfig__Group_3_0__1();
 
             state._fsp--;
@@ -9864,22 +9600,22 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group_3_0__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3318:1: rule__ProtocolClassConfig__Group_3_0__0__Impl : ( 'regular' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3163:1: rule__ProtocolClassConfig__Group_3_0__0__Impl : ( 'regular' ) ;
     public final void rule__ProtocolClassConfig__Group_3_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3322:1: ( ( 'regular' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3323:1: ( 'regular' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3167:1: ( ( 'regular' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3168:1: ( 'regular' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3323:1: ( 'regular' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3324:1: 'regular'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3168:1: ( 'regular' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3169:1: 'regular'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getRegularKeyword_3_0_0()); 
             }
-            match(input,38,FOLLOW_38_in_rule__ProtocolClassConfig__Group_3_0__0__Impl6789); if (state.failed) return ;
+            match(input,39,FOLLOW_39_in_rule__ProtocolClassConfig__Group_3_0__0__Impl6487); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getProtocolClassConfigAccess().getRegularKeyword_3_0_0()); 
             }
@@ -9905,16 +9641,16 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group_3_0__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3337:1: rule__ProtocolClassConfig__Group_3_0__1 : rule__ProtocolClassConfig__Group_3_0__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3182:1: rule__ProtocolClassConfig__Group_3_0__1 : rule__ProtocolClassConfig__Group_3_0__1__Impl ;
     public final void rule__ProtocolClassConfig__Group_3_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3341:1: ( rule__ProtocolClassConfig__Group_3_0__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3342:2: rule__ProtocolClassConfig__Group_3_0__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3186:1: ( rule__ProtocolClassConfig__Group_3_0__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3187:2: rule__ProtocolClassConfig__Group_3_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_0__1__Impl_in_rule__ProtocolClassConfig__Group_3_0__16820);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_0__1__Impl_in_rule__ProtocolClassConfig__Group_3_0__16518);
             rule__ProtocolClassConfig__Group_3_0__1__Impl();
 
             state._fsp--;
@@ -9938,25 +9674,25 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group_3_0__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3348:1: rule__ProtocolClassConfig__Group_3_0__1__Impl : ( ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3193:1: rule__ProtocolClassConfig__Group_3_0__1__Impl : ( ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 ) ) ;
     public final void rule__ProtocolClassConfig__Group_3_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3352:1: ( ( ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3353:1: ( ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3197:1: ( ( ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3198:1: ( ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3353:1: ( ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3354:1: ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3198:1: ( ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3199:1: ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getRegularAssignment_3_0_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3355:1: ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3355:2: rule__ProtocolClassConfig__RegularAssignment_3_0_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3200:1: ( rule__ProtocolClassConfig__RegularAssignment_3_0_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3200:2: rule__ProtocolClassConfig__RegularAssignment_3_0_1
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__RegularAssignment_3_0_1_in_rule__ProtocolClassConfig__Group_3_0__1__Impl6847);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__RegularAssignment_3_0_1_in_rule__ProtocolClassConfig__Group_3_0__1__Impl6545);
             rule__ProtocolClassConfig__RegularAssignment_3_0_1();
 
             state._fsp--;
@@ -9989,21 +9725,21 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group_3_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3369:1: rule__ProtocolClassConfig__Group_3_1__0 : rule__ProtocolClassConfig__Group_3_1__0__Impl rule__ProtocolClassConfig__Group_3_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3214:1: rule__ProtocolClassConfig__Group_3_1__0 : rule__ProtocolClassConfig__Group_3_1__0__Impl rule__ProtocolClassConfig__Group_3_1__1 ;
     public final void rule__ProtocolClassConfig__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3373:1: ( rule__ProtocolClassConfig__Group_3_1__0__Impl rule__ProtocolClassConfig__Group_3_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3374:2: rule__ProtocolClassConfig__Group_3_1__0__Impl rule__ProtocolClassConfig__Group_3_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3218:1: ( rule__ProtocolClassConfig__Group_3_1__0__Impl rule__ProtocolClassConfig__Group_3_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3219:2: rule__ProtocolClassConfig__Group_3_1__0__Impl rule__ProtocolClassConfig__Group_3_1__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_1__0__Impl_in_rule__ProtocolClassConfig__Group_3_1__06881);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_1__0__Impl_in_rule__ProtocolClassConfig__Group_3_1__06579);
             rule__ProtocolClassConfig__Group_3_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_1__1_in_rule__ProtocolClassConfig__Group_3_1__06884);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_1__1_in_rule__ProtocolClassConfig__Group_3_1__06582);
             rule__ProtocolClassConfig__Group_3_1__1();
 
             state._fsp--;
@@ -10027,25 +9763,25 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group_3_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3381:1: rule__ProtocolClassConfig__Group_3_1__0__Impl : ( ( rule__ProtocolClassConfig__Alternatives_3_1_0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3226:1: rule__ProtocolClassConfig__Group_3_1__0__Impl : ( ( rule__ProtocolClassConfig__Alternatives_3_1_0 ) ) ;
     public final void rule__ProtocolClassConfig__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3385:1: ( ( ( rule__ProtocolClassConfig__Alternatives_3_1_0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3386:1: ( ( rule__ProtocolClassConfig__Alternatives_3_1_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3230:1: ( ( ( rule__ProtocolClassConfig__Alternatives_3_1_0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3231:1: ( ( rule__ProtocolClassConfig__Alternatives_3_1_0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3386:1: ( ( rule__ProtocolClassConfig__Alternatives_3_1_0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3387:1: ( rule__ProtocolClassConfig__Alternatives_3_1_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3231:1: ( ( rule__ProtocolClassConfig__Alternatives_3_1_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3232:1: ( rule__ProtocolClassConfig__Alternatives_3_1_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getAlternatives_3_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3388:1: ( rule__ProtocolClassConfig__Alternatives_3_1_0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3388:2: rule__ProtocolClassConfig__Alternatives_3_1_0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3233:1: ( rule__ProtocolClassConfig__Alternatives_3_1_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3233:2: rule__ProtocolClassConfig__Alternatives_3_1_0
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Alternatives_3_1_0_in_rule__ProtocolClassConfig__Group_3_1__0__Impl6911);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Alternatives_3_1_0_in_rule__ProtocolClassConfig__Group_3_1__0__Impl6609);
             rule__ProtocolClassConfig__Alternatives_3_1_0();
 
             state._fsp--;
@@ -10078,16 +9814,16 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group_3_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3398:1: rule__ProtocolClassConfig__Group_3_1__1 : rule__ProtocolClassConfig__Group_3_1__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3243:1: rule__ProtocolClassConfig__Group_3_1__1 : rule__ProtocolClassConfig__Group_3_1__1__Impl ;
     public final void rule__ProtocolClassConfig__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3402:1: ( rule__ProtocolClassConfig__Group_3_1__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3403:2: rule__ProtocolClassConfig__Group_3_1__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3247:1: ( rule__ProtocolClassConfig__Group_3_1__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3248:2: rule__ProtocolClassConfig__Group_3_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_1__1__Impl_in_rule__ProtocolClassConfig__Group_3_1__16941);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_1__1__Impl_in_rule__ProtocolClassConfig__Group_3_1__16639);
             rule__ProtocolClassConfig__Group_3_1__1__Impl();
 
             state._fsp--;
@@ -10111,25 +9847,25 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__Group_3_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3409:1: rule__ProtocolClassConfig__Group_3_1__1__Impl : ( ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3254:1: rule__ProtocolClassConfig__Group_3_1__1__Impl : ( ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 ) ) ;
     public final void rule__ProtocolClassConfig__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3413:1: ( ( ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3414:1: ( ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3258:1: ( ( ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3259:1: ( ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3414:1: ( ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3415:1: ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3259:1: ( ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3260:1: ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getConjugatedAssignment_3_1_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3416:1: ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3416:2: rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3261:1: ( rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3261:2: rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1_in_rule__ProtocolClassConfig__Group_3_1__1__Impl6968);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1_in_rule__ProtocolClassConfig__Group_3_1__1__Impl6666);
             rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1();
 
             state._fsp--;
@@ -10162,21 +9898,21 @@
 
 
     // $ANTLR start "rule__PortClassConfig__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3430:1: rule__PortClassConfig__Group__0 : rule__PortClassConfig__Group__0__Impl rule__PortClassConfig__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3275:1: rule__PortClassConfig__Group__0 : rule__PortClassConfig__Group__0__Impl rule__PortClassConfig__Group__1 ;
     public final void rule__PortClassConfig__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3434:1: ( rule__PortClassConfig__Group__0__Impl rule__PortClassConfig__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3435:2: rule__PortClassConfig__Group__0__Impl rule__PortClassConfig__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3279:1: ( rule__PortClassConfig__Group__0__Impl rule__PortClassConfig__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3280:2: rule__PortClassConfig__Group__0__Impl rule__PortClassConfig__Group__1
             {
-            pushFollow(FOLLOW_rule__PortClassConfig__Group__0__Impl_in_rule__PortClassConfig__Group__07002);
+            pushFollow(FOLLOW_rule__PortClassConfig__Group__0__Impl_in_rule__PortClassConfig__Group__06700);
             rule__PortClassConfig__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__PortClassConfig__Group__1_in_rule__PortClassConfig__Group__07005);
+            pushFollow(FOLLOW_rule__PortClassConfig__Group__1_in_rule__PortClassConfig__Group__06703);
             rule__PortClassConfig__Group__1();
 
             state._fsp--;
@@ -10200,23 +9936,23 @@
 
 
     // $ANTLR start "rule__PortClassConfig__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3442:1: rule__PortClassConfig__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3287:1: rule__PortClassConfig__Group__0__Impl : ( () ) ;
     public final void rule__PortClassConfig__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3446:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3447:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3291:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3292:1: ( () )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3447:1: ( () )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3448:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3292:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3293:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortClassConfigAccess().getPortClassConfigAction_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3449:1: ()
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3451:1: 
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3294:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3296:1: 
             {
             }
 
@@ -10241,21 +9977,21 @@
 
 
     // $ANTLR start "rule__PortClassConfig__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3461:1: rule__PortClassConfig__Group__1 : rule__PortClassConfig__Group__1__Impl rule__PortClassConfig__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3306:1: rule__PortClassConfig__Group__1 : rule__PortClassConfig__Group__1__Impl rule__PortClassConfig__Group__2 ;
     public final void rule__PortClassConfig__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3465:1: ( rule__PortClassConfig__Group__1__Impl rule__PortClassConfig__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3466:2: rule__PortClassConfig__Group__1__Impl rule__PortClassConfig__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3310:1: ( rule__PortClassConfig__Group__1__Impl rule__PortClassConfig__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3311:2: rule__PortClassConfig__Group__1__Impl rule__PortClassConfig__Group__2
             {
-            pushFollow(FOLLOW_rule__PortClassConfig__Group__1__Impl_in_rule__PortClassConfig__Group__17063);
+            pushFollow(FOLLOW_rule__PortClassConfig__Group__1__Impl_in_rule__PortClassConfig__Group__16761);
             rule__PortClassConfig__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__PortClassConfig__Group__2_in_rule__PortClassConfig__Group__17066);
+            pushFollow(FOLLOW_rule__PortClassConfig__Group__2_in_rule__PortClassConfig__Group__16764);
             rule__PortClassConfig__Group__2();
 
             state._fsp--;
@@ -10279,22 +10015,22 @@
 
 
     // $ANTLR start "rule__PortClassConfig__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3473:1: rule__PortClassConfig__Group__1__Impl : ( 'Port' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3318:1: rule__PortClassConfig__Group__1__Impl : ( 'Port' ) ;
     public final void rule__PortClassConfig__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3477:1: ( ( 'Port' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3478:1: ( 'Port' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3322:1: ( ( 'Port' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3323:1: ( 'Port' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3478:1: ( 'Port' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3479:1: 'Port'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3323:1: ( 'Port' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3324:1: 'Port'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortClassConfigAccess().getPortKeyword_1()); 
             }
-            match(input,39,FOLLOW_39_in_rule__PortClassConfig__Group__1__Impl7094); if (state.failed) return ;
+            match(input,40,FOLLOW_40_in_rule__PortClassConfig__Group__1__Impl6792); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPortClassConfigAccess().getPortKeyword_1()); 
             }
@@ -10320,21 +10056,21 @@
 
 
     // $ANTLR start "rule__PortClassConfig__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3492:1: rule__PortClassConfig__Group__2 : rule__PortClassConfig__Group__2__Impl rule__PortClassConfig__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3337:1: rule__PortClassConfig__Group__2 : rule__PortClassConfig__Group__2__Impl rule__PortClassConfig__Group__3 ;
     public final void rule__PortClassConfig__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3496:1: ( rule__PortClassConfig__Group__2__Impl rule__PortClassConfig__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3497:2: rule__PortClassConfig__Group__2__Impl rule__PortClassConfig__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3341:1: ( rule__PortClassConfig__Group__2__Impl rule__PortClassConfig__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3342:2: rule__PortClassConfig__Group__2__Impl rule__PortClassConfig__Group__3
             {
-            pushFollow(FOLLOW_rule__PortClassConfig__Group__2__Impl_in_rule__PortClassConfig__Group__27125);
+            pushFollow(FOLLOW_rule__PortClassConfig__Group__2__Impl_in_rule__PortClassConfig__Group__26823);
             rule__PortClassConfig__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__PortClassConfig__Group__3_in_rule__PortClassConfig__Group__27128);
+            pushFollow(FOLLOW_rule__PortClassConfig__Group__3_in_rule__PortClassConfig__Group__26826);
             rule__PortClassConfig__Group__3();
 
             state._fsp--;
@@ -10358,22 +10094,22 @@
 
 
     // $ANTLR start "rule__PortClassConfig__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3504:1: rule__PortClassConfig__Group__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3349:1: rule__PortClassConfig__Group__2__Impl : ( '{' ) ;
     public final void rule__PortClassConfig__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3508:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3509:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3353:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3354:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3509:1: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3510:1: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3354:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3355:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortClassConfigAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,26,FOLLOW_26_in_rule__PortClassConfig__Group__2__Impl7156); if (state.failed) return ;
+            match(input,27,FOLLOW_27_in_rule__PortClassConfig__Group__2__Impl6854); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPortClassConfigAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -10399,21 +10135,21 @@
 
 
     // $ANTLR start "rule__PortClassConfig__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3523:1: rule__PortClassConfig__Group__3 : rule__PortClassConfig__Group__3__Impl rule__PortClassConfig__Group__4 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3368:1: rule__PortClassConfig__Group__3 : rule__PortClassConfig__Group__3__Impl rule__PortClassConfig__Group__4 ;
     public final void rule__PortClassConfig__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3527:1: ( rule__PortClassConfig__Group__3__Impl rule__PortClassConfig__Group__4 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3528:2: rule__PortClassConfig__Group__3__Impl rule__PortClassConfig__Group__4
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3372:1: ( rule__PortClassConfig__Group__3__Impl rule__PortClassConfig__Group__4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3373:2: rule__PortClassConfig__Group__3__Impl rule__PortClassConfig__Group__4
             {
-            pushFollow(FOLLOW_rule__PortClassConfig__Group__3__Impl_in_rule__PortClassConfig__Group__37187);
+            pushFollow(FOLLOW_rule__PortClassConfig__Group__3__Impl_in_rule__PortClassConfig__Group__36885);
             rule__PortClassConfig__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__PortClassConfig__Group__4_in_rule__PortClassConfig__Group__37190);
+            pushFollow(FOLLOW_rule__PortClassConfig__Group__4_in_rule__PortClassConfig__Group__36888);
             rule__PortClassConfig__Group__4();
 
             state._fsp--;
@@ -10437,37 +10173,37 @@
 
 
     // $ANTLR start "rule__PortClassConfig__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3535:1: rule__PortClassConfig__Group__3__Impl : ( ( rule__PortClassConfig__AttributesAssignment_3 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3380:1: rule__PortClassConfig__Group__3__Impl : ( ( rule__PortClassConfig__AttributesAssignment_3 )* ) ;
     public final void rule__PortClassConfig__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3539:1: ( ( ( rule__PortClassConfig__AttributesAssignment_3 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3540:1: ( ( rule__PortClassConfig__AttributesAssignment_3 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3384:1: ( ( ( rule__PortClassConfig__AttributesAssignment_3 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3385:1: ( ( rule__PortClassConfig__AttributesAssignment_3 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3540:1: ( ( rule__PortClassConfig__AttributesAssignment_3 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3541:1: ( rule__PortClassConfig__AttributesAssignment_3 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3385:1: ( ( rule__PortClassConfig__AttributesAssignment_3 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3386:1: ( rule__PortClassConfig__AttributesAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortClassConfigAccess().getAttributesAssignment_3()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3542:1: ( rule__PortClassConfig__AttributesAssignment_3 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3387:1: ( rule__PortClassConfig__AttributesAssignment_3 )*
             loop25:
             do {
                 int alt25=2;
                 int LA25_0 = input.LA(1);
 
-                if ( (LA25_0==41) ) {
+                if ( (LA25_0==42) ) {
                     alt25=1;
                 }
 
 
                 switch (alt25) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3542:2: rule__PortClassConfig__AttributesAssignment_3
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3387:2: rule__PortClassConfig__AttributesAssignment_3
             	    {
-            	    pushFollow(FOLLOW_rule__PortClassConfig__AttributesAssignment_3_in_rule__PortClassConfig__Group__3__Impl7217);
+            	    pushFollow(FOLLOW_rule__PortClassConfig__AttributesAssignment_3_in_rule__PortClassConfig__Group__3__Impl6915);
             	    rule__PortClassConfig__AttributesAssignment_3();
 
             	    state._fsp--;
@@ -10506,16 +10242,16 @@
 
 
     // $ANTLR start "rule__PortClassConfig__Group__4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3552:1: rule__PortClassConfig__Group__4 : rule__PortClassConfig__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3397:1: rule__PortClassConfig__Group__4 : rule__PortClassConfig__Group__4__Impl ;
     public final void rule__PortClassConfig__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3556:1: ( rule__PortClassConfig__Group__4__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3557:2: rule__PortClassConfig__Group__4__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3401:1: ( rule__PortClassConfig__Group__4__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3402:2: rule__PortClassConfig__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__PortClassConfig__Group__4__Impl_in_rule__PortClassConfig__Group__47248);
+            pushFollow(FOLLOW_rule__PortClassConfig__Group__4__Impl_in_rule__PortClassConfig__Group__46946);
             rule__PortClassConfig__Group__4__Impl();
 
             state._fsp--;
@@ -10539,22 +10275,22 @@
 
 
     // $ANTLR start "rule__PortClassConfig__Group__4__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3563:1: rule__PortClassConfig__Group__4__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3408:1: rule__PortClassConfig__Group__4__Impl : ( '}' ) ;
     public final void rule__PortClassConfig__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3567:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3568:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3412:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3413:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3568:1: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3569:1: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3413:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3414:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortClassConfigAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,27,FOLLOW_27_in_rule__PortClassConfig__Group__4__Impl7276); if (state.failed) return ;
+            match(input,28,FOLLOW_28_in_rule__PortClassConfig__Group__4__Impl6974); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPortClassConfigAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -10580,21 +10316,21 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3592:1: rule__PortInstanceConfig__Group__0 : rule__PortInstanceConfig__Group__0__Impl rule__PortInstanceConfig__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3437:1: rule__PortInstanceConfig__Group__0 : rule__PortInstanceConfig__Group__0__Impl rule__PortInstanceConfig__Group__1 ;
     public final void rule__PortInstanceConfig__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3596:1: ( rule__PortInstanceConfig__Group__0__Impl rule__PortInstanceConfig__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3597:2: rule__PortInstanceConfig__Group__0__Impl rule__PortInstanceConfig__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3441:1: ( rule__PortInstanceConfig__Group__0__Impl rule__PortInstanceConfig__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3442:2: rule__PortInstanceConfig__Group__0__Impl rule__PortInstanceConfig__Group__1
             {
-            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__0__Impl_in_rule__PortInstanceConfig__Group__07317);
+            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__0__Impl_in_rule__PortInstanceConfig__Group__07015);
             rule__PortInstanceConfig__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__1_in_rule__PortInstanceConfig__Group__07320);
+            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__1_in_rule__PortInstanceConfig__Group__07018);
             rule__PortInstanceConfig__Group__1();
 
             state._fsp--;
@@ -10618,22 +10354,22 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3604:1: rule__PortInstanceConfig__Group__0__Impl : ( 'InterfaceItem' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3449:1: rule__PortInstanceConfig__Group__0__Impl : ( 'InterfaceItem' ) ;
     public final void rule__PortInstanceConfig__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3608:1: ( ( 'InterfaceItem' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3609:1: ( 'InterfaceItem' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3453:1: ( ( 'InterfaceItem' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3454:1: ( 'InterfaceItem' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3609:1: ( 'InterfaceItem' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3610:1: 'InterfaceItem'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3454:1: ( 'InterfaceItem' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3455:1: 'InterfaceItem'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortInstanceConfigAccess().getInterfaceItemKeyword_0()); 
             }
-            match(input,40,FOLLOW_40_in_rule__PortInstanceConfig__Group__0__Impl7348); if (state.failed) return ;
+            match(input,41,FOLLOW_41_in_rule__PortInstanceConfig__Group__0__Impl7046); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPortInstanceConfigAccess().getInterfaceItemKeyword_0()); 
             }
@@ -10659,21 +10395,21 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3623:1: rule__PortInstanceConfig__Group__1 : rule__PortInstanceConfig__Group__1__Impl rule__PortInstanceConfig__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3468:1: rule__PortInstanceConfig__Group__1 : rule__PortInstanceConfig__Group__1__Impl rule__PortInstanceConfig__Group__2 ;
     public final void rule__PortInstanceConfig__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3627:1: ( rule__PortInstanceConfig__Group__1__Impl rule__PortInstanceConfig__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3628:2: rule__PortInstanceConfig__Group__1__Impl rule__PortInstanceConfig__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3472:1: ( rule__PortInstanceConfig__Group__1__Impl rule__PortInstanceConfig__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3473:2: rule__PortInstanceConfig__Group__1__Impl rule__PortInstanceConfig__Group__2
             {
-            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__1__Impl_in_rule__PortInstanceConfig__Group__17379);
+            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__1__Impl_in_rule__PortInstanceConfig__Group__17077);
             rule__PortInstanceConfig__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__2_in_rule__PortInstanceConfig__Group__17382);
+            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__2_in_rule__PortInstanceConfig__Group__17080);
             rule__PortInstanceConfig__Group__2();
 
             state._fsp--;
@@ -10697,25 +10433,25 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3635:1: rule__PortInstanceConfig__Group__1__Impl : ( ( rule__PortInstanceConfig__ItemAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3480:1: rule__PortInstanceConfig__Group__1__Impl : ( ( rule__PortInstanceConfig__ItemAssignment_1 ) ) ;
     public final void rule__PortInstanceConfig__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3639:1: ( ( ( rule__PortInstanceConfig__ItemAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3640:1: ( ( rule__PortInstanceConfig__ItemAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3484:1: ( ( ( rule__PortInstanceConfig__ItemAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3485:1: ( ( rule__PortInstanceConfig__ItemAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3640:1: ( ( rule__PortInstanceConfig__ItemAssignment_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3641:1: ( rule__PortInstanceConfig__ItemAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3485:1: ( ( rule__PortInstanceConfig__ItemAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3486:1: ( rule__PortInstanceConfig__ItemAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortInstanceConfigAccess().getItemAssignment_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3642:1: ( rule__PortInstanceConfig__ItemAssignment_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3642:2: rule__PortInstanceConfig__ItemAssignment_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3487:1: ( rule__PortInstanceConfig__ItemAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3487:2: rule__PortInstanceConfig__ItemAssignment_1
             {
-            pushFollow(FOLLOW_rule__PortInstanceConfig__ItemAssignment_1_in_rule__PortInstanceConfig__Group__1__Impl7409);
+            pushFollow(FOLLOW_rule__PortInstanceConfig__ItemAssignment_1_in_rule__PortInstanceConfig__Group__1__Impl7107);
             rule__PortInstanceConfig__ItemAssignment_1();
 
             state._fsp--;
@@ -10748,21 +10484,21 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3652:1: rule__PortInstanceConfig__Group__2 : rule__PortInstanceConfig__Group__2__Impl rule__PortInstanceConfig__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3497:1: rule__PortInstanceConfig__Group__2 : rule__PortInstanceConfig__Group__2__Impl rule__PortInstanceConfig__Group__3 ;
     public final void rule__PortInstanceConfig__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3656:1: ( rule__PortInstanceConfig__Group__2__Impl rule__PortInstanceConfig__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3657:2: rule__PortInstanceConfig__Group__2__Impl rule__PortInstanceConfig__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3501:1: ( rule__PortInstanceConfig__Group__2__Impl rule__PortInstanceConfig__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3502:2: rule__PortInstanceConfig__Group__2__Impl rule__PortInstanceConfig__Group__3
             {
-            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__2__Impl_in_rule__PortInstanceConfig__Group__27439);
+            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__2__Impl_in_rule__PortInstanceConfig__Group__27137);
             rule__PortInstanceConfig__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__3_in_rule__PortInstanceConfig__Group__27442);
+            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__3_in_rule__PortInstanceConfig__Group__27140);
             rule__PortInstanceConfig__Group__3();
 
             state._fsp--;
@@ -10786,22 +10522,22 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3664:1: rule__PortInstanceConfig__Group__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3509:1: rule__PortInstanceConfig__Group__2__Impl : ( '{' ) ;
     public final void rule__PortInstanceConfig__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3668:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3669:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3513:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3514:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3669:1: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3670:1: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3514:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3515:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortInstanceConfigAccess().getLeftCurlyBracketKeyword_2()); 
             }
-            match(input,26,FOLLOW_26_in_rule__PortInstanceConfig__Group__2__Impl7470); if (state.failed) return ;
+            match(input,27,FOLLOW_27_in_rule__PortInstanceConfig__Group__2__Impl7168); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPortInstanceConfigAccess().getLeftCurlyBracketKeyword_2()); 
             }
@@ -10827,21 +10563,21 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3683:1: rule__PortInstanceConfig__Group__3 : rule__PortInstanceConfig__Group__3__Impl rule__PortInstanceConfig__Group__4 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3528:1: rule__PortInstanceConfig__Group__3 : rule__PortInstanceConfig__Group__3__Impl rule__PortInstanceConfig__Group__4 ;
     public final void rule__PortInstanceConfig__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3687:1: ( rule__PortInstanceConfig__Group__3__Impl rule__PortInstanceConfig__Group__4 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3688:2: rule__PortInstanceConfig__Group__3__Impl rule__PortInstanceConfig__Group__4
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3532:1: ( rule__PortInstanceConfig__Group__3__Impl rule__PortInstanceConfig__Group__4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3533:2: rule__PortInstanceConfig__Group__3__Impl rule__PortInstanceConfig__Group__4
             {
-            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__3__Impl_in_rule__PortInstanceConfig__Group__37501);
+            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__3__Impl_in_rule__PortInstanceConfig__Group__37199);
             rule__PortInstanceConfig__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__4_in_rule__PortInstanceConfig__Group__37504);
+            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__4_in_rule__PortInstanceConfig__Group__37202);
             rule__PortInstanceConfig__Group__4();
 
             state._fsp--;
@@ -10865,37 +10601,37 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3695:1: rule__PortInstanceConfig__Group__3__Impl : ( ( rule__PortInstanceConfig__AttributesAssignment_3 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3540:1: rule__PortInstanceConfig__Group__3__Impl : ( ( rule__PortInstanceConfig__AttributesAssignment_3 )* ) ;
     public final void rule__PortInstanceConfig__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3699:1: ( ( ( rule__PortInstanceConfig__AttributesAssignment_3 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3700:1: ( ( rule__PortInstanceConfig__AttributesAssignment_3 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3544:1: ( ( ( rule__PortInstanceConfig__AttributesAssignment_3 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3545:1: ( ( rule__PortInstanceConfig__AttributesAssignment_3 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3700:1: ( ( rule__PortInstanceConfig__AttributesAssignment_3 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3701:1: ( rule__PortInstanceConfig__AttributesAssignment_3 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3545:1: ( ( rule__PortInstanceConfig__AttributesAssignment_3 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3546:1: ( rule__PortInstanceConfig__AttributesAssignment_3 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortInstanceConfigAccess().getAttributesAssignment_3()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3702:1: ( rule__PortInstanceConfig__AttributesAssignment_3 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3547:1: ( rule__PortInstanceConfig__AttributesAssignment_3 )*
             loop26:
             do {
                 int alt26=2;
                 int LA26_0 = input.LA(1);
 
-                if ( (LA26_0==41) ) {
+                if ( (LA26_0==42) ) {
                     alt26=1;
                 }
 
 
                 switch (alt26) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3702:2: rule__PortInstanceConfig__AttributesAssignment_3
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3547:2: rule__PortInstanceConfig__AttributesAssignment_3
             	    {
-            	    pushFollow(FOLLOW_rule__PortInstanceConfig__AttributesAssignment_3_in_rule__PortInstanceConfig__Group__3__Impl7531);
+            	    pushFollow(FOLLOW_rule__PortInstanceConfig__AttributesAssignment_3_in_rule__PortInstanceConfig__Group__3__Impl7229);
             	    rule__PortInstanceConfig__AttributesAssignment_3();
 
             	    state._fsp--;
@@ -10934,16 +10670,16 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__Group__4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3712:1: rule__PortInstanceConfig__Group__4 : rule__PortInstanceConfig__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3557:1: rule__PortInstanceConfig__Group__4 : rule__PortInstanceConfig__Group__4__Impl ;
     public final void rule__PortInstanceConfig__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3716:1: ( rule__PortInstanceConfig__Group__4__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3717:2: rule__PortInstanceConfig__Group__4__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3561:1: ( rule__PortInstanceConfig__Group__4__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3562:2: rule__PortInstanceConfig__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__4__Impl_in_rule__PortInstanceConfig__Group__47562);
+            pushFollow(FOLLOW_rule__PortInstanceConfig__Group__4__Impl_in_rule__PortInstanceConfig__Group__47260);
             rule__PortInstanceConfig__Group__4__Impl();
 
             state._fsp--;
@@ -10967,22 +10703,22 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__Group__4__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3723:1: rule__PortInstanceConfig__Group__4__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3568:1: rule__PortInstanceConfig__Group__4__Impl : ( '}' ) ;
     public final void rule__PortInstanceConfig__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3727:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3728:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3572:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3573:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3728:1: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3729:1: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3573:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3574:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortInstanceConfigAccess().getRightCurlyBracketKeyword_4()); 
             }
-            match(input,27,FOLLOW_27_in_rule__PortInstanceConfig__Group__4__Impl7590); if (state.failed) return ;
+            match(input,28,FOLLOW_28_in_rule__PortInstanceConfig__Group__4__Impl7288); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPortInstanceConfigAccess().getRightCurlyBracketKeyword_4()); 
             }
@@ -11008,21 +10744,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3752:1: rule__AttrClassConfig__Group__0 : rule__AttrClassConfig__Group__0__Impl rule__AttrClassConfig__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3597:1: rule__AttrClassConfig__Group__0 : rule__AttrClassConfig__Group__0__Impl rule__AttrClassConfig__Group__1 ;
     public final void rule__AttrClassConfig__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3756:1: ( rule__AttrClassConfig__Group__0__Impl rule__AttrClassConfig__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3757:2: rule__AttrClassConfig__Group__0__Impl rule__AttrClassConfig__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3601:1: ( rule__AttrClassConfig__Group__0__Impl rule__AttrClassConfig__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3602:2: rule__AttrClassConfig__Group__0__Impl rule__AttrClassConfig__Group__1
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group__0__Impl_in_rule__AttrClassConfig__Group__07631);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group__0__Impl_in_rule__AttrClassConfig__Group__07329);
             rule__AttrClassConfig__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group__1_in_rule__AttrClassConfig__Group__07634);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group__1_in_rule__AttrClassConfig__Group__07332);
             rule__AttrClassConfig__Group__1();
 
             state._fsp--;
@@ -11046,22 +10782,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3764:1: rule__AttrClassConfig__Group__0__Impl : ( 'Attr' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3609:1: rule__AttrClassConfig__Group__0__Impl : ( 'Attr' ) ;
     public final void rule__AttrClassConfig__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3768:1: ( ( 'Attr' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3769:1: ( 'Attr' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3613:1: ( ( 'Attr' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3614:1: ( 'Attr' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3769:1: ( 'Attr' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3770:1: 'Attr'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3614:1: ( 'Attr' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3615:1: 'Attr'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getAttrKeyword_0()); 
             }
-            match(input,41,FOLLOW_41_in_rule__AttrClassConfig__Group__0__Impl7662); if (state.failed) return ;
+            match(input,42,FOLLOW_42_in_rule__AttrClassConfig__Group__0__Impl7360); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrClassConfigAccess().getAttrKeyword_0()); 
             }
@@ -11087,21 +10823,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3783:1: rule__AttrClassConfig__Group__1 : rule__AttrClassConfig__Group__1__Impl rule__AttrClassConfig__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3628:1: rule__AttrClassConfig__Group__1 : rule__AttrClassConfig__Group__1__Impl rule__AttrClassConfig__Group__2 ;
     public final void rule__AttrClassConfig__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3787:1: ( rule__AttrClassConfig__Group__1__Impl rule__AttrClassConfig__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3788:2: rule__AttrClassConfig__Group__1__Impl rule__AttrClassConfig__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3632:1: ( rule__AttrClassConfig__Group__1__Impl rule__AttrClassConfig__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3633:2: rule__AttrClassConfig__Group__1__Impl rule__AttrClassConfig__Group__2
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group__1__Impl_in_rule__AttrClassConfig__Group__17693);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group__1__Impl_in_rule__AttrClassConfig__Group__17391);
             rule__AttrClassConfig__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group__2_in_rule__AttrClassConfig__Group__17696);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group__2_in_rule__AttrClassConfig__Group__17394);
             rule__AttrClassConfig__Group__2();
 
             state._fsp--;
@@ -11125,25 +10861,25 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3795:1: rule__AttrClassConfig__Group__1__Impl : ( ( rule__AttrClassConfig__AttributeAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3640:1: rule__AttrClassConfig__Group__1__Impl : ( ( rule__AttrClassConfig__AttributeAssignment_1 ) ) ;
     public final void rule__AttrClassConfig__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3799:1: ( ( ( rule__AttrClassConfig__AttributeAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3800:1: ( ( rule__AttrClassConfig__AttributeAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3644:1: ( ( ( rule__AttrClassConfig__AttributeAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3645:1: ( ( rule__AttrClassConfig__AttributeAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3800:1: ( ( rule__AttrClassConfig__AttributeAssignment_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3801:1: ( rule__AttrClassConfig__AttributeAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3645:1: ( ( rule__AttrClassConfig__AttributeAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3646:1: ( rule__AttrClassConfig__AttributeAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getAttributeAssignment_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3802:1: ( rule__AttrClassConfig__AttributeAssignment_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3802:2: rule__AttrClassConfig__AttributeAssignment_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3647:1: ( rule__AttrClassConfig__AttributeAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3647:2: rule__AttrClassConfig__AttributeAssignment_1
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__AttributeAssignment_1_in_rule__AttrClassConfig__Group__1__Impl7723);
+            pushFollow(FOLLOW_rule__AttrClassConfig__AttributeAssignment_1_in_rule__AttrClassConfig__Group__1__Impl7421);
             rule__AttrClassConfig__AttributeAssignment_1();
 
             state._fsp--;
@@ -11176,21 +10912,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3812:1: rule__AttrClassConfig__Group__2 : rule__AttrClassConfig__Group__2__Impl rule__AttrClassConfig__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3657:1: rule__AttrClassConfig__Group__2 : rule__AttrClassConfig__Group__2__Impl rule__AttrClassConfig__Group__3 ;
     public final void rule__AttrClassConfig__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3816:1: ( rule__AttrClassConfig__Group__2__Impl rule__AttrClassConfig__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3817:2: rule__AttrClassConfig__Group__2__Impl rule__AttrClassConfig__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3661:1: ( rule__AttrClassConfig__Group__2__Impl rule__AttrClassConfig__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3662:2: rule__AttrClassConfig__Group__2__Impl rule__AttrClassConfig__Group__3
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group__2__Impl_in_rule__AttrClassConfig__Group__27753);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group__2__Impl_in_rule__AttrClassConfig__Group__27451);
             rule__AttrClassConfig__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group__3_in_rule__AttrClassConfig__Group__27756);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group__3_in_rule__AttrClassConfig__Group__27454);
             rule__AttrClassConfig__Group__3();
 
             state._fsp--;
@@ -11214,33 +10950,33 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3824:1: rule__AttrClassConfig__Group__2__Impl : ( ( rule__AttrClassConfig__Group_2__0 )? ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3669:1: rule__AttrClassConfig__Group__2__Impl : ( ( rule__AttrClassConfig__Group_2__0 )? ) ;
     public final void rule__AttrClassConfig__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3828:1: ( ( ( rule__AttrClassConfig__Group_2__0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3829:1: ( ( rule__AttrClassConfig__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3673:1: ( ( ( rule__AttrClassConfig__Group_2__0 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3674:1: ( ( rule__AttrClassConfig__Group_2__0 )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3829:1: ( ( rule__AttrClassConfig__Group_2__0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3830:1: ( rule__AttrClassConfig__Group_2__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3674:1: ( ( rule__AttrClassConfig__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3675:1: ( rule__AttrClassConfig__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getGroup_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3831:1: ( rule__AttrClassConfig__Group_2__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3676:1: ( rule__AttrClassConfig__Group_2__0 )?
             int alt27=2;
             int LA27_0 = input.LA(1);
 
-            if ( (LA27_0==42) ) {
+            if ( (LA27_0==43) ) {
                 alt27=1;
             }
             switch (alt27) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3831:2: rule__AttrClassConfig__Group_2__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3676:2: rule__AttrClassConfig__Group_2__0
                     {
-                    pushFollow(FOLLOW_rule__AttrClassConfig__Group_2__0_in_rule__AttrClassConfig__Group__2__Impl7783);
+                    pushFollow(FOLLOW_rule__AttrClassConfig__Group_2__0_in_rule__AttrClassConfig__Group__2__Impl7481);
                     rule__AttrClassConfig__Group_2__0();
 
                     state._fsp--;
@@ -11276,16 +11012,16 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3841:1: rule__AttrClassConfig__Group__3 : rule__AttrClassConfig__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3686:1: rule__AttrClassConfig__Group__3 : rule__AttrClassConfig__Group__3__Impl ;
     public final void rule__AttrClassConfig__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3845:1: ( rule__AttrClassConfig__Group__3__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3846:2: rule__AttrClassConfig__Group__3__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3690:1: ( rule__AttrClassConfig__Group__3__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3691:2: rule__AttrClassConfig__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group__3__Impl_in_rule__AttrClassConfig__Group__37814);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group__3__Impl_in_rule__AttrClassConfig__Group__37512);
             rule__AttrClassConfig__Group__3__Impl();
 
             state._fsp--;
@@ -11309,33 +11045,33 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3852:1: rule__AttrClassConfig__Group__3__Impl : ( ( rule__AttrClassConfig__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3697:1: rule__AttrClassConfig__Group__3__Impl : ( ( rule__AttrClassConfig__Group_3__0 )? ) ;
     public final void rule__AttrClassConfig__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3856:1: ( ( ( rule__AttrClassConfig__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3857:1: ( ( rule__AttrClassConfig__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3701:1: ( ( ( rule__AttrClassConfig__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3702:1: ( ( rule__AttrClassConfig__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3857:1: ( ( rule__AttrClassConfig__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3858:1: ( rule__AttrClassConfig__Group_3__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3702:1: ( ( rule__AttrClassConfig__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3703:1: ( rule__AttrClassConfig__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getGroup_3()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3859:1: ( rule__AttrClassConfig__Group_3__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3704:1: ( rule__AttrClassConfig__Group_3__0 )?
             int alt28=2;
             int LA28_0 = input.LA(1);
 
-            if ( (LA28_0==26) ) {
+            if ( (LA28_0==27) ) {
                 alt28=1;
             }
             switch (alt28) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3859:2: rule__AttrClassConfig__Group_3__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3704:2: rule__AttrClassConfig__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__0_in_rule__AttrClassConfig__Group__3__Impl7841);
+                    pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__0_in_rule__AttrClassConfig__Group__3__Impl7539);
                     rule__AttrClassConfig__Group_3__0();
 
                     state._fsp--;
@@ -11371,21 +11107,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_2__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3877:1: rule__AttrClassConfig__Group_2__0 : rule__AttrClassConfig__Group_2__0__Impl rule__AttrClassConfig__Group_2__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3722:1: rule__AttrClassConfig__Group_2__0 : rule__AttrClassConfig__Group_2__0__Impl rule__AttrClassConfig__Group_2__1 ;
     public final void rule__AttrClassConfig__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3881:1: ( rule__AttrClassConfig__Group_2__0__Impl rule__AttrClassConfig__Group_2__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3882:2: rule__AttrClassConfig__Group_2__0__Impl rule__AttrClassConfig__Group_2__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3726:1: ( rule__AttrClassConfig__Group_2__0__Impl rule__AttrClassConfig__Group_2__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3727:2: rule__AttrClassConfig__Group_2__0__Impl rule__AttrClassConfig__Group_2__1
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_2__0__Impl_in_rule__AttrClassConfig__Group_2__07880);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_2__0__Impl_in_rule__AttrClassConfig__Group_2__07578);
             rule__AttrClassConfig__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_2__1_in_rule__AttrClassConfig__Group_2__07883);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_2__1_in_rule__AttrClassConfig__Group_2__07581);
             rule__AttrClassConfig__Group_2__1();
 
             state._fsp--;
@@ -11409,22 +11145,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_2__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3889:1: rule__AttrClassConfig__Group_2__0__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3734:1: rule__AttrClassConfig__Group_2__0__Impl : ( '=' ) ;
     public final void rule__AttrClassConfig__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3893:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3894:1: ( '=' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3738:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3739:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3894:1: ( '=' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3895:1: '='
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3739:1: ( '=' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3740:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_2_0()); 
             }
-            match(input,42,FOLLOW_42_in_rule__AttrClassConfig__Group_2__0__Impl7911); if (state.failed) return ;
+            match(input,43,FOLLOW_43_in_rule__AttrClassConfig__Group_2__0__Impl7609); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_2_0()); 
             }
@@ -11450,16 +11186,16 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_2__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3908:1: rule__AttrClassConfig__Group_2__1 : rule__AttrClassConfig__Group_2__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3753:1: rule__AttrClassConfig__Group_2__1 : rule__AttrClassConfig__Group_2__1__Impl ;
     public final void rule__AttrClassConfig__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3912:1: ( rule__AttrClassConfig__Group_2__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3913:2: rule__AttrClassConfig__Group_2__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3757:1: ( rule__AttrClassConfig__Group_2__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3758:2: rule__AttrClassConfig__Group_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_2__1__Impl_in_rule__AttrClassConfig__Group_2__17942);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_2__1__Impl_in_rule__AttrClassConfig__Group_2__17640);
             rule__AttrClassConfig__Group_2__1__Impl();
 
             state._fsp--;
@@ -11483,25 +11219,25 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_2__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3919:1: rule__AttrClassConfig__Group_2__1__Impl : ( ( rule__AttrClassConfig__ValueAssignment_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3764:1: rule__AttrClassConfig__Group_2__1__Impl : ( ( rule__AttrClassConfig__ValueAssignment_2_1 ) ) ;
     public final void rule__AttrClassConfig__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3923:1: ( ( ( rule__AttrClassConfig__ValueAssignment_2_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3924:1: ( ( rule__AttrClassConfig__ValueAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3768:1: ( ( ( rule__AttrClassConfig__ValueAssignment_2_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3769:1: ( ( rule__AttrClassConfig__ValueAssignment_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3924:1: ( ( rule__AttrClassConfig__ValueAssignment_2_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3925:1: ( rule__AttrClassConfig__ValueAssignment_2_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3769:1: ( ( rule__AttrClassConfig__ValueAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3770:1: ( rule__AttrClassConfig__ValueAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getValueAssignment_2_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3926:1: ( rule__AttrClassConfig__ValueAssignment_2_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3926:2: rule__AttrClassConfig__ValueAssignment_2_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3771:1: ( rule__AttrClassConfig__ValueAssignment_2_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3771:2: rule__AttrClassConfig__ValueAssignment_2_1
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__ValueAssignment_2_1_in_rule__AttrClassConfig__Group_2__1__Impl7969);
+            pushFollow(FOLLOW_rule__AttrClassConfig__ValueAssignment_2_1_in_rule__AttrClassConfig__Group_2__1__Impl7667);
             rule__AttrClassConfig__ValueAssignment_2_1();
 
             state._fsp--;
@@ -11534,21 +11270,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3940:1: rule__AttrClassConfig__Group_3__0 : rule__AttrClassConfig__Group_3__0__Impl rule__AttrClassConfig__Group_3__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3785:1: rule__AttrClassConfig__Group_3__0 : rule__AttrClassConfig__Group_3__0__Impl rule__AttrClassConfig__Group_3__1 ;
     public final void rule__AttrClassConfig__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3944:1: ( rule__AttrClassConfig__Group_3__0__Impl rule__AttrClassConfig__Group_3__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3945:2: rule__AttrClassConfig__Group_3__0__Impl rule__AttrClassConfig__Group_3__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3789:1: ( rule__AttrClassConfig__Group_3__0__Impl rule__AttrClassConfig__Group_3__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3790:2: rule__AttrClassConfig__Group_3__0__Impl rule__AttrClassConfig__Group_3__1
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__0__Impl_in_rule__AttrClassConfig__Group_3__08003);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__0__Impl_in_rule__AttrClassConfig__Group_3__07701);
             rule__AttrClassConfig__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__1_in_rule__AttrClassConfig__Group_3__08006);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__1_in_rule__AttrClassConfig__Group_3__07704);
             rule__AttrClassConfig__Group_3__1();
 
             state._fsp--;
@@ -11572,22 +11308,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3952:1: rule__AttrClassConfig__Group_3__0__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3797:1: rule__AttrClassConfig__Group_3__0__Impl : ( '{' ) ;
     public final void rule__AttrClassConfig__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3956:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3957:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3801:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3802:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3957:1: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3958:1: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3802:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3803:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
-            match(input,26,FOLLOW_26_in_rule__AttrClassConfig__Group_3__0__Impl8034); if (state.failed) return ;
+            match(input,27,FOLLOW_27_in_rule__AttrClassConfig__Group_3__0__Impl7732); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrClassConfigAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
@@ -11613,21 +11349,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3971:1: rule__AttrClassConfig__Group_3__1 : rule__AttrClassConfig__Group_3__1__Impl rule__AttrClassConfig__Group_3__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3816:1: rule__AttrClassConfig__Group_3__1 : rule__AttrClassConfig__Group_3__1__Impl rule__AttrClassConfig__Group_3__2 ;
     public final void rule__AttrClassConfig__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3975:1: ( rule__AttrClassConfig__Group_3__1__Impl rule__AttrClassConfig__Group_3__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3976:2: rule__AttrClassConfig__Group_3__1__Impl rule__AttrClassConfig__Group_3__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3820:1: ( rule__AttrClassConfig__Group_3__1__Impl rule__AttrClassConfig__Group_3__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3821:2: rule__AttrClassConfig__Group_3__1__Impl rule__AttrClassConfig__Group_3__2
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__1__Impl_in_rule__AttrClassConfig__Group_3__18065);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__1__Impl_in_rule__AttrClassConfig__Group_3__17763);
             rule__AttrClassConfig__Group_3__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__2_in_rule__AttrClassConfig__Group_3__18068);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__2_in_rule__AttrClassConfig__Group_3__17766);
             rule__AttrClassConfig__Group_3__2();
 
             state._fsp--;
@@ -11651,25 +11387,25 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3983:1: rule__AttrClassConfig__Group_3__1__Impl : ( ( rule__AttrClassConfig__Group_3_1__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3828:1: rule__AttrClassConfig__Group_3__1__Impl : ( ( rule__AttrClassConfig__Group_3_1__0 ) ) ;
     public final void rule__AttrClassConfig__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3987:1: ( ( ( rule__AttrClassConfig__Group_3_1__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3988:1: ( ( rule__AttrClassConfig__Group_3_1__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3832:1: ( ( ( rule__AttrClassConfig__Group_3_1__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3833:1: ( ( rule__AttrClassConfig__Group_3_1__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3988:1: ( ( rule__AttrClassConfig__Group_3_1__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3989:1: ( rule__AttrClassConfig__Group_3_1__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3833:1: ( ( rule__AttrClassConfig__Group_3_1__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3834:1: ( rule__AttrClassConfig__Group_3_1__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getGroup_3_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3990:1: ( rule__AttrClassConfig__Group_3_1__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3990:2: rule__AttrClassConfig__Group_3_1__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3835:1: ( rule__AttrClassConfig__Group_3_1__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3835:2: rule__AttrClassConfig__Group_3_1__0
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__0_in_rule__AttrClassConfig__Group_3__1__Impl8095);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__0_in_rule__AttrClassConfig__Group_3__1__Impl7793);
             rule__AttrClassConfig__Group_3_1__0();
 
             state._fsp--;
@@ -11702,16 +11438,16 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4000:1: rule__AttrClassConfig__Group_3__2 : rule__AttrClassConfig__Group_3__2__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3845:1: rule__AttrClassConfig__Group_3__2 : rule__AttrClassConfig__Group_3__2__Impl ;
     public final void rule__AttrClassConfig__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4004:1: ( rule__AttrClassConfig__Group_3__2__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4005:2: rule__AttrClassConfig__Group_3__2__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3849:1: ( rule__AttrClassConfig__Group_3__2__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3850:2: rule__AttrClassConfig__Group_3__2__Impl
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__2__Impl_in_rule__AttrClassConfig__Group_3__28125);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3__2__Impl_in_rule__AttrClassConfig__Group_3__27823);
             rule__AttrClassConfig__Group_3__2__Impl();
 
             state._fsp--;
@@ -11735,22 +11471,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4011:1: rule__AttrClassConfig__Group_3__2__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3856:1: rule__AttrClassConfig__Group_3__2__Impl : ( '}' ) ;
     public final void rule__AttrClassConfig__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4015:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4016:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3860:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3861:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4016:1: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4017:1: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3861:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3862:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getRightCurlyBracketKeyword_3_2()); 
             }
-            match(input,27,FOLLOW_27_in_rule__AttrClassConfig__Group_3__2__Impl8153); if (state.failed) return ;
+            match(input,28,FOLLOW_28_in_rule__AttrClassConfig__Group_3__2__Impl7851); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrClassConfigAccess().getRightCurlyBracketKeyword_3_2()); 
             }
@@ -11776,21 +11512,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4036:1: rule__AttrClassConfig__Group_3_1__0 : rule__AttrClassConfig__Group_3_1__0__Impl rule__AttrClassConfig__Group_3_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3881:1: rule__AttrClassConfig__Group_3_1__0 : rule__AttrClassConfig__Group_3_1__0__Impl rule__AttrClassConfig__Group_3_1__1 ;
     public final void rule__AttrClassConfig__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4040:1: ( rule__AttrClassConfig__Group_3_1__0__Impl rule__AttrClassConfig__Group_3_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4041:2: rule__AttrClassConfig__Group_3_1__0__Impl rule__AttrClassConfig__Group_3_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3885:1: ( rule__AttrClassConfig__Group_3_1__0__Impl rule__AttrClassConfig__Group_3_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3886:2: rule__AttrClassConfig__Group_3_1__0__Impl rule__AttrClassConfig__Group_3_1__1
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__0__Impl_in_rule__AttrClassConfig__Group_3_1__08190);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__0__Impl_in_rule__AttrClassConfig__Group_3_1__07888);
             rule__AttrClassConfig__Group_3_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__1_in_rule__AttrClassConfig__Group_3_1__08193);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__1_in_rule__AttrClassConfig__Group_3_1__07891);
             rule__AttrClassConfig__Group_3_1__1();
 
             state._fsp--;
@@ -11814,33 +11550,33 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4048:1: rule__AttrClassConfig__Group_3_1__0__Impl : ( ( rule__AttrClassConfig__Group_3_1_0__0 )? ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3893:1: rule__AttrClassConfig__Group_3_1__0__Impl : ( ( rule__AttrClassConfig__Group_3_1_0__0 )? ) ;
     public final void rule__AttrClassConfig__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4052:1: ( ( ( rule__AttrClassConfig__Group_3_1_0__0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4053:1: ( ( rule__AttrClassConfig__Group_3_1_0__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3897:1: ( ( ( rule__AttrClassConfig__Group_3_1_0__0 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3898:1: ( ( rule__AttrClassConfig__Group_3_1_0__0 )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4053:1: ( ( rule__AttrClassConfig__Group_3_1_0__0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4054:1: ( rule__AttrClassConfig__Group_3_1_0__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3898:1: ( ( rule__AttrClassConfig__Group_3_1_0__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3899:1: ( rule__AttrClassConfig__Group_3_1_0__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getGroup_3_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4055:1: ( rule__AttrClassConfig__Group_3_1_0__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3900:1: ( rule__AttrClassConfig__Group_3_1_0__0 )?
             int alt29=2;
             int LA29_0 = input.LA(1);
 
-            if ( (LA29_0==43) ) {
+            if ( (LA29_0==44) ) {
                 alt29=1;
             }
             switch (alt29) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4055:2: rule__AttrClassConfig__Group_3_1_0__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3900:2: rule__AttrClassConfig__Group_3_1_0__0
                     {
-                    pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__0_in_rule__AttrClassConfig__Group_3_1__0__Impl8220);
+                    pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__0_in_rule__AttrClassConfig__Group_3_1__0__Impl7918);
                     rule__AttrClassConfig__Group_3_1_0__0();
 
                     state._fsp--;
@@ -11876,21 +11612,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4065:1: rule__AttrClassConfig__Group_3_1__1 : rule__AttrClassConfig__Group_3_1__1__Impl rule__AttrClassConfig__Group_3_1__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3910:1: rule__AttrClassConfig__Group_3_1__1 : rule__AttrClassConfig__Group_3_1__1__Impl rule__AttrClassConfig__Group_3_1__2 ;
     public final void rule__AttrClassConfig__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4069:1: ( rule__AttrClassConfig__Group_3_1__1__Impl rule__AttrClassConfig__Group_3_1__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4070:2: rule__AttrClassConfig__Group_3_1__1__Impl rule__AttrClassConfig__Group_3_1__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3914:1: ( rule__AttrClassConfig__Group_3_1__1__Impl rule__AttrClassConfig__Group_3_1__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3915:2: rule__AttrClassConfig__Group_3_1__1__Impl rule__AttrClassConfig__Group_3_1__2
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__1__Impl_in_rule__AttrClassConfig__Group_3_1__18251);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__1__Impl_in_rule__AttrClassConfig__Group_3_1__17949);
             rule__AttrClassConfig__Group_3_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__2_in_rule__AttrClassConfig__Group_3_1__18254);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__2_in_rule__AttrClassConfig__Group_3_1__17952);
             rule__AttrClassConfig__Group_3_1__2();
 
             state._fsp--;
@@ -11914,33 +11650,33 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4077:1: rule__AttrClassConfig__Group_3_1__1__Impl : ( ( rule__AttrClassConfig__Group_3_1_1__0 )? ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3922:1: rule__AttrClassConfig__Group_3_1__1__Impl : ( ( rule__AttrClassConfig__Group_3_1_1__0 )? ) ;
     public final void rule__AttrClassConfig__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4081:1: ( ( ( rule__AttrClassConfig__Group_3_1_1__0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4082:1: ( ( rule__AttrClassConfig__Group_3_1_1__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3926:1: ( ( ( rule__AttrClassConfig__Group_3_1_1__0 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3927:1: ( ( rule__AttrClassConfig__Group_3_1_1__0 )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4082:1: ( ( rule__AttrClassConfig__Group_3_1_1__0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4083:1: ( rule__AttrClassConfig__Group_3_1_1__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3927:1: ( ( rule__AttrClassConfig__Group_3_1_1__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3928:1: ( rule__AttrClassConfig__Group_3_1_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getGroup_3_1_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4084:1: ( rule__AttrClassConfig__Group_3_1_1__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3929:1: ( rule__AttrClassConfig__Group_3_1_1__0 )?
             int alt30=2;
             int LA30_0 = input.LA(1);
 
-            if ( (LA30_0==44) ) {
+            if ( (LA30_0==45) ) {
                 alt30=1;
             }
             switch (alt30) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4084:2: rule__AttrClassConfig__Group_3_1_1__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3929:2: rule__AttrClassConfig__Group_3_1_1__0
                     {
-                    pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__0_in_rule__AttrClassConfig__Group_3_1__1__Impl8281);
+                    pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__0_in_rule__AttrClassConfig__Group_3_1__1__Impl7979);
                     rule__AttrClassConfig__Group_3_1_1__0();
 
                     state._fsp--;
@@ -11976,16 +11712,16 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4094:1: rule__AttrClassConfig__Group_3_1__2 : rule__AttrClassConfig__Group_3_1__2__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3939:1: rule__AttrClassConfig__Group_3_1__2 : rule__AttrClassConfig__Group_3_1__2__Impl ;
     public final void rule__AttrClassConfig__Group_3_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4098:1: ( rule__AttrClassConfig__Group_3_1__2__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4099:2: rule__AttrClassConfig__Group_3_1__2__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3943:1: ( rule__AttrClassConfig__Group_3_1__2__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3944:2: rule__AttrClassConfig__Group_3_1__2__Impl
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__2__Impl_in_rule__AttrClassConfig__Group_3_1__28312);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1__2__Impl_in_rule__AttrClassConfig__Group_3_1__28010);
             rule__AttrClassConfig__Group_3_1__2__Impl();
 
             state._fsp--;
@@ -12009,37 +11745,37 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4105:1: rule__AttrClassConfig__Group_3_1__2__Impl : ( ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3950:1: rule__AttrClassConfig__Group_3_1__2__Impl : ( ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )* ) ;
     public final void rule__AttrClassConfig__Group_3_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4109:1: ( ( ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4110:1: ( ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3954:1: ( ( ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3955:1: ( ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4110:1: ( ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4111:1: ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3955:1: ( ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3956:1: ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getAttributesAssignment_3_1_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4112:1: ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3957:1: ( rule__AttrClassConfig__AttributesAssignment_3_1_2 )*
             loop31:
             do {
                 int alt31=2;
                 int LA31_0 = input.LA(1);
 
-                if ( (LA31_0==41) ) {
+                if ( (LA31_0==42) ) {
                     alt31=1;
                 }
 
 
                 switch (alt31) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4112:2: rule__AttrClassConfig__AttributesAssignment_3_1_2
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3957:2: rule__AttrClassConfig__AttributesAssignment_3_1_2
             	    {
-            	    pushFollow(FOLLOW_rule__AttrClassConfig__AttributesAssignment_3_1_2_in_rule__AttrClassConfig__Group_3_1__2__Impl8339);
+            	    pushFollow(FOLLOW_rule__AttrClassConfig__AttributesAssignment_3_1_2_in_rule__AttrClassConfig__Group_3_1__2__Impl8037);
             	    rule__AttrClassConfig__AttributesAssignment_3_1_2();
 
             	    state._fsp--;
@@ -12078,21 +11814,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_0__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4128:1: rule__AttrClassConfig__Group_3_1_0__0 : rule__AttrClassConfig__Group_3_1_0__0__Impl rule__AttrClassConfig__Group_3_1_0__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3973:1: rule__AttrClassConfig__Group_3_1_0__0 : rule__AttrClassConfig__Group_3_1_0__0__Impl rule__AttrClassConfig__Group_3_1_0__1 ;
     public final void rule__AttrClassConfig__Group_3_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4132:1: ( rule__AttrClassConfig__Group_3_1_0__0__Impl rule__AttrClassConfig__Group_3_1_0__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4133:2: rule__AttrClassConfig__Group_3_1_0__0__Impl rule__AttrClassConfig__Group_3_1_0__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3977:1: ( rule__AttrClassConfig__Group_3_1_0__0__Impl rule__AttrClassConfig__Group_3_1_0__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3978:2: rule__AttrClassConfig__Group_3_1_0__0__Impl rule__AttrClassConfig__Group_3_1_0__1
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__0__Impl_in_rule__AttrClassConfig__Group_3_1_0__08376);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__0__Impl_in_rule__AttrClassConfig__Group_3_1_0__08074);
             rule__AttrClassConfig__Group_3_1_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__1_in_rule__AttrClassConfig__Group_3_1_0__08379);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__1_in_rule__AttrClassConfig__Group_3_1_0__08077);
             rule__AttrClassConfig__Group_3_1_0__1();
 
             state._fsp--;
@@ -12116,22 +11852,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_0__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4140:1: rule__AttrClassConfig__Group_3_1_0__0__Impl : ( 'min' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3985:1: rule__AttrClassConfig__Group_3_1_0__0__Impl : ( 'min' ) ;
     public final void rule__AttrClassConfig__Group_3_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4144:1: ( ( 'min' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4145:1: ( 'min' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3989:1: ( ( 'min' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3990:1: ( 'min' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4145:1: ( 'min' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4146:1: 'min'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3990:1: ( 'min' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:3991:1: 'min'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getMinKeyword_3_1_0_0()); 
             }
-            match(input,43,FOLLOW_43_in_rule__AttrClassConfig__Group_3_1_0__0__Impl8407); if (state.failed) return ;
+            match(input,44,FOLLOW_44_in_rule__AttrClassConfig__Group_3_1_0__0__Impl8105); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrClassConfigAccess().getMinKeyword_3_1_0_0()); 
             }
@@ -12157,21 +11893,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_0__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4159:1: rule__AttrClassConfig__Group_3_1_0__1 : rule__AttrClassConfig__Group_3_1_0__1__Impl rule__AttrClassConfig__Group_3_1_0__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4004:1: rule__AttrClassConfig__Group_3_1_0__1 : rule__AttrClassConfig__Group_3_1_0__1__Impl rule__AttrClassConfig__Group_3_1_0__2 ;
     public final void rule__AttrClassConfig__Group_3_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4163:1: ( rule__AttrClassConfig__Group_3_1_0__1__Impl rule__AttrClassConfig__Group_3_1_0__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4164:2: rule__AttrClassConfig__Group_3_1_0__1__Impl rule__AttrClassConfig__Group_3_1_0__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4008:1: ( rule__AttrClassConfig__Group_3_1_0__1__Impl rule__AttrClassConfig__Group_3_1_0__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4009:2: rule__AttrClassConfig__Group_3_1_0__1__Impl rule__AttrClassConfig__Group_3_1_0__2
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__1__Impl_in_rule__AttrClassConfig__Group_3_1_0__18438);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__1__Impl_in_rule__AttrClassConfig__Group_3_1_0__18136);
             rule__AttrClassConfig__Group_3_1_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__2_in_rule__AttrClassConfig__Group_3_1_0__18441);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__2_in_rule__AttrClassConfig__Group_3_1_0__18139);
             rule__AttrClassConfig__Group_3_1_0__2();
 
             state._fsp--;
@@ -12195,22 +11931,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_0__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4171:1: rule__AttrClassConfig__Group_3_1_0__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4016:1: rule__AttrClassConfig__Group_3_1_0__1__Impl : ( '=' ) ;
     public final void rule__AttrClassConfig__Group_3_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4175:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4176:1: ( '=' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4020:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4021:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4176:1: ( '=' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4177:1: '='
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4021:1: ( '=' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4022:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_0_1()); 
             }
-            match(input,42,FOLLOW_42_in_rule__AttrClassConfig__Group_3_1_0__1__Impl8469); if (state.failed) return ;
+            match(input,43,FOLLOW_43_in_rule__AttrClassConfig__Group_3_1_0__1__Impl8167); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_0_1()); 
             }
@@ -12236,16 +11972,16 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_0__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4190:1: rule__AttrClassConfig__Group_3_1_0__2 : rule__AttrClassConfig__Group_3_1_0__2__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4035:1: rule__AttrClassConfig__Group_3_1_0__2 : rule__AttrClassConfig__Group_3_1_0__2__Impl ;
     public final void rule__AttrClassConfig__Group_3_1_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4194:1: ( rule__AttrClassConfig__Group_3_1_0__2__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4195:2: rule__AttrClassConfig__Group_3_1_0__2__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4039:1: ( rule__AttrClassConfig__Group_3_1_0__2__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4040:2: rule__AttrClassConfig__Group_3_1_0__2__Impl
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__2__Impl_in_rule__AttrClassConfig__Group_3_1_0__28500);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_0__2__Impl_in_rule__AttrClassConfig__Group_3_1_0__28198);
             rule__AttrClassConfig__Group_3_1_0__2__Impl();
 
             state._fsp--;
@@ -12269,25 +12005,25 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_0__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4201:1: rule__AttrClassConfig__Group_3_1_0__2__Impl : ( ( rule__AttrClassConfig__MinAssignment_3_1_0_2 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4046:1: rule__AttrClassConfig__Group_3_1_0__2__Impl : ( ( rule__AttrClassConfig__MinAssignment_3_1_0_2 ) ) ;
     public final void rule__AttrClassConfig__Group_3_1_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4205:1: ( ( ( rule__AttrClassConfig__MinAssignment_3_1_0_2 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4206:1: ( ( rule__AttrClassConfig__MinAssignment_3_1_0_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4050:1: ( ( ( rule__AttrClassConfig__MinAssignment_3_1_0_2 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4051:1: ( ( rule__AttrClassConfig__MinAssignment_3_1_0_2 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4206:1: ( ( rule__AttrClassConfig__MinAssignment_3_1_0_2 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4207:1: ( rule__AttrClassConfig__MinAssignment_3_1_0_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4051:1: ( ( rule__AttrClassConfig__MinAssignment_3_1_0_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4052:1: ( rule__AttrClassConfig__MinAssignment_3_1_0_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getMinAssignment_3_1_0_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4208:1: ( rule__AttrClassConfig__MinAssignment_3_1_0_2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4208:2: rule__AttrClassConfig__MinAssignment_3_1_0_2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4053:1: ( rule__AttrClassConfig__MinAssignment_3_1_0_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4053:2: rule__AttrClassConfig__MinAssignment_3_1_0_2
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__MinAssignment_3_1_0_2_in_rule__AttrClassConfig__Group_3_1_0__2__Impl8527);
+            pushFollow(FOLLOW_rule__AttrClassConfig__MinAssignment_3_1_0_2_in_rule__AttrClassConfig__Group_3_1_0__2__Impl8225);
             rule__AttrClassConfig__MinAssignment_3_1_0_2();
 
             state._fsp--;
@@ -12320,21 +12056,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4224:1: rule__AttrClassConfig__Group_3_1_1__0 : rule__AttrClassConfig__Group_3_1_1__0__Impl rule__AttrClassConfig__Group_3_1_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4069:1: rule__AttrClassConfig__Group_3_1_1__0 : rule__AttrClassConfig__Group_3_1_1__0__Impl rule__AttrClassConfig__Group_3_1_1__1 ;
     public final void rule__AttrClassConfig__Group_3_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4228:1: ( rule__AttrClassConfig__Group_3_1_1__0__Impl rule__AttrClassConfig__Group_3_1_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4229:2: rule__AttrClassConfig__Group_3_1_1__0__Impl rule__AttrClassConfig__Group_3_1_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4073:1: ( rule__AttrClassConfig__Group_3_1_1__0__Impl rule__AttrClassConfig__Group_3_1_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4074:2: rule__AttrClassConfig__Group_3_1_1__0__Impl rule__AttrClassConfig__Group_3_1_1__1
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__0__Impl_in_rule__AttrClassConfig__Group_3_1_1__08563);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__0__Impl_in_rule__AttrClassConfig__Group_3_1_1__08261);
             rule__AttrClassConfig__Group_3_1_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__1_in_rule__AttrClassConfig__Group_3_1_1__08566);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__1_in_rule__AttrClassConfig__Group_3_1_1__08264);
             rule__AttrClassConfig__Group_3_1_1__1();
 
             state._fsp--;
@@ -12358,22 +12094,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4236:1: rule__AttrClassConfig__Group_3_1_1__0__Impl : ( 'max' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4081:1: rule__AttrClassConfig__Group_3_1_1__0__Impl : ( 'max' ) ;
     public final void rule__AttrClassConfig__Group_3_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4240:1: ( ( 'max' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4241:1: ( 'max' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4085:1: ( ( 'max' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4086:1: ( 'max' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4241:1: ( 'max' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4242:1: 'max'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4086:1: ( 'max' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4087:1: 'max'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getMaxKeyword_3_1_1_0()); 
             }
-            match(input,44,FOLLOW_44_in_rule__AttrClassConfig__Group_3_1_1__0__Impl8594); if (state.failed) return ;
+            match(input,45,FOLLOW_45_in_rule__AttrClassConfig__Group_3_1_1__0__Impl8292); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrClassConfigAccess().getMaxKeyword_3_1_1_0()); 
             }
@@ -12399,21 +12135,21 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4255:1: rule__AttrClassConfig__Group_3_1_1__1 : rule__AttrClassConfig__Group_3_1_1__1__Impl rule__AttrClassConfig__Group_3_1_1__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4100:1: rule__AttrClassConfig__Group_3_1_1__1 : rule__AttrClassConfig__Group_3_1_1__1__Impl rule__AttrClassConfig__Group_3_1_1__2 ;
     public final void rule__AttrClassConfig__Group_3_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4259:1: ( rule__AttrClassConfig__Group_3_1_1__1__Impl rule__AttrClassConfig__Group_3_1_1__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4260:2: rule__AttrClassConfig__Group_3_1_1__1__Impl rule__AttrClassConfig__Group_3_1_1__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4104:1: ( rule__AttrClassConfig__Group_3_1_1__1__Impl rule__AttrClassConfig__Group_3_1_1__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4105:2: rule__AttrClassConfig__Group_3_1_1__1__Impl rule__AttrClassConfig__Group_3_1_1__2
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__1__Impl_in_rule__AttrClassConfig__Group_3_1_1__18625);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__1__Impl_in_rule__AttrClassConfig__Group_3_1_1__18323);
             rule__AttrClassConfig__Group_3_1_1__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__2_in_rule__AttrClassConfig__Group_3_1_1__18628);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__2_in_rule__AttrClassConfig__Group_3_1_1__18326);
             rule__AttrClassConfig__Group_3_1_1__2();
 
             state._fsp--;
@@ -12437,22 +12173,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4267:1: rule__AttrClassConfig__Group_3_1_1__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4112:1: rule__AttrClassConfig__Group_3_1_1__1__Impl : ( '=' ) ;
     public final void rule__AttrClassConfig__Group_3_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4271:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4272:1: ( '=' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4116:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4117:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4272:1: ( '=' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4273:1: '='
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4117:1: ( '=' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4118:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_1_1()); 
             }
-            match(input,42,FOLLOW_42_in_rule__AttrClassConfig__Group_3_1_1__1__Impl8656); if (state.failed) return ;
+            match(input,43,FOLLOW_43_in_rule__AttrClassConfig__Group_3_1_1__1__Impl8354); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_1_1()); 
             }
@@ -12478,16 +12214,16 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_1__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4286:1: rule__AttrClassConfig__Group_3_1_1__2 : rule__AttrClassConfig__Group_3_1_1__2__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4131:1: rule__AttrClassConfig__Group_3_1_1__2 : rule__AttrClassConfig__Group_3_1_1__2__Impl ;
     public final void rule__AttrClassConfig__Group_3_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4290:1: ( rule__AttrClassConfig__Group_3_1_1__2__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4291:2: rule__AttrClassConfig__Group_3_1_1__2__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4135:1: ( rule__AttrClassConfig__Group_3_1_1__2__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4136:2: rule__AttrClassConfig__Group_3_1_1__2__Impl
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__2__Impl_in_rule__AttrClassConfig__Group_3_1_1__28687);
+            pushFollow(FOLLOW_rule__AttrClassConfig__Group_3_1_1__2__Impl_in_rule__AttrClassConfig__Group_3_1_1__28385);
             rule__AttrClassConfig__Group_3_1_1__2__Impl();
 
             state._fsp--;
@@ -12511,25 +12247,25 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__Group_3_1_1__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4297:1: rule__AttrClassConfig__Group_3_1_1__2__Impl : ( ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4142:1: rule__AttrClassConfig__Group_3_1_1__2__Impl : ( ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 ) ) ;
     public final void rule__AttrClassConfig__Group_3_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4301:1: ( ( ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4302:1: ( ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4146:1: ( ( ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4147:1: ( ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4302:1: ( ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4303:1: ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4147:1: ( ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4148:1: ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getMaxAssignment_3_1_1_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4304:1: ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4304:2: rule__AttrClassConfig__MaxAssignment_3_1_1_2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4149:1: ( rule__AttrClassConfig__MaxAssignment_3_1_1_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4149:2: rule__AttrClassConfig__MaxAssignment_3_1_1_2
             {
-            pushFollow(FOLLOW_rule__AttrClassConfig__MaxAssignment_3_1_1_2_in_rule__AttrClassConfig__Group_3_1_1__2__Impl8714);
+            pushFollow(FOLLOW_rule__AttrClassConfig__MaxAssignment_3_1_1_2_in_rule__AttrClassConfig__Group_3_1_1__2__Impl8412);
             rule__AttrClassConfig__MaxAssignment_3_1_1_2();
 
             state._fsp--;
@@ -12562,21 +12298,21 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4320:1: rule__AttrInstanceConfig__Group__0 : rule__AttrInstanceConfig__Group__0__Impl rule__AttrInstanceConfig__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4165:1: rule__AttrInstanceConfig__Group__0 : rule__AttrInstanceConfig__Group__0__Impl rule__AttrInstanceConfig__Group__1 ;
     public final void rule__AttrInstanceConfig__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4324:1: ( rule__AttrInstanceConfig__Group__0__Impl rule__AttrInstanceConfig__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4325:2: rule__AttrInstanceConfig__Group__0__Impl rule__AttrInstanceConfig__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4169:1: ( rule__AttrInstanceConfig__Group__0__Impl rule__AttrInstanceConfig__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4170:2: rule__AttrInstanceConfig__Group__0__Impl rule__AttrInstanceConfig__Group__1
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__0__Impl_in_rule__AttrInstanceConfig__Group__08750);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__0__Impl_in_rule__AttrInstanceConfig__Group__08448);
             rule__AttrInstanceConfig__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__1_in_rule__AttrInstanceConfig__Group__08753);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__1_in_rule__AttrInstanceConfig__Group__08451);
             rule__AttrInstanceConfig__Group__1();
 
             state._fsp--;
@@ -12600,22 +12336,22 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4332:1: rule__AttrInstanceConfig__Group__0__Impl : ( 'Attr' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4177:1: rule__AttrInstanceConfig__Group__0__Impl : ( 'Attr' ) ;
     public final void rule__AttrInstanceConfig__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4336:1: ( ( 'Attr' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4337:1: ( 'Attr' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4181:1: ( ( 'Attr' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4182:1: ( 'Attr' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4337:1: ( 'Attr' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4338:1: 'Attr'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4182:1: ( 'Attr' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4183:1: 'Attr'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getAttrKeyword_0()); 
             }
-            match(input,41,FOLLOW_41_in_rule__AttrInstanceConfig__Group__0__Impl8781); if (state.failed) return ;
+            match(input,42,FOLLOW_42_in_rule__AttrInstanceConfig__Group__0__Impl8479); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrInstanceConfigAccess().getAttrKeyword_0()); 
             }
@@ -12641,21 +12377,21 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4351:1: rule__AttrInstanceConfig__Group__1 : rule__AttrInstanceConfig__Group__1__Impl rule__AttrInstanceConfig__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4196:1: rule__AttrInstanceConfig__Group__1 : rule__AttrInstanceConfig__Group__1__Impl rule__AttrInstanceConfig__Group__2 ;
     public final void rule__AttrInstanceConfig__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4355:1: ( rule__AttrInstanceConfig__Group__1__Impl rule__AttrInstanceConfig__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4356:2: rule__AttrInstanceConfig__Group__1__Impl rule__AttrInstanceConfig__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4200:1: ( rule__AttrInstanceConfig__Group__1__Impl rule__AttrInstanceConfig__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4201:2: rule__AttrInstanceConfig__Group__1__Impl rule__AttrInstanceConfig__Group__2
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__1__Impl_in_rule__AttrInstanceConfig__Group__18812);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__1__Impl_in_rule__AttrInstanceConfig__Group__18510);
             rule__AttrInstanceConfig__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__2_in_rule__AttrInstanceConfig__Group__18815);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__2_in_rule__AttrInstanceConfig__Group__18513);
             rule__AttrInstanceConfig__Group__2();
 
             state._fsp--;
@@ -12679,25 +12415,25 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4363:1: rule__AttrInstanceConfig__Group__1__Impl : ( ( rule__AttrInstanceConfig__AttributeAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4208:1: rule__AttrInstanceConfig__Group__1__Impl : ( ( rule__AttrInstanceConfig__AttributeAssignment_1 ) ) ;
     public final void rule__AttrInstanceConfig__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4367:1: ( ( ( rule__AttrInstanceConfig__AttributeAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4368:1: ( ( rule__AttrInstanceConfig__AttributeAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4212:1: ( ( ( rule__AttrInstanceConfig__AttributeAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4213:1: ( ( rule__AttrInstanceConfig__AttributeAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4368:1: ( ( rule__AttrInstanceConfig__AttributeAssignment_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4369:1: ( rule__AttrInstanceConfig__AttributeAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4213:1: ( ( rule__AttrInstanceConfig__AttributeAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4214:1: ( rule__AttrInstanceConfig__AttributeAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getAttributeAssignment_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4370:1: ( rule__AttrInstanceConfig__AttributeAssignment_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4370:2: rule__AttrInstanceConfig__AttributeAssignment_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4215:1: ( rule__AttrInstanceConfig__AttributeAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4215:2: rule__AttrInstanceConfig__AttributeAssignment_1
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__AttributeAssignment_1_in_rule__AttrInstanceConfig__Group__1__Impl8842);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__AttributeAssignment_1_in_rule__AttrInstanceConfig__Group__1__Impl8540);
             rule__AttrInstanceConfig__AttributeAssignment_1();
 
             state._fsp--;
@@ -12730,21 +12466,21 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4380:1: rule__AttrInstanceConfig__Group__2 : rule__AttrInstanceConfig__Group__2__Impl rule__AttrInstanceConfig__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4225:1: rule__AttrInstanceConfig__Group__2 : rule__AttrInstanceConfig__Group__2__Impl rule__AttrInstanceConfig__Group__3 ;
     public final void rule__AttrInstanceConfig__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4384:1: ( rule__AttrInstanceConfig__Group__2__Impl rule__AttrInstanceConfig__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4385:2: rule__AttrInstanceConfig__Group__2__Impl rule__AttrInstanceConfig__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4229:1: ( rule__AttrInstanceConfig__Group__2__Impl rule__AttrInstanceConfig__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4230:2: rule__AttrInstanceConfig__Group__2__Impl rule__AttrInstanceConfig__Group__3
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__2__Impl_in_rule__AttrInstanceConfig__Group__28872);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__2__Impl_in_rule__AttrInstanceConfig__Group__28570);
             rule__AttrInstanceConfig__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__3_in_rule__AttrInstanceConfig__Group__28875);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__3_in_rule__AttrInstanceConfig__Group__28573);
             rule__AttrInstanceConfig__Group__3();
 
             state._fsp--;
@@ -12768,33 +12504,33 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4392:1: rule__AttrInstanceConfig__Group__2__Impl : ( ( rule__AttrInstanceConfig__Group_2__0 )? ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4237:1: rule__AttrInstanceConfig__Group__2__Impl : ( ( rule__AttrInstanceConfig__Group_2__0 )? ) ;
     public final void rule__AttrInstanceConfig__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4396:1: ( ( ( rule__AttrInstanceConfig__Group_2__0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4397:1: ( ( rule__AttrInstanceConfig__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4241:1: ( ( ( rule__AttrInstanceConfig__Group_2__0 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4242:1: ( ( rule__AttrInstanceConfig__Group_2__0 )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4397:1: ( ( rule__AttrInstanceConfig__Group_2__0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4398:1: ( rule__AttrInstanceConfig__Group_2__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4242:1: ( ( rule__AttrInstanceConfig__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4243:1: ( rule__AttrInstanceConfig__Group_2__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getGroup_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4399:1: ( rule__AttrInstanceConfig__Group_2__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4244:1: ( rule__AttrInstanceConfig__Group_2__0 )?
             int alt32=2;
             int LA32_0 = input.LA(1);
 
-            if ( (LA32_0==42) ) {
+            if ( (LA32_0==43) ) {
                 alt32=1;
             }
             switch (alt32) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4399:2: rule__AttrInstanceConfig__Group_2__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4244:2: rule__AttrInstanceConfig__Group_2__0
                     {
-                    pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_2__0_in_rule__AttrInstanceConfig__Group__2__Impl8902);
+                    pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_2__0_in_rule__AttrInstanceConfig__Group__2__Impl8600);
                     rule__AttrInstanceConfig__Group_2__0();
 
                     state._fsp--;
@@ -12830,16 +12566,16 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4409:1: rule__AttrInstanceConfig__Group__3 : rule__AttrInstanceConfig__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4254:1: rule__AttrInstanceConfig__Group__3 : rule__AttrInstanceConfig__Group__3__Impl ;
     public final void rule__AttrInstanceConfig__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4413:1: ( rule__AttrInstanceConfig__Group__3__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4414:2: rule__AttrInstanceConfig__Group__3__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4258:1: ( rule__AttrInstanceConfig__Group__3__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4259:2: rule__AttrInstanceConfig__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__3__Impl_in_rule__AttrInstanceConfig__Group__38933);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group__3__Impl_in_rule__AttrInstanceConfig__Group__38631);
             rule__AttrInstanceConfig__Group__3__Impl();
 
             state._fsp--;
@@ -12863,33 +12599,33 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4420:1: rule__AttrInstanceConfig__Group__3__Impl : ( ( rule__AttrInstanceConfig__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4265:1: rule__AttrInstanceConfig__Group__3__Impl : ( ( rule__AttrInstanceConfig__Group_3__0 )? ) ;
     public final void rule__AttrInstanceConfig__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4424:1: ( ( ( rule__AttrInstanceConfig__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4425:1: ( ( rule__AttrInstanceConfig__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4269:1: ( ( ( rule__AttrInstanceConfig__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4270:1: ( ( rule__AttrInstanceConfig__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4425:1: ( ( rule__AttrInstanceConfig__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4426:1: ( rule__AttrInstanceConfig__Group_3__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4270:1: ( ( rule__AttrInstanceConfig__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4271:1: ( rule__AttrInstanceConfig__Group_3__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getGroup_3()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4427:1: ( rule__AttrInstanceConfig__Group_3__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4272:1: ( rule__AttrInstanceConfig__Group_3__0 )?
             int alt33=2;
             int LA33_0 = input.LA(1);
 
-            if ( (LA33_0==26) ) {
+            if ( (LA33_0==27) ) {
                 alt33=1;
             }
             switch (alt33) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4427:2: rule__AttrInstanceConfig__Group_3__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4272:2: rule__AttrInstanceConfig__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__0_in_rule__AttrInstanceConfig__Group__3__Impl8960);
+                    pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__0_in_rule__AttrInstanceConfig__Group__3__Impl8658);
                     rule__AttrInstanceConfig__Group_3__0();
 
                     state._fsp--;
@@ -12925,21 +12661,21 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_2__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4445:1: rule__AttrInstanceConfig__Group_2__0 : rule__AttrInstanceConfig__Group_2__0__Impl rule__AttrInstanceConfig__Group_2__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4290:1: rule__AttrInstanceConfig__Group_2__0 : rule__AttrInstanceConfig__Group_2__0__Impl rule__AttrInstanceConfig__Group_2__1 ;
     public final void rule__AttrInstanceConfig__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4449:1: ( rule__AttrInstanceConfig__Group_2__0__Impl rule__AttrInstanceConfig__Group_2__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4450:2: rule__AttrInstanceConfig__Group_2__0__Impl rule__AttrInstanceConfig__Group_2__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4294:1: ( rule__AttrInstanceConfig__Group_2__0__Impl rule__AttrInstanceConfig__Group_2__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4295:2: rule__AttrInstanceConfig__Group_2__0__Impl rule__AttrInstanceConfig__Group_2__1
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_2__0__Impl_in_rule__AttrInstanceConfig__Group_2__08999);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_2__0__Impl_in_rule__AttrInstanceConfig__Group_2__08697);
             rule__AttrInstanceConfig__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_2__1_in_rule__AttrInstanceConfig__Group_2__09002);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_2__1_in_rule__AttrInstanceConfig__Group_2__08700);
             rule__AttrInstanceConfig__Group_2__1();
 
             state._fsp--;
@@ -12963,22 +12699,22 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_2__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4457:1: rule__AttrInstanceConfig__Group_2__0__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4302:1: rule__AttrInstanceConfig__Group_2__0__Impl : ( '=' ) ;
     public final void rule__AttrInstanceConfig__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4461:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4462:1: ( '=' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4306:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4307:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4462:1: ( '=' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4463:1: '='
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4307:1: ( '=' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4308:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getEqualsSignKeyword_2_0()); 
             }
-            match(input,42,FOLLOW_42_in_rule__AttrInstanceConfig__Group_2__0__Impl9030); if (state.failed) return ;
+            match(input,43,FOLLOW_43_in_rule__AttrInstanceConfig__Group_2__0__Impl8728); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrInstanceConfigAccess().getEqualsSignKeyword_2_0()); 
             }
@@ -13004,16 +12740,16 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_2__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4476:1: rule__AttrInstanceConfig__Group_2__1 : rule__AttrInstanceConfig__Group_2__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4321:1: rule__AttrInstanceConfig__Group_2__1 : rule__AttrInstanceConfig__Group_2__1__Impl ;
     public final void rule__AttrInstanceConfig__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4480:1: ( rule__AttrInstanceConfig__Group_2__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4481:2: rule__AttrInstanceConfig__Group_2__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4325:1: ( rule__AttrInstanceConfig__Group_2__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4326:2: rule__AttrInstanceConfig__Group_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_2__1__Impl_in_rule__AttrInstanceConfig__Group_2__19061);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_2__1__Impl_in_rule__AttrInstanceConfig__Group_2__18759);
             rule__AttrInstanceConfig__Group_2__1__Impl();
 
             state._fsp--;
@@ -13037,25 +12773,25 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_2__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4487:1: rule__AttrInstanceConfig__Group_2__1__Impl : ( ( rule__AttrInstanceConfig__ValueAssignment_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4332:1: rule__AttrInstanceConfig__Group_2__1__Impl : ( ( rule__AttrInstanceConfig__ValueAssignment_2_1 ) ) ;
     public final void rule__AttrInstanceConfig__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4491:1: ( ( ( rule__AttrInstanceConfig__ValueAssignment_2_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4492:1: ( ( rule__AttrInstanceConfig__ValueAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4336:1: ( ( ( rule__AttrInstanceConfig__ValueAssignment_2_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4337:1: ( ( rule__AttrInstanceConfig__ValueAssignment_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4492:1: ( ( rule__AttrInstanceConfig__ValueAssignment_2_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4493:1: ( rule__AttrInstanceConfig__ValueAssignment_2_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4337:1: ( ( rule__AttrInstanceConfig__ValueAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4338:1: ( rule__AttrInstanceConfig__ValueAssignment_2_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getValueAssignment_2_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4494:1: ( rule__AttrInstanceConfig__ValueAssignment_2_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4494:2: rule__AttrInstanceConfig__ValueAssignment_2_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4339:1: ( rule__AttrInstanceConfig__ValueAssignment_2_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4339:2: rule__AttrInstanceConfig__ValueAssignment_2_1
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__ValueAssignment_2_1_in_rule__AttrInstanceConfig__Group_2__1__Impl9088);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__ValueAssignment_2_1_in_rule__AttrInstanceConfig__Group_2__1__Impl8786);
             rule__AttrInstanceConfig__ValueAssignment_2_1();
 
             state._fsp--;
@@ -13088,21 +12824,21 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4508:1: rule__AttrInstanceConfig__Group_3__0 : rule__AttrInstanceConfig__Group_3__0__Impl rule__AttrInstanceConfig__Group_3__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4353:1: rule__AttrInstanceConfig__Group_3__0 : rule__AttrInstanceConfig__Group_3__0__Impl rule__AttrInstanceConfig__Group_3__1 ;
     public final void rule__AttrInstanceConfig__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4512:1: ( rule__AttrInstanceConfig__Group_3__0__Impl rule__AttrInstanceConfig__Group_3__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4513:2: rule__AttrInstanceConfig__Group_3__0__Impl rule__AttrInstanceConfig__Group_3__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4357:1: ( rule__AttrInstanceConfig__Group_3__0__Impl rule__AttrInstanceConfig__Group_3__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4358:2: rule__AttrInstanceConfig__Group_3__0__Impl rule__AttrInstanceConfig__Group_3__1
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__0__Impl_in_rule__AttrInstanceConfig__Group_3__09122);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__0__Impl_in_rule__AttrInstanceConfig__Group_3__08820);
             rule__AttrInstanceConfig__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__1_in_rule__AttrInstanceConfig__Group_3__09125);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__1_in_rule__AttrInstanceConfig__Group_3__08823);
             rule__AttrInstanceConfig__Group_3__1();
 
             state._fsp--;
@@ -13126,22 +12862,22 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4520:1: rule__AttrInstanceConfig__Group_3__0__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4365:1: rule__AttrInstanceConfig__Group_3__0__Impl : ( '{' ) ;
     public final void rule__AttrInstanceConfig__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4524:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4525:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4369:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4370:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4525:1: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4526:1: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4370:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4371:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
-            match(input,26,FOLLOW_26_in_rule__AttrInstanceConfig__Group_3__0__Impl9153); if (state.failed) return ;
+            match(input,27,FOLLOW_27_in_rule__AttrInstanceConfig__Group_3__0__Impl8851); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrInstanceConfigAccess().getLeftCurlyBracketKeyword_3_0()); 
             }
@@ -13167,21 +12903,21 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4539:1: rule__AttrInstanceConfig__Group_3__1 : rule__AttrInstanceConfig__Group_3__1__Impl rule__AttrInstanceConfig__Group_3__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4384:1: rule__AttrInstanceConfig__Group_3__1 : rule__AttrInstanceConfig__Group_3__1__Impl rule__AttrInstanceConfig__Group_3__2 ;
     public final void rule__AttrInstanceConfig__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4543:1: ( rule__AttrInstanceConfig__Group_3__1__Impl rule__AttrInstanceConfig__Group_3__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4544:2: rule__AttrInstanceConfig__Group_3__1__Impl rule__AttrInstanceConfig__Group_3__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4388:1: ( rule__AttrInstanceConfig__Group_3__1__Impl rule__AttrInstanceConfig__Group_3__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4389:2: rule__AttrInstanceConfig__Group_3__1__Impl rule__AttrInstanceConfig__Group_3__2
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__1__Impl_in_rule__AttrInstanceConfig__Group_3__19184);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__1__Impl_in_rule__AttrInstanceConfig__Group_3__18882);
             rule__AttrInstanceConfig__Group_3__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__2_in_rule__AttrInstanceConfig__Group_3__19187);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__2_in_rule__AttrInstanceConfig__Group_3__18885);
             rule__AttrInstanceConfig__Group_3__2();
 
             state._fsp--;
@@ -13205,25 +12941,25 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4551:1: rule__AttrInstanceConfig__Group_3__1__Impl : ( ( rule__AttrInstanceConfig__Group_3_1__0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4396:1: rule__AttrInstanceConfig__Group_3__1__Impl : ( ( rule__AttrInstanceConfig__Group_3_1__0 ) ) ;
     public final void rule__AttrInstanceConfig__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4555:1: ( ( ( rule__AttrInstanceConfig__Group_3_1__0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4556:1: ( ( rule__AttrInstanceConfig__Group_3_1__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4400:1: ( ( ( rule__AttrInstanceConfig__Group_3_1__0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4401:1: ( ( rule__AttrInstanceConfig__Group_3_1__0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4556:1: ( ( rule__AttrInstanceConfig__Group_3_1__0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4557:1: ( rule__AttrInstanceConfig__Group_3_1__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4401:1: ( ( rule__AttrInstanceConfig__Group_3_1__0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4402:1: ( rule__AttrInstanceConfig__Group_3_1__0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getGroup_3_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4558:1: ( rule__AttrInstanceConfig__Group_3_1__0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4558:2: rule__AttrInstanceConfig__Group_3_1__0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4403:1: ( rule__AttrInstanceConfig__Group_3_1__0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4403:2: rule__AttrInstanceConfig__Group_3_1__0
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1__0_in_rule__AttrInstanceConfig__Group_3__1__Impl9214);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1__0_in_rule__AttrInstanceConfig__Group_3__1__Impl8912);
             rule__AttrInstanceConfig__Group_3_1__0();
 
             state._fsp--;
@@ -13256,16 +12992,16 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4568:1: rule__AttrInstanceConfig__Group_3__2 : rule__AttrInstanceConfig__Group_3__2__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4413:1: rule__AttrInstanceConfig__Group_3__2 : rule__AttrInstanceConfig__Group_3__2__Impl ;
     public final void rule__AttrInstanceConfig__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4572:1: ( rule__AttrInstanceConfig__Group_3__2__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4573:2: rule__AttrInstanceConfig__Group_3__2__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4417:1: ( rule__AttrInstanceConfig__Group_3__2__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4418:2: rule__AttrInstanceConfig__Group_3__2__Impl
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__2__Impl_in_rule__AttrInstanceConfig__Group_3__29244);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3__2__Impl_in_rule__AttrInstanceConfig__Group_3__28942);
             rule__AttrInstanceConfig__Group_3__2__Impl();
 
             state._fsp--;
@@ -13289,22 +13025,22 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4579:1: rule__AttrInstanceConfig__Group_3__2__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4424:1: rule__AttrInstanceConfig__Group_3__2__Impl : ( '}' ) ;
     public final void rule__AttrInstanceConfig__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4583:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4584:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4428:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4429:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4584:1: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4585:1: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4429:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4430:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getRightCurlyBracketKeyword_3_2()); 
             }
-            match(input,27,FOLLOW_27_in_rule__AttrInstanceConfig__Group_3__2__Impl9272); if (state.failed) return ;
+            match(input,28,FOLLOW_28_in_rule__AttrInstanceConfig__Group_3__2__Impl8970); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrInstanceConfigAccess().getRightCurlyBracketKeyword_3_2()); 
             }
@@ -13330,21 +13066,21 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4604:1: rule__AttrInstanceConfig__Group_3_1__0 : rule__AttrInstanceConfig__Group_3_1__0__Impl rule__AttrInstanceConfig__Group_3_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4449:1: rule__AttrInstanceConfig__Group_3_1__0 : rule__AttrInstanceConfig__Group_3_1__0__Impl rule__AttrInstanceConfig__Group_3_1__1 ;
     public final void rule__AttrInstanceConfig__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4608:1: ( rule__AttrInstanceConfig__Group_3_1__0__Impl rule__AttrInstanceConfig__Group_3_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4609:2: rule__AttrInstanceConfig__Group_3_1__0__Impl rule__AttrInstanceConfig__Group_3_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4453:1: ( rule__AttrInstanceConfig__Group_3_1__0__Impl rule__AttrInstanceConfig__Group_3_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4454:2: rule__AttrInstanceConfig__Group_3_1__0__Impl rule__AttrInstanceConfig__Group_3_1__1
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1__0__Impl_in_rule__AttrInstanceConfig__Group_3_1__09309);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1__0__Impl_in_rule__AttrInstanceConfig__Group_3_1__09007);
             rule__AttrInstanceConfig__Group_3_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1__1_in_rule__AttrInstanceConfig__Group_3_1__09312);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1__1_in_rule__AttrInstanceConfig__Group_3_1__09010);
             rule__AttrInstanceConfig__Group_3_1__1();
 
             state._fsp--;
@@ -13368,33 +13104,33 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4616:1: rule__AttrInstanceConfig__Group_3_1__0__Impl : ( ( rule__AttrInstanceConfig__Group_3_1_0__0 )? ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4461:1: rule__AttrInstanceConfig__Group_3_1__0__Impl : ( ( rule__AttrInstanceConfig__Group_3_1_0__0 )? ) ;
     public final void rule__AttrInstanceConfig__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4620:1: ( ( ( rule__AttrInstanceConfig__Group_3_1_0__0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4621:1: ( ( rule__AttrInstanceConfig__Group_3_1_0__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4465:1: ( ( ( rule__AttrInstanceConfig__Group_3_1_0__0 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4466:1: ( ( rule__AttrInstanceConfig__Group_3_1_0__0 )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4621:1: ( ( rule__AttrInstanceConfig__Group_3_1_0__0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4622:1: ( rule__AttrInstanceConfig__Group_3_1_0__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4466:1: ( ( rule__AttrInstanceConfig__Group_3_1_0__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4467:1: ( rule__AttrInstanceConfig__Group_3_1_0__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getGroup_3_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4623:1: ( rule__AttrInstanceConfig__Group_3_1_0__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4468:1: ( rule__AttrInstanceConfig__Group_3_1_0__0 )?
             int alt34=2;
             int LA34_0 = input.LA(1);
 
-            if ( (LA34_0==30) ) {
+            if ( (LA34_0==31) ) {
                 alt34=1;
             }
             switch (alt34) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4623:2: rule__AttrInstanceConfig__Group_3_1_0__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4468:2: rule__AttrInstanceConfig__Group_3_1_0__0
                     {
-                    pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__0_in_rule__AttrInstanceConfig__Group_3_1__0__Impl9339);
+                    pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__0_in_rule__AttrInstanceConfig__Group_3_1__0__Impl9037);
                     rule__AttrInstanceConfig__Group_3_1_0__0();
 
                     state._fsp--;
@@ -13430,16 +13166,16 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4633:1: rule__AttrInstanceConfig__Group_3_1__1 : rule__AttrInstanceConfig__Group_3_1__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4478:1: rule__AttrInstanceConfig__Group_3_1__1 : rule__AttrInstanceConfig__Group_3_1__1__Impl ;
     public final void rule__AttrInstanceConfig__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4637:1: ( rule__AttrInstanceConfig__Group_3_1__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4638:2: rule__AttrInstanceConfig__Group_3_1__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4482:1: ( rule__AttrInstanceConfig__Group_3_1__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4483:2: rule__AttrInstanceConfig__Group_3_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1__1__Impl_in_rule__AttrInstanceConfig__Group_3_1__19370);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1__1__Impl_in_rule__AttrInstanceConfig__Group_3_1__19068);
             rule__AttrInstanceConfig__Group_3_1__1__Impl();
 
             state._fsp--;
@@ -13463,37 +13199,37 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4644:1: rule__AttrInstanceConfig__Group_3_1__1__Impl : ( ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4489:1: rule__AttrInstanceConfig__Group_3_1__1__Impl : ( ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )* ) ;
     public final void rule__AttrInstanceConfig__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4648:1: ( ( ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4649:1: ( ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4493:1: ( ( ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4494:1: ( ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4649:1: ( ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4650:1: ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4494:1: ( ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4495:1: ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getAttributesAssignment_3_1_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4651:1: ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4496:1: ( rule__AttrInstanceConfig__AttributesAssignment_3_1_1 )*
             loop35:
             do {
                 int alt35=2;
                 int LA35_0 = input.LA(1);
 
-                if ( (LA35_0==41) ) {
+                if ( (LA35_0==42) ) {
                     alt35=1;
                 }
 
 
                 switch (alt35) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4651:2: rule__AttrInstanceConfig__AttributesAssignment_3_1_1
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4496:2: rule__AttrInstanceConfig__AttributesAssignment_3_1_1
             	    {
-            	    pushFollow(FOLLOW_rule__AttrInstanceConfig__AttributesAssignment_3_1_1_in_rule__AttrInstanceConfig__Group_3_1__1__Impl9397);
+            	    pushFollow(FOLLOW_rule__AttrInstanceConfig__AttributesAssignment_3_1_1_in_rule__AttrInstanceConfig__Group_3_1__1__Impl9095);
             	    rule__AttrInstanceConfig__AttributesAssignment_3_1_1();
 
             	    state._fsp--;
@@ -13532,21 +13268,21 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3_1_0__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4665:1: rule__AttrInstanceConfig__Group_3_1_0__0 : rule__AttrInstanceConfig__Group_3_1_0__0__Impl rule__AttrInstanceConfig__Group_3_1_0__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4510:1: rule__AttrInstanceConfig__Group_3_1_0__0 : rule__AttrInstanceConfig__Group_3_1_0__0__Impl rule__AttrInstanceConfig__Group_3_1_0__1 ;
     public final void rule__AttrInstanceConfig__Group_3_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4669:1: ( rule__AttrInstanceConfig__Group_3_1_0__0__Impl rule__AttrInstanceConfig__Group_3_1_0__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4670:2: rule__AttrInstanceConfig__Group_3_1_0__0__Impl rule__AttrInstanceConfig__Group_3_1_0__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4514:1: ( rule__AttrInstanceConfig__Group_3_1_0__0__Impl rule__AttrInstanceConfig__Group_3_1_0__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4515:2: rule__AttrInstanceConfig__Group_3_1_0__0__Impl rule__AttrInstanceConfig__Group_3_1_0__1
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__0__Impl_in_rule__AttrInstanceConfig__Group_3_1_0__09432);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__0__Impl_in_rule__AttrInstanceConfig__Group_3_1_0__09130);
             rule__AttrInstanceConfig__Group_3_1_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__1_in_rule__AttrInstanceConfig__Group_3_1_0__09435);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__1_in_rule__AttrInstanceConfig__Group_3_1_0__09133);
             rule__AttrInstanceConfig__Group_3_1_0__1();
 
             state._fsp--;
@@ -13570,25 +13306,25 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3_1_0__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4677:1: rule__AttrInstanceConfig__Group_3_1_0__0__Impl : ( ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4522:1: rule__AttrInstanceConfig__Group_3_1_0__0__Impl : ( ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 ) ) ;
     public final void rule__AttrInstanceConfig__Group_3_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4681:1: ( ( ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4682:1: ( ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4526:1: ( ( ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4527:1: ( ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4682:1: ( ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4683:1: ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4527:1: ( ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4528:1: ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getDynConfigAssignment_3_1_0_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4684:1: ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4684:2: rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4529:1: ( rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4529:2: rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0_in_rule__AttrInstanceConfig__Group_3_1_0__0__Impl9462);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0_in_rule__AttrInstanceConfig__Group_3_1_0__0__Impl9160);
             rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0();
 
             state._fsp--;
@@ -13621,16 +13357,16 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3_1_0__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4694:1: rule__AttrInstanceConfig__Group_3_1_0__1 : rule__AttrInstanceConfig__Group_3_1_0__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4539:1: rule__AttrInstanceConfig__Group_3_1_0__1 : rule__AttrInstanceConfig__Group_3_1_0__1__Impl ;
     public final void rule__AttrInstanceConfig__Group_3_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4698:1: ( rule__AttrInstanceConfig__Group_3_1_0__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4699:2: rule__AttrInstanceConfig__Group_3_1_0__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4543:1: ( rule__AttrInstanceConfig__Group_3_1_0__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4544:2: rule__AttrInstanceConfig__Group_3_1_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__1__Impl_in_rule__AttrInstanceConfig__Group_3_1_0__19492);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__1__Impl_in_rule__AttrInstanceConfig__Group_3_1_0__19190);
             rule__AttrInstanceConfig__Group_3_1_0__1__Impl();
 
             state._fsp--;
@@ -13654,25 +13390,25 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__Group_3_1_0__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4705:1: rule__AttrInstanceConfig__Group_3_1_0__1__Impl : ( ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4550:1: rule__AttrInstanceConfig__Group_3_1_0__1__Impl : ( ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 ) ) ;
     public final void rule__AttrInstanceConfig__Group_3_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4709:1: ( ( ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4710:1: ( ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4554:1: ( ( ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4555:1: ( ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4710:1: ( ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4711:1: ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4555:1: ( ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4556:1: ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getAlternatives_3_1_0_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4712:1: ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4712:2: rule__AttrInstanceConfig__Alternatives_3_1_0_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4557:1: ( rule__AttrInstanceConfig__Alternatives_3_1_0_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4557:2: rule__AttrInstanceConfig__Alternatives_3_1_0_1
             {
-            pushFollow(FOLLOW_rule__AttrInstanceConfig__Alternatives_3_1_0_1_in_rule__AttrInstanceConfig__Group_3_1_0__1__Impl9519);
+            pushFollow(FOLLOW_rule__AttrInstanceConfig__Alternatives_3_1_0_1_in_rule__AttrInstanceConfig__Group_3_1_0__1__Impl9217);
             rule__AttrInstanceConfig__Alternatives_3_1_0_1();
 
             state._fsp--;
@@ -13705,21 +13441,21 @@
 
 
     // $ANTLR start "rule__ConfigValueArray__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4726:1: rule__ConfigValueArray__Group__0 : rule__ConfigValueArray__Group__0__Impl rule__ConfigValueArray__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4571:1: rule__ConfigValueArray__Group__0 : rule__ConfigValueArray__Group__0__Impl rule__ConfigValueArray__Group__1 ;
     public final void rule__ConfigValueArray__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4730:1: ( rule__ConfigValueArray__Group__0__Impl rule__ConfigValueArray__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4731:2: rule__ConfigValueArray__Group__0__Impl rule__ConfigValueArray__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4575:1: ( rule__ConfigValueArray__Group__0__Impl rule__ConfigValueArray__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4576:2: rule__ConfigValueArray__Group__0__Impl rule__ConfigValueArray__Group__1
             {
-            pushFollow(FOLLOW_rule__ConfigValueArray__Group__0__Impl_in_rule__ConfigValueArray__Group__09553);
+            pushFollow(FOLLOW_rule__ConfigValueArray__Group__0__Impl_in_rule__ConfigValueArray__Group__09251);
             rule__ConfigValueArray__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ConfigValueArray__Group__1_in_rule__ConfigValueArray__Group__09556);
+            pushFollow(FOLLOW_rule__ConfigValueArray__Group__1_in_rule__ConfigValueArray__Group__09254);
             rule__ConfigValueArray__Group__1();
 
             state._fsp--;
@@ -13743,25 +13479,25 @@
 
 
     // $ANTLR start "rule__ConfigValueArray__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4738:1: rule__ConfigValueArray__Group__0__Impl : ( ( rule__ConfigValueArray__ValuesAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4583:1: rule__ConfigValueArray__Group__0__Impl : ( ( rule__ConfigValueArray__ValuesAssignment_0 ) ) ;
     public final void rule__ConfigValueArray__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4742:1: ( ( ( rule__ConfigValueArray__ValuesAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4743:1: ( ( rule__ConfigValueArray__ValuesAssignment_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4587:1: ( ( ( rule__ConfigValueArray__ValuesAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4588:1: ( ( rule__ConfigValueArray__ValuesAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4743:1: ( ( rule__ConfigValueArray__ValuesAssignment_0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4744:1: ( rule__ConfigValueArray__ValuesAssignment_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4588:1: ( ( rule__ConfigValueArray__ValuesAssignment_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4589:1: ( rule__ConfigValueArray__ValuesAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigValueArrayAccess().getValuesAssignment_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4745:1: ( rule__ConfigValueArray__ValuesAssignment_0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4745:2: rule__ConfigValueArray__ValuesAssignment_0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4590:1: ( rule__ConfigValueArray__ValuesAssignment_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4590:2: rule__ConfigValueArray__ValuesAssignment_0
             {
-            pushFollow(FOLLOW_rule__ConfigValueArray__ValuesAssignment_0_in_rule__ConfigValueArray__Group__0__Impl9583);
+            pushFollow(FOLLOW_rule__ConfigValueArray__ValuesAssignment_0_in_rule__ConfigValueArray__Group__0__Impl9281);
             rule__ConfigValueArray__ValuesAssignment_0();
 
             state._fsp--;
@@ -13794,16 +13530,16 @@
 
 
     // $ANTLR start "rule__ConfigValueArray__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4755:1: rule__ConfigValueArray__Group__1 : rule__ConfigValueArray__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4600:1: rule__ConfigValueArray__Group__1 : rule__ConfigValueArray__Group__1__Impl ;
     public final void rule__ConfigValueArray__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4759:1: ( rule__ConfigValueArray__Group__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4760:2: rule__ConfigValueArray__Group__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4604:1: ( rule__ConfigValueArray__Group__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4605:2: rule__ConfigValueArray__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ConfigValueArray__Group__1__Impl_in_rule__ConfigValueArray__Group__19613);
+            pushFollow(FOLLOW_rule__ConfigValueArray__Group__1__Impl_in_rule__ConfigValueArray__Group__19311);
             rule__ConfigValueArray__Group__1__Impl();
 
             state._fsp--;
@@ -13827,37 +13563,37 @@
 
 
     // $ANTLR start "rule__ConfigValueArray__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4766:1: rule__ConfigValueArray__Group__1__Impl : ( ( rule__ConfigValueArray__Group_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4611:1: rule__ConfigValueArray__Group__1__Impl : ( ( rule__ConfigValueArray__Group_1__0 )* ) ;
     public final void rule__ConfigValueArray__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4770:1: ( ( ( rule__ConfigValueArray__Group_1__0 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4771:1: ( ( rule__ConfigValueArray__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4615:1: ( ( ( rule__ConfigValueArray__Group_1__0 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4616:1: ( ( rule__ConfigValueArray__Group_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4771:1: ( ( rule__ConfigValueArray__Group_1__0 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4772:1: ( rule__ConfigValueArray__Group_1__0 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4616:1: ( ( rule__ConfigValueArray__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4617:1: ( rule__ConfigValueArray__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigValueArrayAccess().getGroup_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4773:1: ( rule__ConfigValueArray__Group_1__0 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4618:1: ( rule__ConfigValueArray__Group_1__0 )*
             loop36:
             do {
                 int alt36=2;
                 int LA36_0 = input.LA(1);
 
-                if ( (LA36_0==45) ) {
+                if ( (LA36_0==46) ) {
                     alt36=1;
                 }
 
 
                 switch (alt36) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4773:2: rule__ConfigValueArray__Group_1__0
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4618:2: rule__ConfigValueArray__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__ConfigValueArray__Group_1__0_in_rule__ConfigValueArray__Group__1__Impl9640);
+            	    pushFollow(FOLLOW_rule__ConfigValueArray__Group_1__0_in_rule__ConfigValueArray__Group__1__Impl9338);
             	    rule__ConfigValueArray__Group_1__0();
 
             	    state._fsp--;
@@ -13896,21 +13632,21 @@
 
 
     // $ANTLR start "rule__ConfigValueArray__Group_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4787:1: rule__ConfigValueArray__Group_1__0 : rule__ConfigValueArray__Group_1__0__Impl rule__ConfigValueArray__Group_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4632:1: rule__ConfigValueArray__Group_1__0 : rule__ConfigValueArray__Group_1__0__Impl rule__ConfigValueArray__Group_1__1 ;
     public final void rule__ConfigValueArray__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4791:1: ( rule__ConfigValueArray__Group_1__0__Impl rule__ConfigValueArray__Group_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4792:2: rule__ConfigValueArray__Group_1__0__Impl rule__ConfigValueArray__Group_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4636:1: ( rule__ConfigValueArray__Group_1__0__Impl rule__ConfigValueArray__Group_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4637:2: rule__ConfigValueArray__Group_1__0__Impl rule__ConfigValueArray__Group_1__1
             {
-            pushFollow(FOLLOW_rule__ConfigValueArray__Group_1__0__Impl_in_rule__ConfigValueArray__Group_1__09675);
+            pushFollow(FOLLOW_rule__ConfigValueArray__Group_1__0__Impl_in_rule__ConfigValueArray__Group_1__09373);
             rule__ConfigValueArray__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ConfigValueArray__Group_1__1_in_rule__ConfigValueArray__Group_1__09678);
+            pushFollow(FOLLOW_rule__ConfigValueArray__Group_1__1_in_rule__ConfigValueArray__Group_1__09376);
             rule__ConfigValueArray__Group_1__1();
 
             state._fsp--;
@@ -13934,22 +13670,22 @@
 
 
     // $ANTLR start "rule__ConfigValueArray__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4799:1: rule__ConfigValueArray__Group_1__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4644:1: rule__ConfigValueArray__Group_1__0__Impl : ( ',' ) ;
     public final void rule__ConfigValueArray__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4803:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4804:1: ( ',' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4648:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4649:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4804:1: ( ',' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4805:1: ','
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4649:1: ( ',' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4650:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigValueArrayAccess().getCommaKeyword_1_0()); 
             }
-            match(input,45,FOLLOW_45_in_rule__ConfigValueArray__Group_1__0__Impl9706); if (state.failed) return ;
+            match(input,46,FOLLOW_46_in_rule__ConfigValueArray__Group_1__0__Impl9404); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getConfigValueArrayAccess().getCommaKeyword_1_0()); 
             }
@@ -13975,16 +13711,16 @@
 
 
     // $ANTLR start "rule__ConfigValueArray__Group_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4818:1: rule__ConfigValueArray__Group_1__1 : rule__ConfigValueArray__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4663:1: rule__ConfigValueArray__Group_1__1 : rule__ConfigValueArray__Group_1__1__Impl ;
     public final void rule__ConfigValueArray__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4822:1: ( rule__ConfigValueArray__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4823:2: rule__ConfigValueArray__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4667:1: ( rule__ConfigValueArray__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4668:2: rule__ConfigValueArray__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__ConfigValueArray__Group_1__1__Impl_in_rule__ConfigValueArray__Group_1__19737);
+            pushFollow(FOLLOW_rule__ConfigValueArray__Group_1__1__Impl_in_rule__ConfigValueArray__Group_1__19435);
             rule__ConfigValueArray__Group_1__1__Impl();
 
             state._fsp--;
@@ -14008,25 +13744,25 @@
 
 
     // $ANTLR start "rule__ConfigValueArray__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4829:1: rule__ConfigValueArray__Group_1__1__Impl : ( ( rule__ConfigValueArray__ValuesAssignment_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4674:1: rule__ConfigValueArray__Group_1__1__Impl : ( ( rule__ConfigValueArray__ValuesAssignment_1_1 ) ) ;
     public final void rule__ConfigValueArray__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4833:1: ( ( ( rule__ConfigValueArray__ValuesAssignment_1_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4834:1: ( ( rule__ConfigValueArray__ValuesAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4678:1: ( ( ( rule__ConfigValueArray__ValuesAssignment_1_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4679:1: ( ( rule__ConfigValueArray__ValuesAssignment_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4834:1: ( ( rule__ConfigValueArray__ValuesAssignment_1_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4835:1: ( rule__ConfigValueArray__ValuesAssignment_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4679:1: ( ( rule__ConfigValueArray__ValuesAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4680:1: ( rule__ConfigValueArray__ValuesAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigValueArrayAccess().getValuesAssignment_1_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4836:1: ( rule__ConfigValueArray__ValuesAssignment_1_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4836:2: rule__ConfigValueArray__ValuesAssignment_1_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4681:1: ( rule__ConfigValueArray__ValuesAssignment_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4681:2: rule__ConfigValueArray__ValuesAssignment_1_1
             {
-            pushFollow(FOLLOW_rule__ConfigValueArray__ValuesAssignment_1_1_in_rule__ConfigValueArray__Group_1__1__Impl9764);
+            pushFollow(FOLLOW_rule__ConfigValueArray__ValuesAssignment_1_1_in_rule__ConfigValueArray__Group_1__1__Impl9462);
             rule__ConfigValueArray__ValuesAssignment_1_1();
 
             state._fsp--;
@@ -14059,21 +13795,21 @@
 
 
     // $ANTLR start "rule__EnumConfigValue__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4850:1: rule__EnumConfigValue__Group__0 : rule__EnumConfigValue__Group__0__Impl rule__EnumConfigValue__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4695:1: rule__EnumConfigValue__Group__0 : rule__EnumConfigValue__Group__0__Impl rule__EnumConfigValue__Group__1 ;
     public final void rule__EnumConfigValue__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4854:1: ( rule__EnumConfigValue__Group__0__Impl rule__EnumConfigValue__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4855:2: rule__EnumConfigValue__Group__0__Impl rule__EnumConfigValue__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4699:1: ( rule__EnumConfigValue__Group__0__Impl rule__EnumConfigValue__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4700:2: rule__EnumConfigValue__Group__0__Impl rule__EnumConfigValue__Group__1
             {
-            pushFollow(FOLLOW_rule__EnumConfigValue__Group__0__Impl_in_rule__EnumConfigValue__Group__09798);
+            pushFollow(FOLLOW_rule__EnumConfigValue__Group__0__Impl_in_rule__EnumConfigValue__Group__09496);
             rule__EnumConfigValue__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__EnumConfigValue__Group__1_in_rule__EnumConfigValue__Group__09801);
+            pushFollow(FOLLOW_rule__EnumConfigValue__Group__1_in_rule__EnumConfigValue__Group__09499);
             rule__EnumConfigValue__Group__1();
 
             state._fsp--;
@@ -14097,25 +13833,25 @@
 
 
     // $ANTLR start "rule__EnumConfigValue__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4862:1: rule__EnumConfigValue__Group__0__Impl : ( ( rule__EnumConfigValue__TypeAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4707:1: rule__EnumConfigValue__Group__0__Impl : ( ( rule__EnumConfigValue__TypeAssignment_0 ) ) ;
     public final void rule__EnumConfigValue__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4866:1: ( ( ( rule__EnumConfigValue__TypeAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4867:1: ( ( rule__EnumConfigValue__TypeAssignment_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4711:1: ( ( ( rule__EnumConfigValue__TypeAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4712:1: ( ( rule__EnumConfigValue__TypeAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4867:1: ( ( rule__EnumConfigValue__TypeAssignment_0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4868:1: ( rule__EnumConfigValue__TypeAssignment_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4712:1: ( ( rule__EnumConfigValue__TypeAssignment_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4713:1: ( rule__EnumConfigValue__TypeAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumConfigValueAccess().getTypeAssignment_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4869:1: ( rule__EnumConfigValue__TypeAssignment_0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4869:2: rule__EnumConfigValue__TypeAssignment_0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4714:1: ( rule__EnumConfigValue__TypeAssignment_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4714:2: rule__EnumConfigValue__TypeAssignment_0
             {
-            pushFollow(FOLLOW_rule__EnumConfigValue__TypeAssignment_0_in_rule__EnumConfigValue__Group__0__Impl9828);
+            pushFollow(FOLLOW_rule__EnumConfigValue__TypeAssignment_0_in_rule__EnumConfigValue__Group__0__Impl9526);
             rule__EnumConfigValue__TypeAssignment_0();
 
             state._fsp--;
@@ -14148,21 +13884,21 @@
 
 
     // $ANTLR start "rule__EnumConfigValue__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4879:1: rule__EnumConfigValue__Group__1 : rule__EnumConfigValue__Group__1__Impl rule__EnumConfigValue__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4724:1: rule__EnumConfigValue__Group__1 : rule__EnumConfigValue__Group__1__Impl rule__EnumConfigValue__Group__2 ;
     public final void rule__EnumConfigValue__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4883:1: ( rule__EnumConfigValue__Group__1__Impl rule__EnumConfigValue__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4884:2: rule__EnumConfigValue__Group__1__Impl rule__EnumConfigValue__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4728:1: ( rule__EnumConfigValue__Group__1__Impl rule__EnumConfigValue__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4729:2: rule__EnumConfigValue__Group__1__Impl rule__EnumConfigValue__Group__2
             {
-            pushFollow(FOLLOW_rule__EnumConfigValue__Group__1__Impl_in_rule__EnumConfigValue__Group__19858);
+            pushFollow(FOLLOW_rule__EnumConfigValue__Group__1__Impl_in_rule__EnumConfigValue__Group__19556);
             rule__EnumConfigValue__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__EnumConfigValue__Group__2_in_rule__EnumConfigValue__Group__19861);
+            pushFollow(FOLLOW_rule__EnumConfigValue__Group__2_in_rule__EnumConfigValue__Group__19559);
             rule__EnumConfigValue__Group__2();
 
             state._fsp--;
@@ -14186,22 +13922,22 @@
 
 
     // $ANTLR start "rule__EnumConfigValue__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4891:1: rule__EnumConfigValue__Group__1__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4736:1: rule__EnumConfigValue__Group__1__Impl : ( '.' ) ;
     public final void rule__EnumConfigValue__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4895:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4896:1: ( '.' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4740:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4741:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4896:1: ( '.' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4897:1: '.'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4741:1: ( '.' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4742:1: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumConfigValueAccess().getFullStopKeyword_1()); 
             }
-            match(input,46,FOLLOW_46_in_rule__EnumConfigValue__Group__1__Impl9889); if (state.failed) return ;
+            match(input,47,FOLLOW_47_in_rule__EnumConfigValue__Group__1__Impl9587); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumConfigValueAccess().getFullStopKeyword_1()); 
             }
@@ -14227,16 +13963,16 @@
 
 
     // $ANTLR start "rule__EnumConfigValue__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4910:1: rule__EnumConfigValue__Group__2 : rule__EnumConfigValue__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4755:1: rule__EnumConfigValue__Group__2 : rule__EnumConfigValue__Group__2__Impl ;
     public final void rule__EnumConfigValue__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4914:1: ( rule__EnumConfigValue__Group__2__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4915:2: rule__EnumConfigValue__Group__2__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4759:1: ( rule__EnumConfigValue__Group__2__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4760:2: rule__EnumConfigValue__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__EnumConfigValue__Group__2__Impl_in_rule__EnumConfigValue__Group__29920);
+            pushFollow(FOLLOW_rule__EnumConfigValue__Group__2__Impl_in_rule__EnumConfigValue__Group__29618);
             rule__EnumConfigValue__Group__2__Impl();
 
             state._fsp--;
@@ -14260,25 +13996,25 @@
 
 
     // $ANTLR start "rule__EnumConfigValue__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4921:1: rule__EnumConfigValue__Group__2__Impl : ( ( rule__EnumConfigValue__ValueAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4766:1: rule__EnumConfigValue__Group__2__Impl : ( ( rule__EnumConfigValue__ValueAssignment_2 ) ) ;
     public final void rule__EnumConfigValue__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4925:1: ( ( ( rule__EnumConfigValue__ValueAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4926:1: ( ( rule__EnumConfigValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4770:1: ( ( ( rule__EnumConfigValue__ValueAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4771:1: ( ( rule__EnumConfigValue__ValueAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4926:1: ( ( rule__EnumConfigValue__ValueAssignment_2 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4927:1: ( rule__EnumConfigValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4771:1: ( ( rule__EnumConfigValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4772:1: ( rule__EnumConfigValue__ValueAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumConfigValueAccess().getValueAssignment_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4928:1: ( rule__EnumConfigValue__ValueAssignment_2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4928:2: rule__EnumConfigValue__ValueAssignment_2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4773:1: ( rule__EnumConfigValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4773:2: rule__EnumConfigValue__ValueAssignment_2
             {
-            pushFollow(FOLLOW_rule__EnumConfigValue__ValueAssignment_2_in_rule__EnumConfigValue__Group__2__Impl9947);
+            pushFollow(FOLLOW_rule__EnumConfigValue__ValueAssignment_2_in_rule__EnumConfigValue__Group__2__Impl9645);
             rule__EnumConfigValue__ValueAssignment_2();
 
             state._fsp--;
@@ -14311,21 +14047,21 @@
 
 
     // $ANTLR start "rule__RefPath__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4944:1: rule__RefPath__Group__0 : rule__RefPath__Group__0__Impl rule__RefPath__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4789:1: rule__RefPath__Group__0 : rule__RefPath__Group__0__Impl rule__RefPath__Group__1 ;
     public final void rule__RefPath__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4948:1: ( rule__RefPath__Group__0__Impl rule__RefPath__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4949:2: rule__RefPath__Group__0__Impl rule__RefPath__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4793:1: ( rule__RefPath__Group__0__Impl rule__RefPath__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4794:2: rule__RefPath__Group__0__Impl rule__RefPath__Group__1
             {
-            pushFollow(FOLLOW_rule__RefPath__Group__0__Impl_in_rule__RefPath__Group__09983);
+            pushFollow(FOLLOW_rule__RefPath__Group__0__Impl_in_rule__RefPath__Group__09681);
             rule__RefPath__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__RefPath__Group__1_in_rule__RefPath__Group__09986);
+            pushFollow(FOLLOW_rule__RefPath__Group__1_in_rule__RefPath__Group__09684);
             rule__RefPath__Group__1();
 
             state._fsp--;
@@ -14349,25 +14085,25 @@
 
 
     // $ANTLR start "rule__RefPath__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4956:1: rule__RefPath__Group__0__Impl : ( ( rule__RefPath__RefsAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4801:1: rule__RefPath__Group__0__Impl : ( ( rule__RefPath__RefsAssignment_0 ) ) ;
     public final void rule__RefPath__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4960:1: ( ( ( rule__RefPath__RefsAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4961:1: ( ( rule__RefPath__RefsAssignment_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4805:1: ( ( ( rule__RefPath__RefsAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4806:1: ( ( rule__RefPath__RefsAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4961:1: ( ( rule__RefPath__RefsAssignment_0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4962:1: ( rule__RefPath__RefsAssignment_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4806:1: ( ( rule__RefPath__RefsAssignment_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4807:1: ( rule__RefPath__RefsAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefPathAccess().getRefsAssignment_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4963:1: ( rule__RefPath__RefsAssignment_0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4963:2: rule__RefPath__RefsAssignment_0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4808:1: ( rule__RefPath__RefsAssignment_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4808:2: rule__RefPath__RefsAssignment_0
             {
-            pushFollow(FOLLOW_rule__RefPath__RefsAssignment_0_in_rule__RefPath__Group__0__Impl10013);
+            pushFollow(FOLLOW_rule__RefPath__RefsAssignment_0_in_rule__RefPath__Group__0__Impl9711);
             rule__RefPath__RefsAssignment_0();
 
             state._fsp--;
@@ -14400,16 +14136,16 @@
 
 
     // $ANTLR start "rule__RefPath__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4973:1: rule__RefPath__Group__1 : rule__RefPath__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4818:1: rule__RefPath__Group__1 : rule__RefPath__Group__1__Impl ;
     public final void rule__RefPath__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4977:1: ( rule__RefPath__Group__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4978:2: rule__RefPath__Group__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4822:1: ( rule__RefPath__Group__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4823:2: rule__RefPath__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefPath__Group__1__Impl_in_rule__RefPath__Group__110043);
+            pushFollow(FOLLOW_rule__RefPath__Group__1__Impl_in_rule__RefPath__Group__19741);
             rule__RefPath__Group__1__Impl();
 
             state._fsp--;
@@ -14433,37 +14169,37 @@
 
 
     // $ANTLR start "rule__RefPath__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4984:1: rule__RefPath__Group__1__Impl : ( ( rule__RefPath__Group_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4829:1: rule__RefPath__Group__1__Impl : ( ( rule__RefPath__Group_1__0 )* ) ;
     public final void rule__RefPath__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4988:1: ( ( ( rule__RefPath__Group_1__0 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4989:1: ( ( rule__RefPath__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4833:1: ( ( ( rule__RefPath__Group_1__0 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4834:1: ( ( rule__RefPath__Group_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4989:1: ( ( rule__RefPath__Group_1__0 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4990:1: ( rule__RefPath__Group_1__0 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4834:1: ( ( rule__RefPath__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4835:1: ( rule__RefPath__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefPathAccess().getGroup_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4991:1: ( rule__RefPath__Group_1__0 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4836:1: ( rule__RefPath__Group_1__0 )*
             loop37:
             do {
                 int alt37=2;
                 int LA37_0 = input.LA(1);
 
-                if ( (LA37_0==29) ) {
+                if ( (LA37_0==30) ) {
                     alt37=1;
                 }
 
 
                 switch (alt37) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4991:2: rule__RefPath__Group_1__0
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4836:2: rule__RefPath__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__RefPath__Group_1__0_in_rule__RefPath__Group__1__Impl10070);
+            	    pushFollow(FOLLOW_rule__RefPath__Group_1__0_in_rule__RefPath__Group__1__Impl9768);
             	    rule__RefPath__Group_1__0();
 
             	    state._fsp--;
@@ -14502,21 +14238,21 @@
 
 
     // $ANTLR start "rule__RefPath__Group_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5005:1: rule__RefPath__Group_1__0 : rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4850:1: rule__RefPath__Group_1__0 : rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1 ;
     public final void rule__RefPath__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5009:1: ( rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5010:2: rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4854:1: ( rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4855:2: rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1
             {
-            pushFollow(FOLLOW_rule__RefPath__Group_1__0__Impl_in_rule__RefPath__Group_1__010105);
+            pushFollow(FOLLOW_rule__RefPath__Group_1__0__Impl_in_rule__RefPath__Group_1__09803);
             rule__RefPath__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__RefPath__Group_1__1_in_rule__RefPath__Group_1__010108);
+            pushFollow(FOLLOW_rule__RefPath__Group_1__1_in_rule__RefPath__Group_1__09806);
             rule__RefPath__Group_1__1();
 
             state._fsp--;
@@ -14540,22 +14276,22 @@
 
 
     // $ANTLR start "rule__RefPath__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5017:1: rule__RefPath__Group_1__0__Impl : ( '/' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4862:1: rule__RefPath__Group_1__0__Impl : ( '/' ) ;
     public final void rule__RefPath__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5021:1: ( ( '/' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5022:1: ( '/' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4866:1: ( ( '/' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4867:1: ( '/' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5022:1: ( '/' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5023:1: '/'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4867:1: ( '/' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4868:1: '/'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefPathAccess().getSolidusKeyword_1_0()); 
             }
-            match(input,29,FOLLOW_29_in_rule__RefPath__Group_1__0__Impl10136); if (state.failed) return ;
+            match(input,30,FOLLOW_30_in_rule__RefPath__Group_1__0__Impl9834); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getRefPathAccess().getSolidusKeyword_1_0()); 
             }
@@ -14581,16 +14317,16 @@
 
 
     // $ANTLR start "rule__RefPath__Group_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5036:1: rule__RefPath__Group_1__1 : rule__RefPath__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4881:1: rule__RefPath__Group_1__1 : rule__RefPath__Group_1__1__Impl ;
     public final void rule__RefPath__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5040:1: ( rule__RefPath__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5041:2: rule__RefPath__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4885:1: ( rule__RefPath__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4886:2: rule__RefPath__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefPath__Group_1__1__Impl_in_rule__RefPath__Group_1__110167);
+            pushFollow(FOLLOW_rule__RefPath__Group_1__1__Impl_in_rule__RefPath__Group_1__19865);
             rule__RefPath__Group_1__1__Impl();
 
             state._fsp--;
@@ -14614,25 +14350,25 @@
 
 
     // $ANTLR start "rule__RefPath__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5047:1: rule__RefPath__Group_1__1__Impl : ( ( rule__RefPath__RefsAssignment_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4892:1: rule__RefPath__Group_1__1__Impl : ( ( rule__RefPath__RefsAssignment_1_1 ) ) ;
     public final void rule__RefPath__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5051:1: ( ( ( rule__RefPath__RefsAssignment_1_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5052:1: ( ( rule__RefPath__RefsAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4896:1: ( ( ( rule__RefPath__RefsAssignment_1_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4897:1: ( ( rule__RefPath__RefsAssignment_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5052:1: ( ( rule__RefPath__RefsAssignment_1_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5053:1: ( rule__RefPath__RefsAssignment_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4897:1: ( ( rule__RefPath__RefsAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4898:1: ( rule__RefPath__RefsAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefPathAccess().getRefsAssignment_1_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5054:1: ( rule__RefPath__RefsAssignment_1_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5054:2: rule__RefPath__RefsAssignment_1_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4899:1: ( rule__RefPath__RefsAssignment_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4899:2: rule__RefPath__RefsAssignment_1_1
             {
-            pushFollow(FOLLOW_rule__RefPath__RefsAssignment_1_1_in_rule__RefPath__Group_1__1__Impl10194);
+            pushFollow(FOLLOW_rule__RefPath__RefsAssignment_1_1_in_rule__RefPath__Group_1__1__Impl9892);
             rule__RefPath__RefsAssignment_1_1();
 
             state._fsp--;
@@ -14665,21 +14401,21 @@
 
 
     // $ANTLR start "rule__RefSegment__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5068:1: rule__RefSegment__Group__0 : rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4913:1: rule__RefSegment__Group__0 : rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1 ;
     public final void rule__RefSegment__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5072:1: ( rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5073:2: rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4917:1: ( rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4918:2: rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1
             {
-            pushFollow(FOLLOW_rule__RefSegment__Group__0__Impl_in_rule__RefSegment__Group__010228);
+            pushFollow(FOLLOW_rule__RefSegment__Group__0__Impl_in_rule__RefSegment__Group__09926);
             rule__RefSegment__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__RefSegment__Group__1_in_rule__RefSegment__Group__010231);
+            pushFollow(FOLLOW_rule__RefSegment__Group__1_in_rule__RefSegment__Group__09929);
             rule__RefSegment__Group__1();
 
             state._fsp--;
@@ -14703,25 +14439,25 @@
 
 
     // $ANTLR start "rule__RefSegment__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5080:1: rule__RefSegment__Group__0__Impl : ( ( rule__RefSegment__RefAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4925:1: rule__RefSegment__Group__0__Impl : ( ( rule__RefSegment__RefAssignment_0 ) ) ;
     public final void rule__RefSegment__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5084:1: ( ( ( rule__RefSegment__RefAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5085:1: ( ( rule__RefSegment__RefAssignment_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4929:1: ( ( ( rule__RefSegment__RefAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4930:1: ( ( rule__RefSegment__RefAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5085:1: ( ( rule__RefSegment__RefAssignment_0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5086:1: ( rule__RefSegment__RefAssignment_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4930:1: ( ( rule__RefSegment__RefAssignment_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4931:1: ( rule__RefSegment__RefAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefSegmentAccess().getRefAssignment_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5087:1: ( rule__RefSegment__RefAssignment_0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5087:2: rule__RefSegment__RefAssignment_0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4932:1: ( rule__RefSegment__RefAssignment_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4932:2: rule__RefSegment__RefAssignment_0
             {
-            pushFollow(FOLLOW_rule__RefSegment__RefAssignment_0_in_rule__RefSegment__Group__0__Impl10258);
+            pushFollow(FOLLOW_rule__RefSegment__RefAssignment_0_in_rule__RefSegment__Group__0__Impl9956);
             rule__RefSegment__RefAssignment_0();
 
             state._fsp--;
@@ -14754,16 +14490,16 @@
 
 
     // $ANTLR start "rule__RefSegment__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5097:1: rule__RefSegment__Group__1 : rule__RefSegment__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4942:1: rule__RefSegment__Group__1 : rule__RefSegment__Group__1__Impl ;
     public final void rule__RefSegment__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5101:1: ( rule__RefSegment__Group__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5102:2: rule__RefSegment__Group__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4946:1: ( rule__RefSegment__Group__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4947:2: rule__RefSegment__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefSegment__Group__1__Impl_in_rule__RefSegment__Group__110288);
+            pushFollow(FOLLOW_rule__RefSegment__Group__1__Impl_in_rule__RefSegment__Group__19986);
             rule__RefSegment__Group__1__Impl();
 
             state._fsp--;
@@ -14787,33 +14523,33 @@
 
 
     // $ANTLR start "rule__RefSegment__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5108:1: rule__RefSegment__Group__1__Impl : ( ( rule__RefSegment__Group_1__0 )? ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4953:1: rule__RefSegment__Group__1__Impl : ( ( rule__RefSegment__Group_1__0 )? ) ;
     public final void rule__RefSegment__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5112:1: ( ( ( rule__RefSegment__Group_1__0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5113:1: ( ( rule__RefSegment__Group_1__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4957:1: ( ( ( rule__RefSegment__Group_1__0 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4958:1: ( ( rule__RefSegment__Group_1__0 )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5113:1: ( ( rule__RefSegment__Group_1__0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5114:1: ( rule__RefSegment__Group_1__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4958:1: ( ( rule__RefSegment__Group_1__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4959:1: ( rule__RefSegment__Group_1__0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefSegmentAccess().getGroup_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5115:1: ( rule__RefSegment__Group_1__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4960:1: ( rule__RefSegment__Group_1__0 )?
             int alt38=2;
             int LA38_0 = input.LA(1);
 
-            if ( (LA38_0==47) ) {
+            if ( (LA38_0==48) ) {
                 alt38=1;
             }
             switch (alt38) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5115:2: rule__RefSegment__Group_1__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4960:2: rule__RefSegment__Group_1__0
                     {
-                    pushFollow(FOLLOW_rule__RefSegment__Group_1__0_in_rule__RefSegment__Group__1__Impl10315);
+                    pushFollow(FOLLOW_rule__RefSegment__Group_1__0_in_rule__RefSegment__Group__1__Impl10013);
                     rule__RefSegment__Group_1__0();
 
                     state._fsp--;
@@ -14849,21 +14585,21 @@
 
 
     // $ANTLR start "rule__RefSegment__Group_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5129:1: rule__RefSegment__Group_1__0 : rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4974:1: rule__RefSegment__Group_1__0 : rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1 ;
     public final void rule__RefSegment__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5133:1: ( rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5134:2: rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4978:1: ( rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4979:2: rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1
             {
-            pushFollow(FOLLOW_rule__RefSegment__Group_1__0__Impl_in_rule__RefSegment__Group_1__010350);
+            pushFollow(FOLLOW_rule__RefSegment__Group_1__0__Impl_in_rule__RefSegment__Group_1__010048);
             rule__RefSegment__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__RefSegment__Group_1__1_in_rule__RefSegment__Group_1__010353);
+            pushFollow(FOLLOW_rule__RefSegment__Group_1__1_in_rule__RefSegment__Group_1__010051);
             rule__RefSegment__Group_1__1();
 
             state._fsp--;
@@ -14887,22 +14623,22 @@
 
 
     // $ANTLR start "rule__RefSegment__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5141:1: rule__RefSegment__Group_1__0__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4986:1: rule__RefSegment__Group_1__0__Impl : ( ':' ) ;
     public final void rule__RefSegment__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5145:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5146:1: ( ':' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4990:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4991:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5146:1: ( ':' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5147:1: ':'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4991:1: ( ':' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:4992:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefSegmentAccess().getColonKeyword_1_0()); 
             }
-            match(input,47,FOLLOW_47_in_rule__RefSegment__Group_1__0__Impl10381); if (state.failed) return ;
+            match(input,48,FOLLOW_48_in_rule__RefSegment__Group_1__0__Impl10079); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getRefSegmentAccess().getColonKeyword_1_0()); 
             }
@@ -14928,16 +14664,16 @@
 
 
     // $ANTLR start "rule__RefSegment__Group_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5160:1: rule__RefSegment__Group_1__1 : rule__RefSegment__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5005:1: rule__RefSegment__Group_1__1 : rule__RefSegment__Group_1__1__Impl ;
     public final void rule__RefSegment__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5164:1: ( rule__RefSegment__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5165:2: rule__RefSegment__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5009:1: ( rule__RefSegment__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5010:2: rule__RefSegment__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefSegment__Group_1__1__Impl_in_rule__RefSegment__Group_1__110412);
+            pushFollow(FOLLOW_rule__RefSegment__Group_1__1__Impl_in_rule__RefSegment__Group_1__110110);
             rule__RefSegment__Group_1__1__Impl();
 
             state._fsp--;
@@ -14961,25 +14697,25 @@
 
 
     // $ANTLR start "rule__RefSegment__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5171:1: rule__RefSegment__Group_1__1__Impl : ( ( rule__RefSegment__IdxAssignment_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5016:1: rule__RefSegment__Group_1__1__Impl : ( ( rule__RefSegment__IdxAssignment_1_1 ) ) ;
     public final void rule__RefSegment__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5175:1: ( ( ( rule__RefSegment__IdxAssignment_1_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5176:1: ( ( rule__RefSegment__IdxAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5020:1: ( ( ( rule__RefSegment__IdxAssignment_1_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5021:1: ( ( rule__RefSegment__IdxAssignment_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5176:1: ( ( rule__RefSegment__IdxAssignment_1_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5177:1: ( rule__RefSegment__IdxAssignment_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5021:1: ( ( rule__RefSegment__IdxAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5022:1: ( rule__RefSegment__IdxAssignment_1_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefSegmentAccess().getIdxAssignment_1_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5178:1: ( rule__RefSegment__IdxAssignment_1_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5178:2: rule__RefSegment__IdxAssignment_1_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5023:1: ( rule__RefSegment__IdxAssignment_1_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5023:2: rule__RefSegment__IdxAssignment_1_1
             {
-            pushFollow(FOLLOW_rule__RefSegment__IdxAssignment_1_1_in_rule__RefSegment__Group_1__1__Impl10439);
+            pushFollow(FOLLOW_rule__RefSegment__IdxAssignment_1_1_in_rule__RefSegment__Group_1__1__Impl10137);
             rule__RefSegment__IdxAssignment_1_1();
 
             state._fsp--;
@@ -15012,21 +14748,21 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5195:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5040:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
     public final void rule__KeyValue__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5199:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5200:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5044:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5045:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__010476);
+            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__010174);
             rule__KeyValue__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__010479);
+            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__010177);
             rule__KeyValue__Group__1();
 
             state._fsp--;
@@ -15050,25 +14786,25 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5207:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5052:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
     public final void rule__KeyValue__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5211:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5212:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5056:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5057:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5212:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5213:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5057:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5058:1: ( rule__KeyValue__KeyAssignment_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getKeyValueAccess().getKeyAssignment_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5214:1: ( rule__KeyValue__KeyAssignment_0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5214:2: rule__KeyValue__KeyAssignment_0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5059:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5059:2: rule__KeyValue__KeyAssignment_0
             {
-            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl10506);
+            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl10204);
             rule__KeyValue__KeyAssignment_0();
 
             state._fsp--;
@@ -15101,21 +14837,21 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5224:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5069:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
     public final void rule__KeyValue__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5228:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5229:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5073:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5074:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__110536);
+            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__110234);
             rule__KeyValue__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__110539);
+            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__110237);
             rule__KeyValue__Group__2();
 
             state._fsp--;
@@ -15139,22 +14875,22 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5236:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5081:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
     public final void rule__KeyValue__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5240:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5241:1: ( '=' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5085:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5086:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5241:1: ( '=' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5242:1: '='
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5086:1: ( '=' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5087:1: '='
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
             }
-            match(input,42,FOLLOW_42_in_rule__KeyValue__Group__1__Impl10567); if (state.failed) return ;
+            match(input,43,FOLLOW_43_in_rule__KeyValue__Group__1__Impl10265); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
             }
@@ -15180,16 +14916,16 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5255:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5100:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
     public final void rule__KeyValue__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5259:1: ( rule__KeyValue__Group__2__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5260:2: rule__KeyValue__Group__2__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5104:1: ( rule__KeyValue__Group__2__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5105:2: rule__KeyValue__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__210598);
+            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__210296);
             rule__KeyValue__Group__2__Impl();
 
             state._fsp--;
@@ -15213,25 +14949,25 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5266:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5111:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
     public final void rule__KeyValue__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5270:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5271:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5115:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5116:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5271:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5272:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5116:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5117:1: ( rule__KeyValue__ValueAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getKeyValueAccess().getValueAssignment_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5273:1: ( rule__KeyValue__ValueAssignment_2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5273:2: rule__KeyValue__ValueAssignment_2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5118:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5118:2: rule__KeyValue__ValueAssignment_2
             {
-            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl10625);
+            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl10323);
             rule__KeyValue__ValueAssignment_2();
 
             state._fsp--;
@@ -15264,21 +15000,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5292:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5137:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
     public final void rule__SimpleAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5296:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5297:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5141:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5142:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__010664);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__010362);
             rule__SimpleAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__010667);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__010365);
             rule__SimpleAnnotationAttribute__Group__1();
 
             state._fsp--;
@@ -15302,25 +15038,25 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5304:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5149:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5308:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5309:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5153:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5154:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5309:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5310:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5154:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5155:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSimpleAnnotationAttributeAccess().getAlternatives_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5311:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5311:2: rule__SimpleAnnotationAttribute__Alternatives_0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5156:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5156:2: rule__SimpleAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl10694);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl10392);
             rule__SimpleAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
@@ -15353,21 +15089,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5321:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5166:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
     public final void rule__SimpleAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5325:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5326:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5170:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5171:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__110724);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__110422);
             rule__SimpleAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__110727);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__110425);
             rule__SimpleAnnotationAttribute__Group__2();
 
             state._fsp--;
@@ -15391,22 +15127,22 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5333:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5178:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5337:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5338:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5182:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5183:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5338:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5339:1: 'attribute'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5183:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5184:1: 'attribute'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
             }
-            match(input,48,FOLLOW_48_in_rule__SimpleAnnotationAttribute__Group__1__Impl10755); if (state.failed) return ;
+            match(input,49,FOLLOW_49_in_rule__SimpleAnnotationAttribute__Group__1__Impl10453); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
             }
@@ -15432,21 +15168,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5352:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5197:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
     public final void rule__SimpleAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5356:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5357:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5201:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5202:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__210786);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__210484);
             rule__SimpleAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__210789);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__210487);
             rule__SimpleAnnotationAttribute__Group__3();
 
             state._fsp--;
@@ -15470,25 +15206,25 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5364:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5209:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5368:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5369:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5213:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5214:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5369:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5370:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5214:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5215:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameAssignment_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5371:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5371:2: rule__SimpleAnnotationAttribute__NameAssignment_2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5216:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5216:2: rule__SimpleAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl10816);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl10514);
             rule__SimpleAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
@@ -15521,21 +15257,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5381:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5226:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
     public final void rule__SimpleAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5385:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5386:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5230:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5231:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__310846);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__310544);
             rule__SimpleAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__310849);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__310547);
             rule__SimpleAnnotationAttribute__Group__4();
 
             state._fsp--;
@@ -15559,22 +15295,22 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5393:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5238:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5397:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5398:1: ( ':' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5242:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5243:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5398:1: ( ':' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5399:1: ':'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5243:1: ( ':' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5244:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
             }
-            match(input,47,FOLLOW_47_in_rule__SimpleAnnotationAttribute__Group__3__Impl10877); if (state.failed) return ;
+            match(input,48,FOLLOW_48_in_rule__SimpleAnnotationAttribute__Group__3__Impl10575); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
             }
@@ -15600,16 +15336,16 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5412:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5257:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
     public final void rule__SimpleAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5416:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5417:2: rule__SimpleAnnotationAttribute__Group__4__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5261:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5262:2: rule__SimpleAnnotationAttribute__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__410908);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__410606);
             rule__SimpleAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
@@ -15633,25 +15369,25 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5423:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5268:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5427:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5428:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5272:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5273:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5428:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5429:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5273:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5274:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeAssignment_4()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5430:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5430:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5275:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5275:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl10935);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl10633);
             rule__SimpleAnnotationAttribute__TypeAssignment_4();
 
             state._fsp--;
@@ -15684,21 +15420,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5450:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5295:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
     public final void rule__EnumAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5454:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5455:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5299:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5300:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__010975);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__010673);
             rule__EnumAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__010978);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__010676);
             rule__EnumAnnotationAttribute__Group__1();
 
             state._fsp--;
@@ -15722,25 +15458,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5462:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5307:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5466:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5467:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5311:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5312:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5467:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5468:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5312:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5313:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getAlternatives_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5469:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5469:2: rule__EnumAnnotationAttribute__Alternatives_0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5314:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5314:2: rule__EnumAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl11005);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl10703);
             rule__EnumAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
@@ -15773,21 +15509,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5479:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5324:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
     public final void rule__EnumAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5483:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5484:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5328:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5329:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__111035);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__110733);
             rule__EnumAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__111038);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__110736);
             rule__EnumAnnotationAttribute__Group__2();
 
             state._fsp--;
@@ -15811,22 +15547,22 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5491:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5336:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__EnumAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5495:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5496:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5340:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5341:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5496:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5497:1: 'attribute'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5341:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5342:1: 'attribute'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
             }
-            match(input,48,FOLLOW_48_in_rule__EnumAnnotationAttribute__Group__1__Impl11066); if (state.failed) return ;
+            match(input,49,FOLLOW_49_in_rule__EnumAnnotationAttribute__Group__1__Impl10764); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
             }
@@ -15852,21 +15588,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5510:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5355:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
     public final void rule__EnumAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5514:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5515:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5359:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5360:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__211097);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__210795);
             rule__EnumAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__211100);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__210798);
             rule__EnumAnnotationAttribute__Group__3();
 
             state._fsp--;
@@ -15890,25 +15626,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5522:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5367:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5526:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5527:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5371:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5372:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5527:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5528:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5372:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5373:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getNameAssignment_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5529:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5529:2: rule__EnumAnnotationAttribute__NameAssignment_2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5374:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5374:2: rule__EnumAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl11127);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl10825);
             rule__EnumAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
@@ -15941,21 +15677,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5539:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5384:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
     public final void rule__EnumAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5543:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5544:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5388:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5389:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__311157);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__310855);
             rule__EnumAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__311160);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__310858);
             rule__EnumAnnotationAttribute__Group__4();
 
             state._fsp--;
@@ -15979,22 +15715,22 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5551:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5396:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__EnumAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5555:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5556:1: ( ':' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5400:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5401:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5556:1: ( ':' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5557:1: ':'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5401:1: ( ':' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5402:1: ':'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
             }
-            match(input,47,FOLLOW_47_in_rule__EnumAnnotationAttribute__Group__3__Impl11188); if (state.failed) return ;
+            match(input,48,FOLLOW_48_in_rule__EnumAnnotationAttribute__Group__3__Impl10886); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
             }
@@ -16020,21 +15756,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5570:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5415:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
     public final void rule__EnumAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5574:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5575:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5419:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5420:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__411219);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__410917);
             rule__EnumAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__411222);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__410920);
             rule__EnumAnnotationAttribute__Group__5();
 
             state._fsp--;
@@ -16058,22 +15794,22 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5582:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5427:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
     public final void rule__EnumAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5586:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5587:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5431:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5432:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5587:1: ( '{' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5588:1: '{'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5432:1: ( '{' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5433:1: '{'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
             }
-            match(input,26,FOLLOW_26_in_rule__EnumAnnotationAttribute__Group__4__Impl11250); if (state.failed) return ;
+            match(input,27,FOLLOW_27_in_rule__EnumAnnotationAttribute__Group__4__Impl10948); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
             }
@@ -16099,21 +15835,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5601:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5446:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
     public final void rule__EnumAnnotationAttribute__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5605:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5606:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5450:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5451:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__511281);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__510979);
             rule__EnumAnnotationAttribute__Group__5__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__511284);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__510982);
             rule__EnumAnnotationAttribute__Group__6();
 
             state._fsp--;
@@ -16137,25 +15873,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5613:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5458:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5617:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5618:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5462:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5463:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5618:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5619:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5463:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5464:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_5()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5620:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5620:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5465:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5465:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl11311);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl11009);
             rule__EnumAnnotationAttribute__ValuesAssignment_5();
 
             state._fsp--;
@@ -16188,21 +15924,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5630:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5475:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
     public final void rule__EnumAnnotationAttribute__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5634:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5635:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5479:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5480:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__611341);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__611039);
             rule__EnumAnnotationAttribute__Group__6__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__611344);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__611042);
             rule__EnumAnnotationAttribute__Group__7();
 
             state._fsp--;
@@ -16226,37 +15962,37 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5642:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5487:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
     public final void rule__EnumAnnotationAttribute__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5646:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5647:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5491:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5492:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5647:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5648:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5492:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5493:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getGroup_6()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5649:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5494:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
             loop39:
             do {
                 int alt39=2;
                 int LA39_0 = input.LA(1);
 
-                if ( (LA39_0==45) ) {
+                if ( (LA39_0==46) ) {
                     alt39=1;
                 }
 
 
                 switch (alt39) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5649:2: rule__EnumAnnotationAttribute__Group_6__0
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5494:2: rule__EnumAnnotationAttribute__Group_6__0
             	    {
-            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl11371);
+            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl11069);
             	    rule__EnumAnnotationAttribute__Group_6__0();
 
             	    state._fsp--;
@@ -16295,16 +16031,16 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5659:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5504:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
     public final void rule__EnumAnnotationAttribute__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5663:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5664:2: rule__EnumAnnotationAttribute__Group__7__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5508:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5509:2: rule__EnumAnnotationAttribute__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__711402);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__711100);
             rule__EnumAnnotationAttribute__Group__7__Impl();
 
             state._fsp--;
@@ -16328,22 +16064,22 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5670:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5515:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
     public final void rule__EnumAnnotationAttribute__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5674:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5675:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5519:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5520:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5675:1: ( '}' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5676:1: '}'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5520:1: ( '}' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5521:1: '}'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
             }
-            match(input,27,FOLLOW_27_in_rule__EnumAnnotationAttribute__Group__7__Impl11430); if (state.failed) return ;
+            match(input,28,FOLLOW_28_in_rule__EnumAnnotationAttribute__Group__7__Impl11128); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
             }
@@ -16369,21 +16105,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5705:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5550:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
     public final void rule__EnumAnnotationAttribute__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5709:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5710:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5554:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5555:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__011477);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__011175);
             rule__EnumAnnotationAttribute__Group_6__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__011480);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__011178);
             rule__EnumAnnotationAttribute__Group_6__1();
 
             state._fsp--;
@@ -16407,22 +16143,22 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5717:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5562:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5721:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5722:1: ( ',' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5566:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5567:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5722:1: ( ',' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5723:1: ','
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5567:1: ( ',' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5568:1: ','
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
             }
-            match(input,45,FOLLOW_45_in_rule__EnumAnnotationAttribute__Group_6__0__Impl11508); if (state.failed) return ;
+            match(input,46,FOLLOW_46_in_rule__EnumAnnotationAttribute__Group_6__0__Impl11206); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
             }
@@ -16448,16 +16184,16 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5736:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5581:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
     public final void rule__EnumAnnotationAttribute__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5740:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5741:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5585:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5586:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__111539);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__111237);
             rule__EnumAnnotationAttribute__Group_6__1__Impl();
 
             state._fsp--;
@@ -16481,25 +16217,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5747:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5592:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5751:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5752:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5596:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5597:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5752:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5753:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5597:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5598:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_6_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5754:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5754:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5599:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5599:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl11566);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl11264);
             rule__EnumAnnotationAttribute__ValuesAssignment_6_1();
 
             state._fsp--;
@@ -16532,21 +16268,21 @@
 
 
     // $ANTLR start "rule__Import__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5768:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5613:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
     public final void rule__Import__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5772:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5773:2: rule__Import__Group__0__Impl rule__Import__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5617:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5618:2: rule__Import__Group__0__Impl rule__Import__Group__1
             {
-            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__011600);
+            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__011298);
             rule__Import__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__011603);
+            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__011301);
             rule__Import__Group__1();
 
             state._fsp--;
@@ -16570,22 +16306,22 @@
 
 
     // $ANTLR start "rule__Import__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5780:1: rule__Import__Group__0__Impl : ( 'import' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5625:1: rule__Import__Group__0__Impl : ( 'import' ) ;
     public final void rule__Import__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5784:1: ( ( 'import' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5785:1: ( 'import' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5629:1: ( ( 'import' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5630:1: ( 'import' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5785:1: ( 'import' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5786:1: 'import'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5630:1: ( 'import' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5631:1: 'import'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportAccess().getImportKeyword_0()); 
             }
-            match(input,49,FOLLOW_49_in_rule__Import__Group__0__Impl11631); if (state.failed) return ;
+            match(input,50,FOLLOW_50_in_rule__Import__Group__0__Impl11329); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImportAccess().getImportKeyword_0()); 
             }
@@ -16611,21 +16347,21 @@
 
 
     // $ANTLR start "rule__Import__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5799:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5644:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ;
     public final void rule__Import__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5803:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5804:2: rule__Import__Group__1__Impl rule__Import__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5648:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5649:2: rule__Import__Group__1__Impl rule__Import__Group__2
             {
-            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__111662);
+            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__111360);
             rule__Import__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__111665);
+            pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__111363);
             rule__Import__Group__2();
 
             state._fsp--;
@@ -16649,25 +16385,25 @@
 
 
     // $ANTLR start "rule__Import__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5811:1: rule__Import__Group__1__Impl : ( ( rule__Import__Alternatives_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5656:1: rule__Import__Group__1__Impl : ( ( rule__Import__Alternatives_1 ) ) ;
     public final void rule__Import__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5815:1: ( ( ( rule__Import__Alternatives_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5816:1: ( ( rule__Import__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5660:1: ( ( ( rule__Import__Alternatives_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5661:1: ( ( rule__Import__Alternatives_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5816:1: ( ( rule__Import__Alternatives_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5817:1: ( rule__Import__Alternatives_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5661:1: ( ( rule__Import__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5662:1: ( rule__Import__Alternatives_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportAccess().getAlternatives_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5818:1: ( rule__Import__Alternatives_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5818:2: rule__Import__Alternatives_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5663:1: ( rule__Import__Alternatives_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5663:2: rule__Import__Alternatives_1
             {
-            pushFollow(FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl11692);
+            pushFollow(FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl11390);
             rule__Import__Alternatives_1();
 
             state._fsp--;
@@ -16700,16 +16436,16 @@
 
 
     // $ANTLR start "rule__Import__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5828:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5673:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ;
     public final void rule__Import__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5832:1: ( rule__Import__Group__2__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5833:2: rule__Import__Group__2__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5677:1: ( rule__Import__Group__2__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5678:2: rule__Import__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__211722);
+            pushFollow(FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__211420);
             rule__Import__Group__2__Impl();
 
             state._fsp--;
@@ -16733,25 +16469,25 @@
 
 
     // $ANTLR start "rule__Import__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5839:1: rule__Import__Group__2__Impl : ( ( rule__Import__ImportURIAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5684:1: rule__Import__Group__2__Impl : ( ( rule__Import__ImportURIAssignment_2 ) ) ;
     public final void rule__Import__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5843:1: ( ( ( rule__Import__ImportURIAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5844:1: ( ( rule__Import__ImportURIAssignment_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5688:1: ( ( ( rule__Import__ImportURIAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5689:1: ( ( rule__Import__ImportURIAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5844:1: ( ( rule__Import__ImportURIAssignment_2 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5845:1: ( rule__Import__ImportURIAssignment_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5689:1: ( ( rule__Import__ImportURIAssignment_2 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5690:1: ( rule__Import__ImportURIAssignment_2 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportAccess().getImportURIAssignment_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5846:1: ( rule__Import__ImportURIAssignment_2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5846:2: rule__Import__ImportURIAssignment_2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5691:1: ( rule__Import__ImportURIAssignment_2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5691:2: rule__Import__ImportURIAssignment_2
             {
-            pushFollow(FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl11749);
+            pushFollow(FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl11447);
             rule__Import__ImportURIAssignment_2();
 
             state._fsp--;
@@ -16784,21 +16520,21 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5862:1: rule__Import__Group_1_0__0 : rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5707:1: rule__Import__Group_1_0__0 : rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 ;
     public final void rule__Import__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5866:1: ( rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5867:2: rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5711:1: ( rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5712:2: rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1
             {
-            pushFollow(FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__011785);
+            pushFollow(FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__011483);
             rule__Import__Group_1_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__011788);
+            pushFollow(FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__011486);
             rule__Import__Group_1_0__1();
 
             state._fsp--;
@@ -16822,25 +16558,25 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5874:1: rule__Import__Group_1_0__0__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5719:1: rule__Import__Group_1_0__0__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) ;
     public final void rule__Import__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5878:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5879:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5723:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5724:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5879:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5880:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5724:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5725:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1_0_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5881:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5881:2: rule__Import__ImportedNamespaceAssignment_1_0_0
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5726:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5726:2: rule__Import__ImportedNamespaceAssignment_1_0_0
             {
-            pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl11815);
+            pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl11513);
             rule__Import__ImportedNamespaceAssignment_1_0_0();
 
             state._fsp--;
@@ -16873,16 +16609,16 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5891:1: rule__Import__Group_1_0__1 : rule__Import__Group_1_0__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5736:1: rule__Import__Group_1_0__1 : rule__Import__Group_1_0__1__Impl ;
     public final void rule__Import__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5895:1: ( rule__Import__Group_1_0__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5896:2: rule__Import__Group_1_0__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5740:1: ( rule__Import__Group_1_0__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5741:2: rule__Import__Group_1_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__111845);
+            pushFollow(FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__111543);
             rule__Import__Group_1_0__1__Impl();
 
             state._fsp--;
@@ -16906,22 +16642,22 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5902:1: rule__Import__Group_1_0__1__Impl : ( 'from' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5747:1: rule__Import__Group_1_0__1__Impl : ( 'from' ) ;
     public final void rule__Import__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5906:1: ( ( 'from' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5907:1: ( 'from' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5751:1: ( ( 'from' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5752:1: ( 'from' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5907:1: ( 'from' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5908:1: 'from'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5752:1: ( 'from' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5753:1: 'from'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportAccess().getFromKeyword_1_0_1()); 
             }
-            match(input,50,FOLLOW_50_in_rule__Import__Group_1_0__1__Impl11873); if (state.failed) return ;
+            match(input,51,FOLLOW_51_in_rule__Import__Group_1_0__1__Impl11571); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImportAccess().getFromKeyword_1_0_1()); 
             }
@@ -16947,21 +16683,21 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5925:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5770:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
     public final void rule__ImportedFQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5929:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5930:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5774:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5775:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__011908);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__011606);
             rule__ImportedFQN__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__011911);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__011609);
             rule__ImportedFQN__Group__1();
 
             state._fsp--;
@@ -16985,22 +16721,22 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5937:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5782:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
     public final void rule__ImportedFQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5941:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5942:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5786:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5787:1: ( ruleFQN )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5942:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5943:1: ruleFQN
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5787:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5788:1: ruleFQN
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
             }
-            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl11938);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl11636);
             ruleFQN();
 
             state._fsp--;
@@ -17030,16 +16766,16 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5954:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5799:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
     public final void rule__ImportedFQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5958:1: ( rule__ImportedFQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5959:2: rule__ImportedFQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5803:1: ( rule__ImportedFQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5804:2: rule__ImportedFQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__111967);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__111665);
             rule__ImportedFQN__Group__1__Impl();
 
             state._fsp--;
@@ -17063,33 +16799,33 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5965:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5810:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
     public final void rule__ImportedFQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5969:1: ( ( ( '.*' )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5970:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5814:1: ( ( ( '.*' )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5815:1: ( ( '.*' )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5970:1: ( ( '.*' )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5971:1: ( '.*' )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5815:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5816:1: ( '.*' )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5972:1: ( '.*' )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5817:1: ( '.*' )?
             int alt40=2;
             int LA40_0 = input.LA(1);
 
-            if ( (LA40_0==51) ) {
+            if ( (LA40_0==52) ) {
                 alt40=1;
             }
             switch (alt40) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5973:2: '.*'
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5818:2: '.*'
                     {
-                    match(input,51,FOLLOW_51_in_rule__ImportedFQN__Group__1__Impl11996); if (state.failed) return ;
+                    match(input,52,FOLLOW_52_in_rule__ImportedFQN__Group__1__Impl11694); if (state.failed) return ;
 
                     }
                     break;
@@ -17121,21 +16857,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5988:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5833:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
     public final void rule__Documentation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5992:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5993:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5837:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5838:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__012033);
+            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__011731);
             rule__Documentation__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__012036);
+            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__011734);
             rule__Documentation__Group__1();
 
             state._fsp--;
@@ -17159,23 +16895,23 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6000:1: rule__Documentation__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5845:1: rule__Documentation__Group__0__Impl : ( () ) ;
     public final void rule__Documentation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6004:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6005:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5849:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5850:1: ( () )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6005:1: ( () )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6006:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5850:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5851:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationAccess().getDocumentationAction_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6007:1: ()
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6009:1: 
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5852:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5854:1: 
             {
             }
 
@@ -17200,21 +16936,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6019:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5864:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
     public final void rule__Documentation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6023:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6024:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5868:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5869:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__112094);
+            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__111792);
             rule__Documentation__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__112097);
+            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__111795);
             rule__Documentation__Group__2();
 
             state._fsp--;
@@ -17238,22 +16974,22 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6031:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5876:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
     public final void rule__Documentation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6035:1: ( ( '[' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6036:1: ( '[' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5880:1: ( ( '[' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5881:1: ( '[' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6036:1: ( '[' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6037:1: '['
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5881:1: ( '[' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5882:1: '['
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
             }
-            match(input,52,FOLLOW_52_in_rule__Documentation__Group__1__Impl12125); if (state.failed) return ;
+            match(input,53,FOLLOW_53_in_rule__Documentation__Group__1__Impl11823); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
             }
@@ -17279,21 +17015,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6050:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5895:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
     public final void rule__Documentation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6054:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6055:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5899:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5900:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__212156);
+            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__211854);
             rule__Documentation__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__212159);
+            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__211857);
             rule__Documentation__Group__3();
 
             state._fsp--;
@@ -17317,22 +17053,22 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6062:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5907:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
     public final void rule__Documentation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6066:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6067:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5911:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5912:1: ( ( rule__Documentation__LinesAssignment_2 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6067:1: ( ( rule__Documentation__LinesAssignment_2 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6068:1: ( rule__Documentation__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5912:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5913:1: ( rule__Documentation__LinesAssignment_2 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationAccess().getLinesAssignment_2()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6069:1: ( rule__Documentation__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5914:1: ( rule__Documentation__LinesAssignment_2 )*
             loop41:
             do {
                 int alt41=2;
@@ -17345,9 +17081,9 @@
 
                 switch (alt41) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6069:2: rule__Documentation__LinesAssignment_2
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5914:2: rule__Documentation__LinesAssignment_2
             	    {
-            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl12186);
+            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl11884);
             	    rule__Documentation__LinesAssignment_2();
 
             	    state._fsp--;
@@ -17386,16 +17122,16 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6079:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5924:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
     public final void rule__Documentation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6083:1: ( rule__Documentation__Group__3__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6084:2: rule__Documentation__Group__3__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5928:1: ( rule__Documentation__Group__3__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5929:2: rule__Documentation__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__312217);
+            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__311915);
             rule__Documentation__Group__3__Impl();
 
             state._fsp--;
@@ -17419,22 +17155,22 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6090:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5935:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
     public final void rule__Documentation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6094:1: ( ( ']' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6095:1: ( ']' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5939:1: ( ( ']' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5940:1: ( ']' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6095:1: ( ']' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6096:1: ']'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5940:1: ( ']' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5941:1: ']'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
             }
-            match(input,53,FOLLOW_53_in_rule__Documentation__Group__3__Impl12245); if (state.failed) return ;
+            match(input,54,FOLLOW_54_in_rule__Documentation__Group__3__Impl11943); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
             }
@@ -17460,21 +17196,21 @@
 
 
     // $ANTLR start "rule__TIME__Group_0__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6117:1: rule__TIME__Group_0__0 : rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5962:1: rule__TIME__Group_0__0 : rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1 ;
     public final void rule__TIME__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6121:1: ( rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6122:2: rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5966:1: ( rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5967:2: rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1
             {
-            pushFollow(FOLLOW_rule__TIME__Group_0__0__Impl_in_rule__TIME__Group_0__012284);
+            pushFollow(FOLLOW_rule__TIME__Group_0__0__Impl_in_rule__TIME__Group_0__011982);
             rule__TIME__Group_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__TIME__Group_0__1_in_rule__TIME__Group_0__012287);
+            pushFollow(FOLLOW_rule__TIME__Group_0__1_in_rule__TIME__Group_0__011985);
             rule__TIME__Group_0__1();
 
             state._fsp--;
@@ -17498,22 +17234,22 @@
 
 
     // $ANTLR start "rule__TIME__Group_0__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6129:1: rule__TIME__Group_0__0__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5974:1: rule__TIME__Group_0__0__Impl : ( RULE_INT ) ;
     public final void rule__TIME__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6133:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6134:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5978:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5979:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6134:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6135:1: RULE_INT
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5979:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5980:1: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0_0()); 
             }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_0__0__Impl12314); if (state.failed) return ;
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_0__0__Impl12012); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0_0()); 
             }
@@ -17539,16 +17275,16 @@
 
 
     // $ANTLR start "rule__TIME__Group_0__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6146:1: rule__TIME__Group_0__1 : rule__TIME__Group_0__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5991:1: rule__TIME__Group_0__1 : rule__TIME__Group_0__1__Impl ;
     public final void rule__TIME__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6150:1: ( rule__TIME__Group_0__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6151:2: rule__TIME__Group_0__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5995:1: ( rule__TIME__Group_0__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:5996:2: rule__TIME__Group_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__TIME__Group_0__1__Impl_in_rule__TIME__Group_0__112343);
+            pushFollow(FOLLOW_rule__TIME__Group_0__1__Impl_in_rule__TIME__Group_0__112041);
             rule__TIME__Group_0__1__Impl();
 
             state._fsp--;
@@ -17572,22 +17308,22 @@
 
 
     // $ANTLR start "rule__TIME__Group_0__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6157:1: rule__TIME__Group_0__1__Impl : ( 's' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6002:1: rule__TIME__Group_0__1__Impl : ( 's' ) ;
     public final void rule__TIME__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6161:1: ( ( 's' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6162:1: ( 's' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6006:1: ( ( 's' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6007:1: ( 's' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6162:1: ( 's' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6163:1: 's'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6007:1: ( 's' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6008:1: 's'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTIMEAccess().getSKeyword_0_1()); 
             }
-            match(input,54,FOLLOW_54_in_rule__TIME__Group_0__1__Impl12371); if (state.failed) return ;
+            match(input,55,FOLLOW_55_in_rule__TIME__Group_0__1__Impl12069); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTIMEAccess().getSKeyword_0_1()); 
             }
@@ -17613,21 +17349,21 @@
 
 
     // $ANTLR start "rule__TIME__Group_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6180:1: rule__TIME__Group_1__0 : rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6025:1: rule__TIME__Group_1__0 : rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1 ;
     public final void rule__TIME__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6184:1: ( rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6185:2: rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6029:1: ( rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6030:2: rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1
             {
-            pushFollow(FOLLOW_rule__TIME__Group_1__0__Impl_in_rule__TIME__Group_1__012406);
+            pushFollow(FOLLOW_rule__TIME__Group_1__0__Impl_in_rule__TIME__Group_1__012104);
             rule__TIME__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__TIME__Group_1__1_in_rule__TIME__Group_1__012409);
+            pushFollow(FOLLOW_rule__TIME__Group_1__1_in_rule__TIME__Group_1__012107);
             rule__TIME__Group_1__1();
 
             state._fsp--;
@@ -17651,22 +17387,22 @@
 
 
     // $ANTLR start "rule__TIME__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6192:1: rule__TIME__Group_1__0__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6037:1: rule__TIME__Group_1__0__Impl : ( RULE_INT ) ;
     public final void rule__TIME__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6196:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6197:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6041:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6042:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6197:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6198:1: RULE_INT
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6042:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6043:1: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_1_0()); 
             }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_1__0__Impl12436); if (state.failed) return ;
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_1__0__Impl12134); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_1_0()); 
             }
@@ -17692,16 +17428,16 @@
 
 
     // $ANTLR start "rule__TIME__Group_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6209:1: rule__TIME__Group_1__1 : rule__TIME__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6054:1: rule__TIME__Group_1__1 : rule__TIME__Group_1__1__Impl ;
     public final void rule__TIME__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6213:1: ( rule__TIME__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6214:2: rule__TIME__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6058:1: ( rule__TIME__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6059:2: rule__TIME__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__TIME__Group_1__1__Impl_in_rule__TIME__Group_1__112465);
+            pushFollow(FOLLOW_rule__TIME__Group_1__1__Impl_in_rule__TIME__Group_1__112163);
             rule__TIME__Group_1__1__Impl();
 
             state._fsp--;
@@ -17725,22 +17461,22 @@
 
 
     // $ANTLR start "rule__TIME__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6220:1: rule__TIME__Group_1__1__Impl : ( 'ms' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6065:1: rule__TIME__Group_1__1__Impl : ( 'ms' ) ;
     public final void rule__TIME__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6224:1: ( ( 'ms' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6225:1: ( 'ms' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6069:1: ( ( 'ms' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6070:1: ( 'ms' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6225:1: ( 'ms' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6226:1: 'ms'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6070:1: ( 'ms' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6071:1: 'ms'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTIMEAccess().getMsKeyword_1_1()); 
             }
-            match(input,55,FOLLOW_55_in_rule__TIME__Group_1__1__Impl12493); if (state.failed) return ;
+            match(input,56,FOLLOW_56_in_rule__TIME__Group_1__1__Impl12191); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTIMEAccess().getMsKeyword_1_1()); 
             }
@@ -17766,21 +17502,21 @@
 
 
     // $ANTLR start "rule__TIME__Group_2__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6243:1: rule__TIME__Group_2__0 : rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6088:1: rule__TIME__Group_2__0 : rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1 ;
     public final void rule__TIME__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6247:1: ( rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6248:2: rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6092:1: ( rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6093:2: rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1
             {
-            pushFollow(FOLLOW_rule__TIME__Group_2__0__Impl_in_rule__TIME__Group_2__012528);
+            pushFollow(FOLLOW_rule__TIME__Group_2__0__Impl_in_rule__TIME__Group_2__012226);
             rule__TIME__Group_2__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__TIME__Group_2__1_in_rule__TIME__Group_2__012531);
+            pushFollow(FOLLOW_rule__TIME__Group_2__1_in_rule__TIME__Group_2__012229);
             rule__TIME__Group_2__1();
 
             state._fsp--;
@@ -17804,22 +17540,22 @@
 
 
     // $ANTLR start "rule__TIME__Group_2__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6255:1: rule__TIME__Group_2__0__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6100:1: rule__TIME__Group_2__0__Impl : ( RULE_INT ) ;
     public final void rule__TIME__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6259:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6260:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6104:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6105:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6260:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6261:1: RULE_INT
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6105:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6106:1: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_2_0()); 
             }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_2__0__Impl12558); if (state.failed) return ;
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_2__0__Impl12256); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_2_0()); 
             }
@@ -17845,16 +17581,16 @@
 
 
     // $ANTLR start "rule__TIME__Group_2__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6272:1: rule__TIME__Group_2__1 : rule__TIME__Group_2__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6117:1: rule__TIME__Group_2__1 : rule__TIME__Group_2__1__Impl ;
     public final void rule__TIME__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6276:1: ( rule__TIME__Group_2__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6277:2: rule__TIME__Group_2__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6121:1: ( rule__TIME__Group_2__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6122:2: rule__TIME__Group_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__TIME__Group_2__1__Impl_in_rule__TIME__Group_2__112587);
+            pushFollow(FOLLOW_rule__TIME__Group_2__1__Impl_in_rule__TIME__Group_2__112285);
             rule__TIME__Group_2__1__Impl();
 
             state._fsp--;
@@ -17878,22 +17614,22 @@
 
 
     // $ANTLR start "rule__TIME__Group_2__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6283:1: rule__TIME__Group_2__1__Impl : ( 'us' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6128:1: rule__TIME__Group_2__1__Impl : ( 'us' ) ;
     public final void rule__TIME__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6287:1: ( ( 'us' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6288:1: ( 'us' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6132:1: ( ( 'us' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6133:1: ( 'us' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6288:1: ( 'us' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6289:1: 'us'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6133:1: ( 'us' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6134:1: 'us'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTIMEAccess().getUsKeyword_2_1()); 
             }
-            match(input,56,FOLLOW_56_in_rule__TIME__Group_2__1__Impl12615); if (state.failed) return ;
+            match(input,57,FOLLOW_57_in_rule__TIME__Group_2__1__Impl12313); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTIMEAccess().getUsKeyword_2_1()); 
             }
@@ -17919,21 +17655,21 @@
 
 
     // $ANTLR start "rule__TIME__Group_3__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6306:1: rule__TIME__Group_3__0 : rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6151:1: rule__TIME__Group_3__0 : rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1 ;
     public final void rule__TIME__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6310:1: ( rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6311:2: rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6155:1: ( rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6156:2: rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1
             {
-            pushFollow(FOLLOW_rule__TIME__Group_3__0__Impl_in_rule__TIME__Group_3__012650);
+            pushFollow(FOLLOW_rule__TIME__Group_3__0__Impl_in_rule__TIME__Group_3__012348);
             rule__TIME__Group_3__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__TIME__Group_3__1_in_rule__TIME__Group_3__012653);
+            pushFollow(FOLLOW_rule__TIME__Group_3__1_in_rule__TIME__Group_3__012351);
             rule__TIME__Group_3__1();
 
             state._fsp--;
@@ -17957,22 +17693,22 @@
 
 
     // $ANTLR start "rule__TIME__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6318:1: rule__TIME__Group_3__0__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6163:1: rule__TIME__Group_3__0__Impl : ( RULE_INT ) ;
     public final void rule__TIME__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6322:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6323:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6167:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6168:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6323:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6324:1: RULE_INT
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6168:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6169:1: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_3_0()); 
             }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_3__0__Impl12680); if (state.failed) return ;
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_3__0__Impl12378); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_3_0()); 
             }
@@ -17998,16 +17734,16 @@
 
 
     // $ANTLR start "rule__TIME__Group_3__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6335:1: rule__TIME__Group_3__1 : rule__TIME__Group_3__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6180:1: rule__TIME__Group_3__1 : rule__TIME__Group_3__1__Impl ;
     public final void rule__TIME__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6339:1: ( rule__TIME__Group_3__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6340:2: rule__TIME__Group_3__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6184:1: ( rule__TIME__Group_3__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6185:2: rule__TIME__Group_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__TIME__Group_3__1__Impl_in_rule__TIME__Group_3__112709);
+            pushFollow(FOLLOW_rule__TIME__Group_3__1__Impl_in_rule__TIME__Group_3__112407);
             rule__TIME__Group_3__1__Impl();
 
             state._fsp--;
@@ -18031,22 +17767,22 @@
 
 
     // $ANTLR start "rule__TIME__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6346:1: rule__TIME__Group_3__1__Impl : ( 'ns' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6191:1: rule__TIME__Group_3__1__Impl : ( 'ns' ) ;
     public final void rule__TIME__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6350:1: ( ( 'ns' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6351:1: ( 'ns' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6195:1: ( ( 'ns' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6196:1: ( 'ns' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6351:1: ( 'ns' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6352:1: 'ns'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6196:1: ( 'ns' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6197:1: 'ns'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getTIMEAccess().getNsKeyword_3_1()); 
             }
-            match(input,57,FOLLOW_57_in_rule__TIME__Group_3__1__Impl12737); if (state.failed) return ;
+            match(input,58,FOLLOW_58_in_rule__TIME__Group_3__1__Impl12435); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getTIMEAccess().getNsKeyword_3_1()); 
             }
@@ -18072,21 +17808,21 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6371:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6216:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
     public final void rule__BooleanLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6375:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6376:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6220:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6221:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__012774);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__012472);
             rule__BooleanLiteral__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__012777);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__012475);
             rule__BooleanLiteral__Group__1();
 
             state._fsp--;
@@ -18110,23 +17846,23 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6383:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6228:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
     public final void rule__BooleanLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6387:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6388:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6232:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6233:1: ( () )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6388:1: ( () )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6389:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6233:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6234:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6390:1: ()
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6392:1: 
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6235:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6237:1: 
             {
             }
 
@@ -18151,16 +17887,16 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6402:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6247:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
     public final void rule__BooleanLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6406:1: ( rule__BooleanLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6407:2: rule__BooleanLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6251:1: ( rule__BooleanLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6252:2: rule__BooleanLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__112835);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__112533);
             rule__BooleanLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -18184,25 +17920,25 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6413:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6258:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
     public final void rule__BooleanLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6417:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6418:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6262:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6263:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6418:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6419:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6263:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6264:1: ( rule__BooleanLiteral__Alternatives_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBooleanLiteralAccess().getAlternatives_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6420:1: ( rule__BooleanLiteral__Alternatives_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6420:2: rule__BooleanLiteral__Alternatives_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6265:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6265:2: rule__BooleanLiteral__Alternatives_1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl12862);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl12560);
             rule__BooleanLiteral__Alternatives_1();
 
             state._fsp--;
@@ -18235,21 +17971,21 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6434:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6279:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
     public final void rule__RealLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6438:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6439:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6283:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6284:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__012896);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__012594);
             rule__RealLiteral__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__012899);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__012597);
             rule__RealLiteral__Group__1();
 
             state._fsp--;
@@ -18273,23 +18009,23 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6446:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6291:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
     public final void rule__RealLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6450:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6451:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6295:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6296:1: ( () )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6451:1: ( () )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6452:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6296:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6297:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRealLiteralAccess().getRealLiteralAction_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6453:1: ()
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6455:1: 
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6298:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6300:1: 
             {
             }
 
@@ -18314,16 +18050,16 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6465:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6310:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
     public final void rule__RealLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6469:1: ( rule__RealLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6470:2: rule__RealLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6314:1: ( rule__RealLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6315:2: rule__RealLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__112957);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__112655);
             rule__RealLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -18347,25 +18083,25 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6476:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6321:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
     public final void rule__RealLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6480:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6481:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6325:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6326:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6481:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6482:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6326:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6327:1: ( rule__RealLiteral__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRealLiteralAccess().getValueAssignment_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6483:1: ( rule__RealLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6483:2: rule__RealLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6328:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6328:2: rule__RealLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl12984);
+            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl12682);
             rule__RealLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -18398,21 +18134,21 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6497:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6342:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
     public final void rule__IntLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6501:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6502:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6346:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6347:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__013018);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__012716);
             rule__IntLiteral__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__013021);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__012719);
             rule__IntLiteral__Group__1();
 
             state._fsp--;
@@ -18436,23 +18172,23 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6509:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6354:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
     public final void rule__IntLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6513:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6514:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6358:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6359:1: ( () )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6514:1: ( () )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6515:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6359:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6360:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIntLiteralAccess().getIntLiteralAction_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6516:1: ()
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6518:1: 
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6361:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6363:1: 
             {
             }
 
@@ -18477,16 +18213,16 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6528:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6373:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
     public final void rule__IntLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6532:1: ( rule__IntLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6533:2: rule__IntLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6377:1: ( rule__IntLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6378:2: rule__IntLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__113079);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__112777);
             rule__IntLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -18510,25 +18246,25 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6539:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6384:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
     public final void rule__IntLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6543:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6544:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6388:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6389:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6544:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6545:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6389:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6390:1: ( rule__IntLiteral__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIntLiteralAccess().getValueAssignment_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6546:1: ( rule__IntLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6546:2: rule__IntLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6391:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6391:2: rule__IntLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl13106);
+            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl12804);
             rule__IntLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -18561,21 +18297,21 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6560:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6405:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
     public final void rule__StringLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6564:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6565:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6409:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6410:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__013140);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__012838);
             rule__StringLiteral__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__013143);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__012841);
             rule__StringLiteral__Group__1();
 
             state._fsp--;
@@ -18599,23 +18335,23 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6572:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6417:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
     public final void rule__StringLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6576:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6577:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6421:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6422:1: ( () )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6577:1: ( () )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6578:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6422:1: ( () )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6423:1: ()
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringLiteralAccess().getStringLiteralAction_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6579:1: ()
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6581:1: 
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6424:1: ()
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6426:1: 
             {
             }
 
@@ -18640,16 +18376,16 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6591:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6436:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
     public final void rule__StringLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6595:1: ( rule__StringLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6596:2: rule__StringLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6440:1: ( rule__StringLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6441:2: rule__StringLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__113201);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__112899);
             rule__StringLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -18673,25 +18409,25 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6602:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6447:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
     public final void rule__StringLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6606:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6607:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6451:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6452:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6607:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6608:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6452:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6453:1: ( rule__StringLiteral__ValueAssignment_1 )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringLiteralAccess().getValueAssignment_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6609:1: ( rule__StringLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6609:2: rule__StringLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6454:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6454:2: rule__StringLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl13228);
+            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl12926);
             rule__StringLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -18723,23 +18459,23 @@
     // $ANTLR end "rule__StringLiteral__Group__1__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6623:1: rule__SignedInteger__Group__0 : rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 ;
-    public final void rule__SignedInteger__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6468:1: rule__Integer__Group_0__0 : rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 ;
+    public final void rule__Integer__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6627:1: ( rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6628:2: rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6472:1: ( rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6473:2: rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__013262);
-            rule__SignedInteger__Group__0__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__012960);
+            rule__Integer__Group_0__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__013265);
-            rule__SignedInteger__Group__1();
+            pushFollow(FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__012963);
+            rule__Integer__Group_0__1();
 
             state._fsp--;
             if (state.failed) return ;
@@ -18758,38 +18494,38 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0"
+    // $ANTLR end "rule__Integer__Group_0__0"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6635:1: rule__SignedInteger__Group__0__Impl : ( ( rule__SignedInteger__Alternatives_0 )? ) ;
-    public final void rule__SignedInteger__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0__Impl"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6480:1: rule__Integer__Group_0__0__Impl : ( ( rule__Integer__Alternatives_0_0 )? ) ;
+    public final void rule__Integer__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6639:1: ( ( ( rule__SignedInteger__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6640:1: ( ( rule__SignedInteger__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6484:1: ( ( ( rule__Integer__Alternatives_0_0 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6485:1: ( ( rule__Integer__Alternatives_0_0 )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6640:1: ( ( rule__SignedInteger__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6641:1: ( rule__SignedInteger__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6485:1: ( ( rule__Integer__Alternatives_0_0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6486:1: ( rule__Integer__Alternatives_0_0 )?
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
+               before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6642:1: ( rule__SignedInteger__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6487:1: ( rule__Integer__Alternatives_0_0 )?
             int alt42=2;
             int LA42_0 = input.LA(1);
 
-            if ( ((LA42_0>=19 && LA42_0<=20)) ) {
+            if ( ((LA42_0>=18 && LA42_0<=19)) ) {
                 alt42=1;
             }
             switch (alt42) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6642:2: rule__SignedInteger__Alternatives_0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6487:2: rule__Integer__Alternatives_0_0
                     {
-                    pushFollow(FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl13292);
-                    rule__SignedInteger__Alternatives_0();
+                    pushFollow(FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl12990);
+                    rule__Integer__Alternatives_0_0();
 
                     state._fsp--;
                     if (state.failed) return ;
@@ -18800,7 +18536,7 @@
             }
 
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
+               after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
             }
 
             }
@@ -18820,21 +18556,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0__Impl"
+    // $ANTLR end "rule__Integer__Group_0__0__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6652:1: rule__SignedInteger__Group__1 : rule__SignedInteger__Group__1__Impl ;
-    public final void rule__SignedInteger__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6497:1: rule__Integer__Group_0__1 : rule__Integer__Group_0__1__Impl ;
+    public final void rule__Integer__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6656:1: ( rule__SignedInteger__Group__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6657:2: rule__SignedInteger__Group__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6501:1: ( rule__Integer__Group_0__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6502:2: rule__Integer__Group_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__113323);
-            rule__SignedInteger__Group__1__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__113021);
+            rule__Integer__Group_0__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
@@ -18853,28 +18589,28 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1"
+    // $ANTLR end "rule__Integer__Group_0__1"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6663:1: rule__SignedInteger__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__SignedInteger__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1__Impl"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6508:1: rule__Integer__Group_0__1__Impl : ( RULE_INT ) ;
+    public final void rule__Integer__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6667:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6668:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6512:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6513:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6668:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6669:1: RULE_INT
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6513:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6514:1: RULE_INT
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+               before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
             }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl13350); if (state.failed) return ;
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl13048); if (state.failed) return ;
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+               after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
             }
 
             }
@@ -18894,25 +18630,25 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1__Impl"
+    // $ANTLR end "rule__Integer__Group_0__1__Impl"
 
 
     // $ANTLR start "rule__Decimal__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6684:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6529:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
     public final void rule__Decimal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6688:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6689:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6533:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6534:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__013383);
+            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__013081);
             rule__Decimal__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__013386);
+            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__013084);
             rule__Decimal__Group__1();
 
             state._fsp--;
@@ -18936,33 +18672,33 @@
 
 
     // $ANTLR start "rule__Decimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6696:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6541:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
     public final void rule__Decimal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6700:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6701:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6545:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6546:1: ( ( rule__Decimal__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6701:1: ( ( rule__Decimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6702:1: ( rule__Decimal__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6546:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6547:1: ( rule__Decimal__Alternatives_0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalAccess().getAlternatives_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6703:1: ( rule__Decimal__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6548:1: ( rule__Decimal__Alternatives_0 )?
             int alt43=2;
             int LA43_0 = input.LA(1);
 
-            if ( ((LA43_0>=19 && LA43_0<=20)) ) {
+            if ( ((LA43_0>=18 && LA43_0<=19)) ) {
                 alt43=1;
             }
             switch (alt43) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6703:2: rule__Decimal__Alternatives_0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6548:2: rule__Decimal__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl13413);
+                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl13111);
                     rule__Decimal__Alternatives_0();
 
                     state._fsp--;
@@ -18998,21 +18734,21 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6713:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6558:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
     public final void rule__Decimal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6717:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6718:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6562:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6563:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__113444);
+            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__113142);
             rule__Decimal__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__113447);
+            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__113145);
             rule__Decimal__Group__2();
 
             state._fsp--;
@@ -19036,22 +18772,22 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6725:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6570:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6729:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6730:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6574:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6575:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6730:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6731:1: RULE_INT
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6575:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6576:1: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
             }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl13474); if (state.failed) return ;
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl13172); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
             }
@@ -19077,21 +18813,21 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6742:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6587:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
     public final void rule__Decimal__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6746:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6747:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6591:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6592:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__213503);
+            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__213201);
             rule__Decimal__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__213506);
+            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__213204);
             rule__Decimal__Group__3();
 
             state._fsp--;
@@ -19115,22 +18851,22 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6754:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6599:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
     public final void rule__Decimal__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6758:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6759:1: ( '.' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6603:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6604:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6759:1: ( '.' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6760:1: '.'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6604:1: ( '.' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6605:1: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
             }
-            match(input,46,FOLLOW_46_in_rule__Decimal__Group__2__Impl13534); if (state.failed) return ;
+            match(input,47,FOLLOW_47_in_rule__Decimal__Group__2__Impl13232); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
             }
@@ -19156,16 +18892,16 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6773:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6618:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
     public final void rule__Decimal__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6777:1: ( rule__Decimal__Group__3__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6778:2: rule__Decimal__Group__3__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6622:1: ( rule__Decimal__Group__3__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6623:2: rule__Decimal__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__313565);
+            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__313263);
             rule__Decimal__Group__3__Impl();
 
             state._fsp--;
@@ -19189,22 +18925,22 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6784:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6629:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6788:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6789:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6633:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6634:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6789:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6790:1: RULE_INT
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6634:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6635:1: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
             }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl13592); if (state.failed) return ;
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl13290); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
             }
@@ -19229,528 +18965,22 @@
     // $ANTLR end "rule__Decimal__Group__3__Impl"
 
 
-    // $ANTLR start "rule__DotDecimal__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6809:1: rule__DotDecimal__Group__0 : rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 ;
-    public final void rule__DotDecimal__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6813:1: ( rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6814:2: rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__013629);
-            rule__DotDecimal__Group__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__013632);
-            rule__DotDecimal__Group__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6821:1: rule__DotDecimal__Group__0__Impl : ( ( rule__DotDecimal__Alternatives_0 )? ) ;
-    public final void rule__DotDecimal__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6825:1: ( ( ( rule__DotDecimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6826:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6826:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6827:1: ( rule__DotDecimal__Alternatives_0 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-            }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6828:1: ( rule__DotDecimal__Alternatives_0 )?
-            int alt44=2;
-            int LA44_0 = input.LA(1);
-
-            if ( ((LA44_0>=19 && LA44_0<=20)) ) {
-                alt44=1;
-            }
-            switch (alt44) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6828:2: rule__DotDecimal__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl13659);
-                    rule__DotDecimal__Alternatives_0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6838:1: rule__DotDecimal__Group__1 : rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 ;
-    public final void rule__DotDecimal__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6842:1: ( rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6843:2: rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__113690);
-            rule__DotDecimal__Group__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__113693);
-            rule__DotDecimal__Group__2();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6850:1: rule__DotDecimal__Group__1__Impl : ( '.' ) ;
-    public final void rule__DotDecimal__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6854:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6855:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6855:1: ( '.' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6856:1: '.'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-            }
-            match(input,46,FOLLOW_46_in_rule__DotDecimal__Group__1__Impl13721); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6869:1: rule__DotDecimal__Group__2 : rule__DotDecimal__Group__2__Impl ;
-    public final void rule__DotDecimal__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6873:1: ( rule__DotDecimal__Group__2__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6874:2: rule__DotDecimal__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__213752);
-            rule__DotDecimal__Group__2__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6880:1: rule__DotDecimal__Group__2__Impl : ( RULE_INT ) ;
-    public final void rule__DotDecimal__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6884:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6885:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6885:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6886:1: RULE_INT
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-            }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl13779); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6903:1: rule__DecimalDot__Group__0 : rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 ;
-    public final void rule__DecimalDot__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6907:1: ( rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6908:2: rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__013814);
-            rule__DecimalDot__Group__0__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__013817);
-            rule__DecimalDot__Group__1();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6915:1: rule__DecimalDot__Group__0__Impl : ( ( rule__DecimalDot__Alternatives_0 )? ) ;
-    public final void rule__DecimalDot__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6919:1: ( ( ( rule__DecimalDot__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6920:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6920:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6921:1: ( rule__DecimalDot__Alternatives_0 )?
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-            }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6922:1: ( rule__DecimalDot__Alternatives_0 )?
-            int alt45=2;
-            int LA45_0 = input.LA(1);
-
-            if ( ((LA45_0>=19 && LA45_0<=20)) ) {
-                alt45=1;
-            }
-            switch (alt45) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6922:2: rule__DecimalDot__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl13844);
-                    rule__DecimalDot__Alternatives_0();
-
-                    state._fsp--;
-                    if (state.failed) return ;
-
-                    }
-                    break;
-
-            }
-
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6932:1: rule__DecimalDot__Group__1 : rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 ;
-    public final void rule__DecimalDot__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6936:1: ( rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6937:2: rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__113875);
-            rule__DecimalDot__Group__1__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__113878);
-            rule__DecimalDot__Group__2();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6944:1: rule__DecimalDot__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__DecimalDot__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6948:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6949:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6949:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6950:1: RULE_INT
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-            }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl13905); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6961:1: rule__DecimalDot__Group__2 : rule__DecimalDot__Group__2__Impl ;
-    public final void rule__DecimalDot__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6965:1: ( rule__DecimalDot__Group__2__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6966:2: rule__DecimalDot__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__213934);
-            rule__DecimalDot__Group__2__Impl();
-
-            state._fsp--;
-            if (state.failed) return ;
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6972:1: rule__DecimalDot__Group__2__Impl : ( '.' ) ;
-    public final void rule__DecimalDot__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6976:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6977:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6977:1: ( '.' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6978:1: '.'
-            {
-            if ( state.backtracking==0 ) {
-               before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-            }
-            match(input,46,FOLLOW_46_in_rule__DecimalDot__Group__2__Impl13962); if (state.failed) return ;
-            if ( state.backtracking==0 ) {
-               after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-            }
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2__Impl"
-
-
     // $ANTLR start "rule__DecimalExp__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6997:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6654:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
     public final void rule__DecimalExp__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7001:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7002:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6658:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6659:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__013999);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__013327);
             rule__DecimalExp__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__014002);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__013330);
             rule__DecimalExp__Group__1();
 
             state._fsp--;
@@ -19774,33 +19004,33 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7009:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6666:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
     public final void rule__DecimalExp__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7013:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7014:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6670:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6671:1: ( ( rule__DecimalExp__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7014:1: ( ( rule__DecimalExp__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7015:1: ( rule__DecimalExp__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6671:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6672:1: ( rule__DecimalExp__Alternatives_0 )?
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalExpAccess().getAlternatives_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7016:1: ( rule__DecimalExp__Alternatives_0 )?
-            int alt46=2;
-            int LA46_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6673:1: ( rule__DecimalExp__Alternatives_0 )?
+            int alt44=2;
+            int LA44_0 = input.LA(1);
 
-            if ( ((LA46_0>=19 && LA46_0<=20)) ) {
-                alt46=1;
+            if ( ((LA44_0>=18 && LA44_0<=19)) ) {
+                alt44=1;
             }
-            switch (alt46) {
+            switch (alt44) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7016:2: rule__DecimalExp__Alternatives_0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6673:2: rule__DecimalExp__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl14029);
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl13357);
                     rule__DecimalExp__Alternatives_0();
 
                     state._fsp--;
@@ -19836,21 +19066,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7026:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6683:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
     public final void rule__DecimalExp__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7030:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7031:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6687:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6688:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__114060);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__113388);
             rule__DecimalExp__Group__1__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__114063);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__113391);
             rule__DecimalExp__Group__2();
 
             state._fsp--;
@@ -19874,22 +19104,22 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7038:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6695:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7042:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7043:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6699:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6700:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7043:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7044:1: RULE_INT
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6700:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6701:1: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
             }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl14090); if (state.failed) return ;
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl13418); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
             }
@@ -19915,21 +19145,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7055:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6712:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
     public final void rule__DecimalExp__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7059:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7060:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6716:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6717:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__214119);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__213447);
             rule__DecimalExp__Group__2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__214122);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__213450);
             rule__DecimalExp__Group__3();
 
             state._fsp--;
@@ -19953,22 +19183,22 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7067:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6724:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
     public final void rule__DecimalExp__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7071:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7072:1: ( '.' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6728:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6729:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7072:1: ( '.' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7073:1: '.'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6729:1: ( '.' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6730:1: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
             }
-            match(input,46,FOLLOW_46_in_rule__DecimalExp__Group__2__Impl14150); if (state.failed) return ;
+            match(input,47,FOLLOW_47_in_rule__DecimalExp__Group__2__Impl13478); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
             }
@@ -19994,21 +19224,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7086:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6743:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
     public final void rule__DecimalExp__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7090:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7091:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6747:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6748:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__314181);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__313509);
             rule__DecimalExp__Group__3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__314184);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__313512);
             rule__DecimalExp__Group__4();
 
             state._fsp--;
@@ -20032,22 +19262,22 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7098:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6755:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7102:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7103:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6759:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6760:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7103:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7104:1: RULE_INT
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6760:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6761:1: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
             }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl14211); if (state.failed) return ;
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl13539); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
             }
@@ -20073,20 +19303,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7115:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6772:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 ;
     public final void rule__DecimalExp__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7119:1: ( rule__DecimalExp__Group__4__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7120:2: rule__DecimalExp__Group__4__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6776:1: ( rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6777:2: rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__414240);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__413568);
             rule__DecimalExp__Group__4__Impl();
 
             state._fsp--;
             if (state.failed) return ;
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__413571);
+            rule__DecimalExp__Group__5();
+
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
@@ -20106,24 +19341,34 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7126:1: rule__DecimalExp__Group__4__Impl : ( RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6784:1: rule__DecimalExp__Group__4__Impl : ( ( rule__DecimalExp__Alternatives_4 ) ) ;
     public final void rule__DecimalExp__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7130:1: ( ( RULE_EXP ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7131:1: ( RULE_EXP )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6788:1: ( ( ( rule__DecimalExp__Alternatives_4 ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6789:1: ( ( rule__DecimalExp__Alternatives_4 ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7131:1: ( RULE_EXP )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7132:1: RULE_EXP
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6789:1: ( ( rule__DecimalExp__Alternatives_4 ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6790:1: ( rule__DecimalExp__Alternatives_4 )
             {
             if ( state.backtracking==0 ) {
-               before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+               before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
             }
-            match(input,RULE_EXP,FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl14267); if (state.failed) return ;
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6791:1: ( rule__DecimalExp__Alternatives_4 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6791:2: rule__DecimalExp__Alternatives_4
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl13598);
+            rule__DecimalExp__Alternatives_4();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
             if ( state.backtracking==0 ) {
-               after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+               after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
             }
 
             }
@@ -20146,22 +19391,202 @@
     // $ANTLR end "rule__DecimalExp__Group__4__Impl"
 
 
+    // $ANTLR start "rule__DecimalExp__Group__5"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6801:1: rule__DecimalExp__Group__5 : rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 ;
+    public final void rule__DecimalExp__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6805:1: ( rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6806:2: rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__513628);
+            rule__DecimalExp__Group__5__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__513631);
+            rule__DecimalExp__Group__6();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__5__Impl"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6813:1: rule__DecimalExp__Group__5__Impl : ( ( rule__DecimalExp__Alternatives_5 )? ) ;
+    public final void rule__DecimalExp__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6817:1: ( ( ( rule__DecimalExp__Alternatives_5 )? ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6818:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            {
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6818:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6819:1: ( rule__DecimalExp__Alternatives_5 )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+            }
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6820:1: ( rule__DecimalExp__Alternatives_5 )?
+            int alt45=2;
+            int LA45_0 = input.LA(1);
+
+            if ( ((LA45_0>=18 && LA45_0<=19)) ) {
+                alt45=1;
+            }
+            switch (alt45) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6820:2: rule__DecimalExp__Alternatives_5
+                    {
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl13658);
+                    rule__DecimalExp__Alternatives_5();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5__Impl"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6830:1: rule__DecimalExp__Group__6 : rule__DecimalExp__Group__6__Impl ;
+    public final void rule__DecimalExp__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6834:1: ( rule__DecimalExp__Group__6__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6835:2: rule__DecimalExp__Group__6__Impl
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__613689);
+            rule__DecimalExp__Group__6__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6__Impl"
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6841:1: rule__DecimalExp__Group__6__Impl : ( ( RULE_INT ) ) ;
+    public final void rule__DecimalExp__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6845:1: ( ( ( RULE_INT ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6846:1: ( ( RULE_INT ) )
+            {
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6846:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6847:1: ( RULE_INT )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+            }
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6848:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6848:3: RULE_INT
+            {
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl13717); if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6__Impl"
+
+
     // $ANTLR start "rule__FQN__Group__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7153:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6872:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
     public final void rule__FQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7157:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7158:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6876:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6877:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__014306);
+            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__013761);
             rule__FQN__Group__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__014309);
+            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__013764);
             rule__FQN__Group__1();
 
             state._fsp--;
@@ -20185,22 +19610,22 @@
 
 
     // $ANTLR start "rule__FQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7165:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6884:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7169:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7170:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6888:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6889:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7170:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7171:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6889:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6890:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl14336); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl13791); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
             }
@@ -20226,16 +19651,16 @@
 
 
     // $ANTLR start "rule__FQN__Group__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7182:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6901:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
     public final void rule__FQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7186:1: ( rule__FQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7187:2: rule__FQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6905:1: ( rule__FQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6906:2: rule__FQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__114365);
+            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__113820);
             rule__FQN__Group__1__Impl();
 
             state._fsp--;
@@ -20259,37 +19684,37 @@
 
 
     // $ANTLR start "rule__FQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7193:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6912:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
     public final void rule__FQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7197:1: ( ( ( rule__FQN__Group_1__0 )* ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7198:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6916:1: ( ( ( rule__FQN__Group_1__0 )* ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6917:1: ( ( rule__FQN__Group_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7198:1: ( ( rule__FQN__Group_1__0 )* )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7199:1: ( rule__FQN__Group_1__0 )*
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6917:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6918:1: ( rule__FQN__Group_1__0 )*
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFQNAccess().getGroup_1()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7200:1: ( rule__FQN__Group_1__0 )*
-            loop47:
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6919:1: ( rule__FQN__Group_1__0 )*
+            loop46:
             do {
-                int alt47=2;
-                int LA47_0 = input.LA(1);
+                int alt46=2;
+                int LA46_0 = input.LA(1);
 
-                if ( (LA47_0==46) ) {
-                    alt47=1;
+                if ( (LA46_0==47) ) {
+                    alt46=1;
                 }
 
 
-                switch (alt47) {
+                switch (alt46) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7200:2: rule__FQN__Group_1__0
+            	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6919:2: rule__FQN__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl14392);
+            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl13847);
             	    rule__FQN__Group_1__0();
 
             	    state._fsp--;
@@ -20299,7 +19724,7 @@
             	    break;
 
             	default :
-            	    break loop47;
+            	    break loop46;
                 }
             } while (true);
 
@@ -20328,21 +19753,21 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7214:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6933:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
     public final void rule__FQN__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7218:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7219:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6937:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6938:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__014427);
+            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__013882);
             rule__FQN__Group_1__0__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__014430);
+            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__013885);
             rule__FQN__Group_1__1();
 
             state._fsp--;
@@ -20366,22 +19791,22 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7226:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6945:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
     public final void rule__FQN__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7230:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7231:1: ( '.' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6949:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6950:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7231:1: ( '.' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7232:1: '.'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6950:1: ( '.' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6951:1: '.'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
             }
-            match(input,46,FOLLOW_46_in_rule__FQN__Group_1__0__Impl14458); if (state.failed) return ;
+            match(input,47,FOLLOW_47_in_rule__FQN__Group_1__0__Impl13913); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
             }
@@ -20407,16 +19832,16 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7245:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6964:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
     public final void rule__FQN__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7249:1: ( rule__FQN__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7250:2: rule__FQN__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6968:1: ( rule__FQN__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6969:2: rule__FQN__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__114489);
+            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__113944);
             rule__FQN__Group_1__1__Impl();
 
             state._fsp--;
@@ -20440,22 +19865,22 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7256:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6975:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7260:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7261:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6979:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6980:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7261:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7262:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6980:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6981:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl14516); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl13971); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
             }
@@ -20481,17 +19906,17 @@
 
 
     // $ANTLR start "rule__DynamicConfig__UnorderedGroup_2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7278:1: rule__DynamicConfig__UnorderedGroup_2 : rule__DynamicConfig__UnorderedGroup_2__0 {...}?;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:6997:1: rule__DynamicConfig__UnorderedGroup_2 : rule__DynamicConfig__UnorderedGroup_2__0 {...}?;
     public final void rule__DynamicConfig__UnorderedGroup_2() throws RecognitionException {
 
             	int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2());
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7283:1: ( rule__DynamicConfig__UnorderedGroup_2__0 {...}?)
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7284:2: rule__DynamicConfig__UnorderedGroup_2__0 {...}?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7002:1: ( rule__DynamicConfig__UnorderedGroup_2__0 {...}?)
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7003:2: rule__DynamicConfig__UnorderedGroup_2__0 {...}?
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__UnorderedGroup_2__0_in_rule__DynamicConfig__UnorderedGroup_214550);
+            pushFollow(FOLLOW_rule__DynamicConfig__UnorderedGroup_2__0_in_rule__DynamicConfig__UnorderedGroup_214005);
             rule__DynamicConfig__UnorderedGroup_2__0();
 
             state._fsp--;
@@ -20520,59 +19945,62 @@
 
 
     // $ANTLR start "rule__DynamicConfig__UnorderedGroup_2__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7295:1: rule__DynamicConfig__UnorderedGroup_2__Impl : ( ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) ) | ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7014:1: rule__DynamicConfig__UnorderedGroup_2__Impl : ( ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) ) | ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) ) ) ;
     public final void rule__DynamicConfig__UnorderedGroup_2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7300:1: ( ( ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) ) | ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7301:3: ( ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) ) | ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7019:1: ( ( ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) ) | ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7020:3: ( ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) ) | ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7301:3: ( ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) ) | ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) ) )
-            int alt48=2;
-            int LA48_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7020:3: ( ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) ) | ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) ) )
+            int alt47=2;
+            int LA47_0 = input.LA(1);
 
-            if ( LA48_0 >=31 && LA48_0<=32 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0) ) {
-                alt48=1;
+            if ( LA47_0 ==32 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0) ) {
+                alt47=1;
             }
-            else if ( LA48_0 ==34 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1) ) {
-                alt48=2;
+            else if ( LA47_0 ==33 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0) ) {
+                alt47=1;
+            }
+            else if ( LA47_0 ==35 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1) ) {
+                alt47=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 48, 0, input);
+                    new NoViableAltException("", 47, 0, input);
 
                 throw nvae;
             }
-            switch (alt48) {
+            switch (alt47) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7303:4: ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7022:4: ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7303:4: ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7304:5: {...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7022:4: ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7023:5: {...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__DynamicConfig__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0)");
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7304:110: ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7305:6: ( ( rule__DynamicConfig__Alternatives_2_0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7023:110: ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7024:6: ( ( rule__DynamicConfig__Alternatives_2_0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0);
                     selected = true;
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7311:6: ( ( rule__DynamicConfig__Alternatives_2_0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7313:7: ( rule__DynamicConfig__Alternatives_2_0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7030:6: ( ( rule__DynamicConfig__Alternatives_2_0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7032:7: ( rule__DynamicConfig__Alternatives_2_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDynamicConfigAccess().getAlternatives_2_0()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7314:7: ( rule__DynamicConfig__Alternatives_2_0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7314:8: rule__DynamicConfig__Alternatives_2_0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7033:7: ( rule__DynamicConfig__Alternatives_2_0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7033:8: rule__DynamicConfig__Alternatives_2_0
                     {
-                    pushFollow(FOLLOW_rule__DynamicConfig__Alternatives_2_0_in_rule__DynamicConfig__UnorderedGroup_2__Impl14639);
+                    pushFollow(FOLLOW_rule__DynamicConfig__Alternatives_2_0_in_rule__DynamicConfig__UnorderedGroup_2__Impl14094);
                     rule__DynamicConfig__Alternatives_2_0();
 
                     state._fsp--;
@@ -20596,30 +20024,30 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7320:4: ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7039:4: ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7320:4: ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7321:5: {...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7039:4: ({...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7040:5: {...}? => ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__DynamicConfig__UnorderedGroup_2__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1)");
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7321:110: ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7322:6: ( ( rule__DynamicConfig__Group_2_1__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7040:110: ( ( ( rule__DynamicConfig__Group_2_1__0 ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7041:6: ( ( rule__DynamicConfig__Group_2_1__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1);
                     selected = true;
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7328:6: ( ( rule__DynamicConfig__Group_2_1__0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7330:7: ( rule__DynamicConfig__Group_2_1__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7047:6: ( ( rule__DynamicConfig__Group_2_1__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7049:7: ( rule__DynamicConfig__Group_2_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getDynamicConfigAccess().getGroup_2_1()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7331:7: ( rule__DynamicConfig__Group_2_1__0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7331:8: rule__DynamicConfig__Group_2_1__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7050:7: ( rule__DynamicConfig__Group_2_1__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7050:8: rule__DynamicConfig__Group_2_1__0
                     {
-                    pushFollow(FOLLOW_rule__DynamicConfig__Group_2_1__0_in_rule__DynamicConfig__UnorderedGroup_2__Impl14730);
+                    pushFollow(FOLLOW_rule__DynamicConfig__Group_2_1__0_in_rule__DynamicConfig__UnorderedGroup_2__Impl14185);
                     rule__DynamicConfig__Group_2_1__0();
 
                     state._fsp--;
@@ -20666,35 +20094,38 @@
 
 
     // $ANTLR start "rule__DynamicConfig__UnorderedGroup_2__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7346:1: rule__DynamicConfig__UnorderedGroup_2__0 : rule__DynamicConfig__UnorderedGroup_2__Impl ( rule__DynamicConfig__UnorderedGroup_2__1 )? ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7065:1: rule__DynamicConfig__UnorderedGroup_2__0 : rule__DynamicConfig__UnorderedGroup_2__Impl ( rule__DynamicConfig__UnorderedGroup_2__1 )? ;
     public final void rule__DynamicConfig__UnorderedGroup_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7350:1: ( rule__DynamicConfig__UnorderedGroup_2__Impl ( rule__DynamicConfig__UnorderedGroup_2__1 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7351:2: rule__DynamicConfig__UnorderedGroup_2__Impl ( rule__DynamicConfig__UnorderedGroup_2__1 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7069:1: ( rule__DynamicConfig__UnorderedGroup_2__Impl ( rule__DynamicConfig__UnorderedGroup_2__1 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7070:2: rule__DynamicConfig__UnorderedGroup_2__Impl ( rule__DynamicConfig__UnorderedGroup_2__1 )?
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__UnorderedGroup_2__Impl_in_rule__DynamicConfig__UnorderedGroup_2__014789);
+            pushFollow(FOLLOW_rule__DynamicConfig__UnorderedGroup_2__Impl_in_rule__DynamicConfig__UnorderedGroup_2__014244);
             rule__DynamicConfig__UnorderedGroup_2__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7352:2: ( rule__DynamicConfig__UnorderedGroup_2__1 )?
-            int alt49=2;
-            int LA49_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7071:2: ( rule__DynamicConfig__UnorderedGroup_2__1 )?
+            int alt48=2;
+            int LA48_0 = input.LA(1);
 
-            if ( LA49_0 >=31 && LA49_0<=32 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0) ) {
-                alt49=1;
+            if ( LA48_0 ==32 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0) ) {
+                alt48=1;
             }
-            else if ( LA49_0 ==34 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1) ) {
-                alt49=1;
+            else if ( LA48_0 ==33 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0) ) {
+                alt48=1;
             }
-            switch (alt49) {
+            else if ( LA48_0 ==35 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1) ) {
+                alt48=1;
+            }
+            switch (alt48) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7352:2: rule__DynamicConfig__UnorderedGroup_2__1
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:0:0: rule__DynamicConfig__UnorderedGroup_2__1
                     {
-                    pushFollow(FOLLOW_rule__DynamicConfig__UnorderedGroup_2__1_in_rule__DynamicConfig__UnorderedGroup_2__014792);
+                    pushFollow(FOLLOW_rule__DynamicConfig__UnorderedGroup_2__1_in_rule__DynamicConfig__UnorderedGroup_2__014247);
                     rule__DynamicConfig__UnorderedGroup_2__1();
 
                     state._fsp--;
@@ -20724,16 +20155,16 @@
 
 
     // $ANTLR start "rule__DynamicConfig__UnorderedGroup_2__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7359:1: rule__DynamicConfig__UnorderedGroup_2__1 : rule__DynamicConfig__UnorderedGroup_2__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7078:1: rule__DynamicConfig__UnorderedGroup_2__1 : rule__DynamicConfig__UnorderedGroup_2__Impl ;
     public final void rule__DynamicConfig__UnorderedGroup_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7363:1: ( rule__DynamicConfig__UnorderedGroup_2__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7364:2: rule__DynamicConfig__UnorderedGroup_2__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7082:1: ( rule__DynamicConfig__UnorderedGroup_2__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7083:2: rule__DynamicConfig__UnorderedGroup_2__Impl
             {
-            pushFollow(FOLLOW_rule__DynamicConfig__UnorderedGroup_2__Impl_in_rule__DynamicConfig__UnorderedGroup_2__114817);
+            pushFollow(FOLLOW_rule__DynamicConfig__UnorderedGroup_2__Impl_in_rule__DynamicConfig__UnorderedGroup_2__114272);
             rule__DynamicConfig__UnorderedGroup_2__Impl();
 
             state._fsp--;
@@ -20757,31 +20188,31 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__UnorderedGroup_7"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7375:1: rule__ActorInstanceConfig__UnorderedGroup_7 : ( rule__ActorInstanceConfig__UnorderedGroup_7__0 )? ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7094:1: rule__ActorInstanceConfig__UnorderedGroup_7 : ( rule__ActorInstanceConfig__UnorderedGroup_7__0 )? ;
     public final void rule__ActorInstanceConfig__UnorderedGroup_7() throws RecognitionException {
 
             	int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7());
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7380:1: ( ( rule__ActorInstanceConfig__UnorderedGroup_7__0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7381:2: ( rule__ActorInstanceConfig__UnorderedGroup_7__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7099:1: ( ( rule__ActorInstanceConfig__UnorderedGroup_7__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7100:2: ( rule__ActorInstanceConfig__UnorderedGroup_7__0 )?
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7381:2: ( rule__ActorInstanceConfig__UnorderedGroup_7__0 )?
-            int alt50=2;
-            int LA50_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7100:2: ( rule__ActorInstanceConfig__UnorderedGroup_7__0 )?
+            int alt49=2;
+            int LA49_0 = input.LA(1);
 
-            if ( LA50_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0) ) {
-                alt50=1;
+            if ( LA49_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0) ) {
+                alt49=1;
             }
-            else if ( LA50_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1) ) {
-                alt50=1;
+            else if ( LA49_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1) ) {
+                alt49=1;
             }
-            switch (alt50) {
+            switch (alt49) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7381:2: rule__ActorInstanceConfig__UnorderedGroup_7__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:0:0: rule__ActorInstanceConfig__UnorderedGroup_7__0
                     {
-                    pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__0_in_rule__ActorInstanceConfig__UnorderedGroup_714845);
+                    pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__0_in_rule__ActorInstanceConfig__UnorderedGroup_714300);
                     rule__ActorInstanceConfig__UnorderedGroup_7__0();
 
                     state._fsp--;
@@ -20812,62 +20243,62 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__UnorderedGroup_7__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7391:1: rule__ActorInstanceConfig__UnorderedGroup_7__Impl : ( ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) ) | ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7110:1: rule__ActorInstanceConfig__UnorderedGroup_7__Impl : ( ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) ) | ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) ) ) ;
     public final void rule__ActorInstanceConfig__UnorderedGroup_7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7396:1: ( ( ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) ) | ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7397:3: ( ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) ) | ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7115:1: ( ( ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) ) | ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7116:3: ( ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) ) | ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7397:3: ( ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) ) | ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) ) )
-            int alt53=2;
-            int LA53_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7116:3: ( ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) ) | ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) ) )
+            int alt52=2;
+            int LA52_0 = input.LA(1);
 
-            if ( LA53_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0) ) {
-                alt53=1;
+            if ( LA52_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0) ) {
+                alt52=1;
             }
-            else if ( LA53_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1) ) {
-                alt53=2;
+            else if ( LA52_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1) ) {
+                alt52=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 53, 0, input);
+                    new NoViableAltException("", 52, 0, input);
 
                 throw nvae;
             }
-            switch (alt53) {
+            switch (alt52) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7399:4: ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7118:4: ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7399:4: ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7400:5: {...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7118:4: ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7119:5: {...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__ActorInstanceConfig__UnorderedGroup_7__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0)");
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7400:116: ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7401:6: ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7119:116: ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7120:6: ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0);
                     selected = true;
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7407:6: ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7408:6: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7126:6: ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7127:6: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7408:6: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7409:7: ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7127:6: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7128:7: ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getActorInstanceConfigAccess().getAttributesAssignment_7_0()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7410:7: ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7410:8: rule__ActorInstanceConfig__AttributesAssignment_7_0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7129:7: ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7129:8: rule__ActorInstanceConfig__AttributesAssignment_7_0
                     {
-                    pushFollow(FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14933);
+                    pushFollow(FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14388);
                     rule__ActorInstanceConfig__AttributesAssignment_7_0();
 
                     state._fsp--;
@@ -20881,26 +20312,26 @@
 
                     }
 
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7413:6: ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7414:7: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )*
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7132:6: ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7133:7: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )*
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getActorInstanceConfigAccess().getAttributesAssignment_7_0()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7415:7: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )*
-                    loop51:
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7134:7: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )*
+                    loop50:
                     do {
-                        int alt51=2;
-                        int LA51_0 = input.LA(1);
+                        int alt50=2;
+                        int LA50_0 = input.LA(1);
 
-                        if ( (LA51_0==41) ) {
-                            int LA51_1 = input.LA(2);
+                        if ( (LA50_0==42) ) {
+                            int LA50_1 = input.LA(2);
 
-                            if ( (LA51_1==RULE_ID) ) {
-                                int LA51_3 = input.LA(3);
+                            if ( (LA50_1==RULE_ID) ) {
+                                int LA50_3 = input.LA(3);
 
-                                if ( (synpred1_InternalConfig()) ) {
-                                    alt51=1;
+                                if ( (synpred57_InternalConfig()) ) {
+                                    alt50=1;
                                 }
 
 
@@ -20910,11 +20341,11 @@
                         }
 
 
-                        switch (alt51) {
+                        switch (alt50) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7415:8: ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0
+                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7134:8: ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0
                     	    {
-                    	    pushFollow(FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14977);
+                    	    pushFollow(FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14432);
                     	    rule__ActorInstanceConfig__AttributesAssignment_7_0();
 
                     	    state._fsp--;
@@ -20924,7 +20355,7 @@
                     	    break;
 
                     	default :
-                    	    break loop51;
+                    	    break loop50;
                         }
                     } while (true);
 
@@ -20947,33 +20378,33 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7421:4: ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7140:4: ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7421:4: ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7422:5: {...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7140:4: ({...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7141:5: {...}? => ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__ActorInstanceConfig__UnorderedGroup_7__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1)");
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7422:116: ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7423:6: ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7141:116: ( ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7142:6: ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1);
                     selected = true;
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7429:6: ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7430:6: ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7148:6: ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7149:6: ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) ) ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7430:6: ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7431:7: ( rule__ActorInstanceConfig__PortsAssignment_7_1 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7149:6: ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7150:7: ( rule__ActorInstanceConfig__PortsAssignment_7_1 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getActorInstanceConfigAccess().getPortsAssignment_7_1()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7432:7: ( rule__ActorInstanceConfig__PortsAssignment_7_1 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7432:8: rule__ActorInstanceConfig__PortsAssignment_7_1
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7151:7: ( rule__ActorInstanceConfig__PortsAssignment_7_1 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7151:8: rule__ActorInstanceConfig__PortsAssignment_7_1
                     {
-                    pushFollow(FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl15076);
+                    pushFollow(FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14531);
                     rule__ActorInstanceConfig__PortsAssignment_7_1();
 
                     state._fsp--;
@@ -20987,34 +20418,34 @@
 
                     }
 
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7435:6: ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7436:7: ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )*
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7154:6: ( ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )* )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7155:7: ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )*
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getActorInstanceConfigAccess().getPortsAssignment_7_1()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7437:7: ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )*
-                    loop52:
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7156:7: ( ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1 )*
+                    loop51:
                     do {
-                        int alt52=2;
-                        int LA52_0 = input.LA(1);
+                        int alt51=2;
+                        int LA51_0 = input.LA(1);
 
-                        if ( (LA52_0==40) ) {
-                            int LA52_2 = input.LA(2);
+                        if ( (LA51_0==41) ) {
+                            int LA51_2 = input.LA(2);
 
-                            if ( (synpred2_InternalConfig()) ) {
-                                alt52=1;
+                            if ( (synpred59_InternalConfig()) ) {
+                                alt51=1;
                             }
 
 
                         }
 
 
-                        switch (alt52) {
+                        switch (alt51) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7437:8: ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1
+                    	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7156:8: ( rule__ActorInstanceConfig__PortsAssignment_7_1 )=> rule__ActorInstanceConfig__PortsAssignment_7_1
                     	    {
-                    	    pushFollow(FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl15120);
+                    	    pushFollow(FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14575);
                     	    rule__ActorInstanceConfig__PortsAssignment_7_1();
 
                     	    state._fsp--;
@@ -21024,7 +20455,7 @@
                     	    break;
 
                     	default :
-                    	    break loop52;
+                    	    break loop51;
                         }
                     } while (true);
 
@@ -21070,35 +20501,35 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__UnorderedGroup_7__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7452:1: rule__ActorInstanceConfig__UnorderedGroup_7__0 : rule__ActorInstanceConfig__UnorderedGroup_7__Impl ( rule__ActorInstanceConfig__UnorderedGroup_7__1 )? ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7171:1: rule__ActorInstanceConfig__UnorderedGroup_7__0 : rule__ActorInstanceConfig__UnorderedGroup_7__Impl ( rule__ActorInstanceConfig__UnorderedGroup_7__1 )? ;
     public final void rule__ActorInstanceConfig__UnorderedGroup_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7456:1: ( rule__ActorInstanceConfig__UnorderedGroup_7__Impl ( rule__ActorInstanceConfig__UnorderedGroup_7__1 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7457:2: rule__ActorInstanceConfig__UnorderedGroup_7__Impl ( rule__ActorInstanceConfig__UnorderedGroup_7__1 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7175:1: ( rule__ActorInstanceConfig__UnorderedGroup_7__Impl ( rule__ActorInstanceConfig__UnorderedGroup_7__1 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7176:2: rule__ActorInstanceConfig__UnorderedGroup_7__Impl ( rule__ActorInstanceConfig__UnorderedGroup_7__1 )?
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__Impl_in_rule__ActorInstanceConfig__UnorderedGroup_7__015186);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__Impl_in_rule__ActorInstanceConfig__UnorderedGroup_7__014641);
             rule__ActorInstanceConfig__UnorderedGroup_7__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7458:2: ( rule__ActorInstanceConfig__UnorderedGroup_7__1 )?
-            int alt54=2;
-            int LA54_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7177:2: ( rule__ActorInstanceConfig__UnorderedGroup_7__1 )?
+            int alt53=2;
+            int LA53_0 = input.LA(1);
 
-            if ( LA54_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0) ) {
-                alt54=1;
+            if ( LA53_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0) ) {
+                alt53=1;
             }
-            else if ( LA54_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1) ) {
-                alt54=1;
+            else if ( LA53_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1) ) {
+                alt53=1;
             }
-            switch (alt54) {
+            switch (alt53) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7458:2: rule__ActorInstanceConfig__UnorderedGroup_7__1
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:0:0: rule__ActorInstanceConfig__UnorderedGroup_7__1
                     {
-                    pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__1_in_rule__ActorInstanceConfig__UnorderedGroup_7__015189);
+                    pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__1_in_rule__ActorInstanceConfig__UnorderedGroup_7__014644);
                     rule__ActorInstanceConfig__UnorderedGroup_7__1();
 
                     state._fsp--;
@@ -21128,16 +20559,16 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__UnorderedGroup_7__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7465:1: rule__ActorInstanceConfig__UnorderedGroup_7__1 : rule__ActorInstanceConfig__UnorderedGroup_7__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7184:1: rule__ActorInstanceConfig__UnorderedGroup_7__1 : rule__ActorInstanceConfig__UnorderedGroup_7__Impl ;
     public final void rule__ActorInstanceConfig__UnorderedGroup_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7469:1: ( rule__ActorInstanceConfig__UnorderedGroup_7__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7470:2: rule__ActorInstanceConfig__UnorderedGroup_7__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7188:1: ( rule__ActorInstanceConfig__UnorderedGroup_7__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7189:2: rule__ActorInstanceConfig__UnorderedGroup_7__Impl
             {
-            pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__Impl_in_rule__ActorInstanceConfig__UnorderedGroup_7__115214);
+            pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__Impl_in_rule__ActorInstanceConfig__UnorderedGroup_7__114669);
             rule__ActorInstanceConfig__UnorderedGroup_7__Impl();
 
             state._fsp--;
@@ -21161,31 +20592,34 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__UnorderedGroup_3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7481:1: rule__ProtocolClassConfig__UnorderedGroup_3 : ( rule__ProtocolClassConfig__UnorderedGroup_3__0 )? ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7200:1: rule__ProtocolClassConfig__UnorderedGroup_3 : ( rule__ProtocolClassConfig__UnorderedGroup_3__0 )? ;
     public final void rule__ProtocolClassConfig__UnorderedGroup_3() throws RecognitionException {
 
             	int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3());
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7486:1: ( ( rule__ProtocolClassConfig__UnorderedGroup_3__0 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7487:2: ( rule__ProtocolClassConfig__UnorderedGroup_3__0 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7205:1: ( ( rule__ProtocolClassConfig__UnorderedGroup_3__0 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7206:2: ( rule__ProtocolClassConfig__UnorderedGroup_3__0 )?
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7487:2: ( rule__ProtocolClassConfig__UnorderedGroup_3__0 )?
-            int alt55=2;
-            int LA55_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7206:2: ( rule__ProtocolClassConfig__UnorderedGroup_3__0 )?
+            int alt54=2;
+            int LA54_0 = input.LA(1);
 
-            if ( LA55_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0) ) {
-                alt55=1;
+            if ( LA54_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0) ) {
+                alt54=1;
             }
-            else if ( LA55_0 >=13 && LA55_0<=14 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
-                alt55=1;
+            else if ( LA54_0 ==12 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
+                alt54=1;
             }
-            switch (alt55) {
+            else if ( LA54_0 ==13 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
+                alt54=1;
+            }
+            switch (alt54) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7487:2: rule__ProtocolClassConfig__UnorderedGroup_3__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:0:0: rule__ProtocolClassConfig__UnorderedGroup_3__0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__0_in_rule__ProtocolClassConfig__UnorderedGroup_315242);
+                    pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__0_in_rule__ProtocolClassConfig__UnorderedGroup_314697);
                     rule__ProtocolClassConfig__UnorderedGroup_3__0();
 
                     state._fsp--;
@@ -21216,59 +20650,59 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__UnorderedGroup_3__Impl"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7497:1: rule__ProtocolClassConfig__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7216:1: rule__ProtocolClassConfig__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) ) ) ;
     public final void rule__ProtocolClassConfig__UnorderedGroup_3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7502:1: ( ( ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7503:3: ( ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7221:1: ( ( ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7222:3: ( ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7503:3: ( ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) ) )
-            int alt56=2;
-            int LA56_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7222:3: ( ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) ) )
+            int alt55=2;
+            int LA55_0 = input.LA(1);
 
-            if ( LA56_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0) ) {
-                alt56=1;
+            if ( LA55_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0) ) {
+                alt55=1;
             }
-            else if ( LA56_0 >=13 && LA56_0<=14 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
-                alt56=2;
+            else if ( LA55_0 >=12 && LA55_0<=13 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
+                alt55=2;
             }
             else {
                 if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 56, 0, input);
+                    new NoViableAltException("", 55, 0, input);
 
                 throw nvae;
             }
-            switch (alt56) {
+            switch (alt55) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7505:4: ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7224:4: ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7505:4: ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7506:5: {...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7224:4: ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7225:5: {...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__ProtocolClassConfig__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0)");
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7506:116: ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7507:6: ( ( rule__ProtocolClassConfig__Group_3_0__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7225:116: ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7226:6: ( ( rule__ProtocolClassConfig__Group_3_0__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0);
                     selected = true;
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7513:6: ( ( rule__ProtocolClassConfig__Group_3_0__0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7515:7: ( rule__ProtocolClassConfig__Group_3_0__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7232:6: ( ( rule__ProtocolClassConfig__Group_3_0__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7234:7: ( rule__ProtocolClassConfig__Group_3_0__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getProtocolClassConfigAccess().getGroup_3_0()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7516:7: ( rule__ProtocolClassConfig__Group_3_0__0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7516:8: rule__ProtocolClassConfig__Group_3_0__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7235:7: ( rule__ProtocolClassConfig__Group_3_0__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7235:8: rule__ProtocolClassConfig__Group_3_0__0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_0__0_in_rule__ProtocolClassConfig__UnorderedGroup_3__Impl15329);
+                    pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_0__0_in_rule__ProtocolClassConfig__UnorderedGroup_3__Impl14784);
                     rule__ProtocolClassConfig__Group_3_0__0();
 
                     state._fsp--;
@@ -21292,30 +20726,30 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7522:4: ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7241:4: ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7522:4: ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7523:5: {...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7241:4: ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7242:5: {...}? => ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
                         if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__ProtocolClassConfig__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1)");
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7523:116: ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7524:6: ( ( rule__ProtocolClassConfig__Group_3_1__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7242:116: ( ( ( rule__ProtocolClassConfig__Group_3_1__0 ) ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7243:6: ( ( rule__ProtocolClassConfig__Group_3_1__0 ) )
                     {
                     getUnorderedGroupHelper().select(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1);
                     selected = true;
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7530:6: ( ( rule__ProtocolClassConfig__Group_3_1__0 ) )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7532:7: ( rule__ProtocolClassConfig__Group_3_1__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7249:6: ( ( rule__ProtocolClassConfig__Group_3_1__0 ) )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7251:7: ( rule__ProtocolClassConfig__Group_3_1__0 )
                     {
                     if ( state.backtracking==0 ) {
                        before(grammarAccess.getProtocolClassConfigAccess().getGroup_3_1()); 
                     }
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7533:7: ( rule__ProtocolClassConfig__Group_3_1__0 )
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7533:8: rule__ProtocolClassConfig__Group_3_1__0
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7252:7: ( rule__ProtocolClassConfig__Group_3_1__0 )
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7252:8: rule__ProtocolClassConfig__Group_3_1__0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_1__0_in_rule__ProtocolClassConfig__UnorderedGroup_3__Impl15420);
+                    pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_1__0_in_rule__ProtocolClassConfig__UnorderedGroup_3__Impl14875);
                     rule__ProtocolClassConfig__Group_3_1__0();
 
                     state._fsp--;
@@ -21362,35 +20796,38 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__UnorderedGroup_3__0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7548:1: rule__ProtocolClassConfig__UnorderedGroup_3__0 : rule__ProtocolClassConfig__UnorderedGroup_3__Impl ( rule__ProtocolClassConfig__UnorderedGroup_3__1 )? ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7267:1: rule__ProtocolClassConfig__UnorderedGroup_3__0 : rule__ProtocolClassConfig__UnorderedGroup_3__Impl ( rule__ProtocolClassConfig__UnorderedGroup_3__1 )? ;
     public final void rule__ProtocolClassConfig__UnorderedGroup_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7552:1: ( rule__ProtocolClassConfig__UnorderedGroup_3__Impl ( rule__ProtocolClassConfig__UnorderedGroup_3__1 )? )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7553:2: rule__ProtocolClassConfig__UnorderedGroup_3__Impl ( rule__ProtocolClassConfig__UnorderedGroup_3__1 )?
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7271:1: ( rule__ProtocolClassConfig__UnorderedGroup_3__Impl ( rule__ProtocolClassConfig__UnorderedGroup_3__1 )? )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7272:2: rule__ProtocolClassConfig__UnorderedGroup_3__Impl ( rule__ProtocolClassConfig__UnorderedGroup_3__1 )?
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__Impl_in_rule__ProtocolClassConfig__UnorderedGroup_3__015479);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__Impl_in_rule__ProtocolClassConfig__UnorderedGroup_3__014934);
             rule__ProtocolClassConfig__UnorderedGroup_3__Impl();
 
             state._fsp--;
             if (state.failed) return ;
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7554:2: ( rule__ProtocolClassConfig__UnorderedGroup_3__1 )?
-            int alt57=2;
-            int LA57_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7273:2: ( rule__ProtocolClassConfig__UnorderedGroup_3__1 )?
+            int alt56=2;
+            int LA56_0 = input.LA(1);
 
-            if ( LA57_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0) ) {
-                alt57=1;
+            if ( LA56_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0) ) {
+                alt56=1;
             }
-            else if ( LA57_0 >=13 && LA57_0<=14 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
-                alt57=1;
+            else if ( LA56_0 ==12 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
+                alt56=1;
             }
-            switch (alt57) {
+            else if ( LA56_0 ==13 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
+                alt56=1;
+            }
+            switch (alt56) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7554:2: rule__ProtocolClassConfig__UnorderedGroup_3__1
+                    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:0:0: rule__ProtocolClassConfig__UnorderedGroup_3__1
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__1_in_rule__ProtocolClassConfig__UnorderedGroup_3__015482);
+                    pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__1_in_rule__ProtocolClassConfig__UnorderedGroup_3__014937);
                     rule__ProtocolClassConfig__UnorderedGroup_3__1();
 
                     state._fsp--;
@@ -21420,16 +20857,16 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__UnorderedGroup_3__1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7561:1: rule__ProtocolClassConfig__UnorderedGroup_3__1 : rule__ProtocolClassConfig__UnorderedGroup_3__Impl ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7280:1: rule__ProtocolClassConfig__UnorderedGroup_3__1 : rule__ProtocolClassConfig__UnorderedGroup_3__Impl ;
     public final void rule__ProtocolClassConfig__UnorderedGroup_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7565:1: ( rule__ProtocolClassConfig__UnorderedGroup_3__Impl )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7566:2: rule__ProtocolClassConfig__UnorderedGroup_3__Impl
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7284:1: ( rule__ProtocolClassConfig__UnorderedGroup_3__Impl )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7285:2: rule__ProtocolClassConfig__UnorderedGroup_3__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__Impl_in_rule__ProtocolClassConfig__UnorderedGroup_3__115507);
+            pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__Impl_in_rule__ProtocolClassConfig__UnorderedGroup_3__114962);
             rule__ProtocolClassConfig__UnorderedGroup_3__Impl();
 
             state._fsp--;
@@ -21453,22 +20890,22 @@
 
 
     // $ANTLR start "rule__ConfigModel__NameAssignment_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7577:1: rule__ConfigModel__NameAssignment_1 : ( ruleFQN ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7296:1: rule__ConfigModel__NameAssignment_1 : ( ruleFQN ) ;
     public final void rule__ConfigModel__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7581:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7582:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7300:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7301:1: ( ruleFQN )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7582:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7583:1: ruleFQN
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7301:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7302:1: ruleFQN
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigModelAccess().getNameFQNParserRuleCall_1_0()); 
             }
-            pushFollow(FOLLOW_ruleFQN_in_rule__ConfigModel__NameAssignment_115539);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ConfigModel__NameAssignment_114994);
             ruleFQN();
 
             state._fsp--;
@@ -21498,22 +20935,22 @@
 
 
     // $ANTLR start "rule__ConfigModel__ImportsAssignment_3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7592:1: rule__ConfigModel__ImportsAssignment_3 : ( ruleImport ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7311:1: rule__ConfigModel__ImportsAssignment_3 : ( ruleImport ) ;
     public final void rule__ConfigModel__ImportsAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7596:1: ( ( ruleImport ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7597:1: ( ruleImport )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7315:1: ( ( ruleImport ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7316:1: ( ruleImport )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7597:1: ( ruleImport )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7598:1: ruleImport
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7316:1: ( ruleImport )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7317:1: ruleImport
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigModelAccess().getImportsImportParserRuleCall_3_0()); 
             }
-            pushFollow(FOLLOW_ruleImport_in_rule__ConfigModel__ImportsAssignment_315570);
+            pushFollow(FOLLOW_ruleImport_in_rule__ConfigModel__ImportsAssignment_315025);
             ruleImport();
 
             state._fsp--;
@@ -21543,22 +20980,22 @@
 
 
     // $ANTLR start "rule__ConfigModel__ConfigElementsAssignment_4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7607:1: rule__ConfigModel__ConfigElementsAssignment_4 : ( ruleConfigElement ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7326:1: rule__ConfigModel__ConfigElementsAssignment_4 : ( ruleConfigElement ) ;
     public final void rule__ConfigModel__ConfigElementsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7611:1: ( ( ruleConfigElement ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7612:1: ( ruleConfigElement )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7330:1: ( ( ruleConfigElement ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7331:1: ( ruleConfigElement )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7612:1: ( ruleConfigElement )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7613:1: ruleConfigElement
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7331:1: ( ruleConfigElement )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7332:1: ruleConfigElement
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigModelAccess().getConfigElementsConfigElementParserRuleCall_4_0()); 
             }
-            pushFollow(FOLLOW_ruleConfigElement_in_rule__ConfigModel__ConfigElementsAssignment_415601);
+            pushFollow(FOLLOW_ruleConfigElement_in_rule__ConfigModel__ConfigElementsAssignment_415056);
             ruleConfigElement();
 
             state._fsp--;
@@ -21588,28 +21025,28 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__RootAssignment_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7622:1: rule__SubSystemConfig__RootAssignment_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7341:1: rule__SubSystemConfig__RootAssignment_1 : ( ( ruleFQN ) ) ;
     public final void rule__SubSystemConfig__RootAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7626:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7627:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7345:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7346:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7627:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7628:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7346:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7347:1: ( ruleFQN )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getRootLogicalSystemCrossReference_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7629:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7630:1: ruleFQN
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7348:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7349:1: ruleFQN
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getRootLogicalSystemFQNParserRuleCall_1_0_1()); 
             }
-            pushFollow(FOLLOW_ruleFQN_in_rule__SubSystemConfig__RootAssignment_115636);
+            pushFollow(FOLLOW_ruleFQN_in_rule__SubSystemConfig__RootAssignment_115091);
             ruleFQN();
 
             state._fsp--;
@@ -21645,28 +21082,28 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__SubSystemAssignment_3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7641:1: rule__SubSystemConfig__SubSystemAssignment_3 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7360:1: rule__SubSystemConfig__SubSystemAssignment_3 : ( ( RULE_ID ) ) ;
     public final void rule__SubSystemConfig__SubSystemAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7645:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7646:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7364:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7365:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7646:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7647:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7365:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7366:1: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getSubSystemSubSystemRefCrossReference_3_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7648:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7649:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7367:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7368:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getSubSystemSubSystemRefIDTerminalRuleCall_3_0_1()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubSystemConfig__SubSystemAssignment_315675); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubSystemConfig__SubSystemAssignment_315130); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSubSystemConfigAccess().getSubSystemSubSystemRefIDTerminalRuleCall_3_0_1()); 
             }
@@ -21698,22 +21135,22 @@
 
 
     // $ANTLR start "rule__SubSystemConfig__DynConfigAssignment_5"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7660:1: rule__SubSystemConfig__DynConfigAssignment_5 : ( ruleDynamicConfig ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7379:1: rule__SubSystemConfig__DynConfigAssignment_5 : ( ruleDynamicConfig ) ;
     public final void rule__SubSystemConfig__DynConfigAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7664:1: ( ( ruleDynamicConfig ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7665:1: ( ruleDynamicConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7383:1: ( ( ruleDynamicConfig ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7384:1: ( ruleDynamicConfig )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7665:1: ( ruleDynamicConfig )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7666:1: ruleDynamicConfig
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7384:1: ( ruleDynamicConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7385:1: ruleDynamicConfig
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSubSystemConfigAccess().getDynConfigDynamicConfigParserRuleCall_5_0()); 
             }
-            pushFollow(FOLLOW_ruleDynamicConfig_in_rule__SubSystemConfig__DynConfigAssignment_515710);
+            pushFollow(FOLLOW_ruleDynamicConfig_in_rule__SubSystemConfig__DynConfigAssignment_515165);
             ruleDynamicConfig();
 
             state._fsp--;
@@ -21743,22 +21180,22 @@
 
 
     // $ANTLR start "rule__DynamicConfig__FilePathAssignment_2_0_0_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7675:1: rule__DynamicConfig__FilePathAssignment_2_0_0_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7394:1: rule__DynamicConfig__FilePathAssignment_2_0_0_1 : ( RULE_STRING ) ;
     public final void rule__DynamicConfig__FilePathAssignment_2_0_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7679:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7680:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7398:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7399:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7680:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7681:1: RULE_STRING
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7399:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7400:1: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getFilePathSTRINGTerminalRuleCall_2_0_0_1_0()); 
             }
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__DynamicConfig__FilePathAssignment_2_0_0_115741); if (state.failed) return ;
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__DynamicConfig__FilePathAssignment_2_0_0_115196); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDynamicConfigAccess().getFilePathSTRINGTerminalRuleCall_2_0_0_1_0()); 
             }
@@ -21784,22 +21221,22 @@
 
 
     // $ANTLR start "rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7690:1: rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7409:1: rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1 : ( RULE_STRING ) ;
     public final void rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7694:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7695:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7413:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7414:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7695:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7696:1: RULE_STRING
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7414:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7415:1: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getUserCode1STRINGTerminalRuleCall_2_0_1_0_1_0()); 
             }
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__DynamicConfig__UserCode1Assignment_2_0_1_0_115772); if (state.failed) return ;
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__DynamicConfig__UserCode1Assignment_2_0_1_0_115227); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDynamicConfigAccess().getUserCode1STRINGTerminalRuleCall_2_0_1_0_1_0()); 
             }
@@ -21825,22 +21262,22 @@
 
 
     // $ANTLR start "rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7705:1: rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7424:1: rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1 : ( RULE_STRING ) ;
     public final void rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7709:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7710:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7428:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7429:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7710:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7711:1: RULE_STRING
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7429:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7430:1: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getUserCode2STRINGTerminalRuleCall_2_0_1_1_1_0()); 
             }
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__DynamicConfig__UserCode2Assignment_2_0_1_1_115803); if (state.failed) return ;
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__DynamicConfig__UserCode2Assignment_2_0_1_1_115258); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDynamicConfigAccess().getUserCode2STRINGTerminalRuleCall_2_0_1_1_1_0()); 
             }
@@ -21866,22 +21303,22 @@
 
 
     // $ANTLR start "rule__DynamicConfig__PollingAssignment_2_1_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7720:1: rule__DynamicConfig__PollingAssignment_2_1_1 : ( ruleTIME ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7439:1: rule__DynamicConfig__PollingAssignment_2_1_1 : ( ruleTIME ) ;
     public final void rule__DynamicConfig__PollingAssignment_2_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7724:1: ( ( ruleTIME ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7725:1: ( ruleTIME )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7443:1: ( ( ruleTIME ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7444:1: ( ruleTIME )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7725:1: ( ruleTIME )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7726:1: ruleTIME
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7444:1: ( ruleTIME )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7445:1: ruleTIME
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDynamicConfigAccess().getPollingTIMEParserRuleCall_2_1_1_0()); 
             }
-            pushFollow(FOLLOW_ruleTIME_in_rule__DynamicConfig__PollingAssignment_2_1_115834);
+            pushFollow(FOLLOW_ruleTIME_in_rule__DynamicConfig__PollingAssignment_2_1_115289);
             ruleTIME();
 
             state._fsp--;
@@ -21911,28 +21348,28 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__ActorAssignment_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7735:1: rule__ActorClassConfig__ActorAssignment_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7454:1: rule__ActorClassConfig__ActorAssignment_1 : ( ( ruleFQN ) ) ;
     public final void rule__ActorClassConfig__ActorAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7739:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7740:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7458:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7459:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7740:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7741:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7459:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7460:1: ( ruleFQN )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorClassConfigAccess().getActorActorClassCrossReference_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7742:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7743:1: ruleFQN
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7461:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7462:1: ruleFQN
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorClassConfigAccess().getActorActorClassFQNParserRuleCall_1_0_1()); 
             }
-            pushFollow(FOLLOW_ruleFQN_in_rule__ActorClassConfig__ActorAssignment_115869);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ActorClassConfig__ActorAssignment_115324);
             ruleFQN();
 
             state._fsp--;
@@ -21968,22 +21405,22 @@
 
 
     // $ANTLR start "rule__ActorClassConfig__AttributesAssignment_3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7754:1: rule__ActorClassConfig__AttributesAssignment_3 : ( ruleAttrClassConfig ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7473:1: rule__ActorClassConfig__AttributesAssignment_3 : ( ruleAttrClassConfig ) ;
     public final void rule__ActorClassConfig__AttributesAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7758:1: ( ( ruleAttrClassConfig ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7759:1: ( ruleAttrClassConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7477:1: ( ( ruleAttrClassConfig ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7478:1: ( ruleAttrClassConfig )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7759:1: ( ruleAttrClassConfig )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7760:1: ruleAttrClassConfig
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7478:1: ( ruleAttrClassConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7479:1: ruleAttrClassConfig
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorClassConfigAccess().getAttributesAttrClassConfigParserRuleCall_3_0()); 
             }
-            pushFollow(FOLLOW_ruleAttrClassConfig_in_rule__ActorClassConfig__AttributesAssignment_315904);
+            pushFollow(FOLLOW_ruleAttrClassConfig_in_rule__ActorClassConfig__AttributesAssignment_315359);
             ruleAttrClassConfig();
 
             state._fsp--;
@@ -22013,28 +21450,28 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__RootAssignment_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7769:1: rule__ActorInstanceConfig__RootAssignment_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7488:1: rule__ActorInstanceConfig__RootAssignment_1 : ( ( ruleFQN ) ) ;
     public final void rule__ActorInstanceConfig__RootAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7773:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7774:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7492:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7493:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7774:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7775:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7493:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7494:1: ( ruleFQN )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getRootLogicalSystemCrossReference_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7776:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7777:1: ruleFQN
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7495:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7496:1: ruleFQN
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getRootLogicalSystemFQNParserRuleCall_1_0_1()); 
             }
-            pushFollow(FOLLOW_ruleFQN_in_rule__ActorInstanceConfig__RootAssignment_115939);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ActorInstanceConfig__RootAssignment_115394);
             ruleFQN();
 
             state._fsp--;
@@ -22070,28 +21507,28 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__SubSystemAssignment_3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7788:1: rule__ActorInstanceConfig__SubSystemAssignment_3 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7507:1: rule__ActorInstanceConfig__SubSystemAssignment_3 : ( ( RULE_ID ) ) ;
     public final void rule__ActorInstanceConfig__SubSystemAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7792:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7793:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7511:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7512:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7793:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7794:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7512:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7513:1: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getSubSystemSubSystemRefCrossReference_3_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7795:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7796:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7514:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7515:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getSubSystemSubSystemRefIDTerminalRuleCall_3_0_1()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ActorInstanceConfig__SubSystemAssignment_315978); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ActorInstanceConfig__SubSystemAssignment_315433); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getActorInstanceConfigAccess().getSubSystemSubSystemRefIDTerminalRuleCall_3_0_1()); 
             }
@@ -22123,22 +21560,22 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__PathAssignment_5"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7807:1: rule__ActorInstanceConfig__PathAssignment_5 : ( ruleRefPath ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7526:1: rule__ActorInstanceConfig__PathAssignment_5 : ( ruleRefPath ) ;
     public final void rule__ActorInstanceConfig__PathAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7811:1: ( ( ruleRefPath ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7812:1: ( ruleRefPath )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7530:1: ( ( ruleRefPath ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7531:1: ( ruleRefPath )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7812:1: ( ruleRefPath )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7813:1: ruleRefPath
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7531:1: ( ruleRefPath )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7532:1: ruleRefPath
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getPathRefPathParserRuleCall_5_0()); 
             }
-            pushFollow(FOLLOW_ruleRefPath_in_rule__ActorInstanceConfig__PathAssignment_516013);
+            pushFollow(FOLLOW_ruleRefPath_in_rule__ActorInstanceConfig__PathAssignment_515468);
             ruleRefPath();
 
             state._fsp--;
@@ -22168,22 +21605,22 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__AttributesAssignment_7_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7822:1: rule__ActorInstanceConfig__AttributesAssignment_7_0 : ( ruleAttrInstanceConfig ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7541:1: rule__ActorInstanceConfig__AttributesAssignment_7_0 : ( ruleAttrInstanceConfig ) ;
     public final void rule__ActorInstanceConfig__AttributesAssignment_7_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7826:1: ( ( ruleAttrInstanceConfig ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7827:1: ( ruleAttrInstanceConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7545:1: ( ( ruleAttrInstanceConfig ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7546:1: ( ruleAttrInstanceConfig )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7827:1: ( ruleAttrInstanceConfig )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7828:1: ruleAttrInstanceConfig
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7546:1: ( ruleAttrInstanceConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7547:1: ruleAttrInstanceConfig
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getAttributesAttrInstanceConfigParserRuleCall_7_0_0()); 
             }
-            pushFollow(FOLLOW_ruleAttrInstanceConfig_in_rule__ActorInstanceConfig__AttributesAssignment_7_016044);
+            pushFollow(FOLLOW_ruleAttrInstanceConfig_in_rule__ActorInstanceConfig__AttributesAssignment_7_015499);
             ruleAttrInstanceConfig();
 
             state._fsp--;
@@ -22213,22 +21650,22 @@
 
 
     // $ANTLR start "rule__ActorInstanceConfig__PortsAssignment_7_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7837:1: rule__ActorInstanceConfig__PortsAssignment_7_1 : ( rulePortInstanceConfig ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7556:1: rule__ActorInstanceConfig__PortsAssignment_7_1 : ( rulePortInstanceConfig ) ;
     public final void rule__ActorInstanceConfig__PortsAssignment_7_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7841:1: ( ( rulePortInstanceConfig ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7842:1: ( rulePortInstanceConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7560:1: ( ( rulePortInstanceConfig ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7561:1: ( rulePortInstanceConfig )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7842:1: ( rulePortInstanceConfig )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7843:1: rulePortInstanceConfig
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7561:1: ( rulePortInstanceConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7562:1: rulePortInstanceConfig
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getActorInstanceConfigAccess().getPortsPortInstanceConfigParserRuleCall_7_1_0()); 
             }
-            pushFollow(FOLLOW_rulePortInstanceConfig_in_rule__ActorInstanceConfig__PortsAssignment_7_116075);
+            pushFollow(FOLLOW_rulePortInstanceConfig_in_rule__ActorInstanceConfig__PortsAssignment_7_115530);
             rulePortInstanceConfig();
 
             state._fsp--;
@@ -22258,28 +21695,28 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__ProtocolAssignment_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7852:1: rule__ProtocolClassConfig__ProtocolAssignment_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7571:1: rule__ProtocolClassConfig__ProtocolAssignment_1 : ( ( ruleFQN ) ) ;
     public final void rule__ProtocolClassConfig__ProtocolAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7856:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7857:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7575:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7576:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7857:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7858:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7576:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7577:1: ( ruleFQN )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getProtocolProtocolClassCrossReference_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7859:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7860:1: ruleFQN
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7578:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7579:1: ruleFQN
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getProtocolProtocolClassFQNParserRuleCall_1_0_1()); 
             }
-            pushFollow(FOLLOW_ruleFQN_in_rule__ProtocolClassConfig__ProtocolAssignment_116110);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ProtocolClassConfig__ProtocolAssignment_115565);
             ruleFQN();
 
             state._fsp--;
@@ -22315,22 +21752,22 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__RegularAssignment_3_0_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7871:1: rule__ProtocolClassConfig__RegularAssignment_3_0_1 : ( rulePortClassConfig ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7590:1: rule__ProtocolClassConfig__RegularAssignment_3_0_1 : ( rulePortClassConfig ) ;
     public final void rule__ProtocolClassConfig__RegularAssignment_3_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7875:1: ( ( rulePortClassConfig ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7876:1: ( rulePortClassConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7594:1: ( ( rulePortClassConfig ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7595:1: ( rulePortClassConfig )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7876:1: ( rulePortClassConfig )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7877:1: rulePortClassConfig
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7595:1: ( rulePortClassConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7596:1: rulePortClassConfig
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getRegularPortClassConfigParserRuleCall_3_0_1_0()); 
             }
-            pushFollow(FOLLOW_rulePortClassConfig_in_rule__ProtocolClassConfig__RegularAssignment_3_0_116145);
+            pushFollow(FOLLOW_rulePortClassConfig_in_rule__ProtocolClassConfig__RegularAssignment_3_0_115600);
             rulePortClassConfig();
 
             state._fsp--;
@@ -22360,22 +21797,22 @@
 
 
     // $ANTLR start "rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7886:1: rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 : ( rulePortClassConfig ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7605:1: rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1 : ( rulePortClassConfig ) ;
     public final void rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7890:1: ( ( rulePortClassConfig ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7891:1: ( rulePortClassConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7609:1: ( ( rulePortClassConfig ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7610:1: ( rulePortClassConfig )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7891:1: ( rulePortClassConfig )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7892:1: rulePortClassConfig
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7610:1: ( rulePortClassConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7611:1: rulePortClassConfig
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getProtocolClassConfigAccess().getConjugatedPortClassConfigParserRuleCall_3_1_1_0()); 
             }
-            pushFollow(FOLLOW_rulePortClassConfig_in_rule__ProtocolClassConfig__ConjugatedAssignment_3_1_116176);
+            pushFollow(FOLLOW_rulePortClassConfig_in_rule__ProtocolClassConfig__ConjugatedAssignment_3_1_115631);
             rulePortClassConfig();
 
             state._fsp--;
@@ -22405,22 +21842,22 @@
 
 
     // $ANTLR start "rule__PortClassConfig__AttributesAssignment_3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7901:1: rule__PortClassConfig__AttributesAssignment_3 : ( ruleAttrClassConfig ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7620:1: rule__PortClassConfig__AttributesAssignment_3 : ( ruleAttrClassConfig ) ;
     public final void rule__PortClassConfig__AttributesAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7905:1: ( ( ruleAttrClassConfig ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7906:1: ( ruleAttrClassConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7624:1: ( ( ruleAttrClassConfig ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7625:1: ( ruleAttrClassConfig )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7906:1: ( ruleAttrClassConfig )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7907:1: ruleAttrClassConfig
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7625:1: ( ruleAttrClassConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7626:1: ruleAttrClassConfig
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortClassConfigAccess().getAttributesAttrClassConfigParserRuleCall_3_0()); 
             }
-            pushFollow(FOLLOW_ruleAttrClassConfig_in_rule__PortClassConfig__AttributesAssignment_316207);
+            pushFollow(FOLLOW_ruleAttrClassConfig_in_rule__PortClassConfig__AttributesAssignment_315662);
             ruleAttrClassConfig();
 
             state._fsp--;
@@ -22450,28 +21887,28 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__ItemAssignment_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7916:1: rule__PortInstanceConfig__ItemAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7635:1: rule__PortInstanceConfig__ItemAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__PortInstanceConfig__ItemAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7920:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7921:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7639:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7640:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7921:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7922:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7640:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7641:1: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortInstanceConfigAccess().getItemInterfaceItemCrossReference_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7923:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7924:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7642:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7643:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortInstanceConfigAccess().getItemInterfaceItemIDTerminalRuleCall_1_0_1()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PortInstanceConfig__ItemAssignment_116242); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PortInstanceConfig__ItemAssignment_115697); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getPortInstanceConfigAccess().getItemInterfaceItemIDTerminalRuleCall_1_0_1()); 
             }
@@ -22503,22 +21940,22 @@
 
 
     // $ANTLR start "rule__PortInstanceConfig__AttributesAssignment_3"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7935:1: rule__PortInstanceConfig__AttributesAssignment_3 : ( ruleAttrInstanceConfig ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7654:1: rule__PortInstanceConfig__AttributesAssignment_3 : ( ruleAttrInstanceConfig ) ;
     public final void rule__PortInstanceConfig__AttributesAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7939:1: ( ( ruleAttrInstanceConfig ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7940:1: ( ruleAttrInstanceConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7658:1: ( ( ruleAttrInstanceConfig ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7659:1: ( ruleAttrInstanceConfig )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7940:1: ( ruleAttrInstanceConfig )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7941:1: ruleAttrInstanceConfig
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7659:1: ( ruleAttrInstanceConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7660:1: ruleAttrInstanceConfig
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getPortInstanceConfigAccess().getAttributesAttrInstanceConfigParserRuleCall_3_0()); 
             }
-            pushFollow(FOLLOW_ruleAttrInstanceConfig_in_rule__PortInstanceConfig__AttributesAssignment_316277);
+            pushFollow(FOLLOW_ruleAttrInstanceConfig_in_rule__PortInstanceConfig__AttributesAssignment_315732);
             ruleAttrInstanceConfig();
 
             state._fsp--;
@@ -22548,28 +21985,28 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__AttributeAssignment_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7950:1: rule__AttrClassConfig__AttributeAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7669:1: rule__AttrClassConfig__AttributeAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__AttrClassConfig__AttributeAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7954:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7955:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7673:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7674:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7955:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7956:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7674:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7675:1: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getAttributeAttributeCrossReference_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7957:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7958:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7676:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7677:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getAttributeAttributeIDTerminalRuleCall_1_0_1()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__AttrClassConfig__AttributeAssignment_116312); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__AttrClassConfig__AttributeAssignment_115767); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrClassConfigAccess().getAttributeAttributeIDTerminalRuleCall_1_0_1()); 
             }
@@ -22601,22 +22038,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__ValueAssignment_2_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7969:1: rule__AttrClassConfig__ValueAssignment_2_1 : ( ruleConfigValueArray ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7688:1: rule__AttrClassConfig__ValueAssignment_2_1 : ( ruleConfigValueArray ) ;
     public final void rule__AttrClassConfig__ValueAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7973:1: ( ( ruleConfigValueArray ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7974:1: ( ruleConfigValueArray )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7692:1: ( ( ruleConfigValueArray ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7693:1: ( ruleConfigValueArray )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7974:1: ( ruleConfigValueArray )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7975:1: ruleConfigValueArray
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7693:1: ( ruleConfigValueArray )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7694:1: ruleConfigValueArray
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getValueConfigValueArrayParserRuleCall_2_1_0()); 
             }
-            pushFollow(FOLLOW_ruleConfigValueArray_in_rule__AttrClassConfig__ValueAssignment_2_116347);
+            pushFollow(FOLLOW_ruleConfigValueArray_in_rule__AttrClassConfig__ValueAssignment_2_115802);
             ruleConfigValueArray();
 
             state._fsp--;
@@ -22646,22 +22083,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__MinAssignment_3_1_0_2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7984:1: rule__AttrClassConfig__MinAssignment_3_1_0_2 : ( ruleNumberLiteral ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7703:1: rule__AttrClassConfig__MinAssignment_3_1_0_2 : ( ruleNumberLiteral ) ;
     public final void rule__AttrClassConfig__MinAssignment_3_1_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7988:1: ( ( ruleNumberLiteral ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7989:1: ( ruleNumberLiteral )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7707:1: ( ( ruleNumberLiteral ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7708:1: ( ruleNumberLiteral )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7989:1: ( ruleNumberLiteral )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7990:1: ruleNumberLiteral
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7708:1: ( ruleNumberLiteral )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7709:1: ruleNumberLiteral
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getMinNumberLiteralParserRuleCall_3_1_0_2_0()); 
             }
-            pushFollow(FOLLOW_ruleNumberLiteral_in_rule__AttrClassConfig__MinAssignment_3_1_0_216378);
+            pushFollow(FOLLOW_ruleNumberLiteral_in_rule__AttrClassConfig__MinAssignment_3_1_0_215833);
             ruleNumberLiteral();
 
             state._fsp--;
@@ -22691,22 +22128,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__MaxAssignment_3_1_1_2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7999:1: rule__AttrClassConfig__MaxAssignment_3_1_1_2 : ( ruleNumberLiteral ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7718:1: rule__AttrClassConfig__MaxAssignment_3_1_1_2 : ( ruleNumberLiteral ) ;
     public final void rule__AttrClassConfig__MaxAssignment_3_1_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8003:1: ( ( ruleNumberLiteral ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8004:1: ( ruleNumberLiteral )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7722:1: ( ( ruleNumberLiteral ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7723:1: ( ruleNumberLiteral )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8004:1: ( ruleNumberLiteral )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8005:1: ruleNumberLiteral
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7723:1: ( ruleNumberLiteral )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7724:1: ruleNumberLiteral
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getMaxNumberLiteralParserRuleCall_3_1_1_2_0()); 
             }
-            pushFollow(FOLLOW_ruleNumberLiteral_in_rule__AttrClassConfig__MaxAssignment_3_1_1_216409);
+            pushFollow(FOLLOW_ruleNumberLiteral_in_rule__AttrClassConfig__MaxAssignment_3_1_1_215864);
             ruleNumberLiteral();
 
             state._fsp--;
@@ -22736,22 +22173,22 @@
 
 
     // $ANTLR start "rule__AttrClassConfig__AttributesAssignment_3_1_2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8014:1: rule__AttrClassConfig__AttributesAssignment_3_1_2 : ( ruleAttrClassConfig ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7733:1: rule__AttrClassConfig__AttributesAssignment_3_1_2 : ( ruleAttrClassConfig ) ;
     public final void rule__AttrClassConfig__AttributesAssignment_3_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8018:1: ( ( ruleAttrClassConfig ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8019:1: ( ruleAttrClassConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7737:1: ( ( ruleAttrClassConfig ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7738:1: ( ruleAttrClassConfig )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8019:1: ( ruleAttrClassConfig )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8020:1: ruleAttrClassConfig
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7738:1: ( ruleAttrClassConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7739:1: ruleAttrClassConfig
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrClassConfigAccess().getAttributesAttrClassConfigParserRuleCall_3_1_2_0()); 
             }
-            pushFollow(FOLLOW_ruleAttrClassConfig_in_rule__AttrClassConfig__AttributesAssignment_3_1_216440);
+            pushFollow(FOLLOW_ruleAttrClassConfig_in_rule__AttrClassConfig__AttributesAssignment_3_1_215895);
             ruleAttrClassConfig();
 
             state._fsp--;
@@ -22781,28 +22218,28 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__AttributeAssignment_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8029:1: rule__AttrInstanceConfig__AttributeAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7748:1: rule__AttrInstanceConfig__AttributeAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__AttrInstanceConfig__AttributeAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8033:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8034:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7752:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7753:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8034:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8035:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7753:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7754:1: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getAttributeAttributeCrossReference_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8036:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8037:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7755:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7756:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getAttributeAttributeIDTerminalRuleCall_1_0_1()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__AttrInstanceConfig__AttributeAssignment_116475); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__AttrInstanceConfig__AttributeAssignment_115930); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrInstanceConfigAccess().getAttributeAttributeIDTerminalRuleCall_1_0_1()); 
             }
@@ -22834,22 +22271,22 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__ValueAssignment_2_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8048:1: rule__AttrInstanceConfig__ValueAssignment_2_1 : ( ruleConfigValueArray ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7767:1: rule__AttrInstanceConfig__ValueAssignment_2_1 : ( ruleConfigValueArray ) ;
     public final void rule__AttrInstanceConfig__ValueAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8052:1: ( ( ruleConfigValueArray ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8053:1: ( ruleConfigValueArray )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7771:1: ( ( ruleConfigValueArray ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7772:1: ( ruleConfigValueArray )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8053:1: ( ruleConfigValueArray )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8054:1: ruleConfigValueArray
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7772:1: ( ruleConfigValueArray )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7773:1: ruleConfigValueArray
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getValueConfigValueArrayParserRuleCall_2_1_0()); 
             }
-            pushFollow(FOLLOW_ruleConfigValueArray_in_rule__AttrInstanceConfig__ValueAssignment_2_116510);
+            pushFollow(FOLLOW_ruleConfigValueArray_in_rule__AttrInstanceConfig__ValueAssignment_2_115965);
             ruleConfigValueArray();
 
             state._fsp--;
@@ -22879,28 +22316,28 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8063:1: rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 : ( ( 'dynamic configuration' ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7782:1: rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0 : ( ( 'dynamic configuration' ) ) ;
     public final void rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8067:1: ( ( ( 'dynamic configuration' ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8068:1: ( ( 'dynamic configuration' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7786:1: ( ( ( 'dynamic configuration' ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7787:1: ( ( 'dynamic configuration' ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8068:1: ( ( 'dynamic configuration' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8069:1: ( 'dynamic configuration' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7787:1: ( ( 'dynamic configuration' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7788:1: ( 'dynamic configuration' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getDynConfigDynamicConfigurationKeyword_3_1_0_0_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8070:1: ( 'dynamic configuration' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8071:1: 'dynamic configuration'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7789:1: ( 'dynamic configuration' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7790:1: 'dynamic configuration'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getDynConfigDynamicConfigurationKeyword_3_1_0_0_0()); 
             }
-            match(input,30,FOLLOW_30_in_rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_016546); if (state.failed) return ;
+            match(input,31,FOLLOW_31_in_rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_016001); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrInstanceConfigAccess().getDynConfigDynamicConfigurationKeyword_3_1_0_0_0()); 
             }
@@ -22932,28 +22369,28 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8086:1: rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 : ( ( 'read' ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7805:1: rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0 : ( ( 'read' ) ) ;
     public final void rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8090:1: ( ( ( 'read' ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8091:1: ( ( 'read' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7809:1: ( ( ( 'read' ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7810:1: ( ( 'read' ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8091:1: ( ( 'read' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8092:1: ( 'read' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7810:1: ( ( 'read' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7811:1: ( 'read' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getReadOnlyReadKeyword_3_1_0_1_0_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8093:1: ( 'read' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8094:1: 'read'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7812:1: ( 'read' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7813:1: 'read'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getReadOnlyReadKeyword_3_1_0_1_0_0()); 
             }
-            match(input,58,FOLLOW_58_in_rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_016590); if (state.failed) return ;
+            match(input,59,FOLLOW_59_in_rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_016045); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getAttrInstanceConfigAccess().getReadOnlyReadKeyword_3_1_0_1_0_0()); 
             }
@@ -22985,22 +22422,22 @@
 
 
     // $ANTLR start "rule__AttrInstanceConfig__AttributesAssignment_3_1_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8109:1: rule__AttrInstanceConfig__AttributesAssignment_3_1_1 : ( ruleAttrInstanceConfig ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7828:1: rule__AttrInstanceConfig__AttributesAssignment_3_1_1 : ( ruleAttrInstanceConfig ) ;
     public final void rule__AttrInstanceConfig__AttributesAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8113:1: ( ( ruleAttrInstanceConfig ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8114:1: ( ruleAttrInstanceConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7832:1: ( ( ruleAttrInstanceConfig ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7833:1: ( ruleAttrInstanceConfig )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8114:1: ( ruleAttrInstanceConfig )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8115:1: ruleAttrInstanceConfig
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7833:1: ( ruleAttrInstanceConfig )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7834:1: ruleAttrInstanceConfig
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getAttrInstanceConfigAccess().getAttributesAttrInstanceConfigParserRuleCall_3_1_1_0()); 
             }
-            pushFollow(FOLLOW_ruleAttrInstanceConfig_in_rule__AttrInstanceConfig__AttributesAssignment_3_1_116629);
+            pushFollow(FOLLOW_ruleAttrInstanceConfig_in_rule__AttrInstanceConfig__AttributesAssignment_3_1_116084);
             ruleAttrInstanceConfig();
 
             state._fsp--;
@@ -23030,22 +22467,22 @@
 
 
     // $ANTLR start "rule__ConfigValueArray__ValuesAssignment_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8124:1: rule__ConfigValueArray__ValuesAssignment_0 : ( ruleConfigValue ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7843:1: rule__ConfigValueArray__ValuesAssignment_0 : ( ruleConfigValue ) ;
     public final void rule__ConfigValueArray__ValuesAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8128:1: ( ( ruleConfigValue ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8129:1: ( ruleConfigValue )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7847:1: ( ( ruleConfigValue ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7848:1: ( ruleConfigValue )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8129:1: ( ruleConfigValue )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8130:1: ruleConfigValue
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7848:1: ( ruleConfigValue )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7849:1: ruleConfigValue
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigValueArrayAccess().getValuesConfigValueParserRuleCall_0_0()); 
             }
-            pushFollow(FOLLOW_ruleConfigValue_in_rule__ConfigValueArray__ValuesAssignment_016660);
+            pushFollow(FOLLOW_ruleConfigValue_in_rule__ConfigValueArray__ValuesAssignment_016115);
             ruleConfigValue();
 
             state._fsp--;
@@ -23075,22 +22512,22 @@
 
 
     // $ANTLR start "rule__ConfigValueArray__ValuesAssignment_1_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8139:1: rule__ConfigValueArray__ValuesAssignment_1_1 : ( ruleConfigValue ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7858:1: rule__ConfigValueArray__ValuesAssignment_1_1 : ( ruleConfigValue ) ;
     public final void rule__ConfigValueArray__ValuesAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8143:1: ( ( ruleConfigValue ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8144:1: ( ruleConfigValue )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7862:1: ( ( ruleConfigValue ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7863:1: ( ruleConfigValue )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8144:1: ( ruleConfigValue )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8145:1: ruleConfigValue
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7863:1: ( ruleConfigValue )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7864:1: ruleConfigValue
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getConfigValueArrayAccess().getValuesConfigValueParserRuleCall_1_1_0()); 
             }
-            pushFollow(FOLLOW_ruleConfigValue_in_rule__ConfigValueArray__ValuesAssignment_1_116691);
+            pushFollow(FOLLOW_ruleConfigValue_in_rule__ConfigValueArray__ValuesAssignment_1_116146);
             ruleConfigValue();
 
             state._fsp--;
@@ -23120,22 +22557,22 @@
 
 
     // $ANTLR start "rule__LiteralConfigValue__ValueAssignment"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8154:1: rule__LiteralConfigValue__ValueAssignment : ( ruleLiteral ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7873:1: rule__LiteralConfigValue__ValueAssignment : ( ruleLiteral ) ;
     public final void rule__LiteralConfigValue__ValueAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8158:1: ( ( ruleLiteral ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8159:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7877:1: ( ( ruleLiteral ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7878:1: ( ruleLiteral )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8159:1: ( ruleLiteral )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8160:1: ruleLiteral
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7878:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7879:1: ruleLiteral
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getLiteralConfigValueAccess().getValueLiteralParserRuleCall_0()); 
             }
-            pushFollow(FOLLOW_ruleLiteral_in_rule__LiteralConfigValue__ValueAssignment16722);
+            pushFollow(FOLLOW_ruleLiteral_in_rule__LiteralConfigValue__ValueAssignment16177);
             ruleLiteral();
 
             state._fsp--;
@@ -23165,28 +22602,28 @@
 
 
     // $ANTLR start "rule__EnumConfigValue__TypeAssignment_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8169:1: rule__EnumConfigValue__TypeAssignment_0 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7888:1: rule__EnumConfigValue__TypeAssignment_0 : ( ( RULE_ID ) ) ;
     public final void rule__EnumConfigValue__TypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8173:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8174:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7892:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7893:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8174:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8175:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7893:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7894:1: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumConfigValueAccess().getTypeEnumerationTypeCrossReference_0_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8176:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8177:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7895:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7896:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumConfigValueAccess().getTypeEnumerationTypeIDTerminalRuleCall_0_0_1()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumConfigValue__TypeAssignment_016757); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumConfigValue__TypeAssignment_016212); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumConfigValueAccess().getTypeEnumerationTypeIDTerminalRuleCall_0_0_1()); 
             }
@@ -23218,28 +22655,28 @@
 
 
     // $ANTLR start "rule__EnumConfigValue__ValueAssignment_2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8188:1: rule__EnumConfigValue__ValueAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7907:1: rule__EnumConfigValue__ValueAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__EnumConfigValue__ValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8192:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8193:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7911:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7912:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8193:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8194:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7912:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7913:1: ( RULE_ID )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumConfigValueAccess().getValueEnumLiteralCrossReference_2_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8195:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8196:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7914:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7915:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumConfigValueAccess().getValueEnumLiteralIDTerminalRuleCall_2_0_1()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumConfigValue__ValueAssignment_216796); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumConfigValue__ValueAssignment_216251); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumConfigValueAccess().getValueEnumLiteralIDTerminalRuleCall_2_0_1()); 
             }
@@ -23271,22 +22708,22 @@
 
 
     // $ANTLR start "rule__RefPath__RefsAssignment_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8207:1: rule__RefPath__RefsAssignment_0 : ( ruleRefSegment ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7926:1: rule__RefPath__RefsAssignment_0 : ( ruleRefSegment ) ;
     public final void rule__RefPath__RefsAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8211:1: ( ( ruleRefSegment ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8212:1: ( ruleRefSegment )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7930:1: ( ( ruleRefSegment ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7931:1: ( ruleRefSegment )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8212:1: ( ruleRefSegment )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8213:1: ruleRefSegment
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7931:1: ( ruleRefSegment )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7932:1: ruleRefSegment
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefPathAccess().getRefsRefSegmentParserRuleCall_0_0()); 
             }
-            pushFollow(FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_016831);
+            pushFollow(FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_016286);
             ruleRefSegment();
 
             state._fsp--;
@@ -23316,22 +22753,22 @@
 
 
     // $ANTLR start "rule__RefPath__RefsAssignment_1_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8222:1: rule__RefPath__RefsAssignment_1_1 : ( ruleRefSegment ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7941:1: rule__RefPath__RefsAssignment_1_1 : ( ruleRefSegment ) ;
     public final void rule__RefPath__RefsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8226:1: ( ( ruleRefSegment ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8227:1: ( ruleRefSegment )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7945:1: ( ( ruleRefSegment ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7946:1: ( ruleRefSegment )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8227:1: ( ruleRefSegment )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8228:1: ruleRefSegment
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7946:1: ( ruleRefSegment )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7947:1: ruleRefSegment
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefPathAccess().getRefsRefSegmentParserRuleCall_1_1_0()); 
             }
-            pushFollow(FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_1_116862);
+            pushFollow(FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_1_116317);
             ruleRefSegment();
 
             state._fsp--;
@@ -23361,22 +22798,22 @@
 
 
     // $ANTLR start "rule__RefSegment__RefAssignment_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8237:1: rule__RefSegment__RefAssignment_0 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7956:1: rule__RefSegment__RefAssignment_0 : ( RULE_ID ) ;
     public final void rule__RefSegment__RefAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8241:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8242:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7960:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7961:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8242:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8243:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7961:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7962:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefSegmentAccess().getRefIDTerminalRuleCall_0_0()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RefSegment__RefAssignment_016893); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RefSegment__RefAssignment_016348); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getRefSegmentAccess().getRefIDTerminalRuleCall_0_0()); 
             }
@@ -23402,22 +22839,22 @@
 
 
     // $ANTLR start "rule__RefSegment__IdxAssignment_1_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8252:1: rule__RefSegment__IdxAssignment_1_1 : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7971:1: rule__RefSegment__IdxAssignment_1_1 : ( RULE_INT ) ;
     public final void rule__RefSegment__IdxAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8256:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8257:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7975:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7976:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8257:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8258:1: RULE_INT
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7976:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7977:1: RULE_INT
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRefSegmentAccess().getIdxINTTerminalRuleCall_1_1_0()); 
             }
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__RefSegment__IdxAssignment_1_116924); if (state.failed) return ;
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__RefSegment__IdxAssignment_1_116379); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getRefSegmentAccess().getIdxINTTerminalRuleCall_1_1_0()); 
             }
@@ -23443,22 +22880,22 @@
 
 
     // $ANTLR start "rule__KeyValue__KeyAssignment_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8270:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7989:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
     public final void rule__KeyValue__KeyAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8274:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8275:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7993:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7994:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8275:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8276:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7994:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7995:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_016958); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_016413); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
             }
@@ -23484,22 +22921,22 @@
 
 
     // $ANTLR start "rule__KeyValue__ValueAssignment_2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8285:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8004:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
     public final void rule__KeyValue__ValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8289:1: ( ( ruleLiteral ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8290:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8008:1: ( ( ruleLiteral ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8009:1: ( ruleLiteral )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8290:1: ( ruleLiteral )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8291:1: ruleLiteral
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8009:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8010:1: ruleLiteral
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
             }
-            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_216989);
+            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_216444);
             ruleLiteral();
 
             state._fsp--;
@@ -23529,28 +22966,28 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8306:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8025:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__SimpleAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8310:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8311:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8029:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8030:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8311:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8312:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8030:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8031:1: ( 'optional' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8313:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8314:1: 'optional'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8032:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8033:1: 'optional'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
             }
-            match(input,59,FOLLOW_59_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_017031); if (state.failed) return ;
+            match(input,60,FOLLOW_60_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_016486); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
             }
@@ -23582,22 +23019,22 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8329:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8048:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__SimpleAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8333:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8334:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8052:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8053:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8334:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8335:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8053:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8054:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_217070); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_216525); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
             }
@@ -23623,22 +23060,22 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__TypeAssignment_4"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8344:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8063:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
     public final void rule__SimpleAnnotationAttribute__TypeAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8348:1: ( ( ruleLiteralType ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8349:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8067:1: ( ( ruleLiteralType ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8068:1: ( ruleLiteralType )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8349:1: ( ruleLiteralType )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8350:1: ruleLiteralType
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8068:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8069:1: ruleLiteralType
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
             }
-            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_417101);
+            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_416556);
             ruleLiteralType();
 
             state._fsp--;
@@ -23668,28 +23105,28 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8359:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8078:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__EnumAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8363:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8364:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8082:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8083:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8364:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8365:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8083:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8084:1: ( 'optional' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8366:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8367:1: 'optional'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8085:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8086:1: 'optional'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
             }
-            match(input,59,FOLLOW_59_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_017137); if (state.failed) return ;
+            match(input,60,FOLLOW_60_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_016592); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
             }
@@ -23721,22 +23158,22 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8382:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8101:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__EnumAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8386:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8387:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8105:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8106:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8387:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8388:1: RULE_ID
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8106:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8107:1: RULE_ID
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
             }
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_217176); if (state.failed) return ;
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_216631); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
             }
@@ -23762,22 +23199,22 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_5"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8397:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8116:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8401:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8402:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8120:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8121:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8402:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8403:1: RULE_STRING
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8121:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8122:1: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
             }
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_517207); if (state.failed) return ;
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_516662); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
             }
@@ -23803,22 +23240,22 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_6_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8412:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8131:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8416:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8417:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8135:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8136:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8417:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8418:1: RULE_STRING
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8136:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8137:1: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
             }
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_117238); if (state.failed) return ;
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_116693); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
             }
@@ -23844,22 +23281,22 @@
 
 
     // $ANTLR start "rule__Import__ImportedNamespaceAssignment_1_0_0"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8427:1: rule__Import__ImportedNamespaceAssignment_1_0_0 : ( ruleImportedFQN ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8146:1: rule__Import__ImportedNamespaceAssignment_1_0_0 : ( ruleImportedFQN ) ;
     public final void rule__Import__ImportedNamespaceAssignment_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8431:1: ( ( ruleImportedFQN ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8432:1: ( ruleImportedFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8150:1: ( ( ruleImportedFQN ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8151:1: ( ruleImportedFQN )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8432:1: ( ruleImportedFQN )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8433:1: ruleImportedFQN
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8151:1: ( ruleImportedFQN )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8152:1: ruleImportedFQN
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0()); 
             }
-            pushFollow(FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_017269);
+            pushFollow(FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_016724);
             ruleImportedFQN();
 
             state._fsp--;
@@ -23889,22 +23326,22 @@
 
 
     // $ANTLR start "rule__Import__ImportURIAssignment_2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8442:1: rule__Import__ImportURIAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8161:1: rule__Import__ImportURIAssignment_2 : ( RULE_STRING ) ;
     public final void rule__Import__ImportURIAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8446:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8447:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8165:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8166:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8447:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8448:1: RULE_STRING
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8166:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8167:1: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
             }
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_217300); if (state.failed) return ;
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_216755); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
             }
@@ -23930,22 +23367,22 @@
 
 
     // $ANTLR start "rule__Documentation__LinesAssignment_2"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8457:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8176:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
     public final void rule__Documentation__LinesAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8461:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8462:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8180:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8181:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8462:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8463:1: RULE_STRING
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8181:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8182:1: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
             }
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_217331); if (state.failed) return ;
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_216786); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
             }
@@ -23971,28 +23408,28 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__IsTrueAssignment_1_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8474:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8193:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
     public final void rule__BooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8478:1: ( ( ( 'true' ) ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8479:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8197:1: ( ( ( 'true' ) ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8198:1: ( ( 'true' ) )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8479:1: ( ( 'true' ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8480:1: ( 'true' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8198:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8199:1: ( 'true' )
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
             }
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8481:1: ( 'true' )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8482:1: 'true'
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8200:1: ( 'true' )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8201:1: 'true'
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
             }
-            match(input,60,FOLLOW_60_in_rule__BooleanLiteral__IsTrueAssignment_1_117369); if (state.failed) return ;
+            match(input,61,FOLLOW_61_in_rule__BooleanLiteral__IsTrueAssignment_1_116824); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
             }
@@ -24024,22 +23461,22 @@
 
 
     // $ANTLR start "rule__RealLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8497:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8216:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
     public final void rule__RealLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8501:1: ( ( ruleReal ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8502:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8220:1: ( ( ruleReal ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8221:1: ( ruleReal )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8502:1: ( ruleReal )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8503:1: ruleReal
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8221:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8222:1: ruleReal
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
             }
-            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_117408);
+            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_116863);
             ruleReal();
 
             state._fsp--;
@@ -24069,22 +23506,22 @@
 
 
     // $ANTLR start "rule__IntLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8512:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8231:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
     public final void rule__IntLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8516:1: ( ( ruleInteger ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8517:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8235:1: ( ( ruleInteger ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8236:1: ( ruleInteger )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8517:1: ( ruleInteger )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8518:1: ruleInteger
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8236:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8237:1: ruleInteger
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
             }
-            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_117439);
+            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_116894);
             ruleInteger();
 
             state._fsp--;
@@ -24114,22 +23551,22 @@
 
 
     // $ANTLR start "rule__StringLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8527:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8246:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
     public final void rule__StringLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8531:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8532:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8250:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8251:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8532:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8533:1: RULE_STRING
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8251:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:8252:1: RULE_STRING
             {
             if ( state.backtracking==0 ) {
                before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
             }
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_117470); if (state.failed) return ;
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_116925); if (state.failed) return ;
             if ( state.backtracking==0 ) {
                after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
             }
@@ -24153,12 +23590,89 @@
     }
     // $ANTLR end "rule__StringLiteral__ValueAssignment_1"
 
-    // $ANTLR start synpred1_InternalConfig
-    public final void synpred1_InternalConfig_fragment() throws RecognitionException {   
-        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7415:8: ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )
-        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7415:9: rule__ActorInstanceConfig__AttributesAssignment_7_0
+    // $ANTLR start synpred54_InternalConfig
+    public final void synpred54_InternalConfig_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7022:4: ( ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7022:4: ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) )
         {
-        pushFollow(FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_synpred1_InternalConfig14974);
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7022:4: ({...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7023:5: {...}? => ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred54_InternalConfig", "getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0)");
+        }
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7023:110: ( ( ( rule__DynamicConfig__Alternatives_2_0 ) ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7024:6: ( ( rule__DynamicConfig__Alternatives_2_0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0);
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7030:6: ( ( rule__DynamicConfig__Alternatives_2_0 ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7032:7: ( rule__DynamicConfig__Alternatives_2_0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getDynamicConfigAccess().getAlternatives_2_0()); 
+        }
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7033:7: ( rule__DynamicConfig__Alternatives_2_0 )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7033:8: rule__DynamicConfig__Alternatives_2_0
+        {
+        pushFollow(FOLLOW_rule__DynamicConfig__Alternatives_2_0_in_synpred54_InternalConfig14094);
+        rule__DynamicConfig__Alternatives_2_0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred54_InternalConfig
+
+    // $ANTLR start synpred55_InternalConfig
+    public final void synpred55_InternalConfig_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7071:2: ( rule__DynamicConfig__UnorderedGroup_2__1 )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7071:2: rule__DynamicConfig__UnorderedGroup_2__1
+        {
+        pushFollow(FOLLOW_rule__DynamicConfig__UnorderedGroup_2__1_in_synpred55_InternalConfig14247);
+        rule__DynamicConfig__UnorderedGroup_2__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred55_InternalConfig
+
+    // $ANTLR start synpred56_InternalConfig
+    public final void synpred56_InternalConfig_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7100:2: ( rule__ActorInstanceConfig__UnorderedGroup_7__0 )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7100:2: rule__ActorInstanceConfig__UnorderedGroup_7__0
+        {
+        pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__0_in_synpred56_InternalConfig14300);
+        rule__ActorInstanceConfig__UnorderedGroup_7__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred56_InternalConfig
+
+    // $ANTLR start synpred57_InternalConfig
+    public final void synpred57_InternalConfig_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7134:8: ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7134:9: rule__ActorInstanceConfig__AttributesAssignment_7_0
+        {
+        pushFollow(FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_synpred57_InternalConfig14429);
         rule__ActorInstanceConfig__AttributesAssignment_7_0();
 
         state._fsp--;
@@ -24166,14 +23680,105 @@
 
         }
     }
-    // $ANTLR end synpred1_InternalConfig
+    // $ANTLR end synpred57_InternalConfig
 
-    // $ANTLR start synpred2_InternalConfig
-    public final void synpred2_InternalConfig_fragment() throws RecognitionException {   
-        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7437:8: ( rule__ActorInstanceConfig__PortsAssignment_7_1 )
-        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7437:9: rule__ActorInstanceConfig__PortsAssignment_7_1
+    // $ANTLR start synpred58_InternalConfig
+    public final void synpred58_InternalConfig_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7118:4: ( ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7118:4: ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) )
         {
-        pushFollow(FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_synpred2_InternalConfig15117);
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7118:4: ({...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7119:5: {...}? => ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred58_InternalConfig", "getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0)");
+        }
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7119:116: ( ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7120:6: ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0);
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7126:6: ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7127:6: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) ) ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* )
+        {
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7127:6: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7128:7: ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getActorInstanceConfigAccess().getAttributesAssignment_7_0()); 
+        }
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7129:7: ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7129:8: rule__ActorInstanceConfig__AttributesAssignment_7_0
+        {
+        pushFollow(FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_synpred58_InternalConfig14388);
+        rule__ActorInstanceConfig__AttributesAssignment_7_0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7132:6: ( ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )* )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7133:7: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )*
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getActorInstanceConfigAccess().getAttributesAssignment_7_0()); 
+        }
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7134:7: ( ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0 )*
+        loop57:
+        do {
+            int alt57=2;
+            int LA57_0 = input.LA(1);
+
+            if ( (LA57_0==42) && (synpred57_InternalConfig())) {
+                alt57=1;
+            }
+
+
+            switch (alt57) {
+        	case 1 :
+        	    // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7134:8: ( rule__ActorInstanceConfig__AttributesAssignment_7_0 )=> rule__ActorInstanceConfig__AttributesAssignment_7_0
+        	    {
+        	    pushFollow(FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_synpred58_InternalConfig14432);
+        	    rule__ActorInstanceConfig__AttributesAssignment_7_0();
+
+        	    state._fsp--;
+        	    if (state.failed) return ;
+
+        	    }
+        	    break;
+
+        	default :
+        	    break loop57;
+            }
+        } while (true);
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred58_InternalConfig
+
+    // $ANTLR start synpred59_InternalConfig
+    public final void synpred59_InternalConfig_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7156:8: ( rule__ActorInstanceConfig__PortsAssignment_7_1 )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7156:9: rule__ActorInstanceConfig__PortsAssignment_7_1
+        {
+        pushFollow(FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_synpred59_InternalConfig14572);
         rule__ActorInstanceConfig__PortsAssignment_7_1();
 
         state._fsp--;
@@ -24181,15 +23786,107 @@
 
         }
     }
-    // $ANTLR end synpred2_InternalConfig
+    // $ANTLR end synpred59_InternalConfig
+
+    // $ANTLR start synpred60_InternalConfig
+    public final void synpred60_InternalConfig_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7177:2: ( rule__ActorInstanceConfig__UnorderedGroup_7__1 )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7177:2: rule__ActorInstanceConfig__UnorderedGroup_7__1
+        {
+        pushFollow(FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__1_in_synpred60_InternalConfig14644);
+        rule__ActorInstanceConfig__UnorderedGroup_7__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred60_InternalConfig
+
+    // $ANTLR start synpred61_InternalConfig
+    public final void synpred61_InternalConfig_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7206:2: ( rule__ProtocolClassConfig__UnorderedGroup_3__0 )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7206:2: rule__ProtocolClassConfig__UnorderedGroup_3__0
+        {
+        pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__0_in_synpred61_InternalConfig14697);
+        rule__ProtocolClassConfig__UnorderedGroup_3__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred61_InternalConfig
+
+    // $ANTLR start synpred62_InternalConfig
+    public final void synpred62_InternalConfig_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7224:4: ( ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7224:4: ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) )
+        {
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7224:4: ({...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7225:5: {...}? => ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred62_InternalConfig", "getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0)");
+        }
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7225:116: ( ( ( rule__ProtocolClassConfig__Group_3_0__0 ) ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7226:6: ( ( rule__ProtocolClassConfig__Group_3_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0);
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7232:6: ( ( rule__ProtocolClassConfig__Group_3_0__0 ) )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7234:7: ( rule__ProtocolClassConfig__Group_3_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getProtocolClassConfigAccess().getGroup_3_0()); 
+        }
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7235:7: ( rule__ProtocolClassConfig__Group_3_0__0 )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7235:8: rule__ProtocolClassConfig__Group_3_0__0
+        {
+        pushFollow(FOLLOW_rule__ProtocolClassConfig__Group_3_0__0_in_synpred62_InternalConfig14784);
+        rule__ProtocolClassConfig__Group_3_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred62_InternalConfig
+
+    // $ANTLR start synpred63_InternalConfig
+    public final void synpred63_InternalConfig_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7273:2: ( rule__ProtocolClassConfig__UnorderedGroup_3__1 )
+        // ../org.eclipse.etrice.core.config.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalConfig.g:7273:2: rule__ProtocolClassConfig__UnorderedGroup_3__1
+        {
+        pushFollow(FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__1_in_synpred63_InternalConfig14937);
+        rule__ProtocolClassConfig__UnorderedGroup_3__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred63_InternalConfig
 
     // Delegated rules
 
-    public final boolean synpred1_InternalConfig() {
+    public final boolean synpred57_InternalConfig() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred1_InternalConfig_fragment(); // can never throw exception
+            synpred57_InternalConfig_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -24199,11 +23896,123 @@
         state.failed=false;
         return success;
     }
-    public final boolean synpred2_InternalConfig() {
+    public final boolean synpred60_InternalConfig() {
         state.backtracking++;
         int start = input.mark();
         try {
-            synpred2_InternalConfig_fragment(); // can never throw exception
+            synpred60_InternalConfig_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred56_InternalConfig() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred56_InternalConfig_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred58_InternalConfig() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred58_InternalConfig_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred59_InternalConfig() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred59_InternalConfig_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred55_InternalConfig() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred55_InternalConfig_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred62_InternalConfig() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred62_InternalConfig_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred54_InternalConfig() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred54_InternalConfig_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred61_InternalConfig() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred61_InternalConfig_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred63_InternalConfig() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred63_InternalConfig_fragment(); // can never throw exception
         } catch (RecognitionException re) {
             System.err.println("impossible: "+re);
         }
@@ -24215,775 +24024,701 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\12\uffff";
-    static final String DFA16_eofS =
-        "\5\uffff\1\7\1\11\3\uffff";
-    static final String DFA16_minS =
-        "\3\6\1\56\1\uffff\1\6\1\7\3\uffff";
-    static final String DFA16_maxS =
-        "\4\56\1\uffff\2\55\3\uffff";
-    static final String DFA16_acceptS =
-        "\4\uffff\1\2\2\uffff\1\3\1\4\1\1";
-    static final String DFA16_specialS =
-        "\12\uffff}>";
-    static final String[] DFA16_transitionS = {
-            "\1\3\14\uffff\1\1\1\2\31\uffff\1\4",
-            "\1\3\47\uffff\1\4",
-            "\1\3\47\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\6\23\uffff\2\7\14\uffff\2\7\2\uffff\2\7",
-            "\1\10\22\uffff\2\11\14\uffff\2\11\2\uffff\2\11",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
-
-    static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
-        }
-    }
-
-    class DFA16 extends DFA {
-
-        public DFA16(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
-        }
-        public String getDescription() {
-            return "1663:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );";
-        }
-    }
  
 
-    public static final BitSet FOLLOW_ruleConfigModel_in_entryRuleConfigModel61 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleConfigModel68 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__0_in_ruleConfigModel94 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleConfigElement_in_entryRuleConfigElement121 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleConfigElement128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigElement__Alternatives_in_ruleConfigElement154 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSubSystemConfig_in_entryRuleSubSystemConfig181 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSubSystemConfig188 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__0_in_ruleSubSystemConfig214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDynamicConfig_in_entryRuleDynamicConfig241 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDynamicConfig248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group__0_in_ruleDynamicConfig274 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleActorClassConfig_in_entryRuleActorClassConfig301 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleActorClassConfig308 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__0_in_ruleActorClassConfig334 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleActorInstanceConfig_in_entryRuleActorInstanceConfig361 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleActorInstanceConfig368 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__0_in_ruleActorInstanceConfig394 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleProtocolClassConfig_in_entryRuleProtocolClassConfig421 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleProtocolClassConfig428 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__0_in_ruleProtocolClassConfig454 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePortClassConfig_in_entryRulePortClassConfig481 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRulePortClassConfig488 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClassConfig__Group__0_in_rulePortClassConfig514 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePortInstanceConfig_in_entryRulePortInstanceConfig541 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRulePortInstanceConfig548 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__0_in_rulePortInstanceConfig574 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAttrClassConfig_in_entryRuleAttrClassConfig603 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleAttrClassConfig610 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__0_in_ruleAttrClassConfig636 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_entryRuleAttrInstanceConfig663 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleAttrInstanceConfig670 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__0_in_ruleAttrInstanceConfig696 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleConfigValueArray_in_entryRuleConfigValueArray723 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleConfigValueArray730 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigValueArray__Group__0_in_ruleConfigValueArray756 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleConfigValue_in_entryRuleConfigValue783 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleConfigValue790 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigValue__Alternatives_in_ruleConfigValue816 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteralConfigValue_in_entryRuleLiteralConfigValue843 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleLiteralConfigValue850 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LiteralConfigValue__ValueAssignment_in_ruleLiteralConfigValue876 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumConfigValue_in_entryRuleEnumConfigValue903 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleEnumConfigValue910 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__0_in_ruleEnumConfigValue936 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefPath_in_entryRuleRefPath963 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleRefPath970 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__Group__0_in_ruleRefPath996 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefSegment_in_entryRuleRefSegment1023 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleRefSegment1030 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group__0_in_ruleRefSegment1056 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue1085 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue1092 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__0_in_ruleKeyValue1118 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType1147 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType1154 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotationTargetType1180 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute1206 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationAttribute1213 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationAttribute__Alternatives_in_ruleAnnotationAttribute1239 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute1266 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute1273 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0_in_ruleSimpleAnnotationAttribute1299 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute1326 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute1333 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0_in_ruleEnumAnnotationAttribute1359 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport1386 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleImport1393 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport1419 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN1446 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN1453 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0_in_ruleImportedFQN1479 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation1506 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation1513 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__0_in_ruleDocumentation1539 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTIME_in_entryRuleTIME1566 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleTIME1573 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Alternatives_in_ruleTIME1599 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral1628 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleLiteral1635 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Literal__Alternatives_in_ruleLiteral1661 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1688 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral1695 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0_in_ruleBooleanLiteral1721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1748 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral1755 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1781 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral1808 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleRealLiteral1815 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__0_in_ruleRealLiteral1841 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1868 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral1875 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__0_in_ruleIntLiteral1901 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1928 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral1935 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral1961 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger1988 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleInteger1995 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Integer__Alternatives_in_ruleInteger2021 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2053 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger2060 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger2090 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal2122 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal2129 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal2159 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal2185 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal2192 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal2218 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal2250 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal2257 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal2287 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal2319 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal2326 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal2356 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot2388 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot2395 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot2425 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp2457 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp2464 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp2494 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN2521 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN2528 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN2554 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType2591 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSubSystemConfig_in_rule__ConfigElement__Alternatives2626 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleActorClassConfig_in_rule__ConfigElement__Alternatives2643 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleActorInstanceConfig_in_rule__ConfigElement__Alternatives2660 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleProtocolClassConfig_in_rule__ConfigElement__Alternatives2677 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_0__0_in_rule__DynamicConfig__Alternatives_2_02709 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1__0_in_rule__DynamicConfig__Alternatives_2_02727 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rule__ProtocolClassConfig__Alternatives_3_1_02761 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__ProtocolClassConfig__Alternatives_3_1_02781 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0_in_rule__AttrInstanceConfig__Alternatives_3_1_0_12816 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__AttrInstanceConfig__Alternatives_3_1_0_12835 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteralConfigValue_in_rule__ConfigValue__Alternatives2869 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumConfigValue_in_rule__ConfigValue__Alternatives2886 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2919 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2936 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_02968 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__SimpleAnnotationAttribute__Alternatives_02987 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_03021 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__EnumAnnotationAttribute__Alternatives_03040 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_13074 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__Import__Alternatives_13093 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_0__0_in_rule__TIME__Alternatives3127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_1__0_in_rule__TIME__Alternatives3145 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_2__0_in_rule__TIME__Alternatives3163 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_3__0_in_rule__TIME__Alternatives3181 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives3214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives3231 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives3248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_rule__BooleanLiteral__Alternatives_13281 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_13300 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives3333 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives3350 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives3382 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives3399 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__SignedInteger__Alternatives_03432 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__SignedInteger__Alternatives_03452 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives3486 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives3503 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives3520 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives3537 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__Decimal__Alternatives_03570 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__Decimal__Alternatives_03590 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__DotDecimal__Alternatives_03625 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__DotDecimal__Alternatives_03645 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__DecimalDot__Alternatives_03680 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__DecimalDot__Alternatives_03700 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__DecimalExp__Alternatives_03735 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__DecimalExp__Alternatives_03755 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_21_in_rule__LiteralType__Alternatives3790 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_22_in_rule__LiteralType__Alternatives3811 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_rule__LiteralType__Alternatives3832 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__LiteralType__Alternatives3853 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__0__Impl_in_rule__ConfigModel__Group__03886 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__1_in_rule__ConfigModel__Group__03889 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_rule__ConfigModel__Group__0__Impl3917 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__1__Impl_in_rule__ConfigModel__Group__13948 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__2_in_rule__ConfigModel__Group__13951 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigModel__NameAssignment_1_in_rule__ConfigModel__Group__1__Impl3978 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__2__Impl_in_rule__ConfigModel__Group__24008 = new BitSet(new long[]{0x0002003818000000L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__3_in_rule__ConfigModel__Group__24011 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__ConfigModel__Group__2__Impl4039 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__3__Impl_in_rule__ConfigModel__Group__34070 = new BitSet(new long[]{0x0002003818000000L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__4_in_rule__ConfigModel__Group__34073 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigModel__ImportsAssignment_3_in_rule__ConfigModel__Group__3__Impl4100 = new BitSet(new long[]{0x0002000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__4__Impl_in_rule__ConfigModel__Group__44131 = new BitSet(new long[]{0x0002003818000000L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__5_in_rule__ConfigModel__Group__44134 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigModel__ConfigElementsAssignment_4_in_rule__ConfigModel__Group__4__Impl4161 = new BitSet(new long[]{0x0000003810000002L});
-    public static final BitSet FOLLOW_rule__ConfigModel__Group__5__Impl_in_rule__ConfigModel__Group__54192 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__ConfigModel__Group__5__Impl4220 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__0__Impl_in_rule__SubSystemConfig__Group__04263 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__1_in_rule__SubSystemConfig__Group__04266 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__SubSystemConfig__Group__0__Impl4294 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__1__Impl_in_rule__SubSystemConfig__Group__14325 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__2_in_rule__SubSystemConfig__Group__14328 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__RootAssignment_1_in_rule__SubSystemConfig__Group__1__Impl4355 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__2__Impl_in_rule__SubSystemConfig__Group__24385 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__3_in_rule__SubSystemConfig__Group__24388 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__SubSystemConfig__Group__2__Impl4416 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__3__Impl_in_rule__SubSystemConfig__Group__34447 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__4_in_rule__SubSystemConfig__Group__34450 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__SubSystemAssignment_3_in_rule__SubSystemConfig__Group__3__Impl4477 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__4__Impl_in_rule__SubSystemConfig__Group__44507 = new BitSet(new long[]{0x0000000040000000L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__5_in_rule__SubSystemConfig__Group__44510 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__SubSystemConfig__Group__4__Impl4538 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__5__Impl_in_rule__SubSystemConfig__Group__54569 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__6_in_rule__SubSystemConfig__Group__54572 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__DynConfigAssignment_5_in_rule__SubSystemConfig__Group__5__Impl4599 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__6__Impl_in_rule__SubSystemConfig__Group__64629 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__SubSystemConfig__Group__6__Impl4657 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group__0__Impl_in_rule__DynamicConfig__Group__04702 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group__1_in_rule__DynamicConfig__Group__04705 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__DynamicConfig__Group__0__Impl4733 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group__1__Impl_in_rule__DynamicConfig__Group__14764 = new BitSet(new long[]{0x0000000580000000L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group__2_in_rule__DynamicConfig__Group__14767 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__DynamicConfig__Group__1__Impl4795 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group__2__Impl_in_rule__DynamicConfig__Group__24826 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group__3_in_rule__DynamicConfig__Group__24829 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__UnorderedGroup_2_in_rule__DynamicConfig__Group__2__Impl4856 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group__3__Impl_in_rule__DynamicConfig__Group__34886 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__DynamicConfig__Group__3__Impl4914 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_0__0__Impl_in_rule__DynamicConfig__Group_2_0_0__04953 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_0__1_in_rule__DynamicConfig__Group_2_0_0__04956 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_rule__DynamicConfig__Group_2_0_0__0__Impl4984 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_0__1__Impl_in_rule__DynamicConfig__Group_2_0_0__15015 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__FilePathAssignment_2_0_0_1_in_rule__DynamicConfig__Group_2_0_0__1__Impl5042 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1__0__Impl_in_rule__DynamicConfig__Group_2_0_1__05076 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1__1_in_rule__DynamicConfig__Group_2_0_1__05079 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_0__0_in_rule__DynamicConfig__Group_2_0_1__0__Impl5106 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1__1__Impl_in_rule__DynamicConfig__Group_2_0_1__15136 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_1__0_in_rule__DynamicConfig__Group_2_0_1__1__Impl5163 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_0__0__Impl_in_rule__DynamicConfig__Group_2_0_1_0__05197 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_0__1_in_rule__DynamicConfig__Group_2_0_1_0__05200 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_rule__DynamicConfig__Group_2_0_1_0__0__Impl5228 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_0__1__Impl_in_rule__DynamicConfig__Group_2_0_1_0__15259 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1_in_rule__DynamicConfig__Group_2_0_1_0__1__Impl5286 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_1__0__Impl_in_rule__DynamicConfig__Group_2_0_1_1__05320 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_1__1_in_rule__DynamicConfig__Group_2_0_1_1__05323 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__DynamicConfig__Group_2_0_1_1__0__Impl5351 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_1__1__Impl_in_rule__DynamicConfig__Group_2_0_1_1__15382 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1_in_rule__DynamicConfig__Group_2_0_1_1__1__Impl5409 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_1__0__Impl_in_rule__DynamicConfig__Group_2_1__05443 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_1__1_in_rule__DynamicConfig__Group_2_1__05446 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_rule__DynamicConfig__Group_2_1__0__Impl5474 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_1__1__Impl_in_rule__DynamicConfig__Group_2_1__15505 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__PollingAssignment_2_1_1_in_rule__DynamicConfig__Group_2_1__1__Impl5532 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__0__Impl_in_rule__ActorClassConfig__Group__05566 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__1_in_rule__ActorClassConfig__Group__05569 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_rule__ActorClassConfig__Group__0__Impl5597 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__1__Impl_in_rule__ActorClassConfig__Group__15628 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__2_in_rule__ActorClassConfig__Group__15631 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__ActorAssignment_1_in_rule__ActorClassConfig__Group__1__Impl5658 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__2__Impl_in_rule__ActorClassConfig__Group__25688 = new BitSet(new long[]{0x0000020008000000L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__3_in_rule__ActorClassConfig__Group__25691 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__ActorClassConfig__Group__2__Impl5719 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__3__Impl_in_rule__ActorClassConfig__Group__35750 = new BitSet(new long[]{0x0000020008000000L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__4_in_rule__ActorClassConfig__Group__35753 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__AttributesAssignment_3_in_rule__ActorClassConfig__Group__3__Impl5780 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__4__Impl_in_rule__ActorClassConfig__Group__45811 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__ActorClassConfig__Group__4__Impl5839 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__0__Impl_in_rule__ActorInstanceConfig__Group__05880 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__1_in_rule__ActorInstanceConfig__Group__05883 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__ActorInstanceConfig__Group__0__Impl5911 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__1__Impl_in_rule__ActorInstanceConfig__Group__15942 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__2_in_rule__ActorInstanceConfig__Group__15945 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__RootAssignment_1_in_rule__ActorInstanceConfig__Group__1__Impl5972 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__2__Impl_in_rule__ActorInstanceConfig__Group__26002 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__3_in_rule__ActorInstanceConfig__Group__26005 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__ActorInstanceConfig__Group__2__Impl6033 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__3__Impl_in_rule__ActorInstanceConfig__Group__36064 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__4_in_rule__ActorInstanceConfig__Group__36067 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__SubSystemAssignment_3_in_rule__ActorInstanceConfig__Group__3__Impl6094 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__4__Impl_in_rule__ActorInstanceConfig__Group__46124 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__5_in_rule__ActorInstanceConfig__Group__46127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__ActorInstanceConfig__Group__4__Impl6155 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__5__Impl_in_rule__ActorInstanceConfig__Group__56186 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__6_in_rule__ActorInstanceConfig__Group__56189 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__PathAssignment_5_in_rule__ActorInstanceConfig__Group__5__Impl6216 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__6__Impl_in_rule__ActorInstanceConfig__Group__66246 = new BitSet(new long[]{0x0000030000000000L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__7_in_rule__ActorInstanceConfig__Group__66249 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__ActorInstanceConfig__Group__6__Impl6277 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__7__Impl_in_rule__ActorInstanceConfig__Group__76308 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__8_in_rule__ActorInstanceConfig__Group__76311 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7_in_rule__ActorInstanceConfig__Group__7__Impl6338 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__8__Impl_in_rule__ActorInstanceConfig__Group__86368 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__ActorInstanceConfig__Group__8__Impl6396 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__0__Impl_in_rule__ProtocolClassConfig__Group__06445 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__1_in_rule__ProtocolClassConfig__Group__06448 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_rule__ProtocolClassConfig__Group__0__Impl6476 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__1__Impl_in_rule__ProtocolClassConfig__Group__16507 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__2_in_rule__ProtocolClassConfig__Group__16510 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__ProtocolAssignment_1_in_rule__ProtocolClassConfig__Group__1__Impl6537 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__2__Impl_in_rule__ProtocolClassConfig__Group__26567 = new BitSet(new long[]{0x0000004000006000L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__3_in_rule__ProtocolClassConfig__Group__26570 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__ProtocolClassConfig__Group__2__Impl6598 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__3__Impl_in_rule__ProtocolClassConfig__Group__36629 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__4_in_rule__ProtocolClassConfig__Group__36632 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3_in_rule__ProtocolClassConfig__Group__3__Impl6659 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__4__Impl_in_rule__ProtocolClassConfig__Group__46689 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__ProtocolClassConfig__Group__4__Impl6717 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_0__0__Impl_in_rule__ProtocolClassConfig__Group_3_0__06758 = new BitSet(new long[]{0x0000008000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_0__1_in_rule__ProtocolClassConfig__Group_3_0__06761 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_38_in_rule__ProtocolClassConfig__Group_3_0__0__Impl6789 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_0__1__Impl_in_rule__ProtocolClassConfig__Group_3_0__16820 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__RegularAssignment_3_0_1_in_rule__ProtocolClassConfig__Group_3_0__1__Impl6847 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_1__0__Impl_in_rule__ProtocolClassConfig__Group_3_1__06881 = new BitSet(new long[]{0x0000008000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_1__1_in_rule__ProtocolClassConfig__Group_3_1__06884 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Alternatives_3_1_0_in_rule__ProtocolClassConfig__Group_3_1__0__Impl6911 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_1__1__Impl_in_rule__ProtocolClassConfig__Group_3_1__16941 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1_in_rule__ProtocolClassConfig__Group_3_1__1__Impl6968 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClassConfig__Group__0__Impl_in_rule__PortClassConfig__Group__07002 = new BitSet(new long[]{0x0000008000000000L});
-    public static final BitSet FOLLOW_rule__PortClassConfig__Group__1_in_rule__PortClassConfig__Group__07005 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClassConfig__Group__1__Impl_in_rule__PortClassConfig__Group__17063 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__PortClassConfig__Group__2_in_rule__PortClassConfig__Group__17066 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_39_in_rule__PortClassConfig__Group__1__Impl7094 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClassConfig__Group__2__Impl_in_rule__PortClassConfig__Group__27125 = new BitSet(new long[]{0x0000020008000000L});
-    public static final BitSet FOLLOW_rule__PortClassConfig__Group__3_in_rule__PortClassConfig__Group__27128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__PortClassConfig__Group__2__Impl7156 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClassConfig__Group__3__Impl_in_rule__PortClassConfig__Group__37187 = new BitSet(new long[]{0x0000020008000000L});
-    public static final BitSet FOLLOW_rule__PortClassConfig__Group__4_in_rule__PortClassConfig__Group__37190 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClassConfig__AttributesAssignment_3_in_rule__PortClassConfig__Group__3__Impl7217 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_rule__PortClassConfig__Group__4__Impl_in_rule__PortClassConfig__Group__47248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__PortClassConfig__Group__4__Impl7276 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__0__Impl_in_rule__PortInstanceConfig__Group__07317 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__1_in_rule__PortInstanceConfig__Group__07320 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__PortInstanceConfig__Group__0__Impl7348 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__1__Impl_in_rule__PortInstanceConfig__Group__17379 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__2_in_rule__PortInstanceConfig__Group__17382 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__ItemAssignment_1_in_rule__PortInstanceConfig__Group__1__Impl7409 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__2__Impl_in_rule__PortInstanceConfig__Group__27439 = new BitSet(new long[]{0x0000020008000000L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__3_in_rule__PortInstanceConfig__Group__27442 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__PortInstanceConfig__Group__2__Impl7470 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__3__Impl_in_rule__PortInstanceConfig__Group__37501 = new BitSet(new long[]{0x0000020008000000L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__4_in_rule__PortInstanceConfig__Group__37504 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__AttributesAssignment_3_in_rule__PortInstanceConfig__Group__3__Impl7531 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__4__Impl_in_rule__PortInstanceConfig__Group__47562 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__PortInstanceConfig__Group__4__Impl7590 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__0__Impl_in_rule__AttrClassConfig__Group__07631 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__1_in_rule__AttrClassConfig__Group__07634 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__AttrClassConfig__Group__0__Impl7662 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__1__Impl_in_rule__AttrClassConfig__Group__17693 = new BitSet(new long[]{0x0000040004000000L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__2_in_rule__AttrClassConfig__Group__17696 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__AttributeAssignment_1_in_rule__AttrClassConfig__Group__1__Impl7723 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__2__Impl_in_rule__AttrClassConfig__Group__27753 = new BitSet(new long[]{0x0000040004000000L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__3_in_rule__AttrClassConfig__Group__27756 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_2__0_in_rule__AttrClassConfig__Group__2__Impl7783 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__3__Impl_in_rule__AttrClassConfig__Group__37814 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__0_in_rule__AttrClassConfig__Group__3__Impl7841 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_2__0__Impl_in_rule__AttrClassConfig__Group_2__07880 = new BitSet(new long[]{0x10004000001C0170L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_2__1_in_rule__AttrClassConfig__Group_2__07883 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__AttrClassConfig__Group_2__0__Impl7911 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_2__1__Impl_in_rule__AttrClassConfig__Group_2__17942 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__ValueAssignment_2_1_in_rule__AttrClassConfig__Group_2__1__Impl7969 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__0__Impl_in_rule__AttrClassConfig__Group_3__08003 = new BitSet(new long[]{0x00001A0000000000L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__1_in_rule__AttrClassConfig__Group_3__08006 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__AttrClassConfig__Group_3__0__Impl8034 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__1__Impl_in_rule__AttrClassConfig__Group_3__18065 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__2_in_rule__AttrClassConfig__Group_3__18068 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__0_in_rule__AttrClassConfig__Group_3__1__Impl8095 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__2__Impl_in_rule__AttrClassConfig__Group_3__28125 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__AttrClassConfig__Group_3__2__Impl8153 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__0__Impl_in_rule__AttrClassConfig__Group_3_1__08190 = new BitSet(new long[]{0x00001A0000000000L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__1_in_rule__AttrClassConfig__Group_3_1__08193 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__0_in_rule__AttrClassConfig__Group_3_1__0__Impl8220 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__1__Impl_in_rule__AttrClassConfig__Group_3_1__18251 = new BitSet(new long[]{0x00001A0000000000L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__2_in_rule__AttrClassConfig__Group_3_1__18254 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__0_in_rule__AttrClassConfig__Group_3_1__1__Impl8281 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__2__Impl_in_rule__AttrClassConfig__Group_3_1__28312 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__AttributesAssignment_3_1_2_in_rule__AttrClassConfig__Group_3_1__2__Impl8339 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__0__Impl_in_rule__AttrClassConfig__Group_3_1_0__08376 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__1_in_rule__AttrClassConfig__Group_3_1_0__08379 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_rule__AttrClassConfig__Group_3_1_0__0__Impl8407 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__1__Impl_in_rule__AttrClassConfig__Group_3_1_0__18438 = new BitSet(new long[]{0x0000400000180060L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__2_in_rule__AttrClassConfig__Group_3_1_0__18441 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__AttrClassConfig__Group_3_1_0__1__Impl8469 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__2__Impl_in_rule__AttrClassConfig__Group_3_1_0__28500 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__MinAssignment_3_1_0_2_in_rule__AttrClassConfig__Group_3_1_0__2__Impl8527 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__0__Impl_in_rule__AttrClassConfig__Group_3_1_1__08563 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__1_in_rule__AttrClassConfig__Group_3_1_1__08566 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__AttrClassConfig__Group_3_1_1__0__Impl8594 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__1__Impl_in_rule__AttrClassConfig__Group_3_1_1__18625 = new BitSet(new long[]{0x0000400000180060L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__2_in_rule__AttrClassConfig__Group_3_1_1__18628 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__AttrClassConfig__Group_3_1_1__1__Impl8656 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__2__Impl_in_rule__AttrClassConfig__Group_3_1_1__28687 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrClassConfig__MaxAssignment_3_1_1_2_in_rule__AttrClassConfig__Group_3_1_1__2__Impl8714 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__0__Impl_in_rule__AttrInstanceConfig__Group__08750 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__1_in_rule__AttrInstanceConfig__Group__08753 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__AttrInstanceConfig__Group__0__Impl8781 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__1__Impl_in_rule__AttrInstanceConfig__Group__18812 = new BitSet(new long[]{0x0000040004000000L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__2_in_rule__AttrInstanceConfig__Group__18815 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__AttributeAssignment_1_in_rule__AttrInstanceConfig__Group__1__Impl8842 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__2__Impl_in_rule__AttrInstanceConfig__Group__28872 = new BitSet(new long[]{0x0000040004000000L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__3_in_rule__AttrInstanceConfig__Group__28875 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_2__0_in_rule__AttrInstanceConfig__Group__2__Impl8902 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__3__Impl_in_rule__AttrInstanceConfig__Group__38933 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__0_in_rule__AttrInstanceConfig__Group__3__Impl8960 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_2__0__Impl_in_rule__AttrInstanceConfig__Group_2__08999 = new BitSet(new long[]{0x10004000001C0170L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_2__1_in_rule__AttrInstanceConfig__Group_2__09002 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__AttrInstanceConfig__Group_2__0__Impl9030 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_2__1__Impl_in_rule__AttrInstanceConfig__Group_2__19061 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__ValueAssignment_2_1_in_rule__AttrInstanceConfig__Group_2__1__Impl9088 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__0__Impl_in_rule__AttrInstanceConfig__Group_3__09122 = new BitSet(new long[]{0x0000020040000000L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__1_in_rule__AttrInstanceConfig__Group_3__09125 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__AttrInstanceConfig__Group_3__0__Impl9153 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__1__Impl_in_rule__AttrInstanceConfig__Group_3__19184 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__2_in_rule__AttrInstanceConfig__Group_3__19187 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1__0_in_rule__AttrInstanceConfig__Group_3__1__Impl9214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__2__Impl_in_rule__AttrInstanceConfig__Group_3__29244 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__AttrInstanceConfig__Group_3__2__Impl9272 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1__0__Impl_in_rule__AttrInstanceConfig__Group_3_1__09309 = new BitSet(new long[]{0x0000020040000000L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1__1_in_rule__AttrInstanceConfig__Group_3_1__09312 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__0_in_rule__AttrInstanceConfig__Group_3_1__0__Impl9339 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1__1__Impl_in_rule__AttrInstanceConfig__Group_3_1__19370 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__AttributesAssignment_3_1_1_in_rule__AttrInstanceConfig__Group_3_1__1__Impl9397 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__0__Impl_in_rule__AttrInstanceConfig__Group_3_1_0__09432 = new BitSet(new long[]{0x0400000000008000L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__1_in_rule__AttrInstanceConfig__Group_3_1_0__09435 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0_in_rule__AttrInstanceConfig__Group_3_1_0__0__Impl9462 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__1__Impl_in_rule__AttrInstanceConfig__Group_3_1_0__19492 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Alternatives_3_1_0_1_in_rule__AttrInstanceConfig__Group_3_1_0__1__Impl9519 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigValueArray__Group__0__Impl_in_rule__ConfigValueArray__Group__09553 = new BitSet(new long[]{0x0000200000000000L});
-    public static final BitSet FOLLOW_rule__ConfigValueArray__Group__1_in_rule__ConfigValueArray__Group__09556 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigValueArray__ValuesAssignment_0_in_rule__ConfigValueArray__Group__0__Impl9583 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigValueArray__Group__1__Impl_in_rule__ConfigValueArray__Group__19613 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigValueArray__Group_1__0_in_rule__ConfigValueArray__Group__1__Impl9640 = new BitSet(new long[]{0x0000200000000002L});
-    public static final BitSet FOLLOW_rule__ConfigValueArray__Group_1__0__Impl_in_rule__ConfigValueArray__Group_1__09675 = new BitSet(new long[]{0x10004000001C0170L});
-    public static final BitSet FOLLOW_rule__ConfigValueArray__Group_1__1_in_rule__ConfigValueArray__Group_1__09678 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_45_in_rule__ConfigValueArray__Group_1__0__Impl9706 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigValueArray__Group_1__1__Impl_in_rule__ConfigValueArray__Group_1__19737 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ConfigValueArray__ValuesAssignment_1_1_in_rule__ConfigValueArray__Group_1__1__Impl9764 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__0__Impl_in_rule__EnumConfigValue__Group__09798 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__1_in_rule__EnumConfigValue__Group__09801 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumConfigValue__TypeAssignment_0_in_rule__EnumConfigValue__Group__0__Impl9828 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__1__Impl_in_rule__EnumConfigValue__Group__19858 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__2_in_rule__EnumConfigValue__Group__19861 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__EnumConfigValue__Group__1__Impl9889 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__2__Impl_in_rule__EnumConfigValue__Group__29920 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumConfigValue__ValueAssignment_2_in_rule__EnumConfigValue__Group__2__Impl9947 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__Group__0__Impl_in_rule__RefPath__Group__09983 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_rule__RefPath__Group__1_in_rule__RefPath__Group__09986 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__RefsAssignment_0_in_rule__RefPath__Group__0__Impl10013 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__Group__1__Impl_in_rule__RefPath__Group__110043 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__Group_1__0_in_rule__RefPath__Group__1__Impl10070 = new BitSet(new long[]{0x0000000020000002L});
-    public static final BitSet FOLLOW_rule__RefPath__Group_1__0__Impl_in_rule__RefPath__Group_1__010105 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__RefPath__Group_1__1_in_rule__RefPath__Group_1__010108 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__RefPath__Group_1__0__Impl10136 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__Group_1__1__Impl_in_rule__RefPath__Group_1__110167 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__RefsAssignment_1_1_in_rule__RefPath__Group_1__1__Impl10194 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group__0__Impl_in_rule__RefSegment__Group__010228 = new BitSet(new long[]{0x0000800000000000L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group__1_in_rule__RefSegment__Group__010231 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__RefAssignment_0_in_rule__RefSegment__Group__0__Impl10258 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group__1__Impl_in_rule__RefSegment__Group__110288 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group_1__0_in_rule__RefSegment__Group__1__Impl10315 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group_1__0__Impl_in_rule__RefSegment__Group_1__010350 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group_1__1_in_rule__RefSegment__Group_1__010353 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__RefSegment__Group_1__0__Impl10381 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group_1__1__Impl_in_rule__RefSegment__Group_1__110412 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__IdxAssignment_1_1_in_rule__RefSegment__Group_1__1__Impl10439 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__010476 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__010479 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl10506 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__110536 = new BitSet(new long[]{0x10004000001C0160L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__110539 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__KeyValue__Group__1__Impl10567 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__210598 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl10625 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__010664 = new BitSet(new long[]{0x0001000000000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__010667 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl10694 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__110724 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__110727 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_48_in_rule__SimpleAnnotationAttribute__Group__1__Impl10755 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__210786 = new BitSet(new long[]{0x0000800000000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__210789 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl10816 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__310846 = new BitSet(new long[]{0x0000000001E00000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__310849 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__SimpleAnnotationAttribute__Group__3__Impl10877 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__410908 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl10935 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__010975 = new BitSet(new long[]{0x0001000000000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__010978 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl11005 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__111035 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__111038 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_48_in_rule__EnumAnnotationAttribute__Group__1__Impl11066 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__211097 = new BitSet(new long[]{0x0000800000000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__211100 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl11127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__311157 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__311160 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__EnumAnnotationAttribute__Group__3__Impl11188 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__411219 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__411222 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__EnumAnnotationAttribute__Group__4__Impl11250 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__511281 = new BitSet(new long[]{0x0000200008000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__511284 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl11311 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__611341 = new BitSet(new long[]{0x0000200008000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__611344 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl11371 = new BitSet(new long[]{0x0000200000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__711402 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__EnumAnnotationAttribute__Group__7__Impl11430 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__011477 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__011480 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_45_in_rule__EnumAnnotationAttribute__Group_6__0__Impl11508 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__111539 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl11566 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__011600 = new BitSet(new long[]{0x0000000000020010L});
-    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__011603 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_49_in_rule__Import__Group__0__Impl11631 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__111662 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__Import__Group__2_in_rule__Import__Group__111665 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl11692 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__211722 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl11749 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__011785 = new BitSet(new long[]{0x0004000000000000L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__011788 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl11815 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__111845 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_rule__Import__Group_1_0__1__Impl11873 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__011908 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__011911 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl11938 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__111967 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_51_in_rule__ImportedFQN__Group__1__Impl11996 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__012033 = new BitSet(new long[]{0x0010000000000000L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__012036 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__112094 = new BitSet(new long[]{0x0020000000000100L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__112097 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_52_in_rule__Documentation__Group__1__Impl12125 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__212156 = new BitSet(new long[]{0x0020000000000100L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__212159 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl12186 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__312217 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_53_in_rule__Documentation__Group__3__Impl12245 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_0__0__Impl_in_rule__TIME__Group_0__012284 = new BitSet(new long[]{0x0040000000000000L});
-    public static final BitSet FOLLOW_rule__TIME__Group_0__1_in_rule__TIME__Group_0__012287 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_0__0__Impl12314 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_0__1__Impl_in_rule__TIME__Group_0__112343 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_54_in_rule__TIME__Group_0__1__Impl12371 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_1__0__Impl_in_rule__TIME__Group_1__012406 = new BitSet(new long[]{0x0080000000000000L});
-    public static final BitSet FOLLOW_rule__TIME__Group_1__1_in_rule__TIME__Group_1__012409 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_1__0__Impl12436 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_1__1__Impl_in_rule__TIME__Group_1__112465 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_rule__TIME__Group_1__1__Impl12493 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_2__0__Impl_in_rule__TIME__Group_2__012528 = new BitSet(new long[]{0x0100000000000000L});
-    public static final BitSet FOLLOW_rule__TIME__Group_2__1_in_rule__TIME__Group_2__012531 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_2__0__Impl12558 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_2__1__Impl_in_rule__TIME__Group_2__112587 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_56_in_rule__TIME__Group_2__1__Impl12615 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_3__0__Impl_in_rule__TIME__Group_3__012650 = new BitSet(new long[]{0x0200000000000000L});
-    public static final BitSet FOLLOW_rule__TIME__Group_3__1_in_rule__TIME__Group_3__012653 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_3__0__Impl12680 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_3__1__Impl_in_rule__TIME__Group_3__112709 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_57_in_rule__TIME__Group_3__1__Impl12737 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__012774 = new BitSet(new long[]{0x1000000000040000L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__012777 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__112835 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl12862 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__012896 = new BitSet(new long[]{0x0000400000180060L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__012899 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__112957 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl12984 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__013018 = new BitSet(new long[]{0x0000000000180060L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__013021 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__113079 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl13106 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__013140 = new BitSet(new long[]{0x10004000001C0160L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__013143 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__113201 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl13228 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__013262 = new BitSet(new long[]{0x0000000000180040L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__013265 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl13292 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__113323 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl13350 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__013383 = new BitSet(new long[]{0x0000000000180040L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__013386 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl13413 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__113444 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__113447 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl13474 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__213503 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__213506 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__Decimal__Group__2__Impl13534 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__313565 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl13592 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__013629 = new BitSet(new long[]{0x0000400000180000L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__013632 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl13659 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__113690 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__113693 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__DotDecimal__Group__1__Impl13721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__213752 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl13779 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__013814 = new BitSet(new long[]{0x0000000000180040L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__013817 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl13844 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__113875 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__113878 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl13905 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__213934 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__DecimalDot__Group__2__Impl13962 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__013999 = new BitSet(new long[]{0x0000400000180060L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__014002 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl14029 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__114060 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__114063 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl14090 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__214119 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__214122 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__DecimalExp__Group__2__Impl14150 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__314181 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__314184 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl14211 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__414240 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl14267 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__014306 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__014309 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl14336 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__114365 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl14392 = new BitSet(new long[]{0x0000400000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__014427 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__014430 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__FQN__Group_1__0__Impl14458 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__114489 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl14516 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__UnorderedGroup_2__0_in_rule__DynamicConfig__UnorderedGroup_214550 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Alternatives_2_0_in_rule__DynamicConfig__UnorderedGroup_2__Impl14639 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_1__0_in_rule__DynamicConfig__UnorderedGroup_2__Impl14730 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__UnorderedGroup_2__Impl_in_rule__DynamicConfig__UnorderedGroup_2__014789 = new BitSet(new long[]{0x0000000580000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__UnorderedGroup_2__1_in_rule__DynamicConfig__UnorderedGroup_2__014792 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DynamicConfig__UnorderedGroup_2__Impl_in_rule__DynamicConfig__UnorderedGroup_2__114817 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__0_in_rule__ActorInstanceConfig__UnorderedGroup_714845 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14933 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14977 = new BitSet(new long[]{0x0000020000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl15076 = new BitSet(new long[]{0x0000030000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl15120 = new BitSet(new long[]{0x0000030000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__Impl_in_rule__ActorInstanceConfig__UnorderedGroup_7__015186 = new BitSet(new long[]{0x0000030000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__1_in_rule__ActorInstanceConfig__UnorderedGroup_7__015189 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__Impl_in_rule__ActorInstanceConfig__UnorderedGroup_7__115214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__0_in_rule__ProtocolClassConfig__UnorderedGroup_315242 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_0__0_in_rule__ProtocolClassConfig__UnorderedGroup_3__Impl15329 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_1__0_in_rule__ProtocolClassConfig__UnorderedGroup_3__Impl15420 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__Impl_in_rule__ProtocolClassConfig__UnorderedGroup_3__015479 = new BitSet(new long[]{0x0000004000006002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__1_in_rule__ProtocolClassConfig__UnorderedGroup_3__015482 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__Impl_in_rule__ProtocolClassConfig__UnorderedGroup_3__115507 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ConfigModel__NameAssignment_115539 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImport_in_rule__ConfigModel__ImportsAssignment_315570 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleConfigElement_in_rule__ConfigModel__ConfigElementsAssignment_415601 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__SubSystemConfig__RootAssignment_115636 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SubSystemConfig__SubSystemAssignment_315675 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDynamicConfig_in_rule__SubSystemConfig__DynConfigAssignment_515710 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__DynamicConfig__FilePathAssignment_2_0_0_115741 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__DynamicConfig__UserCode1Assignment_2_0_1_0_115772 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__DynamicConfig__UserCode2Assignment_2_0_1_1_115803 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTIME_in_rule__DynamicConfig__PollingAssignment_2_1_115834 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ActorClassConfig__ActorAssignment_115869 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAttrClassConfig_in_rule__ActorClassConfig__AttributesAssignment_315904 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ActorInstanceConfig__RootAssignment_115939 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ActorInstanceConfig__SubSystemAssignment_315978 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefPath_in_rule__ActorInstanceConfig__PathAssignment_516013 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_rule__ActorInstanceConfig__AttributesAssignment_7_016044 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePortInstanceConfig_in_rule__ActorInstanceConfig__PortsAssignment_7_116075 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ProtocolClassConfig__ProtocolAssignment_116110 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePortClassConfig_in_rule__ProtocolClassConfig__RegularAssignment_3_0_116145 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePortClassConfig_in_rule__ProtocolClassConfig__ConjugatedAssignment_3_1_116176 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAttrClassConfig_in_rule__PortClassConfig__AttributesAssignment_316207 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__PortInstanceConfig__ItemAssignment_116242 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_rule__PortInstanceConfig__AttributesAssignment_316277 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__AttrClassConfig__AttributeAssignment_116312 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleConfigValueArray_in_rule__AttrClassConfig__ValueAssignment_2_116347 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__AttrClassConfig__MinAssignment_3_1_0_216378 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__AttrClassConfig__MaxAssignment_3_1_1_216409 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAttrClassConfig_in_rule__AttrClassConfig__AttributesAssignment_3_1_216440 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__AttrInstanceConfig__AttributeAssignment_116475 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleConfigValueArray_in_rule__AttrInstanceConfig__ValueAssignment_2_116510 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_016546 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_58_in_rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_016590 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_rule__AttrInstanceConfig__AttributesAssignment_3_1_116629 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleConfigValue_in_rule__ConfigValueArray__ValuesAssignment_016660 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleConfigValue_in_rule__ConfigValueArray__ValuesAssignment_1_116691 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_rule__LiteralConfigValue__ValueAssignment16722 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumConfigValue__TypeAssignment_016757 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumConfigValue__ValueAssignment_216796 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_016831 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_1_116862 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__RefSegment__RefAssignment_016893 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__RefSegment__IdxAssignment_1_116924 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_016958 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_216989 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_017031 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_217070 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_417101 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_017137 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_217176 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_517207 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_117238 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_017269 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_217300 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_217331 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_rule__BooleanLiteral__IsTrueAssignment_1_117369 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_117408 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_117439 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_117470 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_synpred1_InternalConfig14974 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_synpred2_InternalConfig15117 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleConfigModel_in_entryRuleConfigModel67 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleConfigModel74 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__0_in_ruleConfigModel100 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleConfigElement_in_entryRuleConfigElement127 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleConfigElement134 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigElement__Alternatives_in_ruleConfigElement160 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSubSystemConfig_in_entryRuleSubSystemConfig187 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleSubSystemConfig194 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__0_in_ruleSubSystemConfig220 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDynamicConfig_in_entryRuleDynamicConfig247 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDynamicConfig254 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group__0_in_ruleDynamicConfig280 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleActorClassConfig_in_entryRuleActorClassConfig307 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleActorClassConfig314 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__0_in_ruleActorClassConfig340 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleActorInstanceConfig_in_entryRuleActorInstanceConfig367 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleActorInstanceConfig374 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__0_in_ruleActorInstanceConfig400 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleProtocolClassConfig_in_entryRuleProtocolClassConfig427 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleProtocolClassConfig434 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__0_in_ruleProtocolClassConfig460 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePortClassConfig_in_entryRulePortClassConfig487 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRulePortClassConfig494 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClassConfig__Group__0_in_rulePortClassConfig520 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePortInstanceConfig_in_entryRulePortInstanceConfig547 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRulePortInstanceConfig554 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__0_in_rulePortInstanceConfig580 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAttrClassConfig_in_entryRuleAttrClassConfig609 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleAttrClassConfig616 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__0_in_ruleAttrClassConfig642 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_entryRuleAttrInstanceConfig669 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleAttrInstanceConfig676 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__0_in_ruleAttrInstanceConfig702 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleConfigValueArray_in_entryRuleConfigValueArray729 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleConfigValueArray736 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigValueArray__Group__0_in_ruleConfigValueArray762 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleConfigValue_in_entryRuleConfigValue789 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleConfigValue796 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigValue__Alternatives_in_ruleConfigValue822 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteralConfigValue_in_entryRuleLiteralConfigValue849 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleLiteralConfigValue856 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LiteralConfigValue__ValueAssignment_in_ruleLiteralConfigValue882 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumConfigValue_in_entryRuleEnumConfigValue909 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleEnumConfigValue916 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__0_in_ruleEnumConfigValue942 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefPath_in_entryRuleRefPath969 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleRefPath976 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__Group__0_in_ruleRefPath1002 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefSegment_in_entryRuleRefSegment1029 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleRefSegment1036 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group__0_in_ruleRefSegment1062 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue1091 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue1098 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__0_in_ruleKeyValue1124 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType1153 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType1160 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotationTargetType1186 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute1212 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationAttribute1219 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationAttribute__Alternatives_in_ruleAnnotationAttribute1245 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute1272 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute1279 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0_in_ruleSimpleAnnotationAttribute1305 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute1332 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute1339 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0_in_ruleEnumAnnotationAttribute1365 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport1392 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleImport1399 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport1425 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN1452 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN1459 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0_in_ruleImportedFQN1485 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation1512 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation1519 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__0_in_ruleDocumentation1545 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTIME_in_entryRuleTIME1572 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleTIME1579 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Alternatives_in_ruleTIME1605 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral1634 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleLiteral1641 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Literal__Alternatives_in_ruleLiteral1667 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1694 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral1701 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0_in_ruleBooleanLiteral1727 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1754 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral1761 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1787 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral1814 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleRealLiteral1821 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__0_in_ruleRealLiteral1847 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1874 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral1881 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__0_in_ruleIntLiteral1907 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1934 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral1941 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral1967 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger1994 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleInteger2001 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Alternatives_in_ruleInteger2027 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal2054 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal2061 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal2087 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal2119 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal2126 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal2156 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp2188 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp2195 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp2225 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN2252 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN2259 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN2285 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType2322 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSubSystemConfig_in_rule__ConfigElement__Alternatives2357 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleActorClassConfig_in_rule__ConfigElement__Alternatives2374 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleActorInstanceConfig_in_rule__ConfigElement__Alternatives2391 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleProtocolClassConfig_in_rule__ConfigElement__Alternatives2408 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_0__0_in_rule__DynamicConfig__Alternatives_2_02440 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1__0_in_rule__DynamicConfig__Alternatives_2_02458 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_rule__ProtocolClassConfig__Alternatives_3_1_02492 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_13_in_rule__ProtocolClassConfig__Alternatives_3_1_02512 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_0_in_rule__AttrInstanceConfig__Alternatives_3_1_0_12547 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__AttrInstanceConfig__Alternatives_3_1_0_12566 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteralConfigValue_in_rule__ConfigValue__Alternatives2600 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumConfigValue_in_rule__ConfigValue__Alternatives2617 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2650 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2667 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_02699 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__SimpleAnnotationAttribute__Alternatives_02718 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_02752 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__EnumAnnotationAttribute__Alternatives_02771 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_12805 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__Import__Alternatives_12824 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_0__0_in_rule__TIME__Alternatives2858 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_1__0_in_rule__TIME__Alternatives2876 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_2__0_in_rule__TIME__Alternatives2894 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_3__0_in_rule__TIME__Alternatives2912 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives2945 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives2962 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives2979 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_rule__BooleanLiteral__Alternatives_13012 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_13031 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives3064 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives3081 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives3113 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_rule__Integer__Alternatives3131 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_18_in_rule__Integer__Alternatives_0_03164 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_rule__Integer__Alternatives_0_03184 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives3218 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives3235 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_18_in_rule__Decimal__Alternatives_03268 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_rule__Decimal__Alternatives_03288 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_18_in_rule__DecimalExp__Alternatives_03323 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_rule__DecimalExp__Alternatives_03343 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_20_in_rule__DecimalExp__Alternatives_43378 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_21_in_rule__DecimalExp__Alternatives_43398 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_18_in_rule__DecimalExp__Alternatives_53433 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_rule__DecimalExp__Alternatives_53453 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_22_in_rule__LiteralType__Alternatives3488 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_23_in_rule__LiteralType__Alternatives3509 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_24_in_rule__LiteralType__Alternatives3530 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_25_in_rule__LiteralType__Alternatives3551 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__0__Impl_in_rule__ConfigModel__Group__03584 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__1_in_rule__ConfigModel__Group__03587 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_26_in_rule__ConfigModel__Group__0__Impl3615 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__1__Impl_in_rule__ConfigModel__Group__13646 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__2_in_rule__ConfigModel__Group__13649 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigModel__NameAssignment_1_in_rule__ConfigModel__Group__1__Impl3676 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__2__Impl_in_rule__ConfigModel__Group__23706 = new BitSet(new long[]{0x0004007030000000L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__3_in_rule__ConfigModel__Group__23709 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__ConfigModel__Group__2__Impl3737 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__3__Impl_in_rule__ConfigModel__Group__33768 = new BitSet(new long[]{0x0004007030000000L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__4_in_rule__ConfigModel__Group__33771 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigModel__ImportsAssignment_3_in_rule__ConfigModel__Group__3__Impl3798 = new BitSet(new long[]{0x0004000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__4__Impl_in_rule__ConfigModel__Group__43829 = new BitSet(new long[]{0x0004007030000000L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__5_in_rule__ConfigModel__Group__43832 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigModel__ConfigElementsAssignment_4_in_rule__ConfigModel__Group__4__Impl3859 = new BitSet(new long[]{0x0000007020000002L});
+    public static final BitSet FOLLOW_rule__ConfigModel__Group__5__Impl_in_rule__ConfigModel__Group__53890 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__ConfigModel__Group__5__Impl3918 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__0__Impl_in_rule__SubSystemConfig__Group__03961 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__1_in_rule__SubSystemConfig__Group__03964 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__SubSystemConfig__Group__0__Impl3992 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__1__Impl_in_rule__SubSystemConfig__Group__14023 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__2_in_rule__SubSystemConfig__Group__14026 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__RootAssignment_1_in_rule__SubSystemConfig__Group__1__Impl4053 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__2__Impl_in_rule__SubSystemConfig__Group__24083 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__3_in_rule__SubSystemConfig__Group__24086 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__SubSystemConfig__Group__2__Impl4114 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__3__Impl_in_rule__SubSystemConfig__Group__34145 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__4_in_rule__SubSystemConfig__Group__34148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__SubSystemAssignment_3_in_rule__SubSystemConfig__Group__3__Impl4175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__4__Impl_in_rule__SubSystemConfig__Group__44205 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__5_in_rule__SubSystemConfig__Group__44208 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__SubSystemConfig__Group__4__Impl4236 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__5__Impl_in_rule__SubSystemConfig__Group__54267 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__6_in_rule__SubSystemConfig__Group__54270 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__DynConfigAssignment_5_in_rule__SubSystemConfig__Group__5__Impl4297 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemConfig__Group__6__Impl_in_rule__SubSystemConfig__Group__64327 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__SubSystemConfig__Group__6__Impl4355 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group__0__Impl_in_rule__DynamicConfig__Group__04400 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group__1_in_rule__DynamicConfig__Group__04403 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__DynamicConfig__Group__0__Impl4431 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group__1__Impl_in_rule__DynamicConfig__Group__14462 = new BitSet(new long[]{0x0000000B00000000L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group__2_in_rule__DynamicConfig__Group__14465 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__DynamicConfig__Group__1__Impl4493 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group__2__Impl_in_rule__DynamicConfig__Group__24524 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group__3_in_rule__DynamicConfig__Group__24527 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__UnorderedGroup_2_in_rule__DynamicConfig__Group__2__Impl4554 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group__3__Impl_in_rule__DynamicConfig__Group__34584 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__DynamicConfig__Group__3__Impl4612 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_0__0__Impl_in_rule__DynamicConfig__Group_2_0_0__04651 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_0__1_in_rule__DynamicConfig__Group_2_0_0__04654 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_32_in_rule__DynamicConfig__Group_2_0_0__0__Impl4682 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_0__1__Impl_in_rule__DynamicConfig__Group_2_0_0__14713 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__FilePathAssignment_2_0_0_1_in_rule__DynamicConfig__Group_2_0_0__1__Impl4740 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1__0__Impl_in_rule__DynamicConfig__Group_2_0_1__04774 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1__1_in_rule__DynamicConfig__Group_2_0_1__04777 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_0__0_in_rule__DynamicConfig__Group_2_0_1__0__Impl4804 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1__1__Impl_in_rule__DynamicConfig__Group_2_0_1__14834 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_1__0_in_rule__DynamicConfig__Group_2_0_1__1__Impl4861 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_0__0__Impl_in_rule__DynamicConfig__Group_2_0_1_0__04895 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_0__1_in_rule__DynamicConfig__Group_2_0_1_0__04898 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_rule__DynamicConfig__Group_2_0_1_0__0__Impl4926 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_0__1__Impl_in_rule__DynamicConfig__Group_2_0_1_0__14957 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__UserCode1Assignment_2_0_1_0_1_in_rule__DynamicConfig__Group_2_0_1_0__1__Impl4984 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_1__0__Impl_in_rule__DynamicConfig__Group_2_0_1_1__05018 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_1__1_in_rule__DynamicConfig__Group_2_0_1_1__05021 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__DynamicConfig__Group_2_0_1_1__0__Impl5049 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_0_1_1__1__Impl_in_rule__DynamicConfig__Group_2_0_1_1__15080 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__UserCode2Assignment_2_0_1_1_1_in_rule__DynamicConfig__Group_2_0_1_1__1__Impl5107 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_1__0__Impl_in_rule__DynamicConfig__Group_2_1__05141 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_1__1_in_rule__DynamicConfig__Group_2_1__05144 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_rule__DynamicConfig__Group_2_1__0__Impl5172 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_1__1__Impl_in_rule__DynamicConfig__Group_2_1__15203 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__PollingAssignment_2_1_1_in_rule__DynamicConfig__Group_2_1__1__Impl5230 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__0__Impl_in_rule__ActorClassConfig__Group__05264 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__1_in_rule__ActorClassConfig__Group__05267 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_36_in_rule__ActorClassConfig__Group__0__Impl5295 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__1__Impl_in_rule__ActorClassConfig__Group__15326 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__2_in_rule__ActorClassConfig__Group__15329 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__ActorAssignment_1_in_rule__ActorClassConfig__Group__1__Impl5356 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__2__Impl_in_rule__ActorClassConfig__Group__25386 = new BitSet(new long[]{0x0000040010000000L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__3_in_rule__ActorClassConfig__Group__25389 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__ActorClassConfig__Group__2__Impl5417 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__3__Impl_in_rule__ActorClassConfig__Group__35448 = new BitSet(new long[]{0x0000040010000000L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__4_in_rule__ActorClassConfig__Group__35451 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__AttributesAssignment_3_in_rule__ActorClassConfig__Group__3__Impl5478 = new BitSet(new long[]{0x0000040000000002L});
+    public static final BitSet FOLLOW_rule__ActorClassConfig__Group__4__Impl_in_rule__ActorClassConfig__Group__45509 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__ActorClassConfig__Group__4__Impl5537 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__0__Impl_in_rule__ActorInstanceConfig__Group__05578 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__1_in_rule__ActorInstanceConfig__Group__05581 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__ActorInstanceConfig__Group__0__Impl5609 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__1__Impl_in_rule__ActorInstanceConfig__Group__15640 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__2_in_rule__ActorInstanceConfig__Group__15643 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__RootAssignment_1_in_rule__ActorInstanceConfig__Group__1__Impl5670 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__2__Impl_in_rule__ActorInstanceConfig__Group__25700 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__3_in_rule__ActorInstanceConfig__Group__25703 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__ActorInstanceConfig__Group__2__Impl5731 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__3__Impl_in_rule__ActorInstanceConfig__Group__35762 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__4_in_rule__ActorInstanceConfig__Group__35765 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__SubSystemAssignment_3_in_rule__ActorInstanceConfig__Group__3__Impl5792 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__4__Impl_in_rule__ActorInstanceConfig__Group__45822 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__5_in_rule__ActorInstanceConfig__Group__45825 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__ActorInstanceConfig__Group__4__Impl5853 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__5__Impl_in_rule__ActorInstanceConfig__Group__55884 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__6_in_rule__ActorInstanceConfig__Group__55887 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__PathAssignment_5_in_rule__ActorInstanceConfig__Group__5__Impl5914 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__6__Impl_in_rule__ActorInstanceConfig__Group__65944 = new BitSet(new long[]{0x0000060000000000L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__7_in_rule__ActorInstanceConfig__Group__65947 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__ActorInstanceConfig__Group__6__Impl5975 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__7__Impl_in_rule__ActorInstanceConfig__Group__76006 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__8_in_rule__ActorInstanceConfig__Group__76009 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7_in_rule__ActorInstanceConfig__Group__7__Impl6036 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__Group__8__Impl_in_rule__ActorInstanceConfig__Group__86066 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__ActorInstanceConfig__Group__8__Impl6094 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__0__Impl_in_rule__ProtocolClassConfig__Group__06143 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__1_in_rule__ProtocolClassConfig__Group__06146 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_38_in_rule__ProtocolClassConfig__Group__0__Impl6174 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__1__Impl_in_rule__ProtocolClassConfig__Group__16205 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__2_in_rule__ProtocolClassConfig__Group__16208 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__ProtocolAssignment_1_in_rule__ProtocolClassConfig__Group__1__Impl6235 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__2__Impl_in_rule__ProtocolClassConfig__Group__26265 = new BitSet(new long[]{0x0000008000003000L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__3_in_rule__ProtocolClassConfig__Group__26268 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__ProtocolClassConfig__Group__2__Impl6296 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__3__Impl_in_rule__ProtocolClassConfig__Group__36327 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__4_in_rule__ProtocolClassConfig__Group__36330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3_in_rule__ProtocolClassConfig__Group__3__Impl6357 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group__4__Impl_in_rule__ProtocolClassConfig__Group__46387 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__ProtocolClassConfig__Group__4__Impl6415 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_0__0__Impl_in_rule__ProtocolClassConfig__Group_3_0__06456 = new BitSet(new long[]{0x0000010000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_0__1_in_rule__ProtocolClassConfig__Group_3_0__06459 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_39_in_rule__ProtocolClassConfig__Group_3_0__0__Impl6487 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_0__1__Impl_in_rule__ProtocolClassConfig__Group_3_0__16518 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__RegularAssignment_3_0_1_in_rule__ProtocolClassConfig__Group_3_0__1__Impl6545 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_1__0__Impl_in_rule__ProtocolClassConfig__Group_3_1__06579 = new BitSet(new long[]{0x0000010000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_1__1_in_rule__ProtocolClassConfig__Group_3_1__06582 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Alternatives_3_1_0_in_rule__ProtocolClassConfig__Group_3_1__0__Impl6609 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_1__1__Impl_in_rule__ProtocolClassConfig__Group_3_1__16639 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__ConjugatedAssignment_3_1_1_in_rule__ProtocolClassConfig__Group_3_1__1__Impl6666 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClassConfig__Group__0__Impl_in_rule__PortClassConfig__Group__06700 = new BitSet(new long[]{0x0000010000000000L});
+    public static final BitSet FOLLOW_rule__PortClassConfig__Group__1_in_rule__PortClassConfig__Group__06703 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClassConfig__Group__1__Impl_in_rule__PortClassConfig__Group__16761 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__PortClassConfig__Group__2_in_rule__PortClassConfig__Group__16764 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_40_in_rule__PortClassConfig__Group__1__Impl6792 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClassConfig__Group__2__Impl_in_rule__PortClassConfig__Group__26823 = new BitSet(new long[]{0x0000040010000000L});
+    public static final BitSet FOLLOW_rule__PortClassConfig__Group__3_in_rule__PortClassConfig__Group__26826 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__PortClassConfig__Group__2__Impl6854 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClassConfig__Group__3__Impl_in_rule__PortClassConfig__Group__36885 = new BitSet(new long[]{0x0000040010000000L});
+    public static final BitSet FOLLOW_rule__PortClassConfig__Group__4_in_rule__PortClassConfig__Group__36888 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClassConfig__AttributesAssignment_3_in_rule__PortClassConfig__Group__3__Impl6915 = new BitSet(new long[]{0x0000040000000002L});
+    public static final BitSet FOLLOW_rule__PortClassConfig__Group__4__Impl_in_rule__PortClassConfig__Group__46946 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__PortClassConfig__Group__4__Impl6974 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__0__Impl_in_rule__PortInstanceConfig__Group__07015 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__1_in_rule__PortInstanceConfig__Group__07018 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__PortInstanceConfig__Group__0__Impl7046 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__1__Impl_in_rule__PortInstanceConfig__Group__17077 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__2_in_rule__PortInstanceConfig__Group__17080 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__ItemAssignment_1_in_rule__PortInstanceConfig__Group__1__Impl7107 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__2__Impl_in_rule__PortInstanceConfig__Group__27137 = new BitSet(new long[]{0x0000040010000000L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__3_in_rule__PortInstanceConfig__Group__27140 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__PortInstanceConfig__Group__2__Impl7168 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__3__Impl_in_rule__PortInstanceConfig__Group__37199 = new BitSet(new long[]{0x0000040010000000L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__4_in_rule__PortInstanceConfig__Group__37202 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__AttributesAssignment_3_in_rule__PortInstanceConfig__Group__3__Impl7229 = new BitSet(new long[]{0x0000040000000002L});
+    public static final BitSet FOLLOW_rule__PortInstanceConfig__Group__4__Impl_in_rule__PortInstanceConfig__Group__47260 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__PortInstanceConfig__Group__4__Impl7288 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__0__Impl_in_rule__AttrClassConfig__Group__07329 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__1_in_rule__AttrClassConfig__Group__07332 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__AttrClassConfig__Group__0__Impl7360 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__1__Impl_in_rule__AttrClassConfig__Group__17391 = new BitSet(new long[]{0x0000080008000000L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__2_in_rule__AttrClassConfig__Group__17394 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__AttributeAssignment_1_in_rule__AttrClassConfig__Group__1__Impl7421 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__2__Impl_in_rule__AttrClassConfig__Group__27451 = new BitSet(new long[]{0x0000080008000000L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__3_in_rule__AttrClassConfig__Group__27454 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_2__0_in_rule__AttrClassConfig__Group__2__Impl7481 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group__3__Impl_in_rule__AttrClassConfig__Group__37512 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__0_in_rule__AttrClassConfig__Group__3__Impl7539 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_2__0__Impl_in_rule__AttrClassConfig__Group_2__07578 = new BitSet(new long[]{0x20000000000E00F0L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_2__1_in_rule__AttrClassConfig__Group_2__07581 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__AttrClassConfig__Group_2__0__Impl7609 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_2__1__Impl_in_rule__AttrClassConfig__Group_2__17640 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__ValueAssignment_2_1_in_rule__AttrClassConfig__Group_2__1__Impl7667 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__0__Impl_in_rule__AttrClassConfig__Group_3__07701 = new BitSet(new long[]{0x0000340000000000L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__1_in_rule__AttrClassConfig__Group_3__07704 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__AttrClassConfig__Group_3__0__Impl7732 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__1__Impl_in_rule__AttrClassConfig__Group_3__17763 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__2_in_rule__AttrClassConfig__Group_3__17766 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__0_in_rule__AttrClassConfig__Group_3__1__Impl7793 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3__2__Impl_in_rule__AttrClassConfig__Group_3__27823 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__AttrClassConfig__Group_3__2__Impl7851 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__0__Impl_in_rule__AttrClassConfig__Group_3_1__07888 = new BitSet(new long[]{0x0000340000000000L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__1_in_rule__AttrClassConfig__Group_3_1__07891 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__0_in_rule__AttrClassConfig__Group_3_1__0__Impl7918 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__1__Impl_in_rule__AttrClassConfig__Group_3_1__17949 = new BitSet(new long[]{0x0000340000000000L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__2_in_rule__AttrClassConfig__Group_3_1__17952 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__0_in_rule__AttrClassConfig__Group_3_1__1__Impl7979 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1__2__Impl_in_rule__AttrClassConfig__Group_3_1__28010 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__AttributesAssignment_3_1_2_in_rule__AttrClassConfig__Group_3_1__2__Impl8037 = new BitSet(new long[]{0x0000040000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__0__Impl_in_rule__AttrClassConfig__Group_3_1_0__08074 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__1_in_rule__AttrClassConfig__Group_3_1_0__08077 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_rule__AttrClassConfig__Group_3_1_0__0__Impl8105 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__1__Impl_in_rule__AttrClassConfig__Group_3_1_0__18136 = new BitSet(new long[]{0x00000000000C0060L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__2_in_rule__AttrClassConfig__Group_3_1_0__18139 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__AttrClassConfig__Group_3_1_0__1__Impl8167 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_0__2__Impl_in_rule__AttrClassConfig__Group_3_1_0__28198 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__MinAssignment_3_1_0_2_in_rule__AttrClassConfig__Group_3_1_0__2__Impl8225 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__0__Impl_in_rule__AttrClassConfig__Group_3_1_1__08261 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__1_in_rule__AttrClassConfig__Group_3_1_1__08264 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__AttrClassConfig__Group_3_1_1__0__Impl8292 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__1__Impl_in_rule__AttrClassConfig__Group_3_1_1__18323 = new BitSet(new long[]{0x00000000000C0060L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__2_in_rule__AttrClassConfig__Group_3_1_1__18326 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__AttrClassConfig__Group_3_1_1__1__Impl8354 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__Group_3_1_1__2__Impl_in_rule__AttrClassConfig__Group_3_1_1__28385 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrClassConfig__MaxAssignment_3_1_1_2_in_rule__AttrClassConfig__Group_3_1_1__2__Impl8412 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__0__Impl_in_rule__AttrInstanceConfig__Group__08448 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__1_in_rule__AttrInstanceConfig__Group__08451 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__AttrInstanceConfig__Group__0__Impl8479 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__1__Impl_in_rule__AttrInstanceConfig__Group__18510 = new BitSet(new long[]{0x0000080008000000L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__2_in_rule__AttrInstanceConfig__Group__18513 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__AttributeAssignment_1_in_rule__AttrInstanceConfig__Group__1__Impl8540 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__2__Impl_in_rule__AttrInstanceConfig__Group__28570 = new BitSet(new long[]{0x0000080008000000L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__3_in_rule__AttrInstanceConfig__Group__28573 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_2__0_in_rule__AttrInstanceConfig__Group__2__Impl8600 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group__3__Impl_in_rule__AttrInstanceConfig__Group__38631 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__0_in_rule__AttrInstanceConfig__Group__3__Impl8658 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_2__0__Impl_in_rule__AttrInstanceConfig__Group_2__08697 = new BitSet(new long[]{0x20000000000E00F0L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_2__1_in_rule__AttrInstanceConfig__Group_2__08700 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__AttrInstanceConfig__Group_2__0__Impl8728 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_2__1__Impl_in_rule__AttrInstanceConfig__Group_2__18759 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__ValueAssignment_2_1_in_rule__AttrInstanceConfig__Group_2__1__Impl8786 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__0__Impl_in_rule__AttrInstanceConfig__Group_3__08820 = new BitSet(new long[]{0x0000040080000000L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__1_in_rule__AttrInstanceConfig__Group_3__08823 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__AttrInstanceConfig__Group_3__0__Impl8851 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__1__Impl_in_rule__AttrInstanceConfig__Group_3__18882 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__2_in_rule__AttrInstanceConfig__Group_3__18885 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1__0_in_rule__AttrInstanceConfig__Group_3__1__Impl8912 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3__2__Impl_in_rule__AttrInstanceConfig__Group_3__28942 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__AttrInstanceConfig__Group_3__2__Impl8970 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1__0__Impl_in_rule__AttrInstanceConfig__Group_3_1__09007 = new BitSet(new long[]{0x0000040080000000L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1__1_in_rule__AttrInstanceConfig__Group_3_1__09010 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__0_in_rule__AttrInstanceConfig__Group_3_1__0__Impl9037 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1__1__Impl_in_rule__AttrInstanceConfig__Group_3_1__19068 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__AttributesAssignment_3_1_1_in_rule__AttrInstanceConfig__Group_3_1__1__Impl9095 = new BitSet(new long[]{0x0000040000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__0__Impl_in_rule__AttrInstanceConfig__Group_3_1_0__09130 = new BitSet(new long[]{0x0800000000004000L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__1_in_rule__AttrInstanceConfig__Group_3_1_0__09133 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_0_in_rule__AttrInstanceConfig__Group_3_1_0__0__Impl9160 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Group_3_1_0__1__Impl_in_rule__AttrInstanceConfig__Group_3_1_0__19190 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AttrInstanceConfig__Alternatives_3_1_0_1_in_rule__AttrInstanceConfig__Group_3_1_0__1__Impl9217 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigValueArray__Group__0__Impl_in_rule__ConfigValueArray__Group__09251 = new BitSet(new long[]{0x0000400000000000L});
+    public static final BitSet FOLLOW_rule__ConfigValueArray__Group__1_in_rule__ConfigValueArray__Group__09254 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigValueArray__ValuesAssignment_0_in_rule__ConfigValueArray__Group__0__Impl9281 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigValueArray__Group__1__Impl_in_rule__ConfigValueArray__Group__19311 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigValueArray__Group_1__0_in_rule__ConfigValueArray__Group__1__Impl9338 = new BitSet(new long[]{0x0000400000000002L});
+    public static final BitSet FOLLOW_rule__ConfigValueArray__Group_1__0__Impl_in_rule__ConfigValueArray__Group_1__09373 = new BitSet(new long[]{0x20000000000E00F0L});
+    public static final BitSet FOLLOW_rule__ConfigValueArray__Group_1__1_in_rule__ConfigValueArray__Group_1__09376 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_46_in_rule__ConfigValueArray__Group_1__0__Impl9404 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigValueArray__Group_1__1__Impl_in_rule__ConfigValueArray__Group_1__19435 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ConfigValueArray__ValuesAssignment_1_1_in_rule__ConfigValueArray__Group_1__1__Impl9462 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__0__Impl_in_rule__EnumConfigValue__Group__09496 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__1_in_rule__EnumConfigValue__Group__09499 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumConfigValue__TypeAssignment_0_in_rule__EnumConfigValue__Group__0__Impl9526 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__1__Impl_in_rule__EnumConfigValue__Group__19556 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__2_in_rule__EnumConfigValue__Group__19559 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__EnumConfigValue__Group__1__Impl9587 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumConfigValue__Group__2__Impl_in_rule__EnumConfigValue__Group__29618 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumConfigValue__ValueAssignment_2_in_rule__EnumConfigValue__Group__2__Impl9645 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__Group__0__Impl_in_rule__RefPath__Group__09681 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_rule__RefPath__Group__1_in_rule__RefPath__Group__09684 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__RefsAssignment_0_in_rule__RefPath__Group__0__Impl9711 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__Group__1__Impl_in_rule__RefPath__Group__19741 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__Group_1__0_in_rule__RefPath__Group__1__Impl9768 = new BitSet(new long[]{0x0000000040000002L});
+    public static final BitSet FOLLOW_rule__RefPath__Group_1__0__Impl_in_rule__RefPath__Group_1__09803 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__RefPath__Group_1__1_in_rule__RefPath__Group_1__09806 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__RefPath__Group_1__0__Impl9834 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__Group_1__1__Impl_in_rule__RefPath__Group_1__19865 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__RefsAssignment_1_1_in_rule__RefPath__Group_1__1__Impl9892 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group__0__Impl_in_rule__RefSegment__Group__09926 = new BitSet(new long[]{0x0001000000000000L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group__1_in_rule__RefSegment__Group__09929 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__RefAssignment_0_in_rule__RefSegment__Group__0__Impl9956 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group__1__Impl_in_rule__RefSegment__Group__19986 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group_1__0_in_rule__RefSegment__Group__1__Impl10013 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group_1__0__Impl_in_rule__RefSegment__Group_1__010048 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group_1__1_in_rule__RefSegment__Group_1__010051 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__RefSegment__Group_1__0__Impl10079 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group_1__1__Impl_in_rule__RefSegment__Group_1__110110 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__IdxAssignment_1_1_in_rule__RefSegment__Group_1__1__Impl10137 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__010174 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__010177 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl10204 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__110234 = new BitSet(new long[]{0x20000000000E00E0L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__110237 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__KeyValue__Group__1__Impl10265 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__210296 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl10323 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__010362 = new BitSet(new long[]{0x0002000000000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__010365 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl10392 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__110422 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__110425 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_49_in_rule__SimpleAnnotationAttribute__Group__1__Impl10453 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__210484 = new BitSet(new long[]{0x0001000000000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__210487 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl10514 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__310544 = new BitSet(new long[]{0x0000000003C00000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__310547 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__SimpleAnnotationAttribute__Group__3__Impl10575 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__410606 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl10633 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__010673 = new BitSet(new long[]{0x0002000000000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__010676 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl10703 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__110733 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__110736 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_49_in_rule__EnumAnnotationAttribute__Group__1__Impl10764 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__210795 = new BitSet(new long[]{0x0001000000000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__210798 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl10825 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__310855 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__310858 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__EnumAnnotationAttribute__Group__3__Impl10886 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__410917 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__410920 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__EnumAnnotationAttribute__Group__4__Impl10948 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__510979 = new BitSet(new long[]{0x0000400010000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__510982 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl11009 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__611039 = new BitSet(new long[]{0x0000400010000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__611042 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl11069 = new BitSet(new long[]{0x0000400000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__711100 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__EnumAnnotationAttribute__Group__7__Impl11128 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__011175 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__011178 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_46_in_rule__EnumAnnotationAttribute__Group_6__0__Impl11206 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__111237 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl11264 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__011298 = new BitSet(new long[]{0x0000000000010010L});
+    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__011301 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_50_in_rule__Import__Group__0__Impl11329 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__111360 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__Import__Group__2_in_rule__Import__Group__111363 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl11390 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__211420 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl11447 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__011483 = new BitSet(new long[]{0x0008000000000000L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__011486 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl11513 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__111543 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_rule__Import__Group_1_0__1__Impl11571 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__011606 = new BitSet(new long[]{0x0010000000000000L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__011609 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl11636 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__111665 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_52_in_rule__ImportedFQN__Group__1__Impl11694 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__011731 = new BitSet(new long[]{0x0020000000000000L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__011734 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__111792 = new BitSet(new long[]{0x0040000000000080L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__111795 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_53_in_rule__Documentation__Group__1__Impl11823 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__211854 = new BitSet(new long[]{0x0040000000000080L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__211857 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl11884 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__311915 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_54_in_rule__Documentation__Group__3__Impl11943 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_0__0__Impl_in_rule__TIME__Group_0__011982 = new BitSet(new long[]{0x0080000000000000L});
+    public static final BitSet FOLLOW_rule__TIME__Group_0__1_in_rule__TIME__Group_0__011985 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_0__0__Impl12012 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_0__1__Impl_in_rule__TIME__Group_0__112041 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_55_in_rule__TIME__Group_0__1__Impl12069 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_1__0__Impl_in_rule__TIME__Group_1__012104 = new BitSet(new long[]{0x0100000000000000L});
+    public static final BitSet FOLLOW_rule__TIME__Group_1__1_in_rule__TIME__Group_1__012107 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_1__0__Impl12134 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_1__1__Impl_in_rule__TIME__Group_1__112163 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_56_in_rule__TIME__Group_1__1__Impl12191 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_2__0__Impl_in_rule__TIME__Group_2__012226 = new BitSet(new long[]{0x0200000000000000L});
+    public static final BitSet FOLLOW_rule__TIME__Group_2__1_in_rule__TIME__Group_2__012229 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_2__0__Impl12256 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_2__1__Impl_in_rule__TIME__Group_2__112285 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_57_in_rule__TIME__Group_2__1__Impl12313 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_3__0__Impl_in_rule__TIME__Group_3__012348 = new BitSet(new long[]{0x0400000000000000L});
+    public static final BitSet FOLLOW_rule__TIME__Group_3__1_in_rule__TIME__Group_3__012351 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_3__0__Impl12378 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_3__1__Impl_in_rule__TIME__Group_3__112407 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_58_in_rule__TIME__Group_3__1__Impl12435 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__012472 = new BitSet(new long[]{0x2000000000020000L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__012475 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__112533 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl12560 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__012594 = new BitSet(new long[]{0x00000000000C0060L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__012597 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__112655 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl12682 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__012716 = new BitSet(new long[]{0x00000000000C0060L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__012719 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__112777 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl12804 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__012838 = new BitSet(new long[]{0x20000000000E00E0L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__012841 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__112899 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl12926 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__012960 = new BitSet(new long[]{0x00000000000C0040L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__012963 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl12990 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__113021 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl13048 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__013081 = new BitSet(new long[]{0x00000000000C0040L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__013084 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl13111 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__113142 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__113145 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl13172 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__213201 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__213204 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__Decimal__Group__2__Impl13232 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__313263 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl13290 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__013327 = new BitSet(new long[]{0x00000000000C0060L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__013330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl13357 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__113388 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__113391 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl13418 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__213447 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__213450 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__DecimalExp__Group__2__Impl13478 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__313509 = new BitSet(new long[]{0x0000000000300000L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__313512 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl13539 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__413568 = new BitSet(new long[]{0x00000000000C0040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__413571 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl13598 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__513628 = new BitSet(new long[]{0x00000000000C0040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__513631 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl13658 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__613689 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl13717 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__013761 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__013764 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl13791 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__113820 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl13847 = new BitSet(new long[]{0x0000800000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__013882 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__013885 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__FQN__Group_1__0__Impl13913 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__113944 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl13971 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__UnorderedGroup_2__0_in_rule__DynamicConfig__UnorderedGroup_214005 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Alternatives_2_0_in_rule__DynamicConfig__UnorderedGroup_2__Impl14094 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Group_2_1__0_in_rule__DynamicConfig__UnorderedGroup_2__Impl14185 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__UnorderedGroup_2__Impl_in_rule__DynamicConfig__UnorderedGroup_2__014244 = new BitSet(new long[]{0x0000000B00000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__UnorderedGroup_2__1_in_rule__DynamicConfig__UnorderedGroup_2__014247 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__UnorderedGroup_2__Impl_in_rule__DynamicConfig__UnorderedGroup_2__114272 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__0_in_rule__ActorInstanceConfig__UnorderedGroup_714300 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14388 = new BitSet(new long[]{0x0000040000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14432 = new BitSet(new long[]{0x0000040000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14531 = new BitSet(new long[]{0x0000060000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_rule__ActorInstanceConfig__UnorderedGroup_7__Impl14575 = new BitSet(new long[]{0x0000060000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__Impl_in_rule__ActorInstanceConfig__UnorderedGroup_7__014641 = new BitSet(new long[]{0x0000060000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__1_in_rule__ActorInstanceConfig__UnorderedGroup_7__014644 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__Impl_in_rule__ActorInstanceConfig__UnorderedGroup_7__114669 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__0_in_rule__ProtocolClassConfig__UnorderedGroup_314697 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_0__0_in_rule__ProtocolClassConfig__UnorderedGroup_3__Impl14784 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_1__0_in_rule__ProtocolClassConfig__UnorderedGroup_3__Impl14875 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__Impl_in_rule__ProtocolClassConfig__UnorderedGroup_3__014934 = new BitSet(new long[]{0x0000008000003002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__1_in_rule__ProtocolClassConfig__UnorderedGroup_3__014937 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__Impl_in_rule__ProtocolClassConfig__UnorderedGroup_3__114962 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ConfigModel__NameAssignment_114994 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImport_in_rule__ConfigModel__ImportsAssignment_315025 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleConfigElement_in_rule__ConfigModel__ConfigElementsAssignment_415056 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__SubSystemConfig__RootAssignment_115091 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SubSystemConfig__SubSystemAssignment_315130 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDynamicConfig_in_rule__SubSystemConfig__DynConfigAssignment_515165 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__DynamicConfig__FilePathAssignment_2_0_0_115196 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__DynamicConfig__UserCode1Assignment_2_0_1_0_115227 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__DynamicConfig__UserCode2Assignment_2_0_1_1_115258 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTIME_in_rule__DynamicConfig__PollingAssignment_2_1_115289 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ActorClassConfig__ActorAssignment_115324 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAttrClassConfig_in_rule__ActorClassConfig__AttributesAssignment_315359 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ActorInstanceConfig__RootAssignment_115394 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ActorInstanceConfig__SubSystemAssignment_315433 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefPath_in_rule__ActorInstanceConfig__PathAssignment_515468 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_rule__ActorInstanceConfig__AttributesAssignment_7_015499 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePortInstanceConfig_in_rule__ActorInstanceConfig__PortsAssignment_7_115530 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ProtocolClassConfig__ProtocolAssignment_115565 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePortClassConfig_in_rule__ProtocolClassConfig__RegularAssignment_3_0_115600 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePortClassConfig_in_rule__ProtocolClassConfig__ConjugatedAssignment_3_1_115631 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAttrClassConfig_in_rule__PortClassConfig__AttributesAssignment_315662 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__PortInstanceConfig__ItemAssignment_115697 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_rule__PortInstanceConfig__AttributesAssignment_315732 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__AttrClassConfig__AttributeAssignment_115767 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleConfigValueArray_in_rule__AttrClassConfig__ValueAssignment_2_115802 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__AttrClassConfig__MinAssignment_3_1_0_215833 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__AttrClassConfig__MaxAssignment_3_1_1_215864 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAttrClassConfig_in_rule__AttrClassConfig__AttributesAssignment_3_1_215895 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__AttrInstanceConfig__AttributeAssignment_115930 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleConfigValueArray_in_rule__AttrInstanceConfig__ValueAssignment_2_115965 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__AttrInstanceConfig__DynConfigAssignment_3_1_0_016001 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_rule__AttrInstanceConfig__ReadOnlyAssignment_3_1_0_1_016045 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_rule__AttrInstanceConfig__AttributesAssignment_3_1_116084 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleConfigValue_in_rule__ConfigValueArray__ValuesAssignment_016115 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleConfigValue_in_rule__ConfigValueArray__ValuesAssignment_1_116146 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteral_in_rule__LiteralConfigValue__ValueAssignment16177 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumConfigValue__TypeAssignment_016212 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumConfigValue__ValueAssignment_216251 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_016286 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_1_116317 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__RefSegment__RefAssignment_016348 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__RefSegment__IdxAssignment_1_116379 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_016413 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_216444 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_016486 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_216525 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_416556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_016592 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_216631 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_516662 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_116693 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_016724 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_216755 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_216786 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_61_in_rule__BooleanLiteral__IsTrueAssignment_1_116824 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_116863 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_116894 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_116925 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__Alternatives_2_0_in_synpred54_InternalConfig14094 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DynamicConfig__UnorderedGroup_2__1_in_synpred55_InternalConfig14247 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__0_in_synpred56_InternalConfig14300 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_synpred57_InternalConfig14429 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_synpred58_InternalConfig14388 = new BitSet(new long[]{0x0000040000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__AttributesAssignment_7_0_in_synpred58_InternalConfig14432 = new BitSet(new long[]{0x0000040000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__PortsAssignment_7_1_in_synpred59_InternalConfig14572 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceConfig__UnorderedGroup_7__1_in_synpred60_InternalConfig14644 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__0_in_synpred61_InternalConfig14697 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__Group_3_0__0_in_synpred62_InternalConfig14784 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClassConfig__UnorderedGroup_3__1_in_synpred63_InternalConfig14937 = new BitSet(new long[]{0x0000000000000002L});
 
 }
diff --git "a/plugins/org.eclipse.etrice.core.config/Generate Language Infrastructure \050org.eclipse.etrice.core.config\051.launch" "b/plugins/org.eclipse.etrice.core.config/Generate Language Infrastructure \050org.eclipse.etrice.core.config\051.launch"
index b001a2f..5b0644f 100644
--- "a/plugins/org.eclipse.etrice.core.config/Generate Language Infrastructure \050org.eclipse.etrice.core.config\051.launch"
+++ "b/plugins/org.eclipse.etrice.core.config/Generate Language Infrastructure \050org.eclipse.etrice.core.config\051.launch"
@@ -12,6 +12,7 @@
 <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
 <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
 </listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/etrice/core/GenerateConfig.mwe2"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.core.config"/>
diff --git a/plugins/org.eclipse.etrice.core.config/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.config/META-INF/MANIFEST.MF
index 6564d53..5a8f290 100644
--- a/plugins/org.eclipse.etrice.core.config/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.config/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Config DSL
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.config; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
  org.eclipse.xtext;bundle-version="2.6.0";visibility:=reexport,
  org.eclipse.xtext.xbase;bundle-version="2.6.0";resolution:=optional;visibility:=reexport,
  org.apache.log4j;bundle-version="1.2.15";visibility:=reexport,
diff --git a/plugins/org.eclipse.etrice.core.config/pom.xml b/plugins/org.eclipse.etrice.core.config/pom.xml
index a141a36..1144102 100644
--- a/plugins/org.eclipse.etrice.core.config/pom.xml
+++ b/plugins/org.eclipse.etrice.core.config/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xtextbin b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xtextbin
index a0cd458..0097c25 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xtextbin
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/Config.xtextbin
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g
index 55ee9c3..bbfbc8b 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g
@@ -2376,120 +2376,36 @@
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-    }
-    this_SignedInteger_0=ruleSignedInteger    {
-		$current.merge(this_SignedInteger_0);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-    }
-    this_Hexadecimal_1=ruleHexadecimal    {
-		$current.merge(this_Hexadecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getSignedIntegerRule()); } 
-	 iv_ruleSignedInteger=ruleSignedInteger 
-	 { $current=$iv_ruleSignedInteger.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
+(((
 	kw='+' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
     }
 
     |
 	kw='-' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
     }
 )?    this_INT_2=RULE_INT    {
 		$current.merge(this_INT_2);
     }
 
     { 
-    newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+    newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
     }
 )
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getHexadecimalRule()); } 
-	 iv_ruleHexadecimal=ruleHexadecimal 
-	 { $current=$iv_ruleHexadecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-    this_HEX_0=RULE_HEX    {
-		$current.merge(this_HEX_0);
+    |    this_HEX_3=RULE_HEX    {
+		$current.merge(this_HEX_3);
     }
 
     { 
-    newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
+    newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
     }
-
+)
     ;
-finally {
-	myHiddenTokenState.restore();
-}
 
 
 
@@ -2523,34 +2439,10 @@
 
     |
     { 
-        newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
     }
-    this_DotDecimal_1=ruleDotDecimal    {
-		$current.merge(this_DotDecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-    }
-    this_DecimalDot_2=ruleDecimalDot    {
-		$current.merge(this_DecimalDot_2);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-    }
-    this_DecimalExp_3=ruleDecimalExp    {
-		$current.merge(this_DecimalExp_3);
+    this_DecimalExp_1=ruleDecimalExp    {
+		$current.merge(this_DecimalExp_1);
     }
 
     { 
@@ -2627,120 +2519,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDotDecimalRule()); } 
-	 iv_ruleDotDecimal=ruleDotDecimal 
-	 { $current=$iv_ruleDotDecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-    }
-    this_INT_3=RULE_INT    {
-		$current.merge(this_INT_3);
-    }
-
-    { 
-    newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDecimalDotRule()); } 
-	 iv_ruleDecimalDot=ruleDecimalDot 
-	 { $current=$iv_ruleDecimalDot.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?    this_INT_2=RULE_INT    {
-		$current.merge(this_INT_2);
-    }
-
-    { 
-    newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-    }
-
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp returns [String current=null] 
 	@init { 
@@ -2795,14 +2573,40 @@
     { 
     newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
     }
-    this_EXP_5=RULE_EXP    {
-		$current.merge(this_EXP_5);
+(
+	kw='e' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+    }
+
+    |
+	kw='E' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+    }
+)(
+	kw='+' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+    }
+
+    |
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+    }
+)?(( RULE_INT)=>    this_INT_9=RULE_INT    {
+		$current.merge(this_INT_9);
     }
 
     { 
-    newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+    newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
     }
-)
+))
     ;
 finally {
 	myHiddenTokenState.restore();
@@ -2884,8 +2688,6 @@
 
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.tokens b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.tokens
index a976d77..6cc4996 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.tokens
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.tokens
@@ -1,60 +1,62 @@
-'+'=55
-','=37
-'-'=56
-'.'=38
-'.*'=46
-'/'=17
-':'=39
-'='=32
-'ActorClassConfig'=23
-'ActorInstanceConfig'=24
-'Attr'=31
-'ConfigModel'=13
-'InterfaceItem'=30
-'Port'=29
-'ProtocolClassConfig'=25
-'SubSystemConfig'=16
-'['=47
-']'=48
-'attribute'=42
-'conjugate'=27
-'conjugated'=28
-'dynamic configuration'=18
-'false'=53
-'file path'=19
-'from'=44
-'import'=43
-'mandatory'=41
-'max'=34
-'min'=33
-'model'=45
-'ms'=50
-'ns'=52
-'optional'=40
-'polling interval'=22
-'ptBoolean'=57
-'ptCharacter'=60
-'ptInteger'=58
-'ptReal'=59
-'read'=35
-'regular'=26
-'s'=49
-'true'=54
-'us'=51
-'user constructor'=21
-'user import'=20
-'write'=36
-'{'=14
-'}'=15
-RULE_ANY_OTHER=12
-RULE_EXP=8
+'+'=54
+','=36
+'-'=55
+'.'=37
+'.*'=45
+'/'=16
+':'=38
+'='=31
+'ActorClassConfig'=22
+'ActorInstanceConfig'=23
+'Attr'=30
+'ConfigModel'=12
+'E'=57
+'InterfaceItem'=29
+'Port'=28
+'ProtocolClassConfig'=24
+'SubSystemConfig'=15
+'['=46
+']'=47
+'attribute'=41
+'conjugate'=26
+'conjugated'=27
+'dynamic configuration'=17
+'e'=56
+'false'=52
+'file path'=18
+'from'=43
+'import'=42
+'mandatory'=40
+'max'=33
+'min'=32
+'model'=44
+'ms'=49
+'ns'=51
+'optional'=39
+'polling interval'=21
+'ptBoolean'=58
+'ptCharacter'=61
+'ptInteger'=59
+'ptReal'=60
+'read'=34
+'regular'=25
+'s'=48
+'true'=53
+'us'=50
+'user constructor'=20
+'user import'=19
+'write'=35
+'{'=13
+'}'=14
+RULE_ANY_OTHER=11
 RULE_HEX=7
 RULE_ID=4
 RULE_INT=6
-RULE_ML_COMMENT=9
-RULE_SL_COMMENT=10
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
 RULE_STRING=5
-RULE_WS=11
+RULE_WS=10
+T__12=12
 T__13=13
 T__14=14
 T__15=15
@@ -103,3 +105,4 @@
 T__58=58
 T__59=59
 T__60=60
+T__61=61
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java
index 803e53c..513c713 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigLexer.java
@@ -12,64 +12,65 @@
 
 @SuppressWarnings("all")
 public class InternalConfigLexer extends Lexer {
-    public static final int RULE_EXP=8;
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int T__21=21;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__20=20;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=7;
-    public static final int T__58=58;
+    public static final int T__50=50;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__59=59;
     public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__15=15;
     public static final int T__53=53;
-    public static final int T__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
     public static final int RULE_STRING=5;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -84,10 +85,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:11:7: ( 'ConfigModel' )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:11:9: 'ConfigModel'
@@ -103,6 +104,26 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:12:7: ( '{' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:12:9: '{'
+            {
+            match('{'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -110,10 +131,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:12:7: ( '{' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:12:9: '{'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:13:7: ( '}' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:13:9: '}'
             {
-            match('{'); 
+            match('}'); 
 
             }
 
@@ -130,10 +151,11 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:13:7: ( '}' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:13:9: '}'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:14:7: ( 'SubSystemConfig' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:14:9: 'SubSystemConfig'
             {
-            match('}'); 
+            match("SubSystemConfig"); 
+
 
             }
 
@@ -150,11 +172,10 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:14:7: ( 'SubSystemConfig' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:14:9: 'SubSystemConfig'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:15:7: ( '/' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:15:9: '/'
             {
-            match("SubSystemConfig"); 
-
+            match('/'); 
 
             }
 
@@ -171,10 +192,11 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:15:7: ( '/' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:15:9: '/'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:16:7: ( 'dynamic configuration' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:16:9: 'dynamic configuration'
             {
-            match('/'); 
+            match("dynamic configuration"); 
+
 
             }
 
@@ -191,10 +213,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:16:7: ( 'dynamic configuration' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:16:9: 'dynamic configuration'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:17:7: ( 'file path' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:17:9: 'file path'
             {
-            match("dynamic configuration"); 
+            match("file path"); 
 
 
             }
@@ -212,10 +234,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:17:7: ( 'file path' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:17:9: 'file path'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:18:7: ( 'user import' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:18:9: 'user import'
             {
-            match("file path"); 
+            match("user import"); 
 
 
             }
@@ -233,10 +255,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:18:7: ( 'user import' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:18:9: 'user import'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:19:7: ( 'user constructor' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:19:9: 'user constructor'
             {
-            match("user import"); 
+            match("user constructor"); 
 
 
             }
@@ -254,10 +276,10 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:19:7: ( 'user constructor' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:19:9: 'user constructor'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:20:7: ( 'polling interval' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:20:9: 'polling interval'
             {
-            match("user constructor"); 
+            match("polling interval"); 
 
 
             }
@@ -275,10 +297,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:20:7: ( 'polling interval' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:20:9: 'polling interval'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:21:7: ( 'ActorClassConfig' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:21:9: 'ActorClassConfig'
             {
-            match("polling interval"); 
+            match("ActorClassConfig"); 
 
 
             }
@@ -296,10 +318,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:21:7: ( 'ActorClassConfig' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:21:9: 'ActorClassConfig'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:22:7: ( 'ActorInstanceConfig' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:22:9: 'ActorInstanceConfig'
             {
-            match("ActorClassConfig"); 
+            match("ActorInstanceConfig"); 
 
 
             }
@@ -317,10 +339,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:22:7: ( 'ActorInstanceConfig' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:22:9: 'ActorInstanceConfig'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:23:7: ( 'ProtocolClassConfig' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:23:9: 'ProtocolClassConfig'
             {
-            match("ActorInstanceConfig"); 
+            match("ProtocolClassConfig"); 
 
 
             }
@@ -338,10 +360,10 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:23:7: ( 'ProtocolClassConfig' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:23:9: 'ProtocolClassConfig'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:24:7: ( 'regular' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:24:9: 'regular'
             {
-            match("ProtocolClassConfig"); 
+            match("regular"); 
 
 
             }
@@ -359,10 +381,10 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:24:7: ( 'regular' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:24:9: 'regular'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:25:7: ( 'conjugate' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:25:9: 'conjugate'
             {
-            match("regular"); 
+            match("conjugate"); 
 
 
             }
@@ -380,10 +402,10 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:25:7: ( 'conjugate' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:25:9: 'conjugate'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:26:7: ( 'conjugated' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:26:9: 'conjugated'
             {
-            match("conjugate"); 
+            match("conjugated"); 
 
 
             }
@@ -401,10 +423,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:26:7: ( 'conjugated' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:26:9: 'conjugated'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:27:7: ( 'Port' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:27:9: 'Port'
             {
-            match("conjugated"); 
+            match("Port"); 
 
 
             }
@@ -422,10 +444,10 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:27:7: ( 'Port' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:27:9: 'Port'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:28:7: ( 'InterfaceItem' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:28:9: 'InterfaceItem'
             {
-            match("Port"); 
+            match("InterfaceItem"); 
 
 
             }
@@ -443,10 +465,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:28:7: ( 'InterfaceItem' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:28:9: 'InterfaceItem'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:29:7: ( 'Attr' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:29:9: 'Attr'
             {
-            match("InterfaceItem"); 
+            match("Attr"); 
 
 
             }
@@ -464,11 +486,10 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:29:7: ( 'Attr' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:29:9: 'Attr'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:30:7: ( '=' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:30:9: '='
             {
-            match("Attr"); 
-
+            match('='); 
 
             }
 
@@ -485,10 +506,11 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:30:7: ( '=' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:30:9: '='
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:31:7: ( 'min' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:31:9: 'min'
             {
-            match('='); 
+            match("min"); 
+
 
             }
 
@@ -505,10 +527,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:31:7: ( 'min' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:31:9: 'min'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:32:7: ( 'max' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:32:9: 'max'
             {
-            match("min"); 
+            match("max"); 
 
 
             }
@@ -526,10 +548,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:32:7: ( 'max' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:32:9: 'max'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:33:7: ( 'read' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:33:9: 'read'
             {
-            match("max"); 
+            match("read"); 
 
 
             }
@@ -547,10 +569,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:33:7: ( 'read' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:33:9: 'read'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:34:7: ( 'write' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:34:9: 'write'
             {
-            match("read"); 
+            match("write"); 
 
 
             }
@@ -568,11 +590,10 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:34:7: ( 'write' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:34:9: 'write'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:35:7: ( ',' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:35:9: ','
             {
-            match("write"); 
-
+            match(','); 
 
             }
 
@@ -589,10 +610,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:35:7: ( ',' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:35:9: ','
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:36:7: ( '.' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:36:9: '.'
             {
-            match(','); 
+            match('.'); 
 
             }
 
@@ -609,10 +630,10 @@
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:36:7: ( '.' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:36:9: '.'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:37:7: ( ':' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:37:9: ':'
             {
-            match('.'); 
+            match(':'); 
 
             }
 
@@ -629,10 +650,11 @@
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:37:7: ( ':' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:37:9: ':'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:38:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:38:9: 'optional'
             {
-            match(':'); 
+            match("optional"); 
+
 
             }
 
@@ -649,10 +671,10 @@
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:38:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:38:9: 'optional'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:39:7: ( 'mandatory' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:39:9: 'mandatory'
             {
-            match("optional"); 
+            match("mandatory"); 
 
 
             }
@@ -670,10 +692,10 @@
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:39:7: ( 'mandatory' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:39:9: 'mandatory'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:40:7: ( 'attribute' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:40:9: 'attribute'
             {
-            match("mandatory"); 
+            match("attribute"); 
 
 
             }
@@ -691,10 +713,10 @@
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:40:7: ( 'attribute' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:40:9: 'attribute'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:41:7: ( 'import' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:41:9: 'import'
             {
-            match("attribute"); 
+            match("import"); 
 
 
             }
@@ -712,10 +734,10 @@
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:41:7: ( 'import' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:41:9: 'import'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:42:7: ( 'from' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:42:9: 'from'
             {
-            match("import"); 
+            match("from"); 
 
 
             }
@@ -733,10 +755,10 @@
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:42:7: ( 'from' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:42:9: 'from'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:43:7: ( 'model' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:43:9: 'model'
             {
-            match("from"); 
+            match("model"); 
 
 
             }
@@ -754,10 +776,10 @@
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:43:7: ( 'model' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:43:9: 'model'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:44:7: ( '.*' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:44:9: '.*'
             {
-            match("model"); 
+            match(".*"); 
 
 
             }
@@ -775,11 +797,10 @@
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:44:7: ( '.*' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:44:9: '.*'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:45:7: ( '[' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:45:9: '['
             {
-            match(".*"); 
-
+            match('['); 
 
             }
 
@@ -796,10 +817,10 @@
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:45:7: ( '[' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:45:9: '['
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:46:7: ( ']' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:46:9: ']'
             {
-            match('['); 
+            match(']'); 
 
             }
 
@@ -816,10 +837,10 @@
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:46:7: ( ']' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:46:9: ']'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:47:7: ( 's' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:47:9: 's'
             {
-            match(']'); 
+            match('s'); 
 
             }
 
@@ -836,10 +857,11 @@
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:47:7: ( 's' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:47:9: 's'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:48:7: ( 'ms' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:48:9: 'ms'
             {
-            match('s'); 
+            match("ms"); 
+
 
             }
 
@@ -856,10 +878,10 @@
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:48:7: ( 'ms' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:48:9: 'ms'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:49:7: ( 'us' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:49:9: 'us'
             {
-            match("ms"); 
+            match("us"); 
 
 
             }
@@ -877,10 +899,10 @@
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:49:7: ( 'us' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:49:9: 'us'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:50:7: ( 'ns' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:50:9: 'ns'
             {
-            match("us"); 
+            match("ns"); 
 
 
             }
@@ -898,10 +920,10 @@
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:50:7: ( 'ns' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:50:9: 'ns'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:51:7: ( 'false' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:51:9: 'false'
             {
-            match("ns"); 
+            match("false"); 
 
 
             }
@@ -919,10 +941,10 @@
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:51:7: ( 'false' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:51:9: 'false'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:52:7: ( 'true' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:52:9: 'true'
             {
-            match("false"); 
+            match("true"); 
 
 
             }
@@ -940,11 +962,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:52:7: ( 'true' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:52:9: 'true'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:53:7: ( '+' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:53:9: '+'
             {
-            match("true"); 
-
+            match('+'); 
 
             }
 
@@ -961,10 +982,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:53:7: ( '+' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:53:9: '+'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:54:7: ( '-' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:54:9: '-'
             {
-            match('+'); 
+            match('-'); 
 
             }
 
@@ -981,10 +1002,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:54:7: ( '-' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:54:9: '-'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:55:7: ( 'e' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:55:9: 'e'
             {
-            match('-'); 
+            match('e'); 
 
             }
 
@@ -1001,11 +1022,10 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:55:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:55:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:56:7: ( 'E' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:56:9: 'E'
             {
-            match("ptBoolean"); 
-
+            match('E'); 
 
             }
 
@@ -1022,10 +1042,10 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:56:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:56:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:57:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:57:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -1043,10 +1063,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:57:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:57:9: 'ptReal'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:58:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:58:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -1064,10 +1084,10 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:58:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:58:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:59:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:59:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -1080,42 +1100,74 @@
     }
     // $ANTLR end "T__60"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__61"
+    public final void mT__61() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2887:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2887:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:60:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:60:9: 'ptCharacter'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("ptCharacter"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2887:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__61"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2691:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2691:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2691:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2691:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2691:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -1123,23 +1175,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2887:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2691:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2887:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -1162,109 +1222,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2889:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2889:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2889:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2889:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2889:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2889:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -1272,19 +1229,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2891:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2891:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2693:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2693:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2891:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2693:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2891:11: '^'
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2693:11: '^'
                     {
                     match('^'); 
 
@@ -1302,18 +1259,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2891:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2693:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:
             	    {
@@ -1331,7 +1288,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -1351,24 +1308,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2893:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2893:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2695:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2695:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2893:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2695:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2893:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2695:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -1376,12 +1333,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -1400,47 +1357,47 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2895:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2895:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2697:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2697:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2895:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2697:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2895:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2697:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2895:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2697:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2895:21: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2697:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1448,7 +1405,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2895:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2697:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1464,7 +1421,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -1473,26 +1430,26 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2895:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2697:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2895:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2697:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2895:54: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2697:54: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1500,7 +1457,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2895:61: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2697:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1516,7 +1473,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -1543,37 +1500,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2897:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2897:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2699:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2699:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2897:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2699:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2897:52: .
+            	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2699:52: .
             	    {
             	    matchAny(); 
 
@@ -1581,7 +1538,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -1603,25 +1560,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2899:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2899:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2701:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2701:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2899:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2701:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2899:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2701: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();
@@ -1637,31 +1594,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2899:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2701:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2899:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2701:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2899:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2701:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2899:41: '\\r'
+                            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2701:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1693,22 +1650,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2901:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2901:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2703:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2703:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2901:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2703:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:
             	    {
@@ -1726,12 +1683,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -1750,8 +1707,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2903:16: ( . )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2903:18: .
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2705:16: ( . )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2705:18: .
             {
             matchAny(); 
 
@@ -1766,404 +1723,411 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:8: ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=57;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:8: ( 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 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=58;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:10: T__13
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:148: T__36
+            case 25 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:154: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:154: T__37
+            case 26 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:160: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:160: T__38
+            case 27 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:166: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:166: T__39
+            case 28 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:172: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:172: T__40
+            case 29 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:178: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:178: T__41
+            case 30 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:184: T__41
                 {
                 mT__41(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:184: T__42
+            case 31 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:190: T__42
                 {
                 mT__42(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:190: T__43
+            case 32 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:196: T__43
                 {
                 mT__43(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:196: T__44
+            case 33 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:202: T__44
                 {
                 mT__44(); 
 
                 }
                 break;
-            case 33 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:202: T__45
+            case 34 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:208: T__45
                 {
                 mT__45(); 
 
                 }
                 break;
-            case 34 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:208: T__46
+            case 35 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:214: T__46
                 {
                 mT__46(); 
 
                 }
                 break;
-            case 35 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:214: T__47
+            case 36 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:220: T__47
                 {
                 mT__47(); 
 
                 }
                 break;
-            case 36 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:220: T__48
+            case 37 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:226: T__48
                 {
                 mT__48(); 
 
                 }
                 break;
-            case 37 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:226: T__49
+            case 38 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:232: T__49
                 {
                 mT__49(); 
 
                 }
                 break;
-            case 38 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:232: T__50
+            case 39 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:238: T__50
                 {
                 mT__50(); 
 
                 }
                 break;
-            case 39 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:238: T__51
+            case 40 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:244: T__51
                 {
                 mT__51(); 
 
                 }
                 break;
-            case 40 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:244: T__52
+            case 41 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:250: T__52
                 {
                 mT__52(); 
 
                 }
                 break;
-            case 41 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:250: T__53
+            case 42 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:256: T__53
                 {
                 mT__53(); 
 
                 }
                 break;
-            case 42 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:256: T__54
+            case 43 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:262: T__54
                 {
                 mT__54(); 
 
                 }
                 break;
-            case 43 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:262: T__55
+            case 44 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:268: T__55
                 {
                 mT__55(); 
 
                 }
                 break;
-            case 44 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:268: T__56
+            case 45 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:274: T__56
                 {
                 mT__56(); 
 
                 }
                 break;
-            case 45 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:274: T__57
+            case 46 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:280: T__57
                 {
                 mT__57(); 
 
                 }
                 break;
-            case 46 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:280: T__58
+            case 47 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:286: T__58
                 {
                 mT__58(); 
 
                 }
                 break;
-            case 47 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:286: T__59
+            case 48 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:292: T__59
                 {
                 mT__59(); 
 
                 }
                 break;
-            case 48 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:292: T__60
+            case 49 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:298: T__60
                 {
                 mT__60(); 
 
                 }
                 break;
-            case 49 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:298: RULE_EXP
+            case 50 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:304: T__61
                 {
-                mRULE_EXP(); 
+                mT__61(); 
 
                 }
                 break;
-            case 50 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:307: RULE_HEX
+            case 51 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:310: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 51 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:316: RULE_ID
+            case 52 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:319: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 52 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:324: RULE_INT
+            case 53 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:327: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 53 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:333: RULE_STRING
+            case 54 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:336: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 54 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:345: RULE_ML_COMMENT
+            case 55 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:348: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 55 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:361: RULE_SL_COMMENT
+            case 56 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:364: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 56 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:377: RULE_WS
+            case 57 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:380: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 57 :
-                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:385: RULE_ANY_OTHER
+            case 58 :
+                // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1:388: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -2175,138 +2139,135 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\1\uffff\1\51\2\uffff\1\51\1\57\11\51\1\uffff\2\51\1\uffff\1\106"+
-        "\1\uffff\3\51\2\uffff\1\115\2\51\2\uffff\1\51\1\125\1\47\2\uffff"+
-        "\2\47\2\uffff\1\51\3\uffff\1\51\3\uffff\4\51\1\137\11\51\1\uffff"+
-        "\3\51\1\161\1\51\4\uffff\3\51\3\uffff\1\166\1\51\2\uffff\1\123\5"+
-        "\uffff\7\51\1\uffff\15\51\1\u008c\1\u008d\2\51\1\uffff\4\51\1\uffff"+
-        "\5\51\1\u0099\10\51\1\u00a2\1\51\1\u00a4\1\51\1\u00a6\2\51\2\uffff"+
-        "\6\51\1\u00af\3\51\2\uffff\1\u00b3\1\uffff\6\51\1\uffff\1\51\1\uffff"+
-        "\1\51\1\uffff\3\51\1\u00c2\1\u00c3\3\51\1\uffff\3\51\3\uffff\3\51"+
-        "\1\u00cd\10\51\2\uffff\2\51\1\u00d8\6\51\1\uffff\4\51\1\u00e3\5"+
-        "\51\1\uffff\2\51\2\uffff\6\51\1\uffff\3\51\1\u00f4\3\51\1\u00f8"+
-        "\1\u00f9\4\51\1\u00ff\1\51\1\u0101\1\uffff\1\u0102\2\51\2\uffff"+
-        "\4\51\1\u0109\1\uffff\1\51\2\uffff\1\u010b\1\51\1\u010d\3\51\1\uffff"+
-        "\1\51\1\uffff\1\51\1\uffff\10\51\1\u011b\4\51\1\uffff\1\u0120\3"+
-        "\51\1\uffff\1\u0124\2\51\1\uffff\4\51\1\u012b\1\u012c\2\uffff";
-    static final String DFA16_eofS =
-        "\u012d\uffff";
-    static final String DFA16_minS =
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\1\uffff\1\52\2\uffff\1\52\1\60\11\52\1\uffff\2\52\1\uffff\1\107"+
+        "\1\uffff\3\52\2\uffff\1\116\2\52\2\uffff\1\123\1\124\1\126\1\50"+
+        "\2\uffff\2\50\2\uffff\1\52\3\uffff\1\52\3\uffff\4\52\1\140\11\52"+
+        "\1\uffff\3\52\1\162\1\52\4\uffff\3\52\3\uffff\1\167\1\52\10\uffff"+
+        "\7\52\1\uffff\15\52\1\u008d\1\u008e\2\52\1\uffff\4\52\1\uffff\5"+
+        "\52\1\u009a\10\52\1\u00a3\1\52\1\u00a5\1\52\1\u00a7\2\52\2\uffff"+
+        "\6\52\1\u00b0\3\52\2\uffff\1\u00b4\1\uffff\6\52\1\uffff\1\52\1\uffff"+
+        "\1\52\1\uffff\3\52\1\u00c3\1\u00c4\3\52\1\uffff\3\52\3\uffff\3\52"+
+        "\1\u00ce\10\52\2\uffff\2\52\1\u00d9\6\52\1\uffff\4\52\1\u00e4\5"+
+        "\52\1\uffff\2\52\2\uffff\6\52\1\uffff\3\52\1\u00f5\3\52\1\u00f9"+
+        "\1\u00fa\4\52\1\u0100\1\52\1\u0102\1\uffff\1\u0103\2\52\2\uffff"+
+        "\4\52\1\u010a\1\uffff\1\52\2\uffff\1\u010c\1\52\1\u010e\3\52\1\uffff"+
+        "\1\52\1\uffff\1\52\1\uffff\10\52\1\u011c\4\52\1\uffff\1\u0121\3"+
+        "\52\1\uffff\1\u0125\2\52\1\uffff\4\52\1\u012c\1\u012d\2\uffff";
+    static final String DFA14_eofS =
+        "\u012e\uffff";
+    static final String DFA14_minS =
         "\1\0\1\157\2\uffff\1\165\1\52\1\171\1\141\1\163\1\157\1\143\1\157"+
         "\1\145\1\157\1\156\1\uffff\1\141\1\162\1\uffff\1\52\1\uffff\1\160"+
-        "\1\164\1\155\2\uffff\1\60\1\163\1\162\2\uffff\1\53\1\130\1\101\2"+
+        "\1\164\1\155\2\uffff\1\60\1\163\1\162\2\uffff\2\60\1\130\1\101\2"+
         "\uffff\2\0\2\uffff\1\156\3\uffff\1\142\3\uffff\1\156\1\154\1\157"+
         "\1\154\1\60\1\154\1\102\2\164\1\157\1\162\1\141\1\156\1\164\1\uffff"+
-        "\2\156\1\144\1\60\1\151\4\uffff\2\164\1\160\3\uffff\1\60\1\165\2"+
-        "\uffff\1\60\5\uffff\1\146\1\123\1\141\1\145\1\155\1\163\1\162\1"+
-        "\uffff\1\154\1\157\1\156\1\145\1\150\1\157\1\162\2\164\1\165\1\144"+
-        "\1\152\1\145\2\60\1\144\1\145\1\uffff\1\164\1\151\1\162\1\157\1"+
-        "\uffff\1\145\1\151\1\171\1\155\1\40\1\60\1\145\1\40\1\151\1\157"+
-        "\1\164\2\141\1\162\1\60\1\157\1\60\1\154\1\60\1\165\1\162\2\uffff"+
-        "\1\141\1\154\1\145\1\157\1\151\1\162\1\60\1\147\1\163\1\151\2\uffff"+
-        "\1\60\1\143\1\156\1\154\1\145\1\154\1\162\1\103\1\uffff\1\143\1"+
-        "\uffff\1\141\1\uffff\1\147\1\146\1\164\2\60\1\156\1\142\1\164\1"+
-        "\uffff\1\115\1\164\1\143\3\uffff\1\147\1\145\1\147\1\60\1\141\1"+
-        "\154\1\156\1\157\1\162\2\141\1\157\2\uffff\1\141\1\165\1\60\1\157"+
-        "\1\145\2\40\1\141\1\145\1\uffff\1\143\1\141\1\163\1\154\1\60\1\164"+
-        "\1\143\1\162\1\154\1\164\1\uffff\1\144\1\155\2\uffff\1\156\1\162"+
-        "\1\164\1\163\1\164\1\103\1\uffff\2\145\1\171\1\60\2\145\1\103\2"+
-        "\60\1\145\1\163\1\141\1\154\1\60\1\111\1\60\1\uffff\1\60\1\154\1"+
-        "\157\2\uffff\1\162\1\103\1\156\1\141\1\60\1\uffff\1\164\2\uffff"+
-        "\1\60\1\156\1\60\1\157\1\143\1\163\1\uffff\1\145\1\uffff\1\146\1"+
-        "\uffff\1\156\1\145\1\163\1\155\1\151\1\146\2\103\1\60\1\147\1\151"+
-        "\2\157\1\uffff\1\60\1\147\2\156\1\uffff\1\60\2\146\1\uffff\2\151"+
-        "\2\147\2\60\2\uffff";
-    static final String DFA16_maxS =
+        "\2\156\1\144\1\60\1\151\4\uffff\2\164\1\160\3\uffff\1\60\1\165\10"+
+        "\uffff\1\146\1\123\1\141\1\145\1\155\1\163\1\162\1\uffff\1\154\1"+
+        "\157\1\156\1\145\1\150\1\157\1\162\2\164\1\165\1\144\1\152\1\145"+
+        "\2\60\1\144\1\145\1\uffff\1\164\1\151\1\162\1\157\1\uffff\1\145"+
+        "\1\151\1\171\1\155\1\40\1\60\1\145\1\40\1\151\1\157\1\164\2\141"+
+        "\1\162\1\60\1\157\1\60\1\154\1\60\1\165\1\162\2\uffff\1\141\1\154"+
+        "\1\145\1\157\1\151\1\162\1\60\1\147\1\163\1\151\2\uffff\1\60\1\143"+
+        "\1\156\1\154\1\145\1\154\1\162\1\103\1\uffff\1\143\1\uffff\1\141"+
+        "\1\uffff\1\147\1\146\1\164\2\60\1\156\1\142\1\164\1\uffff\1\115"+
+        "\1\164\1\143\3\uffff\1\147\1\145\1\147\1\60\1\141\1\154\1\156\1"+
+        "\157\1\162\2\141\1\157\2\uffff\1\141\1\165\1\60\1\157\1\145\2\40"+
+        "\1\141\1\145\1\uffff\1\143\1\141\1\163\1\154\1\60\1\164\1\143\1"+
+        "\162\1\154\1\164\1\uffff\1\144\1\155\2\uffff\1\156\1\162\1\164\1"+
+        "\163\1\164\1\103\1\uffff\2\145\1\171\1\60\2\145\1\103\2\60\1\145"+
+        "\1\163\1\141\1\154\1\60\1\111\1\60\1\uffff\1\60\1\154\1\157\2\uffff"+
+        "\1\162\1\103\1\156\1\141\1\60\1\uffff\1\164\2\uffff\1\60\1\156\1"+
+        "\60\1\157\1\143\1\163\1\uffff\1\145\1\uffff\1\146\1\uffff\1\156"+
+        "\1\145\1\163\1\155\1\151\1\146\2\103\1\60\1\147\1\151\2\157\1\uffff"+
+        "\1\60\1\147\2\156\1\uffff\1\60\2\146\1\uffff\2\151\2\147\2\60\2"+
+        "\uffff";
+    static final String DFA14_maxS =
         "\1\uffff\1\157\2\uffff\1\165\1\57\1\171\1\162\1\163\2\164\1\162"+
         "\1\145\1\157\1\156\1\uffff\1\163\1\162\1\uffff\1\52\1\uffff\1\160"+
-        "\1\164\1\155\2\uffff\1\172\1\163\1\162\2\uffff\1\71\1\170\1\172"+
+        "\1\164\1\155\2\uffff\1\172\1\163\1\162\2\uffff\2\172\1\170\1\172"+
         "\2\uffff\2\uffff\2\uffff\1\156\3\uffff\1\142\3\uffff\1\156\1\154"+
         "\1\157\1\154\1\172\1\154\1\122\2\164\1\157\1\162\1\147\1\156\1\164"+
         "\1\uffff\1\156\1\170\1\144\1\172\1\151\4\uffff\2\164\1\160\3\uffff"+
-        "\1\172\1\165\2\uffff\1\172\5\uffff\1\146\1\123\1\141\1\145\1\155"+
-        "\1\163\1\162\1\uffff\1\154\1\157\1\156\1\145\1\150\1\157\1\162\2"+
-        "\164\1\165\1\144\1\152\1\145\2\172\1\144\1\145\1\uffff\1\164\1\151"+
-        "\1\162\1\157\1\uffff\1\145\1\151\1\171\1\155\1\40\1\172\1\145\1"+
-        "\40\1\151\1\157\1\164\2\141\1\162\1\172\1\157\1\172\1\154\1\172"+
-        "\1\165\1\162\2\uffff\1\141\1\154\1\145\1\157\1\151\1\162\1\172\1"+
-        "\147\1\163\1\151\2\uffff\1\172\1\151\1\156\1\154\1\145\1\154\1\162"+
-        "\1\111\1\uffff\1\143\1\uffff\1\141\1\uffff\1\147\1\146\1\164\2\172"+
-        "\1\156\1\142\1\164\1\uffff\1\115\1\164\1\143\3\uffff\1\147\1\145"+
-        "\1\147\1\172\1\141\1\154\1\156\1\157\1\162\2\141\1\157\2\uffff\1"+
-        "\141\1\165\1\172\1\157\1\145\2\40\1\141\1\145\1\uffff\1\143\1\141"+
-        "\1\163\1\154\1\172\1\164\1\143\1\162\1\154\1\164\1\uffff\1\144\1"+
-        "\155\2\uffff\1\156\1\162\1\164\1\163\1\164\1\103\1\uffff\2\145\1"+
-        "\171\1\172\2\145\1\103\2\172\1\145\1\163\1\141\1\154\1\172\1\111"+
-        "\1\172\1\uffff\1\172\1\154\1\157\2\uffff\1\162\1\103\1\156\1\141"+
-        "\1\172\1\uffff\1\164\2\uffff\1\172\1\156\1\172\1\157\1\143\1\163"+
-        "\1\uffff\1\145\1\uffff\1\146\1\uffff\1\156\1\145\1\163\1\155\1\151"+
-        "\1\146\2\103\1\172\1\147\1\151\2\157\1\uffff\1\172\1\147\2\156\1"+
-        "\uffff\1\172\2\146\1\uffff\2\151\2\147\2\172\2\uffff";
-    static final String DFA16_acceptS =
+        "\1\172\1\165\10\uffff\1\146\1\123\1\141\1\145\1\155\1\163\1\162"+
+        "\1\uffff\1\154\1\157\1\156\1\145\1\150\1\157\1\162\2\164\1\165\1"+
+        "\144\1\152\1\145\2\172\1\144\1\145\1\uffff\1\164\1\151\1\162\1\157"+
+        "\1\uffff\1\145\1\151\1\171\1\155\1\40\1\172\1\145\1\40\1\151\1\157"+
+        "\1\164\2\141\1\162\1\172\1\157\1\172\1\154\1\172\1\165\1\162\2\uffff"+
+        "\1\141\1\154\1\145\1\157\1\151\1\162\1\172\1\147\1\163\1\151\2\uffff"+
+        "\1\172\1\151\1\156\1\154\1\145\1\154\1\162\1\111\1\uffff\1\143\1"+
+        "\uffff\1\141\1\uffff\1\147\1\146\1\164\2\172\1\156\1\142\1\164\1"+
+        "\uffff\1\115\1\164\1\143\3\uffff\1\147\1\145\1\147\1\172\1\141\1"+
+        "\154\1\156\1\157\1\162\2\141\1\157\2\uffff\1\141\1\165\1\172\1\157"+
+        "\1\145\2\40\1\141\1\145\1\uffff\1\143\1\141\1\163\1\154\1\172\1"+
+        "\164\1\143\1\162\1\154\1\164\1\uffff\1\144\1\155\2\uffff\1\156\1"+
+        "\162\1\164\1\163\1\164\1\103\1\uffff\2\145\1\171\1\172\2\145\1\103"+
+        "\2\172\1\145\1\163\1\141\1\154\1\172\1\111\1\172\1\uffff\1\172\1"+
+        "\154\1\157\2\uffff\1\162\1\103\1\156\1\141\1\172\1\uffff\1\164\2"+
+        "\uffff\1\172\1\156\1\172\1\157\1\143\1\163\1\uffff\1\145\1\uffff"+
+        "\1\146\1\uffff\1\156\1\145\1\163\1\155\1\151\1\146\2\103\1\172\1"+
+        "\147\1\151\2\157\1\uffff\1\172\1\147\2\156\1\uffff\1\172\2\146\1"+
+        "\uffff\2\151\2\147\2\172\2\uffff";
+    static final String DFA14_acceptS =
         "\2\uffff\1\2\1\3\13\uffff\1\24\2\uffff\1\31\1\uffff\1\33\3\uffff"+
-        "\1\43\1\44\3\uffff\1\53\1\54\3\uffff\1\63\1\64\2\uffff\1\70\1\71"+
-        "\1\uffff\1\63\1\2\1\3\1\uffff\1\66\1\67\1\5\16\uffff\1\24\5\uffff"+
+        "\1\43\1\44\3\uffff\1\53\1\54\4\uffff\1\64\1\65\2\uffff\1\71\1\72"+
+        "\1\uffff\1\64\1\2\1\3\1\uffff\1\67\1\70\1\5\16\uffff\1\24\5\uffff"+
         "\1\31\1\42\1\32\1\33\3\uffff\1\43\1\44\1\45\2\uffff\1\53\1\54\1"+
-        "\uffff\1\61\1\62\1\64\1\65\1\70\7\uffff\1\47\21\uffff\1\46\4\uffff"+
+        "\55\1\56\1\63\1\65\1\66\1\71\7\uffff\1\47\21\uffff\1\46\4\uffff"+
         "\1\50\25\uffff\1\25\1\26\12\uffff\1\7\1\40\10\uffff\1\23\1\uffff"+
         "\1\21\1\uffff\1\27\10\uffff\1\52\3\uffff\1\51\1\10\1\11\14\uffff"+
-        "\1\41\1\30\11\uffff\1\57\12\uffff\1\37\2\uffff\1\6\1\12\6\uffff"+
-        "\1\16\20\uffff\1\34\3\uffff\1\55\1\56\5\uffff\1\17\1\uffff\1\35"+
-        "\1\36\6\uffff\1\20\1\uffff\1\1\1\uffff\1\60\15\uffff\1\22\4\uffff"+
+        "\1\41\1\30\11\uffff\1\61\12\uffff\1\37\2\uffff\1\6\1\12\6\uffff"+
+        "\1\16\20\uffff\1\34\3\uffff\1\57\1\60\5\uffff\1\17\1\uffff\1\35"+
+        "\1\36\6\uffff\1\20\1\uffff\1\1\1\uffff\1\62\15\uffff\1\22\4\uffff"+
         "\1\4\3\uffff\1\13\6\uffff\1\14\1\15";
-    static final String DFA16_specialS =
-        "\1\0\43\uffff\1\2\1\1\u0107\uffff}>";
-    static final String[] DFA16_transitionS = {
-            "\11\47\2\46\2\47\1\46\22\47\1\46\1\47\1\44\4\47\1\45\3\47\1"+
-            "\35\1\22\1\36\1\23\1\5\1\40\11\43\1\24\2\47\1\17\3\47\1\12\1"+
-            "\42\1\1\1\42\1\37\3\42\1\16\6\42\1\13\2\42\1\4\7\42\1\30\1\47"+
-            "\1\31\1\41\1\42\1\47\1\26\1\42\1\15\1\6\1\37\1\7\2\42\1\27\3"+
-            "\42\1\20\1\33\1\25\1\11\1\42\1\14\1\32\1\34\1\10\1\42\1\21\3"+
-            "\42\1\2\1\47\1\3\uff82\47",
-            "\1\50",
+    static final String DFA14_specialS =
+        "\1\2\44\uffff\1\0\1\1\u0107\uffff}>";
+    static final String[] DFA14_transitionS = {
+            "\11\50\2\47\2\50\1\47\22\50\1\47\1\50\1\45\4\50\1\46\3\50\1"+
+            "\35\1\22\1\36\1\23\1\5\1\41\11\44\1\24\2\50\1\17\3\50\1\12\1"+
+            "\43\1\1\1\43\1\40\3\43\1\16\6\43\1\13\2\43\1\4\7\43\1\30\1\50"+
+            "\1\31\1\42\1\43\1\50\1\26\1\43\1\15\1\6\1\37\1\7\2\43\1\27\3"+
+            "\43\1\20\1\33\1\25\1\11\1\43\1\14\1\32\1\34\1\10\1\43\1\21\3"+
+            "\43\1\2\1\50\1\3\uff82\50",
+            "\1\51",
             "",
             "",
-            "\1\54",
-            "\1\55\4\uffff\1\56",
-            "\1\60",
-            "\1\63\7\uffff\1\61\10\uffff\1\62",
-            "\1\64",
-            "\1\65\4\uffff\1\66",
-            "\1\67\20\uffff\1\70",
-            "\1\72\2\uffff\1\71",
-            "\1\73",
+            "\1\55",
+            "\1\56\4\uffff\1\57",
+            "\1\61",
+            "\1\64\7\uffff\1\62\10\uffff\1\63",
+            "\1\65",
+            "\1\66\4\uffff\1\67",
+            "\1\70\20\uffff\1\71",
+            "\1\73\2\uffff\1\72",
             "\1\74",
             "\1\75",
+            "\1\76",
             "",
-            "\1\100\7\uffff\1\77\5\uffff\1\101\3\uffff\1\102",
-            "\1\103",
+            "\1\101\7\uffff\1\100\5\uffff\1\102\3\uffff\1\103",
+            "\1\104",
             "",
-            "\1\105",
+            "\1\106",
             "",
-            "\1\110",
             "\1\111",
             "\1\112",
+            "\1\113",
             "",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\116",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\117",
+            "\1\120",
             "",
             "",
-            "\1\123\1\uffff\1\123\2\uffff\12\122",
-            "\1\124\37\uffff\1\124",
-            "\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\125\37\uffff\1\125",
+            "\32\52\4\uffff\1\52\1\uffff\32\52",
             "",
             "",
-            "\0\126",
-            "\0\126",
-            "",
-            "",
-            "\1\130",
-            "",
+            "\0\127",
+            "\0\127",
             "",
             "",
             "\1\131",
@@ -2314,54 +2275,57 @@
             "",
             "",
             "\1\132",
+            "",
+            "",
+            "",
             "\1\133",
             "\1\134",
             "\1\135",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\4\51\1\136\25\51",
-            "\1\140",
-            "\1\141\1\144\5\uffff\1\142\10\uffff\1\143",
-            "\1\145",
+            "\1\136",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\4\52\1\137\25\52",
+            "\1\141",
+            "\1\142\1\145\5\uffff\1\143\10\uffff\1\144",
             "\1\146",
             "\1\147",
             "\1\150",
-            "\1\152\5\uffff\1\151",
-            "\1\153",
+            "\1\151",
+            "\1\153\5\uffff\1\152",
             "\1\154",
-            "",
             "\1\155",
-            "\1\157\11\uffff\1\156",
-            "\1\160",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\162",
             "",
-            "",
-            "",
-            "",
+            "\1\156",
+            "\1\160\11\uffff\1\157",
+            "\1\161",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\163",
+            "",
+            "",
+            "",
+            "",
             "\1\164",
             "\1\165",
+            "\1\166",
             "",
             "",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\167",
-            "",
-            "",
-            "\12\122\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "",
-            "",
-            "",
-            "",
-            "",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\170",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\171",
             "\1\172",
             "\1\173",
             "\1\174",
             "\1\175",
             "\1\176",
-            "",
             "\1\177",
+            "",
             "\1\u0080",
             "\1\u0081",
             "\1\u0082",
@@ -2374,23 +2338,23 @@
             "\1\u0089",
             "\1\u008a",
             "\1\u008b",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u008e",
+            "\1\u008c",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u008f",
-            "",
             "\1\u0090",
+            "",
             "\1\u0091",
             "\1\u0092",
             "\1\u0093",
-            "",
             "\1\u0094",
+            "",
             "\1\u0095",
             "\1\u0096",
             "\1\u0097",
             "\1\u0098",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u009a",
+            "\1\u0099",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u009b",
             "\1\u009c",
             "\1\u009d",
@@ -2398,60 +2362,60 @@
             "\1\u009f",
             "\1\u00a0",
             "\1\u00a1",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00a3",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00a5",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00a7",
+            "\1\u00a2",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\u00a4",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\u00a6",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00a8",
-            "",
-            "",
             "\1\u00a9",
+            "",
+            "",
             "\1\u00aa",
             "\1\u00ab",
             "\1\u00ac",
             "\1\u00ad",
             "\1\u00ae",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00b0",
+            "\1\u00af",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00b1",
             "\1\u00b2",
+            "\1\u00b3",
             "",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00b5\5\uffff\1\u00b4",
-            "\1\u00b6",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\u00b6\5\uffff\1\u00b5",
             "\1\u00b7",
             "\1\u00b8",
             "\1\u00b9",
             "\1\u00ba",
-            "\1\u00bb\5\uffff\1\u00bc",
-            "",
-            "\1\u00bd",
+            "\1\u00bb",
+            "\1\u00bc\5\uffff\1\u00bd",
             "",
             "\1\u00be",
             "",
             "\1\u00bf",
+            "",
             "\1\u00c0",
             "\1\u00c1",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00c4",
+            "\1\u00c2",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00c5",
             "\1\u00c6",
-            "",
             "\1\u00c7",
+            "",
             "\1\u00c8",
             "\1\u00c9",
-            "",
-            "",
-            "",
             "\1\u00ca",
+            "",
+            "",
+            "",
             "\1\u00cb",
             "\1\u00cc",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00ce",
+            "\1\u00cd",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00cf",
             "\1\u00d0",
             "\1\u00d1",
@@ -2459,84 +2423,84 @@
             "\1\u00d3",
             "\1\u00d4",
             "\1\u00d5",
-            "",
-            "",
             "\1\u00d6",
+            "",
+            "",
             "\1\u00d7",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00d9",
+            "\1\u00d8",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00da",
             "\1\u00db",
             "\1\u00dc",
             "\1\u00dd",
             "\1\u00de",
-            "",
             "\1\u00df",
+            "",
             "\1\u00e0",
             "\1\u00e1",
             "\1\u00e2",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00e4",
+            "\1\u00e3",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00e5",
             "\1\u00e6",
             "\1\u00e7",
             "\1\u00e8",
-            "",
             "\1\u00e9",
+            "",
             "\1\u00ea",
-            "",
-            "",
             "\1\u00eb",
+            "",
+            "",
             "\1\u00ec",
             "\1\u00ed",
             "\1\u00ee",
             "\1\u00ef",
             "\1\u00f0",
-            "",
             "\1\u00f1",
+            "",
             "\1\u00f2",
             "\1\u00f3",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00f5",
+            "\1\u00f4",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00f6",
             "\1\u00f7",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u00fa",
+            "\1\u00f8",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u00fb",
             "\1\u00fc",
             "\1\u00fd",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\3\51\1\u00fe\26"+
-            "\51",
-            "\1\u0100",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u00fe",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\3\52\1\u00ff\26"+
+            "\52",
+            "\1\u0101",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u0103",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u0104",
-            "",
-            "",
             "\1\u0105",
+            "",
+            "",
             "\1\u0106",
             "\1\u0107",
             "\1\u0108",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u0109",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "",
-            "\1\u010a",
+            "\1\u010b",
             "",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u010c",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u010e",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\1\u010d",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u010f",
             "\1\u0110",
-            "",
             "\1\u0111",
             "",
             "\1\u0112",
             "",
             "\1\u0113",
+            "",
             "\1\u0114",
             "\1\u0115",
             "\1\u0116",
@@ -2544,174 +2508,177 @@
             "\1\u0118",
             "\1\u0119",
             "\1\u011a",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u011c",
+            "\1\u011b",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u011d",
             "\1\u011e",
             "\1\u011f",
+            "\1\u0120",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u0121",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u0122",
             "\1\u0123",
+            "\1\u0124",
             "",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\1\u0125",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "\1\u0126",
-            "",
             "\1\u0127",
+            "",
             "\1\u0128",
             "\1\u0129",
             "\1\u012a",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
-            "\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+            "\1\u012b",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
+            "\12\52\7\uffff\32\52\4\uffff\1\52\1\uffff\32\52",
             "",
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( 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 | RULE_HEX | 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 LA16_0 = input.LA(1);
+                        int LA14_37 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='C') ) {s = 1;}
+                        if ( ((LA14_37>='\u0000' && LA14_37<='\uFFFF')) ) {s = 87;}
 
-                        else if ( (LA16_0=='{') ) {s = 2;}
-
-                        else if ( (LA16_0=='}') ) {s = 3;}
-
-                        else if ( (LA16_0=='S') ) {s = 4;}
-
-                        else if ( (LA16_0=='/') ) {s = 5;}
-
-                        else if ( (LA16_0=='d') ) {s = 6;}
-
-                        else if ( (LA16_0=='f') ) {s = 7;}
-
-                        else if ( (LA16_0=='u') ) {s = 8;}
-
-                        else if ( (LA16_0=='p') ) {s = 9;}
-
-                        else if ( (LA16_0=='A') ) {s = 10;}
-
-                        else if ( (LA16_0=='P') ) {s = 11;}
-
-                        else if ( (LA16_0=='r') ) {s = 12;}
-
-                        else if ( (LA16_0=='c') ) {s = 13;}
-
-                        else if ( (LA16_0=='I') ) {s = 14;}
-
-                        else if ( (LA16_0=='=') ) {s = 15;}
-
-                        else if ( (LA16_0=='m') ) {s = 16;}
-
-                        else if ( (LA16_0=='w') ) {s = 17;}
-
-                        else if ( (LA16_0==',') ) {s = 18;}
-
-                        else if ( (LA16_0=='.') ) {s = 19;}
-
-                        else if ( (LA16_0==':') ) {s = 20;}
-
-                        else if ( (LA16_0=='o') ) {s = 21;}
-
-                        else if ( (LA16_0=='a') ) {s = 22;}
-
-                        else if ( (LA16_0=='i') ) {s = 23;}
-
-                        else if ( (LA16_0=='[') ) {s = 24;}
-
-                        else if ( (LA16_0==']') ) {s = 25;}
-
-                        else if ( (LA16_0=='s') ) {s = 26;}
-
-                        else if ( (LA16_0=='n') ) {s = 27;}
-
-                        else if ( (LA16_0=='t') ) {s = 28;}
-
-                        else if ( (LA16_0=='+') ) {s = 29;}
-
-                        else if ( (LA16_0=='-') ) {s = 30;}
-
-                        else if ( (LA16_0=='E'||LA16_0=='e') ) {s = 31;}
-
-                        else if ( (LA16_0=='0') ) {s = 32;}
-
-                        else if ( (LA16_0=='^') ) {s = 33;}
-
-                        else if ( (LA16_0=='B'||LA16_0=='D'||(LA16_0>='F' && LA16_0<='H')||(LA16_0>='J' && LA16_0<='O')||(LA16_0>='Q' && LA16_0<='R')||(LA16_0>='T' && LA16_0<='Z')||LA16_0=='_'||LA16_0=='b'||(LA16_0>='g' && LA16_0<='h')||(LA16_0>='j' && LA16_0<='l')||LA16_0=='q'||LA16_0=='v'||(LA16_0>='x' && LA16_0<='z')) ) {s = 34;}
-
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 35;}
-
-                        else if ( (LA16_0=='\"') ) {s = 36;}
-
-                        else if ( (LA16_0=='\'') ) {s = 37;}
-
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 38;}
-
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||(LA16_0>='(' && LA16_0<='*')||(LA16_0>=';' && LA16_0<='<')||(LA16_0>='>' && LA16_0<='@')||LA16_0=='\\'||LA16_0=='`'||LA16_0=='|'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 39;}
+                        else s = 40;
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_37 = input.LA(1);
+                        int LA14_38 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_37>='\u0000' && LA16_37<='\uFFFF')) ) {s = 86;}
+                        if ( ((LA14_38>='\u0000' && LA14_38<='\uFFFF')) ) {s = 87;}
 
-                        else s = 39;
+                        else s = 40;
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA16_36 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_36>='\u0000' && LA16_36<='\uFFFF')) ) {s = 86;}
+                        if ( (LA14_0=='C') ) {s = 1;}
 
-                        else s = 39;
+                        else if ( (LA14_0=='{') ) {s = 2;}
+
+                        else if ( (LA14_0=='}') ) {s = 3;}
+
+                        else if ( (LA14_0=='S') ) {s = 4;}
+
+                        else if ( (LA14_0=='/') ) {s = 5;}
+
+                        else if ( (LA14_0=='d') ) {s = 6;}
+
+                        else if ( (LA14_0=='f') ) {s = 7;}
+
+                        else if ( (LA14_0=='u') ) {s = 8;}
+
+                        else if ( (LA14_0=='p') ) {s = 9;}
+
+                        else if ( (LA14_0=='A') ) {s = 10;}
+
+                        else if ( (LA14_0=='P') ) {s = 11;}
+
+                        else if ( (LA14_0=='r') ) {s = 12;}
+
+                        else if ( (LA14_0=='c') ) {s = 13;}
+
+                        else if ( (LA14_0=='I') ) {s = 14;}
+
+                        else if ( (LA14_0=='=') ) {s = 15;}
+
+                        else if ( (LA14_0=='m') ) {s = 16;}
+
+                        else if ( (LA14_0=='w') ) {s = 17;}
+
+                        else if ( (LA14_0==',') ) {s = 18;}
+
+                        else if ( (LA14_0=='.') ) {s = 19;}
+
+                        else if ( (LA14_0==':') ) {s = 20;}
+
+                        else if ( (LA14_0=='o') ) {s = 21;}
+
+                        else if ( (LA14_0=='a') ) {s = 22;}
+
+                        else if ( (LA14_0=='i') ) {s = 23;}
+
+                        else if ( (LA14_0=='[') ) {s = 24;}
+
+                        else if ( (LA14_0==']') ) {s = 25;}
+
+                        else if ( (LA14_0=='s') ) {s = 26;}
+
+                        else if ( (LA14_0=='n') ) {s = 27;}
+
+                        else if ( (LA14_0=='t') ) {s = 28;}
+
+                        else if ( (LA14_0=='+') ) {s = 29;}
+
+                        else if ( (LA14_0=='-') ) {s = 30;}
+
+                        else if ( (LA14_0=='e') ) {s = 31;}
+
+                        else if ( (LA14_0=='E') ) {s = 32;}
+
+                        else if ( (LA14_0=='0') ) {s = 33;}
+
+                        else if ( (LA14_0=='^') ) {s = 34;}
+
+                        else if ( (LA14_0=='B'||LA14_0=='D'||(LA14_0>='F' && LA14_0<='H')||(LA14_0>='J' && LA14_0<='O')||(LA14_0>='Q' && LA14_0<='R')||(LA14_0>='T' && LA14_0<='Z')||LA14_0=='_'||LA14_0=='b'||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='l')||LA14_0=='q'||LA14_0=='v'||(LA14_0>='x' && LA14_0<='z')) ) {s = 35;}
+
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 36;}
+
+                        else if ( (LA14_0=='\"') ) {s = 37;}
+
+                        else if ( (LA14_0=='\'') ) {s = 38;}
+
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 39;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||(LA14_0>='(' && LA14_0<='*')||(LA14_0>=';' && LA14_0<='<')||(LA14_0>='>' && LA14_0<='@')||LA14_0=='\\'||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 40;}
 
                         if ( s>=0 ) return s;
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java
index f858af8..678a7f8 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfigParser.java
@@ -18,70 +18,72 @@
 import java.util.Stack;
 import java.util.List;
 import java.util.ArrayList;
-
+import java.util.Map;
+import java.util.HashMap;
 @SuppressWarnings("all")
 public class InternalConfigParser extends AbstractInternalAntlrParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_EXP", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'ConfigModel'", "'{'", "'}'", "'SubSystemConfig'", "'/'", "'dynamic configuration'", "'file path'", "'user import'", "'user constructor'", "'polling interval'", "'ActorClassConfig'", "'ActorInstanceConfig'", "'ProtocolClassConfig'", "'regular'", "'conjugate'", "'conjugated'", "'Port'", "'InterfaceItem'", "'Attr'", "'='", "'min'", "'max'", "'read'", "'write'", "','", "'.'", "':'", "'optional'", "'mandatory'", "'attribute'", "'import'", "'from'", "'model'", "'.*'", "'['", "']'", "'s'", "'ms'", "'us'", "'ns'", "'false'", "'true'", "'+'", "'-'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'ConfigModel'", "'{'", "'}'", "'SubSystemConfig'", "'/'", "'dynamic configuration'", "'file path'", "'user import'", "'user constructor'", "'polling interval'", "'ActorClassConfig'", "'ActorInstanceConfig'", "'ProtocolClassConfig'", "'regular'", "'conjugate'", "'conjugated'", "'Port'", "'InterfaceItem'", "'Attr'", "'='", "'min'", "'max'", "'read'", "'write'", "','", "'.'", "':'", "'optional'", "'mandatory'", "'attribute'", "'import'", "'from'", "'model'", "'.*'", "'['", "']'", "'s'", "'ms'", "'us'", "'ns'", "'false'", "'true'", "'+'", "'-'", "'e'", "'E'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
     };
-    public static final int RULE_EXP=8;
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=7;
-    public static final int T__58=58;
+    public static final int T__50=50;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__59=59;
     public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__15=15;
     public static final int T__53=53;
-    public static final int T__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__31=31;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
     public static final int RULE_STRING=5;
-    public static final int T__32=32;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -133,14 +135,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:69:2: (iv_ruleConfigModel= ruleConfigModel EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:70:2: iv_ruleConfigModel= ruleConfigModel EOF
             {
-             newCompositeNode(grammarAccess.getConfigModelRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getConfigModelRule()); 
+            }
             pushFollow(FOLLOW_ruleConfigModel_in_entryRuleConfigModel75);
             iv_ruleConfigModel=ruleConfigModel();
 
             state._fsp--;
-
-             current =iv_ruleConfigModel; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigModel85); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleConfigModel; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigModel85); if (state.failed) return current;
 
             }
 
@@ -181,52 +187,60 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:81:1: (otherlv_0= 'ConfigModel' ( (lv_name_1_0= ruleFQN ) ) otherlv_2= '{' ( (lv_imports_3_0= ruleImport ) )* ( (lv_configElements_4_0= ruleConfigElement ) )* otherlv_5= '}' )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:81:3: otherlv_0= 'ConfigModel' ( (lv_name_1_0= ruleFQN ) ) otherlv_2= '{' ( (lv_imports_3_0= ruleImport ) )* ( (lv_configElements_4_0= ruleConfigElement ) )* otherlv_5= '}'
             {
-            otherlv_0=(Token)match(input,13,FOLLOW_13_in_ruleConfigModel122); 
+            otherlv_0=(Token)match(input,12,FOLLOW_12_in_ruleConfigModel122); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getConfigModelAccess().getConfigModelKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getConfigModelAccess().getConfigModelKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:85:1: ( (lv_name_1_0= ruleFQN ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:86:1: (lv_name_1_0= ruleFQN )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:86:1: (lv_name_1_0= ruleFQN )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:87:3: lv_name_1_0= ruleFQN
             {
-             
-            	        newCompositeNode(grammarAccess.getConfigModelAccess().getNameFQNParserRuleCall_1_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getConfigModelAccess().getNameFQNParserRuleCall_1_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleFQN_in_ruleConfigModel143);
             lv_name_1_0=ruleFQN();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getConfigModelRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"FQN");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getConfigModelRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"FQN");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleConfigModel155); 
+            otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleConfigModel155); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getConfigModelAccess().getLeftCurlyBracketKeyword_2());
-                
+                  	newLeafNode(otherlv_2, grammarAccess.getConfigModelAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:107:1: ( (lv_imports_3_0= ruleImport ) )*
             loop1:
             do {
                 int alt1=2;
                 int LA1_0 = input.LA(1);
 
-                if ( (LA1_0==43) ) {
+                if ( (LA1_0==42) ) {
                     alt1=1;
                 }
 
@@ -238,25 +252,29 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:108:1: (lv_imports_3_0= ruleImport )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:109:3: lv_imports_3_0= ruleImport
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getConfigModelAccess().getImportsImportParserRuleCall_3_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getConfigModelAccess().getImportsImportParserRuleCall_3_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleImport_in_ruleConfigModel176);
             	    lv_imports_3_0=ruleImport();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getConfigModelRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"imports",
-            	            		lv_imports_3_0, 
-            	            		"Import");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getConfigModelRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"imports",
+            	              		lv_imports_3_0, 
+            	              		"Import");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -275,7 +293,7 @@
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( (LA2_0==16||(LA2_0>=23 && LA2_0<=25)) ) {
+                if ( (LA2_0==15||(LA2_0>=22 && LA2_0<=24)) ) {
                     alt2=1;
                 }
 
@@ -287,25 +305,29 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:126:1: (lv_configElements_4_0= ruleConfigElement )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:127:3: lv_configElements_4_0= ruleConfigElement
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getConfigModelAccess().getConfigElementsConfigElementParserRuleCall_4_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getConfigModelAccess().getConfigElementsConfigElementParserRuleCall_4_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleConfigElement_in_ruleConfigModel198);
             	    lv_configElements_4_0=ruleConfigElement();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getConfigModelRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"configElements",
-            	            		lv_configElements_4_0, 
-            	            		"ConfigElement");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getConfigModelRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"configElements",
+            	              		lv_configElements_4_0, 
+            	              		"ConfigElement");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -318,17 +340,21 @@
                 }
             } while (true);
 
-            otherlv_5=(Token)match(input,15,FOLLOW_15_in_ruleConfigModel211); 
+            otherlv_5=(Token)match(input,14,FOLLOW_14_in_ruleConfigModel211); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_5, grammarAccess.getConfigModelAccess().getRightCurlyBracketKeyword_5());
-                
+                  	newLeafNode(otherlv_5, grammarAccess.getConfigModelAccess().getRightCurlyBracketKeyword_5());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -354,14 +380,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:156:2: (iv_ruleConfigElement= ruleConfigElement EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:157:2: iv_ruleConfigElement= ruleConfigElement EOF
             {
-             newCompositeNode(grammarAccess.getConfigElementRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getConfigElementRule()); 
+            }
             pushFollow(FOLLOW_ruleConfigElement_in_entryRuleConfigElement247);
             iv_ruleConfigElement=ruleConfigElement();
 
             state._fsp--;
-
-             current =iv_ruleConfigElement; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigElement257); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleConfigElement; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigElement257); if (state.failed) return current;
 
             }
 
@@ -401,27 +431,28 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:168:1: (this_SubSystemConfig_0= ruleSubSystemConfig | this_ActorClassConfig_1= ruleActorClassConfig | this_ActorInstanceConfig_2= ruleActorInstanceConfig | this_ProtocolClassConfig_3= ruleProtocolClassConfig )
             int alt3=4;
             switch ( input.LA(1) ) {
-            case 16:
+            case 15:
                 {
                 alt3=1;
                 }
                 break;
-            case 23:
+            case 22:
                 {
                 alt3=2;
                 }
                 break;
-            case 24:
+            case 23:
                 {
                 alt3=3;
                 }
                 break;
-            case 25:
+            case 24:
                 {
                 alt3=4;
                 }
                 break;
             default:
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 3, 0, input);
 
@@ -432,72 +463,88 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:169:5: this_SubSystemConfig_0= ruleSubSystemConfig
                     {
-                     
-                            newCompositeNode(grammarAccess.getConfigElementAccess().getSubSystemConfigParserRuleCall_0()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getConfigElementAccess().getSubSystemConfigParserRuleCall_0()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleSubSystemConfig_in_ruleConfigElement304);
                     this_SubSystemConfig_0=ruleSubSystemConfig();
 
                     state._fsp--;
-
-                     
-                            current = this_SubSystemConfig_0; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_SubSystemConfig_0; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 2 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:179:5: this_ActorClassConfig_1= ruleActorClassConfig
                     {
-                     
-                            newCompositeNode(grammarAccess.getConfigElementAccess().getActorClassConfigParserRuleCall_1()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getConfigElementAccess().getActorClassConfigParserRuleCall_1()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleActorClassConfig_in_ruleConfigElement331);
                     this_ActorClassConfig_1=ruleActorClassConfig();
 
                     state._fsp--;
-
-                     
-                            current = this_ActorClassConfig_1; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_ActorClassConfig_1; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 3 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:189:5: this_ActorInstanceConfig_2= ruleActorInstanceConfig
                     {
-                     
-                            newCompositeNode(grammarAccess.getConfigElementAccess().getActorInstanceConfigParserRuleCall_2()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getConfigElementAccess().getActorInstanceConfigParserRuleCall_2()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleActorInstanceConfig_in_ruleConfigElement358);
                     this_ActorInstanceConfig_2=ruleActorInstanceConfig();
 
                     state._fsp--;
-
-                     
-                            current = this_ActorInstanceConfig_2; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_ActorInstanceConfig_2; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 4 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:199:5: this_ProtocolClassConfig_3= ruleProtocolClassConfig
                     {
-                     
-                            newCompositeNode(grammarAccess.getConfigElementAccess().getProtocolClassConfigParserRuleCall_3()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getConfigElementAccess().getProtocolClassConfigParserRuleCall_3()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleProtocolClassConfig_in_ruleConfigElement385);
                     this_ProtocolClassConfig_3=ruleProtocolClassConfig();
 
                     state._fsp--;
-
-                     
-                            current = this_ProtocolClassConfig_3; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_ProtocolClassConfig_3; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
@@ -507,7 +554,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -533,14 +582,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:216:2: (iv_ruleSubSystemConfig= ruleSubSystemConfig EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:217:2: iv_ruleSubSystemConfig= ruleSubSystemConfig EOF
             {
-             newCompositeNode(grammarAccess.getSubSystemConfigRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getSubSystemConfigRule()); 
+            }
             pushFollow(FOLLOW_ruleSubSystemConfig_in_entryRuleSubSystemConfig420);
             iv_ruleSubSystemConfig=ruleSubSystemConfig();
 
             state._fsp--;
-
-             current =iv_ruleSubSystemConfig; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSubSystemConfig430); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleSubSystemConfig; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleSubSystemConfig430); if (state.failed) return current;
 
             }
 
@@ -579,109 +632,133 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:228:1: (otherlv_0= 'SubSystemConfig' ( ( ruleFQN ) ) otherlv_2= '/' ( (otherlv_3= RULE_ID ) ) otherlv_4= '{' ( (lv_dynConfig_5_0= ruleDynamicConfig ) ) otherlv_6= '}' )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:228:3: otherlv_0= 'SubSystemConfig' ( ( ruleFQN ) ) otherlv_2= '/' ( (otherlv_3= RULE_ID ) ) otherlv_4= '{' ( (lv_dynConfig_5_0= ruleDynamicConfig ) ) otherlv_6= '}'
             {
-            otherlv_0=(Token)match(input,16,FOLLOW_16_in_ruleSubSystemConfig467); 
+            otherlv_0=(Token)match(input,15,FOLLOW_15_in_ruleSubSystemConfig467); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getSubSystemConfigAccess().getSubSystemConfigKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getSubSystemConfigAccess().getSubSystemConfigKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:232:1: ( ( ruleFQN ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:233:1: ( ruleFQN )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:233:1: ( ruleFQN )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:234:3: ruleFQN
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getSubSystemConfigRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getSubSystemConfigAccess().getRootLogicalSystemCrossReference_1_0()); 
-            	    
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getSubSystemConfigRule());
+              	        }
+                      
+            }
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getSubSystemConfigAccess().getRootLogicalSystemCrossReference_1_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleFQN_in_ruleSubSystemConfig490);
             ruleFQN();
 
             state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_2=(Token)match(input,17,FOLLOW_17_in_ruleSubSystemConfig502); 
+            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleSubSystemConfig502); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getSubSystemConfigAccess().getSolidusKeyword_2());
-                
+                  	newLeafNode(otherlv_2, grammarAccess.getSubSystemConfigAccess().getSolidusKeyword_2());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:251:1: ( (otherlv_3= RULE_ID ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:252:1: (otherlv_3= RULE_ID )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:252:1: (otherlv_3= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:253:3: otherlv_3= RULE_ID
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getSubSystemConfigRule());
-            	        }
-                    
-            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSubSystemConfig522); 
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getSubSystemConfigRule());
+              	        }
+                      
+            }
+            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSubSystemConfig522); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		newLeafNode(otherlv_3, grammarAccess.getSubSystemConfigAccess().getSubSystemSubSystemRefCrossReference_3_0()); 
-            	
+              		newLeafNode(otherlv_3, grammarAccess.getSubSystemConfigAccess().getSubSystemSubSystemRefCrossReference_3_0()); 
+              	
+            }
 
             }
 
 
             }
 
-            otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleSubSystemConfig534); 
+            otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleSubSystemConfig534); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_4, grammarAccess.getSubSystemConfigAccess().getLeftCurlyBracketKeyword_4());
-                
+                  	newLeafNode(otherlv_4, grammarAccess.getSubSystemConfigAccess().getLeftCurlyBracketKeyword_4());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:268:1: ( (lv_dynConfig_5_0= ruleDynamicConfig ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:269:1: (lv_dynConfig_5_0= ruleDynamicConfig )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:269:1: (lv_dynConfig_5_0= ruleDynamicConfig )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:270:3: lv_dynConfig_5_0= ruleDynamicConfig
             {
-             
-            	        newCompositeNode(grammarAccess.getSubSystemConfigAccess().getDynConfigDynamicConfigParserRuleCall_5_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getSubSystemConfigAccess().getDynConfigDynamicConfigParserRuleCall_5_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleDynamicConfig_in_ruleSubSystemConfig555);
             lv_dynConfig_5_0=ruleDynamicConfig();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getSubSystemConfigRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"dynConfig",
-                    		lv_dynConfig_5_0, 
-                    		"DynamicConfig");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getSubSystemConfigRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"dynConfig",
+                      		lv_dynConfig_5_0, 
+                      		"DynamicConfig");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleSubSystemConfig567); 
+            otherlv_6=(Token)match(input,14,FOLLOW_14_in_ruleSubSystemConfig567); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_6, grammarAccess.getSubSystemConfigAccess().getRightCurlyBracketKeyword_6());
-                
+                  	newLeafNode(otherlv_6, grammarAccess.getSubSystemConfigAccess().getRightCurlyBracketKeyword_6());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -707,14 +784,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:299:2: (iv_ruleDynamicConfig= ruleDynamicConfig EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:300:2: iv_ruleDynamicConfig= ruleDynamicConfig EOF
             {
-             newCompositeNode(grammarAccess.getDynamicConfigRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getDynamicConfigRule()); 
+            }
             pushFollow(FOLLOW_ruleDynamicConfig_in_entryRuleDynamicConfig603);
             iv_ruleDynamicConfig=ruleDynamicConfig();
 
             state._fsp--;
-
-             current =iv_ruleDynamicConfig; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDynamicConfig613); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleDynamicConfig; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDynamicConfig613); if (state.failed) return current;
 
             }
 
@@ -758,23 +839,25 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:311:1: (otherlv_0= 'dynamic configuration' otherlv_1= '{' ( ( ( ( ({...}? => ( ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) ) ) ) )+ {...}?) ) ) otherlv_11= '}' )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:311:3: otherlv_0= 'dynamic configuration' otherlv_1= '{' ( ( ( ( ({...}? => ( ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) ) ) ) )+ {...}?) ) ) otherlv_11= '}'
             {
-            otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleDynamicConfig650); 
+            otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleDynamicConfig650); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getDynamicConfigAccess().getDynamicConfigurationKeyword_0());
-                
-            otherlv_1=(Token)match(input,14,FOLLOW_14_in_ruleDynamicConfig662); 
+                  	newLeafNode(otherlv_0, grammarAccess.getDynamicConfigAccess().getDynamicConfigurationKeyword_0());
+                  
+            }
+            otherlv_1=(Token)match(input,13,FOLLOW_13_in_ruleDynamicConfig662); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_1, grammarAccess.getDynamicConfigAccess().getLeftCurlyBracketKeyword_1());
-                
+                  	newLeafNode(otherlv_1, grammarAccess.getDynamicConfigAccess().getLeftCurlyBracketKeyword_1());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:319:1: ( ( ( ( ({...}? => ( ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) ) ) ) )+ {...}?) ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:321:1: ( ( ( ({...}? => ( ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) ) ) ) )+ {...}?) )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:321:1: ( ( ( ({...}? => ( ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) ) ) ) )+ {...}?) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:322:2: ( ( ({...}? => ( ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) ) ) ) )+ {...}?)
             {
-             
-            	  getUnorderedGroupHelper().enter(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2());
-            	
+            getUnorderedGroupHelper().enter(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2());
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:325:2: ( ( ({...}? => ( ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) ) ) ) )+ {...}?)
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:326:3: ( ({...}? => ( ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) ) ) ) )+ {...}?
             {
@@ -785,10 +868,10 @@
                 int alt5=3;
                 int LA5_0 = input.LA(1);
 
-                if ( LA5_0 >=19 && LA5_0<=20 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0) ) {
+                if ( LA5_0 >=18 && LA5_0<=19 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0) ) {
                     alt5=1;
                 }
-                else if ( LA5_0 ==22 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1) ) {
+                else if ( LA5_0 ==21 && getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1) ) {
                     alt5=2;
                 }
 
@@ -801,31 +884,32 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:329:5: {...}? => ( ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDynamicConfig", "getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0)");
             	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:329:110: ( ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:330:6: ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 0);
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:333:6: ({...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:333:7: {...}? => ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDynamicConfig", "true");
             	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:333:16: ( (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) ) | ( (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) ) (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) ) ) )
             	    int alt4=2;
             	    int LA4_0 = input.LA(1);
 
-            	    if ( (LA4_0==19) ) {
+            	    if ( (LA4_0==18) ) {
             	        alt4=1;
             	    }
-            	    else if ( (LA4_0==20) ) {
+            	    else if ( (LA4_0==19) ) {
             	        alt4=2;
             	    }
             	    else {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        NoViableAltException nvae =
             	            new NoViableAltException("", 4, 0, input);
 
@@ -838,30 +922,36 @@
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:333:17: (otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) ) )
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:333:19: otherlv_3= 'file path' ( (lv_filePath_4_0= RULE_STRING ) )
             	            {
-            	            otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleDynamicConfig721); 
+            	            otherlv_3=(Token)match(input,18,FOLLOW_18_in_ruleDynamicConfig721); if (state.failed) return current;
+            	            if ( state.backtracking==0 ) {
 
-            	                	newLeafNode(otherlv_3, grammarAccess.getDynamicConfigAccess().getFilePathKeyword_2_0_0_0());
-            	                
+            	                  	newLeafNode(otherlv_3, grammarAccess.getDynamicConfigAccess().getFilePathKeyword_2_0_0_0());
+            	                  
+            	            }
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:337:1: ( (lv_filePath_4_0= RULE_STRING ) )
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:338:1: (lv_filePath_4_0= RULE_STRING )
             	            {
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:338:1: (lv_filePath_4_0= RULE_STRING )
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:339:3: lv_filePath_4_0= RULE_STRING
             	            {
-            	            lv_filePath_4_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDynamicConfig738); 
+            	            lv_filePath_4_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDynamicConfig738); if (state.failed) return current;
+            	            if ( state.backtracking==0 ) {
 
-            	            			newLeafNode(lv_filePath_4_0, grammarAccess.getDynamicConfigAccess().getFilePathSTRINGTerminalRuleCall_2_0_0_1_0()); 
-            	            		
+            	              			newLeafNode(lv_filePath_4_0, grammarAccess.getDynamicConfigAccess().getFilePathSTRINGTerminalRuleCall_2_0_0_1_0()); 
+            	              		
+            	            }
+            	            if ( state.backtracking==0 ) {
 
-            	            	        if (current==null) {
-            	            	            current = createModelElement(grammarAccess.getDynamicConfigRule());
-            	            	        }
-            	                   		setWithLastConsumed(
-            	                   			current, 
-            	                   			"filePath",
-            	                    		lv_filePath_4_0, 
-            	                    		"STRING");
-            	            	    
+            	              	        if (current==null) {
+            	              	            current = createModelElement(grammarAccess.getDynamicConfigRule());
+            	              	        }
+            	                     		setWithLastConsumed(
+            	                     			current, 
+            	                     			"filePath",
+            	                      		lv_filePath_4_0, 
+            	                      		"STRING");
+            	              	    
+            	            }
 
             	            }
 
@@ -883,30 +973,36 @@
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:356:7: (otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) ) )
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:356:9: otherlv_5= 'user import' ( (lv_userCode1_6_0= RULE_STRING ) )
             	            {
-            	            otherlv_5=(Token)match(input,20,FOLLOW_20_in_ruleDynamicConfig764); 
+            	            otherlv_5=(Token)match(input,19,FOLLOW_19_in_ruleDynamicConfig764); if (state.failed) return current;
+            	            if ( state.backtracking==0 ) {
 
-            	                	newLeafNode(otherlv_5, grammarAccess.getDynamicConfigAccess().getUserImportKeyword_2_0_1_0_0());
-            	                
+            	                  	newLeafNode(otherlv_5, grammarAccess.getDynamicConfigAccess().getUserImportKeyword_2_0_1_0_0());
+            	                  
+            	            }
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:360:1: ( (lv_userCode1_6_0= RULE_STRING ) )
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:361:1: (lv_userCode1_6_0= RULE_STRING )
             	            {
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:361:1: (lv_userCode1_6_0= RULE_STRING )
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:362:3: lv_userCode1_6_0= RULE_STRING
             	            {
-            	            lv_userCode1_6_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDynamicConfig781); 
+            	            lv_userCode1_6_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDynamicConfig781); if (state.failed) return current;
+            	            if ( state.backtracking==0 ) {
 
-            	            			newLeafNode(lv_userCode1_6_0, grammarAccess.getDynamicConfigAccess().getUserCode1STRINGTerminalRuleCall_2_0_1_0_1_0()); 
-            	            		
+            	              			newLeafNode(lv_userCode1_6_0, grammarAccess.getDynamicConfigAccess().getUserCode1STRINGTerminalRuleCall_2_0_1_0_1_0()); 
+            	              		
+            	            }
+            	            if ( state.backtracking==0 ) {
 
-            	            	        if (current==null) {
-            	            	            current = createModelElement(grammarAccess.getDynamicConfigRule());
-            	            	        }
-            	                   		setWithLastConsumed(
-            	                   			current, 
-            	                   			"userCode1",
-            	                    		lv_userCode1_6_0, 
-            	                    		"STRING");
-            	            	    
+            	              	        if (current==null) {
+            	              	            current = createModelElement(grammarAccess.getDynamicConfigRule());
+            	              	        }
+            	                     		setWithLastConsumed(
+            	                     			current, 
+            	                     			"userCode1",
+            	                      		lv_userCode1_6_0, 
+            	                      		"STRING");
+            	              	    
+            	            }
 
             	            }
 
@@ -919,30 +1015,36 @@
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:378:3: (otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) ) )
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:378:5: otherlv_7= 'user constructor' ( (lv_userCode2_8_0= RULE_STRING ) )
             	            {
-            	            otherlv_7=(Token)match(input,21,FOLLOW_21_in_ruleDynamicConfig800); 
+            	            otherlv_7=(Token)match(input,20,FOLLOW_20_in_ruleDynamicConfig800); if (state.failed) return current;
+            	            if ( state.backtracking==0 ) {
 
-            	                	newLeafNode(otherlv_7, grammarAccess.getDynamicConfigAccess().getUserConstructorKeyword_2_0_1_1_0());
-            	                
+            	                  	newLeafNode(otherlv_7, grammarAccess.getDynamicConfigAccess().getUserConstructorKeyword_2_0_1_1_0());
+            	                  
+            	            }
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:382:1: ( (lv_userCode2_8_0= RULE_STRING ) )
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:383:1: (lv_userCode2_8_0= RULE_STRING )
             	            {
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:383:1: (lv_userCode2_8_0= RULE_STRING )
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:384:3: lv_userCode2_8_0= RULE_STRING
             	            {
-            	            lv_userCode2_8_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDynamicConfig817); 
+            	            lv_userCode2_8_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDynamicConfig817); if (state.failed) return current;
+            	            if ( state.backtracking==0 ) {
 
-            	            			newLeafNode(lv_userCode2_8_0, grammarAccess.getDynamicConfigAccess().getUserCode2STRINGTerminalRuleCall_2_0_1_1_1_0()); 
-            	            		
+            	              			newLeafNode(lv_userCode2_8_0, grammarAccess.getDynamicConfigAccess().getUserCode2STRINGTerminalRuleCall_2_0_1_1_1_0()); 
+            	              		
+            	            }
+            	            if ( state.backtracking==0 ) {
 
-            	            	        if (current==null) {
-            	            	            current = createModelElement(grammarAccess.getDynamicConfigRule());
-            	            	        }
-            	                   		setWithLastConsumed(
-            	                   			current, 
-            	                   			"userCode2",
-            	                    		lv_userCode2_8_0, 
-            	                    		"STRING");
-            	            	    
+            	              	        if (current==null) {
+            	              	            current = createModelElement(grammarAccess.getDynamicConfigRule());
+            	              	        }
+            	                     		setWithLastConsumed(
+            	                     			current, 
+            	                     			"userCode2",
+            	                      		lv_userCode2_8_0, 
+            	                      		"STRING");
+            	              	    
+            	            }
 
             	            }
 
@@ -964,9 +1066,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2());
 
             	    }
 
@@ -983,52 +1083,58 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:408:5: {...}? => ( ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDynamicConfig", "getUnorderedGroupHelper().canSelect(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1)");
             	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:408:110: ( ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:409:6: ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2(), 1);
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:412:6: ({...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:412:7: {...}? => (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleDynamicConfig", "true");
             	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:412:16: (otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:412:18: otherlv_9= 'polling interval' ( (lv_polling_10_0= ruleTIME ) )
             	    {
-            	    otherlv_9=(Token)match(input,22,FOLLOW_22_in_ruleDynamicConfig892); 
+            	    otherlv_9=(Token)match(input,21,FOLLOW_21_in_ruleDynamicConfig892); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_9, grammarAccess.getDynamicConfigAccess().getPollingIntervalKeyword_2_1_0());
-            	        
+            	          	newLeafNode(otherlv_9, grammarAccess.getDynamicConfigAccess().getPollingIntervalKeyword_2_1_0());
+            	          
+            	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:416:1: ( (lv_polling_10_0= ruleTIME ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:417:1: (lv_polling_10_0= ruleTIME )
             	    {
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:417:1: (lv_polling_10_0= ruleTIME )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:418:3: lv_polling_10_0= ruleTIME
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getDynamicConfigAccess().getPollingTIMEParserRuleCall_2_1_1_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getDynamicConfigAccess().getPollingTIMEParserRuleCall_2_1_1_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleTIME_in_ruleDynamicConfig913);
             	    lv_polling_10_0=ruleTIME();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getDynamicConfigRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"polling",
-            	            		lv_polling_10_0, 
-            	            		"TIME");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getDynamicConfigRule());
+            	      	        }
+            	             		set(
+            	             			current, 
+            	             			"polling",
+            	              		lv_polling_10_0, 
+            	              		"TIME");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -1041,9 +1147,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2());
 
             	    }
 
@@ -1056,6 +1160,7 @@
 
             	default :
             	    if ( cnt5 >= 1 ) break loop5;
+            	    if (state.backtracking>0) {state.failed=true; return current;}
                         EarlyExitException eee =
                             new EarlyExitException(5, input);
                         throw eee;
@@ -1064,6 +1169,7 @@
             } while (true);
 
             if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2()) ) {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 throw new FailedPredicateException(input, "ruleDynamicConfig", "getUnorderedGroupHelper().canLeave(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2())");
             }
 
@@ -1072,23 +1178,25 @@
 
             }
 
-             
-            	  getUnorderedGroupHelper().leave(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2());
-            	
+            getUnorderedGroupHelper().leave(grammarAccess.getDynamicConfigAccess().getUnorderedGroup_2());
 
             }
 
-            otherlv_11=(Token)match(input,15,FOLLOW_15_in_ruleDynamicConfig972); 
+            otherlv_11=(Token)match(input,14,FOLLOW_14_in_ruleDynamicConfig972); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_11, grammarAccess.getDynamicConfigAccess().getRightCurlyBracketKeyword_3());
-                
+                  	newLeafNode(otherlv_11, grammarAccess.getDynamicConfigAccess().getRightCurlyBracketKeyword_3());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -1114,14 +1222,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:462:2: (iv_ruleActorClassConfig= ruleActorClassConfig EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:463:2: iv_ruleActorClassConfig= ruleActorClassConfig EOF
             {
-             newCompositeNode(grammarAccess.getActorClassConfigRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getActorClassConfigRule()); 
+            }
             pushFollow(FOLLOW_ruleActorClassConfig_in_entryRuleActorClassConfig1008);
             iv_ruleActorClassConfig=ruleActorClassConfig();
 
             state._fsp--;
-
-             current =iv_ruleActorClassConfig; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleActorClassConfig1018); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleActorClassConfig; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleActorClassConfig1018); if (state.failed) return current;
 
             }
 
@@ -1158,49 +1270,59 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:474:1: (otherlv_0= 'ActorClassConfig' ( ( ruleFQN ) ) otherlv_2= '{' ( (lv_attributes_3_0= ruleAttrClassConfig ) )* otherlv_4= '}' )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:474:3: otherlv_0= 'ActorClassConfig' ( ( ruleFQN ) ) otherlv_2= '{' ( (lv_attributes_3_0= ruleAttrClassConfig ) )* otherlv_4= '}'
             {
-            otherlv_0=(Token)match(input,23,FOLLOW_23_in_ruleActorClassConfig1055); 
+            otherlv_0=(Token)match(input,22,FOLLOW_22_in_ruleActorClassConfig1055); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getActorClassConfigAccess().getActorClassConfigKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getActorClassConfigAccess().getActorClassConfigKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:478:1: ( ( ruleFQN ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:479:1: ( ruleFQN )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:479:1: ( ruleFQN )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:480:3: ruleFQN
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getActorClassConfigRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getActorClassConfigAccess().getActorActorClassCrossReference_1_0()); 
-            	    
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getActorClassConfigRule());
+              	        }
+                      
+            }
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getActorClassConfigAccess().getActorActorClassCrossReference_1_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleFQN_in_ruleActorClassConfig1078);
             ruleFQN();
 
             state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleActorClassConfig1090); 
+            otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleActorClassConfig1090); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getActorClassConfigAccess().getLeftCurlyBracketKeyword_2());
-                
+                  	newLeafNode(otherlv_2, grammarAccess.getActorClassConfigAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:497:1: ( (lv_attributes_3_0= ruleAttrClassConfig ) )*
             loop6:
             do {
                 int alt6=2;
                 int LA6_0 = input.LA(1);
 
-                if ( (LA6_0==31) ) {
+                if ( (LA6_0==30) ) {
                     alt6=1;
                 }
 
@@ -1212,25 +1334,29 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:498:1: (lv_attributes_3_0= ruleAttrClassConfig )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:499:3: lv_attributes_3_0= ruleAttrClassConfig
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getActorClassConfigAccess().getAttributesAttrClassConfigParserRuleCall_3_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getActorClassConfigAccess().getAttributesAttrClassConfigParserRuleCall_3_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleAttrClassConfig_in_ruleActorClassConfig1111);
             	    lv_attributes_3_0=ruleAttrClassConfig();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getActorClassConfigRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"attributes",
-            	            		lv_attributes_3_0, 
-            	            		"AttrClassConfig");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getActorClassConfigRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"attributes",
+            	              		lv_attributes_3_0, 
+            	              		"AttrClassConfig");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -1243,17 +1369,21 @@
                 }
             } while (true);
 
-            otherlv_4=(Token)match(input,15,FOLLOW_15_in_ruleActorClassConfig1124); 
+            otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleActorClassConfig1124); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_4, grammarAccess.getActorClassConfigAccess().getRightCurlyBracketKeyword_4());
-                
+                  	newLeafNode(otherlv_4, grammarAccess.getActorClassConfigAccess().getRightCurlyBracketKeyword_4());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -1279,14 +1409,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:528:2: (iv_ruleActorInstanceConfig= ruleActorInstanceConfig EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:529:2: iv_ruleActorInstanceConfig= ruleActorInstanceConfig EOF
             {
-             newCompositeNode(grammarAccess.getActorInstanceConfigRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getActorInstanceConfigRule()); 
+            }
             pushFollow(FOLLOW_ruleActorInstanceConfig_in_entryRuleActorInstanceConfig1160);
             iv_ruleActorInstanceConfig=ruleActorInstanceConfig();
 
             state._fsp--;
-
-             current =iv_ruleActorInstanceConfig; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleActorInstanceConfig1170); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleActorInstanceConfig; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleActorInstanceConfig1170); if (state.failed) return current;
 
             }
 
@@ -1330,111 +1464,131 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:540:1: (otherlv_0= 'ActorInstanceConfig' ( ( ruleFQN ) ) otherlv_2= '/' ( (otherlv_3= RULE_ID ) ) otherlv_4= '/' ( (lv_path_5_0= ruleRefPath ) ) otherlv_6= '{' ( ( ( ( ({...}? => ( ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+ ) ) )* ) ) ) otherlv_10= '}' )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:540:3: otherlv_0= 'ActorInstanceConfig' ( ( ruleFQN ) ) otherlv_2= '/' ( (otherlv_3= RULE_ID ) ) otherlv_4= '/' ( (lv_path_5_0= ruleRefPath ) ) otherlv_6= '{' ( ( ( ( ({...}? => ( ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+ ) ) )* ) ) ) otherlv_10= '}'
             {
-            otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleActorInstanceConfig1207); 
+            otherlv_0=(Token)match(input,23,FOLLOW_23_in_ruleActorInstanceConfig1207); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getActorInstanceConfigAccess().getActorInstanceConfigKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getActorInstanceConfigAccess().getActorInstanceConfigKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:544:1: ( ( ruleFQN ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:545:1: ( ruleFQN )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:545:1: ( ruleFQN )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:546:3: ruleFQN
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getActorInstanceConfigRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getRootLogicalSystemCrossReference_1_0()); 
-            	    
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getActorInstanceConfigRule());
+              	        }
+                      
+            }
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getRootLogicalSystemCrossReference_1_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleFQN_in_ruleActorInstanceConfig1230);
             ruleFQN();
 
             state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_2=(Token)match(input,17,FOLLOW_17_in_ruleActorInstanceConfig1242); 
+            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleActorInstanceConfig1242); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getActorInstanceConfigAccess().getSolidusKeyword_2());
-                
+                  	newLeafNode(otherlv_2, grammarAccess.getActorInstanceConfigAccess().getSolidusKeyword_2());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:563:1: ( (otherlv_3= RULE_ID ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:564:1: (otherlv_3= RULE_ID )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:564:1: (otherlv_3= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:565:3: otherlv_3= RULE_ID
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getActorInstanceConfigRule());
-            	        }
-                    
-            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleActorInstanceConfig1262); 
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getActorInstanceConfigRule());
+              	        }
+                      
+            }
+            otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleActorInstanceConfig1262); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		newLeafNode(otherlv_3, grammarAccess.getActorInstanceConfigAccess().getSubSystemSubSystemRefCrossReference_3_0()); 
-            	
+              		newLeafNode(otherlv_3, grammarAccess.getActorInstanceConfigAccess().getSubSystemSubSystemRefCrossReference_3_0()); 
+              	
+            }
 
             }
 
 
             }
 
-            otherlv_4=(Token)match(input,17,FOLLOW_17_in_ruleActorInstanceConfig1274); 
+            otherlv_4=(Token)match(input,16,FOLLOW_16_in_ruleActorInstanceConfig1274); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_4, grammarAccess.getActorInstanceConfigAccess().getSolidusKeyword_4());
-                
+                  	newLeafNode(otherlv_4, grammarAccess.getActorInstanceConfigAccess().getSolidusKeyword_4());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:580:1: ( (lv_path_5_0= ruleRefPath ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:581:1: (lv_path_5_0= ruleRefPath )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:581:1: (lv_path_5_0= ruleRefPath )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:582:3: lv_path_5_0= ruleRefPath
             {
-             
-            	        newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getPathRefPathParserRuleCall_5_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getPathRefPathParserRuleCall_5_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleRefPath_in_ruleActorInstanceConfig1295);
             lv_path_5_0=ruleRefPath();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getActorInstanceConfigRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"path",
-                    		lv_path_5_0, 
-                    		"RefPath");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getActorInstanceConfigRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"path",
+                      		lv_path_5_0, 
+                      		"RefPath");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_6=(Token)match(input,14,FOLLOW_14_in_ruleActorInstanceConfig1307); 
+            otherlv_6=(Token)match(input,13,FOLLOW_13_in_ruleActorInstanceConfig1307); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_6, grammarAccess.getActorInstanceConfigAccess().getLeftCurlyBracketKeyword_6());
-                
+                  	newLeafNode(otherlv_6, grammarAccess.getActorInstanceConfigAccess().getLeftCurlyBracketKeyword_6());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:602:1: ( ( ( ( ({...}? => ( ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+ ) ) )* ) ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:604:1: ( ( ( ({...}? => ( ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+ ) ) )* ) )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:604:1: ( ( ( ({...}? => ( ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+ ) ) )* ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:605:2: ( ( ({...}? => ( ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+ ) ) )* )
             {
-             
-            	  getUnorderedGroupHelper().enter(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7());
-            	
+            getUnorderedGroupHelper().enter(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7());
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:608:2: ( ( ({...}? => ( ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+ ) ) )* )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:609:3: ( ({...}? => ( ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+ ) ) )*
             {
@@ -1444,10 +1598,10 @@
                 int alt9=3;
                 int LA9_0 = input.LA(1);
 
-                if ( LA9_0 ==31 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0) ) {
+                if ( LA9_0 ==30 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0) ) {
                     alt9=1;
                 }
-                else if ( LA9_0 ==30 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1) ) {
+                else if ( LA9_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1) ) {
                     alt9=2;
                 }
 
@@ -1460,14 +1614,13 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:612:5: {...}? => ( ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+ )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleActorInstanceConfig", "getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0)");
             	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:612:116: ( ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+ )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:613:6: ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 0);
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:616:6: ({...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) ) )+
             	    int cnt7=0;
             	    loop7:
@@ -1475,7 +1628,7 @@
             	        int alt7=2;
             	        int LA7_0 = input.LA(1);
 
-            	        if ( (LA7_0==31) ) {
+            	        if ( (LA7_0==30) ) {
             	            int LA7_2 = input.LA(2);
 
             	            if ( ((true)) ) {
@@ -1491,6 +1644,7 @@
             	    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:616:7: {...}? => ( (lv_attributes_8_0= ruleAttrInstanceConfig ) )
             	    	    {
             	    	    if ( !((true)) ) {
+            	    	        if (state.backtracking>0) {state.failed=true; return current;}
             	    	        throw new FailedPredicateException(input, "ruleActorInstanceConfig", "true");
             	    	    }
             	    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:616:16: ( (lv_attributes_8_0= ruleAttrInstanceConfig ) )
@@ -1499,25 +1653,29 @@
             	    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:617:1: (lv_attributes_8_0= ruleAttrInstanceConfig )
             	    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:618:3: lv_attributes_8_0= ruleAttrInstanceConfig
             	    	    {
-            	    	     
-            	    	    	        newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getAttributesAttrInstanceConfigParserRuleCall_7_0_0()); 
-            	    	    	    
+            	    	    if ( state.backtracking==0 ) {
+            	    	       
+            	    	      	        newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getAttributesAttrInstanceConfigParserRuleCall_7_0_0()); 
+            	    	      	    
+            	    	    }
             	    	    pushFollow(FOLLOW_ruleAttrInstanceConfig_in_ruleActorInstanceConfig1373);
             	    	    lv_attributes_8_0=ruleAttrInstanceConfig();
 
             	    	    state._fsp--;
+            	    	    if (state.failed) return current;
+            	    	    if ( state.backtracking==0 ) {
 
-
-            	    	    	        if (current==null) {
-            	    	    	            current = createModelElementForParent(grammarAccess.getActorInstanceConfigRule());
-            	    	    	        }
-            	    	           		add(
-            	    	           			current, 
-            	    	           			"attributes",
-            	    	            		lv_attributes_8_0, 
-            	    	            		"AttrInstanceConfig");
-            	    	    	        afterParserOrEnumRuleCall();
-            	    	    	    
+            	    	      	        if (current==null) {
+            	    	      	            current = createModelElementForParent(grammarAccess.getActorInstanceConfigRule());
+            	    	      	        }
+            	    	             		add(
+            	    	             			current, 
+            	    	             			"attributes",
+            	    	              		lv_attributes_8_0, 
+            	    	              		"AttrInstanceConfig");
+            	    	      	        afterParserOrEnumRuleCall();
+            	    	      	    
+            	    	    }
 
             	    	    }
 
@@ -1530,6 +1688,7 @@
 
             	    	default :
             	    	    if ( cnt7 >= 1 ) break loop7;
+            	    	    if (state.backtracking>0) {state.failed=true; return current;}
             	                EarlyExitException eee =
             	                    new EarlyExitException(7, input);
             	                throw eee;
@@ -1537,9 +1696,7 @@
             	        cnt7++;
             	    } while (true);
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7());
 
             	    }
 
@@ -1556,14 +1713,13 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:642:5: {...}? => ( ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+ )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleActorInstanceConfig", "getUnorderedGroupHelper().canSelect(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1)");
             	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:642:116: ( ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+ )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:643:6: ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7(), 1);
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:646:6: ({...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) ) )+
             	    int cnt8=0;
             	    loop8:
@@ -1571,7 +1727,7 @@
             	        int alt8=2;
             	        int LA8_0 = input.LA(1);
 
-            	        if ( (LA8_0==30) ) {
+            	        if ( (LA8_0==29) ) {
             	            int LA8_2 = input.LA(2);
 
             	            if ( ((true)) ) {
@@ -1587,6 +1743,7 @@
             	    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:646:7: {...}? => ( (lv_ports_9_0= rulePortInstanceConfig ) )
             	    	    {
             	    	    if ( !((true)) ) {
+            	    	        if (state.backtracking>0) {state.failed=true; return current;}
             	    	        throw new FailedPredicateException(input, "ruleActorInstanceConfig", "true");
             	    	    }
             	    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:646:16: ( (lv_ports_9_0= rulePortInstanceConfig ) )
@@ -1595,25 +1752,29 @@
             	    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:647:1: (lv_ports_9_0= rulePortInstanceConfig )
             	    	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:648:3: lv_ports_9_0= rulePortInstanceConfig
             	    	    {
-            	    	     
-            	    	    	        newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getPortsPortInstanceConfigParserRuleCall_7_1_0()); 
-            	    	    	    
+            	    	    if ( state.backtracking==0 ) {
+            	    	       
+            	    	      	        newCompositeNode(grammarAccess.getActorInstanceConfigAccess().getPortsPortInstanceConfigParserRuleCall_7_1_0()); 
+            	    	      	    
+            	    	    }
             	    	    pushFollow(FOLLOW_rulePortInstanceConfig_in_ruleActorInstanceConfig1449);
             	    	    lv_ports_9_0=rulePortInstanceConfig();
 
             	    	    state._fsp--;
+            	    	    if (state.failed) return current;
+            	    	    if ( state.backtracking==0 ) {
 
-
-            	    	    	        if (current==null) {
-            	    	    	            current = createModelElementForParent(grammarAccess.getActorInstanceConfigRule());
-            	    	    	        }
-            	    	           		add(
-            	    	           			current, 
-            	    	           			"ports",
-            	    	            		lv_ports_9_0, 
-            	    	            		"PortInstanceConfig");
-            	    	    	        afterParserOrEnumRuleCall();
-            	    	    	    
+            	    	      	        if (current==null) {
+            	    	      	            current = createModelElementForParent(grammarAccess.getActorInstanceConfigRule());
+            	    	      	        }
+            	    	             		add(
+            	    	             			current, 
+            	    	             			"ports",
+            	    	              		lv_ports_9_0, 
+            	    	              		"PortInstanceConfig");
+            	    	      	        afterParserOrEnumRuleCall();
+            	    	      	    
+            	    	    }
 
             	    	    }
 
@@ -1626,6 +1787,7 @@
 
             	    	default :
             	    	    if ( cnt8 >= 1 ) break loop8;
+            	    	    if (state.backtracking>0) {state.failed=true; return current;}
             	                EarlyExitException eee =
             	                    new EarlyExitException(8, input);
             	                throw eee;
@@ -1633,9 +1795,7 @@
             	        cnt8++;
             	    } while (true);
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7());
 
             	    }
 
@@ -1657,23 +1817,25 @@
 
             }
 
-             
-            	  getUnorderedGroupHelper().leave(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7());
-            	
+            getUnorderedGroupHelper().leave(grammarAccess.getActorInstanceConfigAccess().getUnorderedGroup_7());
 
             }
 
-            otherlv_10=(Token)match(input,15,FOLLOW_15_in_ruleActorInstanceConfig1502); 
+            otherlv_10=(Token)match(input,14,FOLLOW_14_in_ruleActorInstanceConfig1502); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_10, grammarAccess.getActorInstanceConfigAccess().getRightCurlyBracketKeyword_8());
-                
+                  	newLeafNode(otherlv_10, grammarAccess.getActorInstanceConfigAccess().getRightCurlyBracketKeyword_8());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -1699,14 +1861,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:691:2: (iv_ruleProtocolClassConfig= ruleProtocolClassConfig EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:692:2: iv_ruleProtocolClassConfig= ruleProtocolClassConfig EOF
             {
-             newCompositeNode(grammarAccess.getProtocolClassConfigRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getProtocolClassConfigRule()); 
+            }
             pushFollow(FOLLOW_ruleProtocolClassConfig_in_entryRuleProtocolClassConfig1538);
             iv_ruleProtocolClassConfig=ruleProtocolClassConfig();
 
             state._fsp--;
-
-             current =iv_ruleProtocolClassConfig; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleProtocolClassConfig1548); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleProtocolClassConfig; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleProtocolClassConfig1548); if (state.failed) return current;
 
             }
 
@@ -1748,51 +1914,59 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:703:1: (otherlv_0= 'ProtocolClassConfig' ( ( ruleFQN ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) ) ) ) )* ) ) ) otherlv_9= '}' )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:703:3: otherlv_0= 'ProtocolClassConfig' ( ( ruleFQN ) ) otherlv_2= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) ) ) ) )* ) ) ) otherlv_9= '}'
             {
-            otherlv_0=(Token)match(input,25,FOLLOW_25_in_ruleProtocolClassConfig1585); 
+            otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleProtocolClassConfig1585); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getProtocolClassConfigAccess().getProtocolClassConfigKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getProtocolClassConfigAccess().getProtocolClassConfigKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:707:1: ( ( ruleFQN ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:708:1: ( ruleFQN )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:708:1: ( ruleFQN )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:709:3: ruleFQN
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getProtocolClassConfigRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getProtocolClassConfigAccess().getProtocolProtocolClassCrossReference_1_0()); 
-            	    
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getProtocolClassConfigRule());
+              	        }
+                      
+            }
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getProtocolClassConfigAccess().getProtocolProtocolClassCrossReference_1_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleFQN_in_ruleProtocolClassConfig1608);
             ruleFQN();
 
             state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleProtocolClassConfig1620); 
+            otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleProtocolClassConfig1620); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getProtocolClassConfigAccess().getLeftCurlyBracketKeyword_2());
-                
+                  	newLeafNode(otherlv_2, grammarAccess.getProtocolClassConfigAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:726:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) ) ) ) )* ) ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:728:1: ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) ) ) ) )* ) )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:728:1: ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) ) ) ) )* ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:729:2: ( ( ({...}? => ( ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) ) ) ) )* )
             {
-             
-            	  getUnorderedGroupHelper().enter(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3());
-            	
+            getUnorderedGroupHelper().enter(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3());
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:732:2: ( ( ({...}? => ( ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) ) ) ) )* )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:733:3: ( ({...}? => ( ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) ) ) ) )*
             {
@@ -1802,10 +1976,10 @@
                 int alt11=3;
                 int LA11_0 = input.LA(1);
 
-                if ( LA11_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0) ) {
+                if ( LA11_0 ==25 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0) ) {
                     alt11=1;
                 }
-                else if ( LA11_0 >=27 && LA11_0<=28 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
+                else if ( LA11_0 >=26 && LA11_0<=27 && getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
                     alt11=2;
                 }
 
@@ -1818,52 +1992,58 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:736:5: {...}? => ( ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleProtocolClassConfig", "getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0)");
             	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:736:116: ( ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:737:6: ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 0);
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:740:6: ({...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:740:7: {...}? => (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleProtocolClassConfig", "true");
             	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:740:16: (otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:740:18: otherlv_4= 'regular' ( (lv_regular_5_0= rulePortClassConfig ) )
             	    {
-            	    otherlv_4=(Token)match(input,26,FOLLOW_26_in_ruleProtocolClassConfig1678); 
+            	    otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleProtocolClassConfig1678); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_4, grammarAccess.getProtocolClassConfigAccess().getRegularKeyword_3_0_0());
-            	        
+            	          	newLeafNode(otherlv_4, grammarAccess.getProtocolClassConfigAccess().getRegularKeyword_3_0_0());
+            	          
+            	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:744:1: ( (lv_regular_5_0= rulePortClassConfig ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:745:1: (lv_regular_5_0= rulePortClassConfig )
             	    {
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:745:1: (lv_regular_5_0= rulePortClassConfig )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:746:3: lv_regular_5_0= rulePortClassConfig
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getProtocolClassConfigAccess().getRegularPortClassConfigParserRuleCall_3_0_1_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getProtocolClassConfigAccess().getRegularPortClassConfigParserRuleCall_3_0_1_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_rulePortClassConfig_in_ruleProtocolClassConfig1699);
             	    lv_regular_5_0=rulePortClassConfig();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getProtocolClassConfigRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"regular",
-            	            		lv_regular_5_0, 
-            	            		"PortClassConfig");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getProtocolClassConfigRule());
+            	      	        }
+            	             		set(
+            	             			current, 
+            	             			"regular",
+            	              		lv_regular_5_0, 
+            	              		"PortClassConfig");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -1876,9 +2056,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3());
 
             	    }
 
@@ -1895,18 +2073,18 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:770:5: {...}? => ( ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleProtocolClassConfig", "getUnorderedGroupHelper().canSelect(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1)");
             	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:770:116: ( ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:771:6: ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3(), 1);
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:774:6: ({...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:774:7: {...}? => ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleProtocolClassConfig", "true");
             	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:774:16: ( (otherlv_6= 'conjugate' | otherlv_7= 'conjugated' ) ( (lv_conjugated_8_0= rulePortClassConfig ) ) )
@@ -1916,13 +2094,14 @@
             	    int alt10=2;
             	    int LA10_0 = input.LA(1);
 
-            	    if ( (LA10_0==27) ) {
+            	    if ( (LA10_0==26) ) {
             	        alt10=1;
             	    }
-            	    else if ( (LA10_0==28) ) {
+            	    else if ( (LA10_0==27) ) {
             	        alt10=2;
             	    }
             	    else {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        NoViableAltException nvae =
             	            new NoViableAltException("", 10, 0, input);
 
@@ -1932,20 +2111,24 @@
             	        case 1 :
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:774:19: otherlv_6= 'conjugate'
             	            {
-            	            otherlv_6=(Token)match(input,27,FOLLOW_27_in_ruleProtocolClassConfig1768); 
+            	            otherlv_6=(Token)match(input,26,FOLLOW_26_in_ruleProtocolClassConfig1768); if (state.failed) return current;
+            	            if ( state.backtracking==0 ) {
 
-            	                	newLeafNode(otherlv_6, grammarAccess.getProtocolClassConfigAccess().getConjugateKeyword_3_1_0_0());
-            	                
+            	                  	newLeafNode(otherlv_6, grammarAccess.getProtocolClassConfigAccess().getConjugateKeyword_3_1_0_0());
+            	                  
+            	            }
 
             	            }
             	            break;
             	        case 2 :
             	            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:779:7: otherlv_7= 'conjugated'
             	            {
-            	            otherlv_7=(Token)match(input,28,FOLLOW_28_in_ruleProtocolClassConfig1786); 
+            	            otherlv_7=(Token)match(input,27,FOLLOW_27_in_ruleProtocolClassConfig1786); if (state.failed) return current;
+            	            if ( state.backtracking==0 ) {
 
-            	                	newLeafNode(otherlv_7, grammarAccess.getProtocolClassConfigAccess().getConjugatedKeyword_3_1_0_1());
-            	                
+            	                  	newLeafNode(otherlv_7, grammarAccess.getProtocolClassConfigAccess().getConjugatedKeyword_3_1_0_1());
+            	                  
+            	            }
 
             	            }
             	            break;
@@ -1958,25 +2141,29 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:784:1: (lv_conjugated_8_0= rulePortClassConfig )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:785:3: lv_conjugated_8_0= rulePortClassConfig
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getProtocolClassConfigAccess().getConjugatedPortClassConfigParserRuleCall_3_1_1_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getProtocolClassConfigAccess().getConjugatedPortClassConfigParserRuleCall_3_1_1_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_rulePortClassConfig_in_ruleProtocolClassConfig1808);
             	    lv_conjugated_8_0=rulePortClassConfig();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getProtocolClassConfigRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"conjugated",
-            	            		lv_conjugated_8_0, 
-            	            		"PortClassConfig");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getProtocolClassConfigRule());
+            	      	        }
+            	             		set(
+            	             			current, 
+            	             			"conjugated",
+            	              		lv_conjugated_8_0, 
+            	              		"PortClassConfig");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -1989,9 +2176,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3());
 
             	    }
 
@@ -2013,23 +2198,25 @@
 
             }
 
-             
-            	  getUnorderedGroupHelper().leave(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3());
-            	
+            getUnorderedGroupHelper().leave(grammarAccess.getProtocolClassConfigAccess().getUnorderedGroup_3());
 
             }
 
-            otherlv_9=(Token)match(input,15,FOLLOW_15_in_ruleProtocolClassConfig1861); 
+            otherlv_9=(Token)match(input,14,FOLLOW_14_in_ruleProtocolClassConfig1861); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_9, grammarAccess.getProtocolClassConfigAccess().getRightCurlyBracketKeyword_4());
-                
+                  	newLeafNode(otherlv_9, grammarAccess.getProtocolClassConfigAccess().getRightCurlyBracketKeyword_4());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -2055,14 +2242,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:828:2: (iv_rulePortClassConfig= rulePortClassConfig EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:829:2: iv_rulePortClassConfig= rulePortClassConfig EOF
             {
-             newCompositeNode(grammarAccess.getPortClassConfigRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPortClassConfigRule()); 
+            }
             pushFollow(FOLLOW_rulePortClassConfig_in_entryRulePortClassConfig1897);
             iv_rulePortClassConfig=rulePortClassConfig();
 
             state._fsp--;
-
-             current =iv_rulePortClassConfig; 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePortClassConfig1907); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePortClassConfig; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePortClassConfig1907); if (state.failed) return current;
 
             }
 
@@ -2102,29 +2293,35 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:840:2: ()
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:841:5: 
             {
+            if ( state.backtracking==0 ) {
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getPortClassConfigAccess().getPortClassConfigAction_0(),
-                        current);
-                
+                      current = forceCreateModelElement(
+                          grammarAccess.getPortClassConfigAccess().getPortClassConfigAction_0(),
+                          current);
+                  
+            }
 
             }
 
-            otherlv_1=(Token)match(input,29,FOLLOW_29_in_rulePortClassConfig1953); 
+            otherlv_1=(Token)match(input,28,FOLLOW_28_in_rulePortClassConfig1953); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_1, grammarAccess.getPortClassConfigAccess().getPortKeyword_1());
-                
-            otherlv_2=(Token)match(input,14,FOLLOW_14_in_rulePortClassConfig1965); 
+                  	newLeafNode(otherlv_1, grammarAccess.getPortClassConfigAccess().getPortKeyword_1());
+                  
+            }
+            otherlv_2=(Token)match(input,13,FOLLOW_13_in_rulePortClassConfig1965); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getPortClassConfigAccess().getLeftCurlyBracketKeyword_2());
-                
+                  	newLeafNode(otherlv_2, grammarAccess.getPortClassConfigAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:854:1: ( (lv_attributes_3_0= ruleAttrClassConfig ) )*
             loop12:
             do {
                 int alt12=2;
                 int LA12_0 = input.LA(1);
 
-                if ( (LA12_0==31) ) {
+                if ( (LA12_0==30) ) {
                     alt12=1;
                 }
 
@@ -2136,25 +2333,29 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:855:1: (lv_attributes_3_0= ruleAttrClassConfig )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:856:3: lv_attributes_3_0= ruleAttrClassConfig
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getPortClassConfigAccess().getAttributesAttrClassConfigParserRuleCall_3_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPortClassConfigAccess().getAttributesAttrClassConfigParserRuleCall_3_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleAttrClassConfig_in_rulePortClassConfig1986);
             	    lv_attributes_3_0=ruleAttrClassConfig();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getPortClassConfigRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"attributes",
-            	            		lv_attributes_3_0, 
-            	            		"AttrClassConfig");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPortClassConfigRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"attributes",
+            	              		lv_attributes_3_0, 
+            	              		"AttrClassConfig");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -2167,17 +2368,21 @@
                 }
             } while (true);
 
-            otherlv_4=(Token)match(input,15,FOLLOW_15_in_rulePortClassConfig1999); 
+            otherlv_4=(Token)match(input,14,FOLLOW_14_in_rulePortClassConfig1999); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_4, grammarAccess.getPortClassConfigAccess().getRightCurlyBracketKeyword_4());
-                
+                  	newLeafNode(otherlv_4, grammarAccess.getPortClassConfigAccess().getRightCurlyBracketKeyword_4());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -2203,14 +2408,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:885:2: (iv_rulePortInstanceConfig= rulePortInstanceConfig EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:886:2: iv_rulePortInstanceConfig= rulePortInstanceConfig EOF
             {
-             newCompositeNode(grammarAccess.getPortInstanceConfigRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPortInstanceConfigRule()); 
+            }
             pushFollow(FOLLOW_rulePortInstanceConfig_in_entryRulePortInstanceConfig2035);
             iv_rulePortInstanceConfig=rulePortInstanceConfig();
 
             state._fsp--;
-
-             current =iv_rulePortInstanceConfig; 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePortInstanceConfig2045); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePortInstanceConfig; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePortInstanceConfig2045); if (state.failed) return current;
 
             }
 
@@ -2248,42 +2457,50 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:897:1: (otherlv_0= 'InterfaceItem' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( (lv_attributes_3_0= ruleAttrInstanceConfig ) )* otherlv_4= '}' )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:897:3: otherlv_0= 'InterfaceItem' ( (otherlv_1= RULE_ID ) ) otherlv_2= '{' ( (lv_attributes_3_0= ruleAttrInstanceConfig ) )* otherlv_4= '}'
             {
-            otherlv_0=(Token)match(input,30,FOLLOW_30_in_rulePortInstanceConfig2082); 
+            otherlv_0=(Token)match(input,29,FOLLOW_29_in_rulePortInstanceConfig2082); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getPortInstanceConfigAccess().getInterfaceItemKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getPortInstanceConfigAccess().getInterfaceItemKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:901:1: ( (otherlv_1= RULE_ID ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:902:1: (otherlv_1= RULE_ID )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:902:1: (otherlv_1= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:903:3: otherlv_1= RULE_ID
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getPortInstanceConfigRule());
-            	        }
-                    
-            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePortInstanceConfig2102); 
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getPortInstanceConfigRule());
+              	        }
+                      
+            }
+            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePortInstanceConfig2102); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		newLeafNode(otherlv_1, grammarAccess.getPortInstanceConfigAccess().getItemInterfaceItemCrossReference_1_0()); 
-            	
+              		newLeafNode(otherlv_1, grammarAccess.getPortInstanceConfigAccess().getItemInterfaceItemCrossReference_1_0()); 
+              	
+            }
 
             }
 
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_14_in_rulePortInstanceConfig2114); 
+            otherlv_2=(Token)match(input,13,FOLLOW_13_in_rulePortInstanceConfig2114); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getPortInstanceConfigAccess().getLeftCurlyBracketKeyword_2());
-                
+                  	newLeafNode(otherlv_2, grammarAccess.getPortInstanceConfigAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:918:1: ( (lv_attributes_3_0= ruleAttrInstanceConfig ) )*
             loop13:
             do {
                 int alt13=2;
                 int LA13_0 = input.LA(1);
 
-                if ( (LA13_0==31) ) {
+                if ( (LA13_0==30) ) {
                     alt13=1;
                 }
 
@@ -2295,25 +2512,29 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:919:1: (lv_attributes_3_0= ruleAttrInstanceConfig )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:920:3: lv_attributes_3_0= ruleAttrInstanceConfig
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getPortInstanceConfigAccess().getAttributesAttrInstanceConfigParserRuleCall_3_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPortInstanceConfigAccess().getAttributesAttrInstanceConfigParserRuleCall_3_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleAttrInstanceConfig_in_rulePortInstanceConfig2135);
             	    lv_attributes_3_0=ruleAttrInstanceConfig();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getPortInstanceConfigRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"attributes",
-            	            		lv_attributes_3_0, 
-            	            		"AttrInstanceConfig");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPortInstanceConfigRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"attributes",
+            	              		lv_attributes_3_0, 
+            	              		"AttrInstanceConfig");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -2326,17 +2547,21 @@
                 }
             } while (true);
 
-            otherlv_4=(Token)match(input,15,FOLLOW_15_in_rulePortInstanceConfig2148); 
+            otherlv_4=(Token)match(input,14,FOLLOW_14_in_rulePortInstanceConfig2148); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_4, grammarAccess.getPortInstanceConfigAccess().getRightCurlyBracketKeyword_4());
-                
+                  	newLeafNode(otherlv_4, grammarAccess.getPortInstanceConfigAccess().getRightCurlyBracketKeyword_4());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -2362,14 +2587,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:951:2: (iv_ruleAttrClassConfig= ruleAttrClassConfig EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:952:2: iv_ruleAttrClassConfig= ruleAttrClassConfig EOF
             {
-             newCompositeNode(grammarAccess.getAttrClassConfigRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getAttrClassConfigRule()); 
+            }
             pushFollow(FOLLOW_ruleAttrClassConfig_in_entryRuleAttrClassConfig2186);
             iv_ruleAttrClassConfig=ruleAttrClassConfig();
 
             state._fsp--;
-
-             current =iv_ruleAttrClassConfig; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAttrClassConfig2196); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleAttrClassConfig; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAttrClassConfig2196); if (state.failed) return current;
 
             }
 
@@ -2418,25 +2647,31 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:963:1: (otherlv_0= 'Attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleConfigValueArray ) ) )? (otherlv_4= '{' ( (otherlv_5= 'min' otherlv_6= '=' ( (lv_min_7_0= ruleNumberLiteral ) ) )? (otherlv_8= 'max' otherlv_9= '=' ( (lv_max_10_0= ruleNumberLiteral ) ) )? ( (lv_attributes_11_0= ruleAttrClassConfig ) )* ) otherlv_12= '}' )? )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:963:3: otherlv_0= 'Attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleConfigValueArray ) ) )? (otherlv_4= '{' ( (otherlv_5= 'min' otherlv_6= '=' ( (lv_min_7_0= ruleNumberLiteral ) ) )? (otherlv_8= 'max' otherlv_9= '=' ( (lv_max_10_0= ruleNumberLiteral ) ) )? ( (lv_attributes_11_0= ruleAttrClassConfig ) )* ) otherlv_12= '}' )?
             {
-            otherlv_0=(Token)match(input,31,FOLLOW_31_in_ruleAttrClassConfig2233); 
+            otherlv_0=(Token)match(input,30,FOLLOW_30_in_ruleAttrClassConfig2233); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getAttrClassConfigAccess().getAttrKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getAttrClassConfigAccess().getAttrKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:967:1: ( (otherlv_1= RULE_ID ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:968:1: (otherlv_1= RULE_ID )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:968:1: (otherlv_1= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:969:3: otherlv_1= RULE_ID
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getAttrClassConfigRule());
-            	        }
-                    
-            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAttrClassConfig2253); 
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getAttrClassConfigRule());
+              	        }
+                      
+            }
+            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAttrClassConfig2253); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		newLeafNode(otherlv_1, grammarAccess.getAttrClassConfigAccess().getAttributeAttributeCrossReference_1_0()); 
-            	
+              		newLeafNode(otherlv_1, grammarAccess.getAttrClassConfigAccess().getAttributeAttributeCrossReference_1_0()); 
+              	
+            }
 
             }
 
@@ -2447,42 +2682,48 @@
             int alt14=2;
             int LA14_0 = input.LA(1);
 
-            if ( (LA14_0==32) ) {
+            if ( (LA14_0==31) ) {
                 alt14=1;
             }
             switch (alt14) {
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:980:4: otherlv_2= '=' ( (lv_value_3_0= ruleConfigValueArray ) )
                     {
-                    otherlv_2=(Token)match(input,32,FOLLOW_32_in_ruleAttrClassConfig2266); 
+                    otherlv_2=(Token)match(input,31,FOLLOW_31_in_ruleAttrClassConfig2266); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_2, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_2_0());
-                        
+                          	newLeafNode(otherlv_2, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_2_0());
+                          
+                    }
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:984:1: ( (lv_value_3_0= ruleConfigValueArray ) )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:985:1: (lv_value_3_0= ruleConfigValueArray )
                     {
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:985:1: (lv_value_3_0= ruleConfigValueArray )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:986:3: lv_value_3_0= ruleConfigValueArray
                     {
-                     
-                    	        newCompositeNode(grammarAccess.getAttrClassConfigAccess().getValueConfigValueArrayParserRuleCall_2_1_0()); 
-                    	    
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getAttrClassConfigAccess().getValueConfigValueArrayParserRuleCall_2_1_0()); 
+                      	    
+                    }
                     pushFollow(FOLLOW_ruleConfigValueArray_in_ruleAttrClassConfig2287);
                     lv_value_3_0=ruleConfigValueArray();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"value",
-                            		lv_value_3_0, 
-                            		"ConfigValueArray");
-                    	        afterParserOrEnumRuleCall();
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"value",
+                              		lv_value_3_0, 
+                              		"ConfigValueArray");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
 
                     }
 
@@ -2499,17 +2740,19 @@
             int alt18=2;
             int LA18_0 = input.LA(1);
 
-            if ( (LA18_0==14) ) {
+            if ( (LA18_0==13) ) {
                 alt18=1;
             }
             switch (alt18) {
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1002:6: otherlv_4= '{' ( (otherlv_5= 'min' otherlv_6= '=' ( (lv_min_7_0= ruleNumberLiteral ) ) )? (otherlv_8= 'max' otherlv_9= '=' ( (lv_max_10_0= ruleNumberLiteral ) ) )? ( (lv_attributes_11_0= ruleAttrClassConfig ) )* ) otherlv_12= '}'
                     {
-                    otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleAttrClassConfig2302); 
+                    otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleAttrClassConfig2302); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_4, grammarAccess.getAttrClassConfigAccess().getLeftCurlyBracketKeyword_3_0());
-                        
+                          	newLeafNode(otherlv_4, grammarAccess.getAttrClassConfigAccess().getLeftCurlyBracketKeyword_3_0());
+                          
+                    }
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1006:1: ( (otherlv_5= 'min' otherlv_6= '=' ( (lv_min_7_0= ruleNumberLiteral ) ) )? (otherlv_8= 'max' otherlv_9= '=' ( (lv_max_10_0= ruleNumberLiteral ) ) )? ( (lv_attributes_11_0= ruleAttrClassConfig ) )* )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1006:2: (otherlv_5= 'min' otherlv_6= '=' ( (lv_min_7_0= ruleNumberLiteral ) ) )? (otherlv_8= 'max' otherlv_9= '=' ( (lv_max_10_0= ruleNumberLiteral ) ) )? ( (lv_attributes_11_0= ruleAttrClassConfig ) )*
                     {
@@ -2517,46 +2760,54 @@
                     int alt15=2;
                     int LA15_0 = input.LA(1);
 
-                    if ( (LA15_0==33) ) {
+                    if ( (LA15_0==32) ) {
                         alt15=1;
                     }
                     switch (alt15) {
                         case 1 :
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1006:4: otherlv_5= 'min' otherlv_6= '=' ( (lv_min_7_0= ruleNumberLiteral ) )
                             {
-                            otherlv_5=(Token)match(input,33,FOLLOW_33_in_ruleAttrClassConfig2316); 
+                            otherlv_5=(Token)match(input,32,FOLLOW_32_in_ruleAttrClassConfig2316); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
 
-                                	newLeafNode(otherlv_5, grammarAccess.getAttrClassConfigAccess().getMinKeyword_3_1_0_0());
-                                
-                            otherlv_6=(Token)match(input,32,FOLLOW_32_in_ruleAttrClassConfig2328); 
+                                  	newLeafNode(otherlv_5, grammarAccess.getAttrClassConfigAccess().getMinKeyword_3_1_0_0());
+                                  
+                            }
+                            otherlv_6=(Token)match(input,31,FOLLOW_31_in_ruleAttrClassConfig2328); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
 
-                                	newLeafNode(otherlv_6, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_0_1());
-                                
+                                  	newLeafNode(otherlv_6, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_0_1());
+                                  
+                            }
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1014:1: ( (lv_min_7_0= ruleNumberLiteral ) )
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1015:1: (lv_min_7_0= ruleNumberLiteral )
                             {
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1015:1: (lv_min_7_0= ruleNumberLiteral )
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1016:3: lv_min_7_0= ruleNumberLiteral
                             {
-                             
-                            	        newCompositeNode(grammarAccess.getAttrClassConfigAccess().getMinNumberLiteralParserRuleCall_3_1_0_2_0()); 
-                            	    
+                            if ( state.backtracking==0 ) {
+                               
+                              	        newCompositeNode(grammarAccess.getAttrClassConfigAccess().getMinNumberLiteralParserRuleCall_3_1_0_2_0()); 
+                              	    
+                            }
                             pushFollow(FOLLOW_ruleNumberLiteral_in_ruleAttrClassConfig2349);
                             lv_min_7_0=ruleNumberLiteral();
 
                             state._fsp--;
+                            if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
 
-
-                            	        if (current==null) {
-                            	            current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
-                            	        }
-                                   		set(
-                                   			current, 
-                                   			"min",
-                                    		lv_min_7_0, 
-                                    		"NumberLiteral");
-                            	        afterParserOrEnumRuleCall();
-                            	    
+                              	        if (current==null) {
+                              	            current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
+                              	        }
+                                     		set(
+                                     			current, 
+                                     			"min",
+                                      		lv_min_7_0, 
+                                      		"NumberLiteral");
+                              	        afterParserOrEnumRuleCall();
+                              	    
+                            }
 
                             }
 
@@ -2573,46 +2824,54 @@
                     int alt16=2;
                     int LA16_0 = input.LA(1);
 
-                    if ( (LA16_0==34) ) {
+                    if ( (LA16_0==33) ) {
                         alt16=1;
                     }
                     switch (alt16) {
                         case 1 :
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1032:6: otherlv_8= 'max' otherlv_9= '=' ( (lv_max_10_0= ruleNumberLiteral ) )
                             {
-                            otherlv_8=(Token)match(input,34,FOLLOW_34_in_ruleAttrClassConfig2364); 
+                            otherlv_8=(Token)match(input,33,FOLLOW_33_in_ruleAttrClassConfig2364); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
 
-                                	newLeafNode(otherlv_8, grammarAccess.getAttrClassConfigAccess().getMaxKeyword_3_1_1_0());
-                                
-                            otherlv_9=(Token)match(input,32,FOLLOW_32_in_ruleAttrClassConfig2376); 
+                                  	newLeafNode(otherlv_8, grammarAccess.getAttrClassConfigAccess().getMaxKeyword_3_1_1_0());
+                                  
+                            }
+                            otherlv_9=(Token)match(input,31,FOLLOW_31_in_ruleAttrClassConfig2376); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
 
-                                	newLeafNode(otherlv_9, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_1_1());
-                                
+                                  	newLeafNode(otherlv_9, grammarAccess.getAttrClassConfigAccess().getEqualsSignKeyword_3_1_1_1());
+                                  
+                            }
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1040:1: ( (lv_max_10_0= ruleNumberLiteral ) )
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1041:1: (lv_max_10_0= ruleNumberLiteral )
                             {
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1041:1: (lv_max_10_0= ruleNumberLiteral )
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1042:3: lv_max_10_0= ruleNumberLiteral
                             {
-                             
-                            	        newCompositeNode(grammarAccess.getAttrClassConfigAccess().getMaxNumberLiteralParserRuleCall_3_1_1_2_0()); 
-                            	    
+                            if ( state.backtracking==0 ) {
+                               
+                              	        newCompositeNode(grammarAccess.getAttrClassConfigAccess().getMaxNumberLiteralParserRuleCall_3_1_1_2_0()); 
+                              	    
+                            }
                             pushFollow(FOLLOW_ruleNumberLiteral_in_ruleAttrClassConfig2397);
                             lv_max_10_0=ruleNumberLiteral();
 
                             state._fsp--;
+                            if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
 
-
-                            	        if (current==null) {
-                            	            current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
-                            	        }
-                                   		set(
-                                   			current, 
-                                   			"max",
-                                    		lv_max_10_0, 
-                                    		"NumberLiteral");
-                            	        afterParserOrEnumRuleCall();
-                            	    
+                              	        if (current==null) {
+                              	            current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
+                              	        }
+                                     		set(
+                                     			current, 
+                                     			"max",
+                                      		lv_max_10_0, 
+                                      		"NumberLiteral");
+                              	        afterParserOrEnumRuleCall();
+                              	    
+                            }
 
                             }
 
@@ -2631,7 +2890,7 @@
                         int alt17=2;
                         int LA17_0 = input.LA(1);
 
-                        if ( (LA17_0==31) ) {
+                        if ( (LA17_0==30) ) {
                             alt17=1;
                         }
 
@@ -2643,25 +2902,29 @@
                     	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1059:1: (lv_attributes_11_0= ruleAttrClassConfig )
                     	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1060:3: lv_attributes_11_0= ruleAttrClassConfig
                     	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getAttrClassConfigAccess().getAttributesAttrClassConfigParserRuleCall_3_1_2_0()); 
-                    	    	    
+                    	    if ( state.backtracking==0 ) {
+                    	       
+                    	      	        newCompositeNode(grammarAccess.getAttrClassConfigAccess().getAttributesAttrClassConfigParserRuleCall_3_1_2_0()); 
+                    	      	    
+                    	    }
                     	    pushFollow(FOLLOW_ruleAttrClassConfig_in_ruleAttrClassConfig2420);
                     	    lv_attributes_11_0=ruleAttrClassConfig();
 
                     	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
 
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"attributes",
-                    	            		lv_attributes_11_0, 
-                    	            		"AttrClassConfig");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
+                    	      	        if (current==null) {
+                    	      	            current = createModelElementForParent(grammarAccess.getAttrClassConfigRule());
+                    	      	        }
+                    	             		add(
+                    	             			current, 
+                    	             			"attributes",
+                    	              		lv_attributes_11_0, 
+                    	              		"AttrClassConfig");
+                    	      	        afterParserOrEnumRuleCall();
+                    	      	    
+                    	    }
 
                     	    }
 
@@ -2677,10 +2940,12 @@
 
                     }
 
-                    otherlv_12=(Token)match(input,15,FOLLOW_15_in_ruleAttrClassConfig2434); 
+                    otherlv_12=(Token)match(input,14,FOLLOW_14_in_ruleAttrClassConfig2434); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_12, grammarAccess.getAttrClassConfigAccess().getRightCurlyBracketKeyword_3_2());
-                        
+                          	newLeafNode(otherlv_12, grammarAccess.getAttrClassConfigAccess().getRightCurlyBracketKeyword_3_2());
+                          
+                    }
 
                     }
                     break;
@@ -2693,7 +2958,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -2719,14 +2986,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1089:2: (iv_ruleAttrInstanceConfig= ruleAttrInstanceConfig EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1090:2: iv_ruleAttrInstanceConfig= ruleAttrInstanceConfig EOF
             {
-             newCompositeNode(grammarAccess.getAttrInstanceConfigRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getAttrInstanceConfigRule()); 
+            }
             pushFollow(FOLLOW_ruleAttrInstanceConfig_in_entryRuleAttrInstanceConfig2472);
             iv_ruleAttrInstanceConfig=ruleAttrInstanceConfig();
 
             state._fsp--;
-
-             current =iv_ruleAttrInstanceConfig; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAttrInstanceConfig2482); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleAttrInstanceConfig; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAttrInstanceConfig2482); if (state.failed) return current;
 
             }
 
@@ -2770,25 +3041,31 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1101:1: (otherlv_0= 'Attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleConfigValueArray ) ) )? (otherlv_4= '{' ( ( ( (lv_dynConfig_5_0= 'dynamic configuration' ) ) ( ( (lv_readOnly_6_0= 'read' ) ) | otherlv_7= 'write' ) )? ( (lv_attributes_8_0= ruleAttrInstanceConfig ) )* ) otherlv_9= '}' )? )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1101:3: otherlv_0= 'Attr' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '=' ( (lv_value_3_0= ruleConfigValueArray ) ) )? (otherlv_4= '{' ( ( ( (lv_dynConfig_5_0= 'dynamic configuration' ) ) ( ( (lv_readOnly_6_0= 'read' ) ) | otherlv_7= 'write' ) )? ( (lv_attributes_8_0= ruleAttrInstanceConfig ) )* ) otherlv_9= '}' )?
             {
-            otherlv_0=(Token)match(input,31,FOLLOW_31_in_ruleAttrInstanceConfig2519); 
+            otherlv_0=(Token)match(input,30,FOLLOW_30_in_ruleAttrInstanceConfig2519); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getAttrInstanceConfigAccess().getAttrKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getAttrInstanceConfigAccess().getAttrKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1105:1: ( (otherlv_1= RULE_ID ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1106:1: (otherlv_1= RULE_ID )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1106:1: (otherlv_1= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1107:3: otherlv_1= RULE_ID
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getAttrInstanceConfigRule());
-            	        }
-                    
-            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAttrInstanceConfig2539); 
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getAttrInstanceConfigRule());
+              	        }
+                      
+            }
+            otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAttrInstanceConfig2539); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		newLeafNode(otherlv_1, grammarAccess.getAttrInstanceConfigAccess().getAttributeAttributeCrossReference_1_0()); 
-            	
+              		newLeafNode(otherlv_1, grammarAccess.getAttrInstanceConfigAccess().getAttributeAttributeCrossReference_1_0()); 
+              	
+            }
 
             }
 
@@ -2799,42 +3076,48 @@
             int alt19=2;
             int LA19_0 = input.LA(1);
 
-            if ( (LA19_0==32) ) {
+            if ( (LA19_0==31) ) {
                 alt19=1;
             }
             switch (alt19) {
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1118:4: otherlv_2= '=' ( (lv_value_3_0= ruleConfigValueArray ) )
                     {
-                    otherlv_2=(Token)match(input,32,FOLLOW_32_in_ruleAttrInstanceConfig2552); 
+                    otherlv_2=(Token)match(input,31,FOLLOW_31_in_ruleAttrInstanceConfig2552); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_2, grammarAccess.getAttrInstanceConfigAccess().getEqualsSignKeyword_2_0());
-                        
+                          	newLeafNode(otherlv_2, grammarAccess.getAttrInstanceConfigAccess().getEqualsSignKeyword_2_0());
+                          
+                    }
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1122:1: ( (lv_value_3_0= ruleConfigValueArray ) )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1123:1: (lv_value_3_0= ruleConfigValueArray )
                     {
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1123:1: (lv_value_3_0= ruleConfigValueArray )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1124:3: lv_value_3_0= ruleConfigValueArray
                     {
-                     
-                    	        newCompositeNode(grammarAccess.getAttrInstanceConfigAccess().getValueConfigValueArrayParserRuleCall_2_1_0()); 
-                    	    
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getAttrInstanceConfigAccess().getValueConfigValueArrayParserRuleCall_2_1_0()); 
+                      	    
+                    }
                     pushFollow(FOLLOW_ruleConfigValueArray_in_ruleAttrInstanceConfig2573);
                     lv_value_3_0=ruleConfigValueArray();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getAttrInstanceConfigRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"value",
-                            		lv_value_3_0, 
-                            		"ConfigValueArray");
-                    	        afterParserOrEnumRuleCall();
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getAttrInstanceConfigRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"value",
+                              		lv_value_3_0, 
+                              		"ConfigValueArray");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
 
                     }
 
@@ -2851,17 +3134,19 @@
             int alt23=2;
             int LA23_0 = input.LA(1);
 
-            if ( (LA23_0==14) ) {
+            if ( (LA23_0==13) ) {
                 alt23=1;
             }
             switch (alt23) {
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1140:6: otherlv_4= '{' ( ( ( (lv_dynConfig_5_0= 'dynamic configuration' ) ) ( ( (lv_readOnly_6_0= 'read' ) ) | otherlv_7= 'write' ) )? ( (lv_attributes_8_0= ruleAttrInstanceConfig ) )* ) otherlv_9= '}'
                     {
-                    otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleAttrInstanceConfig2588); 
+                    otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleAttrInstanceConfig2588); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_4, grammarAccess.getAttrInstanceConfigAccess().getLeftCurlyBracketKeyword_3_0());
-                        
+                          	newLeafNode(otherlv_4, grammarAccess.getAttrInstanceConfigAccess().getLeftCurlyBracketKeyword_3_0());
+                          
+                    }
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1144:1: ( ( ( (lv_dynConfig_5_0= 'dynamic configuration' ) ) ( ( (lv_readOnly_6_0= 'read' ) ) | otherlv_7= 'write' ) )? ( (lv_attributes_8_0= ruleAttrInstanceConfig ) )* )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1144:2: ( ( (lv_dynConfig_5_0= 'dynamic configuration' ) ) ( ( (lv_readOnly_6_0= 'read' ) ) | otherlv_7= 'write' ) )? ( (lv_attributes_8_0= ruleAttrInstanceConfig ) )*
                     {
@@ -2869,7 +3154,7 @@
                     int alt21=2;
                     int LA21_0 = input.LA(1);
 
-                    if ( (LA21_0==18) ) {
+                    if ( (LA21_0==17) ) {
                         alt21=1;
                     }
                     switch (alt21) {
@@ -2882,16 +3167,20 @@
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1145:1: (lv_dynConfig_5_0= 'dynamic configuration' )
                             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1146:3: lv_dynConfig_5_0= 'dynamic configuration'
                             {
-                            lv_dynConfig_5_0=(Token)match(input,18,FOLLOW_18_in_ruleAttrInstanceConfig2608); 
+                            lv_dynConfig_5_0=(Token)match(input,17,FOLLOW_17_in_ruleAttrInstanceConfig2608); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
 
-                                    newLeafNode(lv_dynConfig_5_0, grammarAccess.getAttrInstanceConfigAccess().getDynConfigDynamicConfigurationKeyword_3_1_0_0_0());
-                                
+                                      newLeafNode(lv_dynConfig_5_0, grammarAccess.getAttrInstanceConfigAccess().getDynConfigDynamicConfigurationKeyword_3_1_0_0_0());
+                                  
+                            }
+                            if ( state.backtracking==0 ) {
 
-                            	        if (current==null) {
-                            	            current = createModelElement(grammarAccess.getAttrInstanceConfigRule());
-                            	        }
-                                   		setWithLastConsumed(current, "dynConfig", true, "dynamic configuration");
-                            	    
+                              	        if (current==null) {
+                              	            current = createModelElement(grammarAccess.getAttrInstanceConfigRule());
+                              	        }
+                                     		setWithLastConsumed(current, "dynConfig", true, "dynamic configuration");
+                              	    
+                            }
 
                             }
 
@@ -2902,13 +3191,14 @@
                             int alt20=2;
                             int LA20_0 = input.LA(1);
 
-                            if ( (LA20_0==35) ) {
+                            if ( (LA20_0==34) ) {
                                 alt20=1;
                             }
-                            else if ( (LA20_0==36) ) {
+                            else if ( (LA20_0==35) ) {
                                 alt20=2;
                             }
                             else {
+                                if (state.backtracking>0) {state.failed=true; return current;}
                                 NoViableAltException nvae =
                                     new NoViableAltException("", 20, 0, input);
 
@@ -2924,16 +3214,20 @@
                                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1160:1: (lv_readOnly_6_0= 'read' )
                                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1161:3: lv_readOnly_6_0= 'read'
                                     {
-                                    lv_readOnly_6_0=(Token)match(input,35,FOLLOW_35_in_ruleAttrInstanceConfig2640); 
+                                    lv_readOnly_6_0=(Token)match(input,34,FOLLOW_34_in_ruleAttrInstanceConfig2640); if (state.failed) return current;
+                                    if ( state.backtracking==0 ) {
 
-                                            newLeafNode(lv_readOnly_6_0, grammarAccess.getAttrInstanceConfigAccess().getReadOnlyReadKeyword_3_1_0_1_0_0());
-                                        
+                                              newLeafNode(lv_readOnly_6_0, grammarAccess.getAttrInstanceConfigAccess().getReadOnlyReadKeyword_3_1_0_1_0_0());
+                                          
+                                    }
+                                    if ( state.backtracking==0 ) {
 
-                                    	        if (current==null) {
-                                    	            current = createModelElement(grammarAccess.getAttrInstanceConfigRule());
-                                    	        }
-                                           		setWithLastConsumed(current, "readOnly", true, "read");
-                                    	    
+                                      	        if (current==null) {
+                                      	            current = createModelElement(grammarAccess.getAttrInstanceConfigRule());
+                                      	        }
+                                             		setWithLastConsumed(current, "readOnly", true, "read");
+                                      	    
+                                    }
 
                                     }
 
@@ -2946,10 +3240,12 @@
                                 case 2 :
                                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1175:7: otherlv_7= 'write'
                                     {
-                                    otherlv_7=(Token)match(input,36,FOLLOW_36_in_ruleAttrInstanceConfig2671); 
+                                    otherlv_7=(Token)match(input,35,FOLLOW_35_in_ruleAttrInstanceConfig2671); if (state.failed) return current;
+                                    if ( state.backtracking==0 ) {
 
-                                        	newLeafNode(otherlv_7, grammarAccess.getAttrInstanceConfigAccess().getWriteKeyword_3_1_0_1_1());
-                                        
+                                          	newLeafNode(otherlv_7, grammarAccess.getAttrInstanceConfigAccess().getWriteKeyword_3_1_0_1_1());
+                                          
+                                    }
 
                                     }
                                     break;
@@ -2968,7 +3264,7 @@
                         int alt22=2;
                         int LA22_0 = input.LA(1);
 
-                        if ( (LA22_0==31) ) {
+                        if ( (LA22_0==30) ) {
                             alt22=1;
                         }
 
@@ -2980,25 +3276,29 @@
                     	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1180:1: (lv_attributes_8_0= ruleAttrInstanceConfig )
                     	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1181:3: lv_attributes_8_0= ruleAttrInstanceConfig
                     	    {
-                    	     
-                    	    	        newCompositeNode(grammarAccess.getAttrInstanceConfigAccess().getAttributesAttrInstanceConfigParserRuleCall_3_1_1_0()); 
-                    	    	    
+                    	    if ( state.backtracking==0 ) {
+                    	       
+                    	      	        newCompositeNode(grammarAccess.getAttrInstanceConfigAccess().getAttributesAttrInstanceConfigParserRuleCall_3_1_1_0()); 
+                    	      	    
+                    	    }
                     	    pushFollow(FOLLOW_ruleAttrInstanceConfig_in_ruleAttrInstanceConfig2695);
                     	    lv_attributes_8_0=ruleAttrInstanceConfig();
 
                     	    state._fsp--;
+                    	    if (state.failed) return current;
+                    	    if ( state.backtracking==0 ) {
 
-
-                    	    	        if (current==null) {
-                    	    	            current = createModelElementForParent(grammarAccess.getAttrInstanceConfigRule());
-                    	    	        }
-                    	           		add(
-                    	           			current, 
-                    	           			"attributes",
-                    	            		lv_attributes_8_0, 
-                    	            		"AttrInstanceConfig");
-                    	    	        afterParserOrEnumRuleCall();
-                    	    	    
+                    	      	        if (current==null) {
+                    	      	            current = createModelElementForParent(grammarAccess.getAttrInstanceConfigRule());
+                    	      	        }
+                    	             		add(
+                    	             			current, 
+                    	             			"attributes",
+                    	              		lv_attributes_8_0, 
+                    	              		"AttrInstanceConfig");
+                    	      	        afterParserOrEnumRuleCall();
+                    	      	    
+                    	    }
 
                     	    }
 
@@ -3014,10 +3314,12 @@
 
                     }
 
-                    otherlv_9=(Token)match(input,15,FOLLOW_15_in_ruleAttrInstanceConfig2709); 
+                    otherlv_9=(Token)match(input,14,FOLLOW_14_in_ruleAttrInstanceConfig2709); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_9, grammarAccess.getAttrInstanceConfigAccess().getRightCurlyBracketKeyword_3_2());
-                        
+                          	newLeafNode(otherlv_9, grammarAccess.getAttrInstanceConfigAccess().getRightCurlyBracketKeyword_3_2());
+                          
+                    }
 
                     }
                     break;
@@ -3030,7 +3332,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3056,14 +3360,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1210:2: (iv_ruleConfigValueArray= ruleConfigValueArray EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1211:2: iv_ruleConfigValueArray= ruleConfigValueArray EOF
             {
-             newCompositeNode(grammarAccess.getConfigValueArrayRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getConfigValueArrayRule()); 
+            }
             pushFollow(FOLLOW_ruleConfigValueArray_in_entryRuleConfigValueArray2747);
             iv_ruleConfigValueArray=ruleConfigValueArray();
 
             state._fsp--;
-
-             current =iv_ruleConfigValueArray; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigValueArray2757); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleConfigValueArray; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigValueArray2757); if (state.failed) return current;
 
             }
 
@@ -3106,25 +3414,29 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1223:1: (lv_values_0_0= ruleConfigValue )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1224:3: lv_values_0_0= ruleConfigValue
             {
-             
-            	        newCompositeNode(grammarAccess.getConfigValueArrayAccess().getValuesConfigValueParserRuleCall_0_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getConfigValueArrayAccess().getValuesConfigValueParserRuleCall_0_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleConfigValue_in_ruleConfigValueArray2803);
             lv_values_0_0=ruleConfigValue();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getConfigValueArrayRule());
-            	        }
-                   		add(
-                   			current, 
-                   			"values",
-                    		lv_values_0_0, 
-                    		"ConfigValue");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getConfigValueArrayRule());
+              	        }
+                     		add(
+                     			current, 
+                     			"values",
+                      		lv_values_0_0, 
+                      		"ConfigValue");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -3137,7 +3449,7 @@
                 int alt24=2;
                 int LA24_0 = input.LA(1);
 
-                if ( (LA24_0==37) ) {
+                if ( (LA24_0==36) ) {
                     alt24=1;
                 }
 
@@ -3146,35 +3458,41 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1240:4: otherlv_1= ',' ( (lv_values_2_0= ruleConfigValue ) )
             	    {
-            	    otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleConfigValueArray2816); 
+            	    otherlv_1=(Token)match(input,36,FOLLOW_36_in_ruleConfigValueArray2816); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_1, grammarAccess.getConfigValueArrayAccess().getCommaKeyword_1_0());
-            	        
+            	          	newLeafNode(otherlv_1, grammarAccess.getConfigValueArrayAccess().getCommaKeyword_1_0());
+            	          
+            	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1244:1: ( (lv_values_2_0= ruleConfigValue ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1245:1: (lv_values_2_0= ruleConfigValue )
             	    {
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1245:1: (lv_values_2_0= ruleConfigValue )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1246:3: lv_values_2_0= ruleConfigValue
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getConfigValueArrayAccess().getValuesConfigValueParserRuleCall_1_1_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getConfigValueArrayAccess().getValuesConfigValueParserRuleCall_1_1_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleConfigValue_in_ruleConfigValueArray2837);
             	    lv_values_2_0=ruleConfigValue();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getConfigValueArrayRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"values",
-            	            		lv_values_2_0, 
-            	            		"ConfigValue");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getConfigValueArrayRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"values",
+            	              		lv_values_2_0, 
+            	              		"ConfigValue");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -3196,7 +3514,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3222,14 +3542,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1271:2: (iv_ruleConfigValue= ruleConfigValue EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1272:2: iv_ruleConfigValue= ruleConfigValue EOF
             {
-             newCompositeNode(grammarAccess.getConfigValueRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getConfigValueRule()); 
+            }
             pushFollow(FOLLOW_ruleConfigValue_in_entryRuleConfigValue2875);
             iv_ruleConfigValue=ruleConfigValue();
 
             state._fsp--;
-
-             current =iv_ruleConfigValue; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigValue2885); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleConfigValue; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleConfigValue2885); if (state.failed) return current;
 
             }
 
@@ -3266,13 +3590,14 @@
             int alt25=2;
             int LA25_0 = input.LA(1);
 
-            if ( ((LA25_0>=RULE_STRING && LA25_0<=RULE_HEX)||LA25_0==38||(LA25_0>=53 && LA25_0<=56)) ) {
+            if ( ((LA25_0>=RULE_STRING && LA25_0<=RULE_HEX)||(LA25_0>=52 && LA25_0<=55)) ) {
                 alt25=1;
             }
             else if ( (LA25_0==RULE_ID) ) {
                 alt25=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 25, 0, input);
 
@@ -3282,36 +3607,44 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1284:5: this_LiteralConfigValue_0= ruleLiteralConfigValue
                     {
-                     
-                            newCompositeNode(grammarAccess.getConfigValueAccess().getLiteralConfigValueParserRuleCall_0()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getConfigValueAccess().getLiteralConfigValueParserRuleCall_0()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleLiteralConfigValue_in_ruleConfigValue2932);
                     this_LiteralConfigValue_0=ruleLiteralConfigValue();
 
                     state._fsp--;
-
-                     
-                            current = this_LiteralConfigValue_0; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_LiteralConfigValue_0; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 2 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1294:5: this_EnumConfigValue_1= ruleEnumConfigValue
                     {
-                     
-                            newCompositeNode(grammarAccess.getConfigValueAccess().getEnumConfigValueParserRuleCall_1()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getConfigValueAccess().getEnumConfigValueParserRuleCall_1()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleEnumConfigValue_in_ruleConfigValue2959);
                     this_EnumConfigValue_1=ruleEnumConfigValue();
 
                     state._fsp--;
-
-                     
-                            current = this_EnumConfigValue_1; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_EnumConfigValue_1; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
@@ -3321,7 +3654,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3347,14 +3682,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1311:2: (iv_ruleLiteralConfigValue= ruleLiteralConfigValue EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1312:2: iv_ruleLiteralConfigValue= ruleLiteralConfigValue EOF
             {
-             newCompositeNode(grammarAccess.getLiteralConfigValueRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getLiteralConfigValueRule()); 
+            }
             pushFollow(FOLLOW_ruleLiteralConfigValue_in_entryRuleLiteralConfigValue2994);
             iv_ruleLiteralConfigValue=ruleLiteralConfigValue();
 
             state._fsp--;
-
-             current =iv_ruleLiteralConfigValue; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteralConfigValue3004); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleLiteralConfigValue; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteralConfigValue3004); if (state.failed) return current;
 
             }
 
@@ -3391,25 +3730,29 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1324:1: (lv_value_0_0= ruleLiteral )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1325:3: lv_value_0_0= ruleLiteral
             {
-             
-            	        newCompositeNode(grammarAccess.getLiteralConfigValueAccess().getValueLiteralParserRuleCall_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getLiteralConfigValueAccess().getValueLiteralParserRuleCall_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleLiteral_in_ruleLiteralConfigValue3049);
             lv_value_0_0=ruleLiteral();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getLiteralConfigValueRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_0_0, 
-                    		"Literal");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getLiteralConfigValueRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"value",
+                      		lv_value_0_0, 
+                      		"Literal");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -3419,7 +3762,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3445,14 +3790,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1350:2: (iv_ruleEnumConfigValue= ruleEnumConfigValue EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1351:2: iv_ruleEnumConfigValue= ruleEnumConfigValue EOF
             {
-             newCompositeNode(grammarAccess.getEnumConfigValueRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEnumConfigValueRule()); 
+            }
             pushFollow(FOLLOW_ruleEnumConfigValue_in_entryRuleEnumConfigValue3084);
             iv_ruleEnumConfigValue=ruleEnumConfigValue();
 
             state._fsp--;
-
-             current =iv_ruleEnumConfigValue; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumConfigValue3094); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEnumConfigValue; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumConfigValue3094); if (state.failed) return current;
 
             }
 
@@ -3493,40 +3842,50 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1363:1: (otherlv_0= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1364:3: otherlv_0= RULE_ID
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getEnumConfigValueRule());
-            	        }
-                    
-            otherlv_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEnumConfigValue3139); 
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getEnumConfigValueRule());
+              	        }
+                      
+            }
+            otherlv_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEnumConfigValue3139); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		newLeafNode(otherlv_0, grammarAccess.getEnumConfigValueAccess().getTypeEnumerationTypeCrossReference_0_0()); 
-            	
+              		newLeafNode(otherlv_0, grammarAccess.getEnumConfigValueAccess().getTypeEnumerationTypeCrossReference_0_0()); 
+              	
+            }
 
             }
 
 
             }
 
-            otherlv_1=(Token)match(input,38,FOLLOW_38_in_ruleEnumConfigValue3151); 
+            otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleEnumConfigValue3151); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_1, grammarAccess.getEnumConfigValueAccess().getFullStopKeyword_1());
-                
+                  	newLeafNode(otherlv_1, grammarAccess.getEnumConfigValueAccess().getFullStopKeyword_1());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1379:1: ( (otherlv_2= RULE_ID ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1380:1: (otherlv_2= RULE_ID )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1380:1: (otherlv_2= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1381:3: otherlv_2= RULE_ID
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getEnumConfigValueRule());
-            	        }
-                    
-            otherlv_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEnumConfigValue3171); 
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getEnumConfigValueRule());
+              	        }
+                      
+            }
+            otherlv_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEnumConfigValue3171); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		newLeafNode(otherlv_2, grammarAccess.getEnumConfigValueAccess().getValueEnumLiteralCrossReference_2_0()); 
-            	
+              		newLeafNode(otherlv_2, grammarAccess.getEnumConfigValueAccess().getValueEnumLiteralCrossReference_2_0()); 
+              	
+            }
 
             }
 
@@ -3539,7 +3898,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3565,14 +3926,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1401:2: (iv_ruleRefPath= ruleRefPath EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1402:2: iv_ruleRefPath= ruleRefPath EOF
             {
-             newCompositeNode(grammarAccess.getRefPathRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getRefPathRule()); 
+            }
             pushFollow(FOLLOW_ruleRefPath_in_entryRuleRefPath3207);
             iv_ruleRefPath=ruleRefPath();
 
             state._fsp--;
-
-             current =iv_ruleRefPath; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRefPath3217); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleRefPath; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRefPath3217); if (state.failed) return current;
 
             }
 
@@ -3615,25 +3980,29 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1414:1: (lv_refs_0_0= ruleRefSegment )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1415:3: lv_refs_0_0= ruleRefSegment
             {
-             
-            	        newCompositeNode(grammarAccess.getRefPathAccess().getRefsRefSegmentParserRuleCall_0_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getRefPathAccess().getRefsRefSegmentParserRuleCall_0_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleRefSegment_in_ruleRefPath3263);
             lv_refs_0_0=ruleRefSegment();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRefPathRule());
-            	        }
-                   		add(
-                   			current, 
-                   			"refs",
-                    		lv_refs_0_0, 
-                    		"RefSegment");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getRefPathRule());
+              	        }
+                     		add(
+                     			current, 
+                     			"refs",
+                      		lv_refs_0_0, 
+                      		"RefSegment");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -3646,7 +4015,7 @@
                 int alt26=2;
                 int LA26_0 = input.LA(1);
 
-                if ( (LA26_0==17) ) {
+                if ( (LA26_0==16) ) {
                     alt26=1;
                 }
 
@@ -3655,35 +4024,41 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1431:4: otherlv_1= '/' ( (lv_refs_2_0= ruleRefSegment ) )
             	    {
-            	    otherlv_1=(Token)match(input,17,FOLLOW_17_in_ruleRefPath3276); 
+            	    otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleRefPath3276); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_1, grammarAccess.getRefPathAccess().getSolidusKeyword_1_0());
-            	        
+            	          	newLeafNode(otherlv_1, grammarAccess.getRefPathAccess().getSolidusKeyword_1_0());
+            	          
+            	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1435:1: ( (lv_refs_2_0= ruleRefSegment ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1436:1: (lv_refs_2_0= ruleRefSegment )
             	    {
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1436:1: (lv_refs_2_0= ruleRefSegment )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1437:3: lv_refs_2_0= ruleRefSegment
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getRefPathAccess().getRefsRefSegmentParserRuleCall_1_1_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getRefPathAccess().getRefsRefSegmentParserRuleCall_1_1_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleRefSegment_in_ruleRefPath3297);
             	    lv_refs_2_0=ruleRefSegment();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getRefPathRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"refs",
-            	            		lv_refs_2_0, 
-            	            		"RefSegment");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getRefPathRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"refs",
+            	              		lv_refs_2_0, 
+            	              		"RefSegment");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -3705,7 +4080,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3731,14 +4108,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1462:2: (iv_ruleRefSegment= ruleRefSegment EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1463:2: iv_ruleRefSegment= ruleRefSegment EOF
             {
-             newCompositeNode(grammarAccess.getRefSegmentRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getRefSegmentRule()); 
+            }
             pushFollow(FOLLOW_ruleRefSegment_in_entryRuleRefSegment3335);
             iv_ruleRefSegment=ruleRefSegment();
 
             state._fsp--;
-
-             current =iv_ruleRefSegment; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRefSegment3345); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleRefSegment; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRefSegment3345); if (state.failed) return current;
 
             }
 
@@ -3779,20 +4160,24 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1475:1: (lv_ref_0_0= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1476:3: lv_ref_0_0= RULE_ID
             {
-            lv_ref_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRefSegment3387); 
+            lv_ref_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRefSegment3387); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_ref_0_0, grammarAccess.getRefSegmentAccess().getRefIDTerminalRuleCall_0_0()); 
-            		
+              			newLeafNode(lv_ref_0_0, grammarAccess.getRefSegmentAccess().getRefIDTerminalRuleCall_0_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getRefSegmentRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"ref",
-                    		lv_ref_0_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getRefSegmentRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"ref",
+                      		lv_ref_0_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
@@ -3803,37 +4188,43 @@
             int alt27=2;
             int LA27_0 = input.LA(1);
 
-            if ( (LA27_0==39) ) {
+            if ( (LA27_0==38) ) {
                 alt27=1;
             }
             switch (alt27) {
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1492:4: otherlv_1= ':' ( (lv_idx_2_0= RULE_INT ) )
                     {
-                    otherlv_1=(Token)match(input,39,FOLLOW_39_in_ruleRefSegment3405); 
+                    otherlv_1=(Token)match(input,38,FOLLOW_38_in_ruleRefSegment3405); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_1, grammarAccess.getRefSegmentAccess().getColonKeyword_1_0());
-                        
+                          	newLeafNode(otherlv_1, grammarAccess.getRefSegmentAccess().getColonKeyword_1_0());
+                          
+                    }
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1496:1: ( (lv_idx_2_0= RULE_INT ) )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:1: (lv_idx_2_0= RULE_INT )
                     {
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1497:1: (lv_idx_2_0= RULE_INT )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1498:3: lv_idx_2_0= RULE_INT
                     {
-                    lv_idx_2_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleRefSegment3422); 
+                    lv_idx_2_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleRefSegment3422); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                    			newLeafNode(lv_idx_2_0, grammarAccess.getRefSegmentAccess().getIdxINTTerminalRuleCall_1_1_0()); 
-                    		
+                      			newLeafNode(lv_idx_2_0, grammarAccess.getRefSegmentAccess().getIdxINTTerminalRuleCall_1_1_0()); 
+                      		
+                    }
+                    if ( state.backtracking==0 ) {
 
-                    	        if (current==null) {
-                    	            current = createModelElement(grammarAccess.getRefSegmentRule());
-                    	        }
-                           		setWithLastConsumed(
-                           			current, 
-                           			"idx",
-                            		lv_idx_2_0, 
-                            		"INT");
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getRefSegmentRule());
+                      	        }
+                             		setWithLastConsumed(
+                             			current, 
+                             			"idx",
+                              		lv_idx_2_0, 
+                              		"INT");
+                      	    
+                    }
 
                     }
 
@@ -3852,7 +4243,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3878,14 +4271,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1525:2: (iv_ruleKeyValue= ruleKeyValue EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1526:2: iv_ruleKeyValue= ruleKeyValue EOF
             {
-             newCompositeNode(grammarAccess.getKeyValueRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getKeyValueRule()); 
+            }
             pushFollow(FOLLOW_ruleKeyValue_in_entryRuleKeyValue3467);
             iv_ruleKeyValue=ruleKeyValue();
 
             state._fsp--;
-
-             current =iv_ruleKeyValue; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleKeyValue3477); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleKeyValue; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleKeyValue3477); if (state.failed) return current;
 
             }
 
@@ -3927,55 +4324,65 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1538:1: (lv_key_0_0= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1539:3: lv_key_0_0= RULE_ID
             {
-            lv_key_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleKeyValue3519); 
+            lv_key_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleKeyValue3519); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_key_0_0, grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
-            		
+              			newLeafNode(lv_key_0_0, grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getKeyValueRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"key",
-                    		lv_key_0_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getKeyValueRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"key",
+                      		lv_key_0_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_1=(Token)match(input,32,FOLLOW_32_in_ruleKeyValue3536); 
+            otherlv_1=(Token)match(input,31,FOLLOW_31_in_ruleKeyValue3536); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_1, grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1());
-                
+                  	newLeafNode(otherlv_1, grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1559:1: ( (lv_value_2_0= ruleLiteral ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1560:1: (lv_value_2_0= ruleLiteral )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1560:1: (lv_value_2_0= ruleLiteral )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1561:3: lv_value_2_0= ruleLiteral
             {
-             
-            	        newCompositeNode(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleLiteral_in_ruleKeyValue3557);
             lv_value_2_0=ruleLiteral();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getKeyValueRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_2_0, 
-                    		"Literal");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getKeyValueRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"value",
+                      		lv_value_2_0, 
+                      		"Literal");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -3988,7 +4395,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4014,14 +4423,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1588:2: (iv_ruleAnnotationTargetType= ruleAnnotationTargetType EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1589:2: iv_ruleAnnotationTargetType= ruleAnnotationTargetType EOF
             {
-             newCompositeNode(grammarAccess.getAnnotationTargetTypeRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getAnnotationTargetTypeRule()); 
+            }
             pushFollow(FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType3596);
             iv_ruleAnnotationTargetType=ruleAnnotationTargetType();
 
             state._fsp--;
-
-             current =iv_ruleAnnotationTargetType.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationTargetType3607); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleAnnotationTargetType.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationTargetType3607); if (state.failed) return current;
 
             }
 
@@ -4051,17 +4464,23 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1599:28: (this_ID_0= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1600:5: this_ID_0= RULE_ID
             {
-            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAnnotationTargetType3646); 
+            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAnnotationTargetType3646); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_ID_0);
-                
-             
-                newLeafNode(this_ID_0, grammarAccess.getAnnotationTargetTypeAccess().getIDTerminalRuleCall()); 
-                
+              		current.merge(this_ID_0);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_ID_0, grammarAccess.getAnnotationTargetTypeAccess().getIDTerminalRuleCall()); 
+                  
+            }
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4087,14 +4506,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1616:2: (iv_ruleAnnotationAttribute= ruleAnnotationAttribute EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1617:2: iv_ruleAnnotationAttribute= ruleAnnotationAttribute EOF
             {
-             newCompositeNode(grammarAccess.getAnnotationAttributeRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getAnnotationAttributeRule()); 
+            }
             pushFollow(FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute3690);
             iv_ruleAnnotationAttribute=ruleAnnotationAttribute();
 
             state._fsp--;
-
-             current =iv_ruleAnnotationAttribute; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationAttribute3700); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleAnnotationAttribute; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationAttribute3700); if (state.failed) return current;
 
             }
 
@@ -4131,25 +4554,26 @@
             int alt28=2;
             int LA28_0 = input.LA(1);
 
-            if ( (LA28_0==40) ) {
+            if ( (LA28_0==39) ) {
                 int LA28_1 = input.LA(2);
 
-                if ( (LA28_1==42) ) {
+                if ( (LA28_1==41) ) {
                     int LA28_3 = input.LA(3);
 
                     if ( (LA28_3==RULE_ID) ) {
                         int LA28_4 = input.LA(4);
 
-                        if ( (LA28_4==39) ) {
+                        if ( (LA28_4==38) ) {
                             int LA28_5 = input.LA(5);
 
-                            if ( (LA28_5==14) ) {
-                                alt28=2;
-                            }
-                            else if ( ((LA28_5>=57 && LA28_5<=60)) ) {
+                            if ( ((LA28_5>=58 && LA28_5<=61)) ) {
                                 alt28=1;
                             }
+                            else if ( (LA28_5==13) ) {
+                                alt28=2;
+                            }
                             else {
+                                if (state.backtracking>0) {state.failed=true; return current;}
                                 NoViableAltException nvae =
                                     new NoViableAltException("", 28, 5, input);
 
@@ -4157,6 +4581,7 @@
                             }
                         }
                         else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
                             NoViableAltException nvae =
                                 new NoViableAltException("", 28, 4, input);
 
@@ -4164,6 +4589,7 @@
                         }
                     }
                     else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
                             new NoViableAltException("", 28, 3, input);
 
@@ -4171,31 +4597,33 @@
                     }
                 }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
                         new NoViableAltException("", 28, 1, input);
 
                     throw nvae;
                 }
             }
-            else if ( (LA28_0==41) ) {
+            else if ( (LA28_0==40) ) {
                 int LA28_2 = input.LA(2);
 
-                if ( (LA28_2==42) ) {
+                if ( (LA28_2==41) ) {
                     int LA28_3 = input.LA(3);
 
                     if ( (LA28_3==RULE_ID) ) {
                         int LA28_4 = input.LA(4);
 
-                        if ( (LA28_4==39) ) {
+                        if ( (LA28_4==38) ) {
                             int LA28_5 = input.LA(5);
 
-                            if ( (LA28_5==14) ) {
-                                alt28=2;
-                            }
-                            else if ( ((LA28_5>=57 && LA28_5<=60)) ) {
+                            if ( ((LA28_5>=58 && LA28_5<=61)) ) {
                                 alt28=1;
                             }
+                            else if ( (LA28_5==13) ) {
+                                alt28=2;
+                            }
                             else {
+                                if (state.backtracking>0) {state.failed=true; return current;}
                                 NoViableAltException nvae =
                                     new NoViableAltException("", 28, 5, input);
 
@@ -4203,6 +4631,7 @@
                             }
                         }
                         else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
                             NoViableAltException nvae =
                                 new NoViableAltException("", 28, 4, input);
 
@@ -4210,6 +4639,7 @@
                         }
                     }
                     else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
                             new NoViableAltException("", 28, 3, input);
 
@@ -4217,6 +4647,7 @@
                     }
                 }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
                         new NoViableAltException("", 28, 2, input);
 
@@ -4224,6 +4655,7 @@
                 }
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 28, 0, input);
 
@@ -4233,36 +4665,44 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1629:5: this_SimpleAnnotationAttribute_0= ruleSimpleAnnotationAttribute
                     {
-                     
-                            newCompositeNode(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_ruleAnnotationAttribute3747);
                     this_SimpleAnnotationAttribute_0=ruleSimpleAnnotationAttribute();
 
                     state._fsp--;
-
-                     
-                            current = this_SimpleAnnotationAttribute_0; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_SimpleAnnotationAttribute_0; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 2 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1639:5: this_EnumAnnotationAttribute_1= ruleEnumAnnotationAttribute
                     {
-                     
-                            newCompositeNode(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_ruleAnnotationAttribute3774);
                     this_EnumAnnotationAttribute_1=ruleEnumAnnotationAttribute();
 
                     state._fsp--;
-
-                     
-                            current = this_EnumAnnotationAttribute_1; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_EnumAnnotationAttribute_1; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
@@ -4272,7 +4712,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4298,14 +4740,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1656:2: (iv_ruleSimpleAnnotationAttribute= ruleSimpleAnnotationAttribute EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1657:2: iv_ruleSimpleAnnotationAttribute= ruleSimpleAnnotationAttribute EOF
             {
-             newCompositeNode(grammarAccess.getSimpleAnnotationAttributeRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getSimpleAnnotationAttributeRule()); 
+            }
             pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute3809);
             iv_ruleSimpleAnnotationAttribute=ruleSimpleAnnotationAttribute();
 
             state._fsp--;
-
-             current =iv_ruleSimpleAnnotationAttribute; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute3819); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleSimpleAnnotationAttribute; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute3819); if (state.failed) return current;
 
             }
 
@@ -4348,13 +4794,14 @@
             int alt29=2;
             int LA29_0 = input.LA(1);
 
-            if ( (LA29_0==40) ) {
+            if ( (LA29_0==39) ) {
                 alt29=1;
             }
-            else if ( (LA29_0==41) ) {
+            else if ( (LA29_0==40) ) {
                 alt29=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 29, 0, input);
 
@@ -4370,16 +4817,20 @@
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1669:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1670:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,40,FOLLOW_40_in_ruleSimpleAnnotationAttribute3863); 
+                    lv_optional_0_0=(Token)match(input,39,FOLLOW_39_in_ruleSimpleAnnotationAttribute3863); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            newLeafNode(lv_optional_0_0, grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
-                        
+                              newLeafNode(lv_optional_0_0, grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
+                          
+                    }
+                    if ( state.backtracking==0 ) {
 
-                    	        if (current==null) {
-                    	            current = createModelElement(grammarAccess.getSimpleAnnotationAttributeRule());
-                    	        }
-                           		setWithLastConsumed(current, "optional", true, "optional");
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getSimpleAnnotationAttributeRule());
+                      	        }
+                             		setWithLastConsumed(current, "optional", true, "optional");
+                      	    
+                    }
 
                     }
 
@@ -4392,75 +4843,89 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1684:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,41,FOLLOW_41_in_ruleSimpleAnnotationAttribute3894); 
+                    otherlv_1=(Token)match(input,40,FOLLOW_40_in_ruleSimpleAnnotationAttribute3894); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_1, grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1());
-                        
+                          	newLeafNode(otherlv_1, grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1());
+                          
+                    }
 
                     }
                     break;
 
             }
 
-            otherlv_2=(Token)match(input,42,FOLLOW_42_in_ruleSimpleAnnotationAttribute3907); 
+            otherlv_2=(Token)match(input,41,FOLLOW_41_in_ruleSimpleAnnotationAttribute3907); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1());
-                
+                  	newLeafNode(otherlv_2, grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1692:1: ( (lv_name_3_0= RULE_ID ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1693:1: (lv_name_3_0= RULE_ID )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1693:1: (lv_name_3_0= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1694:3: lv_name_3_0= RULE_ID
             {
-            lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute3924); 
+            lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute3924); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_name_3_0, grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            		
+              			newLeafNode(lv_name_3_0, grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getSimpleAnnotationAttributeRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"name",
-                    		lv_name_3_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getSimpleAnnotationAttributeRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"name",
+                      		lv_name_3_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_4=(Token)match(input,39,FOLLOW_39_in_ruleSimpleAnnotationAttribute3941); 
+            otherlv_4=(Token)match(input,38,FOLLOW_38_in_ruleSimpleAnnotationAttribute3941); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_4, grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3());
-                
+                  	newLeafNode(otherlv_4, grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1714:1: ( (lv_type_5_0= ruleLiteralType ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1715:1: (lv_type_5_0= ruleLiteralType )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1715:1: (lv_type_5_0= ruleLiteralType )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1716:3: lv_type_5_0= ruleLiteralType
             {
-             
-            	        newCompositeNode(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleLiteralType_in_ruleSimpleAnnotationAttribute3962);
             lv_type_5_0=ruleLiteralType();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getSimpleAnnotationAttributeRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"type",
-                    		lv_type_5_0, 
-                    		"LiteralType");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getSimpleAnnotationAttributeRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"type",
+                      		lv_type_5_0, 
+                      		"LiteralType");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -4473,7 +4938,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4499,14 +4966,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1741:2: (iv_ruleEnumAnnotationAttribute= ruleEnumAnnotationAttribute EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1742:2: iv_ruleEnumAnnotationAttribute= ruleEnumAnnotationAttribute EOF
             {
-             newCompositeNode(grammarAccess.getEnumAnnotationAttributeRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEnumAnnotationAttributeRule()); 
+            }
             pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute3998);
             iv_ruleEnumAnnotationAttribute=ruleEnumAnnotationAttribute();
 
             state._fsp--;
-
-             current =iv_ruleEnumAnnotationAttribute; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute4008); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEnumAnnotationAttribute; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute4008); if (state.failed) return current;
 
             }
 
@@ -4552,13 +5023,14 @@
             int alt30=2;
             int LA30_0 = input.LA(1);
 
-            if ( (LA30_0==40) ) {
+            if ( (LA30_0==39) ) {
                 alt30=1;
             }
-            else if ( (LA30_0==41) ) {
+            else if ( (LA30_0==40) ) {
                 alt30=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 30, 0, input);
 
@@ -4574,16 +5046,20 @@
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1754:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1755:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,40,FOLLOW_40_in_ruleEnumAnnotationAttribute4052); 
+                    lv_optional_0_0=(Token)match(input,39,FOLLOW_39_in_ruleEnumAnnotationAttribute4052); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            newLeafNode(lv_optional_0_0, grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
-                        
+                              newLeafNode(lv_optional_0_0, grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
+                          
+                    }
+                    if ( state.backtracking==0 ) {
 
-                    	        if (current==null) {
-                    	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
-                    	        }
-                           		setWithLastConsumed(current, "optional", true, "optional");
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
+                      	        }
+                             		setWithLastConsumed(current, "optional", true, "optional");
+                      	    
+                    }
 
                     }
 
@@ -4596,74 +5072,90 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1769:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,41,FOLLOW_41_in_ruleEnumAnnotationAttribute4083); 
+                    otherlv_1=(Token)match(input,40,FOLLOW_40_in_ruleEnumAnnotationAttribute4083); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_1, grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1());
-                        
+                          	newLeafNode(otherlv_1, grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1());
+                          
+                    }
 
                     }
                     break;
 
             }
 
-            otherlv_2=(Token)match(input,42,FOLLOW_42_in_ruleEnumAnnotationAttribute4096); 
+            otherlv_2=(Token)match(input,41,FOLLOW_41_in_ruleEnumAnnotationAttribute4096); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1());
-                
+                  	newLeafNode(otherlv_2, grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1777:1: ( (lv_name_3_0= RULE_ID ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1778:1: (lv_name_3_0= RULE_ID )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1778:1: (lv_name_3_0= RULE_ID )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1779:3: lv_name_3_0= RULE_ID
             {
-            lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute4113); 
+            lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute4113); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_name_3_0, grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            		
+              			newLeafNode(lv_name_3_0, grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"name",
-                    		lv_name_3_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"name",
+                      		lv_name_3_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_4=(Token)match(input,39,FOLLOW_39_in_ruleEnumAnnotationAttribute4130); 
+            otherlv_4=(Token)match(input,38,FOLLOW_38_in_ruleEnumAnnotationAttribute4130); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_4, grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3());
-                
-            otherlv_5=(Token)match(input,14,FOLLOW_14_in_ruleEnumAnnotationAttribute4142); 
+                  	newLeafNode(otherlv_4, grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3());
+                  
+            }
+            otherlv_5=(Token)match(input,13,FOLLOW_13_in_ruleEnumAnnotationAttribute4142); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_5, grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4());
-                
+                  	newLeafNode(otherlv_5, grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1803:1: ( (lv_values_6_0= RULE_STRING ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1804:1: (lv_values_6_0= RULE_STRING )
             {
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1804:1: (lv_values_6_0= RULE_STRING )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1805:3: lv_values_6_0= RULE_STRING
             {
-            lv_values_6_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute4159); 
+            lv_values_6_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute4159); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_values_6_0, grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
-            		
+              			newLeafNode(lv_values_6_0, grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
-            	        }
-                   		addWithLastConsumed(
-                   			current, 
-                   			"values",
-                    		lv_values_6_0, 
-                    		"STRING");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
+              	        }
+                     		addWithLastConsumed(
+                     			current, 
+                     			"values",
+                      		lv_values_6_0, 
+                      		"STRING");
+              	    
+            }
 
             }
 
@@ -4676,7 +5168,7 @@
                 int alt31=2;
                 int LA31_0 = input.LA(1);
 
-                if ( (LA31_0==37) ) {
+                if ( (LA31_0==36) ) {
                     alt31=1;
                 }
 
@@ -4685,30 +5177,36 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1821:4: otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) )
             	    {
-            	    otherlv_7=(Token)match(input,37,FOLLOW_37_in_ruleEnumAnnotationAttribute4177); 
+            	    otherlv_7=(Token)match(input,36,FOLLOW_36_in_ruleEnumAnnotationAttribute4177); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_7, grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0());
-            	        
+            	          	newLeafNode(otherlv_7, grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0());
+            	          
+            	    }
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1825:1: ( (lv_values_8_0= RULE_STRING ) )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1826:1: (lv_values_8_0= RULE_STRING )
             	    {
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1826:1: (lv_values_8_0= RULE_STRING )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1827:3: lv_values_8_0= RULE_STRING
             	    {
-            	    lv_values_8_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute4194); 
+            	    lv_values_8_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute4194); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	    			newLeafNode(lv_values_8_0, grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
-            	    		
+            	      			newLeafNode(lv_values_8_0, grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-            	    	        if (current==null) {
-            	    	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
-            	    	        }
-            	           		addWithLastConsumed(
-            	           			current, 
-            	           			"values",
-            	            		lv_values_8_0, 
-            	            		"STRING");
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
+            	      	        }
+            	             		addWithLastConsumed(
+            	             			current, 
+            	             			"values",
+            	              		lv_values_8_0, 
+            	              		"STRING");
+            	      	    
+            	    }
 
             	    }
 
@@ -4724,17 +5222,21 @@
                 }
             } while (true);
 
-            otherlv_9=(Token)match(input,15,FOLLOW_15_in_ruleEnumAnnotationAttribute4213); 
+            otherlv_9=(Token)match(input,14,FOLLOW_14_in_ruleEnumAnnotationAttribute4213); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_9, grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7());
-                
+                  	newLeafNode(otherlv_9, grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4760,14 +5262,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1856:2: (iv_ruleImport= ruleImport EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1857:2: iv_ruleImport= ruleImport EOF
             {
-             newCompositeNode(grammarAccess.getImportRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getImportRule()); 
+            }
             pushFollow(FOLLOW_ruleImport_in_entryRuleImport4249);
             iv_ruleImport=ruleImport();
 
             state._fsp--;
-
-             current =iv_ruleImport; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleImport4259); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleImport; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleImport4259); if (state.failed) return current;
 
             }
 
@@ -4805,10 +5311,12 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1868:1: (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1868:3: otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) )
             {
-            otherlv_0=(Token)match(input,43,FOLLOW_43_in_ruleImport4296); 
+            otherlv_0=(Token)match(input,42,FOLLOW_42_in_ruleImport4296); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1872:1: ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' )
             int alt32=2;
             int LA32_0 = input.LA(1);
@@ -4816,10 +5324,11 @@
             if ( (LA32_0==RULE_ID) ) {
                 alt32=1;
             }
-            else if ( (LA32_0==45) ) {
+            else if ( (LA32_0==44) ) {
                 alt32=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 32, 0, input);
 
@@ -4838,35 +5347,41 @@
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1873:1: (lv_importedNamespace_1_0= ruleImportedFQN )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1874:3: lv_importedNamespace_1_0= ruleImportedFQN
                     {
-                     
-                    	        newCompositeNode(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0()); 
-                    	    
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0()); 
+                      	    
+                    }
                     pushFollow(FOLLOW_ruleImportedFQN_in_ruleImport4319);
                     lv_importedNamespace_1_0=ruleImportedFQN();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getImportRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"importedNamespace",
-                            		lv_importedNamespace_1_0, 
-                            		"ImportedFQN");
-                    	        afterParserOrEnumRuleCall();
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getImportRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"importedNamespace",
+                              		lv_importedNamespace_1_0, 
+                              		"ImportedFQN");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
 
                     }
 
 
                     }
 
-                    otherlv_2=(Token)match(input,44,FOLLOW_44_in_ruleImport4331); 
+                    otherlv_2=(Token)match(input,43,FOLLOW_43_in_ruleImport4331); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_2, grammarAccess.getImportAccess().getFromKeyword_1_0_1());
-                        
+                          	newLeafNode(otherlv_2, grammarAccess.getImportAccess().getFromKeyword_1_0_1());
+                          
+                    }
 
                     }
 
@@ -4876,10 +5391,12 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1895:7: otherlv_3= 'model'
                     {
-                    otherlv_3=(Token)match(input,45,FOLLOW_45_in_ruleImport4350); 
+                    otherlv_3=(Token)match(input,44,FOLLOW_44_in_ruleImport4350); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_3, grammarAccess.getImportAccess().getModelKeyword_1_1());
-                        
+                          	newLeafNode(otherlv_3, grammarAccess.getImportAccess().getModelKeyword_1_1());
+                          
+                    }
 
                     }
                     break;
@@ -4892,20 +5409,24 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1900:1: (lv_importURI_4_0= RULE_STRING )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1901:3: lv_importURI_4_0= RULE_STRING
             {
-            lv_importURI_4_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport4368); 
+            lv_importURI_4_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport4368); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_importURI_4_0, grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
-            		
+              			newLeafNode(lv_importURI_4_0, grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getImportRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"importURI",
-                    		lv_importURI_4_0, 
-                    		"STRING");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getImportRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"importURI",
+                      		lv_importURI_4_0, 
+                      		"STRING");
+              	    
+            }
 
             }
 
@@ -4918,7 +5439,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4944,14 +5467,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1926:2: (iv_ruleImportedFQN= ruleImportedFQN EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1927:2: iv_ruleImportedFQN= ruleImportedFQN EOF
             {
-             newCompositeNode(grammarAccess.getImportedFQNRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getImportedFQNRule()); 
+            }
             pushFollow(FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN4410);
             iv_ruleImportedFQN=ruleImportedFQN();
 
             state._fsp--;
-
-             current =iv_ruleImportedFQN.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleImportedFQN4421); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleImportedFQN.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleImportedFQN4421); if (state.failed) return current;
 
             }
 
@@ -4986,36 +5513,44 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1938:1: (this_FQN_0= ruleFQN (kw= '.*' )? )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1939:5: this_FQN_0= ruleFQN (kw= '.*' )?
             {
-             
-                    newCompositeNode(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
-                
+            if ( state.backtracking==0 ) {
+               
+                      newCompositeNode(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
+                  
+            }
             pushFollow(FOLLOW_ruleFQN_in_ruleImportedFQN4468);
             this_FQN_0=ruleFQN();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            		current.merge(this_FQN_0);
-                
-             
-                    afterParserOrEnumRuleCall();
-                
+              		current.merge(this_FQN_0);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                      afterParserOrEnumRuleCall();
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1949:1: (kw= '.*' )?
             int alt33=2;
             int LA33_0 = input.LA(1);
 
-            if ( (LA33_0==46) ) {
+            if ( (LA33_0==45) ) {
                 alt33=1;
             }
             switch (alt33) {
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1950:2: kw= '.*'
                     {
-                    kw=(Token)match(input,46,FOLLOW_46_in_ruleImportedFQN4487); 
+                    kw=(Token)match(input,45,FOLLOW_45_in_ruleImportedFQN4487); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
+                          
+                    }
 
                     }
                     break;
@@ -5028,7 +5563,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -5054,14 +5591,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1964:2: (iv_ruleDocumentation= ruleDocumentation EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1965:2: iv_ruleDocumentation= ruleDocumentation EOF
             {
-             newCompositeNode(grammarAccess.getDocumentationRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getDocumentationRule()); 
+            }
             pushFollow(FOLLOW_ruleDocumentation_in_entryRuleDocumentation4529);
             iv_ruleDocumentation=ruleDocumentation();
 
             state._fsp--;
-
-             current =iv_ruleDocumentation; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDocumentation4539); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleDocumentation; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDocumentation4539); if (state.failed) return current;
 
             }
 
@@ -5099,18 +5640,22 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1976:2: ()
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1977:5: 
             {
+            if ( state.backtracking==0 ) {
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getDocumentationAccess().getDocumentationAction_0(),
-                        current);
-                
+                      current = forceCreateModelElement(
+                          grammarAccess.getDocumentationAccess().getDocumentationAction_0(),
+                          current);
+                  
+            }
 
             }
 
-            otherlv_1=(Token)match(input,47,FOLLOW_47_in_ruleDocumentation4585); 
+            otherlv_1=(Token)match(input,46,FOLLOW_46_in_ruleDocumentation4585); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_1, grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1());
-                
+                  	newLeafNode(otherlv_1, grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1());
+                  
+            }
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1986:1: ( (lv_lines_2_0= RULE_STRING ) )*
             loop34:
             do {
@@ -5129,20 +5674,24 @@
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1987:1: (lv_lines_2_0= RULE_STRING )
             	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:1988:3: lv_lines_2_0= RULE_STRING
             	    {
-            	    lv_lines_2_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDocumentation4602); 
+            	    lv_lines_2_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDocumentation4602); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	    			newLeafNode(lv_lines_2_0, grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
-            	    		
+            	      			newLeafNode(lv_lines_2_0, grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-            	    	        if (current==null) {
-            	    	            current = createModelElement(grammarAccess.getDocumentationRule());
-            	    	        }
-            	           		addWithLastConsumed(
-            	           			current, 
-            	           			"lines",
-            	            		lv_lines_2_0, 
-            	            		"STRING");
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getDocumentationRule());
+            	      	        }
+            	             		addWithLastConsumed(
+            	             			current, 
+            	             			"lines",
+            	              		lv_lines_2_0, 
+            	              		"STRING");
+            	      	    
+            	    }
 
             	    }
 
@@ -5155,17 +5704,21 @@
                 }
             } while (true);
 
-            otherlv_3=(Token)match(input,48,FOLLOW_48_in_ruleDocumentation4620); 
+            otherlv_3=(Token)match(input,47,FOLLOW_47_in_ruleDocumentation4620); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_3, grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3());
-                
+                  	newLeafNode(otherlv_3, grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -5191,14 +5744,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2017:2: (iv_ruleTIME= ruleTIME EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2018:2: iv_ruleTIME= ruleTIME EOF
             {
-             newCompositeNode(grammarAccess.getTIMERule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getTIMERule()); 
+            }
             pushFollow(FOLLOW_ruleTIME_in_entryRuleTIME4657);
             iv_ruleTIME=ruleTIME();
 
             state._fsp--;
-
-             current =iv_ruleTIME.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleTIME4668); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleTIME.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleTIME4668); if (state.failed) return current;
 
             }
 
@@ -5238,27 +5795,28 @@
 
             if ( (LA35_0==RULE_INT) ) {
                 switch ( input.LA(2) ) {
-                case 51:
+                case 48:
                     {
-                    alt35=3;
+                    alt35=1;
                     }
                     break;
-                case 52:
+                case 51:
                     {
                     alt35=4;
                     }
                     break;
                 case 50:
                     {
-                    alt35=2;
+                    alt35=3;
                     }
                     break;
                 case 49:
                     {
-                    alt35=1;
+                    alt35=2;
                     }
                     break;
                 default:
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
                         new NoViableAltException("", 35, 1, input);
 
@@ -5267,6 +5825,7 @@
 
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 35, 0, input);
 
@@ -5279,18 +5838,24 @@
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2029:2: (this_INT_0= RULE_INT kw= 's' )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2029:7: this_INT_0= RULE_INT kw= 's'
                     {
-                    this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME4709); 
+                    this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME4709); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                    		current.merge(this_INT_0);
-                        
-                     
-                        newLeafNode(this_INT_0, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0_0()); 
-                        
-                    kw=(Token)match(input,49,FOLLOW_49_in_ruleTIME4727); 
+                      		current.merge(this_INT_0);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_INT_0, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0_0()); 
+                          
+                    }
+                    kw=(Token)match(input,48,FOLLOW_48_in_ruleTIME4727); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getTIMEAccess().getSKeyword_0_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getTIMEAccess().getSKeyword_0_1()); 
+                          
+                    }
 
                     }
 
@@ -5303,18 +5868,24 @@
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2043:6: (this_INT_2= RULE_INT kw= 'ms' )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2043:11: this_INT_2= RULE_INT kw= 'ms'
                     {
-                    this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME4750); 
+                    this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME4750); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                    		current.merge(this_INT_2);
-                        
-                     
-                        newLeafNode(this_INT_2, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_1_0()); 
-                        
-                    kw=(Token)match(input,50,FOLLOW_50_in_ruleTIME4768); 
+                      		current.merge(this_INT_2);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_INT_2, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_1_0()); 
+                          
+                    }
+                    kw=(Token)match(input,49,FOLLOW_49_in_ruleTIME4768); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getTIMEAccess().getMsKeyword_1_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getTIMEAccess().getMsKeyword_1_1()); 
+                          
+                    }
 
                     }
 
@@ -5327,18 +5898,24 @@
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2057:6: (this_INT_4= RULE_INT kw= 'us' )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2057:11: this_INT_4= RULE_INT kw= 'us'
                     {
-                    this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME4791); 
+                    this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME4791); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                    		current.merge(this_INT_4);
-                        
-                     
-                        newLeafNode(this_INT_4, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_2_0()); 
-                        
-                    kw=(Token)match(input,51,FOLLOW_51_in_ruleTIME4809); 
+                      		current.merge(this_INT_4);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_INT_4, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_2_0()); 
+                          
+                    }
+                    kw=(Token)match(input,50,FOLLOW_50_in_ruleTIME4809); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getTIMEAccess().getUsKeyword_2_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getTIMEAccess().getUsKeyword_2_1()); 
+                          
+                    }
 
                     }
 
@@ -5351,18 +5928,24 @@
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2071:6: (this_INT_6= RULE_INT kw= 'ns' )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2071:11: this_INT_6= RULE_INT kw= 'ns'
                     {
-                    this_INT_6=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME4832); 
+                    this_INT_6=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME4832); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                    		current.merge(this_INT_6);
-                        
-                     
-                        newLeafNode(this_INT_6, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_3_0()); 
-                        
-                    kw=(Token)match(input,52,FOLLOW_52_in_ruleTIME4850); 
+                      		current.merge(this_INT_6);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_INT_6, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_3_0()); 
+                          
+                    }
+                    kw=(Token)match(input,51,FOLLOW_51_in_ruleTIME4850); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getTIMEAccess().getNsKeyword_3_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getTIMEAccess().getNsKeyword_3_1()); 
+                          
+                    }
 
                     }
 
@@ -5375,7 +5958,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -5401,14 +5986,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2095:2: (iv_ruleLiteral= ruleLiteral EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2096:2: iv_ruleLiteral= ruleLiteral EOF
             {
-             newCompositeNode(grammarAccess.getLiteralRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getLiteralRule()); 
+            }
             pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral4893);
             iv_ruleLiteral=ruleLiteral();
 
             state._fsp--;
-
-             current =iv_ruleLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral4903); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral4903); if (state.failed) return current;
 
             }
 
@@ -5446,17 +6035,16 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2107:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
             int alt36=3;
             switch ( input.LA(1) ) {
+            case 52:
             case 53:
-            case 54:
                 {
                 alt36=1;
                 }
                 break;
             case RULE_INT:
             case RULE_HEX:
-            case 38:
+            case 54:
             case 55:
-            case 56:
                 {
                 alt36=2;
                 }
@@ -5467,6 +6055,7 @@
                 }
                 break;
             default:
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 36, 0, input);
 
@@ -5477,54 +6066,66 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2108:5: this_BooleanLiteral_0= ruleBooleanLiteral
                     {
-                     
-                            newCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleBooleanLiteral_in_ruleLiteral4950);
                     this_BooleanLiteral_0=ruleBooleanLiteral();
 
                     state._fsp--;
-
-                     
-                            current = this_BooleanLiteral_0; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_BooleanLiteral_0; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 2 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2118:5: this_NumberLiteral_1= ruleNumberLiteral
                     {
-                     
-                            newCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleNumberLiteral_in_ruleLiteral4977);
                     this_NumberLiteral_1=ruleNumberLiteral();
 
                     state._fsp--;
-
-                     
-                            current = this_NumberLiteral_1; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_NumberLiteral_1; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 3 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2128:5: this_StringLiteral_2= ruleStringLiteral
                     {
-                     
-                            newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleStringLiteral_in_ruleLiteral5004);
                     this_StringLiteral_2=ruleStringLiteral();
 
                     state._fsp--;
-
-                     
-                            current = this_StringLiteral_2; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_StringLiteral_2; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
@@ -5534,7 +6135,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -5560,14 +6163,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2145:2: (iv_ruleBooleanLiteral= ruleBooleanLiteral EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2146:2: iv_ruleBooleanLiteral= ruleBooleanLiteral EOF
             {
-             newCompositeNode(grammarAccess.getBooleanLiteralRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getBooleanLiteralRule()); 
+            }
             pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral5039);
             iv_ruleBooleanLiteral=ruleBooleanLiteral();
 
             state._fsp--;
-
-             current =iv_ruleBooleanLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral5049); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleBooleanLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral5049); if (state.failed) return current;
 
             }
 
@@ -5604,11 +6211,13 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2157:2: ()
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2158:5: 
             {
+            if ( state.backtracking==0 ) {
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0(),
-                        current);
-                
+                      current = forceCreateModelElement(
+                          grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0(),
+                          current);
+                  
+            }
 
             }
 
@@ -5616,13 +6225,14 @@
             int alt37=2;
             int LA37_0 = input.LA(1);
 
-            if ( (LA37_0==53) ) {
+            if ( (LA37_0==52) ) {
                 alt37=1;
             }
-            else if ( (LA37_0==54) ) {
+            else if ( (LA37_0==53) ) {
                 alt37=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 37, 0, input);
 
@@ -5632,10 +6242,12 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2163:4: otherlv_1= 'false'
                     {
-                    otherlv_1=(Token)match(input,53,FOLLOW_53_in_ruleBooleanLiteral5096); 
+                    otherlv_1=(Token)match(input,52,FOLLOW_52_in_ruleBooleanLiteral5096); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0());
-                        
+                          	newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0());
+                          
+                    }
 
                     }
                     break;
@@ -5648,16 +6260,20 @@
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2169:1: (lv_isTrue_2_0= 'true' )
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2170:3: lv_isTrue_2_0= 'true'
                     {
-                    lv_isTrue_2_0=(Token)match(input,54,FOLLOW_54_in_ruleBooleanLiteral5120); 
+                    lv_isTrue_2_0=(Token)match(input,53,FOLLOW_53_in_ruleBooleanLiteral5120); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            newLeafNode(lv_isTrue_2_0, grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
-                        
+                              newLeafNode(lv_isTrue_2_0, grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
+                          
+                    }
+                    if ( state.backtracking==0 ) {
 
-                    	        if (current==null) {
-                    	            current = createModelElement(grammarAccess.getBooleanLiteralRule());
-                    	        }
-                           		setWithLastConsumed(current, "isTrue", true, "true");
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getBooleanLiteralRule());
+                      	        }
+                             		setWithLastConsumed(current, "isTrue", true, "true");
+                      	    
+                    }
 
                     }
 
@@ -5676,7 +6292,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -5702,14 +6320,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2192:2: (iv_ruleNumberLiteral= ruleNumberLiteral EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2193:2: iv_ruleNumberLiteral= ruleNumberLiteral EOF
             {
-             newCompositeNode(grammarAccess.getNumberLiteralRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getNumberLiteralRule()); 
+            }
             pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral5170);
             iv_ruleNumberLiteral=ruleNumberLiteral();
 
             state._fsp--;
-
-             current =iv_ruleNumberLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral5180); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleNumberLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral5180); if (state.failed) return current;
 
             }
 
@@ -5745,30 +6367,29 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2204:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
             int alt38=2;
             switch ( input.LA(1) ) {
-            case 55:
+            case 54:
                 {
                 int LA38_1 = input.LA(2);
 
                 if ( (LA38_1==RULE_INT) ) {
                     int LA38_3 = input.LA(3);
 
-                    if ( (LA38_3==38) ) {
-                        alt38=2;
-                    }
-                    else if ( (LA38_3==EOF||(LA38_3>=14 && LA38_3<=15)||(LA38_3>=30 && LA38_3<=31)||LA38_3==34||LA38_3==37) ) {
+                    if ( (LA38_3==EOF||(LA38_3>=13 && LA38_3<=14)||(LA38_3>=29 && LA38_3<=30)||LA38_3==33||LA38_3==36) ) {
                         alt38=1;
                     }
+                    else if ( (LA38_3==37) ) {
+                        alt38=2;
+                    }
                     else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
                             new NoViableAltException("", 38, 3, input);
 
                         throw nvae;
                     }
                 }
-                else if ( (LA38_1==38) ) {
-                    alt38=2;
-                }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
                         new NoViableAltException("", 38, 1, input);
 
@@ -5776,30 +6397,29 @@
                 }
                 }
                 break;
-            case 56:
+            case 55:
                 {
                 int LA38_2 = input.LA(2);
 
                 if ( (LA38_2==RULE_INT) ) {
                     int LA38_3 = input.LA(3);
 
-                    if ( (LA38_3==38) ) {
-                        alt38=2;
-                    }
-                    else if ( (LA38_3==EOF||(LA38_3>=14 && LA38_3<=15)||(LA38_3>=30 && LA38_3<=31)||LA38_3==34||LA38_3==37) ) {
+                    if ( (LA38_3==EOF||(LA38_3>=13 && LA38_3<=14)||(LA38_3>=29 && LA38_3<=30)||LA38_3==33||LA38_3==36) ) {
                         alt38=1;
                     }
+                    else if ( (LA38_3==37) ) {
+                        alt38=2;
+                    }
                     else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
                             new NoViableAltException("", 38, 3, input);
 
                         throw nvae;
                     }
                 }
-                else if ( (LA38_2==38) ) {
-                    alt38=2;
-                }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
                         new NoViableAltException("", 38, 2, input);
 
@@ -5811,13 +6431,14 @@
                 {
                 int LA38_3 = input.LA(2);
 
-                if ( (LA38_3==38) ) {
-                    alt38=2;
-                }
-                else if ( (LA38_3==EOF||(LA38_3>=14 && LA38_3<=15)||(LA38_3>=30 && LA38_3<=31)||LA38_3==34||LA38_3==37) ) {
+                if ( (LA38_3==EOF||(LA38_3>=13 && LA38_3<=14)||(LA38_3>=29 && LA38_3<=30)||LA38_3==33||LA38_3==36) ) {
                     alt38=1;
                 }
+                else if ( (LA38_3==37) ) {
+                    alt38=2;
+                }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
                         new NoViableAltException("", 38, 3, input);
 
@@ -5830,12 +6451,8 @@
                 alt38=1;
                 }
                 break;
-            case 38:
-                {
-                alt38=2;
-                }
-                break;
             default:
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 38, 0, input);
 
@@ -5846,36 +6463,44 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2205:5: this_IntLiteral_0= ruleIntLiteral
                     {
-                     
-                            newCompositeNode(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleIntLiteral_in_ruleNumberLiteral5227);
                     this_IntLiteral_0=ruleIntLiteral();
 
                     state._fsp--;
-
-                     
-                            current = this_IntLiteral_0; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_IntLiteral_0; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 2 :
                     // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2215:5: this_RealLiteral_1= ruleRealLiteral
                     {
-                     
-                            newCompositeNode(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
+                          
+                    }
                     pushFollow(FOLLOW_ruleRealLiteral_in_ruleNumberLiteral5254);
                     this_RealLiteral_1=ruleRealLiteral();
 
                     state._fsp--;
-
-                     
-                            current = this_RealLiteral_1; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_RealLiteral_1; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
@@ -5885,7 +6510,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -5911,14 +6538,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2232:2: (iv_ruleRealLiteral= ruleRealLiteral EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2233:2: iv_ruleRealLiteral= ruleRealLiteral EOF
             {
-             newCompositeNode(grammarAccess.getRealLiteralRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getRealLiteralRule()); 
+            }
             pushFollow(FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral5289);
             iv_ruleRealLiteral=ruleRealLiteral();
 
             state._fsp--;
-
-             current =iv_ruleRealLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRealLiteral5299); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleRealLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRealLiteral5299); if (state.failed) return current;
 
             }
 
@@ -5955,11 +6586,13 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2244:2: ()
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2245:5: 
             {
+            if ( state.backtracking==0 ) {
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getRealLiteralAccess().getRealLiteralAction_0(),
-                        current);
-                
+                      current = forceCreateModelElement(
+                          grammarAccess.getRealLiteralAccess().getRealLiteralAction_0(),
+                          current);
+                  
+            }
 
             }
 
@@ -5969,25 +6602,29 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2251:1: (lv_value_1_0= ruleReal )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2252:3: lv_value_1_0= ruleReal
             {
-             
-            	        newCompositeNode(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleReal_in_ruleRealLiteral5354);
             lv_value_1_0=ruleReal();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRealLiteralRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_1_0, 
-                    		"Real");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getRealLiteralRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"value",
+                      		lv_value_1_0, 
+                      		"Real");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -6000,7 +6637,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -6026,14 +6665,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2277:2: (iv_ruleIntLiteral= ruleIntLiteral EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2278:2: iv_ruleIntLiteral= ruleIntLiteral EOF
             {
-             newCompositeNode(grammarAccess.getIntLiteralRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getIntLiteralRule()); 
+            }
             pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral5390);
             iv_ruleIntLiteral=ruleIntLiteral();
 
             state._fsp--;
-
-             current =iv_ruleIntLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral5400); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleIntLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral5400); if (state.failed) return current;
 
             }
 
@@ -6070,11 +6713,13 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2289:2: ()
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2290:5: 
             {
+            if ( state.backtracking==0 ) {
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getIntLiteralAccess().getIntLiteralAction_0(),
-                        current);
-                
+                      current = forceCreateModelElement(
+                          grammarAccess.getIntLiteralAccess().getIntLiteralAction_0(),
+                          current);
+                  
+            }
 
             }
 
@@ -6084,25 +6729,29 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2296:1: (lv_value_1_0= ruleInteger )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2297:3: lv_value_1_0= ruleInteger
             {
-             
-            	        newCompositeNode(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleInteger_in_ruleIntLiteral5455);
             lv_value_1_0=ruleInteger();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getIntLiteralRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_1_0, 
-                    		"Integer");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getIntLiteralRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"value",
+                      		lv_value_1_0, 
+                      		"Integer");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -6115,7 +6764,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -6141,14 +6792,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2322:2: (iv_ruleStringLiteral= ruleStringLiteral EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2323:2: iv_ruleStringLiteral= ruleStringLiteral EOF
             {
-             newCompositeNode(grammarAccess.getStringLiteralRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getStringLiteralRule()); 
+            }
             pushFollow(FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral5491);
             iv_ruleStringLiteral=ruleStringLiteral();
 
             state._fsp--;
-
-             current =iv_ruleStringLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleStringLiteral5501); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleStringLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleStringLiteral5501); if (state.failed) return current;
 
             }
 
@@ -6184,11 +6839,13 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2334:2: ()
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2335:5: 
             {
+            if ( state.backtracking==0 ) {
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getStringLiteralAccess().getStringLiteralAction_0(),
-                        current);
-                
+                      current = forceCreateModelElement(
+                          grammarAccess.getStringLiteralAccess().getStringLiteralAction_0(),
+                          current);
+                  
+            }
 
             }
 
@@ -6198,20 +6855,24 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2341:1: (lv_value_1_0= RULE_STRING )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2342:3: lv_value_1_0= RULE_STRING
             {
-            lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringLiteral5552); 
+            lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringLiteral5552); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_value_1_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
-            		
+              			newLeafNode(lv_value_1_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getStringLiteralRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"value",
-                    		lv_value_1_0, 
-                    		"STRING");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getStringLiteralRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"value",
+                      		lv_value_1_0, 
+                      		"STRING");
+              	    
+            }
 
             }
 
@@ -6224,7 +6885,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -6250,14 +6913,18 @@
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2367:2: (iv_ruleInteger= ruleInteger EOF )
             // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2368:2: iv_ruleInteger= ruleInteger EOF
             {
-             newCompositeNode(grammarAccess.getIntegerRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getIntegerRule()); 
+            }
             pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger5594);
             iv_ruleInteger=ruleInteger();
 
             state._fsp--;
-
-             current =iv_ruleInteger.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleInteger5605); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleInteger.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleInteger5605); if (state.failed) return current;
 
             }
 
@@ -6275,75 +6942,115 @@
 
 
     // $ANTLR start "ruleInteger"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2375:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) ;
+    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2375:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) ;
     public final AntlrDatatypeRuleToken ruleInteger() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
-        AntlrDatatypeRuleToken this_SignedInteger_0 = null;
-
-        AntlrDatatypeRuleToken this_Hexadecimal_1 = null;
-
+        Token kw=null;
+        Token this_INT_2=null;
+        Token this_HEX_3=null;
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2378:28: ( (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2379:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2378:28: ( ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2379:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2379:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
-            int alt39=2;
-            int LA39_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2379:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
+            int alt40=2;
+            int LA40_0 = input.LA(1);
 
-            if ( (LA39_0==RULE_INT||(LA39_0>=55 && LA39_0<=56)) ) {
-                alt39=1;
+            if ( (LA40_0==RULE_INT||(LA40_0>=54 && LA40_0<=55)) ) {
+                alt40=1;
             }
-            else if ( (LA39_0==RULE_HEX) ) {
-                alt39=2;
+            else if ( (LA40_0==RULE_HEX) ) {
+                alt40=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 39, 0, input);
+                    new NoViableAltException("", 40, 0, input);
 
                 throw nvae;
             }
-            switch (alt39) {
+            switch (alt40) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2380:5: this_SignedInteger_0= ruleSignedInteger
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2379:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleSignedInteger_in_ruleInteger5652);
-                    this_SignedInteger_0=ruleSignedInteger();
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2379:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2379:3: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
+                    {
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2379:3: (kw= '+' | kw= '-' )?
+                    int alt39=3;
+                    int LA39_0 = input.LA(1);
 
-                    state._fsp--;
+                    if ( (LA39_0==54) ) {
+                        alt39=1;
+                    }
+                    else if ( (LA39_0==55) ) {
+                        alt39=2;
+                    }
+                    switch (alt39) {
+                        case 1 :
+                            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2380:2: kw= '+'
+                            {
+                            kw=(Token)match(input,54,FOLLOW_54_in_ruleInteger5645); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
 
+                                      current.merge(kw);
+                                      newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                                  
+                            }
 
-                    		current.merge(this_SignedInteger_0);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2387:2: kw= '-'
+                            {
+                            kw=(Token)match(input,55,FOLLOW_55_in_ruleInteger5664); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                                      current.merge(kw);
+                                      newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                                  
+                            }
+
+                            }
+                            break;
+
+                    }
+
+                    this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleInteger5681); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      		current.merge(this_INT_2);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
+                          
+                    }
+
+                    }
+
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2392:5: this_Hexadecimal_1= ruleHexadecimal
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2400:10: this_HEX_3= RULE_HEX
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleHexadecimal_in_ruleInteger5685);
-                    this_Hexadecimal_1=ruleHexadecimal();
+                    this_HEX_3=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleInteger5708); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                    state._fsp--;
-
-
-                    		current.merge(this_Hexadecimal_1);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
+                      		current.merge(this_HEX_3);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
+                          
+                    }
 
                     }
                     break;
@@ -6353,7 +7060,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -6367,217 +7076,8 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2410:1: entryRuleSignedInteger returns [String current=null] : iv_ruleSignedInteger= ruleSignedInteger EOF ;
-    public final String entryRuleSignedInteger() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleSignedInteger = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2414:2: (iv_ruleSignedInteger= ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2415:2: iv_ruleSignedInteger= ruleSignedInteger EOF
-            {
-             newCompositeNode(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger5737);
-            iv_ruleSignedInteger=ruleSignedInteger();
-
-            state._fsp--;
-
-             current =iv_ruleSignedInteger.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger5748); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2425:1: ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleSignedInteger() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2429:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2430:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2430:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2430:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2430:2: (kw= '+' | kw= '-' )?
-            int alt40=3;
-            int LA40_0 = input.LA(1);
-
-            if ( (LA40_0==55) ) {
-                alt40=1;
-            }
-            else if ( (LA40_0==56) ) {
-                alt40=2;
-            }
-            switch (alt40) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2431:2: kw= '+'
-                    {
-                    kw=(Token)match(input,55,FOLLOW_55_in_ruleSignedInteger5791); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2438:2: kw= '-'
-                    {
-                    kw=(Token)match(input,56,FOLLOW_56_in_ruleSignedInteger5810); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSignedInteger5827); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2461:1: entryRuleHexadecimal returns [String current=null] : iv_ruleHexadecimal= ruleHexadecimal EOF ;
-    public final String entryRuleHexadecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleHexadecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2465:2: (iv_ruleHexadecimal= ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2466:2: iv_ruleHexadecimal= ruleHexadecimal EOF
-            {
-             newCompositeNode(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal5883);
-            iv_ruleHexadecimal=ruleHexadecimal();
-
-            state._fsp--;
-
-             current =iv_ruleHexadecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal5894); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2476:1: ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_HEX_0= RULE_HEX ;
-    public final AntlrDatatypeRuleToken ruleHexadecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_HEX_0=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2480:28: (this_HEX_0= RULE_HEX )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2481:5: this_HEX_0= RULE_HEX
-            {
-            this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal5937); 
-
-            		current.merge(this_HEX_0);
-                
-             
-                newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2499:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
+    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2415:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
     public final String entryRuleReal() throws RecognitionException {
         String current = null;
 
@@ -6585,17 +7085,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2500:2: (iv_ruleReal= ruleReal EOF )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2501:2: iv_ruleReal= ruleReal EOF
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2416:2: (iv_ruleReal= ruleReal EOF )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2417:2: iv_ruleReal= ruleReal EOF
             {
-             newCompositeNode(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal5986);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getRealRule()); 
+            }
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal5754);
             iv_ruleReal=ruleReal();
 
             state._fsp--;
-
-             current =iv_ruleReal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal5997); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleReal.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal5765); if (state.failed) return current;
 
             }
 
@@ -6613,106 +7117,227 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2508:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) ;
+    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2424:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) ;
     public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         AntlrDatatypeRuleToken this_Decimal_0 = null;
 
-        AntlrDatatypeRuleToken this_DotDecimal_1 = null;
-
-        AntlrDatatypeRuleToken this_DecimalDot_2 = null;
-
-        AntlrDatatypeRuleToken this_DecimalExp_3 = null;
+        AntlrDatatypeRuleToken this_DecimalExp_1 = null;
 
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2511:28: ( (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2512:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2427:28: ( (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2428:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2512:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
-            int alt41=4;
-            alt41 = dfa41.predict(input);
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2428:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
+            int alt41=2;
+            switch ( input.LA(1) ) {
+            case 54:
+                {
+                int LA41_1 = input.LA(2);
+
+                if ( (LA41_1==RULE_INT) ) {
+                    int LA41_3 = input.LA(3);
+
+                    if ( (LA41_3==37) ) {
+                        int LA41_4 = input.LA(4);
+
+                        if ( (LA41_4==RULE_INT) ) {
+                            int LA41_5 = input.LA(5);
+
+                            if ( (LA41_5==EOF||(LA41_5>=13 && LA41_5<=14)||(LA41_5>=29 && LA41_5<=30)||LA41_5==33||LA41_5==36) ) {
+                                alt41=1;
+                            }
+                            else if ( ((LA41_5>=56 && LA41_5<=57)) ) {
+                                alt41=2;
+                            }
+                            else {
+                                if (state.backtracking>0) {state.failed=true; return current;}
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 41, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 41, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 41, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 41, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 55:
+                {
+                int LA41_2 = input.LA(2);
+
+                if ( (LA41_2==RULE_INT) ) {
+                    int LA41_3 = input.LA(3);
+
+                    if ( (LA41_3==37) ) {
+                        int LA41_4 = input.LA(4);
+
+                        if ( (LA41_4==RULE_INT) ) {
+                            int LA41_5 = input.LA(5);
+
+                            if ( (LA41_5==EOF||(LA41_5>=13 && LA41_5<=14)||(LA41_5>=29 && LA41_5<=30)||LA41_5==33||LA41_5==36) ) {
+                                alt41=1;
+                            }
+                            else if ( ((LA41_5>=56 && LA41_5<=57)) ) {
+                                alt41=2;
+                            }
+                            else {
+                                if (state.backtracking>0) {state.failed=true; return current;}
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 41, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 41, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 41, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 41, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA41_3 = input.LA(2);
+
+                if ( (LA41_3==37) ) {
+                    int LA41_4 = input.LA(3);
+
+                    if ( (LA41_4==RULE_INT) ) {
+                        int LA41_5 = input.LA(4);
+
+                        if ( (LA41_5==EOF||(LA41_5>=13 && LA41_5<=14)||(LA41_5>=29 && LA41_5<=30)||LA41_5==33||LA41_5==36) ) {
+                            alt41=1;
+                        }
+                        else if ( ((LA41_5>=56 && LA41_5<=57)) ) {
+                            alt41=2;
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 41, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 41, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 41, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                if (state.backtracking>0) {state.failed=true; return current;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 41, 0, input);
+
+                throw nvae;
+            }
+
             switch (alt41) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2513:5: this_Decimal_0= ruleDecimal
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2429:5: this_Decimal_0= ruleDecimal
                     {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal6044);
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal5812);
                     this_Decimal_0=ruleDecimal();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    		current.merge(this_Decimal_0);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
+                      		current.merge(this_Decimal_0);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2525:5: this_DotDecimal_1= ruleDotDecimal
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2441:5: this_DecimalExp_1= ruleDecimalExp
                     {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleDotDecimal_in_ruleReal6077);
-                    this_DotDecimal_1=ruleDotDecimal();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DotDecimal_1);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
+                          
                     }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2537:5: this_DecimalDot_2= ruleDecimalDot
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalDot_in_ruleReal6110);
-                    this_DecimalDot_2=ruleDecimalDot();
+                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal5845);
+                    this_DecimalExp_1=ruleDecimalExp();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    		current.merge(this_DecimalDot_2);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
+                      		current.merge(this_DecimalExp_1);
+                          
                     }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2549:5: this_DecimalExp_3= ruleDecimalExp
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal6143);
-                    this_DecimalExp_3=ruleDecimalExp();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalExp_3);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
@@ -6722,7 +7347,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -6737,7 +7364,7 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2567:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2459:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
     public final String entryRuleDecimal() throws RecognitionException {
         String current = null;
 
@@ -6748,17 +7375,21 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2571:2: (iv_ruleDecimal= ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2572:2: iv_ruleDecimal= ruleDecimal EOF
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2463:2: (iv_ruleDecimal= ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2464:2: iv_ruleDecimal= ruleDecimal EOF
             {
-             newCompositeNode(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal6195);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getDecimalRule()); 
+            }
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal5897);
             iv_ruleDecimal=ruleDecimal();
 
             state._fsp--;
-
-             current =iv_ruleDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal6206); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleDecimal.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal5908); if (state.failed) return current;
 
             }
 
@@ -6779,7 +7410,7 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2582:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
+    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2474:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -6791,74 +7422,90 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2586:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2587:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2478:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2479:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2587:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2587:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2479:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2479:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2587:2: (kw= '+' | kw= '-' )?
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2479:2: (kw= '+' | kw= '-' )?
             int alt42=3;
             int LA42_0 = input.LA(1);
 
-            if ( (LA42_0==55) ) {
+            if ( (LA42_0==54) ) {
                 alt42=1;
             }
-            else if ( (LA42_0==56) ) {
+            else if ( (LA42_0==55) ) {
                 alt42=2;
             }
             switch (alt42) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2588:2: kw= '+'
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2480:2: kw= '+'
                     {
-                    kw=(Token)match(input,55,FOLLOW_55_in_ruleDecimal6249); 
+                    kw=(Token)match(input,54,FOLLOW_54_in_ruleDecimal5951); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
+                          
+                    }
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2595:2: kw= '-'
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2487:2: kw= '-'
                     {
-                    kw=(Token)match(input,56,FOLLOW_56_in_ruleDecimal6268); 
+                    kw=(Token)match(input,55,FOLLOW_55_in_ruleDecimal5970); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
+                          
+                    }
 
                     }
                     break;
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal6285); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal5987); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,38,FOLLOW_38_in_ruleDecimal6303); 
+              		current.merge(this_INT_2);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_INT_2, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
+                  
+            }
+            kw=(Token)match(input,37,FOLLOW_37_in_ruleDecimal6005); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
-                
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal6318); 
+                      current.merge(kw);
+                      newLeafNode(kw, grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
+                  
+            }
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal6020); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_INT_4);
-                
-             
-                newLeafNode(this_INT_4, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
-                
+              		current.merge(this_INT_4);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_INT_4, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -6875,270 +7522,8 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2631:1: entryRuleDotDecimal returns [String current=null] : iv_ruleDotDecimal= ruleDotDecimal EOF ;
-    public final String entryRuleDotDecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDotDecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2635:2: (iv_ruleDotDecimal= ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2636:2: iv_ruleDotDecimal= ruleDotDecimal EOF
-            {
-             newCompositeNode(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal6374);
-            iv_ruleDotDecimal=ruleDotDecimal();
-
-            state._fsp--;
-
-             current =iv_ruleDotDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal6385); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2646:1: ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleDotDecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_3=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2650:28: ( ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2651:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2651:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2651:2: (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2651:2: (kw= '+' | kw= '-' )?
-            int alt43=3;
-            int LA43_0 = input.LA(1);
-
-            if ( (LA43_0==55) ) {
-                alt43=1;
-            }
-            else if ( (LA43_0==56) ) {
-                alt43=2;
-            }
-            switch (alt43) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2652:2: kw= '+'
-                    {
-                    kw=(Token)match(input,55,FOLLOW_55_in_ruleDotDecimal6428); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2659:2: kw= '-'
-                    {
-                    kw=(Token)match(input,56,FOLLOW_56_in_ruleDotDecimal6447); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            kw=(Token)match(input,38,FOLLOW_38_in_ruleDotDecimal6462); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-                
-            this_INT_3=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDotDecimal6477); 
-
-            		current.merge(this_INT_3);
-                
-             
-                newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2688:1: entryRuleDecimalDot returns [String current=null] : iv_ruleDecimalDot= ruleDecimalDot EOF ;
-    public final String entryRuleDecimalDot() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDecimalDot = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2692:2: (iv_ruleDecimalDot= ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2693:2: iv_ruleDecimalDot= ruleDecimalDot EOF
-            {
-             newCompositeNode(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot6533);
-            iv_ruleDecimalDot=ruleDecimalDot();
-
-            state._fsp--;
-
-             current =iv_ruleDecimalDot.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot6544); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2703:1: ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) ;
-    public final AntlrDatatypeRuleToken ruleDecimalDot() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2707:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2708:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2708:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2708:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.'
-            {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2708:2: (kw= '+' | kw= '-' )?
-            int alt44=3;
-            int LA44_0 = input.LA(1);
-
-            if ( (LA44_0==55) ) {
-                alt44=1;
-            }
-            else if ( (LA44_0==56) ) {
-                alt44=2;
-            }
-            switch (alt44) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2709:2: kw= '+'
-                    {
-                    kw=(Token)match(input,55,FOLLOW_55_in_ruleDecimalDot6587); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2716:2: kw= '-'
-                    {
-                    kw=(Token)match(input,56,FOLLOW_56_in_ruleDecimalDot6606); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalDot6623); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,38,FOLLOW_38_in_ruleDecimalDot6641); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2745:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2523:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
     public final String entryRuleDecimalExp() throws RecognitionException {
         String current = null;
 
@@ -7149,17 +7534,21 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2749:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2750:2: iv_ruleDecimalExp= ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2527:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2528:2: iv_ruleDecimalExp= ruleDecimalExp EOF
             {
-             newCompositeNode(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp6692);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getDecimalExpRule()); 
+            }
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp6076);
             iv_ruleDecimalExp=ruleDecimalExp();
 
             state._fsp--;
-
-             current =iv_ruleDecimalExp.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp6703); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleDecimalExp.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp6087); if (state.failed) return current;
 
             }
 
@@ -7180,94 +7569,207 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2760:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2538:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? ( ( RULE_INT )=>this_INT_9= RULE_INT ) ) ;
     public final AntlrDatatypeRuleToken ruleDecimalExp() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         Token kw=null;
         Token this_INT_2=null;
         Token this_INT_4=null;
-        Token this_EXP_5=null;
+        Token this_INT_9=null;
 
          enterRule(); 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2764:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2765:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2542:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? ( ( RULE_INT )=>this_INT_9= RULE_INT ) ) )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2543:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? ( ( RULE_INT )=>this_INT_9= RULE_INT ) )
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2765:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2765:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2543:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? ( ( RULE_INT )=>this_INT_9= RULE_INT ) )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2543:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? ( ( RULE_INT )=>this_INT_9= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2765:2: (kw= '+' | kw= '-' )?
-            int alt45=3;
-            int LA45_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2543:2: (kw= '+' | kw= '-' )?
+            int alt43=3;
+            int LA43_0 = input.LA(1);
 
-            if ( (LA45_0==55) ) {
-                alt45=1;
+            if ( (LA43_0==54) ) {
+                alt43=1;
             }
-            else if ( (LA45_0==56) ) {
-                alt45=2;
+            else if ( (LA43_0==55) ) {
+                alt43=2;
             }
-            switch (alt45) {
+            switch (alt43) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2766:2: kw= '+'
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2544:2: kw= '+'
                     {
-                    kw=(Token)match(input,55,FOLLOW_55_in_ruleDecimalExp6746); 
+                    kw=(Token)match(input,54,FOLLOW_54_in_ruleDecimalExp6130); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
+                          
+                    }
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2773:2: kw= '-'
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2551:2: kw= '-'
                     {
-                    kw=(Token)match(input,56,FOLLOW_56_in_ruleDecimalExp6765); 
+                    kw=(Token)match(input,55,FOLLOW_55_in_ruleDecimalExp6149); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
+                          
+                    }
 
                     }
                     break;
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp6782); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp6166); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,38,FOLLOW_38_in_ruleDecimalExp6800); 
+              		current.merge(this_INT_2);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_INT_2, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
+                  
+            }
+            kw=(Token)match(input,37,FOLLOW_37_in_ruleDecimalExp6184); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
-                
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp6815); 
+                      current.merge(kw);
+                      newLeafNode(kw, grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
+                  
+            }
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp6199); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_INT_4);
-                
-             
-                newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
-                
-            this_EXP_5=(Token)match(input,RULE_EXP,FOLLOW_RULE_EXP_in_ruleDecimalExp6835); 
+              		current.merge(this_INT_4);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
+                  
+            }
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2576:1: (kw= 'e' | kw= 'E' )
+            int alt44=2;
+            int LA44_0 = input.LA(1);
 
-            		current.merge(this_EXP_5);
-                
-             
-                newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
-                
+            if ( (LA44_0==56) ) {
+                alt44=1;
+            }
+            else if ( (LA44_0==57) ) {
+                alt44=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return current;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 44, 0, input);
+
+                throw nvae;
+            }
+            switch (alt44) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2577:2: kw= 'e'
+                    {
+                    kw=(Token)match(input,56,FOLLOW_56_in_ruleDecimalExp6218); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                          
+                    }
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2584:2: kw= 'E'
+                    {
+                    kw=(Token)match(input,57,FOLLOW_57_in_ruleDecimalExp6237); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                          
+                    }
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2589:2: (kw= '+' | kw= '-' )?
+            int alt45=3;
+            int LA45_0 = input.LA(1);
+
+            if ( (LA45_0==54) ) {
+                alt45=1;
+            }
+            else if ( (LA45_0==55) ) {
+                alt45=2;
+            }
+            switch (alt45) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2590:2: kw= '+'
+                    {
+                    kw=(Token)match(input,54,FOLLOW_54_in_ruleDecimalExp6252); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                          
+                    }
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2597:2: kw= '-'
+                    {
+                    kw=(Token)match(input,55,FOLLOW_55_in_ruleDecimalExp6271); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                          
+                    }
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2602:3: ( ( RULE_INT )=>this_INT_9= RULE_INT )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2602:4: ( RULE_INT )=>this_INT_9= RULE_INT
+            {
+            this_INT_9=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp6294); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		current.merge(this_INT_9);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -7285,7 +7787,7 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2816:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2620:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
     public final String entryRuleFQN() throws RecognitionException {
         String current = null;
 
@@ -7293,17 +7795,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2817:2: (iv_ruleFQN= ruleFQN EOF )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2818:2: iv_ruleFQN= ruleFQN EOF
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2621:2: (iv_ruleFQN= ruleFQN EOF )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2622:2: iv_ruleFQN= ruleFQN EOF
             {
-             newCompositeNode(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN6885);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getFQNRule()); 
+            }
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN6345);
             iv_ruleFQN=ruleFQN();
 
             state._fsp--;
-
-             current =iv_ruleFQN.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN6896); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleFQN.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN6356); if (state.failed) return current;
 
             }
 
@@ -7321,7 +7827,7 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2825:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
+    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2629:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
     public final AntlrDatatypeRuleToken ruleFQN() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -7332,46 +7838,56 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2828:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2829:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2632:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2633:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2829:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2829:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2633:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2633:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
             {
-            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN6936); 
+            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN6396); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_ID_0);
-                
-             
-                newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
-                
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2836:1: (kw= '.' this_ID_2= RULE_ID )*
+              		current.merge(this_ID_0);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
+                  
+            }
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2640:1: (kw= '.' this_ID_2= RULE_ID )*
             loop46:
             do {
                 int alt46=2;
                 int LA46_0 = input.LA(1);
 
-                if ( (LA46_0==38) ) {
+                if ( (LA46_0==37) ) {
                     alt46=1;
                 }
 
 
                 switch (alt46) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2837:2: kw= '.' this_ID_2= RULE_ID
+            	    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2641:2: kw= '.' this_ID_2= RULE_ID
             	    {
-            	    kw=(Token)match(input,38,FOLLOW_38_in_ruleFQN6955); 
+            	    kw=(Token)match(input,37,FOLLOW_37_in_ruleFQN6415); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	            current.merge(kw);
-            	            newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
-            	        
-            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN6970); 
+            	              current.merge(kw);
+            	              newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
+            	          
+            	    }
+            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN6430); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	    		current.merge(this_ID_2);
-            	        
-            	     
-            	        newLeafNode(this_ID_2, grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
-            	        
+            	      		current.merge(this_ID_2);
+            	          
+            	    }
+            	    if ( state.backtracking==0 ) {
+            	       
+            	          newLeafNode(this_ID_2, grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
+            	          
+            	    }
 
             	    }
             	    break;
@@ -7387,7 +7903,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -7402,7 +7920,7 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2857:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
+    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2661:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
     public final Enumerator ruleLiteralType() throws RecognitionException {
         Enumerator current = null;
 
@@ -7413,33 +7931,34 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2859:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2860:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2663:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2664:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             {
-            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2860:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2664:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             int alt47=4;
             switch ( input.LA(1) ) {
-            case 57:
+            case 58:
                 {
                 alt47=1;
                 }
                 break;
-            case 58:
+            case 59:
                 {
                 alt47=2;
                 }
                 break;
-            case 59:
+            case 60:
                 {
                 alt47=3;
                 }
                 break;
-            case 60:
+            case 61:
                 {
                 alt47=4;
                 }
                 break;
             default:
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 47, 0, input);
 
@@ -7448,16 +7967,18 @@
 
             switch (alt47) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2860:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2664:2: (enumLiteral_0= 'ptBoolean' )
                     {
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2860:2: (enumLiteral_0= 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2860:4: enumLiteral_0= 'ptBoolean'
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2664:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2664:4: enumLiteral_0= 'ptBoolean'
                     {
-                    enumLiteral_0=(Token)match(input,57,FOLLOW_57_in_ruleLiteralType7031); 
+                    enumLiteral_0=(Token)match(input,58,FOLLOW_58_in_ruleLiteralType6491); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_0, grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
-                        
+                              current = grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_0, grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
+                          
+                    }
 
                     }
 
@@ -7465,16 +7986,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2866:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2670:6: (enumLiteral_1= 'ptInteger' )
                     {
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2866:6: (enumLiteral_1= 'ptInteger' )
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2866:8: enumLiteral_1= 'ptInteger'
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2670:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2670:8: enumLiteral_1= 'ptInteger'
                     {
-                    enumLiteral_1=(Token)match(input,58,FOLLOW_58_in_ruleLiteralType7048); 
+                    enumLiteral_1=(Token)match(input,59,FOLLOW_59_in_ruleLiteralType6508); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_1, grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
-                        
+                              current = grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_1, grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
+                          
+                    }
 
                     }
 
@@ -7482,16 +8005,18 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2872:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2676:6: (enumLiteral_2= 'ptReal' )
                     {
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2872:6: (enumLiteral_2= 'ptReal' )
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2872:8: enumLiteral_2= 'ptReal'
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2676:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2676:8: enumLiteral_2= 'ptReal'
                     {
-                    enumLiteral_2=(Token)match(input,59,FOLLOW_59_in_ruleLiteralType7065); 
+                    enumLiteral_2=(Token)match(input,60,FOLLOW_60_in_ruleLiteralType6525); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_2, grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
-                        
+                              current = grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_2, grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
+                          
+                    }
 
                     }
 
@@ -7499,16 +8024,18 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2878:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2682:6: (enumLiteral_3= 'ptCharacter' )
                     {
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2878:6: (enumLiteral_3= 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2878:8: enumLiteral_3= 'ptCharacter'
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2682:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2682:8: enumLiteral_3= 'ptCharacter'
                     {
-                    enumLiteral_3=(Token)match(input,60,FOLLOW_60_in_ruleLiteralType7082); 
+                    enumLiteral_3=(Token)match(input,61,FOLLOW_61_in_ruleLiteralType6542); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_3, grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
-                        
+                              current = grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_3, grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
+                          
+                    }
 
                     }
 
@@ -7521,7 +8048,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -7534,78 +8063,45 @@
     }
     // $ANTLR end "ruleLiteralType"
 
+    // $ANTLR start synpred1_InternalConfig
+    public final void synpred1_InternalConfig_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2602:4: ( RULE_INT )
+        // ../org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalConfig.g:2602:6: RULE_INT
+        {
+        match(input,RULE_INT,FOLLOW_RULE_INT_in_synpred1_InternalConfig6285); if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred1_InternalConfig
+
     // Delegated rules
 
-
-    protected DFA41 dfa41 = new DFA41(this);
-    static final String DFA41_eotS =
-        "\12\uffff";
-    static final String DFA41_eofS =
-        "\5\uffff\1\6\1\uffff\1\10\2\uffff";
-    static final String DFA41_minS =
-        "\3\6\1\46\1\uffff\1\6\1\uffff\1\10\2\uffff";
-    static final String DFA41_maxS =
-        "\1\70\3\46\1\uffff\1\45\1\uffff\1\45\2\uffff";
-    static final String DFA41_acceptS =
-        "\4\uffff\1\2\1\uffff\1\3\1\uffff\1\1\1\4";
-    static final String DFA41_specialS =
-        "\12\uffff}>";
-    static final String[] DFA41_transitionS = {
-            "\1\3\37\uffff\1\4\20\uffff\1\1\1\2",
-            "\1\3\37\uffff\1\4",
-            "\1\3\37\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\7\7\uffff\2\6\16\uffff\2\6\2\uffff\1\6\2\uffff\1\6",
-            "",
-            "\1\11\5\uffff\2\10\16\uffff\2\10\2\uffff\1\10\2\uffff\1\10",
-            "",
-            ""
-    };
-
-    static final short[] DFA41_eot = DFA.unpackEncodedString(DFA41_eotS);
-    static final short[] DFA41_eof = DFA.unpackEncodedString(DFA41_eofS);
-    static final char[] DFA41_min = DFA.unpackEncodedStringToUnsignedChars(DFA41_minS);
-    static final char[] DFA41_max = DFA.unpackEncodedStringToUnsignedChars(DFA41_maxS);
-    static final short[] DFA41_accept = DFA.unpackEncodedString(DFA41_acceptS);
-    static final short[] DFA41_special = DFA.unpackEncodedString(DFA41_specialS);
-    static final short[][] DFA41_transition;
-
-    static {
-        int numStates = DFA41_transitionS.length;
-        DFA41_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA41_transition[i] = DFA.unpackEncodedString(DFA41_transitionS[i]);
+    public final boolean synpred1_InternalConfig() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred1_InternalConfig_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
         }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
     }
 
-    class DFA41 extends DFA {
 
-        public DFA41(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 41;
-            this.eot = DFA41_eot;
-            this.eof = DFA41_eof;
-            this.min = DFA41_min;
-            this.max = DFA41_max;
-            this.accept = DFA41_accept;
-            this.special = DFA41_special;
-            this.transition = DFA41_transition;
-        }
-        public String getDescription() {
-            return "2512:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )";
-        }
-    }
  
 
     public static final BitSet FOLLOW_ruleConfigModel_in_entryRuleConfigModel75 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleConfigModel85 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_ruleConfigModel122 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleConfigModel143 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleConfigModel155 = new BitSet(new long[]{0x0000080003818000L});
-    public static final BitSet FOLLOW_ruleImport_in_ruleConfigModel176 = new BitSet(new long[]{0x0000080003818000L});
-    public static final BitSet FOLLOW_ruleConfigElement_in_ruleConfigModel198 = new BitSet(new long[]{0x0000000003818000L});
-    public static final BitSet FOLLOW_15_in_ruleConfigModel211 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_ruleConfigModel122 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleConfigModel143 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleConfigModel155 = new BitSet(new long[]{0x0000040001C0C000L});
+    public static final BitSet FOLLOW_ruleImport_in_ruleConfigModel176 = new BitSet(new long[]{0x0000040001C0C000L});
+    public static final BitSet FOLLOW_ruleConfigElement_in_ruleConfigModel198 = new BitSet(new long[]{0x0000000001C0C000L});
+    public static final BitSet FOLLOW_14_in_ruleConfigModel211 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleConfigElement_in_entryRuleConfigElement247 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleConfigElement257 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSubSystemConfig_in_ruleConfigElement304 = new BitSet(new long[]{0x0000000000000002L});
@@ -7614,101 +8110,101 @@
     public static final BitSet FOLLOW_ruleProtocolClassConfig_in_ruleConfigElement385 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSubSystemConfig_in_entryRuleSubSystemConfig420 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSubSystemConfig430 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_ruleSubSystemConfig467 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleSubSystemConfig490 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleSubSystemConfig502 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSubSystemConfig522 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleSubSystemConfig534 = new BitSet(new long[]{0x0000000000040000L});
-    public static final BitSet FOLLOW_ruleDynamicConfig_in_ruleSubSystemConfig555 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleSubSystemConfig567 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_ruleSubSystemConfig467 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleSubSystemConfig490 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleSubSystemConfig502 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSubSystemConfig522 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleSubSystemConfig534 = new BitSet(new long[]{0x0000000000020000L});
+    public static final BitSet FOLLOW_ruleDynamicConfig_in_ruleSubSystemConfig555 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleSubSystemConfig567 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleDynamicConfig_in_entryRuleDynamicConfig603 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleDynamicConfig613 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_ruleDynamicConfig650 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleDynamicConfig662 = new BitSet(new long[]{0x0000000000580000L});
-    public static final BitSet FOLLOW_19_in_ruleDynamicConfig721 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDynamicConfig738 = new BitSet(new long[]{0x0000000000588000L});
-    public static final BitSet FOLLOW_20_in_ruleDynamicConfig764 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDynamicConfig781 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_ruleDynamicConfig800 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDynamicConfig817 = new BitSet(new long[]{0x0000000000588000L});
-    public static final BitSet FOLLOW_22_in_ruleDynamicConfig892 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_ruleTIME_in_ruleDynamicConfig913 = new BitSet(new long[]{0x0000000000588000L});
-    public static final BitSet FOLLOW_15_in_ruleDynamicConfig972 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_ruleDynamicConfig650 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleDynamicConfig662 = new BitSet(new long[]{0x00000000002C0000L});
+    public static final BitSet FOLLOW_18_in_ruleDynamicConfig721 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDynamicConfig738 = new BitSet(new long[]{0x00000000002C4000L});
+    public static final BitSet FOLLOW_19_in_ruleDynamicConfig764 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDynamicConfig781 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_ruleDynamicConfig800 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDynamicConfig817 = new BitSet(new long[]{0x00000000002C4000L});
+    public static final BitSet FOLLOW_21_in_ruleDynamicConfig892 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_ruleTIME_in_ruleDynamicConfig913 = new BitSet(new long[]{0x00000000002C4000L});
+    public static final BitSet FOLLOW_14_in_ruleDynamicConfig972 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleActorClassConfig_in_entryRuleActorClassConfig1008 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleActorClassConfig1018 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_ruleActorClassConfig1055 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleActorClassConfig1078 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleActorClassConfig1090 = new BitSet(new long[]{0x0000000080008000L});
-    public static final BitSet FOLLOW_ruleAttrClassConfig_in_ruleActorClassConfig1111 = new BitSet(new long[]{0x0000000080008000L});
-    public static final BitSet FOLLOW_15_in_ruleActorClassConfig1124 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_22_in_ruleActorClassConfig1055 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleActorClassConfig1078 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleActorClassConfig1090 = new BitSet(new long[]{0x0000000040004000L});
+    public static final BitSet FOLLOW_ruleAttrClassConfig_in_ruleActorClassConfig1111 = new BitSet(new long[]{0x0000000040004000L});
+    public static final BitSet FOLLOW_14_in_ruleActorClassConfig1124 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleActorInstanceConfig_in_entryRuleActorInstanceConfig1160 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleActorInstanceConfig1170 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_ruleActorInstanceConfig1207 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleActorInstanceConfig1230 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleActorInstanceConfig1242 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleActorInstanceConfig1262 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleActorInstanceConfig1274 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleRefPath_in_ruleActorInstanceConfig1295 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleActorInstanceConfig1307 = new BitSet(new long[]{0x00000000C0008000L});
-    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_ruleActorInstanceConfig1373 = new BitSet(new long[]{0x00000000C0008000L});
-    public static final BitSet FOLLOW_rulePortInstanceConfig_in_ruleActorInstanceConfig1449 = new BitSet(new long[]{0x00000000C0008000L});
-    public static final BitSet FOLLOW_15_in_ruleActorInstanceConfig1502 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_23_in_ruleActorInstanceConfig1207 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleActorInstanceConfig1230 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleActorInstanceConfig1242 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleActorInstanceConfig1262 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleActorInstanceConfig1274 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleRefPath_in_ruleActorInstanceConfig1295 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleActorInstanceConfig1307 = new BitSet(new long[]{0x0000000060004000L});
+    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_ruleActorInstanceConfig1373 = new BitSet(new long[]{0x0000000060004000L});
+    public static final BitSet FOLLOW_rulePortInstanceConfig_in_ruleActorInstanceConfig1449 = new BitSet(new long[]{0x0000000060004000L});
+    public static final BitSet FOLLOW_14_in_ruleActorInstanceConfig1502 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleProtocolClassConfig_in_entryRuleProtocolClassConfig1538 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleProtocolClassConfig1548 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_ruleProtocolClassConfig1585 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleProtocolClassConfig1608 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleProtocolClassConfig1620 = new BitSet(new long[]{0x000000001C008000L});
-    public static final BitSet FOLLOW_26_in_ruleProtocolClassConfig1678 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_rulePortClassConfig_in_ruleProtocolClassConfig1699 = new BitSet(new long[]{0x000000001C008000L});
-    public static final BitSet FOLLOW_27_in_ruleProtocolClassConfig1768 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_28_in_ruleProtocolClassConfig1786 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_rulePortClassConfig_in_ruleProtocolClassConfig1808 = new BitSet(new long[]{0x000000001C008000L});
-    public static final BitSet FOLLOW_15_in_ruleProtocolClassConfig1861 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_24_in_ruleProtocolClassConfig1585 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleProtocolClassConfig1608 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleProtocolClassConfig1620 = new BitSet(new long[]{0x000000000E004000L});
+    public static final BitSet FOLLOW_25_in_ruleProtocolClassConfig1678 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rulePortClassConfig_in_ruleProtocolClassConfig1699 = new BitSet(new long[]{0x000000000E004000L});
+    public static final BitSet FOLLOW_26_in_ruleProtocolClassConfig1768 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_27_in_ruleProtocolClassConfig1786 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rulePortClassConfig_in_ruleProtocolClassConfig1808 = new BitSet(new long[]{0x000000000E004000L});
+    public static final BitSet FOLLOW_14_in_ruleProtocolClassConfig1861 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rulePortClassConfig_in_entryRulePortClassConfig1897 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRulePortClassConfig1907 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rulePortClassConfig1953 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_rulePortClassConfig1965 = new BitSet(new long[]{0x0000000080008000L});
-    public static final BitSet FOLLOW_ruleAttrClassConfig_in_rulePortClassConfig1986 = new BitSet(new long[]{0x0000000080008000L});
-    public static final BitSet FOLLOW_15_in_rulePortClassConfig1999 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rulePortClassConfig1953 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_rulePortClassConfig1965 = new BitSet(new long[]{0x0000000040004000L});
+    public static final BitSet FOLLOW_ruleAttrClassConfig_in_rulePortClassConfig1986 = new BitSet(new long[]{0x0000000040004000L});
+    public static final BitSet FOLLOW_14_in_rulePortClassConfig1999 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rulePortInstanceConfig_in_entryRulePortInstanceConfig2035 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRulePortInstanceConfig2045 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rulePortInstanceConfig2082 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_rulePortInstanceConfig2102 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_rulePortInstanceConfig2114 = new BitSet(new long[]{0x0000000080008000L});
-    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_rulePortInstanceConfig2135 = new BitSet(new long[]{0x0000000080008000L});
-    public static final BitSet FOLLOW_15_in_rulePortInstanceConfig2148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rulePortInstanceConfig2082 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_rulePortInstanceConfig2102 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_rulePortInstanceConfig2114 = new BitSet(new long[]{0x0000000040004000L});
+    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_rulePortInstanceConfig2135 = new BitSet(new long[]{0x0000000040004000L});
+    public static final BitSet FOLLOW_14_in_rulePortInstanceConfig2148 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAttrClassConfig_in_entryRuleAttrClassConfig2186 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAttrClassConfig2196 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_ruleAttrClassConfig2233 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleAttrClassConfig2253 = new BitSet(new long[]{0x0000000100004002L});
-    public static final BitSet FOLLOW_32_in_ruleAttrClassConfig2266 = new BitSet(new long[]{0x01E00040000000F0L});
-    public static final BitSet FOLLOW_ruleConfigValueArray_in_ruleAttrClassConfig2287 = new BitSet(new long[]{0x0000000000004002L});
-    public static final BitSet FOLLOW_14_in_ruleAttrClassConfig2302 = new BitSet(new long[]{0x0000000680008000L});
-    public static final BitSet FOLLOW_33_in_ruleAttrClassConfig2316 = new BitSet(new long[]{0x0000000100000000L});
-    public static final BitSet FOLLOW_32_in_ruleAttrClassConfig2328 = new BitSet(new long[]{0x01800040000000C0L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_ruleAttrClassConfig2349 = new BitSet(new long[]{0x0000000480008000L});
-    public static final BitSet FOLLOW_34_in_ruleAttrClassConfig2364 = new BitSet(new long[]{0x0000000100000000L});
-    public static final BitSet FOLLOW_32_in_ruleAttrClassConfig2376 = new BitSet(new long[]{0x01800040000000C0L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_ruleAttrClassConfig2397 = new BitSet(new long[]{0x0000000080008000L});
-    public static final BitSet FOLLOW_ruleAttrClassConfig_in_ruleAttrClassConfig2420 = new BitSet(new long[]{0x0000000080008000L});
-    public static final BitSet FOLLOW_15_in_ruleAttrClassConfig2434 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_ruleAttrClassConfig2233 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleAttrClassConfig2253 = new BitSet(new long[]{0x0000000080002002L});
+    public static final BitSet FOLLOW_31_in_ruleAttrClassConfig2266 = new BitSet(new long[]{0x00F00000000000F0L});
+    public static final BitSet FOLLOW_ruleConfigValueArray_in_ruleAttrClassConfig2287 = new BitSet(new long[]{0x0000000000002002L});
+    public static final BitSet FOLLOW_13_in_ruleAttrClassConfig2302 = new BitSet(new long[]{0x0000000340004000L});
+    public static final BitSet FOLLOW_32_in_ruleAttrClassConfig2316 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_31_in_ruleAttrClassConfig2328 = new BitSet(new long[]{0x00C00000000000C0L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_ruleAttrClassConfig2349 = new BitSet(new long[]{0x0000000240004000L});
+    public static final BitSet FOLLOW_33_in_ruleAttrClassConfig2364 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_31_in_ruleAttrClassConfig2376 = new BitSet(new long[]{0x00C00000000000C0L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_ruleAttrClassConfig2397 = new BitSet(new long[]{0x0000000040004000L});
+    public static final BitSet FOLLOW_ruleAttrClassConfig_in_ruleAttrClassConfig2420 = new BitSet(new long[]{0x0000000040004000L});
+    public static final BitSet FOLLOW_14_in_ruleAttrClassConfig2434 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_entryRuleAttrInstanceConfig2472 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAttrInstanceConfig2482 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_ruleAttrInstanceConfig2519 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleAttrInstanceConfig2539 = new BitSet(new long[]{0x0000000100004002L});
-    public static final BitSet FOLLOW_32_in_ruleAttrInstanceConfig2552 = new BitSet(new long[]{0x01E00040000000F0L});
-    public static final BitSet FOLLOW_ruleConfigValueArray_in_ruleAttrInstanceConfig2573 = new BitSet(new long[]{0x0000000000004002L});
-    public static final BitSet FOLLOW_14_in_ruleAttrInstanceConfig2588 = new BitSet(new long[]{0x0000000080048000L});
-    public static final BitSet FOLLOW_18_in_ruleAttrInstanceConfig2608 = new BitSet(new long[]{0x0000001800000000L});
-    public static final BitSet FOLLOW_35_in_ruleAttrInstanceConfig2640 = new BitSet(new long[]{0x0000000080008000L});
-    public static final BitSet FOLLOW_36_in_ruleAttrInstanceConfig2671 = new BitSet(new long[]{0x0000000080008000L});
-    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_ruleAttrInstanceConfig2695 = new BitSet(new long[]{0x0000000080008000L});
-    public static final BitSet FOLLOW_15_in_ruleAttrInstanceConfig2709 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_ruleAttrInstanceConfig2519 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleAttrInstanceConfig2539 = new BitSet(new long[]{0x0000000080002002L});
+    public static final BitSet FOLLOW_31_in_ruleAttrInstanceConfig2552 = new BitSet(new long[]{0x00F00000000000F0L});
+    public static final BitSet FOLLOW_ruleConfigValueArray_in_ruleAttrInstanceConfig2573 = new BitSet(new long[]{0x0000000000002002L});
+    public static final BitSet FOLLOW_13_in_ruleAttrInstanceConfig2588 = new BitSet(new long[]{0x0000000040024000L});
+    public static final BitSet FOLLOW_17_in_ruleAttrInstanceConfig2608 = new BitSet(new long[]{0x0000000C00000000L});
+    public static final BitSet FOLLOW_34_in_ruleAttrInstanceConfig2640 = new BitSet(new long[]{0x0000000040004000L});
+    public static final BitSet FOLLOW_35_in_ruleAttrInstanceConfig2671 = new BitSet(new long[]{0x0000000040004000L});
+    public static final BitSet FOLLOW_ruleAttrInstanceConfig_in_ruleAttrInstanceConfig2695 = new BitSet(new long[]{0x0000000040004000L});
+    public static final BitSet FOLLOW_14_in_ruleAttrInstanceConfig2709 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleConfigValueArray_in_entryRuleConfigValueArray2747 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleConfigValueArray2757 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleConfigValue_in_ruleConfigValueArray2803 = new BitSet(new long[]{0x0000002000000002L});
-    public static final BitSet FOLLOW_37_in_ruleConfigValueArray2816 = new BitSet(new long[]{0x01E00040000000F0L});
-    public static final BitSet FOLLOW_ruleConfigValue_in_ruleConfigValueArray2837 = new BitSet(new long[]{0x0000002000000002L});
+    public static final BitSet FOLLOW_ruleConfigValue_in_ruleConfigValueArray2803 = new BitSet(new long[]{0x0000001000000002L});
+    public static final BitSet FOLLOW_36_in_ruleConfigValueArray2816 = new BitSet(new long[]{0x00F00000000000F0L});
+    public static final BitSet FOLLOW_ruleConfigValue_in_ruleConfigValueArray2837 = new BitSet(new long[]{0x0000001000000002L});
     public static final BitSet FOLLOW_ruleConfigValue_in_entryRuleConfigValue2875 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleConfigValue2885 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleLiteralConfigValue_in_ruleConfigValue2932 = new BitSet(new long[]{0x0000000000000002L});
@@ -7718,23 +8214,23 @@
     public static final BitSet FOLLOW_ruleLiteral_in_ruleLiteralConfigValue3049 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEnumConfigValue_in_entryRuleEnumConfigValue3084 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEnumConfigValue3094 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumConfigValue3139 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_38_in_ruleEnumConfigValue3151 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumConfigValue3139 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_37_in_ruleEnumConfigValue3151 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleEnumConfigValue3171 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRefPath_in_entryRuleRefPath3207 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRefPath3217 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefSegment_in_ruleRefPath3263 = new BitSet(new long[]{0x0000000000020002L});
-    public static final BitSet FOLLOW_17_in_ruleRefPath3276 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleRefSegment_in_ruleRefPath3297 = new BitSet(new long[]{0x0000000000020002L});
+    public static final BitSet FOLLOW_ruleRefSegment_in_ruleRefPath3263 = new BitSet(new long[]{0x0000000000010002L});
+    public static final BitSet FOLLOW_16_in_ruleRefPath3276 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleRefSegment_in_ruleRefPath3297 = new BitSet(new long[]{0x0000000000010002L});
     public static final BitSet FOLLOW_ruleRefSegment_in_entryRuleRefSegment3335 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRefSegment3345 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleRefSegment3387 = new BitSet(new long[]{0x0000008000000002L});
-    public static final BitSet FOLLOW_39_in_ruleRefSegment3405 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleRefSegment3387 = new BitSet(new long[]{0x0000004000000002L});
+    public static final BitSet FOLLOW_38_in_ruleRefSegment3405 = new BitSet(new long[]{0x0000000000000040L});
     public static final BitSet FOLLOW_RULE_INT_in_ruleRefSegment3422 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue3467 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue3477 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue3519 = new BitSet(new long[]{0x0000000100000000L});
-    public static final BitSet FOLLOW_32_in_ruleKeyValue3536 = new BitSet(new long[]{0x01E00040000000E0L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue3519 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_31_in_ruleKeyValue3536 = new BitSet(new long[]{0x00F00000000000E0L});
     public static final BitSet FOLLOW_ruleLiteral_in_ruleKeyValue3557 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType3596 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType3607 = new BitSet(new long[]{0x0000000000000002L});
@@ -7745,50 +8241,50 @@
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_ruleAnnotationAttribute3774 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute3809 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute3819 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_ruleSimpleAnnotationAttribute3863 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_41_in_ruleSimpleAnnotationAttribute3894 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_ruleSimpleAnnotationAttribute3907 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute3924 = new BitSet(new long[]{0x0000008000000000L});
-    public static final BitSet FOLLOW_39_in_ruleSimpleAnnotationAttribute3941 = new BitSet(new long[]{0x1E00000000000000L});
+    public static final BitSet FOLLOW_39_in_ruleSimpleAnnotationAttribute3863 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_40_in_ruleSimpleAnnotationAttribute3894 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_41_in_ruleSimpleAnnotationAttribute3907 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute3924 = new BitSet(new long[]{0x0000004000000000L});
+    public static final BitSet FOLLOW_38_in_ruleSimpleAnnotationAttribute3941 = new BitSet(new long[]{0x3C00000000000000L});
     public static final BitSet FOLLOW_ruleLiteralType_in_ruleSimpleAnnotationAttribute3962 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute3998 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute4008 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_ruleEnumAnnotationAttribute4052 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_41_in_ruleEnumAnnotationAttribute4083 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_ruleEnumAnnotationAttribute4096 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute4113 = new BitSet(new long[]{0x0000008000000000L});
-    public static final BitSet FOLLOW_39_in_ruleEnumAnnotationAttribute4130 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleEnumAnnotationAttribute4142 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute4159 = new BitSet(new long[]{0x0000002000008000L});
-    public static final BitSet FOLLOW_37_in_ruleEnumAnnotationAttribute4177 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute4194 = new BitSet(new long[]{0x0000002000008000L});
-    public static final BitSet FOLLOW_15_in_ruleEnumAnnotationAttribute4213 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_39_in_ruleEnumAnnotationAttribute4052 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_40_in_ruleEnumAnnotationAttribute4083 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_41_in_ruleEnumAnnotationAttribute4096 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute4113 = new BitSet(new long[]{0x0000004000000000L});
+    public static final BitSet FOLLOW_38_in_ruleEnumAnnotationAttribute4130 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleEnumAnnotationAttribute4142 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute4159 = new BitSet(new long[]{0x0000001000004000L});
+    public static final BitSet FOLLOW_36_in_ruleEnumAnnotationAttribute4177 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute4194 = new BitSet(new long[]{0x0000001000004000L});
+    public static final BitSet FOLLOW_14_in_ruleEnumAnnotationAttribute4213 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleImport_in_entryRuleImport4249 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleImport4259 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_ruleImport4296 = new BitSet(new long[]{0x0000200000000010L});
-    public static final BitSet FOLLOW_ruleImportedFQN_in_ruleImport4319 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_44_in_ruleImport4331 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_45_in_ruleImport4350 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_42_in_ruleImport4296 = new BitSet(new long[]{0x0000100000000010L});
+    public static final BitSet FOLLOW_ruleImportedFQN_in_ruleImport4319 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_43_in_ruleImport4331 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_44_in_ruleImport4350 = new BitSet(new long[]{0x0000000000000020L});
     public static final BitSet FOLLOW_RULE_STRING_in_ruleImport4368 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN4410 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN4421 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN4468 = new BitSet(new long[]{0x0000400000000002L});
-    public static final BitSet FOLLOW_46_in_ruleImportedFQN4487 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN4468 = new BitSet(new long[]{0x0000200000000002L});
+    public static final BitSet FOLLOW_45_in_ruleImportedFQN4487 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation4529 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation4539 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_ruleDocumentation4585 = new BitSet(new long[]{0x0001000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation4602 = new BitSet(new long[]{0x0001000000000020L});
-    public static final BitSet FOLLOW_48_in_ruleDocumentation4620 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_46_in_ruleDocumentation4585 = new BitSet(new long[]{0x0000800000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation4602 = new BitSet(new long[]{0x0000800000000020L});
+    public static final BitSet FOLLOW_47_in_ruleDocumentation4620 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTIME_in_entryRuleTIME4657 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTIME4668 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME4709 = new BitSet(new long[]{0x0002000000000000L});
-    public static final BitSet FOLLOW_49_in_ruleTIME4727 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME4750 = new BitSet(new long[]{0x0004000000000000L});
-    public static final BitSet FOLLOW_50_in_ruleTIME4768 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME4791 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_51_in_ruleTIME4809 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME4832 = new BitSet(new long[]{0x0010000000000000L});
-    public static final BitSet FOLLOW_52_in_ruleTIME4850 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME4709 = new BitSet(new long[]{0x0001000000000000L});
+    public static final BitSet FOLLOW_48_in_ruleTIME4727 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME4750 = new BitSet(new long[]{0x0002000000000000L});
+    public static final BitSet FOLLOW_49_in_ruleTIME4768 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME4791 = new BitSet(new long[]{0x0004000000000000L});
+    public static final BitSet FOLLOW_50_in_ruleTIME4809 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME4832 = new BitSet(new long[]{0x0008000000000000L});
+    public static final BitSet FOLLOW_51_in_ruleTIME4850 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral4893 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleLiteral4903 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_ruleLiteral4950 = new BitSet(new long[]{0x0000000000000002L});
@@ -7796,8 +8292,8 @@
     public static final BitSet FOLLOW_ruleStringLiteral_in_ruleLiteral5004 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral5039 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral5049 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_53_in_ruleBooleanLiteral5096 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_54_in_ruleBooleanLiteral5120 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_52_in_ruleBooleanLiteral5096 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_53_in_ruleBooleanLiteral5120 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral5170 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral5180 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleIntLiteral_in_ruleNumberLiteral5227 = new BitSet(new long[]{0x0000000000000002L});
@@ -7813,57 +8309,42 @@
     public static final BitSet FOLLOW_RULE_STRING_in_ruleStringLiteral5552 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger5594 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInteger5605 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_ruleInteger5652 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_ruleInteger5685 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger5737 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger5748 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_ruleSignedInteger5791 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_56_in_ruleSignedInteger5810 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleSignedInteger5827 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal5883 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal5894 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal5937 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal5986 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal5997 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal6044 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_ruleReal6077 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_ruleReal6110 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal6143 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal6195 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal6206 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_ruleDecimal6249 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_56_in_ruleDecimal6268 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal6285 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_38_in_ruleDecimal6303 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal6318 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal6374 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal6385 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_ruleDotDecimal6428 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_56_in_ruleDotDecimal6447 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_38_in_ruleDotDecimal6462 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDotDecimal6477 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot6533 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot6544 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_ruleDecimalDot6587 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_56_in_ruleDecimalDot6606 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalDot6623 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_38_in_ruleDecimalDot6641 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp6692 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp6703 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_ruleDecimalExp6746 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_56_in_ruleDecimalExp6765 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp6782 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_38_in_ruleDecimalExp6800 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp6815 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RULE_EXP_in_ruleDecimalExp6835 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN6885 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN6896 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN6936 = new BitSet(new long[]{0x0000004000000002L});
-    public static final BitSet FOLLOW_38_in_ruleFQN6955 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN6970 = new BitSet(new long[]{0x0000004000000002L});
-    public static final BitSet FOLLOW_57_in_ruleLiteralType7031 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_58_in_ruleLiteralType7048 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_ruleLiteralType7065 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_ruleLiteralType7082 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_54_in_ruleInteger5645 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_55_in_ruleInteger5664 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleInteger5681 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_ruleInteger5708 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal5754 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal5765 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal5812 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal5845 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal5897 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal5908 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_54_in_ruleDecimal5951 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_55_in_ruleDecimal5970 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal5987 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_37_in_ruleDecimal6005 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal6020 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp6076 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp6087 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_54_in_ruleDecimalExp6130 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_55_in_ruleDecimalExp6149 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp6166 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_37_in_ruleDecimalExp6184 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp6199 = new BitSet(new long[]{0x0300000000000000L});
+    public static final BitSet FOLLOW_56_in_ruleDecimalExp6218 = new BitSet(new long[]{0x00C0000000000040L});
+    public static final BitSet FOLLOW_57_in_ruleDecimalExp6237 = new BitSet(new long[]{0x00C0000000000040L});
+    public static final BitSet FOLLOW_54_in_ruleDecimalExp6252 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_55_in_ruleDecimalExp6271 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp6294 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN6345 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN6356 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN6396 = new BitSet(new long[]{0x0000002000000002L});
+    public static final BitSet FOLLOW_37_in_ruleFQN6415 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN6430 = new BitSet(new long[]{0x0000002000000002L});
+    public static final BitSet FOLLOW_58_in_ruleLiteralType6491 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_ruleLiteralType6508 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_ruleLiteralType6525 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_61_in_ruleLiteralType6542 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_synpred1_InternalConfig6285 = new BitSet(new long[]{0x0000000000000002L});
 
 }
diff --git a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java
index baef7ba..eb04b89 100644
--- a/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java
+++ b/plugins/org.eclipse.etrice.core.config/src-gen/org/eclipse/etrice/core/services/ConfigGrammarAccess.java
@@ -1451,7 +1451,7 @@
 	}
 
 	//Integer returns ecore::ELong:
-	//	SignedInteger | Hexadecimal;
+	//	("+" | "-")? INT | HEX;
 	public BaseGrammarAccess.IntegerElements getIntegerAccess() {
 		return gaBase.getIntegerAccess();
 	}
@@ -1460,28 +1460,8 @@
 		return getIntegerAccess().getRule();
 	}
 
-	//SignedInteger hidden():
-	//	("+" | "-")? INT;
-	public BaseGrammarAccess.SignedIntegerElements getSignedIntegerAccess() {
-		return gaBase.getSignedIntegerAccess();
-	}
-	
-	public ParserRule getSignedIntegerRule() {
-		return getSignedIntegerAccess().getRule();
-	}
-
-	//Hexadecimal hidden():
-	//	HEX;
-	public BaseGrammarAccess.HexadecimalElements getHexadecimalAccess() {
-		return gaBase.getHexadecimalAccess();
-	}
-	
-	public ParserRule getHexadecimalRule() {
-		return getHexadecimalAccess().getRule();
-	}
-
 	//Real returns ecore::EDouble:
-	//	Decimal | DotDecimal | DecimalDot | DecimalExp;
+	//	Decimal | / *DotDecimal | DecimalDot |* / DecimalExp;
 	public BaseGrammarAccess.RealElements getRealAccess() {
 		return gaBase.getRealAccess();
 	}
@@ -1500,28 +1480,13 @@
 		return getDecimalAccess().getRule();
 	}
 
-	//DotDecimal hidden():
-	//	("+" | "-")? "." INT;
-	public BaseGrammarAccess.DotDecimalElements getDotDecimalAccess() {
-		return gaBase.getDotDecimalAccess();
-	}
-	
-	public ParserRule getDotDecimalRule() {
-		return getDotDecimalAccess().getRule();
-	}
-
-	//DecimalDot hidden():
-	//	("+" | "-")? INT ".";
-	public BaseGrammarAccess.DecimalDotElements getDecimalDotAccess() {
-		return gaBase.getDecimalDotAccess();
-	}
-	
-	public ParserRule getDecimalDotRule() {
-		return getDecimalDotAccess().getRule();
-	}
-
+	////DotDecimal hidden():
+	////	('+' | '-')? '.' INT;
+	////
+	////DecimalDot hidden():
+	////	('+' | '-')? INT '.';
 	//DecimalExp hidden():
-	//	("+" | "-")? INT "." INT EXP;
+	//	("+" | "-")? INT "." INT ("e" | "E") ("+" | "-")? -> INT;
 	public BaseGrammarAccess.DecimalExpElements getDecimalExpAccess() {
 		return gaBase.getDecimalExpAccess();
 	}
@@ -1530,18 +1495,6 @@
 		return getDecimalExpAccess().getRule();
 	}
 
-	//terminal EXP:
-	//	("e" | "E") ("+" | "-")? "0".."9"+;
-	public TerminalRule getEXPRule() {
-		return gaBase.getEXPRule();
-	} 
-
-	//terminal HEX:
-	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
-	public TerminalRule getHEXRule() {
-		return gaBase.getHEXRule();
-	} 
-
 	//FQN:
 	//	ID ("." ID)*;
 	public BaseGrammarAccess.FQNElements getFQNAccess() {
@@ -1552,6 +1505,12 @@
 		return getFQNAccess().getRule();
 	}
 
+	//terminal HEX:
+	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
+	public TerminalRule getHEXRule() {
+		return gaBase.getHEXRule();
+	} 
+
 	//terminal ID:
 	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
 	public TerminalRule getIDRule() {
diff --git a/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java b/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java
index 823240c..9a5cd6e 100644
--- a/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java
+++ b/plugins/org.eclipse.etrice.core.config/xtend-gen/org/eclipse/etrice/core/generator/ConfigGenerator.java
@@ -9,6 +9,7 @@
 
 @SuppressWarnings("all")
 public class ConfigGenerator implements IGenerator {
+  @Override
   public void doGenerate(final Resource resource, final IFileSystemAccess fsa) {
   }
 }
diff --git a/plugins/org.eclipse.etrice.core.etmap.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.etmap.ui/META-INF/MANIFEST.MF
index ed54589..a147cf5 100644
--- a/plugins/org.eclipse.etrice.core.etmap.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.etmap.ui/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.etrice.core.etmap.ui
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.etmap.ui; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.room.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.etmap;bundle-version="1.0.1";visibility:=reexport,
- org.eclipse.etrice.core.etphys;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.room.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etmap;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.etrice.core.etphys;bundle-version="1.1.0",
  org.eclipse.xtext.ui;bundle-version="2.6.0",
  org.eclipse.ui.editors;bundle-version="3.5.0",
  org.eclipse.ui.ide;bundle-version="3.5.0",
@@ -17,8 +17,8 @@
  org.antlr.runtime,
  org.eclipse.xtext.ui.codetemplates.ui;bundle-version="2.6.0",
  org.eclipse.compare,
- org.eclipse.etrice.core.common.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1"
+ org.eclipse.etrice.core.common.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0"
 Import-Package: org.apache.log4j
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Export-Package: org.eclipse.etrice.core.etmap.ui.contentassist,
diff --git a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/ETMapParser.java b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/ETMapParser.java
index 1c87210..12d36e0 100644
--- a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/ETMapParser.java
+++ b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/ETMapParser.java
@@ -47,12 +47,12 @@
 					put(grammarAccess.getBooleanLiteralAccess().getAlternatives_1(), "rule__BooleanLiteral__Alternatives_1");
 					put(grammarAccess.getNumberLiteralAccess().getAlternatives(), "rule__NumberLiteral__Alternatives");
 					put(grammarAccess.getIntegerAccess().getAlternatives(), "rule__Integer__Alternatives");
-					put(grammarAccess.getSignedIntegerAccess().getAlternatives_0(), "rule__SignedInteger__Alternatives_0");
+					put(grammarAccess.getIntegerAccess().getAlternatives_0_0(), "rule__Integer__Alternatives_0_0");
 					put(grammarAccess.getRealAccess().getAlternatives(), "rule__Real__Alternatives");
 					put(grammarAccess.getDecimalAccess().getAlternatives_0(), "rule__Decimal__Alternatives_0");
-					put(grammarAccess.getDotDecimalAccess().getAlternatives_0(), "rule__DotDecimal__Alternatives_0");
-					put(grammarAccess.getDecimalDotAccess().getAlternatives_0(), "rule__DecimalDot__Alternatives_0");
 					put(grammarAccess.getDecimalExpAccess().getAlternatives_0(), "rule__DecimalExp__Alternatives_0");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_4(), "rule__DecimalExp__Alternatives_4");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_5(), "rule__DecimalExp__Alternatives_5");
 					put(grammarAccess.getLiteralTypeAccess().getAlternatives(), "rule__LiteralType__Alternatives");
 					put(grammarAccess.getMappingModelAccess().getGroup(), "rule__MappingModel__Group__0");
 					put(grammarAccess.getMappingAccess().getGroup(), "rule__Mapping__Group__0");
@@ -83,10 +83,8 @@
 					put(grammarAccess.getRealLiteralAccess().getGroup(), "rule__RealLiteral__Group__0");
 					put(grammarAccess.getIntLiteralAccess().getGroup(), "rule__IntLiteral__Group__0");
 					put(grammarAccess.getStringLiteralAccess().getGroup(), "rule__StringLiteral__Group__0");
-					put(grammarAccess.getSignedIntegerAccess().getGroup(), "rule__SignedInteger__Group__0");
+					put(grammarAccess.getIntegerAccess().getGroup_0(), "rule__Integer__Group_0__0");
 					put(grammarAccess.getDecimalAccess().getGroup(), "rule__Decimal__Group__0");
-					put(grammarAccess.getDotDecimalAccess().getGroup(), "rule__DotDecimal__Group__0");
-					put(grammarAccess.getDecimalDotAccess().getGroup(), "rule__DecimalDot__Group__0");
 					put(grammarAccess.getDecimalExpAccess().getGroup(), "rule__DecimalExp__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup(), "rule__FQN__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup_1(), "rule__FQN__Group_1__0");
diff --git a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g
index eb5cb2f..4c82d8c 100644
--- a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g
+++ b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g
@@ -596,78 +596,6 @@
 
 
 
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getSignedIntegerRule()); }
-	 ruleSignedInteger
-{ after(grammarAccess.getSignedIntegerRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSignedIntegerAccess().getGroup()); }
-(rule__SignedInteger__Group__0)
-{ after(grammarAccess.getSignedIntegerAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getHexadecimalRule()); }
-	 ruleHexadecimal
-{ after(grammarAccess.getHexadecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-	RULE_HEX
-{ after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleReal
 entryRuleReal 
 :
@@ -732,78 +660,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDotDecimalRule()); }
-	 ruleDotDecimal
-{ after(grammarAccess.getDotDecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDotDecimalAccess().getGroup()); }
-(rule__DotDecimal__Group__0)
-{ after(grammarAccess.getDotDecimalAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDecimalDotRule()); }
-	 ruleDecimalDot
-{ after(grammarAccess.getDecimalDotRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDecimalDotAccess().getGroup()); }
-(rule__DecimalDot__Group__0)
-{ after(grammarAccess.getDecimalDotAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp 
 @init {
@@ -1064,15 +920,15 @@
     }
 :
 (
-{ before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
-	ruleSignedInteger
-{ after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
+{ before(grammarAccess.getIntegerAccess().getGroup_0()); }
+(rule__Integer__Group_0__0)
+{ after(grammarAccess.getIntegerAccess().getGroup_0()); }
 )
 
     |(
-{ before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
-	ruleHexadecimal
-{ after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
+	RULE_HEX
+{ after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
 )
 
 ;
@@ -1080,25 +936,25 @@
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Alternatives_0
+rule__Integer__Alternatives_0_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 
 	'+' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 )
 
     |(
-{ before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 
 	'-' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 )
 
 ;
@@ -1118,21 +974,9 @@
 )
 
     |(
-{ before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-	ruleDotDecimal
-{ after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-	ruleDecimalDot
-{ after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 	ruleDecimalExp
-{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 )
 
 ;
@@ -1166,58 +1010,6 @@
 	restoreStackSize(stackSize);
 }
 
-rule__DotDecimal__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
 rule__DecimalExp__Alternatives_0
     @init {
 		int stackSize = keepStackSize();
@@ -1244,6 +1036,58 @@
 	restoreStackSize(stackSize);
 }
 
+rule__DecimalExp__Alternatives_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+
+	'e' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+
+	'E' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Alternatives_5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+
+	'+' 
+
+{ after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+
+	'-' 
+
+{ after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__LiteralType__Alternatives
     @init {
 		int stackSize = keepStackSize();
@@ -3263,27 +3107,27 @@
 
 
 
-rule__SignedInteger__Group__0
+rule__Integer__Group_0__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__0__Impl
-	rule__SignedInteger__Group__1
+	rule__Integer__Group_0__0__Impl
+	rule__Integer__Group_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__0__Impl
+rule__Integer__Group_0__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
-(rule__SignedInteger__Alternatives_0)?
-{ after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
+{ before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
+(rule__Integer__Alternatives_0_0)?
+{ after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
 )
 
 ;
@@ -3292,26 +3136,26 @@
 }
 
 
-rule__SignedInteger__Group__1
+rule__Integer__Group_0__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__1__Impl
+	rule__Integer__Group_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__1__Impl
+rule__Integer__Group_0__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 	RULE_INT
-{ after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 )
 
 ;
@@ -3449,194 +3293,6 @@
 
 
 
-rule__DotDecimal__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__0__Impl
-	rule__DotDecimal__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-(rule__DotDecimal__Alternatives_0)?
-{ after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__1__Impl
-	rule__DotDecimal__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-
-	'.' 
-
-{ after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-	RULE_INT
-{ after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__DecimalDot__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__0__Impl
-	rule__DecimalDot__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-(rule__DecimalDot__Alternatives_0)?
-{ after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__1__Impl
-	rule__DecimalDot__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-	RULE_INT
-{ after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-
-	'.' 
-
-{ after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
 rule__DecimalExp__Group__0
     @init {
 		int stackSize = keepStackSize();
@@ -3761,6 +3417,7 @@
     }
 :
 	rule__DecimalExp__Group__4__Impl
+	rule__DecimalExp__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -3772,9 +3429,9 @@
     }
 :
 (
-{ before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
-	RULE_EXP
-{ after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
+(rule__DecimalExp__Alternatives_4)
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
 )
 
 ;
@@ -3783,6 +3440,67 @@
 }
 
 
+rule__DecimalExp__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__5__Impl
+	rule__DecimalExp__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+(rule__DecimalExp__Alternatives_5)?
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DecimalExp__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+	RULE_INT
+{ after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
 
 
 
@@ -4383,8 +4101,6 @@
 }
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
diff --git a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.tokens b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.tokens
index 207e22f..38c59a7 100644
--- a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.tokens
+++ b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.tokens
@@ -1,40 +1,42 @@
-'+'=16
-','=32
-'-'=17
-'->'=26
-'.'=38
-'.*'=35
-':'=31
-'='=29
-'Mapping'=25
-'MappingModel'=22
-'SubSystemMapping'=27
-'ThreadMapping'=28
-'['=36
-']'=37
-'attribute'=30
-'false'=15
-'from'=34
-'import'=33
-'mandatory'=13
-'model'=14
-'optional'=39
-'ptBoolean'=18
-'ptCharacter'=21
-'ptInteger'=19
-'ptReal'=20
-'true'=40
-'{'=23
-'}'=24
-RULE_ANY_OTHER=12
-RULE_EXP=7
+'+'=15
+','=33
+'-'=16
+'->'=27
+'.'=39
+'.*'=36
+':'=32
+'='=30
+'E'=18
+'Mapping'=26
+'MappingModel'=23
+'SubSystemMapping'=28
+'ThreadMapping'=29
+'['=37
+']'=38
+'attribute'=31
+'e'=17
+'false'=14
+'from'=35
+'import'=34
+'mandatory'=12
+'model'=13
+'optional'=40
+'ptBoolean'=19
+'ptCharacter'=22
+'ptInteger'=20
+'ptReal'=21
+'true'=41
+'{'=24
+'}'=25
+RULE_ANY_OTHER=11
 RULE_HEX=5
 RULE_ID=4
 RULE_INT=6
-RULE_ML_COMMENT=9
-RULE_SL_COMMENT=10
-RULE_STRING=8
-RULE_WS=11
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
+RULE_STRING=7
+RULE_WS=10
+T__12=12
 T__13=13
 T__14=14
 T__15=15
@@ -63,3 +65,4 @@
 T__38=38
 T__39=39
 T__40=40
+T__41=41
diff --git a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapLexer.java b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapLexer.java
index c7889f5..1cd64ab 100644
--- a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapLexer.java
+++ b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapLexer.java
@@ -12,44 +12,45 @@
 
 @SuppressWarnings("all")
 public class InternalETMapLexer extends Lexer {
-    public static final int T__40=40;
-    public static final int RULE_ID=4;
-    public static final int RULE_EXP=7;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int EOF=-1;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
+    public static final int RULE_HEX=5;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
     public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__37=37;
+    public static final int T__16=16;
+    public static final int T__38=38;
+    public static final int T__17=17;
+    public static final int T__39=39;
+    public static final int T__18=18;
+    public static final int T__33=33;
+    public static final int T__12=12;
+    public static final int T__34=34;
+    public static final int T__13=13;
+    public static final int T__35=35;
+    public static final int T__14=14;
+    public static final int T__36=36;
+    public static final int EOF=-1;
     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_HEX=5;
-    public static final int RULE_STRING=8;
-    public static final int T__16=16;
-    public static final int T__33=33;
-    public static final int T__15=15;
-    public static final int T__34=34;
-    public static final int T__18=18;
-    public static final int T__35=35;
-    public static final int T__17=17;
-    public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__14=14;
-    public static final int T__39=39;
-    public static final int T__13=13;
+    public static final int RULE_ID=4;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int RULE_WS=11;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__20=20;
+    public static final int T__21=21;
 
     // delegates
     // delegators
@@ -64,10 +65,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:11:7: ( 'mandatory' )
             // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:11:9: 'mandatory'
@@ -83,6 +84,27 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:12:7: ( 'model' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:12:9: 'model'
+            {
+            match("model"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -90,10 +112,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:12:7: ( 'model' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:12:9: 'model'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:13:7: ( 'false' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:13:9: 'false'
             {
-            match("model"); 
+            match("false"); 
 
 
             }
@@ -111,11 +133,10 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:13:7: ( 'false' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:13:9: 'false'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:14:7: ( '+' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:14:9: '+'
             {
-            match("false"); 
-
+            match('+'); 
 
             }
 
@@ -132,10 +153,10 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:14:7: ( '+' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:14:9: '+'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:15:7: ( '-' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:15:9: '-'
             {
-            match('+'); 
+            match('-'); 
 
             }
 
@@ -152,10 +173,10 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:15:7: ( '-' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:15:9: '-'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:16:7: ( 'e' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:16:9: 'e'
             {
-            match('-'); 
+            match('e'); 
 
             }
 
@@ -172,11 +193,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:16:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:16:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:17:7: ( 'E' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:17:9: 'E'
             {
-            match("ptBoolean"); 
-
+            match('E'); 
 
             }
 
@@ -193,10 +213,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:17:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:17:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:18:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:18:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -214,10 +234,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:18:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:18:9: 'ptReal'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:19:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:19:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -235,10 +255,10 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:19:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:19:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:20:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:20:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -256,10 +276,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:20:7: ( 'MappingModel' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:20:9: 'MappingModel'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:21:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:21:9: 'ptCharacter'
             {
-            match("MappingModel"); 
+            match("ptCharacter"); 
 
 
             }
@@ -277,10 +297,11 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:21:7: ( '{' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:21:9: '{'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:22:7: ( 'MappingModel' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:22:9: 'MappingModel'
             {
-            match('{'); 
+            match("MappingModel"); 
+
 
             }
 
@@ -297,10 +318,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:22:7: ( '}' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:22:9: '}'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:23:7: ( '{' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:23:9: '{'
             {
-            match('}'); 
+            match('{'); 
 
             }
 
@@ -317,11 +338,10 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:23:7: ( 'Mapping' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:23:9: 'Mapping'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:24:7: ( '}' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:24:9: '}'
             {
-            match("Mapping"); 
-
+            match('}'); 
 
             }
 
@@ -338,10 +358,10 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:24:7: ( '->' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:24:9: '->'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:25:7: ( 'Mapping' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:25:9: 'Mapping'
             {
-            match("->"); 
+            match("Mapping"); 
 
 
             }
@@ -359,10 +379,10 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:25:7: ( 'SubSystemMapping' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:25:9: 'SubSystemMapping'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:26:7: ( '->' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:26:9: '->'
             {
-            match("SubSystemMapping"); 
+            match("->"); 
 
 
             }
@@ -380,10 +400,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:26:7: ( 'ThreadMapping' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:26:9: 'ThreadMapping'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:27:7: ( 'SubSystemMapping' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:27:9: 'SubSystemMapping'
             {
-            match("ThreadMapping"); 
+            match("SubSystemMapping"); 
 
 
             }
@@ -401,10 +421,11 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:27:7: ( '=' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:27:9: '='
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:28:7: ( 'ThreadMapping' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:28:9: 'ThreadMapping'
             {
-            match('='); 
+            match("ThreadMapping"); 
+
 
             }
 
@@ -421,11 +442,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:28:7: ( 'attribute' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:28:9: 'attribute'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:29:7: ( '=' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:29:9: '='
             {
-            match("attribute"); 
-
+            match('='); 
 
             }
 
@@ -442,10 +462,11 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:29:7: ( ':' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:29:9: ':'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:30:7: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:30:9: 'attribute'
             {
-            match(':'); 
+            match("attribute"); 
+
 
             }
 
@@ -462,10 +483,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:30:7: ( ',' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:30:9: ','
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:31:7: ( ':' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:31:9: ':'
             {
-            match(','); 
+            match(':'); 
 
             }
 
@@ -482,11 +503,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:31:7: ( 'import' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:31:9: 'import'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:32:7: ( ',' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:32:9: ','
             {
-            match("import"); 
-
+            match(','); 
 
             }
 
@@ -503,10 +523,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:32:7: ( 'from' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:32:9: 'from'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:33:7: ( 'import' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:33:9: 'import'
             {
-            match("from"); 
+            match("import"); 
 
 
             }
@@ -524,10 +544,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:33:7: ( '.*' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:33:9: '.*'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:34:7: ( 'from' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:34:9: 'from'
             {
-            match(".*"); 
+            match("from"); 
 
 
             }
@@ -545,10 +565,11 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:34:7: ( '[' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:34:9: '['
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:35:7: ( '.*' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:35:9: '.*'
             {
-            match('['); 
+            match(".*"); 
+
 
             }
 
@@ -565,10 +586,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:35:7: ( ']' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:35:9: ']'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:36:7: ( '[' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:36:9: '['
             {
-            match(']'); 
+            match('['); 
 
             }
 
@@ -585,10 +606,10 @@
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:36:7: ( '.' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:36:9: '.'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:37:7: ( ']' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:37:9: ']'
             {
-            match('.'); 
+            match(']'); 
 
             }
 
@@ -605,11 +626,10 @@
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:37:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:37:9: 'optional'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:38:7: ( '.' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:38:9: '.'
             {
-            match("optional"); 
-
+            match('.'); 
 
             }
 
@@ -626,10 +646,10 @@
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:38:7: ( 'true' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:38:9: 'true'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:39:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:39:9: 'optional'
             {
-            match("true"); 
+            match("optional"); 
 
 
             }
@@ -642,42 +662,74 @@
     }
     // $ANTLR end "T__40"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__41"
+    public final void mT__41() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4386:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4386:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:40:7: ( 'true' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:40:9: 'true'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("true"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4386:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__41"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4104:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4104:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4104:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4104:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4104:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -685,23 +737,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4386:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4104:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4386:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -724,109 +784,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4388:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4388:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4388:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4388:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4388:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4388:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -834,19 +791,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4390:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4390:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4106:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4106:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4390:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4106:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4390:11: '^'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4106:11: '^'
                     {
                     match('^'); 
 
@@ -864,18 +821,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4390:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4106:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:
             	    {
@@ -893,7 +850,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -913,24 +870,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4392:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4392:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4108:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4108:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4392:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4108:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4392:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4108:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -938,12 +895,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -962,47 +919,47 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4394:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4394:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4110:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4110:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4394:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4110:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4394:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4110:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4394:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4110:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4394:21: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4110:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1010,7 +967,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4394:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4110:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1026,7 +983,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -1035,26 +992,26 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4394:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4110:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4394:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4110:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4394:54: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4110:54: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1062,7 +1019,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4394:61: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4110:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1078,7 +1035,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -1105,37 +1062,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4396:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4396:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4112:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4112:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4396:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4112:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4396:52: .
+            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4112:52: .
             	    {
             	    matchAny(); 
 
@@ -1143,7 +1100,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -1165,25 +1122,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4398:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4398:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4114:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4114:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4398:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4114:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4398:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4114: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();
@@ -1199,31 +1156,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4398:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4114:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4398:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4114:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4398:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4114:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4398:41: '\\r'
+                            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4114:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1255,22 +1212,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4400:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4400:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4116:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4116:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4400:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4116:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:
             	    {
@@ -1288,12 +1245,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -1312,8 +1269,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4402:16: ( . )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4402:18: .
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4118:16: ( . )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4118:18: .
             {
             matchAny(); 
 
@@ -1328,264 +1285,271 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:8: ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=37;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:8: ( 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 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=38;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:10: T__13
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:148: T__36
+            case 25 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:154: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:154: T__37
+            case 26 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:160: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:160: T__38
+            case 27 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:166: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:166: T__39
+            case 28 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:172: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:172: T__40
+            case 29 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:178: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:178: RULE_EXP
+            case 30 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:184: T__41
                 {
-                mRULE_EXP(); 
+                mT__41(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:187: RULE_HEX
+            case 31 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:190: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:196: RULE_ID
+            case 32 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:199: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:204: RULE_INT
+            case 33 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:207: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 33 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:213: RULE_STRING
+            case 34 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:216: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 34 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:225: RULE_ML_COMMENT
+            case 35 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:228: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 35 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:241: RULE_SL_COMMENT
+            case 36 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:244: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 36 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:257: RULE_WS
+            case 37 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:260: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 37 :
-                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:265: RULE_ANY_OTHER
+            case 38 :
+                // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1:268: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -1597,130 +1561,131 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\1\uffff\2\41\1\uffff\1\46\2\41\2\uffff\2\41\1\uffff\1\41\2\uffff"+
-        "\1\41\1\63\2\uffff\3\41\1\73\1\36\2\uffff\3\36\2\uffff\2\41\1\uffff"+
-        "\2\41\3\uffff\2\41\2\uffff\2\41\1\uffff\1\41\2\uffff\1\41\4\uffff"+
-        "\2\41\1\71\7\uffff\22\41\1\141\12\41\1\154\1\41\1\156\1\157\1\uffff"+
-        "\12\41\1\uffff\1\41\2\uffff\2\41\1\175\5\41\1\u0083\4\41\1\uffff"+
-        "\1\41\1\u008a\3\41\1\uffff\6\41\1\uffff\3\41\1\u0097\1\u0098\1\u0099"+
-        "\1\u009a\4\41\1\u009f\4\uffff\4\41\1\uffff\1\u00a4\3\41\1\uffff"+
-        "\1\u00a8\2\41\1\uffff\1\41\1\u00ac\1\41\1\uffff\1\41\1\u00af\1\uffff";
-    static final String DFA16_eofS =
-        "\u00b0\uffff";
-    static final String DFA16_minS =
-        "\1\0\2\141\1\uffff\1\76\1\164\1\141\2\uffff\1\165\1\150\1\uffff"+
-        "\1\164\2\uffff\1\155\1\52\2\uffff\1\160\1\162\1\53\1\130\1\101\2"+
-        "\uffff\2\0\1\52\2\uffff\1\156\1\144\1\uffff\1\154\1\157\3\uffff"+
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\1\uffff\2\42\1\uffff\1\47\1\50\1\51\2\42\2\uffff\2\42\1\uffff"+
+        "\1\42\2\uffff\1\42\1\66\2\uffff\2\42\1\74\1\37\2\uffff\3\37\2\uffff"+
+        "\2\42\1\uffff\2\42\5\uffff\2\42\2\uffff\2\42\1\uffff\1\42\2\uffff"+
+        "\1\42\4\uffff\2\42\6\uffff\22\42\1\142\12\42\1\155\1\42\1\157\1"+
+        "\160\1\uffff\12\42\1\uffff\1\42\2\uffff\2\42\1\176\5\42\1\u0084"+
+        "\4\42\1\uffff\1\42\1\u008b\3\42\1\uffff\6\42\1\uffff\3\42\1\u0098"+
+        "\1\u0099\1\u009a\1\u009b\4\42\1\u00a0\4\uffff\4\42\1\uffff\1\u00a5"+
+        "\3\42\1\uffff\1\u00a9\2\42\1\uffff\1\42\1\u00ad\1\42\1\uffff\1\42"+
+        "\1\u00b0\1\uffff";
+    static final String DFA14_eofS =
+        "\u00b1\uffff";
+    static final String DFA14_minS =
+        "\1\0\2\141\1\uffff\1\76\2\60\1\164\1\141\2\uffff\1\165\1\150\1"+
+        "\uffff\1\164\2\uffff\1\155\1\52\2\uffff\1\160\1\162\1\130\1\101"+
+        "\2\uffff\2\0\1\52\2\uffff\1\156\1\144\1\uffff\1\154\1\157\5\uffff"+
         "\1\102\1\160\2\uffff\1\142\1\162\1\uffff\1\164\2\uffff\1\160\4\uffff"+
-        "\1\164\1\165\1\60\7\uffff\1\144\1\145\1\163\1\155\1\157\1\156\1"+
-        "\145\1\150\1\160\1\123\1\145\1\162\1\157\1\151\1\145\1\141\1\154"+
-        "\1\145\1\60\1\157\1\164\2\141\1\151\1\171\1\141\1\151\1\162\1\157"+
-        "\1\60\1\164\2\60\1\uffff\1\154\1\145\1\154\1\162\1\156\1\163\1\144"+
-        "\1\142\1\164\1\156\1\uffff\1\157\2\uffff\1\145\1\147\1\60\1\141"+
-        "\1\147\1\164\1\115\1\165\1\60\1\141\1\162\1\141\1\145\1\uffff\1"+
-        "\143\1\60\1\145\1\141\1\164\1\uffff\1\154\1\171\1\156\1\162\1\164"+
-        "\1\157\1\uffff\1\155\1\160\1\145\4\60\1\145\1\144\1\115\1\160\1"+
-        "\60\4\uffff\1\162\1\145\1\141\1\151\1\uffff\1\60\1\154\1\160\1\156"+
+        "\1\164\1\165\6\uffff\1\144\1\145\1\163\1\155\1\157\1\156\1\145\1"+
+        "\150\1\160\1\123\1\145\1\162\1\157\1\151\1\145\1\141\1\154\1\145"+
+        "\1\60\1\157\1\164\2\141\1\151\1\171\1\141\1\151\1\162\1\157\1\60"+
+        "\1\164\2\60\1\uffff\1\154\1\145\1\154\1\162\1\156\1\163\1\144\1"+
+        "\142\1\164\1\156\1\uffff\1\157\2\uffff\1\145\1\147\1\60\1\141\1"+
+        "\147\1\164\1\115\1\165\1\60\1\141\1\162\1\141\1\145\1\uffff\1\143"+
+        "\1\60\1\145\1\141\1\164\1\uffff\1\154\1\171\1\156\1\162\1\164\1"+
+        "\157\1\uffff\1\155\1\160\1\145\4\60\1\145\1\144\1\115\1\160\1\60"+
+        "\4\uffff\1\162\1\145\1\141\1\151\1\uffff\1\60\1\154\1\160\1\156"+
         "\1\uffff\1\60\1\160\1\147\1\uffff\1\151\1\60\1\156\1\uffff\1\147"+
         "\1\60\1\uffff";
-    static final String DFA16_maxS =
-        "\1\uffff\1\157\1\162\1\uffff\1\76\1\164\1\141\2\uffff\1\165\1\150"+
-        "\1\uffff\1\164\2\uffff\1\155\1\52\2\uffff\1\160\1\162\1\71\1\170"+
+    static final String DFA14_maxS =
+        "\1\uffff\1\157\1\162\1\uffff\1\76\2\172\1\164\1\141\2\uffff\1\165"+
+        "\1\150\1\uffff\1\164\2\uffff\1\155\1\52\2\uffff\1\160\1\162\1\170"+
         "\1\172\2\uffff\2\uffff\1\57\2\uffff\1\156\1\144\1\uffff\1\154\1"+
-        "\157\3\uffff\1\122\1\160\2\uffff\1\142\1\162\1\uffff\1\164\2\uffff"+
-        "\1\160\4\uffff\1\164\1\165\1\172\7\uffff\1\144\1\145\1\163\1\155"+
-        "\1\157\1\156\1\145\1\150\1\160\1\123\1\145\1\162\1\157\1\151\1\145"+
-        "\1\141\1\154\1\145\1\172\1\157\1\164\2\141\1\151\1\171\1\141\1\151"+
-        "\1\162\1\157\1\172\1\164\2\172\1\uffff\1\154\1\145\1\154\1\162\1"+
-        "\156\1\163\1\144\1\142\1\164\1\156\1\uffff\1\157\2\uffff\1\145\1"+
-        "\147\1\172\1\141\1\147\1\164\1\115\1\165\1\172\1\141\1\162\1\141"+
-        "\1\145\1\uffff\1\143\1\172\1\145\1\141\1\164\1\uffff\1\154\1\171"+
-        "\1\156\1\162\1\164\1\157\1\uffff\1\155\1\160\1\145\4\172\1\145\1"+
-        "\144\1\115\1\160\1\172\4\uffff\1\162\1\145\1\141\1\151\1\uffff\1"+
-        "\172\1\154\1\160\1\156\1\uffff\1\172\1\160\1\147\1\uffff\1\151\1"+
-        "\172\1\156\1\uffff\1\147\1\172\1\uffff";
-    static final String DFA16_acceptS =
-        "\3\uffff\1\4\3\uffff\1\13\1\14\2\uffff\1\21\1\uffff\1\23\1\24\2"+
-        "\uffff\1\30\1\31\5\uffff\1\37\1\40\3\uffff\1\44\1\45\2\uffff\1\37"+
-        "\2\uffff\1\4\1\16\1\5\2\uffff\1\13\1\14\2\uffff\1\21\1\uffff\1\23"+
-        "\1\24\1\uffff\1\27\1\32\1\30\1\31\3\uffff\1\35\1\36\1\40\1\41\1"+
-        "\42\1\43\1\44\41\uffff\1\26\12\uffff\1\34\1\uffff\1\2\1\3\15\uffff"+
-        "\1\10\5\uffff\1\25\6\uffff\1\15\14\uffff\1\33\1\1\1\6\1\7\4\uffff"+
-        "\1\22\4\uffff\1\11\3\uffff\1\12\3\uffff\1\20\2\uffff\1\17";
-    static final String DFA16_specialS =
-        "\1\1\31\uffff\1\0\1\2\u0094\uffff}>";
-    static final String[] DFA16_transitionS = {
-            "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\32\4\36\1\33\3\36\1"+
-            "\3\1\16\1\4\1\20\1\34\1\26\11\31\1\15\2\36\1\13\3\36\4\30\1"+
-            "\25\7\30\1\6\5\30\1\11\1\12\6\30\1\21\1\36\1\22\1\27\1\30\1"+
-            "\36\1\14\3\30\1\25\1\2\2\30\1\17\3\30\1\1\1\30\1\23\1\5\3\30"+
-            "\1\24\6\30\1\7\1\36\1\10\uff82\36",
-            "\1\37\15\uffff\1\40",
-            "\1\42\20\uffff\1\43",
+        "\157\5\uffff\1\122\1\160\2\uffff\1\142\1\162\1\uffff\1\164\2\uffff"+
+        "\1\160\4\uffff\1\164\1\165\6\uffff\1\144\1\145\1\163\1\155\1\157"+
+        "\1\156\1\145\1\150\1\160\1\123\1\145\1\162\1\157\1\151\1\145\1\141"+
+        "\1\154\1\145\1\172\1\157\1\164\2\141\1\151\1\171\1\141\1\151\1\162"+
+        "\1\157\1\172\1\164\2\172\1\uffff\1\154\1\145\1\154\1\162\1\156\1"+
+        "\163\1\144\1\142\1\164\1\156\1\uffff\1\157\2\uffff\1\145\1\147\1"+
+        "\172\1\141\1\147\1\164\1\115\1\165\1\172\1\141\1\162\1\141\1\145"+
+        "\1\uffff\1\143\1\172\1\145\1\141\1\164\1\uffff\1\154\1\171\1\156"+
+        "\1\162\1\164\1\157\1\uffff\1\155\1\160\1\145\4\172\1\145\1\144\1"+
+        "\115\1\160\1\172\4\uffff\1\162\1\145\1\141\1\151\1\uffff\1\172\1"+
+        "\154\1\160\1\156\1\uffff\1\172\1\160\1\147\1\uffff\1\151\1\172\1"+
+        "\156\1\uffff\1\147\1\172\1\uffff";
+    static final String DFA14_acceptS =
+        "\3\uffff\1\4\5\uffff\1\15\1\16\2\uffff\1\23\1\uffff\1\25\1\26\2"+
+        "\uffff\1\32\1\33\4\uffff\1\40\1\41\3\uffff\1\45\1\46\2\uffff\1\40"+
+        "\2\uffff\1\4\1\20\1\5\1\6\1\7\2\uffff\1\15\1\16\2\uffff\1\23\1\uffff"+
+        "\1\25\1\26\1\uffff\1\31\1\34\1\32\1\33\2\uffff\1\37\1\41\1\42\1"+
+        "\43\1\44\1\45\41\uffff\1\30\12\uffff\1\36\1\uffff\1\2\1\3\15\uffff"+
+        "\1\12\5\uffff\1\27\6\uffff\1\17\14\uffff\1\35\1\1\1\10\1\11\4\uffff"+
+        "\1\24\4\uffff\1\13\3\uffff\1\14\3\uffff\1\22\2\uffff\1\21";
+    static final String DFA14_specialS =
+        "\1\1\32\uffff\1\0\1\2\u0094\uffff}>";
+    static final String[] DFA14_transitionS = {
+            "\11\37\2\36\2\37\1\36\22\37\1\36\1\37\1\33\4\37\1\34\3\37\1"+
+            "\3\1\20\1\4\1\22\1\35\1\27\11\32\1\17\2\37\1\15\3\37\4\31\1"+
+            "\6\7\31\1\10\5\31\1\13\1\14\6\31\1\23\1\37\1\24\1\30\1\31\1"+
+            "\37\1\16\3\31\1\5\1\2\2\31\1\21\3\31\1\1\1\31\1\25\1\7\3\31"+
+            "\1\26\6\31\1\11\1\37\1\12\uff82\37",
+            "\1\40\15\uffff\1\41",
+            "\1\43\20\uffff\1\44",
             "",
-            "\1\45",
-            "\1\47",
-            "\1\50",
-            "",
-            "",
+            "\1\46",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\52",
             "\1\53",
-            "\1\54",
+            "",
             "",
             "\1\56",
-            "",
+            "\1\57",
             "",
             "\1\61",
-            "\1\62",
             "",
             "",
-            "\1\66",
-            "\1\67",
-            "\1\71\1\uffff\1\71\2\uffff\12\70",
-            "\1\72\37\uffff\1\72",
-            "\32\41\4\uffff\1\41\1\uffff\32\41",
+            "\1\64",
+            "\1\65",
             "",
             "",
-            "\0\74",
-            "\0\74",
-            "\1\75\4\uffff\1\76",
+            "\1\71",
+            "\1\72",
+            "\1\73\37\uffff\1\73",
+            "\32\42\4\uffff\1\42\1\uffff\32\42",
             "",
             "",
-            "\1\100",
+            "\0\75",
+            "\0\75",
+            "\1\76\4\uffff\1\77",
+            "",
+            "",
             "\1\101",
-            "",
             "\1\102",
+            "",
             "\1\103",
+            "\1\104",
             "",
             "",
             "",
-            "\1\104\1\107\5\uffff\1\105\10\uffff\1\106",
-            "\1\110",
             "",
             "",
+            "\1\105\1\110\5\uffff\1\106\10\uffff\1\107",
             "\1\111",
+            "",
+            "",
             "\1\112",
-            "",
             "\1\113",
             "",
-            "",
             "\1\114",
             "",
             "",
-            "",
-            "",
             "\1\115",
+            "",
+            "",
+            "",
+            "",
             "\1\116",
-            "\12\70\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
-            "",
             "\1\117",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
             "\1\120",
             "\1\121",
             "\1\122",
@@ -1738,8 +1703,8 @@
             "\1\136",
             "\1\137",
             "\1\140",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\1\142",
+            "\1\141",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
             "\1\143",
             "\1\144",
             "\1\145",
@@ -1749,12 +1714,12 @@
             "\1\151",
             "\1\152",
             "\1\153",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\1\155",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "\1\154",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\1\156",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
             "",
-            "\1\160",
             "\1\161",
             "\1\162",
             "\1\163",
@@ -1764,202 +1729,205 @@
             "\1\167",
             "\1\170",
             "\1\171",
-            "",
             "\1\172",
             "",
-            "",
             "\1\173",
+            "",
+            "",
             "\1\174",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\1\176",
+            "\1\175",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
             "\1\177",
             "\1\u0080",
             "\1\u0081",
             "\1\u0082",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\1\u0084",
+            "\1\u0083",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
             "\1\u0085",
             "\1\u0086",
             "\1\u0087",
-            "",
             "\1\u0088",
-            "\12\41\7\uffff\14\41\1\u0089\15\41\4\uffff\1\41\1\uffff\32"+
-            "\41",
-            "\1\u008b",
+            "",
+            "\1\u0089",
+            "\12\42\7\uffff\14\42\1\u008a\15\42\4\uffff\1\42\1\uffff\32"+
+            "\42",
             "\1\u008c",
             "\1\u008d",
-            "",
             "\1\u008e",
+            "",
             "\1\u008f",
             "\1\u0090",
             "\1\u0091",
             "\1\u0092",
             "\1\u0093",
-            "",
             "\1\u0094",
+            "",
             "\1\u0095",
             "\1\u0096",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\1\u009b",
+            "\1\u0097",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
             "\1\u009c",
             "\1\u009d",
             "\1\u009e",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "\1\u009f",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
             "",
             "",
             "",
             "",
-            "\1\u00a0",
             "\1\u00a1",
             "\1\u00a2",
             "\1\u00a3",
+            "\1\u00a4",
             "",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\1\u00a5",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
             "\1\u00a6",
             "\1\u00a7",
+            "\1\u00a8",
             "",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\1\u00a9",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
             "\1\u00aa",
-            "",
             "\1\u00ab",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
-            "\1\u00ad",
             "",
+            "\1\u00ac",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
             "\1\u00ae",
-            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "",
+            "\1\u00af",
+            "\12\42\7\uffff\32\42\4\uffff\1\42\1\uffff\32\42",
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( 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 | RULE_HEX | 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 LA16_26 = input.LA(1);
+                        int LA14_27 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_26>='\u0000' && LA16_26<='\uFFFF')) ) {s = 60;}
+                        if ( ((LA14_27>='\u0000' && LA14_27<='\uFFFF')) ) {s = 61;}
 
-                        else s = 30;
+                        else s = 31;
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_0 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='m') ) {s = 1;}
+                        if ( (LA14_0=='m') ) {s = 1;}
 
-                        else if ( (LA16_0=='f') ) {s = 2;}
+                        else if ( (LA14_0=='f') ) {s = 2;}
 
-                        else if ( (LA16_0=='+') ) {s = 3;}
+                        else if ( (LA14_0=='+') ) {s = 3;}
 
-                        else if ( (LA16_0=='-') ) {s = 4;}
+                        else if ( (LA14_0=='-') ) {s = 4;}
 
-                        else if ( (LA16_0=='p') ) {s = 5;}
+                        else if ( (LA14_0=='e') ) {s = 5;}
 
-                        else if ( (LA16_0=='M') ) {s = 6;}
+                        else if ( (LA14_0=='E') ) {s = 6;}
 
-                        else if ( (LA16_0=='{') ) {s = 7;}
+                        else if ( (LA14_0=='p') ) {s = 7;}
 
-                        else if ( (LA16_0=='}') ) {s = 8;}
+                        else if ( (LA14_0=='M') ) {s = 8;}
 
-                        else if ( (LA16_0=='S') ) {s = 9;}
+                        else if ( (LA14_0=='{') ) {s = 9;}
 
-                        else if ( (LA16_0=='T') ) {s = 10;}
+                        else if ( (LA14_0=='}') ) {s = 10;}
 
-                        else if ( (LA16_0=='=') ) {s = 11;}
+                        else if ( (LA14_0=='S') ) {s = 11;}
 
-                        else if ( (LA16_0=='a') ) {s = 12;}
+                        else if ( (LA14_0=='T') ) {s = 12;}
 
-                        else if ( (LA16_0==':') ) {s = 13;}
+                        else if ( (LA14_0=='=') ) {s = 13;}
 
-                        else if ( (LA16_0==',') ) {s = 14;}
+                        else if ( (LA14_0=='a') ) {s = 14;}
 
-                        else if ( (LA16_0=='i') ) {s = 15;}
+                        else if ( (LA14_0==':') ) {s = 15;}
 
-                        else if ( (LA16_0=='.') ) {s = 16;}
+                        else if ( (LA14_0==',') ) {s = 16;}
 
-                        else if ( (LA16_0=='[') ) {s = 17;}
+                        else if ( (LA14_0=='i') ) {s = 17;}
 
-                        else if ( (LA16_0==']') ) {s = 18;}
+                        else if ( (LA14_0=='.') ) {s = 18;}
 
-                        else if ( (LA16_0=='o') ) {s = 19;}
+                        else if ( (LA14_0=='[') ) {s = 19;}
 
-                        else if ( (LA16_0=='t') ) {s = 20;}
+                        else if ( (LA14_0==']') ) {s = 20;}
 
-                        else if ( (LA16_0=='E'||LA16_0=='e') ) {s = 21;}
+                        else if ( (LA14_0=='o') ) {s = 21;}
 
-                        else if ( (LA16_0=='0') ) {s = 22;}
+                        else if ( (LA14_0=='t') ) {s = 22;}
 
-                        else if ( (LA16_0=='^') ) {s = 23;}
+                        else if ( (LA14_0=='0') ) {s = 23;}
 
-                        else if ( ((LA16_0>='A' && LA16_0<='D')||(LA16_0>='F' && LA16_0<='L')||(LA16_0>='N' && LA16_0<='R')||(LA16_0>='U' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='b' && LA16_0<='d')||(LA16_0>='g' && LA16_0<='h')||(LA16_0>='j' && LA16_0<='l')||LA16_0=='n'||(LA16_0>='q' && LA16_0<='s')||(LA16_0>='u' && LA16_0<='z')) ) {s = 24;}
+                        else if ( (LA14_0=='^') ) {s = 24;}
 
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 25;}
+                        else if ( ((LA14_0>='A' && LA14_0<='D')||(LA14_0>='F' && LA14_0<='L')||(LA14_0>='N' && LA14_0<='R')||(LA14_0>='U' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='b' && LA14_0<='d')||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='l')||LA14_0=='n'||(LA14_0>='q' && LA14_0<='s')||(LA14_0>='u' && LA14_0<='z')) ) {s = 25;}
 
-                        else if ( (LA16_0=='\"') ) {s = 26;}
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 26;}
 
-                        else if ( (LA16_0=='\'') ) {s = 27;}
+                        else if ( (LA14_0=='\"') ) {s = 27;}
 
-                        else if ( (LA16_0=='/') ) {s = 28;}
+                        else if ( (LA14_0=='\'') ) {s = 28;}
 
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 29;}
+                        else if ( (LA14_0=='/') ) {s = 29;}
 
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||(LA16_0>='(' && LA16_0<='*')||(LA16_0>=';' && LA16_0<='<')||(LA16_0>='>' && LA16_0<='@')||LA16_0=='\\'||LA16_0=='`'||LA16_0=='|'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 30;}
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 30;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||(LA14_0>='(' && LA14_0<='*')||(LA14_0>=';' && LA14_0<='<')||(LA14_0>='>' && LA14_0<='@')||LA14_0=='\\'||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 31;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA16_27 = input.LA(1);
+                        int LA14_28 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_27>='\u0000' && LA16_27<='\uFFFF')) ) {s = 60;}
+                        if ( ((LA14_28>='\u0000' && LA14_28<='\uFFFF')) ) {s = 61;}
 
-                        else s = 30;
+                        else s = 31;
 
                         if ( s>=0 ) return s;
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapParser.java b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapParser.java
index d125a84..2e75278 100644
--- a/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapParser.java
+++ b/plugins/org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMapParser.java
@@ -22,46 +22,47 @@
 @SuppressWarnings("all")
 public class InternalETMapParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_EXP", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'mandatory'", "'model'", "'false'", "'+'", "'-'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'MappingModel'", "'{'", "'}'", "'Mapping'", "'->'", "'SubSystemMapping'", "'ThreadMapping'", "'='", "'attribute'", "':'", "','", "'import'", "'from'", "'.*'", "'['", "']'", "'.'", "'optional'", "'true'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'mandatory'", "'model'", "'false'", "'+'", "'-'", "'e'", "'E'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'MappingModel'", "'{'", "'}'", "'Mapping'", "'->'", "'SubSystemMapping'", "'ThreadMapping'", "'='", "'attribute'", "':'", "','", "'import'", "'from'", "'.*'", "'['", "']'", "'.'", "'optional'", "'true'"
     };
-    public static final int RULE_EXP=7;
-    public static final int RULE_ID=4;
-    public static final int T__40=40;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int EOF=-1;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__19=19;
-    public static final int T__31=31;
-    public static final int RULE_STRING=8;
     public static final int RULE_HEX=5;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__16=16;
-    public static final int T__34=34;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__19=19;
     public static final int T__15=15;
-    public static final int T__35=35;
-    public static final int T__18=18;
-    public static final int T__36=36;
-    public static final int T__17=17;
     public static final int T__37=37;
+    public static final int T__16=16;
     public static final int T__38=38;
+    public static final int T__17=17;
     public static final int T__39=39;
-    public static final int T__14=14;
+    public static final int T__18=18;
+    public static final int T__33=33;
+    public static final int T__12=12;
+    public static final int T__34=34;
     public static final int T__13=13;
+    public static final int T__35=35;
+    public static final int T__14=14;
+    public static final int T__36=36;
+    public static final int EOF=-1;
+    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_ID=4;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int RULE_WS=11;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__20=20;
+    public static final int T__21=21;
 
     // delegates
     // delegators
@@ -1553,181 +1554,21 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:600:1: entryRuleSignedInteger : ruleSignedInteger EOF ;
-    public final void entryRuleSignedInteger() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:604:1: ( ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:605:1: ruleSignedInteger EOF
-            {
-             before(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger1213);
-            ruleSignedInteger();
-
-            state._fsp--;
-
-             after(grammarAccess.getSignedIntegerRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger1220); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:615:1: ruleSignedInteger : ( ( rule__SignedInteger__Group__0 ) ) ;
-    public final void ruleSignedInteger() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:620:2: ( ( ( rule__SignedInteger__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:621:1: ( ( rule__SignedInteger__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:621:1: ( ( rule__SignedInteger__Group__0 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:622:1: ( rule__SignedInteger__Group__0 )
-            {
-             before(grammarAccess.getSignedIntegerAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:623:1: ( rule__SignedInteger__Group__0 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:623:2: rule__SignedInteger__Group__0
-            {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger1250);
-            rule__SignedInteger__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSignedIntegerAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:636:1: entryRuleHexadecimal : ruleHexadecimal EOF ;
-    public final void entryRuleHexadecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:640:1: ( ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:641:1: ruleHexadecimal EOF
-            {
-             before(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal1282);
-            ruleHexadecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getHexadecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal1289); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:651:1: ruleHexadecimal : ( RULE_HEX ) ;
-    public final void ruleHexadecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:656:2: ( ( RULE_HEX ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:657:1: ( RULE_HEX )
-            {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:657:1: ( RULE_HEX )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:658:1: RULE_HEX
-            {
-             before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-            match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal1319); 
-             after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:672:1: entryRuleReal : ruleReal EOF ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:600:1: entryRuleReal : ruleReal EOF ;
     public final void entryRuleReal() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:673:1: ( ruleReal EOF )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:674:1: ruleReal EOF
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:601:1: ( ruleReal EOF )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:602:1: ruleReal EOF
             {
              before(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal1345);
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal1208);
             ruleReal();
 
             state._fsp--;
 
              after(grammarAccess.getRealRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal1352); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal1215); 
 
             }
 
@@ -1744,23 +1585,23 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:681:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:609:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
     public final void ruleReal() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:685:2: ( ( ( rule__Real__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:686:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:613:2: ( ( ( rule__Real__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:614:1: ( ( rule__Real__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:686:1: ( ( rule__Real__Alternatives ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:687:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:614:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:615:1: ( rule__Real__Alternatives )
             {
              before(grammarAccess.getRealAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:688:1: ( rule__Real__Alternatives )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:688:2: rule__Real__Alternatives
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:616:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:616:2: rule__Real__Alternatives
             {
-            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal1378);
+            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal1241);
             rule__Real__Alternatives();
 
             state._fsp--;
@@ -1791,23 +1632,23 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:700:1: entryRuleDecimal : ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:628:1: entryRuleDecimal : ruleDecimal EOF ;
     public final void entryRuleDecimal() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:704:1: ( ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:705:1: ruleDecimal EOF
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:632:1: ( ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:633:1: ruleDecimal EOF
             {
              before(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal1410);
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal1273);
             ruleDecimal();
 
             state._fsp--;
 
              after(grammarAccess.getDecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal1417); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal1280); 
 
             }
 
@@ -1827,24 +1668,24 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:715:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:643:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
     public final void ruleDecimal() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:720:2: ( ( ( rule__Decimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:721:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:648:2: ( ( ( rule__Decimal__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:649:1: ( ( rule__Decimal__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:721:1: ( ( rule__Decimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:722:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:649:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:650:1: ( rule__Decimal__Group__0 )
             {
              before(grammarAccess.getDecimalAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:723:1: ( rule__Decimal__Group__0 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:723:2: rule__Decimal__Group__0
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:651:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:651:2: rule__Decimal__Group__0
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1447);
+            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1310);
             rule__Decimal__Group__0();
 
             state._fsp--;
@@ -1875,194 +1716,24 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:736:1: entryRuleDotDecimal : ruleDotDecimal EOF ;
-    public final void entryRuleDotDecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:740:1: ( ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:741:1: ruleDotDecimal EOF
-            {
-             before(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal1479);
-            ruleDotDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getDotDecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal1486); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:751:1: ruleDotDecimal : ( ( rule__DotDecimal__Group__0 ) ) ;
-    public final void ruleDotDecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:756:2: ( ( ( rule__DotDecimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:757:1: ( ( rule__DotDecimal__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:757:1: ( ( rule__DotDecimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:758:1: ( rule__DotDecimal__Group__0 )
-            {
-             before(grammarAccess.getDotDecimalAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:759:1: ( rule__DotDecimal__Group__0 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:759:2: rule__DotDecimal__Group__0
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal1516);
-            rule__DotDecimal__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDotDecimalAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:772:1: entryRuleDecimalDot : ruleDecimalDot EOF ;
-    public final void entryRuleDecimalDot() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:776:1: ( ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:777:1: ruleDecimalDot EOF
-            {
-             before(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot1548);
-            ruleDecimalDot();
-
-            state._fsp--;
-
-             after(grammarAccess.getDecimalDotRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot1555); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:787:1: ruleDecimalDot : ( ( rule__DecimalDot__Group__0 ) ) ;
-    public final void ruleDecimalDot() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:792:2: ( ( ( rule__DecimalDot__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:793:1: ( ( rule__DecimalDot__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:793:1: ( ( rule__DecimalDot__Group__0 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:794:1: ( rule__DecimalDot__Group__0 )
-            {
-             before(grammarAccess.getDecimalDotAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:795:1: ( rule__DecimalDot__Group__0 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:795:2: rule__DecimalDot__Group__0
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot1585);
-            rule__DecimalDot__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDecimalDotAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:808:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:664:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
     public final void entryRuleDecimalExp() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:812:1: ( ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:813:1: ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:668:1: ( ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:669:1: ruleDecimalExp EOF
             {
              before(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1617);
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1342);
             ruleDecimalExp();
 
             state._fsp--;
 
              after(grammarAccess.getDecimalExpRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp1624); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp1349); 
 
             }
 
@@ -2082,24 +1753,24 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:823:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:679:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
     public final void ruleDecimalExp() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:828:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:829:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:684:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:685:1: ( ( rule__DecimalExp__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:829:1: ( ( rule__DecimalExp__Group__0 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:830:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:685:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:686:1: ( rule__DecimalExp__Group__0 )
             {
              before(grammarAccess.getDecimalExpAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:831:1: ( rule__DecimalExp__Group__0 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:831:2: rule__DecimalExp__Group__0
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:687:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:687:2: rule__DecimalExp__Group__0
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1654);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1379);
             rule__DecimalExp__Group__0();
 
             state._fsp--;
@@ -2131,20 +1802,20 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:844:1: entryRuleFQN : ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:700:1: entryRuleFQN : ruleFQN EOF ;
     public final void entryRuleFQN() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:845:1: ( ruleFQN EOF )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:846:1: ruleFQN EOF
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:701:1: ( ruleFQN EOF )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:702:1: ruleFQN EOF
             {
              before(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN1681);
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN1406);
             ruleFQN();
 
             state._fsp--;
 
              after(grammarAccess.getFQNRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN1688); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN1413); 
 
             }
 
@@ -2161,23 +1832,23 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:853:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:709:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
     public final void ruleFQN() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:857:2: ( ( ( rule__FQN__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:858:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:713:2: ( ( ( rule__FQN__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:714:1: ( ( rule__FQN__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:858:1: ( ( rule__FQN__Group__0 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:859:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:714:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:715:1: ( rule__FQN__Group__0 )
             {
              before(grammarAccess.getFQNAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:860:1: ( rule__FQN__Group__0 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:860:2: rule__FQN__Group__0
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:716:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:716:2: rule__FQN__Group__0
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN1714);
+            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN1439);
             rule__FQN__Group__0();
 
             state._fsp--;
@@ -2208,23 +1879,23 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:873:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:729:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
     public final void ruleLiteralType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:877:1: ( ( ( rule__LiteralType__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:878:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:733:1: ( ( ( rule__LiteralType__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:734:1: ( ( rule__LiteralType__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:878:1: ( ( rule__LiteralType__Alternatives ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:879:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:734:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:735:1: ( rule__LiteralType__Alternatives )
             {
              before(grammarAccess.getLiteralTypeAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:880:1: ( rule__LiteralType__Alternatives )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:880:2: rule__LiteralType__Alternatives
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:736:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:736:2: rule__LiteralType__Alternatives
             {
-            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType1751);
+            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType1476);
             rule__LiteralType__Alternatives();
 
             state._fsp--;
@@ -2255,32 +1926,32 @@
 
 
     // $ANTLR start "rule__AnnotationAttribute__Alternatives"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:892:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:748:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
     public final void rule__AnnotationAttribute__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:896:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:752:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0==39) ) {
+            if ( (LA1_0==40) ) {
                 int LA1_1 = input.LA(2);
 
-                if ( (LA1_1==30) ) {
+                if ( (LA1_1==31) ) {
                     int LA1_3 = input.LA(3);
 
                     if ( (LA1_3==RULE_ID) ) {
                         int LA1_4 = input.LA(4);
 
-                        if ( (LA1_4==31) ) {
+                        if ( (LA1_4==32) ) {
                             int LA1_5 = input.LA(5);
 
-                            if ( (LA1_5==23) ) {
+                            if ( (LA1_5==24) ) {
                                 alt1=2;
                             }
-                            else if ( ((LA1_5>=18 && LA1_5<=21)) ) {
+                            else if ( ((LA1_5>=19 && LA1_5<=22)) ) {
                                 alt1=1;
                             }
                             else {
@@ -2311,22 +1982,22 @@
                     throw nvae;
                 }
             }
-            else if ( (LA1_0==13) ) {
+            else if ( (LA1_0==12) ) {
                 int LA1_2 = input.LA(2);
 
-                if ( (LA1_2==30) ) {
+                if ( (LA1_2==31) ) {
                     int LA1_3 = input.LA(3);
 
                     if ( (LA1_3==RULE_ID) ) {
                         int LA1_4 = input.LA(4);
 
-                        if ( (LA1_4==31) ) {
+                        if ( (LA1_4==32) ) {
                             int LA1_5 = input.LA(5);
 
-                            if ( (LA1_5==23) ) {
+                            if ( (LA1_5==24) ) {
                                 alt1=2;
                             }
-                            else if ( ((LA1_5>=18 && LA1_5<=21)) ) {
+                            else if ( ((LA1_5>=19 && LA1_5<=22)) ) {
                                 alt1=1;
                             }
                             else {
@@ -2365,13 +2036,13 @@
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:897:1: ( ruleSimpleAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:753:1: ( ruleSimpleAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:897:1: ( ruleSimpleAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:898:1: ruleSimpleAnnotationAttribute
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:753:1: ( ruleSimpleAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:754:1: ruleSimpleAnnotationAttribute
                     {
                      before(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1787);
+                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1512);
                     ruleSimpleAnnotationAttribute();
 
                     state._fsp--;
@@ -2384,13 +2055,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:903:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:759:6: ( ruleEnumAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:903:6: ( ruleEnumAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:904:1: ruleEnumAnnotationAttribute
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:759:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:760:1: ruleEnumAnnotationAttribute
                     {
                      before(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1804);
+                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1529);
                     ruleEnumAnnotationAttribute();
 
                     state._fsp--;
@@ -2420,20 +2091,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:914:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:770:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__SimpleAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:918:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:774:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
             int alt2=2;
             int LA2_0 = input.LA(1);
 
-            if ( (LA2_0==39) ) {
+            if ( (LA2_0==40) ) {
                 alt2=1;
             }
-            else if ( (LA2_0==13) ) {
+            else if ( (LA2_0==12) ) {
                 alt2=2;
             }
             else {
@@ -2444,16 +2115,16 @@
             }
             switch (alt2) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:919:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:775:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:919:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:920:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:775:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:776:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
                     {
                      before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:921:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:921:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:777:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:777:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_01836);
+                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_01561);
                     rule__SimpleAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
@@ -2469,13 +2140,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:925:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:781:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:925:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:926:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:781:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:782:1: 'mandatory'
                     {
                      before(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
-                    match(input,13,FOLLOW_13_in_rule__SimpleAnnotationAttribute__Alternatives_01855); 
+                    match(input,12,FOLLOW_12_in_rule__SimpleAnnotationAttribute__Alternatives_01580); 
                      after(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
 
                     }
@@ -2501,20 +2172,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:938:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:794:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__EnumAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:942:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:798:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
             int alt3=2;
             int LA3_0 = input.LA(1);
 
-            if ( (LA3_0==39) ) {
+            if ( (LA3_0==40) ) {
                 alt3=1;
             }
-            else if ( (LA3_0==13) ) {
+            else if ( (LA3_0==12) ) {
                 alt3=2;
             }
             else {
@@ -2525,16 +2196,16 @@
             }
             switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:943:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:799:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:943:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:944:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:799:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:800:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
                     {
                      before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:945:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:945:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:801:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:801:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_01889);
+                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_01614);
                     rule__EnumAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
@@ -2550,13 +2221,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:949:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:805:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:949:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:950:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:805:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:806:1: 'mandatory'
                     {
                      before(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
-                    match(input,13,FOLLOW_13_in_rule__EnumAnnotationAttribute__Alternatives_01908); 
+                    match(input,12,FOLLOW_12_in_rule__EnumAnnotationAttribute__Alternatives_01633); 
                      after(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
 
                     }
@@ -2582,20 +2253,20 @@
 
 
     // $ANTLR start "rule__Import__Alternatives_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:962:1: rule__Import__Alternatives_1 : ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) );
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:818:1: rule__Import__Alternatives_1 : ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) );
     public final void rule__Import__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:966:1: ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:822:1: ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) )
             int alt4=2;
             int LA4_0 = input.LA(1);
 
             if ( (LA4_0==RULE_ID) ) {
                 alt4=1;
             }
-            else if ( (LA4_0==14) ) {
+            else if ( (LA4_0==13) ) {
                 alt4=2;
             }
             else {
@@ -2606,16 +2277,16 @@
             }
             switch (alt4) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:967:1: ( ( rule__Import__Group_1_0__0 ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:823:1: ( ( rule__Import__Group_1_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:967:1: ( ( rule__Import__Group_1_0__0 ) )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:968:1: ( rule__Import__Group_1_0__0 )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:823:1: ( ( rule__Import__Group_1_0__0 ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:824:1: ( rule__Import__Group_1_0__0 )
                     {
                      before(grammarAccess.getImportAccess().getGroup_1_0()); 
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:969:1: ( rule__Import__Group_1_0__0 )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:969:2: rule__Import__Group_1_0__0
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:825:1: ( rule__Import__Group_1_0__0 )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:825:2: rule__Import__Group_1_0__0
                     {
-                    pushFollow(FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_11942);
+                    pushFollow(FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_11667);
                     rule__Import__Group_1_0__0();
 
                     state._fsp--;
@@ -2631,13 +2302,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:973:6: ( 'model' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:829:6: ( 'model' )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:973:6: ( 'model' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:974:1: 'model'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:829:6: ( 'model' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:830:1: 'model'
                     {
                      before(grammarAccess.getImportAccess().getModelKeyword_1_1()); 
-                    match(input,14,FOLLOW_14_in_rule__Import__Alternatives_11961); 
+                    match(input,13,FOLLOW_13_in_rule__Import__Alternatives_11686); 
                      after(grammarAccess.getImportAccess().getModelKeyword_1_1()); 
 
                     }
@@ -2663,26 +2334,25 @@
 
 
     // $ANTLR start "rule__Literal__Alternatives"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:987:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:843:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
     public final void rule__Literal__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:991:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:847:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
             int alt5=3;
             switch ( input.LA(1) ) {
-            case 15:
-            case 40:
+            case 14:
+            case 41:
                 {
                 alt5=1;
                 }
                 break;
             case RULE_HEX:
             case RULE_INT:
+            case 15:
             case 16:
-            case 17:
-            case 38:
                 {
                 alt5=2;
                 }
@@ -2701,13 +2371,13 @@
 
             switch (alt5) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:992:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:848:1: ( ruleBooleanLiteral )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:992:1: ( ruleBooleanLiteral )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:993:1: ruleBooleanLiteral
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:848:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:849:1: ruleBooleanLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1996);
+                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1721);
                     ruleBooleanLiteral();
 
                     state._fsp--;
@@ -2720,13 +2390,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:998:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:854:6: ( ruleNumberLiteral )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:998:6: ( ruleNumberLiteral )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:999:1: ruleNumberLiteral
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:854:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:855:1: ruleNumberLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives2013);
+                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives1738);
                     ruleNumberLiteral();
 
                     state._fsp--;
@@ -2739,13 +2409,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1004:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:860:6: ( ruleStringLiteral )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1004:6: ( ruleStringLiteral )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1005:1: ruleStringLiteral
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:860:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:861:1: ruleStringLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives2030);
+                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives1755);
                     ruleStringLiteral();
 
                     state._fsp--;
@@ -2775,20 +2445,20 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Alternatives_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1015:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:871:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
     public final void rule__BooleanLiteral__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1019:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:875:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
             int alt6=2;
             int LA6_0 = input.LA(1);
 
-            if ( (LA6_0==15) ) {
+            if ( (LA6_0==14) ) {
                 alt6=1;
             }
-            else if ( (LA6_0==40) ) {
+            else if ( (LA6_0==41) ) {
                 alt6=2;
             }
             else {
@@ -2799,13 +2469,13 @@
             }
             switch (alt6) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1020:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:876:1: ( 'false' )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1020:1: ( 'false' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1021:1: 'false'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:876:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:877:1: 'false'
                     {
                      before(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
-                    match(input,15,FOLLOW_15_in_rule__BooleanLiteral__Alternatives_12063); 
+                    match(input,14,FOLLOW_14_in_rule__BooleanLiteral__Alternatives_11788); 
                      after(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
 
                     }
@@ -2814,16 +2484,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1028:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:884:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1028:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1029:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:884:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:885:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
                     {
                      before(grammarAccess.getBooleanLiteralAccess().getIsTrueAssignment_1_1()); 
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1030:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1030:2: rule__BooleanLiteral__IsTrueAssignment_1_1
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:886:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:886:2: rule__BooleanLiteral__IsTrueAssignment_1_1
                     {
-                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_12082);
+                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_11807);
                     rule__BooleanLiteral__IsTrueAssignment_1_1();
 
                     state._fsp--;
@@ -2856,16 +2526,16 @@
 
 
     // $ANTLR start "rule__NumberLiteral__Alternatives"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1039:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:895:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
     public final void rule__NumberLiteral__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1043:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:899:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
             int alt7=2;
             switch ( input.LA(1) ) {
-            case 16:
+            case 15:
                 {
                 int LA7_1 = input.LA(2);
 
@@ -2875,7 +2545,7 @@
                     if ( (LA7_3==EOF) ) {
                         alt7=1;
                     }
-                    else if ( (LA7_3==38) ) {
+                    else if ( (LA7_3==39) ) {
                         alt7=2;
                     }
                     else {
@@ -2885,9 +2555,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA7_1==38) ) {
-                    alt7=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 7, 1, input);
@@ -2896,7 +2563,7 @@
                 }
                 }
                 break;
-            case 17:
+            case 16:
                 {
                 int LA7_2 = input.LA(2);
 
@@ -2906,7 +2573,7 @@
                     if ( (LA7_3==EOF) ) {
                         alt7=1;
                     }
-                    else if ( (LA7_3==38) ) {
+                    else if ( (LA7_3==39) ) {
                         alt7=2;
                     }
                     else {
@@ -2916,9 +2583,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA7_2==38) ) {
-                    alt7=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 7, 2, input);
@@ -2934,7 +2598,7 @@
                 if ( (LA7_3==EOF) ) {
                     alt7=1;
                 }
-                else if ( (LA7_3==38) ) {
+                else if ( (LA7_3==39) ) {
                     alt7=2;
                 }
                 else {
@@ -2950,11 +2614,6 @@
                 alt7=1;
                 }
                 break;
-            case 38:
-                {
-                alt7=2;
-                }
-                break;
             default:
                 NoViableAltException nvae =
                     new NoViableAltException("", 7, 0, input);
@@ -2964,13 +2623,13 @@
 
             switch (alt7) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1044:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:900:1: ( ruleIntLiteral )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1044:1: ( ruleIntLiteral )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1045:1: ruleIntLiteral
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:900:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:901:1: ruleIntLiteral
                     {
                      before(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives2115);
+                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives1840);
                     ruleIntLiteral();
 
                     state._fsp--;
@@ -2983,13 +2642,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1050:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:906:6: ( ruleRealLiteral )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1050:6: ( ruleRealLiteral )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1051:1: ruleRealLiteral
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:906:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:907:1: ruleRealLiteral
                     {
                      before(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives2132);
+                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives1857);
                     ruleRealLiteral();
 
                     state._fsp--;
@@ -3019,17 +2678,17 @@
 
 
     // $ANTLR start "rule__Integer__Alternatives"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1061:1: rule__Integer__Alternatives : ( ( ruleSignedInteger ) | ( ruleHexadecimal ) );
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:917:1: rule__Integer__Alternatives : ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) );
     public final void rule__Integer__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1065:1: ( ( ruleSignedInteger ) | ( ruleHexadecimal ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:921:1: ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) )
             int alt8=2;
             int LA8_0 = input.LA(1);
 
-            if ( (LA8_0==RULE_INT||(LA8_0>=16 && LA8_0<=17)) ) {
+            if ( (LA8_0==RULE_INT||(LA8_0>=15 && LA8_0<=16)) ) {
                 alt8=1;
             }
             else if ( (LA8_0==RULE_HEX) ) {
@@ -3043,18 +2702,24 @@
             }
             switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1066:1: ( ruleSignedInteger )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:922:1: ( ( rule__Integer__Group_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1066:1: ( ruleSignedInteger )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1067:1: ruleSignedInteger
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:922:1: ( ( rule__Integer__Group_0__0 ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:923:1: ( rule__Integer__Group_0__0 )
                     {
-                     before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives2164);
-                    ruleSignedInteger();
+                     before(grammarAccess.getIntegerAccess().getGroup_0()); 
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:924:1: ( rule__Integer__Group_0__0 )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:924:2: rule__Integer__Group_0__0
+                    {
+                    pushFollow(FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives1889);
+                    rule__Integer__Group_0__0();
 
                     state._fsp--;
 
-                     after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
+
+                    }
+
+                     after(grammarAccess.getIntegerAccess().getGroup_0()); 
 
                     }
 
@@ -3062,18 +2727,14 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1072:6: ( ruleHexadecimal )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:928:6: ( RULE_HEX )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1072:6: ( ruleHexadecimal )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1073:1: ruleHexadecimal
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:928:6: ( RULE_HEX )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:929:1: RULE_HEX
                     {
-                     before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives2181);
-                    ruleHexadecimal();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
+                     before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
+                    match(input,RULE_HEX,FOLLOW_RULE_HEX_in_rule__Integer__Alternatives1907); 
+                     after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
 
                     }
 
@@ -3097,21 +2758,21 @@
     // $ANTLR end "rule__Integer__Alternatives"
 
 
-    // $ANTLR start "rule__SignedInteger__Alternatives_0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1083:1: rule__SignedInteger__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__SignedInteger__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Alternatives_0_0"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:939:1: rule__Integer__Alternatives_0_0 : ( ( '+' ) | ( '-' ) );
+    public final void rule__Integer__Alternatives_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1087:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:943:1: ( ( '+' ) | ( '-' ) )
             int alt9=2;
             int LA9_0 = input.LA(1);
 
-            if ( (LA9_0==16) ) {
+            if ( (LA9_0==15) ) {
                 alt9=1;
             }
-            else if ( (LA9_0==17) ) {
+            else if ( (LA9_0==16) ) {
                 alt9=2;
             }
             else {
@@ -3122,14 +2783,14 @@
             }
             switch (alt9) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1088:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:944:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1088:1: ( '+' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1089:1: '+'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:944:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:945:1: '+'
                     {
-                     before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                    match(input,16,FOLLOW_16_in_rule__SignedInteger__Alternatives_02214); 
-                     after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+                     before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                    match(input,15,FOLLOW_15_in_rule__Integer__Alternatives_0_01940); 
+                     after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
 
                     }
 
@@ -3137,14 +2798,14 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1096:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:952:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1096:6: ( '-' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1097:1: '-'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:952:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:953:1: '-'
                     {
-                     before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,17,FOLLOW_17_in_rule__SignedInteger__Alternatives_02234); 
-                     after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+                     before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                    match(input,16,FOLLOW_16_in_rule__Integer__Alternatives_0_01960); 
+                     after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
 
                     }
 
@@ -3165,28 +2826,169 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Alternatives_0"
+    // $ANTLR end "rule__Integer__Alternatives_0_0"
 
 
     // $ANTLR start "rule__Real__Alternatives"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1109:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:965:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDecimalExp ) );
     public final void rule__Real__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1113:1: ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) )
-            int alt10=4;
-            alt10 = dfa10.predict(input);
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:969:1: ( ( ruleDecimal ) | ( ruleDecimalExp ) )
+            int alt10=2;
+            switch ( input.LA(1) ) {
+            case 15:
+                {
+                int LA10_1 = input.LA(2);
+
+                if ( (LA10_1==RULE_INT) ) {
+                    int LA10_3 = input.LA(3);
+
+                    if ( (LA10_3==39) ) {
+                        int LA10_4 = input.LA(4);
+
+                        if ( (LA10_4==RULE_INT) ) {
+                            int LA10_5 = input.LA(5);
+
+                            if ( ((LA10_5>=17 && LA10_5<=18)) ) {
+                                alt10=2;
+                            }
+                            else if ( (LA10_5==EOF) ) {
+                                alt10=1;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 10, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 10, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 10, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 10, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 16:
+                {
+                int LA10_2 = input.LA(2);
+
+                if ( (LA10_2==RULE_INT) ) {
+                    int LA10_3 = input.LA(3);
+
+                    if ( (LA10_3==39) ) {
+                        int LA10_4 = input.LA(4);
+
+                        if ( (LA10_4==RULE_INT) ) {
+                            int LA10_5 = input.LA(5);
+
+                            if ( ((LA10_5>=17 && LA10_5<=18)) ) {
+                                alt10=2;
+                            }
+                            else if ( (LA10_5==EOF) ) {
+                                alt10=1;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 10, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 10, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 10, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 10, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA10_3 = input.LA(2);
+
+                if ( (LA10_3==39) ) {
+                    int LA10_4 = input.LA(3);
+
+                    if ( (LA10_4==RULE_INT) ) {
+                        int LA10_5 = input.LA(4);
+
+                        if ( ((LA10_5>=17 && LA10_5<=18)) ) {
+                            alt10=2;
+                        }
+                        else if ( (LA10_5==EOF) ) {
+                            alt10=1;
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 10, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 10, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 10, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 10, 0, input);
+
+                throw nvae;
+            }
+
             switch (alt10) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1114:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:970:1: ( ruleDecimal )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1114:1: ( ruleDecimal )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1115:1: ruleDecimal
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:970:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:971:1: ruleDecimal
                     {
                      before(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives2268);
+                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives1994);
                     ruleDecimal();
 
                     state._fsp--;
@@ -3199,56 +3001,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1120:6: ( ruleDotDecimal )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:976:6: ( ruleDecimalExp )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1120:6: ( ruleDotDecimal )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1121:1: ruleDotDecimal
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:976:6: ( ruleDecimalExp )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:977:1: ruleDecimalExp
                     {
-                     before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives2285);
-                    ruleDotDecimal();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1126:6: ( ruleDecimalDot )
-                    {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1126:6: ( ruleDecimalDot )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1127:1: ruleDecimalDot
-                    {
-                     before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives2302);
-                    ruleDecimalDot();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1132:6: ( ruleDecimalExp )
-                    {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1132:6: ( ruleDecimalExp )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1133:1: ruleDecimalExp
-                    {
-                     before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives2319);
+                     before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
+                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives2011);
                     ruleDecimalExp();
 
                     state._fsp--;
 
-                     after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
+                     after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
 
                     }
 
@@ -3273,20 +3037,20 @@
 
 
     // $ANTLR start "rule__Decimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1143:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:987:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
     public final void rule__Decimal__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1147:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:991:1: ( ( '+' ) | ( '-' ) )
             int alt11=2;
             int LA11_0 = input.LA(1);
 
-            if ( (LA11_0==16) ) {
+            if ( (LA11_0==15) ) {
                 alt11=1;
             }
-            else if ( (LA11_0==17) ) {
+            else if ( (LA11_0==16) ) {
                 alt11=2;
             }
             else {
@@ -3297,13 +3061,13 @@
             }
             switch (alt11) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1148:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:992:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1148:1: ( '+' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1149:1: '+'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:992:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:993:1: '+'
                     {
                      before(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
-                    match(input,16,FOLLOW_16_in_rule__Decimal__Alternatives_02352); 
+                    match(input,15,FOLLOW_15_in_rule__Decimal__Alternatives_02044); 
                      after(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
 
                     }
@@ -3312,13 +3076,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1156:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1000:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1156:6: ( '-' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1157:1: '-'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1000:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1001:1: '-'
                     {
                      before(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,17,FOLLOW_17_in_rule__Decimal__Alternatives_02372); 
+                    match(input,16,FOLLOW_16_in_rule__Decimal__Alternatives_02064); 
                      after(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
 
                     }
@@ -3343,21 +3107,21 @@
     // $ANTLR end "rule__Decimal__Alternatives_0"
 
 
-    // $ANTLR start "rule__DotDecimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1169:1: rule__DotDecimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DotDecimal__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__DecimalExp__Alternatives_0"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1013:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    public final void rule__DecimalExp__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1173:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1017:1: ( ( '+' ) | ( '-' ) )
             int alt12=2;
             int LA12_0 = input.LA(1);
 
-            if ( (LA12_0==16) ) {
+            if ( (LA12_0==15) ) {
                 alt12=1;
             }
-            else if ( (LA12_0==17) ) {
+            else if ( (LA12_0==16) ) {
                 alt12=2;
             }
             else {
@@ -3368,155 +3132,13 @@
             }
             switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1174:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1018:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1174:1: ( '+' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1175:1: '+'
-                    {
-                     before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                    match(input,16,FOLLOW_16_in_rule__DotDecimal__Alternatives_02407); 
-                     after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1182:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1182:6: ( '-' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1183:1: '-'
-                    {
-                     before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,17,FOLLOW_17_in_rule__DotDecimal__Alternatives_02427); 
-                     after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Alternatives_0"
-
-
-    // $ANTLR start "rule__DecimalDot__Alternatives_0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1195:1: rule__DecimalDot__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DecimalDot__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1199:1: ( ( '+' ) | ( '-' ) )
-            int alt13=2;
-            int LA13_0 = input.LA(1);
-
-            if ( (LA13_0==16) ) {
-                alt13=1;
-            }
-            else if ( (LA13_0==17) ) {
-                alt13=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 13, 0, input);
-
-                throw nvae;
-            }
-            switch (alt13) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1200:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1200:1: ( '+' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1201:1: '+'
-                    {
-                     before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                    match(input,16,FOLLOW_16_in_rule__DecimalDot__Alternatives_02462); 
-                     after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1208:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1208:6: ( '-' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1209:1: '-'
-                    {
-                     before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,17,FOLLOW_17_in_rule__DecimalDot__Alternatives_02482); 
-                     after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Alternatives_0"
-
-
-    // $ANTLR start "rule__DecimalExp__Alternatives_0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1221:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DecimalExp__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1225:1: ( ( '+' ) | ( '-' ) )
-            int alt14=2;
-            int LA14_0 = input.LA(1);
-
-            if ( (LA14_0==16) ) {
-                alt14=1;
-            }
-            else if ( (LA14_0==17) ) {
-                alt14=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 14, 0, input);
-
-                throw nvae;
-            }
-            switch (alt14) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1226:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1226:1: ( '+' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1227:1: '+'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1018:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1019:1: '+'
                     {
                      before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
-                    match(input,16,FOLLOW_16_in_rule__DecimalExp__Alternatives_02517); 
+                    match(input,15,FOLLOW_15_in_rule__DecimalExp__Alternatives_02099); 
                      after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
 
                     }
@@ -3525,13 +3147,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1234:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1026:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1234:6: ( '-' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1235:1: '-'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1026:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1027:1: '-'
                     {
                      before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,17,FOLLOW_17_in_rule__DecimalExp__Alternatives_02537); 
+                    match(input,16,FOLLOW_16_in_rule__DecimalExp__Alternatives_02119); 
                      after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
 
                     }
@@ -3556,32 +3178,174 @@
     // $ANTLR end "rule__DecimalExp__Alternatives_0"
 
 
+    // $ANTLR start "rule__DecimalExp__Alternatives_4"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1039:1: rule__DecimalExp__Alternatives_4 : ( ( 'e' ) | ( 'E' ) );
+    public final void rule__DecimalExp__Alternatives_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1043:1: ( ( 'e' ) | ( 'E' ) )
+            int alt13=2;
+            int LA13_0 = input.LA(1);
+
+            if ( (LA13_0==17) ) {
+                alt13=1;
+            }
+            else if ( (LA13_0==18) ) {
+                alt13=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 13, 0, input);
+
+                throw nvae;
+            }
+            switch (alt13) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1044:1: ( 'e' )
+                    {
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1044:1: ( 'e' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1045:1: 'e'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                    match(input,17,FOLLOW_17_in_rule__DecimalExp__Alternatives_42154); 
+                     after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1052:6: ( 'E' )
+                    {
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1052:6: ( 'E' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1053:1: 'E'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                    match(input,18,FOLLOW_18_in_rule__DecimalExp__Alternatives_42174); 
+                     after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_4"
+
+
+    // $ANTLR start "rule__DecimalExp__Alternatives_5"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1065:1: rule__DecimalExp__Alternatives_5 : ( ( '+' ) | ( '-' ) );
+    public final void rule__DecimalExp__Alternatives_5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1069:1: ( ( '+' ) | ( '-' ) )
+            int alt14=2;
+            int LA14_0 = input.LA(1);
+
+            if ( (LA14_0==15) ) {
+                alt14=1;
+            }
+            else if ( (LA14_0==16) ) {
+                alt14=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 14, 0, input);
+
+                throw nvae;
+            }
+            switch (alt14) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1070:1: ( '+' )
+                    {
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1070:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1071:1: '+'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                    match(input,15,FOLLOW_15_in_rule__DecimalExp__Alternatives_52209); 
+                     after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1078:6: ( '-' )
+                    {
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1078:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1079:1: '-'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                    match(input,16,FOLLOW_16_in_rule__DecimalExp__Alternatives_52229); 
+                     after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_5"
+
+
     // $ANTLR start "rule__LiteralType__Alternatives"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1247:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1091:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
     public final void rule__LiteralType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1251:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1095:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
             int alt15=4;
             switch ( input.LA(1) ) {
-            case 18:
+            case 19:
                 {
                 alt15=1;
                 }
                 break;
-            case 19:
+            case 20:
                 {
                 alt15=2;
                 }
                 break;
-            case 20:
+            case 21:
                 {
                 alt15=3;
                 }
                 break;
-            case 21:
+            case 22:
                 {
                 alt15=4;
                 }
@@ -3595,16 +3359,16 @@
 
             switch (alt15) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1252:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1096:1: ( ( 'ptBoolean' ) )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1252:1: ( ( 'ptBoolean' ) )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1253:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1096:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1097:1: ( 'ptBoolean' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1254:1: ( 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1254:3: 'ptBoolean'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1098:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1098:3: 'ptBoolean'
                     {
-                    match(input,18,FOLLOW_18_in_rule__LiteralType__Alternatives2572); 
+                    match(input,19,FOLLOW_19_in_rule__LiteralType__Alternatives2264); 
 
                     }
 
@@ -3616,16 +3380,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1259:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1103:6: ( ( 'ptInteger' ) )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1259:6: ( ( 'ptInteger' ) )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1260:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1103:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1104:1: ( 'ptInteger' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1261:1: ( 'ptInteger' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1261:3: 'ptInteger'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1105:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1105:3: 'ptInteger'
                     {
-                    match(input,19,FOLLOW_19_in_rule__LiteralType__Alternatives2593); 
+                    match(input,20,FOLLOW_20_in_rule__LiteralType__Alternatives2285); 
 
                     }
 
@@ -3637,16 +3401,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1266:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1110:6: ( ( 'ptReal' ) )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1266:6: ( ( 'ptReal' ) )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1267:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1110:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1111:1: ( 'ptReal' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1268:1: ( 'ptReal' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1268:3: 'ptReal'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1112:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1112:3: 'ptReal'
                     {
-                    match(input,20,FOLLOW_20_in_rule__LiteralType__Alternatives2614); 
+                    match(input,21,FOLLOW_21_in_rule__LiteralType__Alternatives2306); 
 
                     }
 
@@ -3658,16 +3422,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1273:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1117:6: ( ( 'ptCharacter' ) )
                     {
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1273:6: ( ( 'ptCharacter' ) )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1274:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1117:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1118:1: ( 'ptCharacter' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1275:1: ( 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1275:3: 'ptCharacter'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1119:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1119:3: 'ptCharacter'
                     {
-                    match(input,21,FOLLOW_21_in_rule__LiteralType__Alternatives2635); 
+                    match(input,22,FOLLOW_22_in_rule__LiteralType__Alternatives2327); 
 
                     }
 
@@ -3696,21 +3460,21 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1287:1: rule__MappingModel__Group__0 : rule__MappingModel__Group__0__Impl rule__MappingModel__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1131:1: rule__MappingModel__Group__0 : rule__MappingModel__Group__0__Impl rule__MappingModel__Group__1 ;
     public final void rule__MappingModel__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1291:1: ( rule__MappingModel__Group__0__Impl rule__MappingModel__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1292:2: rule__MappingModel__Group__0__Impl rule__MappingModel__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1135:1: ( rule__MappingModel__Group__0__Impl rule__MappingModel__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1136:2: rule__MappingModel__Group__0__Impl rule__MappingModel__Group__1
             {
-            pushFollow(FOLLOW_rule__MappingModel__Group__0__Impl_in_rule__MappingModel__Group__02668);
+            pushFollow(FOLLOW_rule__MappingModel__Group__0__Impl_in_rule__MappingModel__Group__02360);
             rule__MappingModel__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__MappingModel__Group__1_in_rule__MappingModel__Group__02671);
+            pushFollow(FOLLOW_rule__MappingModel__Group__1_in_rule__MappingModel__Group__02363);
             rule__MappingModel__Group__1();
 
             state._fsp--;
@@ -3734,20 +3498,20 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1299:1: rule__MappingModel__Group__0__Impl : ( 'MappingModel' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1143:1: rule__MappingModel__Group__0__Impl : ( 'MappingModel' ) ;
     public final void rule__MappingModel__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1303:1: ( ( 'MappingModel' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1304:1: ( 'MappingModel' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1147:1: ( ( 'MappingModel' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1148:1: ( 'MappingModel' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1304:1: ( 'MappingModel' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1305:1: 'MappingModel'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1148:1: ( 'MappingModel' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1149:1: 'MappingModel'
             {
              before(grammarAccess.getMappingModelAccess().getMappingModelKeyword_0()); 
-            match(input,22,FOLLOW_22_in_rule__MappingModel__Group__0__Impl2699); 
+            match(input,23,FOLLOW_23_in_rule__MappingModel__Group__0__Impl2391); 
              after(grammarAccess.getMappingModelAccess().getMappingModelKeyword_0()); 
 
             }
@@ -3771,21 +3535,21 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1318:1: rule__MappingModel__Group__1 : rule__MappingModel__Group__1__Impl rule__MappingModel__Group__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1162:1: rule__MappingModel__Group__1 : rule__MappingModel__Group__1__Impl rule__MappingModel__Group__2 ;
     public final void rule__MappingModel__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1322:1: ( rule__MappingModel__Group__1__Impl rule__MappingModel__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1323:2: rule__MappingModel__Group__1__Impl rule__MappingModel__Group__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1166:1: ( rule__MappingModel__Group__1__Impl rule__MappingModel__Group__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1167:2: rule__MappingModel__Group__1__Impl rule__MappingModel__Group__2
             {
-            pushFollow(FOLLOW_rule__MappingModel__Group__1__Impl_in_rule__MappingModel__Group__12730);
+            pushFollow(FOLLOW_rule__MappingModel__Group__1__Impl_in_rule__MappingModel__Group__12422);
             rule__MappingModel__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__MappingModel__Group__2_in_rule__MappingModel__Group__12733);
+            pushFollow(FOLLOW_rule__MappingModel__Group__2_in_rule__MappingModel__Group__12425);
             rule__MappingModel__Group__2();
 
             state._fsp--;
@@ -3809,23 +3573,23 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1330:1: rule__MappingModel__Group__1__Impl : ( ( rule__MappingModel__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1174:1: rule__MappingModel__Group__1__Impl : ( ( rule__MappingModel__NameAssignment_1 ) ) ;
     public final void rule__MappingModel__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1334:1: ( ( ( rule__MappingModel__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1335:1: ( ( rule__MappingModel__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1178:1: ( ( ( rule__MappingModel__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1179:1: ( ( rule__MappingModel__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1335:1: ( ( rule__MappingModel__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1336:1: ( rule__MappingModel__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1179:1: ( ( rule__MappingModel__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1180:1: ( rule__MappingModel__NameAssignment_1 )
             {
              before(grammarAccess.getMappingModelAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1337:1: ( rule__MappingModel__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1337:2: rule__MappingModel__NameAssignment_1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1181:1: ( rule__MappingModel__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1181:2: rule__MappingModel__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__MappingModel__NameAssignment_1_in_rule__MappingModel__Group__1__Impl2760);
+            pushFollow(FOLLOW_rule__MappingModel__NameAssignment_1_in_rule__MappingModel__Group__1__Impl2452);
             rule__MappingModel__NameAssignment_1();
 
             state._fsp--;
@@ -3856,21 +3620,21 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1347:1: rule__MappingModel__Group__2 : rule__MappingModel__Group__2__Impl rule__MappingModel__Group__3 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1191:1: rule__MappingModel__Group__2 : rule__MappingModel__Group__2__Impl rule__MappingModel__Group__3 ;
     public final void rule__MappingModel__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1351:1: ( rule__MappingModel__Group__2__Impl rule__MappingModel__Group__3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1352:2: rule__MappingModel__Group__2__Impl rule__MappingModel__Group__3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1195:1: ( rule__MappingModel__Group__2__Impl rule__MappingModel__Group__3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1196:2: rule__MappingModel__Group__2__Impl rule__MappingModel__Group__3
             {
-            pushFollow(FOLLOW_rule__MappingModel__Group__2__Impl_in_rule__MappingModel__Group__22790);
+            pushFollow(FOLLOW_rule__MappingModel__Group__2__Impl_in_rule__MappingModel__Group__22482);
             rule__MappingModel__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__MappingModel__Group__3_in_rule__MappingModel__Group__22793);
+            pushFollow(FOLLOW_rule__MappingModel__Group__3_in_rule__MappingModel__Group__22485);
             rule__MappingModel__Group__3();
 
             state._fsp--;
@@ -3894,20 +3658,20 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1359:1: rule__MappingModel__Group__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1203:1: rule__MappingModel__Group__2__Impl : ( '{' ) ;
     public final void rule__MappingModel__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1363:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1364:1: ( '{' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1207:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1208:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1364:1: ( '{' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1365:1: '{'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1208:1: ( '{' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1209:1: '{'
             {
              before(grammarAccess.getMappingModelAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,23,FOLLOW_23_in_rule__MappingModel__Group__2__Impl2821); 
+            match(input,24,FOLLOW_24_in_rule__MappingModel__Group__2__Impl2513); 
              after(grammarAccess.getMappingModelAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
@@ -3931,21 +3695,21 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1378:1: rule__MappingModel__Group__3 : rule__MappingModel__Group__3__Impl rule__MappingModel__Group__4 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1222:1: rule__MappingModel__Group__3 : rule__MappingModel__Group__3__Impl rule__MappingModel__Group__4 ;
     public final void rule__MappingModel__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1382:1: ( rule__MappingModel__Group__3__Impl rule__MappingModel__Group__4 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1383:2: rule__MappingModel__Group__3__Impl rule__MappingModel__Group__4
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1226:1: ( rule__MappingModel__Group__3__Impl rule__MappingModel__Group__4 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1227:2: rule__MappingModel__Group__3__Impl rule__MappingModel__Group__4
             {
-            pushFollow(FOLLOW_rule__MappingModel__Group__3__Impl_in_rule__MappingModel__Group__32852);
+            pushFollow(FOLLOW_rule__MappingModel__Group__3__Impl_in_rule__MappingModel__Group__32544);
             rule__MappingModel__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__MappingModel__Group__4_in_rule__MappingModel__Group__32855);
+            pushFollow(FOLLOW_rule__MappingModel__Group__4_in_rule__MappingModel__Group__32547);
             rule__MappingModel__Group__4();
 
             state._fsp--;
@@ -3969,35 +3733,35 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1390:1: rule__MappingModel__Group__3__Impl : ( ( rule__MappingModel__ImportsAssignment_3 )* ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1234:1: rule__MappingModel__Group__3__Impl : ( ( rule__MappingModel__ImportsAssignment_3 )* ) ;
     public final void rule__MappingModel__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1394:1: ( ( ( rule__MappingModel__ImportsAssignment_3 )* ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1395:1: ( ( rule__MappingModel__ImportsAssignment_3 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1238:1: ( ( ( rule__MappingModel__ImportsAssignment_3 )* ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1239:1: ( ( rule__MappingModel__ImportsAssignment_3 )* )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1395:1: ( ( rule__MappingModel__ImportsAssignment_3 )* )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1396:1: ( rule__MappingModel__ImportsAssignment_3 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1239:1: ( ( rule__MappingModel__ImportsAssignment_3 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1240:1: ( rule__MappingModel__ImportsAssignment_3 )*
             {
              before(grammarAccess.getMappingModelAccess().getImportsAssignment_3()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1397:1: ( rule__MappingModel__ImportsAssignment_3 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1241:1: ( rule__MappingModel__ImportsAssignment_3 )*
             loop16:
             do {
                 int alt16=2;
                 int LA16_0 = input.LA(1);
 
-                if ( (LA16_0==33) ) {
+                if ( (LA16_0==34) ) {
                     alt16=1;
                 }
 
 
                 switch (alt16) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1397:2: rule__MappingModel__ImportsAssignment_3
+            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1241:2: rule__MappingModel__ImportsAssignment_3
             	    {
-            	    pushFollow(FOLLOW_rule__MappingModel__ImportsAssignment_3_in_rule__MappingModel__Group__3__Impl2882);
+            	    pushFollow(FOLLOW_rule__MappingModel__ImportsAssignment_3_in_rule__MappingModel__Group__3__Impl2574);
             	    rule__MappingModel__ImportsAssignment_3();
 
             	    state._fsp--;
@@ -4034,21 +3798,21 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__4"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1407:1: rule__MappingModel__Group__4 : rule__MappingModel__Group__4__Impl rule__MappingModel__Group__5 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1251:1: rule__MappingModel__Group__4 : rule__MappingModel__Group__4__Impl rule__MappingModel__Group__5 ;
     public final void rule__MappingModel__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1411:1: ( rule__MappingModel__Group__4__Impl rule__MappingModel__Group__5 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1412:2: rule__MappingModel__Group__4__Impl rule__MappingModel__Group__5
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1255:1: ( rule__MappingModel__Group__4__Impl rule__MappingModel__Group__5 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1256:2: rule__MappingModel__Group__4__Impl rule__MappingModel__Group__5
             {
-            pushFollow(FOLLOW_rule__MappingModel__Group__4__Impl_in_rule__MappingModel__Group__42913);
+            pushFollow(FOLLOW_rule__MappingModel__Group__4__Impl_in_rule__MappingModel__Group__42605);
             rule__MappingModel__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__MappingModel__Group__5_in_rule__MappingModel__Group__42916);
+            pushFollow(FOLLOW_rule__MappingModel__Group__5_in_rule__MappingModel__Group__42608);
             rule__MappingModel__Group__5();
 
             state._fsp--;
@@ -4072,35 +3836,35 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1419:1: rule__MappingModel__Group__4__Impl : ( ( rule__MappingModel__MappingsAssignment_4 )* ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1263:1: rule__MappingModel__Group__4__Impl : ( ( rule__MappingModel__MappingsAssignment_4 )* ) ;
     public final void rule__MappingModel__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1423:1: ( ( ( rule__MappingModel__MappingsAssignment_4 )* ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1424:1: ( ( rule__MappingModel__MappingsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1267:1: ( ( ( rule__MappingModel__MappingsAssignment_4 )* ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1268:1: ( ( rule__MappingModel__MappingsAssignment_4 )* )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1424:1: ( ( rule__MappingModel__MappingsAssignment_4 )* )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1425:1: ( rule__MappingModel__MappingsAssignment_4 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1268:1: ( ( rule__MappingModel__MappingsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1269:1: ( rule__MappingModel__MappingsAssignment_4 )*
             {
              before(grammarAccess.getMappingModelAccess().getMappingsAssignment_4()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1426:1: ( rule__MappingModel__MappingsAssignment_4 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1270:1: ( rule__MappingModel__MappingsAssignment_4 )*
             loop17:
             do {
                 int alt17=2;
                 int LA17_0 = input.LA(1);
 
-                if ( (LA17_0==25) ) {
+                if ( (LA17_0==26) ) {
                     alt17=1;
                 }
 
 
                 switch (alt17) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1426:2: rule__MappingModel__MappingsAssignment_4
+            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1270:2: rule__MappingModel__MappingsAssignment_4
             	    {
-            	    pushFollow(FOLLOW_rule__MappingModel__MappingsAssignment_4_in_rule__MappingModel__Group__4__Impl2943);
+            	    pushFollow(FOLLOW_rule__MappingModel__MappingsAssignment_4_in_rule__MappingModel__Group__4__Impl2635);
             	    rule__MappingModel__MappingsAssignment_4();
 
             	    state._fsp--;
@@ -4137,16 +3901,16 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__5"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1436:1: rule__MappingModel__Group__5 : rule__MappingModel__Group__5__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1280:1: rule__MappingModel__Group__5 : rule__MappingModel__Group__5__Impl ;
     public final void rule__MappingModel__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1440:1: ( rule__MappingModel__Group__5__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1441:2: rule__MappingModel__Group__5__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1284:1: ( rule__MappingModel__Group__5__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1285:2: rule__MappingModel__Group__5__Impl
             {
-            pushFollow(FOLLOW_rule__MappingModel__Group__5__Impl_in_rule__MappingModel__Group__52974);
+            pushFollow(FOLLOW_rule__MappingModel__Group__5__Impl_in_rule__MappingModel__Group__52666);
             rule__MappingModel__Group__5__Impl();
 
             state._fsp--;
@@ -4170,20 +3934,20 @@
 
 
     // $ANTLR start "rule__MappingModel__Group__5__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1447:1: rule__MappingModel__Group__5__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1291:1: rule__MappingModel__Group__5__Impl : ( '}' ) ;
     public final void rule__MappingModel__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1451:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1452:1: ( '}' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1295:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1296:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1452:1: ( '}' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1453:1: '}'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1296:1: ( '}' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1297:1: '}'
             {
              before(grammarAccess.getMappingModelAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,24,FOLLOW_24_in_rule__MappingModel__Group__5__Impl3002); 
+            match(input,25,FOLLOW_25_in_rule__MappingModel__Group__5__Impl2694); 
              after(grammarAccess.getMappingModelAccess().getRightCurlyBracketKeyword_5()); 
 
             }
@@ -4207,21 +3971,21 @@
 
 
     // $ANTLR start "rule__Mapping__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1478:1: rule__Mapping__Group__0 : rule__Mapping__Group__0__Impl rule__Mapping__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1322:1: rule__Mapping__Group__0 : rule__Mapping__Group__0__Impl rule__Mapping__Group__1 ;
     public final void rule__Mapping__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1482:1: ( rule__Mapping__Group__0__Impl rule__Mapping__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1483:2: rule__Mapping__Group__0__Impl rule__Mapping__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1326:1: ( rule__Mapping__Group__0__Impl rule__Mapping__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1327:2: rule__Mapping__Group__0__Impl rule__Mapping__Group__1
             {
-            pushFollow(FOLLOW_rule__Mapping__Group__0__Impl_in_rule__Mapping__Group__03045);
+            pushFollow(FOLLOW_rule__Mapping__Group__0__Impl_in_rule__Mapping__Group__02737);
             rule__Mapping__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Mapping__Group__1_in_rule__Mapping__Group__03048);
+            pushFollow(FOLLOW_rule__Mapping__Group__1_in_rule__Mapping__Group__02740);
             rule__Mapping__Group__1();
 
             state._fsp--;
@@ -4245,20 +4009,20 @@
 
 
     // $ANTLR start "rule__Mapping__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1490:1: rule__Mapping__Group__0__Impl : ( 'Mapping' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1334:1: rule__Mapping__Group__0__Impl : ( 'Mapping' ) ;
     public final void rule__Mapping__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1494:1: ( ( 'Mapping' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1495:1: ( 'Mapping' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1338:1: ( ( 'Mapping' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1339:1: ( 'Mapping' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1495:1: ( 'Mapping' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1496:1: 'Mapping'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1339:1: ( 'Mapping' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1340:1: 'Mapping'
             {
              before(grammarAccess.getMappingAccess().getMappingKeyword_0()); 
-            match(input,25,FOLLOW_25_in_rule__Mapping__Group__0__Impl3076); 
+            match(input,26,FOLLOW_26_in_rule__Mapping__Group__0__Impl2768); 
              after(grammarAccess.getMappingAccess().getMappingKeyword_0()); 
 
             }
@@ -4282,21 +4046,21 @@
 
 
     // $ANTLR start "rule__Mapping__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1509:1: rule__Mapping__Group__1 : rule__Mapping__Group__1__Impl rule__Mapping__Group__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1353:1: rule__Mapping__Group__1 : rule__Mapping__Group__1__Impl rule__Mapping__Group__2 ;
     public final void rule__Mapping__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1513:1: ( rule__Mapping__Group__1__Impl rule__Mapping__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1514:2: rule__Mapping__Group__1__Impl rule__Mapping__Group__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1357:1: ( rule__Mapping__Group__1__Impl rule__Mapping__Group__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1358:2: rule__Mapping__Group__1__Impl rule__Mapping__Group__2
             {
-            pushFollow(FOLLOW_rule__Mapping__Group__1__Impl_in_rule__Mapping__Group__13107);
+            pushFollow(FOLLOW_rule__Mapping__Group__1__Impl_in_rule__Mapping__Group__12799);
             rule__Mapping__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Mapping__Group__2_in_rule__Mapping__Group__13110);
+            pushFollow(FOLLOW_rule__Mapping__Group__2_in_rule__Mapping__Group__12802);
             rule__Mapping__Group__2();
 
             state._fsp--;
@@ -4320,23 +4084,23 @@
 
 
     // $ANTLR start "rule__Mapping__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1521:1: rule__Mapping__Group__1__Impl : ( ( rule__Mapping__LogicalSysAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1365:1: rule__Mapping__Group__1__Impl : ( ( rule__Mapping__LogicalSysAssignment_1 ) ) ;
     public final void rule__Mapping__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1525:1: ( ( ( rule__Mapping__LogicalSysAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1526:1: ( ( rule__Mapping__LogicalSysAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1369:1: ( ( ( rule__Mapping__LogicalSysAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1370:1: ( ( rule__Mapping__LogicalSysAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1526:1: ( ( rule__Mapping__LogicalSysAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1527:1: ( rule__Mapping__LogicalSysAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1370:1: ( ( rule__Mapping__LogicalSysAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1371:1: ( rule__Mapping__LogicalSysAssignment_1 )
             {
              before(grammarAccess.getMappingAccess().getLogicalSysAssignment_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1528:1: ( rule__Mapping__LogicalSysAssignment_1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1528:2: rule__Mapping__LogicalSysAssignment_1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1372:1: ( rule__Mapping__LogicalSysAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1372:2: rule__Mapping__LogicalSysAssignment_1
             {
-            pushFollow(FOLLOW_rule__Mapping__LogicalSysAssignment_1_in_rule__Mapping__Group__1__Impl3137);
+            pushFollow(FOLLOW_rule__Mapping__LogicalSysAssignment_1_in_rule__Mapping__Group__1__Impl2829);
             rule__Mapping__LogicalSysAssignment_1();
 
             state._fsp--;
@@ -4367,21 +4131,21 @@
 
 
     // $ANTLR start "rule__Mapping__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1538:1: rule__Mapping__Group__2 : rule__Mapping__Group__2__Impl rule__Mapping__Group__3 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1382:1: rule__Mapping__Group__2 : rule__Mapping__Group__2__Impl rule__Mapping__Group__3 ;
     public final void rule__Mapping__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1542:1: ( rule__Mapping__Group__2__Impl rule__Mapping__Group__3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1543:2: rule__Mapping__Group__2__Impl rule__Mapping__Group__3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1386:1: ( rule__Mapping__Group__2__Impl rule__Mapping__Group__3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1387:2: rule__Mapping__Group__2__Impl rule__Mapping__Group__3
             {
-            pushFollow(FOLLOW_rule__Mapping__Group__2__Impl_in_rule__Mapping__Group__23167);
+            pushFollow(FOLLOW_rule__Mapping__Group__2__Impl_in_rule__Mapping__Group__22859);
             rule__Mapping__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Mapping__Group__3_in_rule__Mapping__Group__23170);
+            pushFollow(FOLLOW_rule__Mapping__Group__3_in_rule__Mapping__Group__22862);
             rule__Mapping__Group__3();
 
             state._fsp--;
@@ -4405,20 +4169,20 @@
 
 
     // $ANTLR start "rule__Mapping__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1550:1: rule__Mapping__Group__2__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1394:1: rule__Mapping__Group__2__Impl : ( '->' ) ;
     public final void rule__Mapping__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1554:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1555:1: ( '->' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1398:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1399:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1555:1: ( '->' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1556:1: '->'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1399:1: ( '->' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1400:1: '->'
             {
              before(grammarAccess.getMappingAccess().getHyphenMinusGreaterThanSignKeyword_2()); 
-            match(input,26,FOLLOW_26_in_rule__Mapping__Group__2__Impl3198); 
+            match(input,27,FOLLOW_27_in_rule__Mapping__Group__2__Impl2890); 
              after(grammarAccess.getMappingAccess().getHyphenMinusGreaterThanSignKeyword_2()); 
 
             }
@@ -4442,21 +4206,21 @@
 
 
     // $ANTLR start "rule__Mapping__Group__3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1569:1: rule__Mapping__Group__3 : rule__Mapping__Group__3__Impl rule__Mapping__Group__4 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1413:1: rule__Mapping__Group__3 : rule__Mapping__Group__3__Impl rule__Mapping__Group__4 ;
     public final void rule__Mapping__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1573:1: ( rule__Mapping__Group__3__Impl rule__Mapping__Group__4 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1574:2: rule__Mapping__Group__3__Impl rule__Mapping__Group__4
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1417:1: ( rule__Mapping__Group__3__Impl rule__Mapping__Group__4 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1418:2: rule__Mapping__Group__3__Impl rule__Mapping__Group__4
             {
-            pushFollow(FOLLOW_rule__Mapping__Group__3__Impl_in_rule__Mapping__Group__33229);
+            pushFollow(FOLLOW_rule__Mapping__Group__3__Impl_in_rule__Mapping__Group__32921);
             rule__Mapping__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Mapping__Group__4_in_rule__Mapping__Group__33232);
+            pushFollow(FOLLOW_rule__Mapping__Group__4_in_rule__Mapping__Group__32924);
             rule__Mapping__Group__4();
 
             state._fsp--;
@@ -4480,23 +4244,23 @@
 
 
     // $ANTLR start "rule__Mapping__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1581:1: rule__Mapping__Group__3__Impl : ( ( rule__Mapping__PhysicalSysAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1425:1: rule__Mapping__Group__3__Impl : ( ( rule__Mapping__PhysicalSysAssignment_3 ) ) ;
     public final void rule__Mapping__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1585:1: ( ( ( rule__Mapping__PhysicalSysAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1586:1: ( ( rule__Mapping__PhysicalSysAssignment_3 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1429:1: ( ( ( rule__Mapping__PhysicalSysAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1430:1: ( ( rule__Mapping__PhysicalSysAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1586:1: ( ( rule__Mapping__PhysicalSysAssignment_3 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1587:1: ( rule__Mapping__PhysicalSysAssignment_3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1430:1: ( ( rule__Mapping__PhysicalSysAssignment_3 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1431:1: ( rule__Mapping__PhysicalSysAssignment_3 )
             {
              before(grammarAccess.getMappingAccess().getPhysicalSysAssignment_3()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1588:1: ( rule__Mapping__PhysicalSysAssignment_3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1588:2: rule__Mapping__PhysicalSysAssignment_3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1432:1: ( rule__Mapping__PhysicalSysAssignment_3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1432:2: rule__Mapping__PhysicalSysAssignment_3
             {
-            pushFollow(FOLLOW_rule__Mapping__PhysicalSysAssignment_3_in_rule__Mapping__Group__3__Impl3259);
+            pushFollow(FOLLOW_rule__Mapping__PhysicalSysAssignment_3_in_rule__Mapping__Group__3__Impl2951);
             rule__Mapping__PhysicalSysAssignment_3();
 
             state._fsp--;
@@ -4527,21 +4291,21 @@
 
 
     // $ANTLR start "rule__Mapping__Group__4"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1598:1: rule__Mapping__Group__4 : rule__Mapping__Group__4__Impl rule__Mapping__Group__5 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1442:1: rule__Mapping__Group__4 : rule__Mapping__Group__4__Impl rule__Mapping__Group__5 ;
     public final void rule__Mapping__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1602:1: ( rule__Mapping__Group__4__Impl rule__Mapping__Group__5 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1603:2: rule__Mapping__Group__4__Impl rule__Mapping__Group__5
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1446:1: ( rule__Mapping__Group__4__Impl rule__Mapping__Group__5 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1447:2: rule__Mapping__Group__4__Impl rule__Mapping__Group__5
             {
-            pushFollow(FOLLOW_rule__Mapping__Group__4__Impl_in_rule__Mapping__Group__43289);
+            pushFollow(FOLLOW_rule__Mapping__Group__4__Impl_in_rule__Mapping__Group__42981);
             rule__Mapping__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Mapping__Group__5_in_rule__Mapping__Group__43292);
+            pushFollow(FOLLOW_rule__Mapping__Group__5_in_rule__Mapping__Group__42984);
             rule__Mapping__Group__5();
 
             state._fsp--;
@@ -4565,20 +4329,20 @@
 
 
     // $ANTLR start "rule__Mapping__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1610:1: rule__Mapping__Group__4__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1454:1: rule__Mapping__Group__4__Impl : ( '{' ) ;
     public final void rule__Mapping__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1614:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1615:1: ( '{' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1458:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1459:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1615:1: ( '{' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1616:1: '{'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1459:1: ( '{' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1460:1: '{'
             {
              before(grammarAccess.getMappingAccess().getLeftCurlyBracketKeyword_4()); 
-            match(input,23,FOLLOW_23_in_rule__Mapping__Group__4__Impl3320); 
+            match(input,24,FOLLOW_24_in_rule__Mapping__Group__4__Impl3012); 
              after(grammarAccess.getMappingAccess().getLeftCurlyBracketKeyword_4()); 
 
             }
@@ -4602,21 +4366,21 @@
 
 
     // $ANTLR start "rule__Mapping__Group__5"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1629:1: rule__Mapping__Group__5 : rule__Mapping__Group__5__Impl rule__Mapping__Group__6 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1473:1: rule__Mapping__Group__5 : rule__Mapping__Group__5__Impl rule__Mapping__Group__6 ;
     public final void rule__Mapping__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1633:1: ( rule__Mapping__Group__5__Impl rule__Mapping__Group__6 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1634:2: rule__Mapping__Group__5__Impl rule__Mapping__Group__6
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1477:1: ( rule__Mapping__Group__5__Impl rule__Mapping__Group__6 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1478:2: rule__Mapping__Group__5__Impl rule__Mapping__Group__6
             {
-            pushFollow(FOLLOW_rule__Mapping__Group__5__Impl_in_rule__Mapping__Group__53351);
+            pushFollow(FOLLOW_rule__Mapping__Group__5__Impl_in_rule__Mapping__Group__53043);
             rule__Mapping__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Mapping__Group__6_in_rule__Mapping__Group__53354);
+            pushFollow(FOLLOW_rule__Mapping__Group__6_in_rule__Mapping__Group__53046);
             rule__Mapping__Group__6();
 
             state._fsp--;
@@ -4640,35 +4404,35 @@
 
 
     // $ANTLR start "rule__Mapping__Group__5__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1641:1: rule__Mapping__Group__5__Impl : ( ( rule__Mapping__SubsysMappingsAssignment_5 )* ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1485:1: rule__Mapping__Group__5__Impl : ( ( rule__Mapping__SubsysMappingsAssignment_5 )* ) ;
     public final void rule__Mapping__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1645:1: ( ( ( rule__Mapping__SubsysMappingsAssignment_5 )* ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1646:1: ( ( rule__Mapping__SubsysMappingsAssignment_5 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1489:1: ( ( ( rule__Mapping__SubsysMappingsAssignment_5 )* ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1490:1: ( ( rule__Mapping__SubsysMappingsAssignment_5 )* )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1646:1: ( ( rule__Mapping__SubsysMappingsAssignment_5 )* )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1647:1: ( rule__Mapping__SubsysMappingsAssignment_5 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1490:1: ( ( rule__Mapping__SubsysMappingsAssignment_5 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1491:1: ( rule__Mapping__SubsysMappingsAssignment_5 )*
             {
              before(grammarAccess.getMappingAccess().getSubsysMappingsAssignment_5()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1648:1: ( rule__Mapping__SubsysMappingsAssignment_5 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1492:1: ( rule__Mapping__SubsysMappingsAssignment_5 )*
             loop18:
             do {
                 int alt18=2;
                 int LA18_0 = input.LA(1);
 
-                if ( (LA18_0==27) ) {
+                if ( (LA18_0==28) ) {
                     alt18=1;
                 }
 
 
                 switch (alt18) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1648:2: rule__Mapping__SubsysMappingsAssignment_5
+            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1492:2: rule__Mapping__SubsysMappingsAssignment_5
             	    {
-            	    pushFollow(FOLLOW_rule__Mapping__SubsysMappingsAssignment_5_in_rule__Mapping__Group__5__Impl3381);
+            	    pushFollow(FOLLOW_rule__Mapping__SubsysMappingsAssignment_5_in_rule__Mapping__Group__5__Impl3073);
             	    rule__Mapping__SubsysMappingsAssignment_5();
 
             	    state._fsp--;
@@ -4705,16 +4469,16 @@
 
 
     // $ANTLR start "rule__Mapping__Group__6"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1658:1: rule__Mapping__Group__6 : rule__Mapping__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1502:1: rule__Mapping__Group__6 : rule__Mapping__Group__6__Impl ;
     public final void rule__Mapping__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1662:1: ( rule__Mapping__Group__6__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1663:2: rule__Mapping__Group__6__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1506:1: ( rule__Mapping__Group__6__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1507:2: rule__Mapping__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__Mapping__Group__6__Impl_in_rule__Mapping__Group__63412);
+            pushFollow(FOLLOW_rule__Mapping__Group__6__Impl_in_rule__Mapping__Group__63104);
             rule__Mapping__Group__6__Impl();
 
             state._fsp--;
@@ -4738,20 +4502,20 @@
 
 
     // $ANTLR start "rule__Mapping__Group__6__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1669:1: rule__Mapping__Group__6__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1513:1: rule__Mapping__Group__6__Impl : ( '}' ) ;
     public final void rule__Mapping__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1673:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1674:1: ( '}' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1517:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1518:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1674:1: ( '}' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1675:1: '}'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1518:1: ( '}' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1519:1: '}'
             {
              before(grammarAccess.getMappingAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,24,FOLLOW_24_in_rule__Mapping__Group__6__Impl3440); 
+            match(input,25,FOLLOW_25_in_rule__Mapping__Group__6__Impl3132); 
              after(grammarAccess.getMappingAccess().getRightCurlyBracketKeyword_6()); 
 
             }
@@ -4775,21 +4539,21 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1702:1: rule__SubSystemMapping__Group__0 : rule__SubSystemMapping__Group__0__Impl rule__SubSystemMapping__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1546:1: rule__SubSystemMapping__Group__0 : rule__SubSystemMapping__Group__0__Impl rule__SubSystemMapping__Group__1 ;
     public final void rule__SubSystemMapping__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1706:1: ( rule__SubSystemMapping__Group__0__Impl rule__SubSystemMapping__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1707:2: rule__SubSystemMapping__Group__0__Impl rule__SubSystemMapping__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1550:1: ( rule__SubSystemMapping__Group__0__Impl rule__SubSystemMapping__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1551:2: rule__SubSystemMapping__Group__0__Impl rule__SubSystemMapping__Group__1
             {
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group__0__Impl_in_rule__SubSystemMapping__Group__03485);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group__0__Impl_in_rule__SubSystemMapping__Group__03177);
             rule__SubSystemMapping__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group__1_in_rule__SubSystemMapping__Group__03488);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group__1_in_rule__SubSystemMapping__Group__03180);
             rule__SubSystemMapping__Group__1();
 
             state._fsp--;
@@ -4813,20 +4577,20 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1714:1: rule__SubSystemMapping__Group__0__Impl : ( 'SubSystemMapping' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1558:1: rule__SubSystemMapping__Group__0__Impl : ( 'SubSystemMapping' ) ;
     public final void rule__SubSystemMapping__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1718:1: ( ( 'SubSystemMapping' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1719:1: ( 'SubSystemMapping' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1562:1: ( ( 'SubSystemMapping' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1563:1: ( 'SubSystemMapping' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1719:1: ( 'SubSystemMapping' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1720:1: 'SubSystemMapping'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1563:1: ( 'SubSystemMapping' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1564:1: 'SubSystemMapping'
             {
              before(grammarAccess.getSubSystemMappingAccess().getSubSystemMappingKeyword_0()); 
-            match(input,27,FOLLOW_27_in_rule__SubSystemMapping__Group__0__Impl3516); 
+            match(input,28,FOLLOW_28_in_rule__SubSystemMapping__Group__0__Impl3208); 
              after(grammarAccess.getSubSystemMappingAccess().getSubSystemMappingKeyword_0()); 
 
             }
@@ -4850,21 +4614,21 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1733:1: rule__SubSystemMapping__Group__1 : rule__SubSystemMapping__Group__1__Impl rule__SubSystemMapping__Group__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1577:1: rule__SubSystemMapping__Group__1 : rule__SubSystemMapping__Group__1__Impl rule__SubSystemMapping__Group__2 ;
     public final void rule__SubSystemMapping__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1737:1: ( rule__SubSystemMapping__Group__1__Impl rule__SubSystemMapping__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1738:2: rule__SubSystemMapping__Group__1__Impl rule__SubSystemMapping__Group__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1581:1: ( rule__SubSystemMapping__Group__1__Impl rule__SubSystemMapping__Group__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1582:2: rule__SubSystemMapping__Group__1__Impl rule__SubSystemMapping__Group__2
             {
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group__1__Impl_in_rule__SubSystemMapping__Group__13547);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group__1__Impl_in_rule__SubSystemMapping__Group__13239);
             rule__SubSystemMapping__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group__2_in_rule__SubSystemMapping__Group__13550);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group__2_in_rule__SubSystemMapping__Group__13242);
             rule__SubSystemMapping__Group__2();
 
             state._fsp--;
@@ -4888,23 +4652,23 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1745:1: rule__SubSystemMapping__Group__1__Impl : ( ( rule__SubSystemMapping__LogicalSubSysAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1589:1: rule__SubSystemMapping__Group__1__Impl : ( ( rule__SubSystemMapping__LogicalSubSysAssignment_1 ) ) ;
     public final void rule__SubSystemMapping__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1749:1: ( ( ( rule__SubSystemMapping__LogicalSubSysAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1750:1: ( ( rule__SubSystemMapping__LogicalSubSysAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1593:1: ( ( ( rule__SubSystemMapping__LogicalSubSysAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1594:1: ( ( rule__SubSystemMapping__LogicalSubSysAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1750:1: ( ( rule__SubSystemMapping__LogicalSubSysAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1751:1: ( rule__SubSystemMapping__LogicalSubSysAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1594:1: ( ( rule__SubSystemMapping__LogicalSubSysAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1595:1: ( rule__SubSystemMapping__LogicalSubSysAssignment_1 )
             {
              before(grammarAccess.getSubSystemMappingAccess().getLogicalSubSysAssignment_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1752:1: ( rule__SubSystemMapping__LogicalSubSysAssignment_1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1752:2: rule__SubSystemMapping__LogicalSubSysAssignment_1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1596:1: ( rule__SubSystemMapping__LogicalSubSysAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1596:2: rule__SubSystemMapping__LogicalSubSysAssignment_1
             {
-            pushFollow(FOLLOW_rule__SubSystemMapping__LogicalSubSysAssignment_1_in_rule__SubSystemMapping__Group__1__Impl3577);
+            pushFollow(FOLLOW_rule__SubSystemMapping__LogicalSubSysAssignment_1_in_rule__SubSystemMapping__Group__1__Impl3269);
             rule__SubSystemMapping__LogicalSubSysAssignment_1();
 
             state._fsp--;
@@ -4935,21 +4699,21 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1762:1: rule__SubSystemMapping__Group__2 : rule__SubSystemMapping__Group__2__Impl rule__SubSystemMapping__Group__3 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1606:1: rule__SubSystemMapping__Group__2 : rule__SubSystemMapping__Group__2__Impl rule__SubSystemMapping__Group__3 ;
     public final void rule__SubSystemMapping__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1766:1: ( rule__SubSystemMapping__Group__2__Impl rule__SubSystemMapping__Group__3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1767:2: rule__SubSystemMapping__Group__2__Impl rule__SubSystemMapping__Group__3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1610:1: ( rule__SubSystemMapping__Group__2__Impl rule__SubSystemMapping__Group__3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1611:2: rule__SubSystemMapping__Group__2__Impl rule__SubSystemMapping__Group__3
             {
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group__2__Impl_in_rule__SubSystemMapping__Group__23607);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group__2__Impl_in_rule__SubSystemMapping__Group__23299);
             rule__SubSystemMapping__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group__3_in_rule__SubSystemMapping__Group__23610);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group__3_in_rule__SubSystemMapping__Group__23302);
             rule__SubSystemMapping__Group__3();
 
             state._fsp--;
@@ -4973,20 +4737,20 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1774:1: rule__SubSystemMapping__Group__2__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1618:1: rule__SubSystemMapping__Group__2__Impl : ( '->' ) ;
     public final void rule__SubSystemMapping__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1778:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1779:1: ( '->' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1622:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1623:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1779:1: ( '->' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1780:1: '->'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1623:1: ( '->' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1624:1: '->'
             {
              before(grammarAccess.getSubSystemMappingAccess().getHyphenMinusGreaterThanSignKeyword_2()); 
-            match(input,26,FOLLOW_26_in_rule__SubSystemMapping__Group__2__Impl3638); 
+            match(input,27,FOLLOW_27_in_rule__SubSystemMapping__Group__2__Impl3330); 
              after(grammarAccess.getSubSystemMappingAccess().getHyphenMinusGreaterThanSignKeyword_2()); 
 
             }
@@ -5010,21 +4774,21 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group__3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1793:1: rule__SubSystemMapping__Group__3 : rule__SubSystemMapping__Group__3__Impl rule__SubSystemMapping__Group__4 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1637:1: rule__SubSystemMapping__Group__3 : rule__SubSystemMapping__Group__3__Impl rule__SubSystemMapping__Group__4 ;
     public final void rule__SubSystemMapping__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1797:1: ( rule__SubSystemMapping__Group__3__Impl rule__SubSystemMapping__Group__4 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1798:2: rule__SubSystemMapping__Group__3__Impl rule__SubSystemMapping__Group__4
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1641:1: ( rule__SubSystemMapping__Group__3__Impl rule__SubSystemMapping__Group__4 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1642:2: rule__SubSystemMapping__Group__3__Impl rule__SubSystemMapping__Group__4
             {
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group__3__Impl_in_rule__SubSystemMapping__Group__33669);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group__3__Impl_in_rule__SubSystemMapping__Group__33361);
             rule__SubSystemMapping__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group__4_in_rule__SubSystemMapping__Group__33672);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group__4_in_rule__SubSystemMapping__Group__33364);
             rule__SubSystemMapping__Group__4();
 
             state._fsp--;
@@ -5048,23 +4812,23 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1805:1: rule__SubSystemMapping__Group__3__Impl : ( ( rule__SubSystemMapping__NodeAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1649:1: rule__SubSystemMapping__Group__3__Impl : ( ( rule__SubSystemMapping__NodeAssignment_3 ) ) ;
     public final void rule__SubSystemMapping__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1809:1: ( ( ( rule__SubSystemMapping__NodeAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1810:1: ( ( rule__SubSystemMapping__NodeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1653:1: ( ( ( rule__SubSystemMapping__NodeAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1654:1: ( ( rule__SubSystemMapping__NodeAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1810:1: ( ( rule__SubSystemMapping__NodeAssignment_3 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1811:1: ( rule__SubSystemMapping__NodeAssignment_3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1654:1: ( ( rule__SubSystemMapping__NodeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1655:1: ( rule__SubSystemMapping__NodeAssignment_3 )
             {
              before(grammarAccess.getSubSystemMappingAccess().getNodeAssignment_3()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1812:1: ( rule__SubSystemMapping__NodeAssignment_3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1812:2: rule__SubSystemMapping__NodeAssignment_3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1656:1: ( rule__SubSystemMapping__NodeAssignment_3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1656:2: rule__SubSystemMapping__NodeAssignment_3
             {
-            pushFollow(FOLLOW_rule__SubSystemMapping__NodeAssignment_3_in_rule__SubSystemMapping__Group__3__Impl3699);
+            pushFollow(FOLLOW_rule__SubSystemMapping__NodeAssignment_3_in_rule__SubSystemMapping__Group__3__Impl3391);
             rule__SubSystemMapping__NodeAssignment_3();
 
             state._fsp--;
@@ -5095,16 +4859,16 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group__4"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1822:1: rule__SubSystemMapping__Group__4 : rule__SubSystemMapping__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1666:1: rule__SubSystemMapping__Group__4 : rule__SubSystemMapping__Group__4__Impl ;
     public final void rule__SubSystemMapping__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1826:1: ( rule__SubSystemMapping__Group__4__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1827:2: rule__SubSystemMapping__Group__4__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1670:1: ( rule__SubSystemMapping__Group__4__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1671:2: rule__SubSystemMapping__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group__4__Impl_in_rule__SubSystemMapping__Group__43729);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group__4__Impl_in_rule__SubSystemMapping__Group__43421);
             rule__SubSystemMapping__Group__4__Impl();
 
             state._fsp--;
@@ -5128,31 +4892,31 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1833:1: rule__SubSystemMapping__Group__4__Impl : ( ( rule__SubSystemMapping__Group_4__0 )? ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1677:1: rule__SubSystemMapping__Group__4__Impl : ( ( rule__SubSystemMapping__Group_4__0 )? ) ;
     public final void rule__SubSystemMapping__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1837:1: ( ( ( rule__SubSystemMapping__Group_4__0 )? ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1838:1: ( ( rule__SubSystemMapping__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1681:1: ( ( ( rule__SubSystemMapping__Group_4__0 )? ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1682:1: ( ( rule__SubSystemMapping__Group_4__0 )? )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1838:1: ( ( rule__SubSystemMapping__Group_4__0 )? )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1839:1: ( rule__SubSystemMapping__Group_4__0 )?
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1682:1: ( ( rule__SubSystemMapping__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1683:1: ( rule__SubSystemMapping__Group_4__0 )?
             {
              before(grammarAccess.getSubSystemMappingAccess().getGroup_4()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1840:1: ( rule__SubSystemMapping__Group_4__0 )?
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1684:1: ( rule__SubSystemMapping__Group_4__0 )?
             int alt19=2;
             int LA19_0 = input.LA(1);
 
-            if ( (LA19_0==23) ) {
+            if ( (LA19_0==24) ) {
                 alt19=1;
             }
             switch (alt19) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1840:2: rule__SubSystemMapping__Group_4__0
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1684:2: rule__SubSystemMapping__Group_4__0
                     {
-                    pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__0_in_rule__SubSystemMapping__Group__4__Impl3756);
+                    pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__0_in_rule__SubSystemMapping__Group__4__Impl3448);
                     rule__SubSystemMapping__Group_4__0();
 
                     state._fsp--;
@@ -5186,21 +4950,21 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group_4__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1860:1: rule__SubSystemMapping__Group_4__0 : rule__SubSystemMapping__Group_4__0__Impl rule__SubSystemMapping__Group_4__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1704:1: rule__SubSystemMapping__Group_4__0 : rule__SubSystemMapping__Group_4__0__Impl rule__SubSystemMapping__Group_4__1 ;
     public final void rule__SubSystemMapping__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1864:1: ( rule__SubSystemMapping__Group_4__0__Impl rule__SubSystemMapping__Group_4__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1865:2: rule__SubSystemMapping__Group_4__0__Impl rule__SubSystemMapping__Group_4__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1708:1: ( rule__SubSystemMapping__Group_4__0__Impl rule__SubSystemMapping__Group_4__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1709:2: rule__SubSystemMapping__Group_4__0__Impl rule__SubSystemMapping__Group_4__1
             {
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__0__Impl_in_rule__SubSystemMapping__Group_4__03797);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__0__Impl_in_rule__SubSystemMapping__Group_4__03489);
             rule__SubSystemMapping__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__1_in_rule__SubSystemMapping__Group_4__03800);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__1_in_rule__SubSystemMapping__Group_4__03492);
             rule__SubSystemMapping__Group_4__1();
 
             state._fsp--;
@@ -5224,20 +4988,20 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group_4__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1872:1: rule__SubSystemMapping__Group_4__0__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1716:1: rule__SubSystemMapping__Group_4__0__Impl : ( '{' ) ;
     public final void rule__SubSystemMapping__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1876:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1877:1: ( '{' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1720:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1721:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1877:1: ( '{' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1878:1: '{'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1721:1: ( '{' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1722:1: '{'
             {
              before(grammarAccess.getSubSystemMappingAccess().getLeftCurlyBracketKeyword_4_0()); 
-            match(input,23,FOLLOW_23_in_rule__SubSystemMapping__Group_4__0__Impl3828); 
+            match(input,24,FOLLOW_24_in_rule__SubSystemMapping__Group_4__0__Impl3520); 
              after(grammarAccess.getSubSystemMappingAccess().getLeftCurlyBracketKeyword_4_0()); 
 
             }
@@ -5261,21 +5025,21 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group_4__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1891:1: rule__SubSystemMapping__Group_4__1 : rule__SubSystemMapping__Group_4__1__Impl rule__SubSystemMapping__Group_4__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1735:1: rule__SubSystemMapping__Group_4__1 : rule__SubSystemMapping__Group_4__1__Impl rule__SubSystemMapping__Group_4__2 ;
     public final void rule__SubSystemMapping__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1895:1: ( rule__SubSystemMapping__Group_4__1__Impl rule__SubSystemMapping__Group_4__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1896:2: rule__SubSystemMapping__Group_4__1__Impl rule__SubSystemMapping__Group_4__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1739:1: ( rule__SubSystemMapping__Group_4__1__Impl rule__SubSystemMapping__Group_4__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1740:2: rule__SubSystemMapping__Group_4__1__Impl rule__SubSystemMapping__Group_4__2
             {
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__1__Impl_in_rule__SubSystemMapping__Group_4__13859);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__1__Impl_in_rule__SubSystemMapping__Group_4__13551);
             rule__SubSystemMapping__Group_4__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__2_in_rule__SubSystemMapping__Group_4__13862);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__2_in_rule__SubSystemMapping__Group_4__13554);
             rule__SubSystemMapping__Group_4__2();
 
             state._fsp--;
@@ -5299,35 +5063,35 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group_4__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1903:1: rule__SubSystemMapping__Group_4__1__Impl : ( ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )* ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1747:1: rule__SubSystemMapping__Group_4__1__Impl : ( ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )* ) ;
     public final void rule__SubSystemMapping__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1907:1: ( ( ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )* ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1908:1: ( ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1751:1: ( ( ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )* ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1752:1: ( ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )* )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1908:1: ( ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )* )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1909:1: ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1752:1: ( ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1753:1: ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )*
             {
              before(grammarAccess.getSubSystemMappingAccess().getThreadMappingsAssignment_4_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1910:1: ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1754:1: ( rule__SubSystemMapping__ThreadMappingsAssignment_4_1 )*
             loop20:
             do {
                 int alt20=2;
                 int LA20_0 = input.LA(1);
 
-                if ( (LA20_0==28) ) {
+                if ( (LA20_0==29) ) {
                     alt20=1;
                 }
 
 
                 switch (alt20) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1910:2: rule__SubSystemMapping__ThreadMappingsAssignment_4_1
+            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1754:2: rule__SubSystemMapping__ThreadMappingsAssignment_4_1
             	    {
-            	    pushFollow(FOLLOW_rule__SubSystemMapping__ThreadMappingsAssignment_4_1_in_rule__SubSystemMapping__Group_4__1__Impl3889);
+            	    pushFollow(FOLLOW_rule__SubSystemMapping__ThreadMappingsAssignment_4_1_in_rule__SubSystemMapping__Group_4__1__Impl3581);
             	    rule__SubSystemMapping__ThreadMappingsAssignment_4_1();
 
             	    state._fsp--;
@@ -5364,16 +5128,16 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group_4__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1920:1: rule__SubSystemMapping__Group_4__2 : rule__SubSystemMapping__Group_4__2__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1764:1: rule__SubSystemMapping__Group_4__2 : rule__SubSystemMapping__Group_4__2__Impl ;
     public final void rule__SubSystemMapping__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1924:1: ( rule__SubSystemMapping__Group_4__2__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1925:2: rule__SubSystemMapping__Group_4__2__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1768:1: ( rule__SubSystemMapping__Group_4__2__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1769:2: rule__SubSystemMapping__Group_4__2__Impl
             {
-            pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__2__Impl_in_rule__SubSystemMapping__Group_4__23920);
+            pushFollow(FOLLOW_rule__SubSystemMapping__Group_4__2__Impl_in_rule__SubSystemMapping__Group_4__23612);
             rule__SubSystemMapping__Group_4__2__Impl();
 
             state._fsp--;
@@ -5397,20 +5161,20 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__Group_4__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1931:1: rule__SubSystemMapping__Group_4__2__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1775:1: rule__SubSystemMapping__Group_4__2__Impl : ( '}' ) ;
     public final void rule__SubSystemMapping__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1935:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1936:1: ( '}' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1779:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1780:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1936:1: ( '}' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1937:1: '}'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1780:1: ( '}' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1781:1: '}'
             {
              before(grammarAccess.getSubSystemMappingAccess().getRightCurlyBracketKeyword_4_2()); 
-            match(input,24,FOLLOW_24_in_rule__SubSystemMapping__Group_4__2__Impl3948); 
+            match(input,25,FOLLOW_25_in_rule__SubSystemMapping__Group_4__2__Impl3640); 
              after(grammarAccess.getSubSystemMappingAccess().getRightCurlyBracketKeyword_4_2()); 
 
             }
@@ -5434,21 +5198,21 @@
 
 
     // $ANTLR start "rule__ThreadMapping__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1956:1: rule__ThreadMapping__Group__0 : rule__ThreadMapping__Group__0__Impl rule__ThreadMapping__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1800:1: rule__ThreadMapping__Group__0 : rule__ThreadMapping__Group__0__Impl rule__ThreadMapping__Group__1 ;
     public final void rule__ThreadMapping__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1960:1: ( rule__ThreadMapping__Group__0__Impl rule__ThreadMapping__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1961:2: rule__ThreadMapping__Group__0__Impl rule__ThreadMapping__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1804:1: ( rule__ThreadMapping__Group__0__Impl rule__ThreadMapping__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1805:2: rule__ThreadMapping__Group__0__Impl rule__ThreadMapping__Group__1
             {
-            pushFollow(FOLLOW_rule__ThreadMapping__Group__0__Impl_in_rule__ThreadMapping__Group__03985);
+            pushFollow(FOLLOW_rule__ThreadMapping__Group__0__Impl_in_rule__ThreadMapping__Group__03677);
             rule__ThreadMapping__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ThreadMapping__Group__1_in_rule__ThreadMapping__Group__03988);
+            pushFollow(FOLLOW_rule__ThreadMapping__Group__1_in_rule__ThreadMapping__Group__03680);
             rule__ThreadMapping__Group__1();
 
             state._fsp--;
@@ -5472,20 +5236,20 @@
 
 
     // $ANTLR start "rule__ThreadMapping__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1968:1: rule__ThreadMapping__Group__0__Impl : ( 'ThreadMapping' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1812:1: rule__ThreadMapping__Group__0__Impl : ( 'ThreadMapping' ) ;
     public final void rule__ThreadMapping__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1972:1: ( ( 'ThreadMapping' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1973:1: ( 'ThreadMapping' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1816:1: ( ( 'ThreadMapping' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1817:1: ( 'ThreadMapping' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1973:1: ( 'ThreadMapping' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1974:1: 'ThreadMapping'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1817:1: ( 'ThreadMapping' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1818:1: 'ThreadMapping'
             {
              before(grammarAccess.getThreadMappingAccess().getThreadMappingKeyword_0()); 
-            match(input,28,FOLLOW_28_in_rule__ThreadMapping__Group__0__Impl4016); 
+            match(input,29,FOLLOW_29_in_rule__ThreadMapping__Group__0__Impl3708); 
              after(grammarAccess.getThreadMappingAccess().getThreadMappingKeyword_0()); 
 
             }
@@ -5509,21 +5273,21 @@
 
 
     // $ANTLR start "rule__ThreadMapping__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1987:1: rule__ThreadMapping__Group__1 : rule__ThreadMapping__Group__1__Impl rule__ThreadMapping__Group__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1831:1: rule__ThreadMapping__Group__1 : rule__ThreadMapping__Group__1__Impl rule__ThreadMapping__Group__2 ;
     public final void rule__ThreadMapping__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1991:1: ( rule__ThreadMapping__Group__1__Impl rule__ThreadMapping__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1992:2: rule__ThreadMapping__Group__1__Impl rule__ThreadMapping__Group__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1835:1: ( rule__ThreadMapping__Group__1__Impl rule__ThreadMapping__Group__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1836:2: rule__ThreadMapping__Group__1__Impl rule__ThreadMapping__Group__2
             {
-            pushFollow(FOLLOW_rule__ThreadMapping__Group__1__Impl_in_rule__ThreadMapping__Group__14047);
+            pushFollow(FOLLOW_rule__ThreadMapping__Group__1__Impl_in_rule__ThreadMapping__Group__13739);
             rule__ThreadMapping__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ThreadMapping__Group__2_in_rule__ThreadMapping__Group__14050);
+            pushFollow(FOLLOW_rule__ThreadMapping__Group__2_in_rule__ThreadMapping__Group__13742);
             rule__ThreadMapping__Group__2();
 
             state._fsp--;
@@ -5547,23 +5311,23 @@
 
 
     // $ANTLR start "rule__ThreadMapping__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1999:1: rule__ThreadMapping__Group__1__Impl : ( ( rule__ThreadMapping__LogicalThreadAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1843:1: rule__ThreadMapping__Group__1__Impl : ( ( rule__ThreadMapping__LogicalThreadAssignment_1 ) ) ;
     public final void rule__ThreadMapping__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2003:1: ( ( ( rule__ThreadMapping__LogicalThreadAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2004:1: ( ( rule__ThreadMapping__LogicalThreadAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1847:1: ( ( ( rule__ThreadMapping__LogicalThreadAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1848:1: ( ( rule__ThreadMapping__LogicalThreadAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2004:1: ( ( rule__ThreadMapping__LogicalThreadAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2005:1: ( rule__ThreadMapping__LogicalThreadAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1848:1: ( ( rule__ThreadMapping__LogicalThreadAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1849:1: ( rule__ThreadMapping__LogicalThreadAssignment_1 )
             {
              before(grammarAccess.getThreadMappingAccess().getLogicalThreadAssignment_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2006:1: ( rule__ThreadMapping__LogicalThreadAssignment_1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2006:2: rule__ThreadMapping__LogicalThreadAssignment_1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1850:1: ( rule__ThreadMapping__LogicalThreadAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1850:2: rule__ThreadMapping__LogicalThreadAssignment_1
             {
-            pushFollow(FOLLOW_rule__ThreadMapping__LogicalThreadAssignment_1_in_rule__ThreadMapping__Group__1__Impl4077);
+            pushFollow(FOLLOW_rule__ThreadMapping__LogicalThreadAssignment_1_in_rule__ThreadMapping__Group__1__Impl3769);
             rule__ThreadMapping__LogicalThreadAssignment_1();
 
             state._fsp--;
@@ -5594,21 +5358,21 @@
 
 
     // $ANTLR start "rule__ThreadMapping__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2016:1: rule__ThreadMapping__Group__2 : rule__ThreadMapping__Group__2__Impl rule__ThreadMapping__Group__3 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1860:1: rule__ThreadMapping__Group__2 : rule__ThreadMapping__Group__2__Impl rule__ThreadMapping__Group__3 ;
     public final void rule__ThreadMapping__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2020:1: ( rule__ThreadMapping__Group__2__Impl rule__ThreadMapping__Group__3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2021:2: rule__ThreadMapping__Group__2__Impl rule__ThreadMapping__Group__3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1864:1: ( rule__ThreadMapping__Group__2__Impl rule__ThreadMapping__Group__3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1865:2: rule__ThreadMapping__Group__2__Impl rule__ThreadMapping__Group__3
             {
-            pushFollow(FOLLOW_rule__ThreadMapping__Group__2__Impl_in_rule__ThreadMapping__Group__24107);
+            pushFollow(FOLLOW_rule__ThreadMapping__Group__2__Impl_in_rule__ThreadMapping__Group__23799);
             rule__ThreadMapping__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ThreadMapping__Group__3_in_rule__ThreadMapping__Group__24110);
+            pushFollow(FOLLOW_rule__ThreadMapping__Group__3_in_rule__ThreadMapping__Group__23802);
             rule__ThreadMapping__Group__3();
 
             state._fsp--;
@@ -5632,20 +5396,20 @@
 
 
     // $ANTLR start "rule__ThreadMapping__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2028:1: rule__ThreadMapping__Group__2__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1872:1: rule__ThreadMapping__Group__2__Impl : ( '->' ) ;
     public final void rule__ThreadMapping__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2032:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2033:1: ( '->' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1876:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1877:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2033:1: ( '->' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2034:1: '->'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1877:1: ( '->' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1878:1: '->'
             {
              before(grammarAccess.getThreadMappingAccess().getHyphenMinusGreaterThanSignKeyword_2()); 
-            match(input,26,FOLLOW_26_in_rule__ThreadMapping__Group__2__Impl4138); 
+            match(input,27,FOLLOW_27_in_rule__ThreadMapping__Group__2__Impl3830); 
              after(grammarAccess.getThreadMappingAccess().getHyphenMinusGreaterThanSignKeyword_2()); 
 
             }
@@ -5669,16 +5433,16 @@
 
 
     // $ANTLR start "rule__ThreadMapping__Group__3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2047:1: rule__ThreadMapping__Group__3 : rule__ThreadMapping__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1891:1: rule__ThreadMapping__Group__3 : rule__ThreadMapping__Group__3__Impl ;
     public final void rule__ThreadMapping__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2051:1: ( rule__ThreadMapping__Group__3__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2052:2: rule__ThreadMapping__Group__3__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1895:1: ( rule__ThreadMapping__Group__3__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1896:2: rule__ThreadMapping__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__ThreadMapping__Group__3__Impl_in_rule__ThreadMapping__Group__34169);
+            pushFollow(FOLLOW_rule__ThreadMapping__Group__3__Impl_in_rule__ThreadMapping__Group__33861);
             rule__ThreadMapping__Group__3__Impl();
 
             state._fsp--;
@@ -5702,23 +5466,23 @@
 
 
     // $ANTLR start "rule__ThreadMapping__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2058:1: rule__ThreadMapping__Group__3__Impl : ( ( rule__ThreadMapping__PhysicalThreadAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1902:1: rule__ThreadMapping__Group__3__Impl : ( ( rule__ThreadMapping__PhysicalThreadAssignment_3 ) ) ;
     public final void rule__ThreadMapping__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2062:1: ( ( ( rule__ThreadMapping__PhysicalThreadAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2063:1: ( ( rule__ThreadMapping__PhysicalThreadAssignment_3 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1906:1: ( ( ( rule__ThreadMapping__PhysicalThreadAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1907:1: ( ( rule__ThreadMapping__PhysicalThreadAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2063:1: ( ( rule__ThreadMapping__PhysicalThreadAssignment_3 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2064:1: ( rule__ThreadMapping__PhysicalThreadAssignment_3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1907:1: ( ( rule__ThreadMapping__PhysicalThreadAssignment_3 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1908:1: ( rule__ThreadMapping__PhysicalThreadAssignment_3 )
             {
              before(grammarAccess.getThreadMappingAccess().getPhysicalThreadAssignment_3()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2065:1: ( rule__ThreadMapping__PhysicalThreadAssignment_3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2065:2: rule__ThreadMapping__PhysicalThreadAssignment_3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1909:1: ( rule__ThreadMapping__PhysicalThreadAssignment_3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1909:2: rule__ThreadMapping__PhysicalThreadAssignment_3
             {
-            pushFollow(FOLLOW_rule__ThreadMapping__PhysicalThreadAssignment_3_in_rule__ThreadMapping__Group__3__Impl4196);
+            pushFollow(FOLLOW_rule__ThreadMapping__PhysicalThreadAssignment_3_in_rule__ThreadMapping__Group__3__Impl3888);
             rule__ThreadMapping__PhysicalThreadAssignment_3();
 
             state._fsp--;
@@ -5749,21 +5513,21 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2086:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1930:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
     public final void rule__KeyValue__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2090:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2091:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1934:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1935:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__04237);
+            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__03929);
             rule__KeyValue__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__04240);
+            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__03932);
             rule__KeyValue__Group__1();
 
             state._fsp--;
@@ -5787,23 +5551,23 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2098:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1942:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
     public final void rule__KeyValue__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2102:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2103:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1946:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1947:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2103:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2104:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1947:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1948:1: ( rule__KeyValue__KeyAssignment_0 )
             {
              before(grammarAccess.getKeyValueAccess().getKeyAssignment_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2105:1: ( rule__KeyValue__KeyAssignment_0 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2105:2: rule__KeyValue__KeyAssignment_0
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1949:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1949:2: rule__KeyValue__KeyAssignment_0
             {
-            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl4267);
+            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl3959);
             rule__KeyValue__KeyAssignment_0();
 
             state._fsp--;
@@ -5834,21 +5598,21 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2115:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1959:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
     public final void rule__KeyValue__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2119:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2120:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1963:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1964:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__14297);
+            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__13989);
             rule__KeyValue__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__14300);
+            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__13992);
             rule__KeyValue__Group__2();
 
             state._fsp--;
@@ -5872,20 +5636,20 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2127:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1971:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
     public final void rule__KeyValue__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2131:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2132:1: ( '=' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1975:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1976:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2132:1: ( '=' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2133:1: '='
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1976:1: ( '=' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1977:1: '='
             {
              before(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
-            match(input,29,FOLLOW_29_in_rule__KeyValue__Group__1__Impl4328); 
+            match(input,30,FOLLOW_30_in_rule__KeyValue__Group__1__Impl4020); 
              after(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
 
             }
@@ -5909,16 +5673,16 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2146:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1990:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
     public final void rule__KeyValue__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2150:1: ( rule__KeyValue__Group__2__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2151:2: rule__KeyValue__Group__2__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1994:1: ( rule__KeyValue__Group__2__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:1995:2: rule__KeyValue__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__24359);
+            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__24051);
             rule__KeyValue__Group__2__Impl();
 
             state._fsp--;
@@ -5942,23 +5706,23 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2157:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2001:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
     public final void rule__KeyValue__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2161:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2162:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2005:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2006:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2162:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2163:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2006:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2007:1: ( rule__KeyValue__ValueAssignment_2 )
             {
              before(grammarAccess.getKeyValueAccess().getValueAssignment_2()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2164:1: ( rule__KeyValue__ValueAssignment_2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2164:2: rule__KeyValue__ValueAssignment_2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2008:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2008:2: rule__KeyValue__ValueAssignment_2
             {
-            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl4386);
+            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl4078);
             rule__KeyValue__ValueAssignment_2();
 
             state._fsp--;
@@ -5989,21 +5753,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2183:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2027:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
     public final void rule__SimpleAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2187:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2188:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2031:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2032:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__04425);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__04117);
             rule__SimpleAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__04428);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__04120);
             rule__SimpleAnnotationAttribute__Group__1();
 
             state._fsp--;
@@ -6027,23 +5791,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2195:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2039:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2199:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2200:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2043:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2044:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2200:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2201:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2044:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2045:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2202:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2202:2: rule__SimpleAnnotationAttribute__Alternatives_0
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2046:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2046:2: rule__SimpleAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl4455);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl4147);
             rule__SimpleAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
@@ -6074,21 +5838,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2212:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2056:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
     public final void rule__SimpleAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2216:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2217:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2060:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2061:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__14485);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__14177);
             rule__SimpleAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__14488);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__14180);
             rule__SimpleAnnotationAttribute__Group__2();
 
             state._fsp--;
@@ -6112,20 +5876,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2224:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2068:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2228:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2229:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2072:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2073:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2229:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2230:1: 'attribute'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2073:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2074:1: 'attribute'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
-            match(input,30,FOLLOW_30_in_rule__SimpleAnnotationAttribute__Group__1__Impl4516); 
+            match(input,31,FOLLOW_31_in_rule__SimpleAnnotationAttribute__Group__1__Impl4208); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
 
             }
@@ -6149,21 +5913,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2243:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2087:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
     public final void rule__SimpleAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2247:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2248:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2091:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2092:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__24547);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__24239);
             rule__SimpleAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__24550);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__24242);
             rule__SimpleAnnotationAttribute__Group__3();
 
             state._fsp--;
@@ -6187,23 +5951,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2255:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2099:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2259:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2260:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2103:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2104:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2260:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2261:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2104:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2105:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2262:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2262:2: rule__SimpleAnnotationAttribute__NameAssignment_2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2106:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2106:2: rule__SimpleAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl4577);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl4269);
             rule__SimpleAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
@@ -6234,21 +5998,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2272:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2116:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
     public final void rule__SimpleAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2276:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2277:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2120:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2121:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__34607);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__34299);
             rule__SimpleAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__34610);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__34302);
             rule__SimpleAnnotationAttribute__Group__4();
 
             state._fsp--;
@@ -6272,20 +6036,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2284:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2128:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2288:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2289:1: ( ':' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2132:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2133:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2289:1: ( ':' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2290:1: ':'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2133:1: ( ':' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2134:1: ':'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
-            match(input,31,FOLLOW_31_in_rule__SimpleAnnotationAttribute__Group__3__Impl4638); 
+            match(input,32,FOLLOW_32_in_rule__SimpleAnnotationAttribute__Group__3__Impl4330); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
 
             }
@@ -6309,16 +6073,16 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2303:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2147:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
     public final void rule__SimpleAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2307:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2308:2: rule__SimpleAnnotationAttribute__Group__4__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2151:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2152:2: rule__SimpleAnnotationAttribute__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__44669);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__44361);
             rule__SimpleAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
@@ -6342,23 +6106,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2314:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2158:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2318:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2319:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2162:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2163:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2319:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2320:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2163:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2164:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeAssignment_4()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2321:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2321:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2165:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2165:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl4696);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl4388);
             rule__SimpleAnnotationAttribute__TypeAssignment_4();
 
             state._fsp--;
@@ -6389,21 +6153,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2341:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2185:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
     public final void rule__EnumAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2345:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2346:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2189:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2190:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__04736);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__04428);
             rule__EnumAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__04739);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__04431);
             rule__EnumAnnotationAttribute__Group__1();
 
             state._fsp--;
@@ -6427,23 +6191,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2353:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2197:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2357:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2358:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2201:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2202:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2358:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2359:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2202:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2203:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2360:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2360:2: rule__EnumAnnotationAttribute__Alternatives_0
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2204:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2204:2: rule__EnumAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl4766);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl4458);
             rule__EnumAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
@@ -6474,21 +6238,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2370:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2214:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
     public final void rule__EnumAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2374:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2375:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2218:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2219:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__14796);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__14488);
             rule__EnumAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__14799);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__14491);
             rule__EnumAnnotationAttribute__Group__2();
 
             state._fsp--;
@@ -6512,20 +6276,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2382:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2226:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__EnumAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2386:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2387:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2230:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2231:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2387:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2388:1: 'attribute'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2231:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2232:1: 'attribute'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
-            match(input,30,FOLLOW_30_in_rule__EnumAnnotationAttribute__Group__1__Impl4827); 
+            match(input,31,FOLLOW_31_in_rule__EnumAnnotationAttribute__Group__1__Impl4519); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
 
             }
@@ -6549,21 +6313,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2401:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2245:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
     public final void rule__EnumAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2405:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2406:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2249:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2250:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__24858);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__24550);
             rule__EnumAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__24861);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__24553);
             rule__EnumAnnotationAttribute__Group__3();
 
             state._fsp--;
@@ -6587,23 +6351,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2413:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2257:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2417:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2418:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2261:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2262:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2418:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2419:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2262:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2263:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2420:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2420:2: rule__EnumAnnotationAttribute__NameAssignment_2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2264:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2264:2: rule__EnumAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl4888);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl4580);
             rule__EnumAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
@@ -6634,21 +6398,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2430:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2274:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
     public final void rule__EnumAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2434:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2435:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2278:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2279:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__34918);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__34610);
             rule__EnumAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__34921);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__34613);
             rule__EnumAnnotationAttribute__Group__4();
 
             state._fsp--;
@@ -6672,20 +6436,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2442:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2286:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__EnumAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2446:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2447:1: ( ':' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2290:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2291:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2447:1: ( ':' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2448:1: ':'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2291:1: ( ':' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2292:1: ':'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
-            match(input,31,FOLLOW_31_in_rule__EnumAnnotationAttribute__Group__3__Impl4949); 
+            match(input,32,FOLLOW_32_in_rule__EnumAnnotationAttribute__Group__3__Impl4641); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
 
             }
@@ -6709,21 +6473,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2461:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2305:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
     public final void rule__EnumAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2465:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2466:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2309:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2310:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__44980);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__44672);
             rule__EnumAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__44983);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__44675);
             rule__EnumAnnotationAttribute__Group__5();
 
             state._fsp--;
@@ -6747,20 +6511,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2473:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2317:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
     public final void rule__EnumAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2477:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2478:1: ( '{' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2321:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2322:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2478:1: ( '{' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2479:1: '{'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2322:1: ( '{' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2323:1: '{'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
-            match(input,23,FOLLOW_23_in_rule__EnumAnnotationAttribute__Group__4__Impl5011); 
+            match(input,24,FOLLOW_24_in_rule__EnumAnnotationAttribute__Group__4__Impl4703); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
 
             }
@@ -6784,21 +6548,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2492:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2336:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
     public final void rule__EnumAnnotationAttribute__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2496:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2497:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2340:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2341:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__55042);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__54734);
             rule__EnumAnnotationAttribute__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__55045);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__54737);
             rule__EnumAnnotationAttribute__Group__6();
 
             state._fsp--;
@@ -6822,23 +6586,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2504:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2348:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2508:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2509:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2352:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2353:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2509:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2510:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2353:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2354:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_5()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2511:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2511:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2355:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2355:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl5072);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl4764);
             rule__EnumAnnotationAttribute__ValuesAssignment_5();
 
             state._fsp--;
@@ -6869,21 +6633,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2521:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2365:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
     public final void rule__EnumAnnotationAttribute__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2525:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2526:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2369:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2370:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__65102);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__64794);
             rule__EnumAnnotationAttribute__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__65105);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__64797);
             rule__EnumAnnotationAttribute__Group__7();
 
             state._fsp--;
@@ -6907,35 +6671,35 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2533:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2377:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
     public final void rule__EnumAnnotationAttribute__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2537:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2538:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2381:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2382:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2538:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2539:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2382:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2383:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getGroup_6()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2540:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2384:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
             loop21:
             do {
                 int alt21=2;
                 int LA21_0 = input.LA(1);
 
-                if ( (LA21_0==32) ) {
+                if ( (LA21_0==33) ) {
                     alt21=1;
                 }
 
 
                 switch (alt21) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2540:2: rule__EnumAnnotationAttribute__Group_6__0
+            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2384:2: rule__EnumAnnotationAttribute__Group_6__0
             	    {
-            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl5132);
+            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl4824);
             	    rule__EnumAnnotationAttribute__Group_6__0();
 
             	    state._fsp--;
@@ -6972,16 +6736,16 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2550:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2394:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
     public final void rule__EnumAnnotationAttribute__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2554:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2555:2: rule__EnumAnnotationAttribute__Group__7__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2398:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2399:2: rule__EnumAnnotationAttribute__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__75163);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__74855);
             rule__EnumAnnotationAttribute__Group__7__Impl();
 
             state._fsp--;
@@ -7005,20 +6769,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2561:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2405:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
     public final void rule__EnumAnnotationAttribute__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2565:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2566:1: ( '}' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2409:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2410:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2566:1: ( '}' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2567:1: '}'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2410:1: ( '}' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2411:1: '}'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
-            match(input,24,FOLLOW_24_in_rule__EnumAnnotationAttribute__Group__7__Impl5191); 
+            match(input,25,FOLLOW_25_in_rule__EnumAnnotationAttribute__Group__7__Impl4883); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
 
             }
@@ -7042,21 +6806,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2596:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2440:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
     public final void rule__EnumAnnotationAttribute__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2600:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2601:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2444:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2445:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__05238);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__04930);
             rule__EnumAnnotationAttribute__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__05241);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__04933);
             rule__EnumAnnotationAttribute__Group_6__1();
 
             state._fsp--;
@@ -7080,20 +6844,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2608:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2452:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2612:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2613:1: ( ',' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2456:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2457:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2613:1: ( ',' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2614:1: ','
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2457:1: ( ',' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2458:1: ','
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
-            match(input,32,FOLLOW_32_in_rule__EnumAnnotationAttribute__Group_6__0__Impl5269); 
+            match(input,33,FOLLOW_33_in_rule__EnumAnnotationAttribute__Group_6__0__Impl4961); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
 
             }
@@ -7117,16 +6881,16 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2627:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2471:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
     public final void rule__EnumAnnotationAttribute__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2631:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2632:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2475:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2476:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__15300);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__14992);
             rule__EnumAnnotationAttribute__Group_6__1__Impl();
 
             state._fsp--;
@@ -7150,23 +6914,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2638:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2482:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2642:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2643:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2486:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2487:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2643:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2644:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2487:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2488:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_6_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2645:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2645:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2489:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2489:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl5327);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl5019);
             rule__EnumAnnotationAttribute__ValuesAssignment_6_1();
 
             state._fsp--;
@@ -7197,21 +6961,21 @@
 
 
     // $ANTLR start "rule__Import__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2659:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2503:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
     public final void rule__Import__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2663:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2664:2: rule__Import__Group__0__Impl rule__Import__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2507:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2508:2: rule__Import__Group__0__Impl rule__Import__Group__1
             {
-            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__05361);
+            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__05053);
             rule__Import__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__05364);
+            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__05056);
             rule__Import__Group__1();
 
             state._fsp--;
@@ -7235,20 +6999,20 @@
 
 
     // $ANTLR start "rule__Import__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2671:1: rule__Import__Group__0__Impl : ( 'import' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2515:1: rule__Import__Group__0__Impl : ( 'import' ) ;
     public final void rule__Import__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2675:1: ( ( 'import' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2676:1: ( 'import' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2519:1: ( ( 'import' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2520:1: ( 'import' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2676:1: ( 'import' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2677:1: 'import'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2520:1: ( 'import' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2521:1: 'import'
             {
              before(grammarAccess.getImportAccess().getImportKeyword_0()); 
-            match(input,33,FOLLOW_33_in_rule__Import__Group__0__Impl5392); 
+            match(input,34,FOLLOW_34_in_rule__Import__Group__0__Impl5084); 
              after(grammarAccess.getImportAccess().getImportKeyword_0()); 
 
             }
@@ -7272,21 +7036,21 @@
 
 
     // $ANTLR start "rule__Import__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2690:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2534:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ;
     public final void rule__Import__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2694:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2695:2: rule__Import__Group__1__Impl rule__Import__Group__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2538:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2539:2: rule__Import__Group__1__Impl rule__Import__Group__2
             {
-            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__15423);
+            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__15115);
             rule__Import__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__15426);
+            pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__15118);
             rule__Import__Group__2();
 
             state._fsp--;
@@ -7310,23 +7074,23 @@
 
 
     // $ANTLR start "rule__Import__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2702:1: rule__Import__Group__1__Impl : ( ( rule__Import__Alternatives_1 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2546:1: rule__Import__Group__1__Impl : ( ( rule__Import__Alternatives_1 ) ) ;
     public final void rule__Import__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2706:1: ( ( ( rule__Import__Alternatives_1 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2707:1: ( ( rule__Import__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2550:1: ( ( ( rule__Import__Alternatives_1 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2551:1: ( ( rule__Import__Alternatives_1 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2707:1: ( ( rule__Import__Alternatives_1 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2708:1: ( rule__Import__Alternatives_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2551:1: ( ( rule__Import__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2552:1: ( rule__Import__Alternatives_1 )
             {
              before(grammarAccess.getImportAccess().getAlternatives_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2709:1: ( rule__Import__Alternatives_1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2709:2: rule__Import__Alternatives_1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2553:1: ( rule__Import__Alternatives_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2553:2: rule__Import__Alternatives_1
             {
-            pushFollow(FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl5453);
+            pushFollow(FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl5145);
             rule__Import__Alternatives_1();
 
             state._fsp--;
@@ -7357,16 +7121,16 @@
 
 
     // $ANTLR start "rule__Import__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2719:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2563:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ;
     public final void rule__Import__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2723:1: ( rule__Import__Group__2__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2724:2: rule__Import__Group__2__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2567:1: ( rule__Import__Group__2__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2568:2: rule__Import__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__25483);
+            pushFollow(FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__25175);
             rule__Import__Group__2__Impl();
 
             state._fsp--;
@@ -7390,23 +7154,23 @@
 
 
     // $ANTLR start "rule__Import__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2730:1: rule__Import__Group__2__Impl : ( ( rule__Import__ImportURIAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2574:1: rule__Import__Group__2__Impl : ( ( rule__Import__ImportURIAssignment_2 ) ) ;
     public final void rule__Import__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2734:1: ( ( ( rule__Import__ImportURIAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2735:1: ( ( rule__Import__ImportURIAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2578:1: ( ( ( rule__Import__ImportURIAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2579:1: ( ( rule__Import__ImportURIAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2735:1: ( ( rule__Import__ImportURIAssignment_2 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2736:1: ( rule__Import__ImportURIAssignment_2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2579:1: ( ( rule__Import__ImportURIAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2580:1: ( rule__Import__ImportURIAssignment_2 )
             {
              before(grammarAccess.getImportAccess().getImportURIAssignment_2()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2737:1: ( rule__Import__ImportURIAssignment_2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2737:2: rule__Import__ImportURIAssignment_2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2581:1: ( rule__Import__ImportURIAssignment_2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2581:2: rule__Import__ImportURIAssignment_2
             {
-            pushFollow(FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl5510);
+            pushFollow(FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl5202);
             rule__Import__ImportURIAssignment_2();
 
             state._fsp--;
@@ -7437,21 +7201,21 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2753:1: rule__Import__Group_1_0__0 : rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2597:1: rule__Import__Group_1_0__0 : rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 ;
     public final void rule__Import__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2757:1: ( rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2758:2: rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2601:1: ( rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2602:2: rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1
             {
-            pushFollow(FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__05546);
+            pushFollow(FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__05238);
             rule__Import__Group_1_0__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__05549);
+            pushFollow(FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__05241);
             rule__Import__Group_1_0__1();
 
             state._fsp--;
@@ -7475,23 +7239,23 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2765:1: rule__Import__Group_1_0__0__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2609:1: rule__Import__Group_1_0__0__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) ;
     public final void rule__Import__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2769:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2770:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2613:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2614:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2770:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2771:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2614:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2615:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
             {
              before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1_0_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2772:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2772:2: rule__Import__ImportedNamespaceAssignment_1_0_0
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2616:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2616:2: rule__Import__ImportedNamespaceAssignment_1_0_0
             {
-            pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl5576);
+            pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl5268);
             rule__Import__ImportedNamespaceAssignment_1_0_0();
 
             state._fsp--;
@@ -7522,16 +7286,16 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2782:1: rule__Import__Group_1_0__1 : rule__Import__Group_1_0__1__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2626:1: rule__Import__Group_1_0__1 : rule__Import__Group_1_0__1__Impl ;
     public final void rule__Import__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2786:1: ( rule__Import__Group_1_0__1__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2787:2: rule__Import__Group_1_0__1__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2630:1: ( rule__Import__Group_1_0__1__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2631:2: rule__Import__Group_1_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__15606);
+            pushFollow(FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__15298);
             rule__Import__Group_1_0__1__Impl();
 
             state._fsp--;
@@ -7555,20 +7319,20 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2793:1: rule__Import__Group_1_0__1__Impl : ( 'from' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2637:1: rule__Import__Group_1_0__1__Impl : ( 'from' ) ;
     public final void rule__Import__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2797:1: ( ( 'from' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2798:1: ( 'from' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2641:1: ( ( 'from' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2642:1: ( 'from' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2798:1: ( 'from' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2799:1: 'from'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2642:1: ( 'from' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2643:1: 'from'
             {
              before(grammarAccess.getImportAccess().getFromKeyword_1_0_1()); 
-            match(input,34,FOLLOW_34_in_rule__Import__Group_1_0__1__Impl5634); 
+            match(input,35,FOLLOW_35_in_rule__Import__Group_1_0__1__Impl5326); 
              after(grammarAccess.getImportAccess().getFromKeyword_1_0_1()); 
 
             }
@@ -7592,21 +7356,21 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2816:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2660:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
     public final void rule__ImportedFQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2820:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2821:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2664:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2665:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__05669);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__05361);
             rule__ImportedFQN__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__05672);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__05364);
             rule__ImportedFQN__Group__1();
 
             state._fsp--;
@@ -7630,20 +7394,20 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2828:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2672:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
     public final void rule__ImportedFQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2832:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2833:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2676:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2677:1: ( ruleFQN )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2833:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2834:1: ruleFQN
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2677:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2678:1: ruleFQN
             {
              before(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl5699);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl5391);
             ruleFQN();
 
             state._fsp--;
@@ -7671,16 +7435,16 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2845:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2689:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
     public final void rule__ImportedFQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2849:1: ( rule__ImportedFQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2850:2: rule__ImportedFQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2693:1: ( rule__ImportedFQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2694:2: rule__ImportedFQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__15728);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__15420);
             rule__ImportedFQN__Group__1__Impl();
 
             state._fsp--;
@@ -7704,31 +7468,31 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2856:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2700:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
     public final void rule__ImportedFQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2860:1: ( ( ( '.*' )? ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2861:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2704:1: ( ( ( '.*' )? ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2705:1: ( ( '.*' )? )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2861:1: ( ( '.*' )? )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2862:1: ( '.*' )?
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2705:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2706:1: ( '.*' )?
             {
              before(grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2863:1: ( '.*' )?
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2707:1: ( '.*' )?
             int alt22=2;
             int LA22_0 = input.LA(1);
 
-            if ( (LA22_0==35) ) {
+            if ( (LA22_0==36) ) {
                 alt22=1;
             }
             switch (alt22) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2864:2: '.*'
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2708:2: '.*'
                     {
-                    match(input,35,FOLLOW_35_in_rule__ImportedFQN__Group__1__Impl5757); 
+                    match(input,36,FOLLOW_36_in_rule__ImportedFQN__Group__1__Impl5449); 
 
                     }
                     break;
@@ -7758,21 +7522,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2879:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2723:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
     public final void rule__Documentation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2883:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2884:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2727:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2728:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__05794);
+            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__05486);
             rule__Documentation__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__05797);
+            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__05489);
             rule__Documentation__Group__1();
 
             state._fsp--;
@@ -7796,21 +7560,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2891:1: rule__Documentation__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2735:1: rule__Documentation__Group__0__Impl : ( () ) ;
     public final void rule__Documentation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2895:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2896:1: ( () )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2739:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2740:1: ( () )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2896:1: ( () )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2897:1: ()
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2740:1: ( () )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2741:1: ()
             {
              before(grammarAccess.getDocumentationAccess().getDocumentationAction_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2898:1: ()
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2900:1: 
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2742:1: ()
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2744:1: 
             {
             }
 
@@ -7833,21 +7597,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2910:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2754:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
     public final void rule__Documentation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2914:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2915:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2758:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2759:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__15855);
+            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__15547);
             rule__Documentation__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__15858);
+            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__15550);
             rule__Documentation__Group__2();
 
             state._fsp--;
@@ -7871,20 +7635,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2922:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2766:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
     public final void rule__Documentation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2926:1: ( ( '[' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2927:1: ( '[' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2770:1: ( ( '[' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2771:1: ( '[' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2927:1: ( '[' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2928:1: '['
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2771:1: ( '[' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2772:1: '['
             {
              before(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
-            match(input,36,FOLLOW_36_in_rule__Documentation__Group__1__Impl5886); 
+            match(input,37,FOLLOW_37_in_rule__Documentation__Group__1__Impl5578); 
              after(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
 
             }
@@ -7908,21 +7672,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2941:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2785:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
     public final void rule__Documentation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2945:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2946:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2789:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2790:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__25917);
+            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__25609);
             rule__Documentation__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__25920);
+            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__25612);
             rule__Documentation__Group__3();
 
             state._fsp--;
@@ -7946,20 +7710,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2953:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2797:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
     public final void rule__Documentation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2957:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2958:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2801:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2802:1: ( ( rule__Documentation__LinesAssignment_2 )* )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2958:1: ( ( rule__Documentation__LinesAssignment_2 )* )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2959:1: ( rule__Documentation__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2802:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2803:1: ( rule__Documentation__LinesAssignment_2 )*
             {
              before(grammarAccess.getDocumentationAccess().getLinesAssignment_2()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2960:1: ( rule__Documentation__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2804:1: ( rule__Documentation__LinesAssignment_2 )*
             loop23:
             do {
                 int alt23=2;
@@ -7972,9 +7736,9 @@
 
                 switch (alt23) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2960:2: rule__Documentation__LinesAssignment_2
+            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2804:2: rule__Documentation__LinesAssignment_2
             	    {
-            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl5947);
+            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl5639);
             	    rule__Documentation__LinesAssignment_2();
 
             	    state._fsp--;
@@ -8011,16 +7775,16 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2970:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2814:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
     public final void rule__Documentation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2974:1: ( rule__Documentation__Group__3__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2975:2: rule__Documentation__Group__3__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2818:1: ( rule__Documentation__Group__3__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2819:2: rule__Documentation__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__35978);
+            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__35670);
             rule__Documentation__Group__3__Impl();
 
             state._fsp--;
@@ -8044,20 +7808,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2981:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2825:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
     public final void rule__Documentation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2985:1: ( ( ']' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2986:1: ( ']' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2829:1: ( ( ']' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2830:1: ( ']' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2986:1: ( ']' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2987:1: ']'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2830:1: ( ']' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2831:1: ']'
             {
              before(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
-            match(input,37,FOLLOW_37_in_rule__Documentation__Group__3__Impl6006); 
+            match(input,38,FOLLOW_38_in_rule__Documentation__Group__3__Impl5698); 
              after(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
 
             }
@@ -8081,21 +7845,21 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3014:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2858:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
     public final void rule__BooleanLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3018:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3019:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2862:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2863:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__06051);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__05743);
             rule__BooleanLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__06054);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__05746);
             rule__BooleanLiteral__Group__1();
 
             state._fsp--;
@@ -8119,21 +7883,21 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3026:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2870:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
     public final void rule__BooleanLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3030:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3031:1: ( () )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2874:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2875:1: ( () )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3031:1: ( () )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3032:1: ()
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2875:1: ( () )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2876:1: ()
             {
              before(grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3033:1: ()
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3035:1: 
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2877:1: ()
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2879:1: 
             {
             }
 
@@ -8156,16 +7920,16 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3045:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2889:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
     public final void rule__BooleanLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3049:1: ( rule__BooleanLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3050:2: rule__BooleanLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2893:1: ( rule__BooleanLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2894:2: rule__BooleanLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__16112);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__15804);
             rule__BooleanLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -8189,23 +7953,23 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3056:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2900:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
     public final void rule__BooleanLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3060:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3061:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2904:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2905:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3061:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3062:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2905:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2906:1: ( rule__BooleanLiteral__Alternatives_1 )
             {
              before(grammarAccess.getBooleanLiteralAccess().getAlternatives_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3063:1: ( rule__BooleanLiteral__Alternatives_1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3063:2: rule__BooleanLiteral__Alternatives_1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2907:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2907:2: rule__BooleanLiteral__Alternatives_1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl6139);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl5831);
             rule__BooleanLiteral__Alternatives_1();
 
             state._fsp--;
@@ -8236,21 +8000,21 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3077:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2921:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
     public final void rule__RealLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3081:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3082:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2925:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2926:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__06173);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__05865);
             rule__RealLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__06176);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__05868);
             rule__RealLiteral__Group__1();
 
             state._fsp--;
@@ -8274,21 +8038,21 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3089:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2933:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
     public final void rule__RealLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3093:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3094:1: ( () )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2937:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2938:1: ( () )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3094:1: ( () )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3095:1: ()
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2938:1: ( () )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2939:1: ()
             {
              before(grammarAccess.getRealLiteralAccess().getRealLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3096:1: ()
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3098:1: 
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2940:1: ()
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2942:1: 
             {
             }
 
@@ -8311,16 +8075,16 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3108:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2952:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
     public final void rule__RealLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3112:1: ( rule__RealLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3113:2: rule__RealLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2956:1: ( rule__RealLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2957:2: rule__RealLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__16234);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__15926);
             rule__RealLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -8344,23 +8108,23 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3119:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2963:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
     public final void rule__RealLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3123:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3124:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2967:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2968:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3124:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3125:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2968:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2969:1: ( rule__RealLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getRealLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3126:1: ( rule__RealLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3126:2: rule__RealLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2970:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2970:2: rule__RealLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl6261);
+            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl5953);
             rule__RealLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -8391,21 +8155,21 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3140:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2984:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
     public final void rule__IntLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3144:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3145:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2988:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2989:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__06295);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__05987);
             rule__IntLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__06298);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__05990);
             rule__IntLiteral__Group__1();
 
             state._fsp--;
@@ -8429,21 +8193,21 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3152:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:2996:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
     public final void rule__IntLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3156:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3157:1: ( () )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3000:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3001:1: ( () )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3157:1: ( () )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3158:1: ()
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3001:1: ( () )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3002:1: ()
             {
              before(grammarAccess.getIntLiteralAccess().getIntLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3159:1: ()
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3161:1: 
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3003:1: ()
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3005:1: 
             {
             }
 
@@ -8466,16 +8230,16 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3171:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3015:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
     public final void rule__IntLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3175:1: ( rule__IntLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3176:2: rule__IntLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3019:1: ( rule__IntLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3020:2: rule__IntLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__16356);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__16048);
             rule__IntLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -8499,23 +8263,23 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3182:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3026:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
     public final void rule__IntLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3186:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3187:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3030:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3031:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3187:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3188:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3031:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3032:1: ( rule__IntLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getIntLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3189:1: ( rule__IntLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3189:2: rule__IntLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3033:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3033:2: rule__IntLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl6383);
+            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl6075);
             rule__IntLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -8546,21 +8310,21 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3203:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3047:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
     public final void rule__StringLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3207:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3208:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3051:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3052:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__06417);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__06109);
             rule__StringLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__06420);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__06112);
             rule__StringLiteral__Group__1();
 
             state._fsp--;
@@ -8584,21 +8348,21 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3215:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3059:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
     public final void rule__StringLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3219:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3220:1: ( () )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3063:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3064:1: ( () )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3220:1: ( () )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3221:1: ()
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3064:1: ( () )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3065:1: ()
             {
              before(grammarAccess.getStringLiteralAccess().getStringLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3222:1: ()
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3224:1: 
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3066:1: ()
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3068:1: 
             {
             }
 
@@ -8621,16 +8385,16 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3234:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3078:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
     public final void rule__StringLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3238:1: ( rule__StringLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3239:2: rule__StringLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3082:1: ( rule__StringLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3083:2: rule__StringLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__16478);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__16170);
             rule__StringLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -8654,23 +8418,23 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3245:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3089:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
     public final void rule__StringLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3249:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3250:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3093:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3094:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3250:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3251:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3094:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3095:1: ( rule__StringLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getStringLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3252:1: ( rule__StringLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3252:2: rule__StringLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3096:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3096:2: rule__StringLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl6505);
+            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl6197);
             rule__StringLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -8700,23 +8464,23 @@
     // $ANTLR end "rule__StringLiteral__Group__1__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3266:1: rule__SignedInteger__Group__0 : rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 ;
-    public final void rule__SignedInteger__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3110:1: rule__Integer__Group_0__0 : rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 ;
+    public final void rule__Integer__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3270:1: ( rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3271:2: rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3114:1: ( rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3115:2: rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__06539);
-            rule__SignedInteger__Group__0__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__06231);
+            rule__Integer__Group_0__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__06542);
-            rule__SignedInteger__Group__1();
+            pushFollow(FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__06234);
+            rule__Integer__Group_0__1();
 
             state._fsp--;
 
@@ -8735,36 +8499,36 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0"
+    // $ANTLR end "rule__Integer__Group_0__0"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3278:1: rule__SignedInteger__Group__0__Impl : ( ( rule__SignedInteger__Alternatives_0 )? ) ;
-    public final void rule__SignedInteger__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0__Impl"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3122:1: rule__Integer__Group_0__0__Impl : ( ( rule__Integer__Alternatives_0_0 )? ) ;
+    public final void rule__Integer__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3282:1: ( ( ( rule__SignedInteger__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3283:1: ( ( rule__SignedInteger__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3126:1: ( ( ( rule__Integer__Alternatives_0_0 )? ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3127:1: ( ( rule__Integer__Alternatives_0_0 )? )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3283:1: ( ( rule__SignedInteger__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3284:1: ( rule__SignedInteger__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3127:1: ( ( rule__Integer__Alternatives_0_0 )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3128:1: ( rule__Integer__Alternatives_0_0 )?
             {
-             before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3285:1: ( rule__SignedInteger__Alternatives_0 )?
+             before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3129:1: ( rule__Integer__Alternatives_0_0 )?
             int alt24=2;
             int LA24_0 = input.LA(1);
 
-            if ( ((LA24_0>=16 && LA24_0<=17)) ) {
+            if ( ((LA24_0>=15 && LA24_0<=16)) ) {
                 alt24=1;
             }
             switch (alt24) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3285:2: rule__SignedInteger__Alternatives_0
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3129:2: rule__Integer__Alternatives_0_0
                     {
-                    pushFollow(FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl6569);
-                    rule__SignedInteger__Alternatives_0();
+                    pushFollow(FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl6261);
+                    rule__Integer__Alternatives_0_0();
 
                     state._fsp--;
 
@@ -8774,7 +8538,7 @@
 
             }
 
-             after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
+             after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
 
             }
 
@@ -8793,21 +8557,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0__Impl"
+    // $ANTLR end "rule__Integer__Group_0__0__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3295:1: rule__SignedInteger__Group__1 : rule__SignedInteger__Group__1__Impl ;
-    public final void rule__SignedInteger__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3139:1: rule__Integer__Group_0__1 : rule__Integer__Group_0__1__Impl ;
+    public final void rule__Integer__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3299:1: ( rule__SignedInteger__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3300:2: rule__SignedInteger__Group__1__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3143:1: ( rule__Integer__Group_0__1__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3144:2: rule__Integer__Group_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__16600);
-            rule__SignedInteger__Group__1__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__16292);
+            rule__Integer__Group_0__1__Impl();
 
             state._fsp--;
 
@@ -8826,25 +8590,25 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1"
+    // $ANTLR end "rule__Integer__Group_0__1"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3306:1: rule__SignedInteger__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__SignedInteger__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1__Impl"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3150:1: rule__Integer__Group_0__1__Impl : ( RULE_INT ) ;
+    public final void rule__Integer__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3310:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3311:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3154:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3155:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3311:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3312:1: RULE_INT
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3155:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3156:1: RULE_INT
             {
-             before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl6627); 
-             after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+             before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl6319); 
+             after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
 
             }
 
@@ -8863,25 +8627,25 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1__Impl"
+    // $ANTLR end "rule__Integer__Group_0__1__Impl"
 
 
     // $ANTLR start "rule__Decimal__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3327:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3171:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
     public final void rule__Decimal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3331:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3332:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3175:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3176:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__06660);
+            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__06352);
             rule__Decimal__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__06663);
+            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__06355);
             rule__Decimal__Group__1();
 
             state._fsp--;
@@ -8905,31 +8669,31 @@
 
 
     // $ANTLR start "rule__Decimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3339:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3183:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
     public final void rule__Decimal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3343:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3344:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3187:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3188:1: ( ( rule__Decimal__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3344:1: ( ( rule__Decimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3345:1: ( rule__Decimal__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3188:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3189:1: ( rule__Decimal__Alternatives_0 )?
             {
              before(grammarAccess.getDecimalAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3346:1: ( rule__Decimal__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3190:1: ( rule__Decimal__Alternatives_0 )?
             int alt25=2;
             int LA25_0 = input.LA(1);
 
-            if ( ((LA25_0>=16 && LA25_0<=17)) ) {
+            if ( ((LA25_0>=15 && LA25_0<=16)) ) {
                 alt25=1;
             }
             switch (alt25) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3346:2: rule__Decimal__Alternatives_0
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3190:2: rule__Decimal__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl6690);
+                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl6382);
                     rule__Decimal__Alternatives_0();
 
                     state._fsp--;
@@ -8963,21 +8727,21 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3356:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3200:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
     public final void rule__Decimal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3360:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3361:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3204:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3205:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__16721);
+            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__16413);
             rule__Decimal__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__16724);
+            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__16416);
             rule__Decimal__Group__2();
 
             state._fsp--;
@@ -9001,20 +8765,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3368:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3212:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3372:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3373:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3216:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3217:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3373:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3374:1: RULE_INT
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3217:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3218:1: RULE_INT
             {
              before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl6751); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl6443); 
              after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
 
             }
@@ -9038,21 +8802,21 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3385:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3229:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
     public final void rule__Decimal__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3389:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3390:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3233:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3234:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__26780);
+            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__26472);
             rule__Decimal__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__26783);
+            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__26475);
             rule__Decimal__Group__3();
 
             state._fsp--;
@@ -9076,20 +8840,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3397:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3241:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
     public final void rule__Decimal__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3401:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3402:1: ( '.' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3245:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3246:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3402:1: ( '.' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3403:1: '.'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3246:1: ( '.' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3247:1: '.'
             {
              before(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
-            match(input,38,FOLLOW_38_in_rule__Decimal__Group__2__Impl6811); 
+            match(input,39,FOLLOW_39_in_rule__Decimal__Group__2__Impl6503); 
              after(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
 
             }
@@ -9113,16 +8877,16 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3416:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3260:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
     public final void rule__Decimal__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3420:1: ( rule__Decimal__Group__3__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3421:2: rule__Decimal__Group__3__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3264:1: ( rule__Decimal__Group__3__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3265:2: rule__Decimal__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__36842);
+            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__36534);
             rule__Decimal__Group__3__Impl();
 
             state._fsp--;
@@ -9146,20 +8910,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3427:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3271:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3431:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3432:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3275:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3276:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3432:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3433:1: RULE_INT
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3276:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3277:1: RULE_INT
             {
              before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl6869); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl6561); 
              after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
 
             }
@@ -9182,504 +8946,22 @@
     // $ANTLR end "rule__Decimal__Group__3__Impl"
 
 
-    // $ANTLR start "rule__DotDecimal__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3452:1: rule__DotDecimal__Group__0 : rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 ;
-    public final void rule__DotDecimal__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3456:1: ( rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3457:2: rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__06906);
-            rule__DotDecimal__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__06909);
-            rule__DotDecimal__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3464:1: rule__DotDecimal__Group__0__Impl : ( ( rule__DotDecimal__Alternatives_0 )? ) ;
-    public final void rule__DotDecimal__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3468:1: ( ( ( rule__DotDecimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3469:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3469:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3470:1: ( rule__DotDecimal__Alternatives_0 )?
-            {
-             before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3471:1: ( rule__DotDecimal__Alternatives_0 )?
-            int alt26=2;
-            int LA26_0 = input.LA(1);
-
-            if ( ((LA26_0>=16 && LA26_0<=17)) ) {
-                alt26=1;
-            }
-            switch (alt26) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3471:2: rule__DotDecimal__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl6936);
-                    rule__DotDecimal__Alternatives_0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3481:1: rule__DotDecimal__Group__1 : rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 ;
-    public final void rule__DotDecimal__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3485:1: ( rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3486:2: rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__16967);
-            rule__DotDecimal__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__16970);
-            rule__DotDecimal__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3493:1: rule__DotDecimal__Group__1__Impl : ( '.' ) ;
-    public final void rule__DotDecimal__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3497:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3498:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3498:1: ( '.' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3499:1: '.'
-            {
-             before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-            match(input,38,FOLLOW_38_in_rule__DotDecimal__Group__1__Impl6998); 
-             after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3512:1: rule__DotDecimal__Group__2 : rule__DotDecimal__Group__2__Impl ;
-    public final void rule__DotDecimal__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3516:1: ( rule__DotDecimal__Group__2__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3517:2: rule__DotDecimal__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__27029);
-            rule__DotDecimal__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3523:1: rule__DotDecimal__Group__2__Impl : ( RULE_INT ) ;
-    public final void rule__DotDecimal__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3527:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3528:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3528:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3529:1: RULE_INT
-            {
-             before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl7056); 
-             after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3546:1: rule__DecimalDot__Group__0 : rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 ;
-    public final void rule__DecimalDot__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3550:1: ( rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3551:2: rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__07091);
-            rule__DecimalDot__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__07094);
-            rule__DecimalDot__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3558:1: rule__DecimalDot__Group__0__Impl : ( ( rule__DecimalDot__Alternatives_0 )? ) ;
-    public final void rule__DecimalDot__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3562:1: ( ( ( rule__DecimalDot__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3563:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3563:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3564:1: ( rule__DecimalDot__Alternatives_0 )?
-            {
-             before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3565:1: ( rule__DecimalDot__Alternatives_0 )?
-            int alt27=2;
-            int LA27_0 = input.LA(1);
-
-            if ( ((LA27_0>=16 && LA27_0<=17)) ) {
-                alt27=1;
-            }
-            switch (alt27) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3565:2: rule__DecimalDot__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl7121);
-                    rule__DecimalDot__Alternatives_0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3575:1: rule__DecimalDot__Group__1 : rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 ;
-    public final void rule__DecimalDot__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3579:1: ( rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3580:2: rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__17152);
-            rule__DecimalDot__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__17155);
-            rule__DecimalDot__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3587:1: rule__DecimalDot__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__DecimalDot__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3591:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3592:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3592:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3593:1: RULE_INT
-            {
-             before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl7182); 
-             after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3604:1: rule__DecimalDot__Group__2 : rule__DecimalDot__Group__2__Impl ;
-    public final void rule__DecimalDot__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3608:1: ( rule__DecimalDot__Group__2__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3609:2: rule__DecimalDot__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__27211);
-            rule__DecimalDot__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3615:1: rule__DecimalDot__Group__2__Impl : ( '.' ) ;
-    public final void rule__DecimalDot__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3619:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3620:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3620:1: ( '.' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3621:1: '.'
-            {
-             before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-            match(input,38,FOLLOW_38_in_rule__DecimalDot__Group__2__Impl7239); 
-             after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2__Impl"
-
-
     // $ANTLR start "rule__DecimalExp__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3640:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3296:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
     public final void rule__DecimalExp__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3644:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3645:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3300:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3301:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__07276);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__06598);
             rule__DecimalExp__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__07279);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__06601);
             rule__DecimalExp__Group__1();
 
             state._fsp--;
@@ -9703,31 +8985,31 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3652:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3308:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
     public final void rule__DecimalExp__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3656:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3657:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3312:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3313:1: ( ( rule__DecimalExp__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3657:1: ( ( rule__DecimalExp__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3658:1: ( rule__DecimalExp__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3313:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3314:1: ( rule__DecimalExp__Alternatives_0 )?
             {
              before(grammarAccess.getDecimalExpAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3659:1: ( rule__DecimalExp__Alternatives_0 )?
-            int alt28=2;
-            int LA28_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3315:1: ( rule__DecimalExp__Alternatives_0 )?
+            int alt26=2;
+            int LA26_0 = input.LA(1);
 
-            if ( ((LA28_0>=16 && LA28_0<=17)) ) {
-                alt28=1;
+            if ( ((LA26_0>=15 && LA26_0<=16)) ) {
+                alt26=1;
             }
-            switch (alt28) {
+            switch (alt26) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3659:2: rule__DecimalExp__Alternatives_0
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3315:2: rule__DecimalExp__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl7306);
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl6628);
                     rule__DecimalExp__Alternatives_0();
 
                     state._fsp--;
@@ -9761,21 +9043,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3669:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3325:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
     public final void rule__DecimalExp__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3673:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3674:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3329:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3330:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__17337);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__16659);
             rule__DecimalExp__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__17340);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__16662);
             rule__DecimalExp__Group__2();
 
             state._fsp--;
@@ -9799,20 +9081,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3681:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3337:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3685:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3686:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3341:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3342:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3686:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3687:1: RULE_INT
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3342:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3343:1: RULE_INT
             {
              before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl7367); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl6689); 
              after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
 
             }
@@ -9836,21 +9118,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3698:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3354:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
     public final void rule__DecimalExp__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3702:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3703:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3358:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3359:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__27396);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__26718);
             rule__DecimalExp__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__27399);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__26721);
             rule__DecimalExp__Group__3();
 
             state._fsp--;
@@ -9874,20 +9156,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3710:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3366:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
     public final void rule__DecimalExp__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3714:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3715:1: ( '.' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3370:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3371:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3715:1: ( '.' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3716:1: '.'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3371:1: ( '.' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3372:1: '.'
             {
              before(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
-            match(input,38,FOLLOW_38_in_rule__DecimalExp__Group__2__Impl7427); 
+            match(input,39,FOLLOW_39_in_rule__DecimalExp__Group__2__Impl6749); 
              after(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
 
             }
@@ -9911,21 +9193,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3729:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3385:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
     public final void rule__DecimalExp__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3733:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3734:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3389:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3390:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__37458);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__36780);
             rule__DecimalExp__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__37461);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__36783);
             rule__DecimalExp__Group__4();
 
             state._fsp--;
@@ -9949,20 +9231,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3741:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3397:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3745:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3746:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3401:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3402:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3746:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3747:1: RULE_INT
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3402:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3403:1: RULE_INT
             {
              before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl7488); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl6810); 
              after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
 
             }
@@ -9986,20 +9268,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3758:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3414:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 ;
     public final void rule__DecimalExp__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3762:1: ( rule__DecimalExp__Group__4__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3763:2: rule__DecimalExp__Group__4__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3418:1: ( rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3419:2: rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__47517);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__46839);
             rule__DecimalExp__Group__4__Impl();
 
             state._fsp--;
 
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__46842);
+            rule__DecimalExp__Group__5();
+
+            state._fsp--;
+
 
             }
 
@@ -10019,21 +9306,31 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3769:1: rule__DecimalExp__Group__4__Impl : ( RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3426:1: rule__DecimalExp__Group__4__Impl : ( ( rule__DecimalExp__Alternatives_4 ) ) ;
     public final void rule__DecimalExp__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3773:1: ( ( RULE_EXP ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3774:1: ( RULE_EXP )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3430:1: ( ( ( rule__DecimalExp__Alternatives_4 ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3431:1: ( ( rule__DecimalExp__Alternatives_4 ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3774:1: ( RULE_EXP )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3775:1: RULE_EXP
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3431:1: ( ( rule__DecimalExp__Alternatives_4 ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3432:1: ( rule__DecimalExp__Alternatives_4 )
             {
-             before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
-            match(input,RULE_EXP,FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl7544); 
-             after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+             before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3433:1: ( rule__DecimalExp__Alternatives_4 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3433:2: rule__DecimalExp__Alternatives_4
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl6869);
+            rule__DecimalExp__Alternatives_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
 
             }
 
@@ -10055,22 +9352,188 @@
     // $ANTLR end "rule__DecimalExp__Group__4__Impl"
 
 
+    // $ANTLR start "rule__DecimalExp__Group__5"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3443:1: rule__DecimalExp__Group__5 : rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 ;
+    public final void rule__DecimalExp__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3447:1: ( rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3448:2: rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__56899);
+            rule__DecimalExp__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__56902);
+            rule__DecimalExp__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__5__Impl"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3455:1: rule__DecimalExp__Group__5__Impl : ( ( rule__DecimalExp__Alternatives_5 )? ) ;
+    public final void rule__DecimalExp__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3459:1: ( ( ( rule__DecimalExp__Alternatives_5 )? ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3460:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            {
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3460:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3461:1: ( rule__DecimalExp__Alternatives_5 )?
+            {
+             before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3462:1: ( rule__DecimalExp__Alternatives_5 )?
+            int alt27=2;
+            int LA27_0 = input.LA(1);
+
+            if ( ((LA27_0>=15 && LA27_0<=16)) ) {
+                alt27=1;
+            }
+            switch (alt27) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3462:2: rule__DecimalExp__Alternatives_5
+                    {
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl6929);
+                    rule__DecimalExp__Alternatives_5();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5__Impl"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3472:1: rule__DecimalExp__Group__6 : rule__DecimalExp__Group__6__Impl ;
+    public final void rule__DecimalExp__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3476:1: ( rule__DecimalExp__Group__6__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3477:2: rule__DecimalExp__Group__6__Impl
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__66960);
+            rule__DecimalExp__Group__6__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6__Impl"
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3483:1: rule__DecimalExp__Group__6__Impl : ( RULE_INT ) ;
+    public final void rule__DecimalExp__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3487:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3488:1: ( RULE_INT )
+            {
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3488:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3489:1: RULE_INT
+            {
+             before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl6987); 
+             after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6__Impl"
+
+
     // $ANTLR start "rule__FQN__Group__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3796:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3514:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
     public final void rule__FQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3800:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3801:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3518:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3519:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__07583);
+            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__07030);
             rule__FQN__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__07586);
+            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__07033);
             rule__FQN__Group__1();
 
             state._fsp--;
@@ -10094,20 +9557,20 @@
 
 
     // $ANTLR start "rule__FQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3808:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3526:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3812:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3813:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3530:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3531:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3813:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3814:1: RULE_ID
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3531:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3532:1: RULE_ID
             {
              before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl7613); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl7060); 
              after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
 
             }
@@ -10131,16 +9594,16 @@
 
 
     // $ANTLR start "rule__FQN__Group__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3825:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3543:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
     public final void rule__FQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3829:1: ( rule__FQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3830:2: rule__FQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3547:1: ( rule__FQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3548:2: rule__FQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__17642);
+            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__17089);
             rule__FQN__Group__1__Impl();
 
             state._fsp--;
@@ -10164,35 +9627,35 @@
 
 
     // $ANTLR start "rule__FQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3836:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3554:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
     public final void rule__FQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3840:1: ( ( ( rule__FQN__Group_1__0 )* ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3841:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3558:1: ( ( ( rule__FQN__Group_1__0 )* ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3559:1: ( ( rule__FQN__Group_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3841:1: ( ( rule__FQN__Group_1__0 )* )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3842:1: ( rule__FQN__Group_1__0 )*
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3559:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3560:1: ( rule__FQN__Group_1__0 )*
             {
              before(grammarAccess.getFQNAccess().getGroup_1()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3843:1: ( rule__FQN__Group_1__0 )*
-            loop29:
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3561:1: ( rule__FQN__Group_1__0 )*
+            loop28:
             do {
-                int alt29=2;
-                int LA29_0 = input.LA(1);
+                int alt28=2;
+                int LA28_0 = input.LA(1);
 
-                if ( (LA29_0==38) ) {
-                    alt29=1;
+                if ( (LA28_0==39) ) {
+                    alt28=1;
                 }
 
 
-                switch (alt29) {
+                switch (alt28) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3843:2: rule__FQN__Group_1__0
+            	    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3561:2: rule__FQN__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl7669);
+            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl7116);
             	    rule__FQN__Group_1__0();
 
             	    state._fsp--;
@@ -10202,7 +9665,7 @@
             	    break;
 
             	default :
-            	    break loop29;
+            	    break loop28;
                 }
             } while (true);
 
@@ -10229,21 +9692,21 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3857:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3575:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
     public final void rule__FQN__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3861:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3862:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3579:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3580:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__07704);
+            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__07151);
             rule__FQN__Group_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__07707);
+            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__07154);
             rule__FQN__Group_1__1();
 
             state._fsp--;
@@ -10267,20 +9730,20 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3869:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3587:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
     public final void rule__FQN__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3873:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3874:1: ( '.' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3591:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3592:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3874:1: ( '.' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3875:1: '.'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3592:1: ( '.' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3593:1: '.'
             {
              before(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
-            match(input,38,FOLLOW_38_in_rule__FQN__Group_1__0__Impl7735); 
+            match(input,39,FOLLOW_39_in_rule__FQN__Group_1__0__Impl7182); 
              after(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
 
             }
@@ -10304,16 +9767,16 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3888:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3606:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
     public final void rule__FQN__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3892:1: ( rule__FQN__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3893:2: rule__FQN__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3610:1: ( rule__FQN__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3611:2: rule__FQN__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__17766);
+            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__17213);
             rule__FQN__Group_1__1__Impl();
 
             state._fsp--;
@@ -10337,20 +9800,20 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3899:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3617:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3903:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3904:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3621:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3622:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3904:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3905:1: RULE_ID
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3622:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3623:1: RULE_ID
             {
              before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl7793); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl7240); 
              after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
 
             }
@@ -10374,20 +9837,20 @@
 
 
     // $ANTLR start "rule__MappingModel__NameAssignment_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3921:1: rule__MappingModel__NameAssignment_1 : ( ruleFQN ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3639:1: rule__MappingModel__NameAssignment_1 : ( ruleFQN ) ;
     public final void rule__MappingModel__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3925:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3926:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3643:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3644:1: ( ruleFQN )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3926:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3927:1: ruleFQN
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3644:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3645:1: ruleFQN
             {
              before(grammarAccess.getMappingModelAccess().getNameFQNParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__MappingModel__NameAssignment_17831);
+            pushFollow(FOLLOW_ruleFQN_in_rule__MappingModel__NameAssignment_17278);
             ruleFQN();
 
             state._fsp--;
@@ -10415,20 +9878,20 @@
 
 
     // $ANTLR start "rule__MappingModel__ImportsAssignment_3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3936:1: rule__MappingModel__ImportsAssignment_3 : ( ruleImport ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3654:1: rule__MappingModel__ImportsAssignment_3 : ( ruleImport ) ;
     public final void rule__MappingModel__ImportsAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3940:1: ( ( ruleImport ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3941:1: ( ruleImport )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3658:1: ( ( ruleImport ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3659:1: ( ruleImport )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3941:1: ( ruleImport )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3942:1: ruleImport
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3659:1: ( ruleImport )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3660:1: ruleImport
             {
              before(grammarAccess.getMappingModelAccess().getImportsImportParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleImport_in_rule__MappingModel__ImportsAssignment_37862);
+            pushFollow(FOLLOW_ruleImport_in_rule__MappingModel__ImportsAssignment_37309);
             ruleImport();
 
             state._fsp--;
@@ -10456,20 +9919,20 @@
 
 
     // $ANTLR start "rule__MappingModel__MappingsAssignment_4"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3951:1: rule__MappingModel__MappingsAssignment_4 : ( ruleMapping ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3669:1: rule__MappingModel__MappingsAssignment_4 : ( ruleMapping ) ;
     public final void rule__MappingModel__MappingsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3955:1: ( ( ruleMapping ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3956:1: ( ruleMapping )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3673:1: ( ( ruleMapping ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3674:1: ( ruleMapping )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3956:1: ( ruleMapping )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3957:1: ruleMapping
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3674:1: ( ruleMapping )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3675:1: ruleMapping
             {
              before(grammarAccess.getMappingModelAccess().getMappingsMappingParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleMapping_in_rule__MappingModel__MappingsAssignment_47893);
+            pushFollow(FOLLOW_ruleMapping_in_rule__MappingModel__MappingsAssignment_47340);
             ruleMapping();
 
             state._fsp--;
@@ -10497,24 +9960,24 @@
 
 
     // $ANTLR start "rule__Mapping__LogicalSysAssignment_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3966:1: rule__Mapping__LogicalSysAssignment_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3684:1: rule__Mapping__LogicalSysAssignment_1 : ( ( ruleFQN ) ) ;
     public final void rule__Mapping__LogicalSysAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3970:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3971:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3688:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3689:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3971:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3972:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3689:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3690:1: ( ruleFQN )
             {
              before(grammarAccess.getMappingAccess().getLogicalSysLogicalSystemCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3973:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3974:1: ruleFQN
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3691:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3692:1: ruleFQN
             {
              before(grammarAccess.getMappingAccess().getLogicalSysLogicalSystemFQNParserRuleCall_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__Mapping__LogicalSysAssignment_17928);
+            pushFollow(FOLLOW_ruleFQN_in_rule__Mapping__LogicalSysAssignment_17375);
             ruleFQN();
 
             state._fsp--;
@@ -10546,24 +10009,24 @@
 
 
     // $ANTLR start "rule__Mapping__PhysicalSysAssignment_3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3985:1: rule__Mapping__PhysicalSysAssignment_3 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3703:1: rule__Mapping__PhysicalSysAssignment_3 : ( ( ruleFQN ) ) ;
     public final void rule__Mapping__PhysicalSysAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3989:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3990:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3707:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3708:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3990:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3991:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3708:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3709:1: ( ruleFQN )
             {
              before(grammarAccess.getMappingAccess().getPhysicalSysPhysicalSystemCrossReference_3_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3992:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3993:1: ruleFQN
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3710:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3711:1: ruleFQN
             {
              before(grammarAccess.getMappingAccess().getPhysicalSysPhysicalSystemFQNParserRuleCall_3_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__Mapping__PhysicalSysAssignment_37967);
+            pushFollow(FOLLOW_ruleFQN_in_rule__Mapping__PhysicalSysAssignment_37414);
             ruleFQN();
 
             state._fsp--;
@@ -10595,20 +10058,20 @@
 
 
     // $ANTLR start "rule__Mapping__SubsysMappingsAssignment_5"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4004:1: rule__Mapping__SubsysMappingsAssignment_5 : ( ruleSubSystemMapping ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3722:1: rule__Mapping__SubsysMappingsAssignment_5 : ( ruleSubSystemMapping ) ;
     public final void rule__Mapping__SubsysMappingsAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4008:1: ( ( ruleSubSystemMapping ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4009:1: ( ruleSubSystemMapping )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3726:1: ( ( ruleSubSystemMapping ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3727:1: ( ruleSubSystemMapping )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4009:1: ( ruleSubSystemMapping )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4010:1: ruleSubSystemMapping
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3727:1: ( ruleSubSystemMapping )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3728:1: ruleSubSystemMapping
             {
              before(grammarAccess.getMappingAccess().getSubsysMappingsSubSystemMappingParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleSubSystemMapping_in_rule__Mapping__SubsysMappingsAssignment_58002);
+            pushFollow(FOLLOW_ruleSubSystemMapping_in_rule__Mapping__SubsysMappingsAssignment_57449);
             ruleSubSystemMapping();
 
             state._fsp--;
@@ -10636,24 +10099,24 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__LogicalSubSysAssignment_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4019:1: rule__SubSystemMapping__LogicalSubSysAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3737:1: rule__SubSystemMapping__LogicalSubSysAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__SubSystemMapping__LogicalSubSysAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4023:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4024:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3741:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3742:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4024:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4025:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3742:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3743:1: ( RULE_ID )
             {
              before(grammarAccess.getSubSystemMappingAccess().getLogicalSubSysSubSystemRefCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4026:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4027:1: RULE_ID
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3744:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3745:1: RULE_ID
             {
              before(grammarAccess.getSubSystemMappingAccess().getLogicalSubSysSubSystemRefIDTerminalRuleCall_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubSystemMapping__LogicalSubSysAssignment_18037); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubSystemMapping__LogicalSubSysAssignment_17484); 
              after(grammarAccess.getSubSystemMappingAccess().getLogicalSubSysSubSystemRefIDTerminalRuleCall_1_0_1()); 
 
             }
@@ -10681,24 +10144,24 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__NodeAssignment_3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4038:1: rule__SubSystemMapping__NodeAssignment_3 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3756:1: rule__SubSystemMapping__NodeAssignment_3 : ( ( RULE_ID ) ) ;
     public final void rule__SubSystemMapping__NodeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4042:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4043:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3760:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3761:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4043:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4044:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3761:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3762:1: ( RULE_ID )
             {
              before(grammarAccess.getSubSystemMappingAccess().getNodeNodeRefCrossReference_3_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4045:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4046:1: RULE_ID
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3763:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3764:1: RULE_ID
             {
              before(grammarAccess.getSubSystemMappingAccess().getNodeNodeRefIDTerminalRuleCall_3_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubSystemMapping__NodeAssignment_38076); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubSystemMapping__NodeAssignment_37523); 
              after(grammarAccess.getSubSystemMappingAccess().getNodeNodeRefIDTerminalRuleCall_3_0_1()); 
 
             }
@@ -10726,20 +10189,20 @@
 
 
     // $ANTLR start "rule__SubSystemMapping__ThreadMappingsAssignment_4_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4057:1: rule__SubSystemMapping__ThreadMappingsAssignment_4_1 : ( ruleThreadMapping ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3775:1: rule__SubSystemMapping__ThreadMappingsAssignment_4_1 : ( ruleThreadMapping ) ;
     public final void rule__SubSystemMapping__ThreadMappingsAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4061:1: ( ( ruleThreadMapping ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4062:1: ( ruleThreadMapping )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3779:1: ( ( ruleThreadMapping ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3780:1: ( ruleThreadMapping )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4062:1: ( ruleThreadMapping )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4063:1: ruleThreadMapping
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3780:1: ( ruleThreadMapping )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3781:1: ruleThreadMapping
             {
              before(grammarAccess.getSubSystemMappingAccess().getThreadMappingsThreadMappingParserRuleCall_4_1_0()); 
-            pushFollow(FOLLOW_ruleThreadMapping_in_rule__SubSystemMapping__ThreadMappingsAssignment_4_18111);
+            pushFollow(FOLLOW_ruleThreadMapping_in_rule__SubSystemMapping__ThreadMappingsAssignment_4_17558);
             ruleThreadMapping();
 
             state._fsp--;
@@ -10767,24 +10230,24 @@
 
 
     // $ANTLR start "rule__ThreadMapping__LogicalThreadAssignment_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4072:1: rule__ThreadMapping__LogicalThreadAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3790:1: rule__ThreadMapping__LogicalThreadAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__ThreadMapping__LogicalThreadAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4076:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4077:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3794:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3795:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4077:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4078:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3795:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3796:1: ( RULE_ID )
             {
              before(grammarAccess.getThreadMappingAccess().getLogicalThreadLogicalThreadCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4079:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4080:1: RULE_ID
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3797:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3798:1: RULE_ID
             {
              before(grammarAccess.getThreadMappingAccess().getLogicalThreadLogicalThreadIDTerminalRuleCall_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ThreadMapping__LogicalThreadAssignment_18146); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ThreadMapping__LogicalThreadAssignment_17593); 
              after(grammarAccess.getThreadMappingAccess().getLogicalThreadLogicalThreadIDTerminalRuleCall_1_0_1()); 
 
             }
@@ -10812,24 +10275,24 @@
 
 
     // $ANTLR start "rule__ThreadMapping__PhysicalThreadAssignment_3"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4091:1: rule__ThreadMapping__PhysicalThreadAssignment_3 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3809:1: rule__ThreadMapping__PhysicalThreadAssignment_3 : ( ( RULE_ID ) ) ;
     public final void rule__ThreadMapping__PhysicalThreadAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4095:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4096:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3813:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3814:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4096:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4097:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3814:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3815:1: ( RULE_ID )
             {
              before(grammarAccess.getThreadMappingAccess().getPhysicalThreadPhysicalThreadCrossReference_3_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4098:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4099:1: RULE_ID
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3816:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3817:1: RULE_ID
             {
              before(grammarAccess.getThreadMappingAccess().getPhysicalThreadPhysicalThreadIDTerminalRuleCall_3_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ThreadMapping__PhysicalThreadAssignment_38185); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ThreadMapping__PhysicalThreadAssignment_37632); 
              after(grammarAccess.getThreadMappingAccess().getPhysicalThreadPhysicalThreadIDTerminalRuleCall_3_0_1()); 
 
             }
@@ -10857,20 +10320,20 @@
 
 
     // $ANTLR start "rule__KeyValue__KeyAssignment_0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4113:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3831:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
     public final void rule__KeyValue__KeyAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4117:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4118:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3835:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3836:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4118:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4119:1: RULE_ID
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3836:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3837:1: RULE_ID
             {
              before(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_08223); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_07670); 
              after(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
 
             }
@@ -10894,20 +10357,20 @@
 
 
     // $ANTLR start "rule__KeyValue__ValueAssignment_2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4128:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3846:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
     public final void rule__KeyValue__ValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4132:1: ( ( ruleLiteral ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4133:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3850:1: ( ( ruleLiteral ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3851:1: ( ruleLiteral )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4133:1: ( ruleLiteral )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4134:1: ruleLiteral
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3851:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3852:1: ruleLiteral
             {
              before(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_28254);
+            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_27701);
             ruleLiteral();
 
             state._fsp--;
@@ -10935,24 +10398,24 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4149:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3867:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__SimpleAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4153:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4154:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3871:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3872:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4154:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4155:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3872:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3873:1: ( 'optional' )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4156:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4157:1: 'optional'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3874:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3875:1: 'optional'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            match(input,39,FOLLOW_39_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_08296); 
+            match(input,40,FOLLOW_40_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_07743); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
 
             }
@@ -10980,20 +10443,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4172:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3890:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__SimpleAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4176:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4177:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3894:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3895:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4177:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4178:1: RULE_ID
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3895:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3896:1: RULE_ID
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_28335); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_27782); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -11017,20 +10480,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__TypeAssignment_4"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4187:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3905:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
     public final void rule__SimpleAnnotationAttribute__TypeAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4191:1: ( ( ruleLiteralType ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4192:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3909:1: ( ( ruleLiteralType ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3910:1: ( ruleLiteralType )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4192:1: ( ruleLiteralType )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4193:1: ruleLiteralType
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3910:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3911:1: ruleLiteralType
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_48366);
+            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_47813);
             ruleLiteralType();
 
             state._fsp--;
@@ -11058,24 +10521,24 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4202:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3920:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__EnumAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4206:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4207:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3924:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3925:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4207:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4208:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3925:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3926:1: ( 'optional' )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4209:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4210:1: 'optional'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3927:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3928:1: 'optional'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            match(input,39,FOLLOW_39_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_08402); 
+            match(input,40,FOLLOW_40_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_07849); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
 
             }
@@ -11103,20 +10566,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4225:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3943:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__EnumAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4229:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4230:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3947:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3948:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4230:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4231:1: RULE_ID
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3948:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3949:1: RULE_ID
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_28441); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_27888); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -11140,20 +10603,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_5"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4240:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3958:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4244:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4245:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3962:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3963:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4245:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4246:1: RULE_STRING
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3963:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3964:1: RULE_STRING
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_58472); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_57919); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
 
             }
@@ -11177,20 +10640,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_6_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4255:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3973:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4259:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4260:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3977:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3978:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4260:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4261:1: RULE_STRING
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3978:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3979:1: RULE_STRING
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_18503); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_17950); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
 
             }
@@ -11214,20 +10677,20 @@
 
 
     // $ANTLR start "rule__Import__ImportedNamespaceAssignment_1_0_0"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4270:1: rule__Import__ImportedNamespaceAssignment_1_0_0 : ( ruleImportedFQN ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3988:1: rule__Import__ImportedNamespaceAssignment_1_0_0 : ( ruleImportedFQN ) ;
     public final void rule__Import__ImportedNamespaceAssignment_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4274:1: ( ( ruleImportedFQN ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4275:1: ( ruleImportedFQN )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3992:1: ( ( ruleImportedFQN ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3993:1: ( ruleImportedFQN )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4275:1: ( ruleImportedFQN )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4276:1: ruleImportedFQN
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3993:1: ( ruleImportedFQN )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:3994:1: ruleImportedFQN
             {
              before(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0()); 
-            pushFollow(FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_08534);
+            pushFollow(FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_07981);
             ruleImportedFQN();
 
             state._fsp--;
@@ -11255,20 +10718,20 @@
 
 
     // $ANTLR start "rule__Import__ImportURIAssignment_2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4285:1: rule__Import__ImportURIAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4003:1: rule__Import__ImportURIAssignment_2 : ( RULE_STRING ) ;
     public final void rule__Import__ImportURIAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4289:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4290:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4007:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4008:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4290:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4291:1: RULE_STRING
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4008:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4009:1: RULE_STRING
             {
              before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_28565); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_28012); 
              after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
 
             }
@@ -11292,20 +10755,20 @@
 
 
     // $ANTLR start "rule__Documentation__LinesAssignment_2"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4300:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4018:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
     public final void rule__Documentation__LinesAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4304:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4305:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4022:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4023:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4305:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4306:1: RULE_STRING
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4023:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4024:1: RULE_STRING
             {
              before(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_28596); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_28043); 
              after(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
 
             }
@@ -11329,24 +10792,24 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__IsTrueAssignment_1_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4317:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4035:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
     public final void rule__BooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4321:1: ( ( ( 'true' ) ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4322:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4039:1: ( ( ( 'true' ) ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4040:1: ( ( 'true' ) )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4322:1: ( ( 'true' ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4323:1: ( 'true' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4040:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4041:1: ( 'true' )
             {
              before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4324:1: ( 'true' )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4325:1: 'true'
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4042:1: ( 'true' )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4043:1: 'true'
             {
              before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
-            match(input,40,FOLLOW_40_in_rule__BooleanLiteral__IsTrueAssignment_1_18634); 
+            match(input,41,FOLLOW_41_in_rule__BooleanLiteral__IsTrueAssignment_1_18081); 
              after(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
 
             }
@@ -11374,20 +10837,20 @@
 
 
     // $ANTLR start "rule__RealLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4340:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4058:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
     public final void rule__RealLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4344:1: ( ( ruleReal ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4345:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4062:1: ( ( ruleReal ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4063:1: ( ruleReal )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4345:1: ( ruleReal )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4346:1: ruleReal
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4063:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4064:1: ruleReal
             {
              before(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_18673);
+            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_18120);
             ruleReal();
 
             state._fsp--;
@@ -11415,20 +10878,20 @@
 
 
     // $ANTLR start "rule__IntLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4355:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4073:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
     public final void rule__IntLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4359:1: ( ( ruleInteger ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4360:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4077:1: ( ( ruleInteger ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4078:1: ( ruleInteger )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4360:1: ( ruleInteger )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4361:1: ruleInteger
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4078:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4079:1: ruleInteger
             {
              before(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_18704);
+            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_18151);
             ruleInteger();
 
             state._fsp--;
@@ -11456,20 +10919,20 @@
 
 
     // $ANTLR start "rule__StringLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4370:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4088:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
     public final void rule__StringLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4374:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4375:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4092:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4093:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4375:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4376:1: RULE_STRING
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4093:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etmap.ui/src-gen/org/eclipse/etrice/core/etmap/ui/contentassist/antlr/internal/InternalETMap.g:4094:1: RULE_STRING
             {
              before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_18735); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_18182); 
              after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
 
             }
@@ -11494,65 +10957,6 @@
     // Delegated rules
 
 
-    protected DFA10 dfa10 = new DFA10(this);
-    static final String DFA10_eotS =
-        "\12\uffff";
-    static final String DFA10_eofS =
-        "\5\uffff\1\7\1\10\3\uffff";
-    static final String DFA10_minS =
-        "\3\6\1\46\1\uffff\1\6\1\7\3\uffff";
-    static final String DFA10_maxS =
-        "\4\46\1\uffff\1\6\1\7\3\uffff";
-    static final String DFA10_acceptS =
-        "\4\uffff\1\2\2\uffff\1\3\1\1\1\4";
-    static final String DFA10_specialS =
-        "\12\uffff}>";
-    static final String[] DFA10_transitionS = {
-            "\1\3\11\uffff\1\1\1\2\24\uffff\1\4",
-            "\1\3\37\uffff\1\4",
-            "\1\3\37\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\6",
-            "\1\11",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA10_eot = DFA.unpackEncodedString(DFA10_eotS);
-    static final short[] DFA10_eof = DFA.unpackEncodedString(DFA10_eofS);
-    static final char[] DFA10_min = DFA.unpackEncodedStringToUnsignedChars(DFA10_minS);
-    static final char[] DFA10_max = DFA.unpackEncodedStringToUnsignedChars(DFA10_maxS);
-    static final short[] DFA10_accept = DFA.unpackEncodedString(DFA10_acceptS);
-    static final short[] DFA10_special = DFA.unpackEncodedString(DFA10_specialS);
-    static final short[][] DFA10_transition;
-
-    static {
-        int numStates = DFA10_transitionS.length;
-        DFA10_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA10_transition[i] = DFA.unpackEncodedString(DFA10_transitionS[i]);
-        }
-    }
-
-    class DFA10 extends DFA {
-
-        public DFA10(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 10;
-            this.eot = DFA10_eot;
-            this.eof = DFA10_eof;
-            this.min = DFA10_min;
-            this.max = DFA10_max;
-            this.accept = DFA10_accept;
-            this.special = DFA10_special;
-            this.transition = DFA10_transition;
-        }
-        public String getDescription() {
-            return "1109:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );";
-        }
-    }
  
 
     public static final BitSet FOLLOW_ruleMappingModel_in_entryRuleMappingModel61 = new BitSet(new long[]{0x0000000000000000L});
@@ -11612,312 +11016,288 @@
     public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger1148 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInteger1155 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rule__Integer__Alternatives_in_ruleInteger1181 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger1213 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger1220 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger1250 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal1282 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal1289 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal1319 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal1345 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal1352 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal1378 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal1410 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal1417 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1447 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal1479 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal1486 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal1516 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot1548 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot1555 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot1585 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1617 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp1624 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1654 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN1681 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN1688 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN1714 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType1751 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1787 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1804 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_01836 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rule__SimpleAnnotationAttribute__Alternatives_01855 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_01889 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rule__EnumAnnotationAttribute__Alternatives_01908 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_11942 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__Import__Alternatives_11961 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1996 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives2013 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives2030 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__BooleanLiteral__Alternatives_12063 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_12082 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives2115 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives2132 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives2164 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives2181 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__SignedInteger__Alternatives_02214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__SignedInteger__Alternatives_02234 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives2268 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives2285 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives2302 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives2319 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__Decimal__Alternatives_02352 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__Decimal__Alternatives_02372 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__DotDecimal__Alternatives_02407 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__DotDecimal__Alternatives_02427 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__DecimalDot__Alternatives_02462 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__DecimalDot__Alternatives_02482 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__DecimalExp__Alternatives_02517 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__DecimalExp__Alternatives_02537 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_rule__LiteralType__Alternatives2572 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__LiteralType__Alternatives2593 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__LiteralType__Alternatives2614 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_21_in_rule__LiteralType__Alternatives2635 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MappingModel__Group__0__Impl_in_rule__MappingModel__Group__02668 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__MappingModel__Group__1_in_rule__MappingModel__Group__02671 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_22_in_rule__MappingModel__Group__0__Impl2699 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MappingModel__Group__1__Impl_in_rule__MappingModel__Group__12730 = new BitSet(new long[]{0x0000000000800000L});
-    public static final BitSet FOLLOW_rule__MappingModel__Group__2_in_rule__MappingModel__Group__12733 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MappingModel__NameAssignment_1_in_rule__MappingModel__Group__1__Impl2760 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MappingModel__Group__2__Impl_in_rule__MappingModel__Group__22790 = new BitSet(new long[]{0x0000000203000000L});
-    public static final BitSet FOLLOW_rule__MappingModel__Group__3_in_rule__MappingModel__Group__22793 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_rule__MappingModel__Group__2__Impl2821 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MappingModel__Group__3__Impl_in_rule__MappingModel__Group__32852 = new BitSet(new long[]{0x0000000203000000L});
-    public static final BitSet FOLLOW_rule__MappingModel__Group__4_in_rule__MappingModel__Group__32855 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MappingModel__ImportsAssignment_3_in_rule__MappingModel__Group__3__Impl2882 = new BitSet(new long[]{0x0000000200000002L});
-    public static final BitSet FOLLOW_rule__MappingModel__Group__4__Impl_in_rule__MappingModel__Group__42913 = new BitSet(new long[]{0x0000000203000000L});
-    public static final BitSet FOLLOW_rule__MappingModel__Group__5_in_rule__MappingModel__Group__42916 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MappingModel__MappingsAssignment_4_in_rule__MappingModel__Group__4__Impl2943 = new BitSet(new long[]{0x0000000002000002L});
-    public static final BitSet FOLLOW_rule__MappingModel__Group__5__Impl_in_rule__MappingModel__Group__52974 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__MappingModel__Group__5__Impl3002 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__0__Impl_in_rule__Mapping__Group__03045 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__1_in_rule__Mapping__Group__03048 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_rule__Mapping__Group__0__Impl3076 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__1__Impl_in_rule__Mapping__Group__13107 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__2_in_rule__Mapping__Group__13110 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Mapping__LogicalSysAssignment_1_in_rule__Mapping__Group__1__Impl3137 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__2__Impl_in_rule__Mapping__Group__23167 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__3_in_rule__Mapping__Group__23170 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__Mapping__Group__2__Impl3198 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__3__Impl_in_rule__Mapping__Group__33229 = new BitSet(new long[]{0x0000000000800000L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__4_in_rule__Mapping__Group__33232 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Mapping__PhysicalSysAssignment_3_in_rule__Mapping__Group__3__Impl3259 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__4__Impl_in_rule__Mapping__Group__43289 = new BitSet(new long[]{0x0000000009000000L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__5_in_rule__Mapping__Group__43292 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_rule__Mapping__Group__4__Impl3320 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__5__Impl_in_rule__Mapping__Group__53351 = new BitSet(new long[]{0x0000000009000000L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__6_in_rule__Mapping__Group__53354 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Mapping__SubsysMappingsAssignment_5_in_rule__Mapping__Group__5__Impl3381 = new BitSet(new long[]{0x0000000008000002L});
-    public static final BitSet FOLLOW_rule__Mapping__Group__6__Impl_in_rule__Mapping__Group__63412 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__Mapping__Group__6__Impl3440 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__0__Impl_in_rule__SubSystemMapping__Group__03485 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__1_in_rule__SubSystemMapping__Group__03488 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__SubSystemMapping__Group__0__Impl3516 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__1__Impl_in_rule__SubSystemMapping__Group__13547 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__2_in_rule__SubSystemMapping__Group__13550 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__LogicalSubSysAssignment_1_in_rule__SubSystemMapping__Group__1__Impl3577 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__2__Impl_in_rule__SubSystemMapping__Group__23607 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__3_in_rule__SubSystemMapping__Group__23610 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__SubSystemMapping__Group__2__Impl3638 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__3__Impl_in_rule__SubSystemMapping__Group__33669 = new BitSet(new long[]{0x0000000000800000L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__4_in_rule__SubSystemMapping__Group__33672 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__NodeAssignment_3_in_rule__SubSystemMapping__Group__3__Impl3699 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__4__Impl_in_rule__SubSystemMapping__Group__43729 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__0_in_rule__SubSystemMapping__Group__4__Impl3756 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__0__Impl_in_rule__SubSystemMapping__Group_4__03797 = new BitSet(new long[]{0x0000000011000000L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__1_in_rule__SubSystemMapping__Group_4__03800 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_rule__SubSystemMapping__Group_4__0__Impl3828 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__1__Impl_in_rule__SubSystemMapping__Group_4__13859 = new BitSet(new long[]{0x0000000011000000L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__2_in_rule__SubSystemMapping__Group_4__13862 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__ThreadMappingsAssignment_4_1_in_rule__SubSystemMapping__Group_4__1__Impl3889 = new BitSet(new long[]{0x0000000010000002L});
-    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__2__Impl_in_rule__SubSystemMapping__Group_4__23920 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__SubSystemMapping__Group_4__2__Impl3948 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ThreadMapping__Group__0__Impl_in_rule__ThreadMapping__Group__03985 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ThreadMapping__Group__1_in_rule__ThreadMapping__Group__03988 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__ThreadMapping__Group__0__Impl4016 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ThreadMapping__Group__1__Impl_in_rule__ThreadMapping__Group__14047 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_rule__ThreadMapping__Group__2_in_rule__ThreadMapping__Group__14050 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ThreadMapping__LogicalThreadAssignment_1_in_rule__ThreadMapping__Group__1__Impl4077 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ThreadMapping__Group__2__Impl_in_rule__ThreadMapping__Group__24107 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ThreadMapping__Group__3_in_rule__ThreadMapping__Group__24110 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__ThreadMapping__Group__2__Impl4138 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ThreadMapping__Group__3__Impl_in_rule__ThreadMapping__Group__34169 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ThreadMapping__PhysicalThreadAssignment_3_in_rule__ThreadMapping__Group__3__Impl4196 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__04237 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__04240 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl4267 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__14297 = new BitSet(new long[]{0x0000014000038160L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__14300 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__KeyValue__Group__1__Impl4328 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__24359 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl4386 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__04425 = new BitSet(new long[]{0x0000000040000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__04428 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl4455 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__14485 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__14488 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__SimpleAnnotationAttribute__Group__1__Impl4516 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__24547 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__24550 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl4577 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__34607 = new BitSet(new long[]{0x00000000003C0000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__34610 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_rule__SimpleAnnotationAttribute__Group__3__Impl4638 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__44669 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl4696 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__04736 = new BitSet(new long[]{0x0000000040000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__04739 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl4766 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__14796 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__14799 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__EnumAnnotationAttribute__Group__1__Impl4827 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__24858 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__24861 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl4888 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__34918 = new BitSet(new long[]{0x0000000000800000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__34921 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_rule__EnumAnnotationAttribute__Group__3__Impl4949 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__44980 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__44983 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_rule__EnumAnnotationAttribute__Group__4__Impl5011 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__55042 = new BitSet(new long[]{0x0000000101000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__55045 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl5072 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__65102 = new BitSet(new long[]{0x0000000101000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__65105 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl5132 = new BitSet(new long[]{0x0000000100000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__75163 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__EnumAnnotationAttribute__Group__7__Impl5191 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__05238 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__05241 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_rule__EnumAnnotationAttribute__Group_6__0__Impl5269 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__15300 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl5327 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__05361 = new BitSet(new long[]{0x0000000000004010L});
-    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__05364 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__Import__Group__0__Impl5392 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__15423 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__Import__Group__2_in_rule__Import__Group__15426 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl5453 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__25483 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl5510 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__05546 = new BitSet(new long[]{0x0000000400000000L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__05549 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl5576 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__15606 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_rule__Import__Group_1_0__1__Impl5634 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__05669 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__05672 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl5699 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__15728 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_rule__ImportedFQN__Group__1__Impl5757 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__05794 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__05797 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__15855 = new BitSet(new long[]{0x0000002000000100L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__15858 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__Documentation__Group__1__Impl5886 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__25917 = new BitSet(new long[]{0x0000002000000100L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__25920 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl5947 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__35978 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_rule__Documentation__Group__3__Impl6006 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__06051 = new BitSet(new long[]{0x0000010000008000L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__06054 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__16112 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl6139 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__06173 = new BitSet(new long[]{0x0000004000030060L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__06176 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__16234 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl6261 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__06295 = new BitSet(new long[]{0x0000000000030060L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__06298 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__16356 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl6383 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__06417 = new BitSet(new long[]{0x0000014000038160L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__06420 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__16478 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl6505 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__06539 = new BitSet(new long[]{0x0000000000030040L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__06542 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl6569 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__16600 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl6627 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__06660 = new BitSet(new long[]{0x0000000000030040L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__06663 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl6690 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__16721 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__16724 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl6751 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__26780 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__26783 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_38_in_rule__Decimal__Group__2__Impl6811 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__36842 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl6869 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__06906 = new BitSet(new long[]{0x0000004000030000L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__06909 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl6936 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__16967 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__16970 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_38_in_rule__DotDecimal__Group__1__Impl6998 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__27029 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl7056 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__07091 = new BitSet(new long[]{0x0000000000030040L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__07094 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl7121 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__17152 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__17155 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl7182 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__27211 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_38_in_rule__DecimalDot__Group__2__Impl7239 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__07276 = new BitSet(new long[]{0x0000004000030060L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__07279 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl7306 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__17337 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__17340 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl7367 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__27396 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__27399 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_38_in_rule__DecimalExp__Group__2__Impl7427 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__37458 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__37461 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl7488 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__47517 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl7544 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__07583 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__07586 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl7613 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__17642 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl7669 = new BitSet(new long[]{0x0000004000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__07704 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__07707 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_38_in_rule__FQN__Group_1__0__Impl7735 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__17766 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl7793 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__MappingModel__NameAssignment_17831 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImport_in_rule__MappingModel__ImportsAssignment_37862 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleMapping_in_rule__MappingModel__MappingsAssignment_47893 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__Mapping__LogicalSysAssignment_17928 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__Mapping__PhysicalSysAssignment_37967 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSubSystemMapping_in_rule__Mapping__SubsysMappingsAssignment_58002 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SubSystemMapping__LogicalSubSysAssignment_18037 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SubSystemMapping__NodeAssignment_38076 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleThreadMapping_in_rule__SubSystemMapping__ThreadMappingsAssignment_4_18111 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ThreadMapping__LogicalThreadAssignment_18146 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ThreadMapping__PhysicalThreadAssignment_38185 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_08223 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_28254 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_39_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_08296 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_28335 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_48366 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_39_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_08402 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_28441 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_58472 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_18503 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_08534 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_28565 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_28596 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__BooleanLiteral__IsTrueAssignment_1_18634 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_18673 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_18704 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_18735 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal1208 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal1215 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal1241 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal1273 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal1280 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1310 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1342 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp1349 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1379 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN1406 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN1413 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN1439 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType1476 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1512 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1529 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_01561 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_rule__SimpleAnnotationAttribute__Alternatives_01580 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_01614 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_rule__EnumAnnotationAttribute__Alternatives_01633 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_11667 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_13_in_rule__Import__Alternatives_11686 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives1721 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives1738 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives1755 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__BooleanLiteral__Alternatives_11788 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_11807 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives1840 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives1857 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives1889 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_rule__Integer__Alternatives1907 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__Integer__Alternatives_0_01940 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__Integer__Alternatives_0_01960 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives1994 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives2011 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__Decimal__Alternatives_02044 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__Decimal__Alternatives_02064 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__DecimalExp__Alternatives_02099 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__DecimalExp__Alternatives_02119 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_rule__DecimalExp__Alternatives_42154 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_18_in_rule__DecimalExp__Alternatives_42174 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__DecimalExp__Alternatives_52209 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__DecimalExp__Alternatives_52229 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_rule__LiteralType__Alternatives2264 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_20_in_rule__LiteralType__Alternatives2285 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_21_in_rule__LiteralType__Alternatives2306 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_22_in_rule__LiteralType__Alternatives2327 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MappingModel__Group__0__Impl_in_rule__MappingModel__Group__02360 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__MappingModel__Group__1_in_rule__MappingModel__Group__02363 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_23_in_rule__MappingModel__Group__0__Impl2391 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MappingModel__Group__1__Impl_in_rule__MappingModel__Group__12422 = new BitSet(new long[]{0x0000000001000000L});
+    public static final BitSet FOLLOW_rule__MappingModel__Group__2_in_rule__MappingModel__Group__12425 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MappingModel__NameAssignment_1_in_rule__MappingModel__Group__1__Impl2452 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MappingModel__Group__2__Impl_in_rule__MappingModel__Group__22482 = new BitSet(new long[]{0x0000000406000000L});
+    public static final BitSet FOLLOW_rule__MappingModel__Group__3_in_rule__MappingModel__Group__22485 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_24_in_rule__MappingModel__Group__2__Impl2513 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MappingModel__Group__3__Impl_in_rule__MappingModel__Group__32544 = new BitSet(new long[]{0x0000000406000000L});
+    public static final BitSet FOLLOW_rule__MappingModel__Group__4_in_rule__MappingModel__Group__32547 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MappingModel__ImportsAssignment_3_in_rule__MappingModel__Group__3__Impl2574 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_rule__MappingModel__Group__4__Impl_in_rule__MappingModel__Group__42605 = new BitSet(new long[]{0x0000000406000000L});
+    public static final BitSet FOLLOW_rule__MappingModel__Group__5_in_rule__MappingModel__Group__42608 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MappingModel__MappingsAssignment_4_in_rule__MappingModel__Group__4__Impl2635 = new BitSet(new long[]{0x0000000004000002L});
+    public static final BitSet FOLLOW_rule__MappingModel__Group__5__Impl_in_rule__MappingModel__Group__52666 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_25_in_rule__MappingModel__Group__5__Impl2694 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__0__Impl_in_rule__Mapping__Group__02737 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__1_in_rule__Mapping__Group__02740 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_26_in_rule__Mapping__Group__0__Impl2768 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__1__Impl_in_rule__Mapping__Group__12799 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__2_in_rule__Mapping__Group__12802 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Mapping__LogicalSysAssignment_1_in_rule__Mapping__Group__1__Impl2829 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__2__Impl_in_rule__Mapping__Group__22859 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__3_in_rule__Mapping__Group__22862 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__Mapping__Group__2__Impl2890 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__3__Impl_in_rule__Mapping__Group__32921 = new BitSet(new long[]{0x0000000001000000L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__4_in_rule__Mapping__Group__32924 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Mapping__PhysicalSysAssignment_3_in_rule__Mapping__Group__3__Impl2951 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__4__Impl_in_rule__Mapping__Group__42981 = new BitSet(new long[]{0x0000000012000000L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__5_in_rule__Mapping__Group__42984 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_24_in_rule__Mapping__Group__4__Impl3012 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__5__Impl_in_rule__Mapping__Group__53043 = new BitSet(new long[]{0x0000000012000000L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__6_in_rule__Mapping__Group__53046 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Mapping__SubsysMappingsAssignment_5_in_rule__Mapping__Group__5__Impl3073 = new BitSet(new long[]{0x0000000010000002L});
+    public static final BitSet FOLLOW_rule__Mapping__Group__6__Impl_in_rule__Mapping__Group__63104 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_25_in_rule__Mapping__Group__6__Impl3132 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__0__Impl_in_rule__SubSystemMapping__Group__03177 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__1_in_rule__SubSystemMapping__Group__03180 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__SubSystemMapping__Group__0__Impl3208 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__1__Impl_in_rule__SubSystemMapping__Group__13239 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__2_in_rule__SubSystemMapping__Group__13242 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__LogicalSubSysAssignment_1_in_rule__SubSystemMapping__Group__1__Impl3269 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__2__Impl_in_rule__SubSystemMapping__Group__23299 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__3_in_rule__SubSystemMapping__Group__23302 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__SubSystemMapping__Group__2__Impl3330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__3__Impl_in_rule__SubSystemMapping__Group__33361 = new BitSet(new long[]{0x0000000001000000L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__4_in_rule__SubSystemMapping__Group__33364 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__NodeAssignment_3_in_rule__SubSystemMapping__Group__3__Impl3391 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group__4__Impl_in_rule__SubSystemMapping__Group__43421 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__0_in_rule__SubSystemMapping__Group__4__Impl3448 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__0__Impl_in_rule__SubSystemMapping__Group_4__03489 = new BitSet(new long[]{0x0000000022000000L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__1_in_rule__SubSystemMapping__Group_4__03492 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_24_in_rule__SubSystemMapping__Group_4__0__Impl3520 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__1__Impl_in_rule__SubSystemMapping__Group_4__13551 = new BitSet(new long[]{0x0000000022000000L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__2_in_rule__SubSystemMapping__Group_4__13554 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__ThreadMappingsAssignment_4_1_in_rule__SubSystemMapping__Group_4__1__Impl3581 = new BitSet(new long[]{0x0000000020000002L});
+    public static final BitSet FOLLOW_rule__SubSystemMapping__Group_4__2__Impl_in_rule__SubSystemMapping__Group_4__23612 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_25_in_rule__SubSystemMapping__Group_4__2__Impl3640 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ThreadMapping__Group__0__Impl_in_rule__ThreadMapping__Group__03677 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ThreadMapping__Group__1_in_rule__ThreadMapping__Group__03680 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__ThreadMapping__Group__0__Impl3708 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ThreadMapping__Group__1__Impl_in_rule__ThreadMapping__Group__13739 = new BitSet(new long[]{0x0000000008000000L});
+    public static final BitSet FOLLOW_rule__ThreadMapping__Group__2_in_rule__ThreadMapping__Group__13742 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ThreadMapping__LogicalThreadAssignment_1_in_rule__ThreadMapping__Group__1__Impl3769 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ThreadMapping__Group__2__Impl_in_rule__ThreadMapping__Group__23799 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ThreadMapping__Group__3_in_rule__ThreadMapping__Group__23802 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__ThreadMapping__Group__2__Impl3830 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ThreadMapping__Group__3__Impl_in_rule__ThreadMapping__Group__33861 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ThreadMapping__PhysicalThreadAssignment_3_in_rule__ThreadMapping__Group__3__Impl3888 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__03929 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__03932 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl3959 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__13989 = new BitSet(new long[]{0x000002000001C0E0L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__13992 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__KeyValue__Group__1__Impl4020 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__24051 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl4078 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__04117 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__04120 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl4147 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__14177 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__14180 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__SimpleAnnotationAttribute__Group__1__Impl4208 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__24239 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__24242 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl4269 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__34299 = new BitSet(new long[]{0x0000000000780000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__34302 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_32_in_rule__SimpleAnnotationAttribute__Group__3__Impl4330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__44361 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl4388 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__04428 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__04431 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl4458 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__14488 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__14491 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__EnumAnnotationAttribute__Group__1__Impl4519 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__24550 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__24553 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl4580 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__34610 = new BitSet(new long[]{0x0000000001000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__34613 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_32_in_rule__EnumAnnotationAttribute__Group__3__Impl4641 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__44672 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__44675 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_24_in_rule__EnumAnnotationAttribute__Group__4__Impl4703 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__54734 = new BitSet(new long[]{0x0000000202000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__54737 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl4764 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__64794 = new BitSet(new long[]{0x0000000202000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__64797 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl4824 = new BitSet(new long[]{0x0000000200000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__74855 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_25_in_rule__EnumAnnotationAttribute__Group__7__Impl4883 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__04930 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__04933 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_rule__EnumAnnotationAttribute__Group_6__0__Impl4961 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__14992 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl5019 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__05053 = new BitSet(new long[]{0x0000000000002010L});
+    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__05056 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__Import__Group__0__Impl5084 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__15115 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__Import__Group__2_in_rule__Import__Group__15118 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl5145 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__25175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl5202 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__05238 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__05241 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl5268 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__15298 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_rule__Import__Group_1_0__1__Impl5326 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__05361 = new BitSet(new long[]{0x0000001000000000L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__05364 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl5391 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__15420 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_36_in_rule__ImportedFQN__Group__1__Impl5449 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__05486 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__05489 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__15547 = new BitSet(new long[]{0x0000004000000080L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__15550 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__Documentation__Group__1__Impl5578 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__25609 = new BitSet(new long[]{0x0000004000000080L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__25612 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl5639 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__35670 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_38_in_rule__Documentation__Group__3__Impl5698 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__05743 = new BitSet(new long[]{0x0000020000004000L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__05746 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__15804 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl5831 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__05865 = new BitSet(new long[]{0x0000000000018060L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__05868 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__15926 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl5953 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__05987 = new BitSet(new long[]{0x0000000000018060L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__05990 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__16048 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl6075 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__06109 = new BitSet(new long[]{0x000002000001C0E0L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__06112 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__16170 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl6197 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__06231 = new BitSet(new long[]{0x0000000000018040L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__06234 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl6261 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__16292 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl6319 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__06352 = new BitSet(new long[]{0x0000000000018040L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__06355 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl6382 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__16413 = new BitSet(new long[]{0x0000008000000000L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__16416 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl6443 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__26472 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__26475 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_39_in_rule__Decimal__Group__2__Impl6503 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__36534 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl6561 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__06598 = new BitSet(new long[]{0x0000000000018060L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__06601 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl6628 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__16659 = new BitSet(new long[]{0x0000008000000000L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__16662 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl6689 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__26718 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__26721 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_39_in_rule__DecimalExp__Group__2__Impl6749 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__36780 = new BitSet(new long[]{0x0000000000060000L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__36783 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl6810 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__46839 = new BitSet(new long[]{0x0000000000018040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__46842 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl6869 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__56899 = new BitSet(new long[]{0x0000000000018040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__56902 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl6929 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__66960 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl6987 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__07030 = new BitSet(new long[]{0x0000008000000000L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__07033 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl7060 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__17089 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl7116 = new BitSet(new long[]{0x0000008000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__07151 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__07154 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_39_in_rule__FQN__Group_1__0__Impl7182 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__17213 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl7240 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__MappingModel__NameAssignment_17278 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImport_in_rule__MappingModel__ImportsAssignment_37309 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleMapping_in_rule__MappingModel__MappingsAssignment_47340 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__Mapping__LogicalSysAssignment_17375 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__Mapping__PhysicalSysAssignment_37414 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSubSystemMapping_in_rule__Mapping__SubsysMappingsAssignment_57449 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SubSystemMapping__LogicalSubSysAssignment_17484 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SubSystemMapping__NodeAssignment_37523 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleThreadMapping_in_rule__SubSystemMapping__ThreadMappingsAssignment_4_17558 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ThreadMapping__LogicalThreadAssignment_17593 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ThreadMapping__PhysicalThreadAssignment_37632 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_07670 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_27701 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_40_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_07743 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_27782 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_47813 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_40_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_07849 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_27888 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_57919 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_17950 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_07981 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_28012 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_28043 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__BooleanLiteral__IsTrueAssignment_1_18081 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_18120 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_18151 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_18182 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file
diff --git "a/plugins/org.eclipse.etrice.core.etmap/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.etmap\051.launch" "b/plugins/org.eclipse.etrice.core.etmap/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.etmap\051.launch"
index 245b7bb..fcc3327 100644
--- "a/plugins/org.eclipse.etrice.core.etmap/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.etmap\051.launch"
+++ "b/plugins/org.eclipse.etrice.core.etmap/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.etmap\051.launch"
@@ -11,6 +11,7 @@
 <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
 <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
 </listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/etrice/core/etmap/GenerateETMap.mwe2"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.core.etmap"/>
diff --git a/plugins/org.eclipse.etrice.core.etmap/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.etmap/META-INF/MANIFEST.MF
index 8dece1f..d2b821d 100644
--- a/plugins/org.eclipse.etrice.core.etmap/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.etmap/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.etrice.core.etmap
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.etmap; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.core.etphys;bundle-version="1.0.1",
- org.eclipse.etrice.core.genmodel.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.genmodel;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etphys;bundle-version="1.1.0",
+ org.eclipse.etrice.core.genmodel.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.genmodel;bundle-version="1.1.0",
  org.eclipse.xtext;bundle-version="2.6.0";visibility:=reexport,
  org.eclipse.xtext.xbase;bundle-version="2.6.0";resolution:=optional;visibility:=reexport,
  org.eclipse.xtext.generator;bundle-version="2.6.0";resolution:=optional,
diff --git a/plugins/org.eclipse.etrice.core.etmap/pom.xml b/plugins/org.eclipse.etrice.core.etmap/pom.xml
index c43e8b2..d3a6cee 100644
--- a/plugins/org.eclipse.etrice.core.etmap/pom.xml
+++ b/plugins/org.eclipse.etrice.core.etmap/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.xtextbin b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.xtextbin
index 02b3e4f..f560cd6 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.xtextbin
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/ETMap.xtextbin
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g
index 5780e7e..6954427 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g
@@ -1156,120 +1156,36 @@
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-    }
-    this_SignedInteger_0=ruleSignedInteger    {
-		$current.merge(this_SignedInteger_0);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-    }
-    this_Hexadecimal_1=ruleHexadecimal    {
-		$current.merge(this_Hexadecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getSignedIntegerRule()); } 
-	 iv_ruleSignedInteger=ruleSignedInteger 
-	 { $current=$iv_ruleSignedInteger.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
+(((
 	kw='+' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
     }
 
     |
 	kw='-' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
     }
 )?    this_INT_2=RULE_INT    {
 		$current.merge(this_INT_2);
     }
 
     { 
-    newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+    newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
     }
 )
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getHexadecimalRule()); } 
-	 iv_ruleHexadecimal=ruleHexadecimal 
-	 { $current=$iv_ruleHexadecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-    this_HEX_0=RULE_HEX    {
-		$current.merge(this_HEX_0);
+    |    this_HEX_3=RULE_HEX    {
+		$current.merge(this_HEX_3);
     }
 
     { 
-    newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
+    newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
     }
-
+)
     ;
-finally {
-	myHiddenTokenState.restore();
-}
 
 
 
@@ -1303,34 +1219,10 @@
 
     |
     { 
-        newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
     }
-    this_DotDecimal_1=ruleDotDecimal    {
-		$current.merge(this_DotDecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-    }
-    this_DecimalDot_2=ruleDecimalDot    {
-		$current.merge(this_DecimalDot_2);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-    }
-    this_DecimalExp_3=ruleDecimalExp    {
-		$current.merge(this_DecimalExp_3);
+    this_DecimalExp_1=ruleDecimalExp    {
+		$current.merge(this_DecimalExp_1);
     }
 
     { 
@@ -1407,120 +1299,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDotDecimalRule()); } 
-	 iv_ruleDotDecimal=ruleDotDecimal 
-	 { $current=$iv_ruleDotDecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-    }
-    this_INT_3=RULE_INT    {
-		$current.merge(this_INT_3);
-    }
-
-    { 
-    newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDecimalDotRule()); } 
-	 iv_ruleDecimalDot=ruleDecimalDot 
-	 { $current=$iv_ruleDecimalDot.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?    this_INT_2=RULE_INT    {
-		$current.merge(this_INT_2);
-    }
-
-    { 
-    newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-    }
-
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp returns [String current=null] 
 	@init { 
@@ -1575,12 +1353,38 @@
     { 
     newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
     }
-    this_EXP_5=RULE_EXP    {
-		$current.merge(this_EXP_5);
+(
+	kw='e' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+    }
+
+    |
+	kw='E' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+    }
+)(
+	kw='+' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+    }
+
+    |
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+    }
+)?    this_INT_9=RULE_INT    {
+		$current.merge(this_INT_9);
     }
 
     { 
-    newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+    newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
     }
 )
     ;
@@ -1664,8 +1468,6 @@
 
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.tokens b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.tokens
index 9fa5fb4..b9b00ba 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.tokens
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.tokens
@@ -1,40 +1,42 @@
-'+'=34
-','=25
-'-'=35
-'->'=17
-'.'=36
-'.*'=29
-':'=24
-'='=20
-'Mapping'=16
-'MappingModel'=13
-'SubSystemMapping'=18
-'ThreadMapping'=19
-'['=30
-']'=31
-'attribute'=23
-'false'=32
-'from'=27
-'import'=26
-'mandatory'=22
-'model'=28
-'optional'=21
-'ptBoolean'=37
-'ptCharacter'=40
-'ptInteger'=38
-'ptReal'=39
-'true'=33
-'{'=14
-'}'=15
-RULE_ANY_OTHER=12
-RULE_EXP=8
+'+'=33
+','=24
+'-'=34
+'->'=16
+'.'=35
+'.*'=28
+':'=23
+'='=19
+'E'=37
+'Mapping'=15
+'MappingModel'=12
+'SubSystemMapping'=17
+'ThreadMapping'=18
+'['=29
+']'=30
+'attribute'=22
+'e'=36
+'false'=31
+'from'=26
+'import'=25
+'mandatory'=21
+'model'=27
+'optional'=20
+'ptBoolean'=38
+'ptCharacter'=41
+'ptInteger'=39
+'ptReal'=40
+'true'=32
+'{'=13
+'}'=14
+RULE_ANY_OTHER=11
 RULE_HEX=7
 RULE_ID=4
 RULE_INT=6
-RULE_ML_COMMENT=9
-RULE_SL_COMMENT=10
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
 RULE_STRING=5
-RULE_WS=11
+RULE_WS=10
+T__12=12
 T__13=13
 T__14=14
 T__15=15
@@ -63,3 +65,4 @@
 T__38=38
 T__39=39
 T__40=40
+T__41=41
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapLexer.java b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapLexer.java
index d2f8cbb..56845a5 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapLexer.java
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapLexer.java
@@ -12,44 +12,45 @@
 
 @SuppressWarnings("all")
 public class InternalETMapLexer extends Lexer {
-    public static final int T__40=40;
-    public static final int RULE_ID=4;
-    public static final int RULE_EXP=8;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int EOF=-1;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
+    public static final int RULE_HEX=7;
+    public static final int RULE_STRING=5;
+    public static final int RULE_SL_COMMENT=9;
     public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__37=37;
+    public static final int T__16=16;
+    public static final int T__38=38;
+    public static final int T__17=17;
+    public static final int T__39=39;
+    public static final int T__18=18;
+    public static final int T__33=33;
+    public static final int T__12=12;
+    public static final int T__34=34;
+    public static final int T__13=13;
+    public static final int T__35=35;
+    public static final int T__14=14;
+    public static final int T__36=36;
+    public static final int EOF=-1;
     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=5;
-    public static final int RULE_HEX=7;
-    public static final int T__16=16;
-    public static final int T__33=33;
-    public static final int T__15=15;
-    public static final int T__34=34;
-    public static final int T__18=18;
-    public static final int T__35=35;
-    public static final int T__17=17;
-    public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__14=14;
-    public static final int T__39=39;
-    public static final int T__13=13;
+    public static final int RULE_ID=4;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int RULE_WS=11;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__20=20;
+    public static final int T__21=21;
 
     // delegates
     // delegators
@@ -64,10 +65,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:11:7: ( 'MappingModel' )
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:11:9: 'MappingModel'
@@ -83,6 +84,26 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:12:7: ( '{' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:12:9: '{'
+            {
+            match('{'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -90,10 +111,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:12:7: ( '{' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:12:9: '{'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:13:7: ( '}' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:13:9: '}'
             {
-            match('{'); 
+            match('}'); 
 
             }
 
@@ -110,10 +131,11 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:13:7: ( '}' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:13:9: '}'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:14:7: ( 'Mapping' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:14:9: 'Mapping'
             {
-            match('}'); 
+            match("Mapping"); 
+
 
             }
 
@@ -130,10 +152,10 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:14:7: ( 'Mapping' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:14:9: 'Mapping'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:15:7: ( '->' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:15:9: '->'
             {
-            match("Mapping"); 
+            match("->"); 
 
 
             }
@@ -151,10 +173,10 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:15:7: ( '->' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:15:9: '->'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:16:7: ( 'SubSystemMapping' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:16:9: 'SubSystemMapping'
             {
-            match("->"); 
+            match("SubSystemMapping"); 
 
 
             }
@@ -172,10 +194,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:16:7: ( 'SubSystemMapping' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:16:9: 'SubSystemMapping'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:17:7: ( 'ThreadMapping' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:17:9: 'ThreadMapping'
             {
-            match("SubSystemMapping"); 
+            match("ThreadMapping"); 
 
 
             }
@@ -193,11 +215,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:17:7: ( 'ThreadMapping' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:17:9: 'ThreadMapping'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:18:7: ( '=' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:18:9: '='
             {
-            match("ThreadMapping"); 
-
+            match('='); 
 
             }
 
@@ -214,10 +235,11 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:18:7: ( '=' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:18:9: '='
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:19:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:19:9: 'optional'
             {
-            match('='); 
+            match("optional"); 
+
 
             }
 
@@ -234,10 +256,10 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:19:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:19:9: 'optional'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:20:7: ( 'mandatory' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:20:9: 'mandatory'
             {
-            match("optional"); 
+            match("mandatory"); 
 
 
             }
@@ -255,10 +277,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:20:7: ( 'mandatory' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:20:9: 'mandatory'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:21:7: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:21:9: 'attribute'
             {
-            match("mandatory"); 
+            match("attribute"); 
 
 
             }
@@ -276,11 +298,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:21:7: ( 'attribute' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:21:9: 'attribute'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:22:7: ( ':' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:22:9: ':'
             {
-            match("attribute"); 
-
+            match(':'); 
 
             }
 
@@ -297,10 +318,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:22:7: ( ':' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:22:9: ':'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:23:7: ( ',' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:23:9: ','
             {
-            match(':'); 
+            match(','); 
 
             }
 
@@ -317,10 +338,11 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:23:7: ( ',' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:23:9: ','
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:24:7: ( 'import' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:24:9: 'import'
             {
-            match(','); 
+            match("import"); 
+
 
             }
 
@@ -337,10 +359,10 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:24:7: ( 'import' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:24:9: 'import'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:25:7: ( 'from' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:25:9: 'from'
             {
-            match("import"); 
+            match("from"); 
 
 
             }
@@ -358,10 +380,10 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:25:7: ( 'from' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:25:9: 'from'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:26:7: ( 'model' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:26:9: 'model'
             {
-            match("from"); 
+            match("model"); 
 
 
             }
@@ -379,10 +401,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:26:7: ( 'model' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:26:9: 'model'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:27:7: ( '.*' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:27:9: '.*'
             {
-            match("model"); 
+            match(".*"); 
 
 
             }
@@ -400,11 +422,10 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:27:7: ( '.*' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:27:9: '.*'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:28:7: ( '[' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:28:9: '['
             {
-            match(".*"); 
-
+            match('['); 
 
             }
 
@@ -421,10 +442,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:28:7: ( '[' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:28:9: '['
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:29:7: ( ']' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:29:9: ']'
             {
-            match('['); 
+            match(']'); 
 
             }
 
@@ -441,10 +462,11 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:29:7: ( ']' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:29:9: ']'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:30:7: ( 'false' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:30:9: 'false'
             {
-            match(']'); 
+            match("false"); 
+
 
             }
 
@@ -461,10 +483,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:30:7: ( 'false' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:30:9: 'false'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:31:7: ( 'true' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:31:9: 'true'
             {
-            match("false"); 
+            match("true"); 
 
 
             }
@@ -482,11 +504,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:31:7: ( 'true' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:31:9: 'true'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:32:7: ( '+' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:32:9: '+'
             {
-            match("true"); 
-
+            match('+'); 
 
             }
 
@@ -503,10 +524,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:32:7: ( '+' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:32:9: '+'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:33:7: ( '-' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:33:9: '-'
             {
-            match('+'); 
+            match('-'); 
 
             }
 
@@ -523,10 +544,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:33:7: ( '-' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:33:9: '-'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:34:7: ( '.' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:34:9: '.'
             {
-            match('-'); 
+            match('.'); 
 
             }
 
@@ -543,10 +564,10 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:34:7: ( '.' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:34:9: '.'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:35:7: ( 'e' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:35:9: 'e'
             {
-            match('.'); 
+            match('e'); 
 
             }
 
@@ -563,11 +584,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:35:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:35:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:36:7: ( 'E' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:36:9: 'E'
             {
-            match("ptBoolean"); 
-
+            match('E'); 
 
             }
 
@@ -584,10 +604,10 @@
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:36:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:36:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:37:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:37:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -605,10 +625,10 @@
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:37:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:37:9: 'ptReal'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:38:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:38:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -626,10 +646,10 @@
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:38:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:38:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:39:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:39:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -642,42 +662,74 @@
     }
     // $ANTLR end "T__40"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__41"
+    public final void mT__41() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1667:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1667:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:40:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:40:9: 'ptCharacter'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("ptCharacter"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1667:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__41"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1471:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1471:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1471:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1471:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1471:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -685,23 +737,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1667:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1471:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1667:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -724,109 +784,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1669:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1669:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1669:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1669:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1669:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1669:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -834,19 +791,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1671:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1671:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1473:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1473:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1671:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1473:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1671:11: '^'
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1473:11: '^'
                     {
                     match('^'); 
 
@@ -864,18 +821,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1671:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1473:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:
             	    {
@@ -893,7 +850,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -913,24 +870,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1673:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1673:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1475:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1475:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1673:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1475:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1673:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1475:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -938,12 +895,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -962,47 +919,47 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1675:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1675:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1477:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1477:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1675:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1477:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1675:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1477:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1675:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1477:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1675:21: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1477:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1010,7 +967,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1675:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1477:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1026,7 +983,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -1035,26 +992,26 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1675:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1477:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1675:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1477:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1675:54: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1477:54: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1062,7 +1019,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1675:61: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1477:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1078,7 +1035,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -1105,37 +1062,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1677:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1677:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1479:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1479:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1677:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1479:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1677:52: .
+            	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1479:52: .
             	    {
             	    matchAny(); 
 
@@ -1143,7 +1100,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -1165,25 +1122,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1679:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1679:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1481:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1481:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1679:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1481:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1679:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1481: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();
@@ -1199,31 +1156,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1679:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1481:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1679:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1481:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1679:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1481:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1679:41: '\\r'
+                            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1481:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1255,22 +1212,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1681:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1681:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1483:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1483:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1681:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1483:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:
             	    {
@@ -1288,12 +1245,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -1312,8 +1269,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1683:16: ( . )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1683:18: .
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1485:16: ( . )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1485:18: .
             {
             matchAny(); 
 
@@ -1328,264 +1285,271 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:8: ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=37;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:8: ( 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 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=38;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:10: T__13
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:148: T__36
+            case 25 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:154: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:154: T__37
+            case 26 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:160: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:160: T__38
+            case 27 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:166: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:166: T__39
+            case 28 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:172: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:172: T__40
+            case 29 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:178: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:178: RULE_EXP
+            case 30 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:184: T__41
                 {
-                mRULE_EXP(); 
+                mT__41(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:187: RULE_HEX
+            case 31 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:190: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:196: RULE_ID
+            case 32 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:199: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:204: RULE_INT
+            case 33 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:207: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 33 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:213: RULE_STRING
+            case 34 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:216: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 34 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:225: RULE_ML_COMMENT
+            case 35 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:228: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 35 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:241: RULE_SL_COMMENT
+            case 36 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:244: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 36 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:257: RULE_WS
+            case 37 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:260: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 37 :
-                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:265: RULE_ANY_OTHER
+            case 38 :
+                // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1:268: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -1597,131 +1561,130 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\1\uffff\1\40\2\uffff\1\44\2\40\1\uffff\3\40\2\uffff\2\40\1\62"+
-        "\2\uffff\1\40\1\uffff\2\40\1\73\1\36\2\uffff\3\36\2\uffff\1\40\5"+
-        "\uffff\2\40\1\uffff\4\40\2\uffff\3\40\4\uffff\1\40\1\uffff\1\40"+
-        "\1\71\7\uffff\27\40\1\146\1\40\1\150\11\40\1\162\2\40\1\uffff\1"+
-        "\165\1\uffff\11\40\1\uffff\1\40\1\u0080\1\uffff\2\40\1\u0083\1\40"+
-        "\1\u0086\5\40\1\uffff\2\40\1\uffff\2\40\1\uffff\2\40\1\u0092\10"+
-        "\40\1\uffff\1\u009b\1\u009c\1\u009d\1\u009e\4\40\4\uffff\4\40\1"+
-        "\u00a7\1\u00a8\2\40\2\uffff\1\40\1\u00ac\1\40\1\uffff\1\40\1\u00af"+
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\1\uffff\1\41\2\uffff\1\45\2\41\1\uffff\3\41\2\uffff\2\41\1\63"+
+        "\2\uffff\1\41\1\uffff\1\70\1\71\1\41\1\74\1\37\2\uffff\3\37\2\uffff"+
+        "\1\41\5\uffff\2\41\1\uffff\4\41\2\uffff\3\41\4\uffff\1\41\3\uffff"+
+        "\1\41\6\uffff\27\41\1\147\1\41\1\151\11\41\1\163\2\41\1\uffff\1"+
+        "\166\1\uffff\11\41\1\uffff\1\41\1\u0081\1\uffff\2\41\1\u0084\1\41"+
+        "\1\u0087\5\41\1\uffff\2\41\1\uffff\2\41\1\uffff\2\41\1\u0093\10"+
+        "\41\1\uffff\1\u009c\1\u009d\1\u009e\1\u009f\4\41\4\uffff\4\41\1"+
+        "\u00a8\1\u00a9\2\41\2\uffff\1\41\1\u00ad\1\41\1\uffff\1\41\1\u00b0"+
         "\1\uffff";
-    static final String DFA16_eofS =
-        "\u00b0\uffff";
-    static final String DFA16_minS =
+    static final String DFA14_eofS =
+        "\u00b1\uffff";
+    static final String DFA14_minS =
         "\1\0\1\141\2\uffff\1\76\1\165\1\150\1\uffff\1\160\1\141\1\164\2"+
-        "\uffff\1\155\1\141\1\52\2\uffff\1\162\1\uffff\1\164\1\53\1\130\1"+
+        "\uffff\1\155\1\141\1\52\2\uffff\1\162\1\uffff\2\60\1\164\1\130\1"+
         "\101\2\uffff\2\0\1\52\2\uffff\1\160\5\uffff\1\142\1\162\1\uffff"+
         "\1\164\1\156\1\144\1\164\2\uffff\1\160\1\157\1\154\4\uffff\1\165"+
-        "\1\uffff\1\102\1\60\7\uffff\1\160\1\123\1\145\1\151\1\144\1\145"+
-        "\1\162\1\157\1\155\1\163\1\145\1\157\1\156\1\145\1\150\1\151\1\171"+
-        "\1\141\1\157\1\141\1\154\1\151\1\162\1\60\1\145\1\60\1\157\1\164"+
-        "\2\141\1\156\1\163\1\144\1\156\1\164\1\60\1\142\1\164\1\uffff\1"+
-        "\60\1\uffff\1\154\1\145\1\154\1\162\1\147\1\164\1\115\1\141\1\157"+
-        "\1\uffff\1\165\1\60\1\uffff\1\145\1\147\1\60\1\141\1\60\1\145\1"+
-        "\141\1\154\1\162\1\164\1\uffff\1\141\1\145\1\uffff\1\143\1\157\1"+
-        "\uffff\1\155\1\160\1\60\1\171\1\145\1\156\1\162\1\164\1\144\1\115"+
-        "\1\160\1\uffff\4\60\2\145\1\141\1\151\4\uffff\1\162\1\154\1\160"+
-        "\1\156\2\60\1\160\1\147\2\uffff\1\151\1\60\1\156\1\uffff\1\147\1"+
-        "\60\1\uffff";
-    static final String DFA16_maxS =
+        "\3\uffff\1\102\6\uffff\1\160\1\123\1\145\1\151\1\144\1\145\1\162"+
+        "\1\157\1\155\1\163\1\145\1\157\1\156\1\145\1\150\1\151\1\171\1\141"+
+        "\1\157\1\141\1\154\1\151\1\162\1\60\1\145\1\60\1\157\1\164\2\141"+
+        "\1\156\1\163\1\144\1\156\1\164\1\60\1\142\1\164\1\uffff\1\60\1\uffff"+
+        "\1\154\1\145\1\154\1\162\1\147\1\164\1\115\1\141\1\157\1\uffff\1"+
+        "\165\1\60\1\uffff\1\145\1\147\1\60\1\141\1\60\1\145\1\141\1\154"+
+        "\1\162\1\164\1\uffff\1\141\1\145\1\uffff\1\143\1\157\1\uffff\1\155"+
+        "\1\160\1\60\1\171\1\145\1\156\1\162\1\164\1\144\1\115\1\160\1\uffff"+
+        "\4\60\2\145\1\141\1\151\4\uffff\1\162\1\154\1\160\1\156\2\60\1\160"+
+        "\1\147\2\uffff\1\151\1\60\1\156\1\uffff\1\147\1\60\1\uffff";
+    static final String DFA14_maxS =
         "\1\uffff\1\141\2\uffff\1\76\1\165\1\150\1\uffff\1\160\1\157\1\164"+
-        "\2\uffff\1\155\1\162\1\52\2\uffff\1\162\1\uffff\1\164\1\71\1\170"+
+        "\2\uffff\1\155\1\162\1\52\2\uffff\1\162\1\uffff\2\172\1\164\1\170"+
         "\1\172\2\uffff\2\uffff\1\57\2\uffff\1\160\5\uffff\1\142\1\162\1"+
         "\uffff\1\164\1\156\1\144\1\164\2\uffff\1\160\1\157\1\154\4\uffff"+
-        "\1\165\1\uffff\1\122\1\172\7\uffff\1\160\1\123\1\145\1\151\1\144"+
-        "\1\145\1\162\1\157\1\155\1\163\1\145\1\157\1\156\1\145\1\150\1\151"+
-        "\1\171\1\141\1\157\1\141\1\154\1\151\1\162\1\172\1\145\1\172\1\157"+
-        "\1\164\2\141\1\156\1\163\1\144\1\156\1\164\1\172\1\142\1\164\1\uffff"+
-        "\1\172\1\uffff\1\154\1\145\1\154\1\162\1\147\1\164\1\115\1\141\1"+
-        "\157\1\uffff\1\165\1\172\1\uffff\1\145\1\147\1\172\1\141\1\172\1"+
-        "\145\1\141\1\154\1\162\1\164\1\uffff\1\141\1\145\1\uffff\1\143\1"+
-        "\157\1\uffff\1\155\1\160\1\172\1\171\1\145\1\156\1\162\1\164\1\144"+
-        "\1\115\1\160\1\uffff\4\172\2\145\1\141\1\151\4\uffff\1\162\1\154"+
-        "\1\160\1\156\2\172\1\160\1\147\2\uffff\1\151\1\172\1\156\1\uffff"+
-        "\1\147\1\172\1\uffff";
-    static final String DFA16_acceptS =
+        "\1\165\3\uffff\1\122\6\uffff\1\160\1\123\1\145\1\151\1\144\1\145"+
+        "\1\162\1\157\1\155\1\163\1\145\1\157\1\156\1\145\1\150\1\151\1\171"+
+        "\1\141\1\157\1\141\1\154\1\151\1\162\1\172\1\145\1\172\1\157\1\164"+
+        "\2\141\1\156\1\163\1\144\1\156\1\164\1\172\1\142\1\164\1\uffff\1"+
+        "\172\1\uffff\1\154\1\145\1\154\1\162\1\147\1\164\1\115\1\141\1\157"+
+        "\1\uffff\1\165\1\172\1\uffff\1\145\1\147\1\172\1\141\1\172\1\145"+
+        "\1\141\1\154\1\162\1\164\1\uffff\1\141\1\145\1\uffff\1\143\1\157"+
+        "\1\uffff\1\155\1\160\1\172\1\171\1\145\1\156\1\162\1\164\1\144\1"+
+        "\115\1\160\1\uffff\4\172\2\145\1\141\1\151\4\uffff\1\162\1\154\1"+
+        "\160\1\156\2\172\1\160\1\147\2\uffff\1\151\1\172\1\156\1\uffff\1"+
+        "\147\1\172\1\uffff";
+    static final String DFA14_acceptS =
         "\2\uffff\1\2\1\3\3\uffff\1\10\3\uffff\1\14\1\15\3\uffff\1\22\1"+
-        "\23\1\uffff\1\26\4\uffff\1\37\1\40\3\uffff\1\44\1\45\1\uffff\1\37"+
+        "\23\1\uffff\1\26\5\uffff\1\40\1\41\3\uffff\1\45\1\46\1\uffff\1\40"+
         "\1\2\1\3\1\5\1\27\2\uffff\1\10\4\uffff\1\14\1\15\3\uffff\1\21\1"+
-        "\30\1\22\1\23\1\uffff\1\26\2\uffff\1\35\1\36\1\40\1\41\1\42\1\43"+
-        "\1\44\46\uffff\1\17\1\uffff\1\25\11\uffff\1\20\2\uffff\1\24\12\uffff"+
-        "\1\16\2\uffff\1\33\2\uffff\1\4\13\uffff\1\11\10\uffff\1\12\1\13"+
-        "\1\31\1\32\10\uffff\1\34\1\1\3\uffff\1\7\2\uffff\1\6";
-    static final String DFA16_specialS =
-        "\1\1\31\uffff\1\0\1\2\u0094\uffff}>";
-    static final String[] DFA16_transitionS = {
-            "\11\36\2\35\2\36\1\35\22\36\1\35\1\36\1\32\4\36\1\33\3\36\1"+
-            "\23\1\14\1\4\1\17\1\34\1\26\11\31\1\13\2\36\1\7\3\36\4\30\1"+
-            "\25\7\30\1\1\5\30\1\5\1\6\6\30\1\20\1\36\1\21\1\27\1\30\1\36"+
-            "\1\12\3\30\1\25\1\16\2\30\1\15\3\30\1\11\1\30\1\10\1\24\3\30"+
-            "\1\22\6\30\1\2\1\36\1\3\uff82\36",
-            "\1\37",
+        "\30\1\22\1\23\1\uffff\1\26\1\31\1\32\1\uffff\1\37\1\41\1\42\1\43"+
+        "\1\44\1\45\46\uffff\1\17\1\uffff\1\25\11\uffff\1\20\2\uffff\1\24"+
+        "\12\uffff\1\16\2\uffff\1\35\2\uffff\1\4\13\uffff\1\11\10\uffff\1"+
+        "\12\1\13\1\33\1\34\10\uffff\1\36\1\1\3\uffff\1\7\2\uffff\1\6";
+    static final String DFA14_specialS =
+        "\1\1\32\uffff\1\0\1\2\u0094\uffff}>";
+    static final String[] DFA14_transitionS = {
+            "\11\37\2\36\2\37\1\36\22\37\1\36\1\37\1\33\4\37\1\34\3\37\1"+
+            "\23\1\14\1\4\1\17\1\35\1\27\11\32\1\13\2\37\1\7\3\37\4\31\1"+
+            "\25\7\31\1\1\5\31\1\5\1\6\6\31\1\20\1\37\1\21\1\30\1\31\1\37"+
+            "\1\12\3\31\1\24\1\16\2\31\1\15\3\31\1\11\1\31\1\10\1\26\3\31"+
+            "\1\22\6\31\1\2\1\37\1\3\uff82\37",
+            "\1\40",
             "",
             "",
-            "\1\43",
-            "\1\45",
+            "\1\44",
             "\1\46",
+            "\1\47",
             "",
-            "\1\50",
-            "\1\51\15\uffff\1\52",
-            "\1\53",
+            "\1\51",
+            "\1\52\15\uffff\1\53",
+            "\1\54",
             "",
             "",
-            "\1\56",
-            "\1\60\20\uffff\1\57",
-            "\1\61",
+            "\1\57",
+            "\1\61\20\uffff\1\60",
+            "\1\62",
             "",
             "",
-            "\1\65",
+            "\1\66",
             "",
-            "\1\67",
-            "\1\71\1\uffff\1\71\2\uffff\12\70",
-            "\1\72\37\uffff\1\72",
-            "\32\40\4\uffff\1\40\1\uffff\32\40",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "\1\72",
+            "\1\73\37\uffff\1\73",
+            "\32\41\4\uffff\1\41\1\uffff\32\41",
             "",
             "",
-            "\0\74",
-            "\0\74",
-            "\1\75\4\uffff\1\76",
-            "",
-            "",
-            "\1\100",
-            "",
-            "",
-            "",
+            "\0\75",
+            "\0\75",
+            "\1\76\4\uffff\1\77",
             "",
             "",
             "\1\101",
-            "\1\102",
             "",
+            "",
+            "",
+            "",
+            "",
+            "\1\102",
             "\1\103",
+            "",
             "\1\104",
             "\1\105",
             "\1\106",
-            "",
-            "",
             "\1\107",
+            "",
+            "",
             "\1\110",
             "\1\111",
-            "",
-            "",
-            "",
-            "",
             "\1\112",
             "",
-            "\1\113\1\116\5\uffff\1\114\10\uffff\1\115",
-            "\12\70\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
+            "",
+            "",
+            "",
+            "\1\113",
+            "",
+            "",
+            "",
+            "\1\114\1\117\5\uffff\1\115\10\uffff\1\116",
             "",
             "",
             "",
             "",
             "",
             "",
-            "",
-            "\1\117",
             "\1\120",
             "\1\121",
             "\1\122",
@@ -1744,10 +1707,10 @@
             "\1\143",
             "\1\144",
             "\1\145",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\1\147",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\1\151",
+            "\1\146",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "\1\150",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
             "\1\152",
             "\1\153",
             "\1\154",
@@ -1756,13 +1719,13 @@
             "\1\157",
             "\1\160",
             "\1\161",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\1\163",
+            "\1\162",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
             "\1\164",
+            "\1\165",
             "",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
             "",
-            "\1\166",
             "\1\167",
             "\1\170",
             "\1\171",
@@ -1771,32 +1734,32 @@
             "\1\174",
             "\1\175",
             "\1\176",
-            "",
             "\1\177",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
             "",
-            "\1\u0081",
+            "\1\u0080",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "",
             "\1\u0082",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\1\u0084",
-            "\12\40\7\uffff\14\40\1\u0085\15\40\4\uffff\1\40\1\uffff\32"+
-            "\40",
-            "\1\u0087",
+            "\1\u0083",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "\1\u0085",
+            "\12\41\7\uffff\14\41\1\u0086\15\41\4\uffff\1\41\1\uffff\32"+
+            "\41",
             "\1\u0088",
             "\1\u0089",
             "\1\u008a",
             "\1\u008b",
-            "",
             "\1\u008c",
+            "",
             "\1\u008d",
-            "",
             "\1\u008e",
-            "\1\u008f",
             "",
+            "\1\u008f",
             "\1\u0090",
+            "",
             "\1\u0091",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\1\u0093",
+            "\1\u0092",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
             "\1\u0094",
             "\1\u0095",
             "\1\u0096",
@@ -1804,163 +1767,166 @@
             "\1\u0098",
             "\1\u0099",
             "\1\u009a",
+            "\1\u009b",
             "",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\1\u009f",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
             "\1\u00a0",
             "\1\u00a1",
             "\1\u00a2",
-            "",
-            "",
-            "",
-            "",
             "\1\u00a3",
+            "",
+            "",
+            "",
+            "",
             "\1\u00a4",
             "\1\u00a5",
             "\1\u00a6",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\1\u00a9",
+            "\1\u00a7",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
             "\1\u00aa",
-            "",
-            "",
             "\1\u00ab",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
-            "\1\u00ad",
             "",
+            "",
+            "\1\u00ac",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
             "\1\u00ae",
-            "\12\40\7\uffff\32\40\4\uffff\1\40\1\uffff\32\40",
+            "",
+            "\1\u00af",
+            "\12\41\7\uffff\32\41\4\uffff\1\41\1\uffff\32\41",
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( 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 | RULE_HEX | 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 LA16_26 = input.LA(1);
+                        int LA14_27 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_26>='\u0000' && LA16_26<='\uFFFF')) ) {s = 60;}
+                        if ( ((LA14_27>='\u0000' && LA14_27<='\uFFFF')) ) {s = 61;}
 
-                        else s = 30;
+                        else s = 31;
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_0 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='M') ) {s = 1;}
+                        if ( (LA14_0=='M') ) {s = 1;}
 
-                        else if ( (LA16_0=='{') ) {s = 2;}
+                        else if ( (LA14_0=='{') ) {s = 2;}
 
-                        else if ( (LA16_0=='}') ) {s = 3;}
+                        else if ( (LA14_0=='}') ) {s = 3;}
 
-                        else if ( (LA16_0=='-') ) {s = 4;}
+                        else if ( (LA14_0=='-') ) {s = 4;}
 
-                        else if ( (LA16_0=='S') ) {s = 5;}
+                        else if ( (LA14_0=='S') ) {s = 5;}
 
-                        else if ( (LA16_0=='T') ) {s = 6;}
+                        else if ( (LA14_0=='T') ) {s = 6;}
 
-                        else if ( (LA16_0=='=') ) {s = 7;}
+                        else if ( (LA14_0=='=') ) {s = 7;}
 
-                        else if ( (LA16_0=='o') ) {s = 8;}
+                        else if ( (LA14_0=='o') ) {s = 8;}
 
-                        else if ( (LA16_0=='m') ) {s = 9;}
+                        else if ( (LA14_0=='m') ) {s = 9;}
 
-                        else if ( (LA16_0=='a') ) {s = 10;}
+                        else if ( (LA14_0=='a') ) {s = 10;}
 
-                        else if ( (LA16_0==':') ) {s = 11;}
+                        else if ( (LA14_0==':') ) {s = 11;}
 
-                        else if ( (LA16_0==',') ) {s = 12;}
+                        else if ( (LA14_0==',') ) {s = 12;}
 
-                        else if ( (LA16_0=='i') ) {s = 13;}
+                        else if ( (LA14_0=='i') ) {s = 13;}
 
-                        else if ( (LA16_0=='f') ) {s = 14;}
+                        else if ( (LA14_0=='f') ) {s = 14;}
 
-                        else if ( (LA16_0=='.') ) {s = 15;}
+                        else if ( (LA14_0=='.') ) {s = 15;}
 
-                        else if ( (LA16_0=='[') ) {s = 16;}
+                        else if ( (LA14_0=='[') ) {s = 16;}
 
-                        else if ( (LA16_0==']') ) {s = 17;}
+                        else if ( (LA14_0==']') ) {s = 17;}
 
-                        else if ( (LA16_0=='t') ) {s = 18;}
+                        else if ( (LA14_0=='t') ) {s = 18;}
 
-                        else if ( (LA16_0=='+') ) {s = 19;}
+                        else if ( (LA14_0=='+') ) {s = 19;}
 
-                        else if ( (LA16_0=='p') ) {s = 20;}
+                        else if ( (LA14_0=='e') ) {s = 20;}
 
-                        else if ( (LA16_0=='E'||LA16_0=='e') ) {s = 21;}
+                        else if ( (LA14_0=='E') ) {s = 21;}
 
-                        else if ( (LA16_0=='0') ) {s = 22;}
+                        else if ( (LA14_0=='p') ) {s = 22;}
 
-                        else if ( (LA16_0=='^') ) {s = 23;}
+                        else if ( (LA14_0=='0') ) {s = 23;}
 
-                        else if ( ((LA16_0>='A' && LA16_0<='D')||(LA16_0>='F' && LA16_0<='L')||(LA16_0>='N' && LA16_0<='R')||(LA16_0>='U' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='b' && LA16_0<='d')||(LA16_0>='g' && LA16_0<='h')||(LA16_0>='j' && LA16_0<='l')||LA16_0=='n'||(LA16_0>='q' && LA16_0<='s')||(LA16_0>='u' && LA16_0<='z')) ) {s = 24;}
+                        else if ( (LA14_0=='^') ) {s = 24;}
 
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 25;}
+                        else if ( ((LA14_0>='A' && LA14_0<='D')||(LA14_0>='F' && LA14_0<='L')||(LA14_0>='N' && LA14_0<='R')||(LA14_0>='U' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='b' && LA14_0<='d')||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='l')||LA14_0=='n'||(LA14_0>='q' && LA14_0<='s')||(LA14_0>='u' && LA14_0<='z')) ) {s = 25;}
 
-                        else if ( (LA16_0=='\"') ) {s = 26;}
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 26;}
 
-                        else if ( (LA16_0=='\'') ) {s = 27;}
+                        else if ( (LA14_0=='\"') ) {s = 27;}
 
-                        else if ( (LA16_0=='/') ) {s = 28;}
+                        else if ( (LA14_0=='\'') ) {s = 28;}
 
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 29;}
+                        else if ( (LA14_0=='/') ) {s = 29;}
 
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||(LA16_0>='(' && LA16_0<='*')||(LA16_0>=';' && LA16_0<='<')||(LA16_0>='>' && LA16_0<='@')||LA16_0=='\\'||LA16_0=='`'||LA16_0=='|'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 30;}
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 30;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||(LA14_0>='(' && LA14_0<='*')||(LA14_0>=';' && LA14_0<='<')||(LA14_0>='>' && LA14_0<='@')||LA14_0=='\\'||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 31;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA16_27 = input.LA(1);
+                        int LA14_28 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_27>='\u0000' && LA16_27<='\uFFFF')) ) {s = 60;}
+                        if ( ((LA14_28>='\u0000' && LA14_28<='\uFFFF')) ) {s = 61;}
 
-                        else s = 30;
+                        else s = 31;
 
                         if ( s>=0 ) return s;
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapParser.java b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapParser.java
index 37dd493..550fad2 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapParser.java
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMapParser.java
@@ -22,46 +22,47 @@
 @SuppressWarnings("all")
 public class InternalETMapParser extends AbstractInternalAntlrParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_EXP", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'MappingModel'", "'{'", "'}'", "'Mapping'", "'->'", "'SubSystemMapping'", "'ThreadMapping'", "'='", "'optional'", "'mandatory'", "'attribute'", "':'", "','", "'import'", "'from'", "'model'", "'.*'", "'['", "']'", "'false'", "'true'", "'+'", "'-'", "'.'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'MappingModel'", "'{'", "'}'", "'Mapping'", "'->'", "'SubSystemMapping'", "'ThreadMapping'", "'='", "'optional'", "'mandatory'", "'attribute'", "':'", "','", "'import'", "'from'", "'model'", "'.*'", "'['", "']'", "'false'", "'true'", "'+'", "'-'", "'.'", "'e'", "'E'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
     };
-    public static final int RULE_EXP=8;
-    public static final int RULE_ID=4;
-    public static final int T__40=40;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int EOF=-1;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__19=19;
-    public static final int T__31=31;
     public static final int RULE_HEX=7;
     public static final int RULE_STRING=5;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__16=16;
-    public static final int T__34=34;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__19=19;
     public static final int T__15=15;
-    public static final int T__35=35;
-    public static final int T__18=18;
-    public static final int T__36=36;
-    public static final int T__17=17;
     public static final int T__37=37;
+    public static final int T__16=16;
     public static final int T__38=38;
+    public static final int T__17=17;
     public static final int T__39=39;
-    public static final int T__14=14;
+    public static final int T__18=18;
+    public static final int T__33=33;
+    public static final int T__12=12;
+    public static final int T__34=34;
     public static final int T__13=13;
+    public static final int T__35=35;
+    public static final int T__14=14;
+    public static final int T__36=36;
+    public static final int EOF=-1;
+    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_ID=4;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int RULE_WS=11;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__20=20;
+    public static final int T__21=21;
 
     // delegates
     // delegators
@@ -161,7 +162,7 @@
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:81:1: (otherlv_0= 'MappingModel' ( (lv_name_1_0= ruleFQN ) ) otherlv_2= '{' ( (lv_imports_3_0= ruleImport ) )* ( (lv_mappings_4_0= ruleMapping ) )* otherlv_5= '}' )
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:81:3: otherlv_0= 'MappingModel' ( (lv_name_1_0= ruleFQN ) ) otherlv_2= '{' ( (lv_imports_3_0= ruleImport ) )* ( (lv_mappings_4_0= ruleMapping ) )* otherlv_5= '}'
             {
-            otherlv_0=(Token)match(input,13,FOLLOW_13_in_ruleMappingModel122); 
+            otherlv_0=(Token)match(input,12,FOLLOW_12_in_ruleMappingModel122); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getMappingModelAccess().getMappingModelKeyword_0());
                 
@@ -196,7 +197,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleMappingModel155); 
+            otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleMappingModel155); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getMappingModelAccess().getLeftCurlyBracketKeyword_2());
                 
@@ -206,7 +207,7 @@
                 int alt1=2;
                 int LA1_0 = input.LA(1);
 
-                if ( (LA1_0==26) ) {
+                if ( (LA1_0==25) ) {
                     alt1=1;
                 }
 
@@ -255,7 +256,7 @@
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( (LA2_0==16) ) {
+                if ( (LA2_0==15) ) {
                     alt2=1;
                 }
 
@@ -298,7 +299,7 @@
                 }
             } while (true);
 
-            otherlv_5=(Token)match(input,15,FOLLOW_15_in_ruleMappingModel211); 
+            otherlv_5=(Token)match(input,14,FOLLOW_14_in_ruleMappingModel211); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getMappingModelAccess().getRightCurlyBracketKeyword_5());
                 
@@ -379,7 +380,7 @@
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:168:1: (otherlv_0= 'Mapping' ( ( ruleFQN ) ) otherlv_2= '->' ( ( ruleFQN ) ) otherlv_4= '{' ( (lv_subsysMappings_5_0= ruleSubSystemMapping ) )* otherlv_6= '}' )
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:168:3: otherlv_0= 'Mapping' ( ( ruleFQN ) ) otherlv_2= '->' ( ( ruleFQN ) ) otherlv_4= '{' ( (lv_subsysMappings_5_0= ruleSubSystemMapping ) )* otherlv_6= '}'
             {
-            otherlv_0=(Token)match(input,16,FOLLOW_16_in_ruleMapping294); 
+            otherlv_0=(Token)match(input,15,FOLLOW_15_in_ruleMapping294); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getMappingAccess().getMappingKeyword_0());
                 
@@ -411,7 +412,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,17,FOLLOW_17_in_ruleMapping329); 
+            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleMapping329); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getMappingAccess().getHyphenMinusGreaterThanSignKeyword_2());
                 
@@ -443,7 +444,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleMapping364); 
+            otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleMapping364); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getMappingAccess().getLeftCurlyBracketKeyword_4());
                 
@@ -453,7 +454,7 @@
                 int alt3=2;
                 int LA3_0 = input.LA(1);
 
-                if ( (LA3_0==18) ) {
+                if ( (LA3_0==17) ) {
                     alt3=1;
                 }
 
@@ -496,7 +497,7 @@
                 }
             } while (true);
 
-            otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleMapping398); 
+            otherlv_6=(Token)match(input,14,FOLLOW_14_in_ruleMapping398); 
 
                 	newLeafNode(otherlv_6, grammarAccess.getMappingAccess().getRightCurlyBracketKeyword_6());
                 
@@ -579,7 +580,7 @@
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:253:1: (otherlv_0= 'SubSystemMapping' ( (otherlv_1= RULE_ID ) ) otherlv_2= '->' ( (otherlv_3= RULE_ID ) ) (otherlv_4= '{' ( (lv_threadMappings_5_0= ruleThreadMapping ) )* otherlv_6= '}' )? )
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:253:3: otherlv_0= 'SubSystemMapping' ( (otherlv_1= RULE_ID ) ) otherlv_2= '->' ( (otherlv_3= RULE_ID ) ) (otherlv_4= '{' ( (lv_threadMappings_5_0= ruleThreadMapping ) )* otherlv_6= '}' )?
             {
-            otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleSubSystemMapping481); 
+            otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleSubSystemMapping481); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getSubSystemMappingAccess().getSubSystemMappingKeyword_0());
                 
@@ -604,7 +605,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,17,FOLLOW_17_in_ruleSubSystemMapping513); 
+            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleSubSystemMapping513); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getSubSystemMappingAccess().getHyphenMinusGreaterThanSignKeyword_2());
                 
@@ -633,14 +634,14 @@
             int alt5=2;
             int LA5_0 = input.LA(1);
 
-            if ( (LA5_0==14) ) {
+            if ( (LA5_0==13) ) {
                 alt5=1;
             }
             switch (alt5) {
                 case 1 :
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:287:4: otherlv_4= '{' ( (lv_threadMappings_5_0= ruleThreadMapping ) )* otherlv_6= '}'
                     {
-                    otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleSubSystemMapping546); 
+                    otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleSubSystemMapping546); 
 
                         	newLeafNode(otherlv_4, grammarAccess.getSubSystemMappingAccess().getLeftCurlyBracketKeyword_4_0());
                         
@@ -650,7 +651,7 @@
                         int alt4=2;
                         int LA4_0 = input.LA(1);
 
-                        if ( (LA4_0==19) ) {
+                        if ( (LA4_0==18) ) {
                             alt4=1;
                         }
 
@@ -693,7 +694,7 @@
                         }
                     } while (true);
 
-                    otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleSubSystemMapping580); 
+                    otherlv_6=(Token)match(input,14,FOLLOW_14_in_ruleSubSystemMapping580); 
 
                         	newLeafNode(otherlv_6, grammarAccess.getSubSystemMappingAccess().getRightCurlyBracketKeyword_4_2());
                         
@@ -778,7 +779,7 @@
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:334:1: (otherlv_0= 'ThreadMapping' ( (otherlv_1= RULE_ID ) ) otherlv_2= '->' ( (otherlv_3= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:334:3: otherlv_0= 'ThreadMapping' ( (otherlv_1= RULE_ID ) ) otherlv_2= '->' ( (otherlv_3= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,19,FOLLOW_19_in_ruleThreadMapping665); 
+            otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleThreadMapping665); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getThreadMappingAccess().getThreadMappingKeyword_0());
                 
@@ -803,7 +804,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,17,FOLLOW_17_in_ruleThreadMapping697); 
+            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleThreadMapping697); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getThreadMappingAccess().getHyphenMinusGreaterThanSignKeyword_2());
                 
@@ -929,7 +930,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,20,FOLLOW_20_in_ruleKeyValue824); 
+            otherlv_1=(Token)match(input,19,FOLLOW_19_in_ruleKeyValue824); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1());
                 
@@ -1113,22 +1114,22 @@
             int alt6=2;
             int LA6_0 = input.LA(1);
 
-            if ( (LA6_0==21) ) {
+            if ( (LA6_0==20) ) {
                 int LA6_1 = input.LA(2);
 
-                if ( (LA6_1==23) ) {
+                if ( (LA6_1==22) ) {
                     int LA6_3 = input.LA(3);
 
                     if ( (LA6_3==RULE_ID) ) {
                         int LA6_4 = input.LA(4);
 
-                        if ( (LA6_4==24) ) {
+                        if ( (LA6_4==23) ) {
                             int LA6_5 = input.LA(5);
 
-                            if ( ((LA6_5>=37 && LA6_5<=40)) ) {
+                            if ( ((LA6_5>=38 && LA6_5<=41)) ) {
                                 alt6=1;
                             }
-                            else if ( (LA6_5==14) ) {
+                            else if ( (LA6_5==13) ) {
                                 alt6=2;
                             }
                             else {
@@ -1159,22 +1160,22 @@
                     throw nvae;
                 }
             }
-            else if ( (LA6_0==22) ) {
+            else if ( (LA6_0==21) ) {
                 int LA6_2 = input.LA(2);
 
-                if ( (LA6_2==23) ) {
+                if ( (LA6_2==22) ) {
                     int LA6_3 = input.LA(3);
 
                     if ( (LA6_3==RULE_ID) ) {
                         int LA6_4 = input.LA(4);
 
-                        if ( (LA6_4==24) ) {
+                        if ( (LA6_4==23) ) {
                             int LA6_5 = input.LA(5);
 
-                            if ( ((LA6_5>=37 && LA6_5<=40)) ) {
+                            if ( ((LA6_5>=38 && LA6_5<=41)) ) {
                                 alt6=1;
                             }
-                            else if ( (LA6_5==14) ) {
+                            else if ( (LA6_5==13) ) {
                                 alt6=2;
                             }
                             else {
@@ -1330,10 +1331,10 @@
             int alt7=2;
             int LA7_0 = input.LA(1);
 
-            if ( (LA7_0==21) ) {
+            if ( (LA7_0==20) ) {
                 alt7=1;
             }
-            else if ( (LA7_0==22) ) {
+            else if ( (LA7_0==21) ) {
                 alt7=2;
             }
             else {
@@ -1352,7 +1353,7 @@
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:523:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:524:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,21,FOLLOW_21_in_ruleSimpleAnnotationAttribute1151); 
+                    lv_optional_0_0=(Token)match(input,20,FOLLOW_20_in_ruleSimpleAnnotationAttribute1151); 
 
                             newLeafNode(lv_optional_0_0, grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
                         
@@ -1374,7 +1375,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:538:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,22,FOLLOW_22_in_ruleSimpleAnnotationAttribute1182); 
+                    otherlv_1=(Token)match(input,21,FOLLOW_21_in_ruleSimpleAnnotationAttribute1182); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1());
                         
@@ -1384,7 +1385,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,23,FOLLOW_23_in_ruleSimpleAnnotationAttribute1195); 
+            otherlv_2=(Token)match(input,22,FOLLOW_22_in_ruleSimpleAnnotationAttribute1195); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1());
                 
@@ -1414,7 +1415,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,24,FOLLOW_24_in_ruleSimpleAnnotationAttribute1229); 
+            otherlv_4=(Token)match(input,23,FOLLOW_23_in_ruleSimpleAnnotationAttribute1229); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3());
                 
@@ -1534,10 +1535,10 @@
             int alt8=2;
             int LA8_0 = input.LA(1);
 
-            if ( (LA8_0==21) ) {
+            if ( (LA8_0==20) ) {
                 alt8=1;
             }
-            else if ( (LA8_0==22) ) {
+            else if ( (LA8_0==21) ) {
                 alt8=2;
             }
             else {
@@ -1556,7 +1557,7 @@
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:608:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:609:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,21,FOLLOW_21_in_ruleEnumAnnotationAttribute1340); 
+                    lv_optional_0_0=(Token)match(input,20,FOLLOW_20_in_ruleEnumAnnotationAttribute1340); 
 
                             newLeafNode(lv_optional_0_0, grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
                         
@@ -1578,7 +1579,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:623:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,22,FOLLOW_22_in_ruleEnumAnnotationAttribute1371); 
+                    otherlv_1=(Token)match(input,21,FOLLOW_21_in_ruleEnumAnnotationAttribute1371); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1());
                         
@@ -1588,7 +1589,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,23,FOLLOW_23_in_ruleEnumAnnotationAttribute1384); 
+            otherlv_2=(Token)match(input,22,FOLLOW_22_in_ruleEnumAnnotationAttribute1384); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1());
                 
@@ -1618,11 +1619,11 @@
 
             }
 
-            otherlv_4=(Token)match(input,24,FOLLOW_24_in_ruleEnumAnnotationAttribute1418); 
+            otherlv_4=(Token)match(input,23,FOLLOW_23_in_ruleEnumAnnotationAttribute1418); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3());
                 
-            otherlv_5=(Token)match(input,14,FOLLOW_14_in_ruleEnumAnnotationAttribute1430); 
+            otherlv_5=(Token)match(input,13,FOLLOW_13_in_ruleEnumAnnotationAttribute1430); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4());
                 
@@ -1658,7 +1659,7 @@
                 int alt9=2;
                 int LA9_0 = input.LA(1);
 
-                if ( (LA9_0==25) ) {
+                if ( (LA9_0==24) ) {
                     alt9=1;
                 }
 
@@ -1667,7 +1668,7 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:675:4: otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) )
             	    {
-            	    otherlv_7=(Token)match(input,25,FOLLOW_25_in_ruleEnumAnnotationAttribute1465); 
+            	    otherlv_7=(Token)match(input,24,FOLLOW_24_in_ruleEnumAnnotationAttribute1465); 
 
             	        	newLeafNode(otherlv_7, grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0());
             	        
@@ -1706,7 +1707,7 @@
                 }
             } while (true);
 
-            otherlv_9=(Token)match(input,15,FOLLOW_15_in_ruleEnumAnnotationAttribute1501); 
+            otherlv_9=(Token)match(input,14,FOLLOW_14_in_ruleEnumAnnotationAttribute1501); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7());
                 
@@ -1787,7 +1788,7 @@
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:722:1: (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) )
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:722:3: otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) )
             {
-            otherlv_0=(Token)match(input,26,FOLLOW_26_in_ruleImport1584); 
+            otherlv_0=(Token)match(input,25,FOLLOW_25_in_ruleImport1584); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
                 
@@ -1798,7 +1799,7 @@
             if ( (LA10_0==RULE_ID) ) {
                 alt10=1;
             }
-            else if ( (LA10_0==28) ) {
+            else if ( (LA10_0==27) ) {
                 alt10=2;
             }
             else {
@@ -1845,7 +1846,7 @@
 
                     }
 
-                    otherlv_2=(Token)match(input,27,FOLLOW_27_in_ruleImport1619); 
+                    otherlv_2=(Token)match(input,26,FOLLOW_26_in_ruleImport1619); 
 
                         	newLeafNode(otherlv_2, grammarAccess.getImportAccess().getFromKeyword_1_0_1());
                         
@@ -1858,7 +1859,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:749:7: otherlv_3= 'model'
                     {
-                    otherlv_3=(Token)match(input,28,FOLLOW_28_in_ruleImport1638); 
+                    otherlv_3=(Token)match(input,27,FOLLOW_27_in_ruleImport1638); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getImportAccess().getModelKeyword_1_1());
                         
@@ -1986,14 +1987,14 @@
             int alt11=2;
             int LA11_0 = input.LA(1);
 
-            if ( (LA11_0==29) ) {
+            if ( (LA11_0==28) ) {
                 alt11=1;
             }
             switch (alt11) {
                 case 1 :
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:804:2: kw= '.*'
                     {
-                    kw=(Token)match(input,29,FOLLOW_29_in_ruleImportedFQN1775); 
+                    kw=(Token)match(input,28,FOLLOW_28_in_ruleImportedFQN1775); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
@@ -2089,7 +2090,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,30,FOLLOW_30_in_ruleDocumentation1873); 
+            otherlv_1=(Token)match(input,29,FOLLOW_29_in_ruleDocumentation1873); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1());
                 
@@ -2137,7 +2138,7 @@
                 }
             } while (true);
 
-            otherlv_3=(Token)match(input,31,FOLLOW_31_in_ruleDocumentation1908); 
+            otherlv_3=(Token)match(input,30,FOLLOW_30_in_ruleDocumentation1908); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3());
                 
@@ -2218,17 +2219,16 @@
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:887:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
             int alt13=3;
             switch ( input.LA(1) ) {
+            case 31:
             case 32:
-            case 33:
                 {
                 alt13=1;
                 }
                 break;
             case RULE_INT:
             case RULE_HEX:
+            case 33:
             case 34:
-            case 35:
-            case 36:
                 {
                 alt13=2;
                 }
@@ -2388,10 +2388,10 @@
             int alt14=2;
             int LA14_0 = input.LA(1);
 
-            if ( (LA14_0==32) ) {
+            if ( (LA14_0==31) ) {
                 alt14=1;
             }
-            else if ( (LA14_0==33) ) {
+            else if ( (LA14_0==32) ) {
                 alt14=2;
             }
             else {
@@ -2404,7 +2404,7 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:943:4: otherlv_1= 'false'
                     {
-                    otherlv_1=(Token)match(input,32,FOLLOW_32_in_ruleBooleanLiteral2151); 
+                    otherlv_1=(Token)match(input,31,FOLLOW_31_in_ruleBooleanLiteral2151); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0());
                         
@@ -2420,7 +2420,7 @@
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:949:1: (lv_isTrue_2_0= 'true' )
                     // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:950:3: lv_isTrue_2_0= 'true'
                     {
-                    lv_isTrue_2_0=(Token)match(input,33,FOLLOW_33_in_ruleBooleanLiteral2175); 
+                    lv_isTrue_2_0=(Token)match(input,32,FOLLOW_32_in_ruleBooleanLiteral2175); 
 
                             newLeafNode(lv_isTrue_2_0, grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
                         
@@ -2517,7 +2517,7 @@
             // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:984:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
             int alt15=2;
             switch ( input.LA(1) ) {
-            case 34:
+            case 33:
                 {
                 int LA15_1 = input.LA(2);
 
@@ -2527,7 +2527,7 @@
                     if ( (LA15_3==EOF) ) {
                         alt15=1;
                     }
-                    else if ( (LA15_3==36) ) {
+                    else if ( (LA15_3==35) ) {
                         alt15=2;
                     }
                     else {
@@ -2537,9 +2537,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA15_1==36) ) {
-                    alt15=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 15, 1, input);
@@ -2548,7 +2545,7 @@
                 }
                 }
                 break;
-            case 35:
+            case 34:
                 {
                 int LA15_2 = input.LA(2);
 
@@ -2558,7 +2555,7 @@
                     if ( (LA15_3==EOF) ) {
                         alt15=1;
                     }
-                    else if ( (LA15_3==36) ) {
+                    else if ( (LA15_3==35) ) {
                         alt15=2;
                     }
                     else {
@@ -2568,9 +2565,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA15_2==36) ) {
-                    alt15=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 15, 2, input);
@@ -2586,7 +2580,7 @@
                 if ( (LA15_3==EOF) ) {
                     alt15=1;
                 }
-                else if ( (LA15_3==36) ) {
+                else if ( (LA15_3==35) ) {
                     alt15=2;
                 }
                 else {
@@ -2602,11 +2596,6 @@
                 alt15=1;
                 }
                 break;
-            case 36:
-                {
-                alt15=2;
-                }
-                break;
             default:
                 NoViableAltException nvae =
                     new NoViableAltException("", 15, 0, input);
@@ -3047,74 +3036,101 @@
 
 
     // $ANTLR start "ruleInteger"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1155:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) ;
+    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1155:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) ;
     public final AntlrDatatypeRuleToken ruleInteger() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
-        AntlrDatatypeRuleToken this_SignedInteger_0 = null;
-
-        AntlrDatatypeRuleToken this_Hexadecimal_1 = null;
-
+        Token kw=null;
+        Token this_INT_2=null;
+        Token this_HEX_3=null;
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1158:28: ( (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1159:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1158:28: ( ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1159:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1159:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
-            int alt16=2;
-            int LA16_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1159:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
+            int alt17=2;
+            int LA17_0 = input.LA(1);
 
-            if ( (LA16_0==RULE_INT||(LA16_0>=34 && LA16_0<=35)) ) {
-                alt16=1;
+            if ( (LA17_0==RULE_INT||(LA17_0>=33 && LA17_0<=34)) ) {
+                alt17=1;
             }
-            else if ( (LA16_0==RULE_HEX) ) {
-                alt16=2;
+            else if ( (LA17_0==RULE_HEX) ) {
+                alt17=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 16, 0, input);
+                    new NoViableAltException("", 17, 0, input);
 
                 throw nvae;
             }
-            switch (alt16) {
+            switch (alt17) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1160:5: this_SignedInteger_0= ruleSignedInteger
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1159:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleSignedInteger_in_ruleInteger2707);
-                    this_SignedInteger_0=ruleSignedInteger();
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1159:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1159:3: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
+                    {
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1159:3: (kw= '+' | kw= '-' )?
+                    int alt16=3;
+                    int LA16_0 = input.LA(1);
 
-                    state._fsp--;
+                    if ( (LA16_0==33) ) {
+                        alt16=1;
+                    }
+                    else if ( (LA16_0==34) ) {
+                        alt16=2;
+                    }
+                    switch (alt16) {
+                        case 1 :
+                            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1160:2: kw= '+'
+                            {
+                            kw=(Token)match(input,33,FOLLOW_33_in_ruleInteger2700); 
 
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                                
 
-                    		current.merge(this_SignedInteger_0);
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1167:2: kw= '-'
+                            {
+                            kw=(Token)match(input,34,FOLLOW_34_in_ruleInteger2719); 
+
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                                
+
+                            }
+                            break;
+
+                    }
+
+                    this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleInteger2736); 
+
+                    		current.merge(this_INT_2);
                         
                      
-                            afterParserOrEnumRuleCall();
+                        newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
                         
 
                     }
+
+
+                    }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1172:5: this_Hexadecimal_1= ruleHexadecimal
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1180:10: this_HEX_3= RULE_HEX
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleHexadecimal_in_ruleInteger2740);
-                    this_Hexadecimal_1=ruleHexadecimal();
+                    this_HEX_3=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleInteger2763); 
 
-                    state._fsp--;
-
-
-                    		current.merge(this_Hexadecimal_1);
+                    		current.merge(this_HEX_3);
                         
                      
-                            afterParserOrEnumRuleCall();
+                        newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
                         
 
                     }
@@ -3139,217 +3155,8 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1190:1: entryRuleSignedInteger returns [String current=null] : iv_ruleSignedInteger= ruleSignedInteger EOF ;
-    public final String entryRuleSignedInteger() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleSignedInteger = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1194:2: (iv_ruleSignedInteger= ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1195:2: iv_ruleSignedInteger= ruleSignedInteger EOF
-            {
-             newCompositeNode(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2792);
-            iv_ruleSignedInteger=ruleSignedInteger();
-
-            state._fsp--;
-
-             current =iv_ruleSignedInteger.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger2803); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1205:1: ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleSignedInteger() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1209:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1210:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1210:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1210:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1210:2: (kw= '+' | kw= '-' )?
-            int alt17=3;
-            int LA17_0 = input.LA(1);
-
-            if ( (LA17_0==34) ) {
-                alt17=1;
-            }
-            else if ( (LA17_0==35) ) {
-                alt17=2;
-            }
-            switch (alt17) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1211:2: kw= '+'
-                    {
-                    kw=(Token)match(input,34,FOLLOW_34_in_ruleSignedInteger2846); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1218:2: kw= '-'
-                    {
-                    kw=(Token)match(input,35,FOLLOW_35_in_ruleSignedInteger2865); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSignedInteger2882); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1241:1: entryRuleHexadecimal returns [String current=null] : iv_ruleHexadecimal= ruleHexadecimal EOF ;
-    public final String entryRuleHexadecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleHexadecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1245:2: (iv_ruleHexadecimal= ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1246:2: iv_ruleHexadecimal= ruleHexadecimal EOF
-            {
-             newCompositeNode(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal2938);
-            iv_ruleHexadecimal=ruleHexadecimal();
-
-            state._fsp--;
-
-             current =iv_ruleHexadecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal2949); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1256:1: ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_HEX_0= RULE_HEX ;
-    public final AntlrDatatypeRuleToken ruleHexadecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_HEX_0=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1260:28: (this_HEX_0= RULE_HEX )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1261:5: this_HEX_0= RULE_HEX
-            {
-            this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal2992); 
-
-            		current.merge(this_HEX_0);
-                
-             
-                newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1279:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
+    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1195:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
     public final String entryRuleReal() throws RecognitionException {
         String current = null;
 
@@ -3357,17 +3164,17 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1280:2: (iv_ruleReal= ruleReal EOF )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1281:2: iv_ruleReal= ruleReal EOF
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1196:2: (iv_ruleReal= ruleReal EOF )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1197:2: iv_ruleReal= ruleReal EOF
             {
              newCompositeNode(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal3041);
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal2809);
             iv_ruleReal=ruleReal();
 
             state._fsp--;
 
              current =iv_ruleReal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal3052); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal2820); 
 
             }
 
@@ -3385,36 +3192,173 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1288:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) ;
+    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1204:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) ;
     public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         AntlrDatatypeRuleToken this_Decimal_0 = null;
 
-        AntlrDatatypeRuleToken this_DotDecimal_1 = null;
-
-        AntlrDatatypeRuleToken this_DecimalDot_2 = null;
-
-        AntlrDatatypeRuleToken this_DecimalExp_3 = null;
+        AntlrDatatypeRuleToken this_DecimalExp_1 = null;
 
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1291:28: ( (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1292:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1207:28: ( (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1208:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1292:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
-            int alt18=4;
-            alt18 = dfa18.predict(input);
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1208:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
+            int alt18=2;
+            switch ( input.LA(1) ) {
+            case 33:
+                {
+                int LA18_1 = input.LA(2);
+
+                if ( (LA18_1==RULE_INT) ) {
+                    int LA18_3 = input.LA(3);
+
+                    if ( (LA18_3==35) ) {
+                        int LA18_4 = input.LA(4);
+
+                        if ( (LA18_4==RULE_INT) ) {
+                            int LA18_5 = input.LA(5);
+
+                            if ( ((LA18_5>=36 && LA18_5<=37)) ) {
+                                alt18=2;
+                            }
+                            else if ( (LA18_5==EOF) ) {
+                                alt18=1;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 18, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 18, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 18, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 18, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 34:
+                {
+                int LA18_2 = input.LA(2);
+
+                if ( (LA18_2==RULE_INT) ) {
+                    int LA18_3 = input.LA(3);
+
+                    if ( (LA18_3==35) ) {
+                        int LA18_4 = input.LA(4);
+
+                        if ( (LA18_4==RULE_INT) ) {
+                            int LA18_5 = input.LA(5);
+
+                            if ( ((LA18_5>=36 && LA18_5<=37)) ) {
+                                alt18=2;
+                            }
+                            else if ( (LA18_5==EOF) ) {
+                                alt18=1;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 18, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 18, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 18, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 18, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA18_3 = input.LA(2);
+
+                if ( (LA18_3==35) ) {
+                    int LA18_4 = input.LA(3);
+
+                    if ( (LA18_4==RULE_INT) ) {
+                        int LA18_5 = input.LA(4);
+
+                        if ( ((LA18_5>=36 && LA18_5<=37)) ) {
+                            alt18=2;
+                        }
+                        else if ( (LA18_5==EOF) ) {
+                            alt18=1;
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 18, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 18, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 18, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 18, 0, input);
+
+                throw nvae;
+            }
+
             switch (alt18) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1293:5: this_Decimal_0= ruleDecimal
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1209:5: this_Decimal_0= ruleDecimal
                     {
                      
                             newCompositeNode(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
                         
-                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal3099);
+                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal2867);
                     this_Decimal_0=ruleDecimal();
 
                     state._fsp--;
@@ -3429,58 +3373,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1305:5: this_DotDecimal_1= ruleDotDecimal
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1221:5: this_DecimalExp_1= ruleDecimalExp
                     {
                      
-                            newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
                         
-                    pushFollow(FOLLOW_ruleDotDecimal_in_ruleReal3132);
-                    this_DotDecimal_1=ruleDotDecimal();
+                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal2900);
+                    this_DecimalExp_1=ruleDecimalExp();
 
                     state._fsp--;
 
 
-                    		current.merge(this_DotDecimal_1);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1317:5: this_DecimalDot_2= ruleDecimalDot
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalDot_in_ruleReal3165);
-                    this_DecimalDot_2=ruleDecimalDot();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalDot_2);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1329:5: this_DecimalExp_3= ruleDecimalExp
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal3198);
-                    this_DecimalExp_3=ruleDecimalExp();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalExp_3);
+                    		current.merge(this_DecimalExp_1);
                         
                      
                             afterParserOrEnumRuleCall();
@@ -3509,7 +3413,7 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1347:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1239:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
     public final String entryRuleDecimal() throws RecognitionException {
         String current = null;
 
@@ -3520,17 +3424,17 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1351:2: (iv_ruleDecimal= ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1352:2: iv_ruleDecimal= ruleDecimal EOF
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1243:2: (iv_ruleDecimal= ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1244:2: iv_ruleDecimal= ruleDecimal EOF
             {
              newCompositeNode(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal3250);
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal2952);
             iv_ruleDecimal=ruleDecimal();
 
             state._fsp--;
 
              current =iv_ruleDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal3261); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal2963); 
 
             }
 
@@ -3551,7 +3455,7 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1362:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1254:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -3563,27 +3467,27 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1366:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1367:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1258:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1259:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1367:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1367:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1259:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1259:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1367:2: (kw= '+' | kw= '-' )?
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1259:2: (kw= '+' | kw= '-' )?
             int alt19=3;
             int LA19_0 = input.LA(1);
 
-            if ( (LA19_0==34) ) {
+            if ( (LA19_0==33) ) {
                 alt19=1;
             }
-            else if ( (LA19_0==35) ) {
+            else if ( (LA19_0==34) ) {
                 alt19=2;
             }
             switch (alt19) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1368:2: kw= '+'
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1260:2: kw= '+'
                     {
-                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDecimal3304); 
+                    kw=(Token)match(input,33,FOLLOW_33_in_ruleDecimal3006); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
@@ -3592,9 +3496,9 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1375:2: kw= '-'
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1267:2: kw= '-'
                     {
-                    kw=(Token)match(input,35,FOLLOW_35_in_ruleDecimal3323); 
+                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDecimal3025); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
@@ -3605,19 +3509,19 @@
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal3340); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal3042); 
 
             		current.merge(this_INT_2);
                 
              
                 newLeafNode(this_INT_2, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
                 
-            kw=(Token)match(input,36,FOLLOW_36_in_ruleDecimal3358); 
+            kw=(Token)match(input,35,FOLLOW_35_in_ruleDecimal3060); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
                 
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal3373); 
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal3075); 
 
             		current.merge(this_INT_4);
                 
@@ -3647,270 +3551,8 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1411:1: entryRuleDotDecimal returns [String current=null] : iv_ruleDotDecimal= ruleDotDecimal EOF ;
-    public final String entryRuleDotDecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDotDecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1415:2: (iv_ruleDotDecimal= ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1416:2: iv_ruleDotDecimal= ruleDotDecimal EOF
-            {
-             newCompositeNode(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal3429);
-            iv_ruleDotDecimal=ruleDotDecimal();
-
-            state._fsp--;
-
-             current =iv_ruleDotDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal3440); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1426:1: ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleDotDecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_3=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1430:28: ( ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1431:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1431:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1431:2: (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1431:2: (kw= '+' | kw= '-' )?
-            int alt20=3;
-            int LA20_0 = input.LA(1);
-
-            if ( (LA20_0==34) ) {
-                alt20=1;
-            }
-            else if ( (LA20_0==35) ) {
-                alt20=2;
-            }
-            switch (alt20) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1432:2: kw= '+'
-                    {
-                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDotDecimal3483); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1439:2: kw= '-'
-                    {
-                    kw=(Token)match(input,35,FOLLOW_35_in_ruleDotDecimal3502); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            kw=(Token)match(input,36,FOLLOW_36_in_ruleDotDecimal3517); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-                
-            this_INT_3=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDotDecimal3532); 
-
-            		current.merge(this_INT_3);
-                
-             
-                newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1468:1: entryRuleDecimalDot returns [String current=null] : iv_ruleDecimalDot= ruleDecimalDot EOF ;
-    public final String entryRuleDecimalDot() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDecimalDot = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1472:2: (iv_ruleDecimalDot= ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1473:2: iv_ruleDecimalDot= ruleDecimalDot EOF
-            {
-             newCompositeNode(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot3588);
-            iv_ruleDecimalDot=ruleDecimalDot();
-
-            state._fsp--;
-
-             current =iv_ruleDecimalDot.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot3599); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1483:1: ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) ;
-    public final AntlrDatatypeRuleToken ruleDecimalDot() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1487:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1488:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1488:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1488:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.'
-            {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1488:2: (kw= '+' | kw= '-' )?
-            int alt21=3;
-            int LA21_0 = input.LA(1);
-
-            if ( (LA21_0==34) ) {
-                alt21=1;
-            }
-            else if ( (LA21_0==35) ) {
-                alt21=2;
-            }
-            switch (alt21) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1489:2: kw= '+'
-                    {
-                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDecimalDot3642); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1496:2: kw= '-'
-                    {
-                    kw=(Token)match(input,35,FOLLOW_35_in_ruleDecimalDot3661); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalDot3678); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,36,FOLLOW_36_in_ruleDecimalDot3696); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1525:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1303:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
     public final String entryRuleDecimalExp() throws RecognitionException {
         String current = null;
 
@@ -3921,17 +3563,17 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1529:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1530:2: iv_ruleDecimalExp= ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1307:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1308:2: iv_ruleDecimalExp= ruleDecimalExp EOF
             {
              newCompositeNode(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3747);
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3131);
             iv_ruleDecimalExp=ruleDecimalExp();
 
             state._fsp--;
 
              current =iv_ruleDecimalExp.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp3758); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp3142); 
 
             }
 
@@ -3952,40 +3594,40 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1540:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1318:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimalExp() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         Token kw=null;
         Token this_INT_2=null;
         Token this_INT_4=null;
-        Token this_EXP_5=null;
+        Token this_INT_9=null;
 
          enterRule(); 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1544:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1545:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1322:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT ) )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1323:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1545:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1545:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1323:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1323:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1545:2: (kw= '+' | kw= '-' )?
-            int alt22=3;
-            int LA22_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1323:2: (kw= '+' | kw= '-' )?
+            int alt20=3;
+            int LA20_0 = input.LA(1);
 
-            if ( (LA22_0==34) ) {
-                alt22=1;
+            if ( (LA20_0==33) ) {
+                alt20=1;
             }
-            else if ( (LA22_0==35) ) {
-                alt22=2;
+            else if ( (LA20_0==34) ) {
+                alt20=2;
             }
-            switch (alt22) {
+            switch (alt20) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1546:2: kw= '+'
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1324:2: kw= '+'
                     {
-                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDecimalExp3801); 
+                    kw=(Token)match(input,33,FOLLOW_33_in_ruleDecimalExp3185); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
@@ -3994,9 +3636,9 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1553:2: kw= '-'
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1331:2: kw= '-'
                     {
-                    kw=(Token)match(input,35,FOLLOW_35_in_ruleDecimalExp3820); 
+                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDecimalExp3204); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
@@ -4007,31 +3649,109 @@
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3837); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3221); 
 
             		current.merge(this_INT_2);
                 
              
                 newLeafNode(this_INT_2, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
                 
-            kw=(Token)match(input,36,FOLLOW_36_in_ruleDecimalExp3855); 
+            kw=(Token)match(input,35,FOLLOW_35_in_ruleDecimalExp3239); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
                 
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3870); 
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3254); 
 
             		current.merge(this_INT_4);
                 
              
                 newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
                 
-            this_EXP_5=(Token)match(input,RULE_EXP,FOLLOW_RULE_EXP_in_ruleDecimalExp3890); 
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1356:1: (kw= 'e' | kw= 'E' )
+            int alt21=2;
+            int LA21_0 = input.LA(1);
 
-            		current.merge(this_EXP_5);
+            if ( (LA21_0==36) ) {
+                alt21=1;
+            }
+            else if ( (LA21_0==37) ) {
+                alt21=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 21, 0, input);
+
+                throw nvae;
+            }
+            switch (alt21) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1357:2: kw= 'e'
+                    {
+                    kw=(Token)match(input,36,FOLLOW_36_in_ruleDecimalExp3273); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1364:2: kw= 'E'
+                    {
+                    kw=(Token)match(input,37,FOLLOW_37_in_ruleDecimalExp3292); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1369:2: (kw= '+' | kw= '-' )?
+            int alt22=3;
+            int LA22_0 = input.LA(1);
+
+            if ( (LA22_0==33) ) {
+                alt22=1;
+            }
+            else if ( (LA22_0==34) ) {
+                alt22=2;
+            }
+            switch (alt22) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1370:2: kw= '+'
+                    {
+                    kw=(Token)match(input,33,FOLLOW_33_in_ruleDecimalExp3307); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1377:2: kw= '-'
+                    {
+                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDecimalExp3326); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            this_INT_9=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp3343); 
+
+            		current.merge(this_INT_9);
                 
              
-                newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+                newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
                 
 
             }
@@ -4057,7 +3777,7 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1596:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1400:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
     public final String entryRuleFQN() throws RecognitionException {
         String current = null;
 
@@ -4065,17 +3785,17 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1597:2: (iv_ruleFQN= ruleFQN EOF )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1598:2: iv_ruleFQN= ruleFQN EOF
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1401:2: (iv_ruleFQN= ruleFQN EOF )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1402:2: iv_ruleFQN= ruleFQN EOF
             {
              newCompositeNode(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN3940);
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN3393);
             iv_ruleFQN=ruleFQN();
 
             state._fsp--;
 
              current =iv_ruleFQN.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN3951); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN3404); 
 
             }
 
@@ -4093,7 +3813,7 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1605:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
+    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1409:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
     public final AntlrDatatypeRuleToken ruleFQN() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -4104,40 +3824,40 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1608:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1609:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1412:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1413:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1609:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1609:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1413:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1413:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
             {
-            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN3991); 
+            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN3444); 
 
             		current.merge(this_ID_0);
                 
              
                 newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
                 
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1616:1: (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1420:1: (kw= '.' this_ID_2= RULE_ID )*
             loop23:
             do {
                 int alt23=2;
                 int LA23_0 = input.LA(1);
 
-                if ( (LA23_0==36) ) {
+                if ( (LA23_0==35) ) {
                     alt23=1;
                 }
 
 
                 switch (alt23) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1617:2: kw= '.' this_ID_2= RULE_ID
+            	    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1421:2: kw= '.' this_ID_2= RULE_ID
             	    {
-            	    kw=(Token)match(input,36,FOLLOW_36_in_ruleFQN4010); 
+            	    kw=(Token)match(input,35,FOLLOW_35_in_ruleFQN3463); 
 
             	            current.merge(kw);
             	            newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
             	        
-            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN4025); 
+            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN3478); 
 
             	    		current.merge(this_ID_2);
             	        
@@ -4174,7 +3894,7 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1637:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
+    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1441:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
     public final Enumerator ruleLiteralType() throws RecognitionException {
         Enumerator current = null;
 
@@ -4185,28 +3905,28 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1639:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1640:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1443:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1444:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             {
-            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1640:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1444:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             int alt24=4;
             switch ( input.LA(1) ) {
-            case 37:
+            case 38:
                 {
                 alt24=1;
                 }
                 break;
-            case 38:
+            case 39:
                 {
                 alt24=2;
                 }
                 break;
-            case 39:
+            case 40:
                 {
                 alt24=3;
                 }
                 break;
-            case 40:
+            case 41:
                 {
                 alt24=4;
                 }
@@ -4220,12 +3940,12 @@
 
             switch (alt24) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1640:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1444:2: (enumLiteral_0= 'ptBoolean' )
                     {
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1640:2: (enumLiteral_0= 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1640:4: enumLiteral_0= 'ptBoolean'
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1444:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1444:4: enumLiteral_0= 'ptBoolean'
                     {
-                    enumLiteral_0=(Token)match(input,37,FOLLOW_37_in_ruleLiteralType4086); 
+                    enumLiteral_0=(Token)match(input,38,FOLLOW_38_in_ruleLiteralType3539); 
 
                             current = grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_0, grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
@@ -4237,12 +3957,12 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1646:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1450:6: (enumLiteral_1= 'ptInteger' )
                     {
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1646:6: (enumLiteral_1= 'ptInteger' )
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1646:8: enumLiteral_1= 'ptInteger'
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1450:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1450:8: enumLiteral_1= 'ptInteger'
                     {
-                    enumLiteral_1=(Token)match(input,38,FOLLOW_38_in_ruleLiteralType4103); 
+                    enumLiteral_1=(Token)match(input,39,FOLLOW_39_in_ruleLiteralType3556); 
 
                             current = grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_1, grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
@@ -4254,12 +3974,12 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1652:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1456:6: (enumLiteral_2= 'ptReal' )
                     {
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1652:6: (enumLiteral_2= 'ptReal' )
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1652:8: enumLiteral_2= 'ptReal'
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1456:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1456:8: enumLiteral_2= 'ptReal'
                     {
-                    enumLiteral_2=(Token)match(input,39,FOLLOW_39_in_ruleLiteralType4120); 
+                    enumLiteral_2=(Token)match(input,40,FOLLOW_40_in_ruleLiteralType3573); 
 
                             current = grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_2, grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
@@ -4271,12 +3991,12 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1658:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1462:6: (enumLiteral_3= 'ptCharacter' )
                     {
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1658:6: (enumLiteral_3= 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1658:8: enumLiteral_3= 'ptCharacter'
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1462:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/parser/antlr/internal/InternalETMap.g:1462:8: enumLiteral_3= 'ptCharacter'
                     {
-                    enumLiteral_3=(Token)match(input,40,FOLLOW_40_in_ruleLiteralType4137); 
+                    enumLiteral_3=(Token)match(input,41,FOLLOW_41_in_ruleLiteralType3590); 
 
                             current = grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_3, grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
@@ -4309,103 +4029,44 @@
     // Delegated rules
 
 
-    protected DFA18 dfa18 = new DFA18(this);
-    static final String DFA18_eotS =
-        "\12\uffff";
-    static final String DFA18_eofS =
-        "\5\uffff\1\7\1\11\3\uffff";
-    static final String DFA18_minS =
-        "\3\6\1\44\1\uffff\1\6\1\10\3\uffff";
-    static final String DFA18_maxS =
-        "\4\44\1\uffff\1\6\1\10\3\uffff";
-    static final String DFA18_acceptS =
-        "\4\uffff\1\2\2\uffff\1\3\1\4\1\1";
-    static final String DFA18_specialS =
-        "\12\uffff}>";
-    static final String[] DFA18_transitionS = {
-            "\1\3\33\uffff\1\1\1\2\1\4",
-            "\1\3\35\uffff\1\4",
-            "\1\3\35\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\6",
-            "\1\10",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA18_eot = DFA.unpackEncodedString(DFA18_eotS);
-    static final short[] DFA18_eof = DFA.unpackEncodedString(DFA18_eofS);
-    static final char[] DFA18_min = DFA.unpackEncodedStringToUnsignedChars(DFA18_minS);
-    static final char[] DFA18_max = DFA.unpackEncodedStringToUnsignedChars(DFA18_maxS);
-    static final short[] DFA18_accept = DFA.unpackEncodedString(DFA18_acceptS);
-    static final short[] DFA18_special = DFA.unpackEncodedString(DFA18_specialS);
-    static final short[][] DFA18_transition;
-
-    static {
-        int numStates = DFA18_transitionS.length;
-        DFA18_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA18_transition[i] = DFA.unpackEncodedString(DFA18_transitionS[i]);
-        }
-    }
-
-    class DFA18 extends DFA {
-
-        public DFA18(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 18;
-            this.eot = DFA18_eot;
-            this.eof = DFA18_eof;
-            this.min = DFA18_min;
-            this.max = DFA18_max;
-            this.accept = DFA18_accept;
-            this.special = DFA18_special;
-            this.transition = DFA18_transition;
-        }
-        public String getDescription() {
-            return "1292:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )";
-        }
-    }
  
 
     public static final BitSet FOLLOW_ruleMappingModel_in_entryRuleMappingModel75 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleMappingModel85 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_ruleMappingModel122 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleMappingModel143 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleMappingModel155 = new BitSet(new long[]{0x0000000004018000L});
-    public static final BitSet FOLLOW_ruleImport_in_ruleMappingModel176 = new BitSet(new long[]{0x0000000004018000L});
-    public static final BitSet FOLLOW_ruleMapping_in_ruleMappingModel198 = new BitSet(new long[]{0x0000000000018000L});
-    public static final BitSet FOLLOW_15_in_ruleMappingModel211 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_ruleMappingModel122 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleMappingModel143 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleMappingModel155 = new BitSet(new long[]{0x000000000200C000L});
+    public static final BitSet FOLLOW_ruleImport_in_ruleMappingModel176 = new BitSet(new long[]{0x000000000200C000L});
+    public static final BitSet FOLLOW_ruleMapping_in_ruleMappingModel198 = new BitSet(new long[]{0x000000000000C000L});
+    public static final BitSet FOLLOW_14_in_ruleMappingModel211 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleMapping_in_entryRuleMapping247 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleMapping257 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_ruleMapping294 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleMapping317 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleMapping329 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleMapping352 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleMapping364 = new BitSet(new long[]{0x0000000000048000L});
-    public static final BitSet FOLLOW_ruleSubSystemMapping_in_ruleMapping385 = new BitSet(new long[]{0x0000000000048000L});
-    public static final BitSet FOLLOW_15_in_ruleMapping398 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_ruleMapping294 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleMapping317 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleMapping329 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleMapping352 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleMapping364 = new BitSet(new long[]{0x0000000000024000L});
+    public static final BitSet FOLLOW_ruleSubSystemMapping_in_ruleMapping385 = new BitSet(new long[]{0x0000000000024000L});
+    public static final BitSet FOLLOW_14_in_ruleMapping398 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSubSystemMapping_in_entryRuleSubSystemMapping434 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSubSystemMapping444 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_ruleSubSystemMapping481 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSubSystemMapping501 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleSubSystemMapping513 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSubSystemMapping533 = new BitSet(new long[]{0x0000000000004002L});
-    public static final BitSet FOLLOW_14_in_ruleSubSystemMapping546 = new BitSet(new long[]{0x0000000000088000L});
-    public static final BitSet FOLLOW_ruleThreadMapping_in_ruleSubSystemMapping567 = new BitSet(new long[]{0x0000000000088000L});
-    public static final BitSet FOLLOW_15_in_ruleSubSystemMapping580 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_ruleSubSystemMapping481 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSubSystemMapping501 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleSubSystemMapping513 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSubSystemMapping533 = new BitSet(new long[]{0x0000000000002002L});
+    public static final BitSet FOLLOW_13_in_ruleSubSystemMapping546 = new BitSet(new long[]{0x0000000000044000L});
+    public static final BitSet FOLLOW_ruleThreadMapping_in_ruleSubSystemMapping567 = new BitSet(new long[]{0x0000000000044000L});
+    public static final BitSet FOLLOW_14_in_ruleSubSystemMapping580 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleThreadMapping_in_entryRuleThreadMapping618 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleThreadMapping628 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_ruleThreadMapping665 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleThreadMapping685 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleThreadMapping697 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_18_in_ruleThreadMapping665 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleThreadMapping685 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleThreadMapping697 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleThreadMapping717 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue755 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue765 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue807 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_20_in_ruleKeyValue824 = new BitSet(new long[]{0x0000001F000000E0L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue807 = new BitSet(new long[]{0x0000000000080000L});
+    public static final BitSet FOLLOW_19_in_ruleKeyValue824 = new BitSet(new long[]{0x00000007800000E0L});
     public static final BitSet FOLLOW_ruleLiteral_in_ruleKeyValue845 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType884 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType895 = new BitSet(new long[]{0x0000000000000002L});
@@ -4416,40 +4077,40 @@
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_ruleAnnotationAttribute1062 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute1097 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute1107 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_21_in_ruleSimpleAnnotationAttribute1151 = new BitSet(new long[]{0x0000000000800000L});
-    public static final BitSet FOLLOW_22_in_ruleSimpleAnnotationAttribute1182 = new BitSet(new long[]{0x0000000000800000L});
-    public static final BitSet FOLLOW_23_in_ruleSimpleAnnotationAttribute1195 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute1212 = new BitSet(new long[]{0x0000000001000000L});
-    public static final BitSet FOLLOW_24_in_ruleSimpleAnnotationAttribute1229 = new BitSet(new long[]{0x000001E000000000L});
+    public static final BitSet FOLLOW_20_in_ruleSimpleAnnotationAttribute1151 = new BitSet(new long[]{0x0000000000400000L});
+    public static final BitSet FOLLOW_21_in_ruleSimpleAnnotationAttribute1182 = new BitSet(new long[]{0x0000000000400000L});
+    public static final BitSet FOLLOW_22_in_ruleSimpleAnnotationAttribute1195 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute1212 = new BitSet(new long[]{0x0000000000800000L});
+    public static final BitSet FOLLOW_23_in_ruleSimpleAnnotationAttribute1229 = new BitSet(new long[]{0x000003C000000000L});
     public static final BitSet FOLLOW_ruleLiteralType_in_ruleSimpleAnnotationAttribute1250 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute1286 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute1296 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_21_in_ruleEnumAnnotationAttribute1340 = new BitSet(new long[]{0x0000000000800000L});
-    public static final BitSet FOLLOW_22_in_ruleEnumAnnotationAttribute1371 = new BitSet(new long[]{0x0000000000800000L});
-    public static final BitSet FOLLOW_23_in_ruleEnumAnnotationAttribute1384 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute1401 = new BitSet(new long[]{0x0000000001000000L});
-    public static final BitSet FOLLOW_24_in_ruleEnumAnnotationAttribute1418 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleEnumAnnotationAttribute1430 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute1447 = new BitSet(new long[]{0x0000000002008000L});
-    public static final BitSet FOLLOW_25_in_ruleEnumAnnotationAttribute1465 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute1482 = new BitSet(new long[]{0x0000000002008000L});
-    public static final BitSet FOLLOW_15_in_ruleEnumAnnotationAttribute1501 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_20_in_ruleEnumAnnotationAttribute1340 = new BitSet(new long[]{0x0000000000400000L});
+    public static final BitSet FOLLOW_21_in_ruleEnumAnnotationAttribute1371 = new BitSet(new long[]{0x0000000000400000L});
+    public static final BitSet FOLLOW_22_in_ruleEnumAnnotationAttribute1384 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute1401 = new BitSet(new long[]{0x0000000000800000L});
+    public static final BitSet FOLLOW_23_in_ruleEnumAnnotationAttribute1418 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleEnumAnnotationAttribute1430 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute1447 = new BitSet(new long[]{0x0000000001004000L});
+    public static final BitSet FOLLOW_24_in_ruleEnumAnnotationAttribute1465 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute1482 = new BitSet(new long[]{0x0000000001004000L});
+    public static final BitSet FOLLOW_14_in_ruleEnumAnnotationAttribute1501 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleImport_in_entryRuleImport1537 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleImport1547 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_ruleImport1584 = new BitSet(new long[]{0x0000000010000010L});
-    public static final BitSet FOLLOW_ruleImportedFQN_in_ruleImport1607 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_27_in_ruleImport1619 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_28_in_ruleImport1638 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_25_in_ruleImport1584 = new BitSet(new long[]{0x0000000008000010L});
+    public static final BitSet FOLLOW_ruleImportedFQN_in_ruleImport1607 = new BitSet(new long[]{0x0000000004000000L});
+    public static final BitSet FOLLOW_26_in_ruleImport1619 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_27_in_ruleImport1638 = new BitSet(new long[]{0x0000000000000020L});
     public static final BitSet FOLLOW_RULE_STRING_in_ruleImport1656 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN1698 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN1709 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN1756 = new BitSet(new long[]{0x0000000020000002L});
-    public static final BitSet FOLLOW_29_in_ruleImportedFQN1775 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN1756 = new BitSet(new long[]{0x0000000010000002L});
+    public static final BitSet FOLLOW_28_in_ruleImportedFQN1775 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation1817 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation1827 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_ruleDocumentation1873 = new BitSet(new long[]{0x0000000080000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation1890 = new BitSet(new long[]{0x0000000080000020L});
-    public static final BitSet FOLLOW_31_in_ruleDocumentation1908 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_ruleDocumentation1873 = new BitSet(new long[]{0x0000000040000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation1890 = new BitSet(new long[]{0x0000000040000020L});
+    public static final BitSet FOLLOW_30_in_ruleDocumentation1908 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral1948 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleLiteral1958 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_ruleLiteral2005 = new BitSet(new long[]{0x0000000000000002L});
@@ -4457,8 +4118,8 @@
     public static final BitSet FOLLOW_ruleStringLiteral_in_ruleLiteral2059 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral2094 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral2104 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_ruleBooleanLiteral2151 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_ruleBooleanLiteral2175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_ruleBooleanLiteral2151 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_32_in_ruleBooleanLiteral2175 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral2225 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral2235 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleIntLiteral_in_ruleNumberLiteral2282 = new BitSet(new long[]{0x0000000000000002L});
@@ -4474,57 +4135,41 @@
     public static final BitSet FOLLOW_RULE_STRING_in_ruleStringLiteral2607 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger2649 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInteger2660 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_ruleInteger2707 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_ruleInteger2740 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2792 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger2803 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleSignedInteger2846 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_35_in_ruleSignedInteger2865 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleSignedInteger2882 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal2938 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal2949 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal2992 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal3041 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal3052 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal3099 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_ruleReal3132 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_ruleReal3165 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal3198 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal3250 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal3261 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleDecimal3304 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_35_in_ruleDecimal3323 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal3340 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_36_in_ruleDecimal3358 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal3373 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal3429 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal3440 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleDotDecimal3483 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_35_in_ruleDotDecimal3502 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_36_in_ruleDotDecimal3517 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDotDecimal3532 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot3588 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot3599 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleDecimalDot3642 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_35_in_ruleDecimalDot3661 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalDot3678 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_36_in_ruleDecimalDot3696 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3747 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp3758 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleDecimalExp3801 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_35_in_ruleDecimalExp3820 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3837 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_36_in_ruleDecimalExp3855 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3870 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RULE_EXP_in_ruleDecimalExp3890 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN3940 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN3951 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN3991 = new BitSet(new long[]{0x0000001000000002L});
-    public static final BitSet FOLLOW_36_in_ruleFQN4010 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN4025 = new BitSet(new long[]{0x0000001000000002L});
-    public static final BitSet FOLLOW_37_in_ruleLiteralType4086 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_38_in_ruleLiteralType4103 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_39_in_ruleLiteralType4120 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_ruleLiteralType4137 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_ruleInteger2700 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_34_in_ruleInteger2719 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleInteger2736 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_ruleInteger2763 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal2809 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal2820 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal2867 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal2900 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal2952 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal2963 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_ruleDecimal3006 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_34_in_ruleDecimal3025 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal3042 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_ruleDecimal3060 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal3075 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3131 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp3142 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_ruleDecimalExp3185 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_34_in_ruleDecimalExp3204 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3221 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_ruleDecimalExp3239 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3254 = new BitSet(new long[]{0x0000003000000000L});
+    public static final BitSet FOLLOW_36_in_ruleDecimalExp3273 = new BitSet(new long[]{0x0000000600000040L});
+    public static final BitSet FOLLOW_37_in_ruleDecimalExp3292 = new BitSet(new long[]{0x0000000600000040L});
+    public static final BitSet FOLLOW_33_in_ruleDecimalExp3307 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_34_in_ruleDecimalExp3326 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp3343 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN3393 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN3404 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN3444 = new BitSet(new long[]{0x0000000800000002L});
+    public static final BitSet FOLLOW_35_in_ruleFQN3463 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN3478 = new BitSet(new long[]{0x0000000800000002L});
+    public static final BitSet FOLLOW_38_in_ruleLiteralType3539 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_39_in_ruleLiteralType3556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_40_in_ruleLiteralType3573 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_ruleLiteralType3590 = new BitSet(new long[]{0x0000000000000002L});
 
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/services/ETMapGrammarAccess.java b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/services/ETMapGrammarAccess.java
index fdd8027..1c820cf 100644
--- a/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/services/ETMapGrammarAccess.java
+++ b/plugins/org.eclipse.etrice.core.etmap/src-gen/org/eclipse/etrice/core/etmap/services/ETMapGrammarAccess.java
@@ -557,7 +557,7 @@
 	}
 
 	//Integer returns ecore::ELong:
-	//	SignedInteger | Hexadecimal;
+	//	("+" | "-")? INT | HEX;
 	public BaseGrammarAccess.IntegerElements getIntegerAccess() {
 		return gaBase.getIntegerAccess();
 	}
@@ -566,28 +566,8 @@
 		return getIntegerAccess().getRule();
 	}
 
-	//SignedInteger hidden():
-	//	("+" | "-")? INT;
-	public BaseGrammarAccess.SignedIntegerElements getSignedIntegerAccess() {
-		return gaBase.getSignedIntegerAccess();
-	}
-	
-	public ParserRule getSignedIntegerRule() {
-		return getSignedIntegerAccess().getRule();
-	}
-
-	//Hexadecimal hidden():
-	//	HEX;
-	public BaseGrammarAccess.HexadecimalElements getHexadecimalAccess() {
-		return gaBase.getHexadecimalAccess();
-	}
-	
-	public ParserRule getHexadecimalRule() {
-		return getHexadecimalAccess().getRule();
-	}
-
 	//Real returns ecore::EDouble:
-	//	Decimal | DotDecimal | DecimalDot | DecimalExp;
+	//	Decimal | / *DotDecimal | DecimalDot |* / DecimalExp;
 	public BaseGrammarAccess.RealElements getRealAccess() {
 		return gaBase.getRealAccess();
 	}
@@ -606,28 +586,13 @@
 		return getDecimalAccess().getRule();
 	}
 
-	//DotDecimal hidden():
-	//	("+" | "-")? "." INT;
-	public BaseGrammarAccess.DotDecimalElements getDotDecimalAccess() {
-		return gaBase.getDotDecimalAccess();
-	}
-	
-	public ParserRule getDotDecimalRule() {
-		return getDotDecimalAccess().getRule();
-	}
-
-	//DecimalDot hidden():
-	//	("+" | "-")? INT ".";
-	public BaseGrammarAccess.DecimalDotElements getDecimalDotAccess() {
-		return gaBase.getDecimalDotAccess();
-	}
-	
-	public ParserRule getDecimalDotRule() {
-		return getDecimalDotAccess().getRule();
-	}
-
+	////DotDecimal hidden():
+	////	('+' | '-')? '.' INT;
+	////
+	////DecimalDot hidden():
+	////	('+' | '-')? INT '.';
 	//DecimalExp hidden():
-	//	("+" | "-")? INT "." INT EXP;
+	//	("+" | "-")? INT "." INT ("e" | "E") ("+" | "-")? INT;
 	public BaseGrammarAccess.DecimalExpElements getDecimalExpAccess() {
 		return gaBase.getDecimalExpAccess();
 	}
@@ -636,18 +601,6 @@
 		return getDecimalExpAccess().getRule();
 	}
 
-	//terminal EXP:
-	//	("e" | "E") ("+" | "-")? "0".."9"+;
-	public TerminalRule getEXPRule() {
-		return gaBase.getEXPRule();
-	} 
-
-	//terminal HEX:
-	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
-	public TerminalRule getHEXRule() {
-		return gaBase.getHEXRule();
-	} 
-
 	//FQN:
 	//	ID ("." ID)*;
 	public BaseGrammarAccess.FQNElements getFQNAccess() {
@@ -658,6 +611,12 @@
 		return getFQNAccess().getRule();
 	}
 
+	//terminal HEX:
+	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
+	public TerminalRule getHEXRule() {
+		return gaBase.getHEXRule();
+	} 
+
 	//terminal ID:
 	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
 	public TerminalRule getIDRule() {
diff --git a/plugins/org.eclipse.etrice.core.etmap/xtend-gen/org/eclipse/etrice/core/etmap/generator/ETMapGenerator.java b/plugins/org.eclipse.etrice.core.etmap/xtend-gen/org/eclipse/etrice/core/etmap/generator/ETMapGenerator.java
index 46ba548..4239a3a 100644
--- a/plugins/org.eclipse.etrice.core.etmap/xtend-gen/org/eclipse/etrice/core/etmap/generator/ETMapGenerator.java
+++ b/plugins/org.eclipse.etrice.core.etmap/xtend-gen/org/eclipse/etrice/core/etmap/generator/ETMapGenerator.java
@@ -9,6 +9,7 @@
 
 @SuppressWarnings("all")
 public class ETMapGenerator implements IGenerator {
+  @Override
   public void doGenerate(final Resource resource, final IFileSystemAccess fsa) {
   }
 }
diff --git a/plugins/org.eclipse.etrice.core.etphys.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.etphys.ui/META-INF/MANIFEST.MF
index 9b6dcbe..57dcb1d 100644
--- a/plugins/org.eclipse.etrice.core.etphys.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.etphys.ui/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.etrice.core.etphys.ui
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.etphys.ui; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.room.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.etphys;bundle-version="1.0.1";visibility:=reexport,
+Require-Bundle: org.eclipse.etrice.core.room.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etphys;bundle-version="1.1.0";visibility:=reexport,
  org.eclipse.xtext.ui;bundle-version="2.6.0",
  org.eclipse.ui.editors;bundle-version="3.5.0",
  org.eclipse.ui.ide;bundle-version="3.5.0",
@@ -16,7 +16,7 @@
  org.antlr.runtime,
  org.eclipse.xtext.ui.codetemplates.ui;bundle-version="2.6.0",
  org.eclipse.compare,
- org.eclipse.etrice.core.common.ui;bundle-version="1.0.1"
+ org.eclipse.etrice.core.common.ui;bundle-version="1.1.0"
 Import-Package: org.apache.log4j
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Export-Package: org.eclipse.etrice.core.etphys.ui.contentassist,
diff --git a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/AbstractETPhysProposalProvider.java b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/AbstractETPhysProposalProvider.java
index 1b3f3a2..6100caa 100644
--- a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/AbstractETPhysProposalProvider.java
+++ b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/AbstractETPhysProposalProvider.java
@@ -125,7 +125,4 @@
 	public void complete_ThreadModel(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
 		// subclasses may override
 	}
-	public void complete_PRIO(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
-		// subclasses may override
-	}
 }
diff --git a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/ETPhysParser.java b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/ETPhysParser.java
index 5f11eec..5b41fd5 100644
--- a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/ETPhysParser.java
+++ b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/ETPhysParser.java
@@ -39,7 +39,6 @@
 				{
 					put(grammarAccess.getPhysicalModelAccess().getAlternatives_4(), "rule__PhysicalModel__Alternatives_4");
 					put(grammarAccess.getPhysicalThreadAccess().getAlternatives_0(), "rule__PhysicalThread__Alternatives_0");
-					put(grammarAccess.getPRIOAccess().getAlternatives_0(), "rule__PRIO__Alternatives_0");
 					put(grammarAccess.getAnnotationTypeAccess().getAlternatives_6(), "rule__AnnotationType__Alternatives_6");
 					put(grammarAccess.getAnnotationAttributeAccess().getAlternatives(), "rule__AnnotationAttribute__Alternatives");
 					put(grammarAccess.getSimpleAnnotationAttributeAccess().getAlternatives_0(), "rule__SimpleAnnotationAttribute__Alternatives_0");
@@ -50,12 +49,12 @@
 					put(grammarAccess.getBooleanLiteralAccess().getAlternatives_1(), "rule__BooleanLiteral__Alternatives_1");
 					put(grammarAccess.getNumberLiteralAccess().getAlternatives(), "rule__NumberLiteral__Alternatives");
 					put(grammarAccess.getIntegerAccess().getAlternatives(), "rule__Integer__Alternatives");
-					put(grammarAccess.getSignedIntegerAccess().getAlternatives_0(), "rule__SignedInteger__Alternatives_0");
+					put(grammarAccess.getIntegerAccess().getAlternatives_0_0(), "rule__Integer__Alternatives_0_0");
 					put(grammarAccess.getRealAccess().getAlternatives(), "rule__Real__Alternatives");
 					put(grammarAccess.getDecimalAccess().getAlternatives_0(), "rule__Decimal__Alternatives_0");
-					put(grammarAccess.getDotDecimalAccess().getAlternatives_0(), "rule__DotDecimal__Alternatives_0");
-					put(grammarAccess.getDecimalDotAccess().getAlternatives_0(), "rule__DecimalDot__Alternatives_0");
 					put(grammarAccess.getDecimalExpAccess().getAlternatives_0(), "rule__DecimalExp__Alternatives_0");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_4(), "rule__DecimalExp__Alternatives_4");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_5(), "rule__DecimalExp__Alternatives_5");
 					put(grammarAccess.getExecModeAccess().getAlternatives(), "rule__ExecMode__Alternatives");
 					put(grammarAccess.getThreadModelAccess().getAlternatives(), "rule__ThreadModel__Alternatives");
 					put(grammarAccess.getLiteralTypeAccess().getAlternatives(), "rule__LiteralType__Alternatives");
@@ -74,7 +73,6 @@
 					put(grammarAccess.getPhysicalThreadAccess().getGroup_3_4(), "rule__PhysicalThread__Group_3_4__0");
 					put(grammarAccess.getPhysicalThreadAccess().getGroup_3_5(), "rule__PhysicalThread__Group_3_5__0");
 					put(grammarAccess.getRuntimeClassAccess().getGroup(), "rule__RuntimeClass__Group__0");
-					put(grammarAccess.getPRIOAccess().getGroup(), "rule__PRIO__Group__0");
 					put(grammarAccess.getAnnotationAccess().getGroup(), "rule__Annotation__Group__0");
 					put(grammarAccess.getAnnotationAccess().getGroup_2(), "rule__Annotation__Group_2__0");
 					put(grammarAccess.getAnnotationAccess().getGroup_2_2(), "rule__Annotation__Group_2_2__0");
@@ -99,10 +97,8 @@
 					put(grammarAccess.getRealLiteralAccess().getGroup(), "rule__RealLiteral__Group__0");
 					put(grammarAccess.getIntLiteralAccess().getGroup(), "rule__IntLiteral__Group__0");
 					put(grammarAccess.getStringLiteralAccess().getGroup(), "rule__StringLiteral__Group__0");
-					put(grammarAccess.getSignedIntegerAccess().getGroup(), "rule__SignedInteger__Group__0");
+					put(grammarAccess.getIntegerAccess().getGroup_0(), "rule__Integer__Group_0__0");
 					put(grammarAccess.getDecimalAccess().getGroup(), "rule__Decimal__Group__0");
-					put(grammarAccess.getDotDecimalAccess().getGroup(), "rule__DotDecimal__Group__0");
-					put(grammarAccess.getDecimalDotAccess().getGroup(), "rule__DecimalDot__Group__0");
 					put(grammarAccess.getDecimalExpAccess().getGroup(), "rule__DecimalExp__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup(), "rule__FQN__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup_1(), "rule__FQN__Group_1__0");
diff --git a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g
index 50e631d..c915235 100644
--- a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g
+++ b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g
@@ -5,6 +5,7 @@
 
 options {
 	superClass=AbstractInternalContentAssistParser;
+	backtrack=true;
 	
 }
 
@@ -224,42 +225,6 @@
 
 
 
-// Entry rule entryRulePRIO
-entryRulePRIO 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getPRIORule()); }
-	 rulePRIO
-{ after(grammarAccess.getPRIORule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule PRIO
-rulePRIO
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getPRIOAccess().getGroup()); }
-(rule__PRIO__Group__0)
-{ after(grammarAccess.getPRIOAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 
 
 // Entry rule entryRuleKeyValue
@@ -714,78 +679,6 @@
 
 
 
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getSignedIntegerRule()); }
-	 ruleSignedInteger
-{ after(grammarAccess.getSignedIntegerRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSignedIntegerAccess().getGroup()); }
-(rule__SignedInteger__Group__0)
-{ after(grammarAccess.getSignedIntegerAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getHexadecimalRule()); }
-	 ruleHexadecimal
-{ after(grammarAccess.getHexadecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-	RULE_HEX
-{ after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleReal
 entryRuleReal 
 :
@@ -850,78 +743,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDotDecimalRule()); }
-	 ruleDotDecimal
-{ after(grammarAccess.getDotDecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDotDecimalAccess().getGroup()); }
-(rule__DotDecimal__Group__0)
-{ after(grammarAccess.getDotDecimalAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDecimalDotRule()); }
-	 ruleDecimalDot
-{ after(grammarAccess.getDecimalDotRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDecimalDotAccess().getGroup()); }
-(rule__DecimalDot__Group__0)
-{ after(grammarAccess.getDecimalDotAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp 
 @init {
@@ -1096,32 +917,6 @@
 	restoreStackSize(stackSize);
 }
 
-rule__PRIO__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPRIOAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getPRIOAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getPRIOAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getPRIOAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
 
 rule__AnnotationAttribute__Alternatives
     @init {
@@ -1331,15 +1126,15 @@
     }
 :
 (
-{ before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
-	ruleSignedInteger
-{ after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
+{ before(grammarAccess.getIntegerAccess().getGroup_0()); }
+(rule__Integer__Group_0__0)
+{ after(grammarAccess.getIntegerAccess().getGroup_0()); }
 )
 
     |(
-{ before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
-	ruleHexadecimal
-{ after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
+	RULE_HEX
+{ after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
 )
 
 ;
@@ -1347,25 +1142,25 @@
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Alternatives_0
+rule__Integer__Alternatives_0_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 
 	'+' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 )
 
     |(
-{ before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 
 	'-' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 )
 
 ;
@@ -1385,21 +1180,9 @@
 )
 
     |(
-{ before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-	ruleDotDecimal
-{ after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-	ruleDecimalDot
-{ after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 	ruleDecimalExp
-{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 )
 
 ;
@@ -1433,58 +1216,6 @@
 	restoreStackSize(stackSize);
 }
 
-rule__DotDecimal__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
 rule__DecimalExp__Alternatives_0
     @init {
 		int stackSize = keepStackSize();
@@ -1511,6 +1242,58 @@
 	restoreStackSize(stackSize);
 }
 
+rule__DecimalExp__Alternatives_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+
+	'e' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+
+	'E' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Alternatives_5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+
+	'+' 
+
+{ after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+
+	'-' 
+
+{ after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__ExecMode__Alternatives
     @init {
 		int stackSize = keepStackSize();
@@ -3647,67 +3430,6 @@
 
 
 
-rule__PRIO__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PRIO__Group__0__Impl
-	rule__PRIO__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PRIO__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPRIOAccess().getAlternatives_0()); }
-(rule__PRIO__Alternatives_0)?
-{ after(grammarAccess.getPRIOAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__PRIO__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__PRIO__Group__1__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__PRIO__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getPRIOAccess().getINTTerminalRuleCall_1()); }
-	RULE_INT
-{ after(grammarAccess.getPRIOAccess().getINTTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
 
 
 
@@ -5139,27 +4861,27 @@
 
 
 
-rule__SignedInteger__Group__0
+rule__Integer__Group_0__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__0__Impl
-	rule__SignedInteger__Group__1
+	rule__Integer__Group_0__0__Impl
+	rule__Integer__Group_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__0__Impl
+rule__Integer__Group_0__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
-(rule__SignedInteger__Alternatives_0)?
-{ after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
+{ before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
+(rule__Integer__Alternatives_0_0)?
+{ after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
 )
 
 ;
@@ -5168,26 +4890,26 @@
 }
 
 
-rule__SignedInteger__Group__1
+rule__Integer__Group_0__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__1__Impl
+	rule__Integer__Group_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__1__Impl
+rule__Integer__Group_0__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 	RULE_INT
-{ after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 )
 
 ;
@@ -5325,194 +5047,6 @@
 
 
 
-rule__DotDecimal__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__0__Impl
-	rule__DotDecimal__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-(rule__DotDecimal__Alternatives_0)?
-{ after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__1__Impl
-	rule__DotDecimal__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-
-	'.' 
-
-{ after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-	RULE_INT
-{ after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__DecimalDot__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__0__Impl
-	rule__DecimalDot__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-(rule__DecimalDot__Alternatives_0)?
-{ after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__1__Impl
-	rule__DecimalDot__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-	RULE_INT
-{ after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-
-	'.' 
-
-{ after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
 rule__DecimalExp__Group__0
     @init {
 		int stackSize = keepStackSize();
@@ -5637,6 +5171,7 @@
     }
 :
 	rule__DecimalExp__Group__4__Impl
+	rule__DecimalExp__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -5648,9 +5183,9 @@
     }
 :
 (
-{ before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
-	RULE_EXP
-{ after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
+(rule__DecimalExp__Alternatives_4)
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
 )
 
 ;
@@ -5659,6 +5194,67 @@
 }
 
 
+rule__DecimalExp__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__5__Impl
+	rule__DecimalExp__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+(rule__DecimalExp__Alternatives_5)?
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DecimalExp__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+(	RULE_INT)
+{ after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
 
 
 
@@ -6372,8 +5968,8 @@
     }
 :
 (
-{ before(grammarAccess.getNodeClassAccess().getPriominPRIOParserRuleCall_4_1_2_0()); }
-	rulePRIO{ after(grammarAccess.getNodeClassAccess().getPriominPRIOParserRuleCall_4_1_2_0()); }
+{ before(grammarAccess.getNodeClassAccess().getPriominIntegerParserRuleCall_4_1_2_0()); }
+	ruleInteger{ after(grammarAccess.getNodeClassAccess().getPriominIntegerParserRuleCall_4_1_2_0()); }
 )
 
 ;
@@ -6387,8 +5983,8 @@
     }
 :
 (
-{ before(grammarAccess.getNodeClassAccess().getPriomaxPRIOParserRuleCall_4_2_2_0()); }
-	rulePRIO{ after(grammarAccess.getNodeClassAccess().getPriomaxPRIOParserRuleCall_4_2_2_0()); }
+{ before(grammarAccess.getNodeClassAccess().getPriomaxIntegerParserRuleCall_4_2_2_0()); }
+	ruleInteger{ after(grammarAccess.getNodeClassAccess().getPriomaxIntegerParserRuleCall_4_2_2_0()); }
 )
 
 ;
@@ -6485,8 +6081,8 @@
     }
 :
 (
-{ before(grammarAccess.getPhysicalThreadAccess().getPrioPRIOParserRuleCall_3_2_2_0()); }
-	rulePRIO{ after(grammarAccess.getPhysicalThreadAccess().getPrioPRIOParserRuleCall_3_2_2_0()); }
+{ before(grammarAccess.getPhysicalThreadAccess().getPrioIntegerParserRuleCall_3_2_2_0()); }
+	ruleInteger{ after(grammarAccess.getPhysicalThreadAccess().getPrioIntegerParserRuleCall_3_2_2_0()); }
 )
 
 ;
@@ -6860,8 +6456,6 @@
 }
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
diff --git a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.tokens b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.tokens
index 2e3a345..54ce6fe 100644
--- a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.tokens
+++ b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.tokens
@@ -1,60 +1,62 @@
-'+'=14
-','=47
-'-'=15
-'.'=57
-'.*'=50
-':'=33
-'='=36
-'DefaultThread'=58
-'NodeClass'=34
-'NodeRef'=32
-'PhysicalModel'=28
-'PhysicalSystem'=31
-'RuntimeClass'=45
-'Thread'=13
-'['=51
-']'=52
-'attribute'=46
-'blocked'=20
-'execmode'=39
-'false'=18
-'from'=49
-'import'=48
-'interval'=40
-'mandatory'=16
-'mixed'=21
-'model'=17
-'ms'=54
-'msgblocksize'=43
-'msgpoolsize'=44
-'multiThreaded'=23
-'ns'=56
-'optional'=59
-'polled'=19
-'prio'=41
-'priomax'=38
-'priomin'=37
-'ptBoolean'=24
-'ptCharacter'=27
-'ptInteger'=25
-'ptReal'=26
-'runtime'=35
-'s'=53
-'singleThreaded'=22
-'stacksize'=42
-'true'=60
-'us'=55
-'{'=29
-'}'=30
-RULE_ANY_OTHER=12
-RULE_EXP=7
+'+'=16
+','=48
+'-'=17
+'.'=58
+'.*'=51
+':'=34
+'='=37
+'DefaultThread'=59
+'E'=19
+'NodeClass'=35
+'NodeRef'=33
+'PhysicalModel'=29
+'PhysicalSystem'=32
+'RuntimeClass'=46
+'Thread'=12
+'['=52
+']'=53
+'attribute'=47
+'blocked'=21
+'e'=18
+'execmode'=40
+'false'=15
+'from'=50
+'import'=49
+'interval'=41
+'mandatory'=13
+'mixed'=22
+'model'=14
+'ms'=55
+'msgblocksize'=44
+'msgpoolsize'=45
+'multiThreaded'=24
+'ns'=57
+'optional'=60
+'polled'=20
+'prio'=42
+'priomax'=39
+'priomin'=38
+'ptBoolean'=25
+'ptCharacter'=28
+'ptInteger'=26
+'ptReal'=27
+'runtime'=36
+'s'=54
+'singleThreaded'=23
+'stacksize'=43
+'true'=61
+'us'=56
+'{'=30
+'}'=31
+RULE_ANY_OTHER=11
 RULE_HEX=5
 RULE_ID=4
 RULE_INT=6
-RULE_ML_COMMENT=9
-RULE_SL_COMMENT=10
-RULE_STRING=8
-RULE_WS=11
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
+RULE_STRING=7
+RULE_WS=10
+T__12=12
 T__13=13
 T__14=14
 T__15=15
@@ -103,3 +105,4 @@
 T__58=58
 T__59=59
 T__60=60
+T__61=61
diff --git a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhysLexer.java b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhysLexer.java
index 103dbe5..0af5b99 100644
--- a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhysLexer.java
+++ b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhysLexer.java
@@ -12,64 +12,65 @@
 
 @SuppressWarnings("all")
 public class InternalETPhysLexer extends Lexer {
-    public static final int RULE_EXP=7;
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int T__21=21;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__20=20;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=5;
-    public static final int T__58=58;
+    public static final int T__50=50;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__59=59;
     public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__15=15;
     public static final int T__53=53;
-    public static final int T__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    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=8;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -84,10 +85,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:11:7: ( 'Thread' )
             // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:11:9: 'Thread'
@@ -103,6 +104,27 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:12:7: ( 'mandatory' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:12:9: 'mandatory'
+            {
+            match("mandatory"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -110,10 +132,11 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:12:7: ( '+' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:12:9: '+'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:13:7: ( 'model' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:13:9: 'model'
             {
-            match('+'); 
+            match("model"); 
+
 
             }
 
@@ -130,10 +153,11 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:13:7: ( '-' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:13:9: '-'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:14:7: ( 'false' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:14:9: 'false'
             {
-            match('-'); 
+            match("false"); 
+
 
             }
 
@@ -150,11 +174,10 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:14:7: ( 'mandatory' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:14:9: 'mandatory'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:15:7: ( '+' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:15:9: '+'
             {
-            match("mandatory"); 
-
+            match('+'); 
 
             }
 
@@ -171,11 +194,10 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:15:7: ( 'model' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:15:9: 'model'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:16:7: ( '-' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:16:9: '-'
             {
-            match("model"); 
-
+            match('-'); 
 
             }
 
@@ -192,11 +214,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:16:7: ( 'false' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:16:9: 'false'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:17:7: ( 'e' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:17:9: 'e'
             {
-            match("false"); 
-
+            match('e'); 
 
             }
 
@@ -213,11 +234,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:17:7: ( 'polled' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:17:9: 'polled'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:18:7: ( 'E' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:18:9: 'E'
             {
-            match("polled"); 
-
+            match('E'); 
 
             }
 
@@ -234,10 +254,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:18:7: ( 'blocked' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:18:9: 'blocked'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:19:7: ( 'polled' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:19:9: 'polled'
             {
-            match("blocked"); 
+            match("polled"); 
 
 
             }
@@ -255,10 +275,10 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:19:7: ( 'mixed' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:19:9: 'mixed'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:20:7: ( 'blocked' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:20:9: 'blocked'
             {
-            match("mixed"); 
+            match("blocked"); 
 
 
             }
@@ -276,10 +296,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:20:7: ( 'singleThreaded' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:20:9: 'singleThreaded'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:21:7: ( 'mixed' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:21:9: 'mixed'
             {
-            match("singleThreaded"); 
+            match("mixed"); 
 
 
             }
@@ -297,10 +317,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:21:7: ( 'multiThreaded' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:21:9: 'multiThreaded'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:22:7: ( 'singleThreaded' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:22:9: 'singleThreaded'
             {
-            match("multiThreaded"); 
+            match("singleThreaded"); 
 
 
             }
@@ -318,10 +338,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:22:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:22:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:23:7: ( 'multiThreaded' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:23:9: 'multiThreaded'
             {
-            match("ptBoolean"); 
+            match("multiThreaded"); 
 
 
             }
@@ -339,10 +359,10 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:23:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:23:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:24:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:24:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -360,10 +380,10 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:24:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:24:9: 'ptReal'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:25:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:25:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -381,10 +401,10 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:25:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:25:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:26:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:26:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -402,10 +422,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:26:7: ( 'PhysicalModel' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:26:9: 'PhysicalModel'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:27:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:27:9: 'ptCharacter'
             {
-            match("PhysicalModel"); 
+            match("ptCharacter"); 
 
 
             }
@@ -423,10 +443,11 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:27:7: ( '{' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:27:9: '{'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:28:7: ( 'PhysicalModel' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:28:9: 'PhysicalModel'
             {
-            match('{'); 
+            match("PhysicalModel"); 
+
 
             }
 
@@ -443,10 +464,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:28:7: ( '}' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:28:9: '}'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:29:7: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:29:9: '{'
             {
-            match('}'); 
+            match('{'); 
 
             }
 
@@ -463,11 +484,10 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:29:7: ( 'PhysicalSystem' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:29:9: 'PhysicalSystem'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:30:7: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:30:9: '}'
             {
-            match("PhysicalSystem"); 
-
+            match('}'); 
 
             }
 
@@ -484,10 +504,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:30:7: ( 'NodeRef' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:30:9: 'NodeRef'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:31:7: ( 'PhysicalSystem' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:31:9: 'PhysicalSystem'
             {
-            match("NodeRef"); 
+            match("PhysicalSystem"); 
 
 
             }
@@ -505,10 +525,11 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:31:7: ( ':' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:31:9: ':'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:32:7: ( 'NodeRef' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:32:9: 'NodeRef'
             {
-            match(':'); 
+            match("NodeRef"); 
+
 
             }
 
@@ -525,11 +546,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:32:7: ( 'NodeClass' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:32:9: 'NodeClass'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:33:7: ( ':' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:33:9: ':'
             {
-            match("NodeClass"); 
-
+            match(':'); 
 
             }
 
@@ -546,10 +566,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:33:7: ( 'runtime' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:33:9: 'runtime'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:34:7: ( 'NodeClass' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:34:9: 'NodeClass'
             {
-            match("runtime"); 
+            match("NodeClass"); 
 
 
             }
@@ -567,10 +587,11 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:34:7: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:34:9: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:35:7: ( 'runtime' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:35:9: 'runtime'
             {
-            match('='); 
+            match("runtime"); 
+
 
             }
 
@@ -587,11 +608,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:35:7: ( 'priomin' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:35:9: 'priomin'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:36:7: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:36:9: '='
             {
-            match("priomin"); 
-
+            match('='); 
 
             }
 
@@ -608,10 +628,10 @@
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:36:7: ( 'priomax' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:36:9: 'priomax'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:37:7: ( 'priomin' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:37:9: 'priomin'
             {
-            match("priomax"); 
+            match("priomin"); 
 
 
             }
@@ -629,10 +649,10 @@
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:37:7: ( 'execmode' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:37:9: 'execmode'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:38:7: ( 'priomax' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:38:9: 'priomax'
             {
-            match("execmode"); 
+            match("priomax"); 
 
 
             }
@@ -650,10 +670,10 @@
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:38:7: ( 'interval' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:38:9: 'interval'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:39:7: ( 'execmode' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:39:9: 'execmode'
             {
-            match("interval"); 
+            match("execmode"); 
 
 
             }
@@ -671,10 +691,10 @@
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:39:7: ( 'prio' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:39:9: 'prio'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:40:7: ( 'interval' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:40:9: 'interval'
             {
-            match("prio"); 
+            match("interval"); 
 
 
             }
@@ -692,10 +712,10 @@
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:40:7: ( 'stacksize' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:40:9: 'stacksize'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:41:7: ( 'prio' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:41:9: 'prio'
             {
-            match("stacksize"); 
+            match("prio"); 
 
 
             }
@@ -713,10 +733,10 @@
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:41:7: ( 'msgblocksize' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:41:9: 'msgblocksize'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:42:7: ( 'stacksize' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:42:9: 'stacksize'
             {
-            match("msgblocksize"); 
+            match("stacksize"); 
 
 
             }
@@ -734,10 +754,10 @@
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:42:7: ( 'msgpoolsize' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:42:9: 'msgpoolsize'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:43:7: ( 'msgblocksize' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:43:9: 'msgblocksize'
             {
-            match("msgpoolsize"); 
+            match("msgblocksize"); 
 
 
             }
@@ -755,10 +775,10 @@
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:43:7: ( 'RuntimeClass' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:43:9: 'RuntimeClass'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:44:7: ( 'msgpoolsize' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:44:9: 'msgpoolsize'
             {
-            match("RuntimeClass"); 
+            match("msgpoolsize"); 
 
 
             }
@@ -776,10 +796,10 @@
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:44:7: ( 'attribute' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:44:9: 'attribute'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:45:7: ( 'RuntimeClass' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:45:9: 'RuntimeClass'
             {
-            match("attribute"); 
+            match("RuntimeClass"); 
 
 
             }
@@ -797,10 +817,11 @@
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:45:7: ( ',' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:45:9: ','
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:46:7: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:46:9: 'attribute'
             {
-            match(','); 
+            match("attribute"); 
+
 
             }
 
@@ -817,11 +838,10 @@
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:46:7: ( 'import' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:46:9: 'import'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:47:7: ( ',' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:47:9: ','
             {
-            match("import"); 
-
+            match(','); 
 
             }
 
@@ -838,10 +858,10 @@
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:47:7: ( 'from' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:47:9: 'from'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:48:7: ( 'import' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:48:9: 'import'
             {
-            match("from"); 
+            match("import"); 
 
 
             }
@@ -859,10 +879,10 @@
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:48:7: ( '.*' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:48:9: '.*'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:49:7: ( 'from' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:49:9: 'from'
             {
-            match(".*"); 
+            match("from"); 
 
 
             }
@@ -880,10 +900,11 @@
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:49:7: ( '[' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:49:9: '['
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:50:7: ( '.*' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:50:9: '.*'
             {
-            match('['); 
+            match(".*"); 
+
 
             }
 
@@ -900,10 +921,10 @@
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:50:7: ( ']' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:50:9: ']'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:51:7: ( '[' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:51:9: '['
             {
-            match(']'); 
+            match('['); 
 
             }
 
@@ -920,10 +941,10 @@
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:51:7: ( 's' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:51:9: 's'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:52:7: ( ']' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:52:9: ']'
             {
-            match('s'); 
+            match(']'); 
 
             }
 
@@ -940,11 +961,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:52:7: ( 'ms' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:52:9: 'ms'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:53:7: ( 's' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:53:9: 's'
             {
-            match("ms"); 
-
+            match('s'); 
 
             }
 
@@ -961,10 +981,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:53:7: ( 'us' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:53:9: 'us'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:54:7: ( 'ms' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:54:9: 'ms'
             {
-            match("us"); 
+            match("ms"); 
 
 
             }
@@ -982,10 +1002,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:54:7: ( 'ns' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:54:9: 'ns'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:55:7: ( 'us' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:55:9: 'us'
             {
-            match("ns"); 
+            match("us"); 
 
 
             }
@@ -1003,10 +1023,11 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:55:7: ( '.' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:55:9: '.'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:56:7: ( 'ns' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:56:9: 'ns'
             {
-            match('.'); 
+            match("ns"); 
+
 
             }
 
@@ -1023,11 +1044,10 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:56:7: ( 'DefaultThread' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:56:9: 'DefaultThread'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:57:7: ( '.' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:57:9: '.'
             {
-            match("DefaultThread"); 
-
+            match('.'); 
 
             }
 
@@ -1044,10 +1064,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:57:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:57:9: 'optional'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:58:7: ( 'DefaultThread' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:58:9: 'DefaultThread'
             {
-            match("optional"); 
+            match("DefaultThread"); 
 
 
             }
@@ -1065,10 +1085,10 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:58:7: ( 'true' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:58:9: 'true'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:59:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:59:9: 'optional'
             {
-            match("true"); 
+            match("optional"); 
 
 
             }
@@ -1081,42 +1101,74 @@
     }
     // $ANTLR end "T__60"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__61"
+    public final void mT__61() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6863:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6863:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:60:7: ( 'true' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:60:9: 'true'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("true"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6863:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__61"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6459:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6459:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6459:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6459:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6459:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -1124,23 +1176,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6863:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6459:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6863:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -1163,109 +1223,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6865:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6865:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6865:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6865:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6865:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6865:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -1273,19 +1230,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6867:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6867:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6461:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6461:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6867:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6461:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6867:11: '^'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6461:11: '^'
                     {
                     match('^'); 
 
@@ -1303,18 +1260,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6867:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6461:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:
             	    {
@@ -1332,7 +1289,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -1352,24 +1309,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6869:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6869:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6463:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6463:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6869:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6463:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6869:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6463:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -1377,12 +1334,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -1401,47 +1358,47 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6871:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6871:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6465:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6465:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6871:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6465:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6871:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6465:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6871:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6465:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6871:21: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6465:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1449,7 +1406,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6871:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6465:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1465,7 +1422,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -1474,26 +1431,26 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6871:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6465:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6871:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6465:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6871:54: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6465:54: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1501,7 +1458,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6871:61: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6465:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1517,7 +1474,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -1544,37 +1501,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6873:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6873:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6467:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6467:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6873:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6467:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6873:52: .
+            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6467:52: .
             	    {
             	    matchAny(); 
 
@@ -1582,7 +1539,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -1604,25 +1561,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6875:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6875:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6469:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6469:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6875:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6469:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6875:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6469: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();
@@ -1638,31 +1595,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6875:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6469:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6875:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6469:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6875:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6469:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6875:41: '\\r'
+                            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6469:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1694,22 +1651,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6877:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6877:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6471:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6471:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6877:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6471:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:
             	    {
@@ -1727,12 +1684,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -1751,8 +1708,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6879:16: ( . )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6879:18: .
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6473:16: ( . )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6473:18: .
             {
             matchAny(); 
 
@@ -1767,404 +1724,411 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:8: ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=57;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:8: ( 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 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=58;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:10: T__13
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:148: T__36
+            case 25 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:154: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:154: T__37
+            case 26 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:160: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:160: T__38
+            case 27 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:166: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:166: T__39
+            case 28 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:172: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:172: T__40
+            case 29 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:178: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:178: T__41
+            case 30 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:184: T__41
                 {
                 mT__41(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:184: T__42
+            case 31 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:190: T__42
                 {
                 mT__42(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:190: T__43
+            case 32 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:196: T__43
                 {
                 mT__43(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:196: T__44
+            case 33 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:202: T__44
                 {
                 mT__44(); 
 
                 }
                 break;
-            case 33 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:202: T__45
+            case 34 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:208: T__45
                 {
                 mT__45(); 
 
                 }
                 break;
-            case 34 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:208: T__46
+            case 35 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:214: T__46
                 {
                 mT__46(); 
 
                 }
                 break;
-            case 35 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:214: T__47
+            case 36 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:220: T__47
                 {
                 mT__47(); 
 
                 }
                 break;
-            case 36 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:220: T__48
+            case 37 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:226: T__48
                 {
                 mT__48(); 
 
                 }
                 break;
-            case 37 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:226: T__49
+            case 38 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:232: T__49
                 {
                 mT__49(); 
 
                 }
                 break;
-            case 38 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:232: T__50
+            case 39 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:238: T__50
                 {
                 mT__50(); 
 
                 }
                 break;
-            case 39 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:238: T__51
+            case 40 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:244: T__51
                 {
                 mT__51(); 
 
                 }
                 break;
-            case 40 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:244: T__52
+            case 41 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:250: T__52
                 {
                 mT__52(); 
 
                 }
                 break;
-            case 41 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:250: T__53
+            case 42 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:256: T__53
                 {
                 mT__53(); 
 
                 }
                 break;
-            case 42 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:256: T__54
+            case 43 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:262: T__54
                 {
                 mT__54(); 
 
                 }
                 break;
-            case 43 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:262: T__55
+            case 44 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:268: T__55
                 {
                 mT__55(); 
 
                 }
                 break;
-            case 44 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:268: T__56
+            case 45 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:274: T__56
                 {
                 mT__56(); 
 
                 }
                 break;
-            case 45 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:274: T__57
+            case 46 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:280: T__57
                 {
                 mT__57(); 
 
                 }
                 break;
-            case 46 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:280: T__58
+            case 47 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:286: T__58
                 {
                 mT__58(); 
 
                 }
                 break;
-            case 47 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:286: T__59
+            case 48 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:292: T__59
                 {
                 mT__59(); 
 
                 }
                 break;
-            case 48 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:292: T__60
+            case 49 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:298: T__60
                 {
                 mT__60(); 
 
                 }
                 break;
-            case 49 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:298: RULE_EXP
+            case 50 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:304: T__61
                 {
-                mRULE_EXP(); 
+                mT__61(); 
 
                 }
                 break;
-            case 50 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:307: RULE_HEX
+            case 51 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:310: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 51 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:316: RULE_ID
+            case 52 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:319: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 52 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:324: RULE_INT
+            case 53 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:327: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 53 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:333: RULE_STRING
+            case 54 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:336: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 54 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:345: RULE_ML_COMMENT
+            case 55 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:348: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 55 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:361: RULE_SL_COMMENT
+            case 56 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:364: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 56 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:377: RULE_WS
+            case 57 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:380: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 57 :
-                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:385: RULE_ANY_OTHER
+            case 58 :
+                // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1:388: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -2176,118 +2140,120 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\1\uffff\1\50\2\uffff\4\50\1\70\1\50\2\uffff\1\50\1\uffff\1\50"+
-        "\1\uffff\4\50\1\uffff\1\111\2\uffff\6\50\1\122\1\46\2\uffff\3\46"+
-        "\2\uffff\1\50\3\uffff\4\50\1\135\10\50\1\uffff\1\50\2\uffff\1\50"+
-        "\1\uffff\1\50\1\uffff\1\50\1\102\1\uffff\4\50\5\uffff\1\161\1\162"+
-        "\3\50\6\uffff\6\50\1\uffff\23\50\2\uffff\13\50\1\u009b\5\50\1\u00a2"+
-        "\15\50\1\u00b1\2\50\1\u00b4\1\u00b5\3\50\1\u00b9\1\uffff\6\50\1"+
-        "\uffff\16\50\1\uffff\1\u00cf\1\50\2\uffff\3\50\1\uffff\1\u00d4\2"+
-        "\50\1\u00d7\14\50\1\u00e4\4\50\1\uffff\4\50\1\uffff\2\50\1\uffff"+
-        "\1\50\1\u00f0\1\u00f1\1\u00f2\3\50\1\u00f6\1\50\1\u00f8\2\50\1\uffff"+
-        "\13\50\3\uffff\3\50\1\uffff\1\50\1\uffff\1\u010b\1\u010c\3\50\1"+
-        "\u0110\1\u0111\3\50\1\u0115\1\u0116\2\50\1\u0119\2\50\1\u011c\2"+
-        "\uffff\1\50\1\u011e\1\50\2\uffff\3\50\2\uffff\2\50\1\uffff\2\50"+
-        "\1\uffff\1\50\1\uffff\3\50\1\u012b\1\u012c\6\50\1\u0133\2\uffff"+
-        "\3\50\1\u0137\1\50\1\u0139\1\uffff\1\50\1\u013b\1\50\1\uffff\1\u013d"+
-        "\1\uffff\1\u013e\1\uffff\1\u013f\3\uffff";
-    static final String DFA16_eofS =
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\1\uffff\3\50\2\uffff\1\63\1\64\2\50\1\73\1\50\2\uffff\1\50\1\uffff"+
+        "\1\50\1\uffff\3\50\1\uffff\1\111\2\uffff\5\50\1\122\1\46\2\uffff"+
+        "\3\46\2\uffff\1\50\1\uffff\4\50\1\135\2\50\2\uffff\1\50\2\uffff"+
+        "\6\50\1\uffff\1\50\2\uffff\1\50\1\uffff\1\50\1\uffff\4\50\5\uffff"+
+        "\1\161\1\162\3\50\6\uffff\6\50\1\uffff\23\50\2\uffff\13\50\1\u009b"+
+        "\6\50\1\u00a3\14\50\1\u00b1\2\50\1\u00b4\1\u00b5\3\50\1\u00b9\1"+
+        "\uffff\7\50\1\uffff\15\50\1\uffff\1\u00cf\1\50\2\uffff\3\50\1\uffff"+
+        "\1\50\1\u00d5\2\50\1\u00d8\13\50\1\u00e4\4\50\1\uffff\5\50\1\uffff"+
+        "\2\50\1\uffff\1\50\1\u00f1\1\u00f2\1\u00f3\3\50\1\u00f7\1\50\1\u00f9"+
+        "\1\50\1\uffff\10\50\1\u0103\3\50\3\uffff\3\50\1\uffff\1\50\1\uffff"+
+        "\1\u010c\3\50\1\u0110\1\u0111\3\50\1\uffff\1\u0115\1\u0116\2\50"+
+        "\1\u0119\2\50\1\u011c\1\uffff\1\50\1\u011e\1\50\2\uffff\3\50\2\uffff"+
+        "\2\50\1\uffff\2\50\1\uffff\1\50\1\uffff\3\50\1\u012b\1\u012c\6\50"+
+        "\1\u0133\2\uffff\3\50\1\u0137\1\50\1\u0139\1\uffff\1\50\1\u013b"+
+        "\1\50\1\uffff\1\u013d\1\uffff\1\u013e\1\uffff\1\u013f\3\uffff";
+    static final String DFA14_eofS =
         "\u0140\uffff";
-    static final String DFA16_minS =
-        "\1\0\1\150\2\uffff\2\141\1\157\1\154\1\60\1\150\2\uffff\1\157\1"+
-        "\uffff\1\165\1\uffff\1\53\1\155\1\165\1\164\1\uffff\1\52\2\uffff"+
-        "\2\163\1\145\1\160\1\162\1\53\1\130\1\101\2\uffff\2\0\1\52\2\uffff"+
-        "\1\162\3\uffff\1\156\1\144\1\170\1\154\1\60\1\154\1\157\1\154\1"+
-        "\102\1\151\1\157\1\156\1\141\1\uffff\1\171\2\uffff\1\144\1\uffff"+
-        "\1\156\1\uffff\1\145\1\60\1\uffff\1\164\1\160\1\156\1\164\5\uffff"+
+    static final String DFA14_minS =
+        "\1\0\1\150\2\141\2\uffff\2\60\1\157\1\154\1\60\1\150\2\uffff\1"+
+        "\157\1\uffff\1\165\1\uffff\1\155\1\165\1\164\1\uffff\1\52\2\uffff"+
+        "\2\163\1\145\1\160\1\162\1\130\1\101\2\uffff\2\0\1\52\2\uffff\1"+
+        "\162\1\uffff\1\156\1\144\1\170\1\154\1\60\1\154\1\157\2\uffff\1"+
+        "\145\2\uffff\1\154\1\102\1\151\1\157\1\156\1\141\1\uffff\1\171\2"+
+        "\uffff\1\144\1\uffff\1\156\1\uffff\1\164\1\160\1\156\1\164\5\uffff"+
         "\2\60\1\146\1\164\1\165\6\uffff\1\145\1\144\2\145\1\164\1\142\1"+
-        "\uffff\1\163\1\155\1\154\1\157\1\156\1\145\1\150\1\157\1\143\1\147"+
-        "\1\143\1\163\1\145\1\164\1\143\1\145\1\157\1\164\1\162\2\uffff\1"+
+        "\uffff\1\163\1\155\1\143\1\154\1\157\1\156\1\145\1\150\1\157\1\143"+
+        "\1\147\1\143\1\163\1\145\1\164\1\145\1\157\1\164\1\162\2\uffff\1"+
         "\141\1\151\1\145\2\141\1\154\1\144\1\151\1\154\1\157\1\145\1\60"+
-        "\1\145\1\157\1\164\2\141\1\60\1\153\1\154\1\153\1\151\1\103\1\151"+
-        "\1\155\2\162\2\151\1\165\1\157\1\60\1\144\1\164\2\60\1\124\2\157"+
-        "\1\60\1\uffff\1\144\1\154\1\145\1\154\1\162\1\141\1\uffff\2\145"+
-        "\1\163\1\143\1\145\1\154\1\155\1\157\1\166\1\164\1\155\1\142\1\154"+
-        "\1\156\1\uffff\1\60\1\157\2\uffff\1\150\1\143\1\154\1\uffff\1\60"+
-        "\1\145\1\147\1\60\1\141\1\156\1\170\1\144\1\124\1\151\1\141\1\146"+
-        "\1\141\1\145\1\144\1\141\1\60\1\145\1\165\1\164\1\141\1\uffff\2"+
-        "\162\1\153\1\163\1\uffff\1\141\1\145\1\uffff\1\143\3\60\1\150\1"+
-        "\172\1\154\1\60\1\163\1\60\1\145\1\154\1\uffff\1\103\1\164\1\124"+
-        "\1\154\1\171\1\145\1\163\1\151\1\156\1\162\1\164\3\uffff\1\162\1"+
-        "\145\1\115\1\uffff\1\163\1\uffff\2\60\1\154\1\145\1\150\2\60\1\141"+
-        "\1\151\1\172\2\60\2\145\1\60\1\157\1\171\1\60\2\uffff\1\141\1\60"+
-        "\1\162\2\uffff\1\144\1\172\1\145\2\uffff\1\162\1\141\1\uffff\1\144"+
-        "\1\163\1\uffff\1\163\1\uffff\3\145\2\60\1\144\1\145\1\164\1\163"+
-        "\1\141\1\144\1\60\2\uffff\1\145\1\154\1\145\1\60\1\144\1\60\1\uffff"+
-        "\1\144\1\60\1\155\1\uffff\1\60\1\uffff\1\60\1\uffff\1\60\3\uffff";
-    static final String DFA16_maxS =
-        "\1\uffff\1\150\2\uffff\1\165\1\162\1\164\1\154\1\172\1\150\2\uffff"+
-        "\1\157\1\uffff\1\165\1\uffff\1\170\1\156\1\165\1\164\1\uffff\1\52"+
-        "\2\uffff\2\163\1\145\1\160\1\162\1\71\1\170\1\172\2\uffff\2\uffff"+
-        "\1\57\2\uffff\1\162\3\uffff\1\156\1\144\1\170\1\154\1\172\1\154"+
-        "\1\157\1\154\1\122\1\151\1\157\1\156\1\141\1\uffff\1\171\2\uffff"+
-        "\1\144\1\uffff\1\156\1\uffff\1\145\1\172\1\uffff\1\164\1\160\1\156"+
-        "\1\164\5\uffff\2\172\1\146\1\164\1\165\6\uffff\1\145\1\144\2\145"+
-        "\1\164\1\160\1\uffff\1\163\1\155\1\154\1\157\1\156\1\145\1\150\1"+
-        "\157\1\143\1\147\1\143\1\163\1\145\1\164\1\143\1\145\1\157\1\164"+
+        "\1\155\1\145\1\157\1\164\2\141\1\60\1\153\1\154\1\153\1\151\1\103"+
+        "\1\151\2\162\2\151\1\165\1\157\1\60\1\144\1\164\2\60\1\124\2\157"+
+        "\1\60\1\uffff\1\157\1\144\1\154\1\145\1\154\1\162\1\141\1\uffff"+
+        "\2\145\1\163\1\143\1\145\1\154\1\155\1\166\1\164\1\155\1\142\1\154"+
+        "\1\156\1\uffff\1\60\1\157\2\uffff\1\150\1\143\1\154\1\uffff\1\144"+
+        "\1\60\1\145\1\147\1\60\1\141\1\156\1\170\1\144\1\124\1\151\1\141"+
+        "\1\146\1\141\1\145\1\141\1\60\1\145\1\165\1\164\1\141\1\uffff\2"+
+        "\162\1\153\1\163\1\145\1\uffff\1\141\1\145\1\uffff\1\143\3\60\1"+
+        "\150\1\172\1\154\1\60\1\163\1\60\1\154\1\uffff\1\103\1\164\1\124"+
+        "\1\154\1\171\1\145\1\163\1\151\1\60\1\156\1\162\1\164\3\uffff\1"+
+        "\162\1\145\1\115\1\uffff\1\163\1\uffff\1\60\1\154\1\145\1\150\2"+
+        "\60\1\141\1\151\1\172\1\uffff\2\60\2\145\1\60\1\157\1\171\1\60\1"+
+        "\uffff\1\141\1\60\1\162\2\uffff\1\144\1\172\1\145\2\uffff\1\162"+
+        "\1\141\1\uffff\1\144\1\163\1\uffff\1\163\1\uffff\3\145\2\60\1\144"+
+        "\1\145\1\164\1\163\1\141\1\144\1\60\2\uffff\1\145\1\154\1\145\1"+
+        "\60\1\144\1\60\1\uffff\1\144\1\60\1\155\1\uffff\1\60\1\uffff\1\60"+
+        "\1\uffff\1\60\3\uffff";
+    static final String DFA14_maxS =
+        "\1\uffff\1\150\1\165\1\162\2\uffff\2\172\1\164\1\154\1\172\1\150"+
+        "\2\uffff\1\157\1\uffff\1\165\1\uffff\1\156\1\165\1\164\1\uffff\1"+
+        "\52\2\uffff\2\163\1\145\1\160\1\162\1\170\1\172\2\uffff\2\uffff"+
+        "\1\57\2\uffff\1\162\1\uffff\1\156\1\144\1\170\1\154\1\172\1\154"+
+        "\1\157\2\uffff\1\145\2\uffff\1\154\1\122\1\151\1\157\1\156\1\141"+
+        "\1\uffff\1\171\2\uffff\1\144\1\uffff\1\156\1\uffff\1\164\1\160\1"+
+        "\156\1\164\5\uffff\2\172\1\146\1\164\1\165\6\uffff\1\145\1\144\2"+
+        "\145\1\164\1\160\1\uffff\1\163\1\155\1\143\1\154\1\157\1\156\1\145"+
+        "\1\150\1\157\1\143\1\147\1\143\1\163\1\145\1\164\1\145\1\157\1\164"+
         "\1\162\2\uffff\1\141\1\151\1\145\2\141\1\154\1\144\1\151\1\154\1"+
-        "\157\1\145\1\172\1\145\1\157\1\164\2\141\1\172\1\153\1\154\1\153"+
-        "\1\151\1\122\1\151\1\155\2\162\2\151\1\165\1\157\1\172\1\144\1\164"+
-        "\2\172\1\124\2\157\1\172\1\uffff\1\144\1\154\1\145\1\154\1\162\1"+
-        "\151\1\uffff\2\145\1\163\1\143\1\145\1\154\1\155\1\157\1\166\1\164"+
+        "\157\1\145\1\172\1\155\1\145\1\157\1\164\2\141\1\172\1\153\1\154"+
+        "\1\153\1\151\1\122\1\151\2\162\2\151\1\165\1\157\1\172\1\144\1\164"+
+        "\2\172\1\124\2\157\1\172\1\uffff\1\157\1\144\1\154\1\145\1\154\1"+
+        "\162\1\151\1\uffff\2\145\1\163\1\143\1\145\1\154\1\155\1\166\1\164"+
         "\1\155\1\142\1\154\1\156\1\uffff\1\172\1\157\2\uffff\1\150\1\143"+
-        "\1\154\1\uffff\1\172\1\145\1\147\1\172\1\141\1\156\1\170\1\144\1"+
-        "\124\1\151\1\141\1\146\1\141\1\145\1\144\1\141\1\172\1\145\1\165"+
-        "\1\164\1\141\1\uffff\2\162\1\153\1\163\1\uffff\1\141\1\145\1\uffff"+
-        "\1\143\3\172\1\150\1\172\1\154\1\172\1\163\1\172\1\145\1\154\1\uffff"+
-        "\1\103\1\164\1\124\1\154\1\171\1\145\1\163\1\151\1\156\1\162\1\164"+
-        "\3\uffff\1\162\1\145\1\123\1\uffff\1\163\1\uffff\2\172\1\154\1\145"+
-        "\1\150\2\172\1\141\1\151\3\172\2\145\1\172\1\157\1\171\1\172\2\uffff"+
-        "\1\141\1\172\1\162\2\uffff\1\144\1\172\1\145\2\uffff\1\162\1\141"+
-        "\1\uffff\1\144\1\163\1\uffff\1\163\1\uffff\3\145\2\172\1\144\1\145"+
-        "\1\164\1\163\1\141\1\144\1\172\2\uffff\1\145\1\154\1\145\1\172\1"+
-        "\144\1\172\1\uffff\1\144\1\172\1\155\1\uffff\1\172\1\uffff\1\172"+
-        "\1\uffff\1\172\3\uffff";
-    static final String DFA16_acceptS =
-        "\2\uffff\1\2\1\3\6\uffff\1\21\1\22\1\uffff\1\25\1\uffff\1\30\4"+
-        "\uffff\1\43\1\uffff\1\47\1\50\10\uffff\1\63\1\64\3\uffff\1\70\1"+
-        "\71\1\uffff\1\63\1\2\1\3\15\uffff\1\51\1\uffff\1\21\1\22\1\uffff"+
-        "\1\25\1\uffff\1\30\2\uffff\1\61\4\uffff\1\43\1\46\1\55\1\47\1\50"+
-        "\5\uffff\1\62\1\64\1\65\1\66\1\67\1\70\6\uffff\1\52\23\uffff\1\53"+
-        "\1\54\50\uffff\1\45\6\uffff\1\35\16\uffff\1\60\2\uffff\1\5\1\11"+
-        "\3\uffff\1\6\25\uffff\1\1\4\uffff\1\7\2\uffff\1\16\14\uffff\1\44"+
-        "\13\uffff\1\31\1\32\1\10\3\uffff\1\24\1\uffff\1\27\22\uffff\1\33"+
-        "\1\34\3\uffff\1\57\1\4\3\uffff\1\14\1\15\2\uffff\1\36\2\uffff\1"+
-        "\26\1\uffff\1\42\14\uffff\1\40\1\17\6\uffff\1\37\3\uffff\1\41\1"+
-        "\uffff\1\13\1\uffff\1\20\1\uffff\1\56\1\12\1\23";
-    static final String DFA16_specialS =
-        "\1\1\41\uffff\1\0\1\2\u011c\uffff}>";
-    static final String[] DFA16_transitionS = {
+        "\1\154\1\uffff\1\144\1\172\1\145\1\147\1\172\1\141\1\156\1\170\1"+
+        "\144\1\124\1\151\1\141\1\146\1\141\1\145\1\141\1\172\1\145\1\165"+
+        "\1\164\1\141\1\uffff\2\162\1\153\1\163\1\145\1\uffff\1\141\1\145"+
+        "\1\uffff\1\143\3\172\1\150\1\172\1\154\1\172\1\163\1\172\1\154\1"+
+        "\uffff\1\103\1\164\1\124\1\154\1\171\1\145\1\163\1\151\1\172\1\156"+
+        "\1\162\1\164\3\uffff\1\162\1\145\1\123\1\uffff\1\163\1\uffff\1\172"+
+        "\1\154\1\145\1\150\2\172\1\141\1\151\1\172\1\uffff\2\172\2\145\1"+
+        "\172\1\157\1\171\1\172\1\uffff\1\141\1\172\1\162\2\uffff\1\144\1"+
+        "\172\1\145\2\uffff\1\162\1\141\1\uffff\1\144\1\163\1\uffff\1\163"+
+        "\1\uffff\3\145\2\172\1\144\1\145\1\164\1\163\1\141\1\144\1\172\2"+
+        "\uffff\1\145\1\154\1\145\1\172\1\144\1\172\1\uffff\1\144\1\172\1"+
+        "\155\1\uffff\1\172\1\uffff\1\172\1\uffff\1\172\3\uffff";
+    static final String DFA14_acceptS =
+        "\4\uffff\1\5\1\6\6\uffff\1\23\1\24\1\uffff\1\27\1\uffff\1\32\3"+
+        "\uffff\1\45\1\uffff\1\51\1\52\7\uffff\1\64\1\65\3\uffff\1\71\1\72"+
+        "\1\uffff\1\64\7\uffff\1\5\1\6\1\uffff\1\7\1\10\6\uffff\1\53\1\uffff"+
+        "\1\23\1\24\1\uffff\1\27\1\uffff\1\32\4\uffff\1\45\1\50\1\57\1\51"+
+        "\1\52\5\uffff\1\63\1\65\1\66\1\67\1\70\1\71\6\uffff\1\54\23\uffff"+
+        "\1\55\1\56\50\uffff\1\47\7\uffff\1\37\15\uffff\1\62\2\uffff\1\3"+
+        "\1\13\3\uffff\1\4\25\uffff\1\1\5\uffff\1\11\2\uffff\1\20\13\uffff"+
+        "\1\46\14\uffff\1\33\1\34\1\12\3\uffff\1\26\1\uffff\1\31\11\uffff"+
+        "\1\35\10\uffff\1\36\3\uffff\1\61\1\2\3\uffff\1\16\1\17\2\uffff\1"+
+        "\40\2\uffff\1\30\1\uffff\1\44\14\uffff\1\42\1\21\6\uffff\1\41\3"+
+        "\uffff\1\43\1\uffff\1\15\1\uffff\1\22\1\uffff\1\60\1\14\1\25";
+    static final String DFA14_specialS =
+        "\1\2\41\uffff\1\1\1\0\u011c\uffff}>";
+    static final String[] DFA14_transitionS = {
             "\11\46\2\45\2\46\1\45\22\46\1\45\1\46\1\42\4\46\1\43\3\46\1"+
-            "\2\1\24\1\3\1\25\1\44\1\36\11\41\1\15\2\46\1\17\3\46\3\40\1"+
-            "\32\1\35\10\40\1\14\1\40\1\11\1\40\1\22\1\40\1\1\6\40\1\26\1"+
-            "\46\1\27\1\37\1\40\1\46\1\23\1\7\2\40\1\20\1\5\2\40\1\21\3\40"+
-            "\1\4\1\31\1\33\1\6\1\40\1\16\1\10\1\34\1\30\5\40\1\12\1\46\1"+
-            "\13\uff82\46",
+            "\4\1\25\1\5\1\26\1\44\1\36\11\41\1\17\2\46\1\21\3\46\3\40\1"+
+            "\33\1\7\10\40\1\16\1\40\1\13\1\40\1\23\1\40\1\1\6\40\1\27\1"+
+            "\46\1\30\1\37\1\40\1\46\1\24\1\11\2\40\1\6\1\3\2\40\1\22\3\40"+
+            "\1\2\1\32\1\34\1\10\1\40\1\20\1\12\1\35\1\31\5\40\1\14\1\46"+
+            "\1\15\uff82\46",
             "\1\47",
+            "\1\51\7\uffff\1\53\5\uffff\1\52\3\uffff\1\55\1\uffff\1\54",
+            "\1\56\20\uffff\1\57",
             "",
             "",
-            "\1\53\7\uffff\1\55\5\uffff\1\54\3\uffff\1\57\1\uffff\1\56",
-            "\1\60\20\uffff\1\61",
-            "\1\62\2\uffff\1\64\1\uffff\1\63",
-            "\1\65",
-            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\66\12\50"+
-            "\1\67\6\50",
-            "\1\71",
-            "",
-            "",
+            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\27\50\1\62\2\50",
+            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
+            "\1\65\2\uffff\1\67\1\uffff\1\66",
+            "\1\70",
+            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\71\12\50"+
+            "\1\72\6\50",
             "\1\74",
             "",
-            "\1\76",
             "",
-            "\1\102\1\uffff\1\102\2\uffff\12\101\76\uffff\1\100",
+            "\1\77",
+            "",
+            "\1\101",
+            "",
             "\1\104\1\103",
             "\1\105",
             "\1\106",
@@ -2300,7 +2266,6 @@
             "\1\116",
             "\1\117",
             "\1\120",
-            "\1\102\1\uffff\1\102\2\uffff\12\101",
             "\1\121\37\uffff\1\121",
             "\32\50\4\uffff\1\50\1\uffff\32\50",
             "",
@@ -2312,8 +2277,6 @@
             "",
             "\1\127",
             "",
-            "",
-            "",
             "\1\130",
             "\1\131",
             "\1\132",
@@ -2321,22 +2284,24 @@
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\6\50\1\134\23\50",
             "\1\136",
             "\1\137",
+            "",
+            "",
             "\1\140",
-            "\1\141\1\144\5\uffff\1\142\10\uffff\1\143",
-            "\1\145",
+            "",
+            "",
+            "\1\141",
+            "\1\142\1\145\5\uffff\1\143\10\uffff\1\144",
             "\1\146",
             "\1\147",
             "\1\150",
-            "",
             "\1\151",
             "",
-            "",
             "\1\152",
             "",
+            "",
             "\1\153",
             "",
             "\1\154",
-            "\12\101\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "",
             "\1\155",
             "\1\156",
@@ -2403,14 +2368,14 @@
             "\1\u009e",
             "\1\u009f",
             "\1\u00a0",
-            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\14\50\1\u00a1\15"+
+            "\1\u00a1",
+            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\14\50\1\u00a2\15"+
             "\50",
-            "\1\u00a3",
             "\1\u00a4",
             "\1\u00a5",
             "\1\u00a6",
-            "\1\u00a8\16\uffff\1\u00a7",
-            "\1\u00a9",
+            "\1\u00a7",
+            "\1\u00a9\16\uffff\1\u00a8",
             "\1\u00aa",
             "\1\u00ab",
             "\1\u00ac",
@@ -2433,9 +2398,9 @@
             "\1\u00bc",
             "\1\u00bd",
             "\1\u00be",
-            "\1\u00c0\7\uffff\1\u00bf",
+            "\1\u00bf",
+            "\1\u00c1\7\uffff\1\u00c0",
             "",
-            "\1\u00c1",
             "\1\u00c2",
             "\1\u00c3",
             "\1\u00c4",
@@ -2458,11 +2423,11 @@
             "\1\u00d2",
             "\1\u00d3",
             "",
+            "\1\u00d4",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
-            "\1\u00d5",
             "\1\u00d6",
+            "\1\u00d7",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
-            "\1\u00d8",
             "\1\u00d9",
             "\1\u00da",
             "\1\u00db",
@@ -2484,21 +2449,21 @@
             "\1\u00ea",
             "\1\u00eb",
             "\1\u00ec",
-            "",
             "\1\u00ed",
-            "\1\u00ee",
             "",
+            "\1\u00ee",
             "\1\u00ef",
+            "",
+            "\1\u00f0",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
-            "\1\u00f3",
             "\1\u00f4",
             "\1\u00f5",
+            "\1\u00f6",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
-            "\1\u00f7",
+            "\1\u00f8",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
-            "\1\u00f9",
             "\1\u00fa",
             "",
             "\1\u00fb",
@@ -2509,20 +2474,20 @@
             "\1\u0100",
             "\1\u0101",
             "\1\u0102",
-            "\1\u0103",
+            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "\1\u0104",
             "\1\u0105",
-            "",
-            "",
-            "",
             "\1\u0106",
+            "",
+            "",
+            "",
             "\1\u0107",
-            "\1\u0108\5\uffff\1\u0109",
+            "\1\u0108",
+            "\1\u0109\5\uffff\1\u010a",
             "",
-            "\1\u010a",
+            "\1\u010b",
             "",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
-            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "\1\u010d",
             "\1\u010e",
             "\1\u010f",
@@ -2531,6 +2496,7 @@
             "\1\u0112",
             "\1\u0113",
             "\1\u0114",
+            "",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "\1\u0117",
@@ -2540,7 +2506,6 @@
             "\1\u011b",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "",
-            "",
             "\1\u011d",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "\1\u011f",
@@ -2594,147 +2559,147 @@
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( 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 | RULE_HEX | 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 LA16_34 = input.LA(1);
+                        int LA14_35 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_34>='\u0000' && LA16_34<='\uFFFF')) ) {s = 83;}
+                        if ( ((LA14_35>='\u0000' && LA14_35<='\uFFFF')) ) {s = 83;}
 
                         else s = 38;
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_0 = input.LA(1);
+                        int LA14_34 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='T') ) {s = 1;}
-
-                        else if ( (LA16_0=='+') ) {s = 2;}
-
-                        else if ( (LA16_0=='-') ) {s = 3;}
-
-                        else if ( (LA16_0=='m') ) {s = 4;}
-
-                        else if ( (LA16_0=='f') ) {s = 5;}
-
-                        else if ( (LA16_0=='p') ) {s = 6;}
-
-                        else if ( (LA16_0=='b') ) {s = 7;}
-
-                        else if ( (LA16_0=='s') ) {s = 8;}
-
-                        else if ( (LA16_0=='P') ) {s = 9;}
-
-                        else if ( (LA16_0=='{') ) {s = 10;}
-
-                        else if ( (LA16_0=='}') ) {s = 11;}
-
-                        else if ( (LA16_0=='N') ) {s = 12;}
-
-                        else if ( (LA16_0==':') ) {s = 13;}
-
-                        else if ( (LA16_0=='r') ) {s = 14;}
-
-                        else if ( (LA16_0=='=') ) {s = 15;}
-
-                        else if ( (LA16_0=='e') ) {s = 16;}
-
-                        else if ( (LA16_0=='i') ) {s = 17;}
-
-                        else if ( (LA16_0=='R') ) {s = 18;}
-
-                        else if ( (LA16_0=='a') ) {s = 19;}
-
-                        else if ( (LA16_0==',') ) {s = 20;}
-
-                        else if ( (LA16_0=='.') ) {s = 21;}
-
-                        else if ( (LA16_0=='[') ) {s = 22;}
-
-                        else if ( (LA16_0==']') ) {s = 23;}
-
-                        else if ( (LA16_0=='u') ) {s = 24;}
-
-                        else if ( (LA16_0=='n') ) {s = 25;}
-
-                        else if ( (LA16_0=='D') ) {s = 26;}
-
-                        else if ( (LA16_0=='o') ) {s = 27;}
-
-                        else if ( (LA16_0=='t') ) {s = 28;}
-
-                        else if ( (LA16_0=='E') ) {s = 29;}
-
-                        else if ( (LA16_0=='0') ) {s = 30;}
-
-                        else if ( (LA16_0=='^') ) {s = 31;}
-
-                        else if ( ((LA16_0>='A' && LA16_0<='C')||(LA16_0>='F' && LA16_0<='M')||LA16_0=='O'||LA16_0=='Q'||LA16_0=='S'||(LA16_0>='U' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='c' && LA16_0<='d')||(LA16_0>='g' && LA16_0<='h')||(LA16_0>='j' && LA16_0<='l')||LA16_0=='q'||(LA16_0>='v' && LA16_0<='z')) ) {s = 32;}
-
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 33;}
-
-                        else if ( (LA16_0=='\"') ) {s = 34;}
-
-                        else if ( (LA16_0=='\'') ) {s = 35;}
-
-                        else if ( (LA16_0=='/') ) {s = 36;}
-
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 37;}
-
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||(LA16_0>='(' && LA16_0<='*')||(LA16_0>=';' && LA16_0<='<')||(LA16_0>='>' && LA16_0<='@')||LA16_0=='\\'||LA16_0=='`'||LA16_0=='|'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 38;}
-
-                        if ( s>=0 ) return s;
-                        break;
-                    case 2 : 
-                        int LA16_35 = input.LA(1);
-
-                        s = -1;
-                        if ( ((LA16_35>='\u0000' && LA16_35<='\uFFFF')) ) {s = 83;}
+                        if ( ((LA14_34>='\u0000' && LA14_34<='\uFFFF')) ) {s = 83;}
 
                         else s = 38;
 
                         if ( s>=0 ) return s;
                         break;
+                    case 2 : 
+                        int LA14_0 = input.LA(1);
+
+                        s = -1;
+                        if ( (LA14_0=='T') ) {s = 1;}
+
+                        else if ( (LA14_0=='m') ) {s = 2;}
+
+                        else if ( (LA14_0=='f') ) {s = 3;}
+
+                        else if ( (LA14_0=='+') ) {s = 4;}
+
+                        else if ( (LA14_0=='-') ) {s = 5;}
+
+                        else if ( (LA14_0=='e') ) {s = 6;}
+
+                        else if ( (LA14_0=='E') ) {s = 7;}
+
+                        else if ( (LA14_0=='p') ) {s = 8;}
+
+                        else if ( (LA14_0=='b') ) {s = 9;}
+
+                        else if ( (LA14_0=='s') ) {s = 10;}
+
+                        else if ( (LA14_0=='P') ) {s = 11;}
+
+                        else if ( (LA14_0=='{') ) {s = 12;}
+
+                        else if ( (LA14_0=='}') ) {s = 13;}
+
+                        else if ( (LA14_0=='N') ) {s = 14;}
+
+                        else if ( (LA14_0==':') ) {s = 15;}
+
+                        else if ( (LA14_0=='r') ) {s = 16;}
+
+                        else if ( (LA14_0=='=') ) {s = 17;}
+
+                        else if ( (LA14_0=='i') ) {s = 18;}
+
+                        else if ( (LA14_0=='R') ) {s = 19;}
+
+                        else if ( (LA14_0=='a') ) {s = 20;}
+
+                        else if ( (LA14_0==',') ) {s = 21;}
+
+                        else if ( (LA14_0=='.') ) {s = 22;}
+
+                        else if ( (LA14_0=='[') ) {s = 23;}
+
+                        else if ( (LA14_0==']') ) {s = 24;}
+
+                        else if ( (LA14_0=='u') ) {s = 25;}
+
+                        else if ( (LA14_0=='n') ) {s = 26;}
+
+                        else if ( (LA14_0=='D') ) {s = 27;}
+
+                        else if ( (LA14_0=='o') ) {s = 28;}
+
+                        else if ( (LA14_0=='t') ) {s = 29;}
+
+                        else if ( (LA14_0=='0') ) {s = 30;}
+
+                        else if ( (LA14_0=='^') ) {s = 31;}
+
+                        else if ( ((LA14_0>='A' && LA14_0<='C')||(LA14_0>='F' && LA14_0<='M')||LA14_0=='O'||LA14_0=='Q'||LA14_0=='S'||(LA14_0>='U' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='c' && LA14_0<='d')||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='l')||LA14_0=='q'||(LA14_0>='v' && LA14_0<='z')) ) {s = 32;}
+
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 33;}
+
+                        else if ( (LA14_0=='\"') ) {s = 34;}
+
+                        else if ( (LA14_0=='\'') ) {s = 35;}
+
+                        else if ( (LA14_0=='/') ) {s = 36;}
+
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 37;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||(LA14_0>='(' && LA14_0<='*')||(LA14_0>=';' && LA14_0<='<')||(LA14_0>='>' && LA14_0<='@')||LA14_0=='\\'||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 38;}
+
+                        if ( s>=0 ) return s;
+                        break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhysParser.java b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhysParser.java
index daeadb6..b065688 100644
--- a/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhysParser.java
+++ b/plugins/org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhysParser.java
@@ -18,70 +18,72 @@
 import java.util.Stack;
 import java.util.List;
 import java.util.ArrayList;
-
+import java.util.Map;
+import java.util.HashMap;
 @SuppressWarnings("all")
 public class InternalETPhysParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_EXP", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Thread'", "'+'", "'-'", "'mandatory'", "'model'", "'false'", "'polled'", "'blocked'", "'mixed'", "'singleThreaded'", "'multiThreaded'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'PhysicalModel'", "'{'", "'}'", "'PhysicalSystem'", "'NodeRef'", "':'", "'NodeClass'", "'runtime'", "'='", "'priomin'", "'priomax'", "'execmode'", "'interval'", "'prio'", "'stacksize'", "'msgblocksize'", "'msgpoolsize'", "'RuntimeClass'", "'attribute'", "','", "'import'", "'from'", "'.*'", "'['", "']'", "'s'", "'ms'", "'us'", "'ns'", "'.'", "'DefaultThread'", "'optional'", "'true'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Thread'", "'mandatory'", "'model'", "'false'", "'+'", "'-'", "'e'", "'E'", "'polled'", "'blocked'", "'mixed'", "'singleThreaded'", "'multiThreaded'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'PhysicalModel'", "'{'", "'}'", "'PhysicalSystem'", "'NodeRef'", "':'", "'NodeClass'", "'runtime'", "'='", "'priomin'", "'priomax'", "'execmode'", "'interval'", "'prio'", "'stacksize'", "'msgblocksize'", "'msgpoolsize'", "'RuntimeClass'", "'attribute'", "','", "'import'", "'from'", "'.*'", "'['", "']'", "'s'", "'ms'", "'us'", "'ns'", "'.'", "'DefaultThread'", "'optional'", "'true'"
     };
-    public static final int RULE_EXP=7;
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=5;
-    public static final int T__58=58;
+    public static final int T__50=50;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__59=59;
     public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__15=15;
     public static final int T__53=53;
-    public static final int T__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int RULE_STRING=8;
-    public static final int T__32=32;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -121,20 +123,24 @@
 
 
     // $ANTLR start "entryRulePhysicalModel"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:60:1: entryRulePhysicalModel : rulePhysicalModel EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:61:1: entryRulePhysicalModel : rulePhysicalModel EOF ;
     public final void entryRulePhysicalModel() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:61:1: ( rulePhysicalModel EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:62:1: rulePhysicalModel EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:62:1: ( rulePhysicalModel EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:63:1: rulePhysicalModel EOF
             {
-             before(grammarAccess.getPhysicalModelRule()); 
-            pushFollow(FOLLOW_rulePhysicalModel_in_entryRulePhysicalModel61);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelRule()); 
+            }
+            pushFollow(FOLLOW_rulePhysicalModel_in_entryRulePhysicalModel67);
             rulePhysicalModel();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalModelRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalModel68); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalModel74); if (state.failed) return ;
 
             }
 
@@ -151,31 +157,35 @@
 
 
     // $ANTLR start "rulePhysicalModel"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:69:1: rulePhysicalModel : ( ( rule__PhysicalModel__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:70:1: rulePhysicalModel : ( ( rule__PhysicalModel__Group__0 ) ) ;
     public final void rulePhysicalModel() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:73:2: ( ( ( rule__PhysicalModel__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:74:1: ( ( rule__PhysicalModel__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:74:2: ( ( ( rule__PhysicalModel__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:75:1: ( ( rule__PhysicalModel__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:74:1: ( ( rule__PhysicalModel__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:75:1: ( rule__PhysicalModel__Group__0 )
-            {
-             before(grammarAccess.getPhysicalModelAccess().getGroup()); 
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:75:1: ( ( rule__PhysicalModel__Group__0 ) )
             // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:76:1: ( rule__PhysicalModel__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:76:2: rule__PhysicalModel__Group__0
             {
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__0_in_rulePhysicalModel94);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:77:1: ( rule__PhysicalModel__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:77:2: rule__PhysicalModel__Group__0
+            {
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__0_in_rulePhysicalModel100);
             rule__PhysicalModel__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalModelAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getGroup()); 
+            }
 
             }
 
@@ -198,20 +208,24 @@
 
 
     // $ANTLR start "entryRulePhysicalSystem"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:88:1: entryRulePhysicalSystem : rulePhysicalSystem EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:89:1: entryRulePhysicalSystem : rulePhysicalSystem EOF ;
     public final void entryRulePhysicalSystem() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:89:1: ( rulePhysicalSystem EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:90:1: rulePhysicalSystem EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:90:1: ( rulePhysicalSystem EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:91:1: rulePhysicalSystem EOF
             {
-             before(grammarAccess.getPhysicalSystemRule()); 
-            pushFollow(FOLLOW_rulePhysicalSystem_in_entryRulePhysicalSystem121);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalSystemRule()); 
+            }
+            pushFollow(FOLLOW_rulePhysicalSystem_in_entryRulePhysicalSystem127);
             rulePhysicalSystem();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalSystemRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalSystem128); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalSystemRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalSystem134); if (state.failed) return ;
 
             }
 
@@ -228,31 +242,35 @@
 
 
     // $ANTLR start "rulePhysicalSystem"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:97:1: rulePhysicalSystem : ( ( rule__PhysicalSystem__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:98:1: rulePhysicalSystem : ( ( rule__PhysicalSystem__Group__0 ) ) ;
     public final void rulePhysicalSystem() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:101:2: ( ( ( rule__PhysicalSystem__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:102:1: ( ( rule__PhysicalSystem__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:102:2: ( ( ( rule__PhysicalSystem__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:103:1: ( ( rule__PhysicalSystem__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:102:1: ( ( rule__PhysicalSystem__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:103:1: ( rule__PhysicalSystem__Group__0 )
-            {
-             before(grammarAccess.getPhysicalSystemAccess().getGroup()); 
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:103:1: ( ( rule__PhysicalSystem__Group__0 ) )
             // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:104:1: ( rule__PhysicalSystem__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:104:2: rule__PhysicalSystem__Group__0
             {
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__0_in_rulePhysicalSystem154);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalSystemAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:105:1: ( rule__PhysicalSystem__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:105:2: rule__PhysicalSystem__Group__0
+            {
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__0_in_rulePhysicalSystem160);
             rule__PhysicalSystem__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalSystemAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalSystemAccess().getGroup()); 
+            }
 
             }
 
@@ -275,20 +293,24 @@
 
 
     // $ANTLR start "entryRuleNodeRef"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:116:1: entryRuleNodeRef : ruleNodeRef EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:117:1: entryRuleNodeRef : ruleNodeRef EOF ;
     public final void entryRuleNodeRef() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:117:1: ( ruleNodeRef EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:118:1: ruleNodeRef EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:118:1: ( ruleNodeRef EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:119:1: ruleNodeRef EOF
             {
-             before(grammarAccess.getNodeRefRule()); 
-            pushFollow(FOLLOW_ruleNodeRef_in_entryRuleNodeRef181);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeRefRule()); 
+            }
+            pushFollow(FOLLOW_ruleNodeRef_in_entryRuleNodeRef187);
             ruleNodeRef();
 
             state._fsp--;
-
-             after(grammarAccess.getNodeRefRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleNodeRef188); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeRefRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleNodeRef194); if (state.failed) return ;
 
             }
 
@@ -305,31 +327,35 @@
 
 
     // $ANTLR start "ruleNodeRef"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:125:1: ruleNodeRef : ( ( rule__NodeRef__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:126:1: ruleNodeRef : ( ( rule__NodeRef__Group__0 ) ) ;
     public final void ruleNodeRef() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:129:2: ( ( ( rule__NodeRef__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:130:1: ( ( rule__NodeRef__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:130:2: ( ( ( rule__NodeRef__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:131:1: ( ( rule__NodeRef__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:130:1: ( ( rule__NodeRef__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:131:1: ( rule__NodeRef__Group__0 )
-            {
-             before(grammarAccess.getNodeRefAccess().getGroup()); 
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:131:1: ( ( rule__NodeRef__Group__0 ) )
             // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:132:1: ( rule__NodeRef__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:132:2: rule__NodeRef__Group__0
             {
-            pushFollow(FOLLOW_rule__NodeRef__Group__0_in_ruleNodeRef214);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeRefAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:133:1: ( rule__NodeRef__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:133:2: rule__NodeRef__Group__0
+            {
+            pushFollow(FOLLOW_rule__NodeRef__Group__0_in_ruleNodeRef220);
             rule__NodeRef__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getNodeRefAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeRefAccess().getGroup()); 
+            }
 
             }
 
@@ -352,20 +378,24 @@
 
 
     // $ANTLR start "entryRuleNodeClass"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:144:1: entryRuleNodeClass : ruleNodeClass EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:145:1: entryRuleNodeClass : ruleNodeClass EOF ;
     public final void entryRuleNodeClass() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:145:1: ( ruleNodeClass EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:146:1: ruleNodeClass EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:146:1: ( ruleNodeClass EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:147:1: ruleNodeClass EOF
             {
-             before(grammarAccess.getNodeClassRule()); 
-            pushFollow(FOLLOW_ruleNodeClass_in_entryRuleNodeClass241);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassRule()); 
+            }
+            pushFollow(FOLLOW_ruleNodeClass_in_entryRuleNodeClass247);
             ruleNodeClass();
 
             state._fsp--;
-
-             after(grammarAccess.getNodeClassRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleNodeClass248); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleNodeClass254); if (state.failed) return ;
 
             }
 
@@ -382,31 +412,35 @@
 
 
     // $ANTLR start "ruleNodeClass"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:153:1: ruleNodeClass : ( ( rule__NodeClass__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:154:1: ruleNodeClass : ( ( rule__NodeClass__Group__0 ) ) ;
     public final void ruleNodeClass() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:157:2: ( ( ( rule__NodeClass__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:158:1: ( ( rule__NodeClass__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:158:2: ( ( ( rule__NodeClass__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:159:1: ( ( rule__NodeClass__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:158:1: ( ( rule__NodeClass__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:159:1: ( rule__NodeClass__Group__0 )
-            {
-             before(grammarAccess.getNodeClassAccess().getGroup()); 
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:159:1: ( ( rule__NodeClass__Group__0 ) )
             // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:160:1: ( rule__NodeClass__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:160:2: rule__NodeClass__Group__0
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group__0_in_ruleNodeClass274);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:161:1: ( rule__NodeClass__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:161:2: rule__NodeClass__Group__0
+            {
+            pushFollow(FOLLOW_rule__NodeClass__Group__0_in_ruleNodeClass280);
             rule__NodeClass__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getNodeClassAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getGroup()); 
+            }
 
             }
 
@@ -429,20 +463,24 @@
 
 
     // $ANTLR start "entryRulePhysicalThread"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:172:1: entryRulePhysicalThread : rulePhysicalThread EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:173:1: entryRulePhysicalThread : rulePhysicalThread EOF ;
     public final void entryRulePhysicalThread() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:173:1: ( rulePhysicalThread EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:174:1: rulePhysicalThread EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:174:1: ( rulePhysicalThread EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:175:1: rulePhysicalThread EOF
             {
-             before(grammarAccess.getPhysicalThreadRule()); 
-            pushFollow(FOLLOW_rulePhysicalThread_in_entryRulePhysicalThread301);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadRule()); 
+            }
+            pushFollow(FOLLOW_rulePhysicalThread_in_entryRulePhysicalThread307);
             rulePhysicalThread();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalThreadRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalThread308); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalThread314); if (state.failed) return ;
 
             }
 
@@ -459,31 +497,35 @@
 
 
     // $ANTLR start "rulePhysicalThread"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:181:1: rulePhysicalThread : ( ( rule__PhysicalThread__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:182:1: rulePhysicalThread : ( ( rule__PhysicalThread__Group__0 ) ) ;
     public final void rulePhysicalThread() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:185:2: ( ( ( rule__PhysicalThread__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:186:1: ( ( rule__PhysicalThread__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:186:2: ( ( ( rule__PhysicalThread__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:187:1: ( ( rule__PhysicalThread__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:186:1: ( ( rule__PhysicalThread__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:187:1: ( rule__PhysicalThread__Group__0 )
-            {
-             before(grammarAccess.getPhysicalThreadAccess().getGroup()); 
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:187:1: ( ( rule__PhysicalThread__Group__0 ) )
             // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:188:1: ( rule__PhysicalThread__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:188:2: rule__PhysicalThread__Group__0
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group__0_in_rulePhysicalThread334);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:189:1: ( rule__PhysicalThread__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:189:2: rule__PhysicalThread__Group__0
+            {
+            pushFollow(FOLLOW_rule__PhysicalThread__Group__0_in_rulePhysicalThread340);
             rule__PhysicalThread__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalThreadAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getGroup()); 
+            }
 
             }
 
@@ -506,20 +548,24 @@
 
 
     // $ANTLR start "entryRuleRuntimeClass"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:200:1: entryRuleRuntimeClass : ruleRuntimeClass EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:201:1: entryRuleRuntimeClass : ruleRuntimeClass EOF ;
     public final void entryRuleRuntimeClass() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:201:1: ( ruleRuntimeClass EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:202:1: ruleRuntimeClass EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:202:1: ( ruleRuntimeClass EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:203:1: ruleRuntimeClass EOF
             {
-             before(grammarAccess.getRuntimeClassRule()); 
-            pushFollow(FOLLOW_ruleRuntimeClass_in_entryRuleRuntimeClass361);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassRule()); 
+            }
+            pushFollow(FOLLOW_ruleRuntimeClass_in_entryRuleRuntimeClass367);
             ruleRuntimeClass();
 
             state._fsp--;
-
-             after(grammarAccess.getRuntimeClassRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRuntimeClass368); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRuntimeClass374); if (state.failed) return ;
 
             }
 
@@ -536,31 +582,35 @@
 
 
     // $ANTLR start "ruleRuntimeClass"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:209:1: ruleRuntimeClass : ( ( rule__RuntimeClass__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:210:1: ruleRuntimeClass : ( ( rule__RuntimeClass__Group__0 ) ) ;
     public final void ruleRuntimeClass() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:213:2: ( ( ( rule__RuntimeClass__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:214:1: ( ( rule__RuntimeClass__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:214:2: ( ( ( rule__RuntimeClass__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:215:1: ( ( rule__RuntimeClass__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:214:1: ( ( rule__RuntimeClass__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:215:1: ( rule__RuntimeClass__Group__0 )
-            {
-             before(grammarAccess.getRuntimeClassAccess().getGroup()); 
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:215:1: ( ( rule__RuntimeClass__Group__0 ) )
             // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:216:1: ( rule__RuntimeClass__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:216:2: rule__RuntimeClass__Group__0
             {
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__0_in_ruleRuntimeClass394);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:217:1: ( rule__RuntimeClass__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:217:2: rule__RuntimeClass__Group__0
+            {
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__0_in_ruleRuntimeClass400);
             rule__RuntimeClass__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getRuntimeClassAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getGroup()); 
+            }
 
             }
 
@@ -582,106 +632,25 @@
     // $ANTLR end "ruleRuntimeClass"
 
 
-    // $ANTLR start "entryRulePRIO"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:228:1: entryRulePRIO : rulePRIO EOF ;
-    public final void entryRulePRIO() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:232:1: ( rulePRIO EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:233:1: rulePRIO EOF
-            {
-             before(grammarAccess.getPRIORule()); 
-            pushFollow(FOLLOW_rulePRIO_in_entryRulePRIO426);
-            rulePRIO();
-
-            state._fsp--;
-
-             after(grammarAccess.getPRIORule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePRIO433); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRulePRIO"
-
-
-    // $ANTLR start "rulePRIO"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:243:1: rulePRIO : ( ( rule__PRIO__Group__0 ) ) ;
-    public final void rulePRIO() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:248:2: ( ( ( rule__PRIO__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:249:1: ( ( rule__PRIO__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:249:1: ( ( rule__PRIO__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:250:1: ( rule__PRIO__Group__0 )
-            {
-             before(grammarAccess.getPRIOAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:251:1: ( rule__PRIO__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:251:2: rule__PRIO__Group__0
-            {
-            pushFollow(FOLLOW_rule__PRIO__Group__0_in_rulePRIO463);
-            rule__PRIO__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getPRIOAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "rulePRIO"
-
-
     // $ANTLR start "entryRuleKeyValue"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:266:1: entryRuleKeyValue : ruleKeyValue EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:231:1: entryRuleKeyValue : ruleKeyValue EOF ;
     public final void entryRuleKeyValue() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:267:1: ( ruleKeyValue EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:268:1: ruleKeyValue EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:232:1: ( ruleKeyValue EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:233:1: ruleKeyValue EOF
             {
-             before(grammarAccess.getKeyValueRule()); 
-            pushFollow(FOLLOW_ruleKeyValue_in_entryRuleKeyValue492);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getKeyValueRule()); 
+            }
+            pushFollow(FOLLOW_ruleKeyValue_in_entryRuleKeyValue429);
             ruleKeyValue();
 
             state._fsp--;
-
-             after(grammarAccess.getKeyValueRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleKeyValue499); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getKeyValueRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleKeyValue436); if (state.failed) return ;
 
             }
 
@@ -698,31 +667,35 @@
 
 
     // $ANTLR start "ruleKeyValue"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:275:1: ruleKeyValue : ( ( rule__KeyValue__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:240:1: ruleKeyValue : ( ( rule__KeyValue__Group__0 ) ) ;
     public final void ruleKeyValue() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:279:2: ( ( ( rule__KeyValue__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:280:1: ( ( rule__KeyValue__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:244:2: ( ( ( rule__KeyValue__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:245:1: ( ( rule__KeyValue__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:280:1: ( ( rule__KeyValue__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:281:1: ( rule__KeyValue__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:245:1: ( ( rule__KeyValue__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:246:1: ( rule__KeyValue__Group__0 )
             {
-             before(grammarAccess.getKeyValueAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:282:1: ( rule__KeyValue__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:282:2: rule__KeyValue__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getKeyValueAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:247:1: ( rule__KeyValue__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:247:2: rule__KeyValue__Group__0
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__0_in_ruleKeyValue525);
+            pushFollow(FOLLOW_rule__KeyValue__Group__0_in_ruleKeyValue462);
             rule__KeyValue__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getKeyValueAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getKeyValueAccess().getGroup()); 
+            }
 
             }
 
@@ -745,20 +718,24 @@
 
 
     // $ANTLR start "entryRuleAnnotationTargetType"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:296:1: entryRuleAnnotationTargetType : ruleAnnotationTargetType EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:261:1: entryRuleAnnotationTargetType : ruleAnnotationTargetType EOF ;
     public final void entryRuleAnnotationTargetType() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:297:1: ( ruleAnnotationTargetType EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:298:1: ruleAnnotationTargetType EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:262:1: ( ruleAnnotationTargetType EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:263:1: ruleAnnotationTargetType EOF
             {
-             before(grammarAccess.getAnnotationTargetTypeRule()); 
-            pushFollow(FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType554);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAnnotationTargetTypeRule()); 
+            }
+            pushFollow(FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType491);
             ruleAnnotationTargetType();
 
             state._fsp--;
-
-             after(grammarAccess.getAnnotationTargetTypeRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationTargetType561); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAnnotationTargetTypeRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationTargetType498); if (state.failed) return ;
 
             }
 
@@ -775,21 +752,25 @@
 
 
     // $ANTLR start "ruleAnnotationTargetType"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:305:1: ruleAnnotationTargetType : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:270:1: ruleAnnotationTargetType : ( RULE_ID ) ;
     public final void ruleAnnotationTargetType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:309:2: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:310:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:274:2: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:275:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:310:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:311:1: RULE_ID
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:275:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:276:1: RULE_ID
             {
-             before(grammarAccess.getAnnotationTargetTypeAccess().getIDTerminalRuleCall()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAnnotationTargetType587); 
-             after(grammarAccess.getAnnotationTargetTypeAccess().getIDTerminalRuleCall()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAnnotationTargetTypeAccess().getIDTerminalRuleCall()); 
+            }
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAnnotationTargetType524); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAnnotationTargetTypeAccess().getIDTerminalRuleCall()); 
+            }
 
             }
 
@@ -812,20 +793,24 @@
 
 
     // $ANTLR start "entryRuleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:324:1: entryRuleAnnotationAttribute : ruleAnnotationAttribute EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:289:1: entryRuleAnnotationAttribute : ruleAnnotationAttribute EOF ;
     public final void entryRuleAnnotationAttribute() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:325:1: ( ruleAnnotationAttribute EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:326:1: ruleAnnotationAttribute EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:290:1: ( ruleAnnotationAttribute EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:291:1: ruleAnnotationAttribute EOF
             {
-             before(grammarAccess.getAnnotationAttributeRule()); 
-            pushFollow(FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute613);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAnnotationAttributeRule()); 
+            }
+            pushFollow(FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute550);
             ruleAnnotationAttribute();
 
             state._fsp--;
-
-             after(grammarAccess.getAnnotationAttributeRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationAttribute620); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAnnotationAttributeRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationAttribute557); if (state.failed) return ;
 
             }
 
@@ -842,31 +827,35 @@
 
 
     // $ANTLR start "ruleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:333:1: ruleAnnotationAttribute : ( ( rule__AnnotationAttribute__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:298:1: ruleAnnotationAttribute : ( ( rule__AnnotationAttribute__Alternatives ) ) ;
     public final void ruleAnnotationAttribute() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:337:2: ( ( ( rule__AnnotationAttribute__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:338:1: ( ( rule__AnnotationAttribute__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:302:2: ( ( ( rule__AnnotationAttribute__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:303:1: ( ( rule__AnnotationAttribute__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:338:1: ( ( rule__AnnotationAttribute__Alternatives ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:339:1: ( rule__AnnotationAttribute__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:303:1: ( ( rule__AnnotationAttribute__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:304:1: ( rule__AnnotationAttribute__Alternatives )
             {
-             before(grammarAccess.getAnnotationAttributeAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:340:1: ( rule__AnnotationAttribute__Alternatives )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:340:2: rule__AnnotationAttribute__Alternatives
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getAnnotationAttributeAccess().getAlternatives()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:305:1: ( rule__AnnotationAttribute__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:305:2: rule__AnnotationAttribute__Alternatives
             {
-            pushFollow(FOLLOW_rule__AnnotationAttribute__Alternatives_in_ruleAnnotationAttribute646);
+            pushFollow(FOLLOW_rule__AnnotationAttribute__Alternatives_in_ruleAnnotationAttribute583);
             rule__AnnotationAttribute__Alternatives();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getAnnotationAttributeAccess().getAlternatives()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getAnnotationAttributeAccess().getAlternatives()); 
+            }
 
             }
 
@@ -889,20 +878,24 @@
 
 
     // $ANTLR start "entryRuleSimpleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:352:1: entryRuleSimpleAnnotationAttribute : ruleSimpleAnnotationAttribute EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:317:1: entryRuleSimpleAnnotationAttribute : ruleSimpleAnnotationAttribute EOF ;
     public final void entryRuleSimpleAnnotationAttribute() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:353:1: ( ruleSimpleAnnotationAttribute EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:354:1: ruleSimpleAnnotationAttribute EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:318:1: ( ruleSimpleAnnotationAttribute EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:319:1: ruleSimpleAnnotationAttribute EOF
             {
-             before(grammarAccess.getSimpleAnnotationAttributeRule()); 
-            pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute673);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSimpleAnnotationAttributeRule()); 
+            }
+            pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute610);
             ruleSimpleAnnotationAttribute();
 
             state._fsp--;
-
-             after(grammarAccess.getSimpleAnnotationAttributeRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute680); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSimpleAnnotationAttributeRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute617); if (state.failed) return ;
 
             }
 
@@ -919,31 +912,35 @@
 
 
     // $ANTLR start "ruleSimpleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:361:1: ruleSimpleAnnotationAttribute : ( ( rule__SimpleAnnotationAttribute__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:326:1: ruleSimpleAnnotationAttribute : ( ( rule__SimpleAnnotationAttribute__Group__0 ) ) ;
     public final void ruleSimpleAnnotationAttribute() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:365:2: ( ( ( rule__SimpleAnnotationAttribute__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:366:1: ( ( rule__SimpleAnnotationAttribute__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:330:2: ( ( ( rule__SimpleAnnotationAttribute__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:331:1: ( ( rule__SimpleAnnotationAttribute__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:366:1: ( ( rule__SimpleAnnotationAttribute__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:367:1: ( rule__SimpleAnnotationAttribute__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:331:1: ( ( rule__SimpleAnnotationAttribute__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:332:1: ( rule__SimpleAnnotationAttribute__Group__0 )
             {
-             before(grammarAccess.getSimpleAnnotationAttributeAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:368:1: ( rule__SimpleAnnotationAttribute__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:368:2: rule__SimpleAnnotationAttribute__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSimpleAnnotationAttributeAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:333:1: ( rule__SimpleAnnotationAttribute__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:333:2: rule__SimpleAnnotationAttribute__Group__0
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0_in_ruleSimpleAnnotationAttribute706);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0_in_ruleSimpleAnnotationAttribute643);
             rule__SimpleAnnotationAttribute__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getSimpleAnnotationAttributeAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSimpleAnnotationAttributeAccess().getGroup()); 
+            }
 
             }
 
@@ -966,20 +963,24 @@
 
 
     // $ANTLR start "entryRuleEnumAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:380:1: entryRuleEnumAnnotationAttribute : ruleEnumAnnotationAttribute EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:345:1: entryRuleEnumAnnotationAttribute : ruleEnumAnnotationAttribute EOF ;
     public final void entryRuleEnumAnnotationAttribute() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:381:1: ( ruleEnumAnnotationAttribute EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:382:1: ruleEnumAnnotationAttribute EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:346:1: ( ruleEnumAnnotationAttribute EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:347:1: ruleEnumAnnotationAttribute EOF
             {
-             before(grammarAccess.getEnumAnnotationAttributeRule()); 
-            pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute733);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeRule()); 
+            }
+            pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute670);
             ruleEnumAnnotationAttribute();
 
             state._fsp--;
-
-             after(grammarAccess.getEnumAnnotationAttributeRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute740); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute677); if (state.failed) return ;
 
             }
 
@@ -996,31 +997,35 @@
 
 
     // $ANTLR start "ruleEnumAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:389:1: ruleEnumAnnotationAttribute : ( ( rule__EnumAnnotationAttribute__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:354:1: ruleEnumAnnotationAttribute : ( ( rule__EnumAnnotationAttribute__Group__0 ) ) ;
     public final void ruleEnumAnnotationAttribute() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:393:2: ( ( ( rule__EnumAnnotationAttribute__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:394:1: ( ( rule__EnumAnnotationAttribute__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:358:2: ( ( ( rule__EnumAnnotationAttribute__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:359:1: ( ( rule__EnumAnnotationAttribute__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:394:1: ( ( rule__EnumAnnotationAttribute__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:395:1: ( rule__EnumAnnotationAttribute__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:359:1: ( ( rule__EnumAnnotationAttribute__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:360:1: ( rule__EnumAnnotationAttribute__Group__0 )
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:396:1: ( rule__EnumAnnotationAttribute__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:396:2: rule__EnumAnnotationAttribute__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:361:1: ( rule__EnumAnnotationAttribute__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:361:2: rule__EnumAnnotationAttribute__Group__0
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0_in_ruleEnumAnnotationAttribute766);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0_in_ruleEnumAnnotationAttribute703);
             rule__EnumAnnotationAttribute__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getGroup()); 
+            }
 
             }
 
@@ -1043,20 +1048,24 @@
 
 
     // $ANTLR start "entryRuleImport"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:408:1: entryRuleImport : ruleImport EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:373:1: entryRuleImport : ruleImport EOF ;
     public final void entryRuleImport() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:409:1: ( ruleImport EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:410:1: ruleImport EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:374:1: ( ruleImport EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:375:1: ruleImport EOF
             {
-             before(grammarAccess.getImportRule()); 
-            pushFollow(FOLLOW_ruleImport_in_entryRuleImport793);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportRule()); 
+            }
+            pushFollow(FOLLOW_ruleImport_in_entryRuleImport730);
             ruleImport();
 
             state._fsp--;
-
-             after(grammarAccess.getImportRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleImport800); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleImport737); if (state.failed) return ;
 
             }
 
@@ -1073,31 +1082,35 @@
 
 
     // $ANTLR start "ruleImport"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:417:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:382:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
     public final void ruleImport() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:421:2: ( ( ( rule__Import__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:422:1: ( ( rule__Import__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:386:2: ( ( ( rule__Import__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:387:1: ( ( rule__Import__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:422:1: ( ( rule__Import__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:423:1: ( rule__Import__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:387:1: ( ( rule__Import__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:388:1: ( rule__Import__Group__0 )
             {
-             before(grammarAccess.getImportAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:424:1: ( rule__Import__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:424:2: rule__Import__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:389:1: ( rule__Import__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:389:2: rule__Import__Group__0
             {
-            pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport826);
+            pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport763);
             rule__Import__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getImportAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportAccess().getGroup()); 
+            }
 
             }
 
@@ -1120,20 +1133,24 @@
 
 
     // $ANTLR start "entryRuleImportedFQN"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:436:1: entryRuleImportedFQN : ruleImportedFQN EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:401:1: entryRuleImportedFQN : ruleImportedFQN EOF ;
     public final void entryRuleImportedFQN() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:437:1: ( ruleImportedFQN EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:438:1: ruleImportedFQN EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:402:1: ( ruleImportedFQN EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:403:1: ruleImportedFQN EOF
             {
-             before(grammarAccess.getImportedFQNRule()); 
-            pushFollow(FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN853);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportedFQNRule()); 
+            }
+            pushFollow(FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN790);
             ruleImportedFQN();
 
             state._fsp--;
-
-             after(grammarAccess.getImportedFQNRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleImportedFQN860); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportedFQNRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleImportedFQN797); if (state.failed) return ;
 
             }
 
@@ -1150,31 +1167,35 @@
 
 
     // $ANTLR start "ruleImportedFQN"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:445:1: ruleImportedFQN : ( ( rule__ImportedFQN__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:410:1: ruleImportedFQN : ( ( rule__ImportedFQN__Group__0 ) ) ;
     public final void ruleImportedFQN() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:449:2: ( ( ( rule__ImportedFQN__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:450:1: ( ( rule__ImportedFQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:414:2: ( ( ( rule__ImportedFQN__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:415:1: ( ( rule__ImportedFQN__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:450:1: ( ( rule__ImportedFQN__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:451:1: ( rule__ImportedFQN__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:415:1: ( ( rule__ImportedFQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:416:1: ( rule__ImportedFQN__Group__0 )
             {
-             before(grammarAccess.getImportedFQNAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:452:1: ( rule__ImportedFQN__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:452:2: rule__ImportedFQN__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportedFQNAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:417:1: ( rule__ImportedFQN__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:417:2: rule__ImportedFQN__Group__0
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__0_in_ruleImportedFQN886);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__0_in_ruleImportedFQN823);
             rule__ImportedFQN__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getImportedFQNAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportedFQNAccess().getGroup()); 
+            }
 
             }
 
@@ -1197,20 +1218,24 @@
 
 
     // $ANTLR start "entryRuleDocumentation"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:464:1: entryRuleDocumentation : ruleDocumentation EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:429:1: entryRuleDocumentation : ruleDocumentation EOF ;
     public final void entryRuleDocumentation() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:465:1: ( ruleDocumentation EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:466:1: ruleDocumentation EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:430:1: ( ruleDocumentation EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:431:1: ruleDocumentation EOF
             {
-             before(grammarAccess.getDocumentationRule()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_entryRuleDocumentation913);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDocumentationRule()); 
+            }
+            pushFollow(FOLLOW_ruleDocumentation_in_entryRuleDocumentation850);
             ruleDocumentation();
 
             state._fsp--;
-
-             after(grammarAccess.getDocumentationRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDocumentation920); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDocumentationRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDocumentation857); if (state.failed) return ;
 
             }
 
@@ -1227,31 +1252,35 @@
 
 
     // $ANTLR start "ruleDocumentation"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:473:1: ruleDocumentation : ( ( rule__Documentation__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:438:1: ruleDocumentation : ( ( rule__Documentation__Group__0 ) ) ;
     public final void ruleDocumentation() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:477:2: ( ( ( rule__Documentation__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:478:1: ( ( rule__Documentation__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:442:2: ( ( ( rule__Documentation__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:443:1: ( ( rule__Documentation__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:478:1: ( ( rule__Documentation__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:479:1: ( rule__Documentation__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:443:1: ( ( rule__Documentation__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:444:1: ( rule__Documentation__Group__0 )
             {
-             before(grammarAccess.getDocumentationAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:480:1: ( rule__Documentation__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:480:2: rule__Documentation__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDocumentationAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:445:1: ( rule__Documentation__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:445:2: rule__Documentation__Group__0
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__0_in_ruleDocumentation946);
+            pushFollow(FOLLOW_rule__Documentation__Group__0_in_ruleDocumentation883);
             rule__Documentation__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getDocumentationAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDocumentationAccess().getGroup()); 
+            }
 
             }
 
@@ -1274,20 +1303,24 @@
 
 
     // $ANTLR start "entryRuleTIME"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:492:1: entryRuleTIME : ruleTIME EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:457:1: entryRuleTIME : ruleTIME EOF ;
     public final void entryRuleTIME() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:493:1: ( ruleTIME EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:494:1: ruleTIME EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:458:1: ( ruleTIME EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:459:1: ruleTIME EOF
             {
-             before(grammarAccess.getTIMERule()); 
-            pushFollow(FOLLOW_ruleTIME_in_entryRuleTIME973);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTIMERule()); 
+            }
+            pushFollow(FOLLOW_ruleTIME_in_entryRuleTIME910);
             ruleTIME();
 
             state._fsp--;
-
-             after(grammarAccess.getTIMERule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleTIME980); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTIMERule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleTIME917); if (state.failed) return ;
 
             }
 
@@ -1304,31 +1337,35 @@
 
 
     // $ANTLR start "ruleTIME"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:501:1: ruleTIME : ( ( rule__TIME__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:466:1: ruleTIME : ( ( rule__TIME__Alternatives ) ) ;
     public final void ruleTIME() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:505:2: ( ( ( rule__TIME__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:506:1: ( ( rule__TIME__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:470:2: ( ( ( rule__TIME__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:471:1: ( ( rule__TIME__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:506:1: ( ( rule__TIME__Alternatives ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:507:1: ( rule__TIME__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:471:1: ( ( rule__TIME__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:472:1: ( rule__TIME__Alternatives )
             {
-             before(grammarAccess.getTIMEAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:508:1: ( rule__TIME__Alternatives )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:508:2: rule__TIME__Alternatives
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTIMEAccess().getAlternatives()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:473:1: ( rule__TIME__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:473:2: rule__TIME__Alternatives
             {
-            pushFollow(FOLLOW_rule__TIME__Alternatives_in_ruleTIME1006);
+            pushFollow(FOLLOW_rule__TIME__Alternatives_in_ruleTIME943);
             rule__TIME__Alternatives();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getTIMEAccess().getAlternatives()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTIMEAccess().getAlternatives()); 
+            }
 
             }
 
@@ -1351,20 +1388,24 @@
 
 
     // $ANTLR start "entryRuleLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:522:1: entryRuleLiteral : ruleLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:487:1: entryRuleLiteral : ruleLiteral EOF ;
     public final void entryRuleLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:523:1: ( ruleLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:524:1: ruleLiteral EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:488:1: ( ruleLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:489:1: ruleLiteral EOF
             {
-             before(grammarAccess.getLiteralRule()); 
-            pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral1035);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral972);
             ruleLiteral();
 
             state._fsp--;
-
-             after(grammarAccess.getLiteralRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral1042); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getLiteralRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral979); if (state.failed) return ;
 
             }
 
@@ -1381,31 +1422,35 @@
 
 
     // $ANTLR start "ruleLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:531:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:496:1: ruleLiteral : ( ( rule__Literal__Alternatives ) ) ;
     public final void ruleLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:535:2: ( ( ( rule__Literal__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:536:1: ( ( rule__Literal__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:500:2: ( ( ( rule__Literal__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:501:1: ( ( rule__Literal__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:536:1: ( ( rule__Literal__Alternatives ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:537:1: ( rule__Literal__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:501:1: ( ( rule__Literal__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:502:1: ( rule__Literal__Alternatives )
             {
-             before(grammarAccess.getLiteralAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:538:1: ( rule__Literal__Alternatives )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:538:2: rule__Literal__Alternatives
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getLiteralAccess().getAlternatives()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:503:1: ( rule__Literal__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:503:2: rule__Literal__Alternatives
             {
-            pushFollow(FOLLOW_rule__Literal__Alternatives_in_ruleLiteral1068);
+            pushFollow(FOLLOW_rule__Literal__Alternatives_in_ruleLiteral1005);
             rule__Literal__Alternatives();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getLiteralAccess().getAlternatives()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getLiteralAccess().getAlternatives()); 
+            }
 
             }
 
@@ -1428,20 +1473,24 @@
 
 
     // $ANTLR start "entryRuleBooleanLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:550:1: entryRuleBooleanLiteral : ruleBooleanLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:515:1: entryRuleBooleanLiteral : ruleBooleanLiteral EOF ;
     public final void entryRuleBooleanLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:551:1: ( ruleBooleanLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:552:1: ruleBooleanLiteral EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:516:1: ( ruleBooleanLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:517:1: ruleBooleanLiteral EOF
             {
-             before(grammarAccess.getBooleanLiteralRule()); 
-            pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1095);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getBooleanLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1032);
             ruleBooleanLiteral();
 
             state._fsp--;
-
-             after(grammarAccess.getBooleanLiteralRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral1102); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getBooleanLiteralRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral1039); if (state.failed) return ;
 
             }
 
@@ -1458,31 +1507,35 @@
 
 
     // $ANTLR start "ruleBooleanLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:559:1: ruleBooleanLiteral : ( ( rule__BooleanLiteral__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:524:1: ruleBooleanLiteral : ( ( rule__BooleanLiteral__Group__0 ) ) ;
     public final void ruleBooleanLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:563:2: ( ( ( rule__BooleanLiteral__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:564:1: ( ( rule__BooleanLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:528:2: ( ( ( rule__BooleanLiteral__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:529:1: ( ( rule__BooleanLiteral__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:564:1: ( ( rule__BooleanLiteral__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:565:1: ( rule__BooleanLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:529:1: ( ( rule__BooleanLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:530:1: ( rule__BooleanLiteral__Group__0 )
             {
-             before(grammarAccess.getBooleanLiteralAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:566:1: ( rule__BooleanLiteral__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:566:2: rule__BooleanLiteral__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getBooleanLiteralAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:531:1: ( rule__BooleanLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:531:2: rule__BooleanLiteral__Group__0
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0_in_ruleBooleanLiteral1128);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0_in_ruleBooleanLiteral1065);
             rule__BooleanLiteral__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getBooleanLiteralAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getBooleanLiteralAccess().getGroup()); 
+            }
 
             }
 
@@ -1505,20 +1558,24 @@
 
 
     // $ANTLR start "entryRuleNumberLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:578:1: entryRuleNumberLiteral : ruleNumberLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:543:1: entryRuleNumberLiteral : ruleNumberLiteral EOF ;
     public final void entryRuleNumberLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:579:1: ( ruleNumberLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:580:1: ruleNumberLiteral EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:544:1: ( ruleNumberLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:545:1: ruleNumberLiteral EOF
             {
-             before(grammarAccess.getNumberLiteralRule()); 
-            pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1155);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNumberLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1092);
             ruleNumberLiteral();
 
             state._fsp--;
-
-             after(grammarAccess.getNumberLiteralRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral1162); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNumberLiteralRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral1099); if (state.failed) return ;
 
             }
 
@@ -1535,31 +1592,35 @@
 
 
     // $ANTLR start "ruleNumberLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:587:1: ruleNumberLiteral : ( ( rule__NumberLiteral__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:552:1: ruleNumberLiteral : ( ( rule__NumberLiteral__Alternatives ) ) ;
     public final void ruleNumberLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:591:2: ( ( ( rule__NumberLiteral__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:592:1: ( ( rule__NumberLiteral__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:556:2: ( ( ( rule__NumberLiteral__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:557:1: ( ( rule__NumberLiteral__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:592:1: ( ( rule__NumberLiteral__Alternatives ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:593:1: ( rule__NumberLiteral__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:557:1: ( ( rule__NumberLiteral__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:558:1: ( rule__NumberLiteral__Alternatives )
             {
-             before(grammarAccess.getNumberLiteralAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:594:1: ( rule__NumberLiteral__Alternatives )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:594:2: rule__NumberLiteral__Alternatives
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNumberLiteralAccess().getAlternatives()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:559:1: ( rule__NumberLiteral__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:559:2: rule__NumberLiteral__Alternatives
             {
-            pushFollow(FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1188);
+            pushFollow(FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1125);
             rule__NumberLiteral__Alternatives();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getNumberLiteralAccess().getAlternatives()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNumberLiteralAccess().getAlternatives()); 
+            }
 
             }
 
@@ -1582,20 +1643,24 @@
 
 
     // $ANTLR start "entryRuleRealLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:606:1: entryRuleRealLiteral : ruleRealLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:571:1: entryRuleRealLiteral : ruleRealLiteral EOF ;
     public final void entryRuleRealLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:607:1: ( ruleRealLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:608:1: ruleRealLiteral EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:572:1: ( ruleRealLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:573:1: ruleRealLiteral EOF
             {
-             before(grammarAccess.getRealLiteralRule()); 
-            pushFollow(FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral1215);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRealLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral1152);
             ruleRealLiteral();
 
             state._fsp--;
-
-             after(grammarAccess.getRealLiteralRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRealLiteral1222); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRealLiteralRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRealLiteral1159); if (state.failed) return ;
 
             }
 
@@ -1612,31 +1677,35 @@
 
 
     // $ANTLR start "ruleRealLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:615:1: ruleRealLiteral : ( ( rule__RealLiteral__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:580:1: ruleRealLiteral : ( ( rule__RealLiteral__Group__0 ) ) ;
     public final void ruleRealLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:619:2: ( ( ( rule__RealLiteral__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:620:1: ( ( rule__RealLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:584:2: ( ( ( rule__RealLiteral__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:585:1: ( ( rule__RealLiteral__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:620:1: ( ( rule__RealLiteral__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:621:1: ( rule__RealLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:585:1: ( ( rule__RealLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:586:1: ( rule__RealLiteral__Group__0 )
             {
-             before(grammarAccess.getRealLiteralAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:622:1: ( rule__RealLiteral__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:622:2: rule__RealLiteral__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRealLiteralAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:587:1: ( rule__RealLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:587:2: rule__RealLiteral__Group__0
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__0_in_ruleRealLiteral1248);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__0_in_ruleRealLiteral1185);
             rule__RealLiteral__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getRealLiteralAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRealLiteralAccess().getGroup()); 
+            }
 
             }
 
@@ -1659,20 +1728,24 @@
 
 
     // $ANTLR start "entryRuleIntLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:634:1: entryRuleIntLiteral : ruleIntLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:599:1: entryRuleIntLiteral : ruleIntLiteral EOF ;
     public final void entryRuleIntLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:635:1: ( ruleIntLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:636:1: ruleIntLiteral EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:600:1: ( ruleIntLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:601:1: ruleIntLiteral EOF
             {
-             before(grammarAccess.getIntLiteralRule()); 
-            pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1275);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getIntLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1212);
             ruleIntLiteral();
 
             state._fsp--;
-
-             after(grammarAccess.getIntLiteralRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral1282); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getIntLiteralRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral1219); if (state.failed) return ;
 
             }
 
@@ -1689,31 +1762,35 @@
 
 
     // $ANTLR start "ruleIntLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:643:1: ruleIntLiteral : ( ( rule__IntLiteral__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:608:1: ruleIntLiteral : ( ( rule__IntLiteral__Group__0 ) ) ;
     public final void ruleIntLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:647:2: ( ( ( rule__IntLiteral__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:648:1: ( ( rule__IntLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:612:2: ( ( ( rule__IntLiteral__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:613:1: ( ( rule__IntLiteral__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:648:1: ( ( rule__IntLiteral__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:649:1: ( rule__IntLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:613:1: ( ( rule__IntLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:614:1: ( rule__IntLiteral__Group__0 )
             {
-             before(grammarAccess.getIntLiteralAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:650:1: ( rule__IntLiteral__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:650:2: rule__IntLiteral__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getIntLiteralAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:615:1: ( rule__IntLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:615:2: rule__IntLiteral__Group__0
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__0_in_ruleIntLiteral1308);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__0_in_ruleIntLiteral1245);
             rule__IntLiteral__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getIntLiteralAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getIntLiteralAccess().getGroup()); 
+            }
 
             }
 
@@ -1736,20 +1813,24 @@
 
 
     // $ANTLR start "entryRuleStringLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:662:1: entryRuleStringLiteral : ruleStringLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:627:1: entryRuleStringLiteral : ruleStringLiteral EOF ;
     public final void entryRuleStringLiteral() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:663:1: ( ruleStringLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:664:1: ruleStringLiteral EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:628:1: ( ruleStringLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:629:1: ruleStringLiteral EOF
             {
-             before(grammarAccess.getStringLiteralRule()); 
-            pushFollow(FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1335);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getStringLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1272);
             ruleStringLiteral();
 
             state._fsp--;
-
-             after(grammarAccess.getStringLiteralRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleStringLiteral1342); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getStringLiteralRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleStringLiteral1279); if (state.failed) return ;
 
             }
 
@@ -1766,31 +1847,35 @@
 
 
     // $ANTLR start "ruleStringLiteral"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:671:1: ruleStringLiteral : ( ( rule__StringLiteral__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:636:1: ruleStringLiteral : ( ( rule__StringLiteral__Group__0 ) ) ;
     public final void ruleStringLiteral() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:675:2: ( ( ( rule__StringLiteral__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:676:1: ( ( rule__StringLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:640:2: ( ( ( rule__StringLiteral__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:641:1: ( ( rule__StringLiteral__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:676:1: ( ( rule__StringLiteral__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:677:1: ( rule__StringLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:641:1: ( ( rule__StringLiteral__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:642:1: ( rule__StringLiteral__Group__0 )
             {
-             before(grammarAccess.getStringLiteralAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:678:1: ( rule__StringLiteral__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:678:2: rule__StringLiteral__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getStringLiteralAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:643:1: ( rule__StringLiteral__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:643:2: rule__StringLiteral__Group__0
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral1368);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral1305);
             rule__StringLiteral__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getStringLiteralAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getStringLiteralAccess().getGroup()); 
+            }
 
             }
 
@@ -1813,20 +1898,24 @@
 
 
     // $ANTLR start "entryRuleInteger"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:690:1: entryRuleInteger : ruleInteger EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:655:1: entryRuleInteger : ruleInteger EOF ;
     public final void entryRuleInteger() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:691:1: ( ruleInteger EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:692:1: ruleInteger EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:656:1: ( ruleInteger EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:657:1: ruleInteger EOF
             {
-             before(grammarAccess.getIntegerRule()); 
-            pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger1395);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getIntegerRule()); 
+            }
+            pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger1332);
             ruleInteger();
 
             state._fsp--;
-
-             after(grammarAccess.getIntegerRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleInteger1402); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getIntegerRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleInteger1339); if (state.failed) return ;
 
             }
 
@@ -1843,31 +1932,35 @@
 
 
     // $ANTLR start "ruleInteger"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:699:1: ruleInteger : ( ( rule__Integer__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:664:1: ruleInteger : ( ( rule__Integer__Alternatives ) ) ;
     public final void ruleInteger() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:703:2: ( ( ( rule__Integer__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:704:1: ( ( rule__Integer__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:668:2: ( ( ( rule__Integer__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:669:1: ( ( rule__Integer__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:704:1: ( ( rule__Integer__Alternatives ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:705:1: ( rule__Integer__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:669:1: ( ( rule__Integer__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:670:1: ( rule__Integer__Alternatives )
             {
-             before(grammarAccess.getIntegerAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:706:1: ( rule__Integer__Alternatives )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:706:2: rule__Integer__Alternatives
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getIntegerAccess().getAlternatives()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:671:1: ( rule__Integer__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:671:2: rule__Integer__Alternatives
             {
-            pushFollow(FOLLOW_rule__Integer__Alternatives_in_ruleInteger1428);
+            pushFollow(FOLLOW_rule__Integer__Alternatives_in_ruleInteger1365);
             rule__Integer__Alternatives();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getIntegerAccess().getAlternatives()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getIntegerAccess().getAlternatives()); 
+            }
 
             }
 
@@ -1889,181 +1982,25 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:718:1: entryRuleSignedInteger : ruleSignedInteger EOF ;
-    public final void entryRuleSignedInteger() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:722:1: ( ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:723:1: ruleSignedInteger EOF
-            {
-             before(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger1460);
-            ruleSignedInteger();
-
-            state._fsp--;
-
-             after(grammarAccess.getSignedIntegerRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger1467); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:733:1: ruleSignedInteger : ( ( rule__SignedInteger__Group__0 ) ) ;
-    public final void ruleSignedInteger() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:738:2: ( ( ( rule__SignedInteger__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:739:1: ( ( rule__SignedInteger__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:739:1: ( ( rule__SignedInteger__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:740:1: ( rule__SignedInteger__Group__0 )
-            {
-             before(grammarAccess.getSignedIntegerAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:741:1: ( rule__SignedInteger__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:741:2: rule__SignedInteger__Group__0
-            {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger1497);
-            rule__SignedInteger__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSignedIntegerAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:754:1: entryRuleHexadecimal : ruleHexadecimal EOF ;
-    public final void entryRuleHexadecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:758:1: ( ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:759:1: ruleHexadecimal EOF
-            {
-             before(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal1529);
-            ruleHexadecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getHexadecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal1536); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:769:1: ruleHexadecimal : ( RULE_HEX ) ;
-    public final void ruleHexadecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:774:2: ( ( RULE_HEX ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:775:1: ( RULE_HEX )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:775:1: ( RULE_HEX )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:776:1: RULE_HEX
-            {
-             before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-            match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal1566); 
-             after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:790:1: entryRuleReal : ruleReal EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:683:1: entryRuleReal : ruleReal EOF ;
     public final void entryRuleReal() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:791:1: ( ruleReal EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:792:1: ruleReal EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:684:1: ( ruleReal EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:685:1: ruleReal EOF
             {
-             before(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal1592);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRealRule()); 
+            }
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal1392);
             ruleReal();
 
             state._fsp--;
-
-             after(grammarAccess.getRealRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal1599); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRealRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal1399); if (state.failed) return ;
 
             }
 
@@ -2080,31 +2017,35 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:799:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:692:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
     public final void ruleReal() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:803:2: ( ( ( rule__Real__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:804:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:696:2: ( ( ( rule__Real__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:697:1: ( ( rule__Real__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:804:1: ( ( rule__Real__Alternatives ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:805:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:697:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:698:1: ( rule__Real__Alternatives )
             {
-             before(grammarAccess.getRealAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:806:1: ( rule__Real__Alternatives )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:806:2: rule__Real__Alternatives
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRealAccess().getAlternatives()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:699:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:699:2: rule__Real__Alternatives
             {
-            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal1625);
+            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal1425);
             rule__Real__Alternatives();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getRealAccess().getAlternatives()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRealAccess().getAlternatives()); 
+            }
 
             }
 
@@ -2127,23 +2068,27 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:818:1: entryRuleDecimal : ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:711:1: entryRuleDecimal : ruleDecimal EOF ;
     public final void entryRuleDecimal() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:822:1: ( ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:823:1: ruleDecimal EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:715:1: ( ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:716:1: ruleDecimal EOF
             {
-             before(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal1657);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalRule()); 
+            }
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal1457);
             ruleDecimal();
 
             state._fsp--;
-
-             after(grammarAccess.getDecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal1664); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal1464); if (state.failed) return ;
 
             }
 
@@ -2163,32 +2108,36 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:833:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:726:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
     public final void ruleDecimal() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:838:2: ( ( ( rule__Decimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:839:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:731:2: ( ( ( rule__Decimal__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:732:1: ( ( rule__Decimal__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:839:1: ( ( rule__Decimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:840:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:732:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:733:1: ( rule__Decimal__Group__0 )
             {
-             before(grammarAccess.getDecimalAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:841:1: ( rule__Decimal__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:841:2: rule__Decimal__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:734:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:734:2: rule__Decimal__Group__0
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1694);
+            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1494);
             rule__Decimal__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getDecimalAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalAccess().getGroup()); 
+            }
 
             }
 
@@ -2211,194 +2160,28 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:854:1: entryRuleDotDecimal : ruleDotDecimal EOF ;
-    public final void entryRuleDotDecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:858:1: ( ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:859:1: ruleDotDecimal EOF
-            {
-             before(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal1726);
-            ruleDotDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getDotDecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal1733); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:869:1: ruleDotDecimal : ( ( rule__DotDecimal__Group__0 ) ) ;
-    public final void ruleDotDecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:874:2: ( ( ( rule__DotDecimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:875:1: ( ( rule__DotDecimal__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:875:1: ( ( rule__DotDecimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:876:1: ( rule__DotDecimal__Group__0 )
-            {
-             before(grammarAccess.getDotDecimalAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:877:1: ( rule__DotDecimal__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:877:2: rule__DotDecimal__Group__0
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal1763);
-            rule__DotDecimal__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDotDecimalAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:890:1: entryRuleDecimalDot : ruleDecimalDot EOF ;
-    public final void entryRuleDecimalDot() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:894:1: ( ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:895:1: ruleDecimalDot EOF
-            {
-             before(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot1795);
-            ruleDecimalDot();
-
-            state._fsp--;
-
-             after(grammarAccess.getDecimalDotRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot1802); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:905:1: ruleDecimalDot : ( ( rule__DecimalDot__Group__0 ) ) ;
-    public final void ruleDecimalDot() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:910:2: ( ( ( rule__DecimalDot__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:911:1: ( ( rule__DecimalDot__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:911:1: ( ( rule__DecimalDot__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:912:1: ( rule__DecimalDot__Group__0 )
-            {
-             before(grammarAccess.getDecimalDotAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:913:1: ( rule__DecimalDot__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:913:2: rule__DecimalDot__Group__0
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot1832);
-            rule__DecimalDot__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDecimalDotAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:926:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:747:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
     public final void entryRuleDecimalExp() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:930:1: ( ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:931:1: ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:751:1: ( ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:752:1: ruleDecimalExp EOF
             {
-             before(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1864);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalExpRule()); 
+            }
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1526);
             ruleDecimalExp();
 
             state._fsp--;
-
-             after(grammarAccess.getDecimalExpRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp1871); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalExpRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp1533); if (state.failed) return ;
 
             }
 
@@ -2418,32 +2201,36 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:941:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:762:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
     public final void ruleDecimalExp() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:946:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:947:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:767:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:768:1: ( ( rule__DecimalExp__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:947:1: ( ( rule__DecimalExp__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:948:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:768:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:769:1: ( rule__DecimalExp__Group__0 )
             {
-             before(grammarAccess.getDecimalExpAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:949:1: ( rule__DecimalExp__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:949:2: rule__DecimalExp__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalExpAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:770:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:770:2: rule__DecimalExp__Group__0
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1901);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1563);
             rule__DecimalExp__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getDecimalExpAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalExpAccess().getGroup()); 
+            }
 
             }
 
@@ -2467,20 +2254,24 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:962:1: entryRuleFQN : ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:783:1: entryRuleFQN : ruleFQN EOF ;
     public final void entryRuleFQN() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:963:1: ( ruleFQN EOF )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:964:1: ruleFQN EOF
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:784:1: ( ruleFQN EOF )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:785:1: ruleFQN EOF
             {
-             before(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN1928);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getFQNRule()); 
+            }
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN1590);
             ruleFQN();
 
             state._fsp--;
-
-             after(grammarAccess.getFQNRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN1935); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getFQNRule()); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN1597); if (state.failed) return ;
 
             }
 
@@ -2497,31 +2288,35 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:971:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:792:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
     public final void ruleFQN() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:975:2: ( ( ( rule__FQN__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:976:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:796:2: ( ( ( rule__FQN__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:797:1: ( ( rule__FQN__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:976:1: ( ( rule__FQN__Group__0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:977:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:797:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:798:1: ( rule__FQN__Group__0 )
             {
-             before(grammarAccess.getFQNAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:978:1: ( rule__FQN__Group__0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:978:2: rule__FQN__Group__0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getFQNAccess().getGroup()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:799:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:799:2: rule__FQN__Group__0
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN1961);
+            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN1623);
             rule__FQN__Group__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getFQNAccess().getGroup()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getFQNAccess().getGroup()); 
+            }
 
             }
 
@@ -2544,31 +2339,35 @@
 
 
     // $ANTLR start "ruleExecMode"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:991:1: ruleExecMode : ( ( rule__ExecMode__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:812:1: ruleExecMode : ( ( rule__ExecMode__Alternatives ) ) ;
     public final void ruleExecMode() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:995:1: ( ( ( rule__ExecMode__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:996:1: ( ( rule__ExecMode__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:816:1: ( ( ( rule__ExecMode__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:817:1: ( ( rule__ExecMode__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:996:1: ( ( rule__ExecMode__Alternatives ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:997:1: ( rule__ExecMode__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:817:1: ( ( rule__ExecMode__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:818:1: ( rule__ExecMode__Alternatives )
             {
-             before(grammarAccess.getExecModeAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:998:1: ( rule__ExecMode__Alternatives )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:998:2: rule__ExecMode__Alternatives
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getExecModeAccess().getAlternatives()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:819:1: ( rule__ExecMode__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:819:2: rule__ExecMode__Alternatives
             {
-            pushFollow(FOLLOW_rule__ExecMode__Alternatives_in_ruleExecMode1998);
+            pushFollow(FOLLOW_rule__ExecMode__Alternatives_in_ruleExecMode1660);
             rule__ExecMode__Alternatives();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getExecModeAccess().getAlternatives()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getExecModeAccess().getAlternatives()); 
+            }
 
             }
 
@@ -2591,31 +2390,35 @@
 
 
     // $ANTLR start "ruleThreadModel"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1010:1: ruleThreadModel : ( ( rule__ThreadModel__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:831:1: ruleThreadModel : ( ( rule__ThreadModel__Alternatives ) ) ;
     public final void ruleThreadModel() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1014:1: ( ( ( rule__ThreadModel__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1015:1: ( ( rule__ThreadModel__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:835:1: ( ( ( rule__ThreadModel__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:836:1: ( ( rule__ThreadModel__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1015:1: ( ( rule__ThreadModel__Alternatives ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1016:1: ( rule__ThreadModel__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:836:1: ( ( rule__ThreadModel__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:837:1: ( rule__ThreadModel__Alternatives )
             {
-             before(grammarAccess.getThreadModelAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1017:1: ( rule__ThreadModel__Alternatives )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1017:2: rule__ThreadModel__Alternatives
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getThreadModelAccess().getAlternatives()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:838:1: ( rule__ThreadModel__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:838:2: rule__ThreadModel__Alternatives
             {
-            pushFollow(FOLLOW_rule__ThreadModel__Alternatives_in_ruleThreadModel2034);
+            pushFollow(FOLLOW_rule__ThreadModel__Alternatives_in_ruleThreadModel1696);
             rule__ThreadModel__Alternatives();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getThreadModelAccess().getAlternatives()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getThreadModelAccess().getAlternatives()); 
+            }
 
             }
 
@@ -2638,31 +2441,35 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1029:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:850:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
     public final void ruleLiteralType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1033:1: ( ( ( rule__LiteralType__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1034:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:854:1: ( ( ( rule__LiteralType__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:855:1: ( ( rule__LiteralType__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1034:1: ( ( rule__LiteralType__Alternatives ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1035:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:855:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:856:1: ( rule__LiteralType__Alternatives )
             {
-             before(grammarAccess.getLiteralTypeAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1036:1: ( rule__LiteralType__Alternatives )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1036:2: rule__LiteralType__Alternatives
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getLiteralTypeAccess().getAlternatives()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:857:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:857:2: rule__LiteralType__Alternatives
             {
-            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType2070);
+            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType1732);
             rule__LiteralType__Alternatives();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getLiteralTypeAccess().getAlternatives()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getLiteralTypeAccess().getAlternatives()); 
+            }
 
             }
 
@@ -2685,31 +2492,32 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Alternatives_4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1047:1: rule__PhysicalModel__Alternatives_4 : ( ( ( rule__PhysicalModel__SystemsAssignment_4_0 ) ) | ( ( rule__PhysicalModel__NodeClassesAssignment_4_1 ) ) | ( ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 ) ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:868:1: rule__PhysicalModel__Alternatives_4 : ( ( ( rule__PhysicalModel__SystemsAssignment_4_0 ) ) | ( ( rule__PhysicalModel__NodeClassesAssignment_4_1 ) ) | ( ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 ) ) );
     public final void rule__PhysicalModel__Alternatives_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1051:1: ( ( ( rule__PhysicalModel__SystemsAssignment_4_0 ) ) | ( ( rule__PhysicalModel__NodeClassesAssignment_4_1 ) ) | ( ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:872:1: ( ( ( rule__PhysicalModel__SystemsAssignment_4_0 ) ) | ( ( rule__PhysicalModel__NodeClassesAssignment_4_1 ) ) | ( ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 ) ) )
             int alt1=3;
             switch ( input.LA(1) ) {
-            case 31:
+            case 32:
                 {
                 alt1=1;
                 }
                 break;
-            case 34:
+            case 35:
                 {
                 alt1=2;
                 }
                 break;
-            case 45:
+            case 46:
                 {
                 alt1=3;
                 }
                 break;
             default:
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 1, 0, input);
 
@@ -2718,24 +2526,28 @@
 
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1052:1: ( ( rule__PhysicalModel__SystemsAssignment_4_0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:873:1: ( ( rule__PhysicalModel__SystemsAssignment_4_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1052:1: ( ( rule__PhysicalModel__SystemsAssignment_4_0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1053:1: ( rule__PhysicalModel__SystemsAssignment_4_0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:873:1: ( ( rule__PhysicalModel__SystemsAssignment_4_0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:874:1: ( rule__PhysicalModel__SystemsAssignment_4_0 )
                     {
-                     before(grammarAccess.getPhysicalModelAccess().getSystemsAssignment_4_0()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1054:1: ( rule__PhysicalModel__SystemsAssignment_4_0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1054:2: rule__PhysicalModel__SystemsAssignment_4_0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getPhysicalModelAccess().getSystemsAssignment_4_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:875:1: ( rule__PhysicalModel__SystemsAssignment_4_0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:875:2: rule__PhysicalModel__SystemsAssignment_4_0
                     {
-                    pushFollow(FOLLOW_rule__PhysicalModel__SystemsAssignment_4_0_in_rule__PhysicalModel__Alternatives_42105);
+                    pushFollow(FOLLOW_rule__PhysicalModel__SystemsAssignment_4_0_in_rule__PhysicalModel__Alternatives_41767);
                     rule__PhysicalModel__SystemsAssignment_4_0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getPhysicalModelAccess().getSystemsAssignment_4_0()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getPhysicalModelAccess().getSystemsAssignment_4_0()); 
+                    }
 
                     }
 
@@ -2743,24 +2555,28 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1058:6: ( ( rule__PhysicalModel__NodeClassesAssignment_4_1 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:879:6: ( ( rule__PhysicalModel__NodeClassesAssignment_4_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1058:6: ( ( rule__PhysicalModel__NodeClassesAssignment_4_1 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1059:1: ( rule__PhysicalModel__NodeClassesAssignment_4_1 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:879:6: ( ( rule__PhysicalModel__NodeClassesAssignment_4_1 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:880:1: ( rule__PhysicalModel__NodeClassesAssignment_4_1 )
                     {
-                     before(grammarAccess.getPhysicalModelAccess().getNodeClassesAssignment_4_1()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1060:1: ( rule__PhysicalModel__NodeClassesAssignment_4_1 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1060:2: rule__PhysicalModel__NodeClassesAssignment_4_1
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getPhysicalModelAccess().getNodeClassesAssignment_4_1()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:881:1: ( rule__PhysicalModel__NodeClassesAssignment_4_1 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:881:2: rule__PhysicalModel__NodeClassesAssignment_4_1
                     {
-                    pushFollow(FOLLOW_rule__PhysicalModel__NodeClassesAssignment_4_1_in_rule__PhysicalModel__Alternatives_42123);
+                    pushFollow(FOLLOW_rule__PhysicalModel__NodeClassesAssignment_4_1_in_rule__PhysicalModel__Alternatives_41785);
                     rule__PhysicalModel__NodeClassesAssignment_4_1();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getPhysicalModelAccess().getNodeClassesAssignment_4_1()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getPhysicalModelAccess().getNodeClassesAssignment_4_1()); 
+                    }
 
                     }
 
@@ -2768,24 +2584,28 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1064:6: ( ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:885:6: ( ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1064:6: ( ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1065:1: ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:885:6: ( ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:886:1: ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 )
                     {
-                     before(grammarAccess.getPhysicalModelAccess().getRuntimeClassesAssignment_4_2()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1066:1: ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1066:2: rule__PhysicalModel__RuntimeClassesAssignment_4_2
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getPhysicalModelAccess().getRuntimeClassesAssignment_4_2()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:887:1: ( rule__PhysicalModel__RuntimeClassesAssignment_4_2 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:887:2: rule__PhysicalModel__RuntimeClassesAssignment_4_2
                     {
-                    pushFollow(FOLLOW_rule__PhysicalModel__RuntimeClassesAssignment_4_2_in_rule__PhysicalModel__Alternatives_42141);
+                    pushFollow(FOLLOW_rule__PhysicalModel__RuntimeClassesAssignment_4_2_in_rule__PhysicalModel__Alternatives_41803);
                     rule__PhysicalModel__RuntimeClassesAssignment_4_2();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getPhysicalModelAccess().getRuntimeClassesAssignment_4_2()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getPhysicalModelAccess().getRuntimeClassesAssignment_4_2()); 
+                    }
 
                     }
 
@@ -2810,23 +2630,24 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Alternatives_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1075:1: rule__PhysicalThread__Alternatives_0 : ( ( ( rule__PhysicalThread__DefaultAssignment_0_0 ) ) | ( 'Thread' ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:896:1: rule__PhysicalThread__Alternatives_0 : ( ( ( rule__PhysicalThread__DefaultAssignment_0_0 ) ) | ( 'Thread' ) );
     public final void rule__PhysicalThread__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1079:1: ( ( ( rule__PhysicalThread__DefaultAssignment_0_0 ) ) | ( 'Thread' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:900:1: ( ( ( rule__PhysicalThread__DefaultAssignment_0_0 ) ) | ( 'Thread' ) )
             int alt2=2;
             int LA2_0 = input.LA(1);
 
-            if ( (LA2_0==58) ) {
+            if ( (LA2_0==59) ) {
                 alt2=1;
             }
-            else if ( (LA2_0==13) ) {
+            else if ( (LA2_0==12) ) {
                 alt2=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 2, 0, input);
 
@@ -2834,24 +2655,28 @@
             }
             switch (alt2) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1080:1: ( ( rule__PhysicalThread__DefaultAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:901:1: ( ( rule__PhysicalThread__DefaultAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1080:1: ( ( rule__PhysicalThread__DefaultAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1081:1: ( rule__PhysicalThread__DefaultAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:901:1: ( ( rule__PhysicalThread__DefaultAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:902:1: ( rule__PhysicalThread__DefaultAssignment_0_0 )
                     {
-                     before(grammarAccess.getPhysicalThreadAccess().getDefaultAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1082:1: ( rule__PhysicalThread__DefaultAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1082:2: rule__PhysicalThread__DefaultAssignment_0_0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getPhysicalThreadAccess().getDefaultAssignment_0_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:903:1: ( rule__PhysicalThread__DefaultAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:903:2: rule__PhysicalThread__DefaultAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__DefaultAssignment_0_0_in_rule__PhysicalThread__Alternatives_02174);
+                    pushFollow(FOLLOW_rule__PhysicalThread__DefaultAssignment_0_0_in_rule__PhysicalThread__Alternatives_01836);
                     rule__PhysicalThread__DefaultAssignment_0_0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getPhysicalThreadAccess().getDefaultAssignment_0_0()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getPhysicalThreadAccess().getDefaultAssignment_0_0()); 
+                    }
 
                     }
 
@@ -2859,14 +2684,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1086:6: ( 'Thread' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:907:6: ( 'Thread' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1086:6: ( 'Thread' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1087:1: 'Thread'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:907:6: ( 'Thread' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:908:1: 'Thread'
                     {
-                     before(grammarAccess.getPhysicalThreadAccess().getThreadKeyword_0_1()); 
-                    match(input,13,FOLLOW_13_in_rule__PhysicalThread__Alternatives_02193); 
-                     after(grammarAccess.getPhysicalThreadAccess().getThreadKeyword_0_1()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getPhysicalThreadAccess().getThreadKeyword_0_1()); 
+                    }
+                    match(input,12,FOLLOW_12_in_rule__PhysicalThread__Alternatives_01855); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getPhysicalThreadAccess().getThreadKeyword_0_1()); 
+                    }
 
                     }
 
@@ -2890,24 +2719,119 @@
     // $ANTLR end "rule__PhysicalThread__Alternatives_0"
 
 
-    // $ANTLR start "rule__PRIO__Alternatives_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1099:1: rule__PRIO__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__PRIO__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__AnnotationAttribute__Alternatives"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:921:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
+    public final void rule__AnnotationAttribute__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1103:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:925:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
             int alt3=2;
             int LA3_0 = input.LA(1);
 
-            if ( (LA3_0==14) ) {
-                alt3=1;
+            if ( (LA3_0==60) ) {
+                int LA3_1 = input.LA(2);
+
+                if ( (LA3_1==47) ) {
+                    int LA3_3 = input.LA(3);
+
+                    if ( (LA3_3==RULE_ID) ) {
+                        int LA3_4 = input.LA(4);
+
+                        if ( (LA3_4==34) ) {
+                            int LA3_5 = input.LA(5);
+
+                            if ( (LA3_5==30) ) {
+                                alt3=2;
+                            }
+                            else if ( ((LA3_5>=25 && LA3_5<=28)) ) {
+                                alt3=1;
+                            }
+                            else {
+                                if (state.backtracking>0) {state.failed=true; return ;}
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 3, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return ;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 3, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 3, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 3, 1, input);
+
+                    throw nvae;
+                }
             }
-            else if ( (LA3_0==15) ) {
-                alt3=2;
+            else if ( (LA3_0==13) ) {
+                int LA3_2 = input.LA(2);
+
+                if ( (LA3_2==47) ) {
+                    int LA3_3 = input.LA(3);
+
+                    if ( (LA3_3==RULE_ID) ) {
+                        int LA3_4 = input.LA(4);
+
+                        if ( (LA3_4==34) ) {
+                            int LA3_5 = input.LA(5);
+
+                            if ( (LA3_5==30) ) {
+                                alt3=2;
+                            }
+                            else if ( ((LA3_5>=25 && LA3_5<=28)) ) {
+                                alt3=1;
+                            }
+                            else {
+                                if (state.backtracking>0) {state.failed=true; return ;}
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 3, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return ;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 3, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 3, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 3, 2, input);
+
+                    throw nvae;
+                }
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 3, 0, input);
 
@@ -2915,175 +2839,22 @@
             }
             switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1104:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:926:1: ( ruleSimpleAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1104:1: ( '+' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1105:1: '+'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:926:1: ( ruleSimpleAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:927:1: ruleSimpleAnnotationAttribute
                     {
-                     before(grammarAccess.getPRIOAccess().getPlusSignKeyword_0_0()); 
-                    match(input,14,FOLLOW_14_in_rule__PRIO__Alternatives_02228); 
-                     after(grammarAccess.getPRIOAccess().getPlusSignKeyword_0_0()); 
-
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
                     }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1112:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1112:6: ( '-' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1113:1: '-'
-                    {
-                     before(grammarAccess.getPRIOAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,15,FOLLOW_15_in_rule__PRIO__Alternatives_02248); 
-                     after(grammarAccess.getPRIOAccess().getHyphenMinusKeyword_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PRIO__Alternatives_0"
-
-
-    // $ANTLR start "rule__AnnotationAttribute__Alternatives"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1126:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
-    public final void rule__AnnotationAttribute__Alternatives() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1130:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
-            int alt4=2;
-            int LA4_0 = input.LA(1);
-
-            if ( (LA4_0==59) ) {
-                int LA4_1 = input.LA(2);
-
-                if ( (LA4_1==46) ) {
-                    int LA4_3 = input.LA(3);
-
-                    if ( (LA4_3==RULE_ID) ) {
-                        int LA4_4 = input.LA(4);
-
-                        if ( (LA4_4==33) ) {
-                            int LA4_5 = input.LA(5);
-
-                            if ( ((LA4_5>=24 && LA4_5<=27)) ) {
-                                alt4=1;
-                            }
-                            else if ( (LA4_5==29) ) {
-                                alt4=2;
-                            }
-                            else {
-                                NoViableAltException nvae =
-                                    new NoViableAltException("", 4, 5, input);
-
-                                throw nvae;
-                            }
-                        }
-                        else {
-                            NoViableAltException nvae =
-                                new NoViableAltException("", 4, 4, input);
-
-                            throw nvae;
-                        }
-                    }
-                    else {
-                        NoViableAltException nvae =
-                            new NoViableAltException("", 4, 3, input);
-
-                        throw nvae;
-                    }
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 4, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else if ( (LA4_0==16) ) {
-                int LA4_2 = input.LA(2);
-
-                if ( (LA4_2==46) ) {
-                    int LA4_3 = input.LA(3);
-
-                    if ( (LA4_3==RULE_ID) ) {
-                        int LA4_4 = input.LA(4);
-
-                        if ( (LA4_4==33) ) {
-                            int LA4_5 = input.LA(5);
-
-                            if ( ((LA4_5>=24 && LA4_5<=27)) ) {
-                                alt4=1;
-                            }
-                            else if ( (LA4_5==29) ) {
-                                alt4=2;
-                            }
-                            else {
-                                NoViableAltException nvae =
-                                    new NoViableAltException("", 4, 5, input);
-
-                                throw nvae;
-                            }
-                        }
-                        else {
-                            NoViableAltException nvae =
-                                new NoViableAltException("", 4, 4, input);
-
-                            throw nvae;
-                        }
-                    }
-                    else {
-                        NoViableAltException nvae =
-                            new NoViableAltException("", 4, 3, input);
-
-                        throw nvae;
-                    }
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 4, 2, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 4, 0, input);
-
-                throw nvae;
-            }
-            switch (alt4) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1131:1: ( ruleSimpleAnnotationAttribute )
-                    {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1131:1: ( ruleSimpleAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1132:1: ruleSimpleAnnotationAttribute
-                    {
-                     before(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2283);
+                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1890);
                     ruleSimpleAnnotationAttribute();
 
                     state._fsp--;
-
-                     after(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
+                    if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
+                    }
 
                     }
 
@@ -3091,18 +2862,22 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1137:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:932:6: ( ruleEnumAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1137:6: ( ruleEnumAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1138:1: ruleEnumAnnotationAttribute
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:932:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:933:1: ruleEnumAnnotationAttribute
                     {
-                     before(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2300);
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
+                    }
+                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1907);
                     ruleEnumAnnotationAttribute();
 
                     state._fsp--;
-
-                     after(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
+                    if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
+                    }
 
                     }
 
@@ -3127,48 +2902,53 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1148:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:943:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__SimpleAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1152:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:947:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            int alt4=2;
+            int LA4_0 = input.LA(1);
 
-            if ( (LA5_0==59) ) {
-                alt5=1;
+            if ( (LA4_0==60) ) {
+                alt4=1;
             }
-            else if ( (LA5_0==16) ) {
-                alt5=2;
+            else if ( (LA4_0==13) ) {
+                alt4=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 5, 0, input);
+                    new NoViableAltException("", 4, 0, input);
 
                 throw nvae;
             }
-            switch (alt5) {
+            switch (alt4) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1153:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:948:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1153:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1154:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:948:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:949:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
                     {
-                     before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1155:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1155:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:950:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:950:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_02332);
+                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_01939);
                     rule__SimpleAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
+                    }
 
                     }
 
@@ -3176,14 +2956,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1159:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:954:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1159:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1160:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:954:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:955:1: 'mandatory'
                     {
-                     before(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__SimpleAnnotationAttribute__Alternatives_02351); 
-                     after(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
+                    }
+                    match(input,13,FOLLOW_13_in_rule__SimpleAnnotationAttribute__Alternatives_01958); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
+                    }
 
                     }
 
@@ -3208,48 +2992,53 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1172:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:967:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__EnumAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1176:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
-            int alt6=2;
-            int LA6_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:971:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            int alt5=2;
+            int LA5_0 = input.LA(1);
 
-            if ( (LA6_0==59) ) {
-                alt6=1;
+            if ( (LA5_0==60) ) {
+                alt5=1;
             }
-            else if ( (LA6_0==16) ) {
-                alt6=2;
+            else if ( (LA5_0==13) ) {
+                alt5=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 6, 0, input);
+                    new NoViableAltException("", 5, 0, input);
 
                 throw nvae;
             }
-            switch (alt6) {
+            switch (alt5) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1177:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:972:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1177:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1178:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:972:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:973:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
                     {
-                     before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1179:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1179:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:974:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:974:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_02385);
+                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_01992);
                     rule__EnumAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
+                    }
 
                     }
 
@@ -3257,14 +3046,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1183:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:978:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1183:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1184:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:978:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:979:1: 'mandatory'
                     {
-                     before(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__EnumAnnotationAttribute__Alternatives_02404); 
-                     after(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
+                    }
+                    match(input,13,FOLLOW_13_in_rule__EnumAnnotationAttribute__Alternatives_02011); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
+                    }
 
                     }
 
@@ -3289,48 +3082,53 @@
 
 
     // $ANTLR start "rule__Import__Alternatives_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1196:1: rule__Import__Alternatives_1 : ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:991:1: rule__Import__Alternatives_1 : ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) );
     public final void rule__Import__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1200:1: ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) )
-            int alt7=2;
-            int LA7_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:995:1: ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) )
+            int alt6=2;
+            int LA6_0 = input.LA(1);
 
-            if ( (LA7_0==RULE_ID) ) {
-                alt7=1;
+            if ( (LA6_0==RULE_ID) ) {
+                alt6=1;
             }
-            else if ( (LA7_0==17) ) {
-                alt7=2;
+            else if ( (LA6_0==14) ) {
+                alt6=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 7, 0, input);
+                    new NoViableAltException("", 6, 0, input);
 
                 throw nvae;
             }
-            switch (alt7) {
+            switch (alt6) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1201:1: ( ( rule__Import__Group_1_0__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:996:1: ( ( rule__Import__Group_1_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1201:1: ( ( rule__Import__Group_1_0__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1202:1: ( rule__Import__Group_1_0__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:996:1: ( ( rule__Import__Group_1_0__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:997:1: ( rule__Import__Group_1_0__0 )
                     {
-                     before(grammarAccess.getImportAccess().getGroup_1_0()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1203:1: ( rule__Import__Group_1_0__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1203:2: rule__Import__Group_1_0__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getImportAccess().getGroup_1_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:998:1: ( rule__Import__Group_1_0__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:998:2: rule__Import__Group_1_0__0
                     {
-                    pushFollow(FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_12438);
+                    pushFollow(FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_12045);
                     rule__Import__Group_1_0__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getImportAccess().getGroup_1_0()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getImportAccess().getGroup_1_0()); 
+                    }
 
                     }
 
@@ -3338,14 +3136,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1207:6: ( 'model' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1002:6: ( 'model' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1207:6: ( 'model' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1208:1: 'model'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1002:6: ( 'model' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1003:1: 'model'
                     {
-                     before(grammarAccess.getImportAccess().getModelKeyword_1_1()); 
-                    match(input,17,FOLLOW_17_in_rule__Import__Alternatives_12457); 
-                     after(grammarAccess.getImportAccess().getModelKeyword_1_1()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getImportAccess().getModelKeyword_1_1()); 
+                    }
+                    match(input,14,FOLLOW_14_in_rule__Import__Alternatives_12064); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getImportAccess().getModelKeyword_1_1()); 
+                    }
 
                     }
 
@@ -3370,72 +3172,78 @@
 
 
     // $ANTLR start "rule__TIME__Alternatives"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1220:1: rule__TIME__Alternatives : ( ( ( rule__TIME__Group_0__0 ) ) | ( ( rule__TIME__Group_1__0 ) ) | ( ( rule__TIME__Group_2__0 ) ) | ( ( rule__TIME__Group_3__0 ) ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1015:1: rule__TIME__Alternatives : ( ( ( rule__TIME__Group_0__0 ) ) | ( ( rule__TIME__Group_1__0 ) ) | ( ( rule__TIME__Group_2__0 ) ) | ( ( rule__TIME__Group_3__0 ) ) );
     public final void rule__TIME__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1224:1: ( ( ( rule__TIME__Group_0__0 ) ) | ( ( rule__TIME__Group_1__0 ) ) | ( ( rule__TIME__Group_2__0 ) ) | ( ( rule__TIME__Group_3__0 ) ) )
-            int alt8=4;
-            int LA8_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1019:1: ( ( ( rule__TIME__Group_0__0 ) ) | ( ( rule__TIME__Group_1__0 ) ) | ( ( rule__TIME__Group_2__0 ) ) | ( ( rule__TIME__Group_3__0 ) ) )
+            int alt7=4;
+            int LA7_0 = input.LA(1);
 
-            if ( (LA8_0==RULE_INT) ) {
+            if ( (LA7_0==RULE_INT) ) {
                 switch ( input.LA(2) ) {
+                case 55:
+                    {
+                    alt7=2;
+                    }
+                    break;
+                case 57:
+                    {
+                    alt7=4;
+                    }
+                    break;
                 case 54:
                     {
-                    alt8=2;
+                    alt7=1;
                     }
                     break;
                 case 56:
                     {
-                    alt8=4;
-                    }
-                    break;
-                case 53:
-                    {
-                    alt8=1;
-                    }
-                    break;
-                case 55:
-                    {
-                    alt8=3;
+                    alt7=3;
                     }
                     break;
                 default:
+                    if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 8, 1, input);
+                        new NoViableAltException("", 7, 1, input);
 
                     throw nvae;
                 }
 
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 8, 0, input);
+                    new NoViableAltException("", 7, 0, input);
 
                 throw nvae;
             }
-            switch (alt8) {
+            switch (alt7) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1225:1: ( ( rule__TIME__Group_0__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1020:1: ( ( rule__TIME__Group_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1225:1: ( ( rule__TIME__Group_0__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1226:1: ( rule__TIME__Group_0__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1020:1: ( ( rule__TIME__Group_0__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1021:1: ( rule__TIME__Group_0__0 )
                     {
-                     before(grammarAccess.getTIMEAccess().getGroup_0()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1227:1: ( rule__TIME__Group_0__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1227:2: rule__TIME__Group_0__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getTIMEAccess().getGroup_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1022:1: ( rule__TIME__Group_0__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1022:2: rule__TIME__Group_0__0
                     {
-                    pushFollow(FOLLOW_rule__TIME__Group_0__0_in_rule__TIME__Alternatives2491);
+                    pushFollow(FOLLOW_rule__TIME__Group_0__0_in_rule__TIME__Alternatives2098);
                     rule__TIME__Group_0__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getTIMEAccess().getGroup_0()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getTIMEAccess().getGroup_0()); 
+                    }
 
                     }
 
@@ -3443,24 +3251,28 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1231:6: ( ( rule__TIME__Group_1__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1026:6: ( ( rule__TIME__Group_1__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1231:6: ( ( rule__TIME__Group_1__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1232:1: ( rule__TIME__Group_1__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1026:6: ( ( rule__TIME__Group_1__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1027:1: ( rule__TIME__Group_1__0 )
                     {
-                     before(grammarAccess.getTIMEAccess().getGroup_1()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1233:1: ( rule__TIME__Group_1__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1233:2: rule__TIME__Group_1__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getTIMEAccess().getGroup_1()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1028:1: ( rule__TIME__Group_1__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1028:2: rule__TIME__Group_1__0
                     {
-                    pushFollow(FOLLOW_rule__TIME__Group_1__0_in_rule__TIME__Alternatives2509);
+                    pushFollow(FOLLOW_rule__TIME__Group_1__0_in_rule__TIME__Alternatives2116);
                     rule__TIME__Group_1__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getTIMEAccess().getGroup_1()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getTIMEAccess().getGroup_1()); 
+                    }
 
                     }
 
@@ -3468,24 +3280,28 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1237:6: ( ( rule__TIME__Group_2__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1032:6: ( ( rule__TIME__Group_2__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1237:6: ( ( rule__TIME__Group_2__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1238:1: ( rule__TIME__Group_2__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1032:6: ( ( rule__TIME__Group_2__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1033:1: ( rule__TIME__Group_2__0 )
                     {
-                     before(grammarAccess.getTIMEAccess().getGroup_2()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1239:1: ( rule__TIME__Group_2__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1239:2: rule__TIME__Group_2__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getTIMEAccess().getGroup_2()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1034:1: ( rule__TIME__Group_2__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1034:2: rule__TIME__Group_2__0
                     {
-                    pushFollow(FOLLOW_rule__TIME__Group_2__0_in_rule__TIME__Alternatives2527);
+                    pushFollow(FOLLOW_rule__TIME__Group_2__0_in_rule__TIME__Alternatives2134);
                     rule__TIME__Group_2__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getTIMEAccess().getGroup_2()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getTIMEAccess().getGroup_2()); 
+                    }
 
                     }
 
@@ -3493,24 +3309,28 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1243:6: ( ( rule__TIME__Group_3__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1038:6: ( ( rule__TIME__Group_3__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1243:6: ( ( rule__TIME__Group_3__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1244:1: ( rule__TIME__Group_3__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1038:6: ( ( rule__TIME__Group_3__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1039:1: ( rule__TIME__Group_3__0 )
                     {
-                     before(grammarAccess.getTIMEAccess().getGroup_3()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1245:1: ( rule__TIME__Group_3__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1245:2: rule__TIME__Group_3__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getTIMEAccess().getGroup_3()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1040:1: ( rule__TIME__Group_3__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1040:2: rule__TIME__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__TIME__Group_3__0_in_rule__TIME__Alternatives2545);
+                    pushFollow(FOLLOW_rule__TIME__Group_3__0_in_rule__TIME__Alternatives2152);
                     rule__TIME__Group_3__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getTIMEAccess().getGroup_3()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getTIMEAccess().getGroup_3()); 
+                    }
 
                     }
 
@@ -3535,56 +3355,60 @@
 
 
     // $ANTLR start "rule__Literal__Alternatives"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1254:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1049:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
     public final void rule__Literal__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1258:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
-            int alt9=3;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1053:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
+            int alt8=3;
             switch ( input.LA(1) ) {
-            case 18:
-            case 60:
+            case 15:
+            case 61:
                 {
-                alt9=1;
+                alt8=1;
                 }
                 break;
             case RULE_HEX:
             case RULE_INT:
-            case 14:
-            case 15:
-            case 57:
+            case 16:
+            case 17:
                 {
-                alt9=2;
+                alt8=2;
                 }
                 break;
             case RULE_STRING:
                 {
-                alt9=3;
+                alt8=3;
                 }
                 break;
             default:
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 9, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt9) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1259:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1054:1: ( ruleBooleanLiteral )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1259:1: ( ruleBooleanLiteral )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1260:1: ruleBooleanLiteral
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1054:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1055:1: ruleBooleanLiteral
                     {
-                     before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives2578);
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
+                    }
+                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives2185);
                     ruleBooleanLiteral();
 
                     state._fsp--;
-
-                     after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
+                    if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
+                    }
 
                     }
 
@@ -3592,18 +3416,22 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1265:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1060:6: ( ruleNumberLiteral )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1265:6: ( ruleNumberLiteral )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1266:1: ruleNumberLiteral
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1060:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1061:1: ruleNumberLiteral
                     {
-                     before(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives2595);
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
+                    }
+                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives2202);
                     ruleNumberLiteral();
 
                     state._fsp--;
-
-                     after(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
+                    if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
+                    }
 
                     }
 
@@ -3611,18 +3439,22 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1271:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1066:6: ( ruleStringLiteral )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1271:6: ( ruleStringLiteral )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1272:1: ruleStringLiteral
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1066:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1067:1: ruleStringLiteral
                     {
-                     before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives2612);
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
+                    }
+                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives2219);
                     ruleStringLiteral();
 
                     state._fsp--;
-
-                     after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
+                    if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
+                    }
 
                     }
 
@@ -3647,38 +3479,43 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Alternatives_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1282:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1077:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
     public final void rule__BooleanLiteral__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1286:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1081:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
+            int alt9=2;
+            int LA9_0 = input.LA(1);
 
-            if ( (LA10_0==18) ) {
-                alt10=1;
+            if ( (LA9_0==15) ) {
+                alt9=1;
             }
-            else if ( (LA10_0==60) ) {
-                alt10=2;
+            else if ( (LA9_0==61) ) {
+                alt9=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 9, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt9) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1287:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1082:1: ( 'false' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1287:1: ( 'false' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1288:1: 'false'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1082:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1083:1: 'false'
                     {
-                     before(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
-                    match(input,18,FOLLOW_18_in_rule__BooleanLiteral__Alternatives_12645); 
-                     after(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
+                    }
+                    match(input,15,FOLLOW_15_in_rule__BooleanLiteral__Alternatives_12252); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
+                    }
 
                     }
 
@@ -3686,24 +3523,28 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1295:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1090:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1295:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1296:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1090:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1091:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
                     {
-                     before(grammarAccess.getBooleanLiteralAccess().getIsTrueAssignment_1_1()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1297:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1297:2: rule__BooleanLiteral__IsTrueAssignment_1_1
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getBooleanLiteralAccess().getIsTrueAssignment_1_1()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1092:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1092:2: rule__BooleanLiteral__IsTrueAssignment_1_1
                     {
-                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_12664);
+                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_12271);
                     rule__BooleanLiteral__IsTrueAssignment_1_1();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getBooleanLiteralAccess().getIsTrueAssignment_1_1()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getBooleanLiteralAccess().getIsTrueAssignment_1_1()); 
+                    }
 
                     }
 
@@ -3728,72 +3569,70 @@
 
 
     // $ANTLR start "rule__NumberLiteral__Alternatives"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1306:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1101:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
     public final void rule__NumberLiteral__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1310:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
-            int alt11=2;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1105:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
+            int alt10=2;
             switch ( input.LA(1) ) {
-            case 14:
+            case 16:
                 {
-                int LA11_1 = input.LA(2);
+                int LA10_1 = input.LA(2);
 
-                if ( (LA11_1==57) ) {
-                    alt11=2;
-                }
-                else if ( (LA11_1==RULE_INT) ) {
-                    int LA11_3 = input.LA(3);
+                if ( (LA10_1==RULE_INT) ) {
+                    int LA10_3 = input.LA(3);
 
-                    if ( (LA11_3==EOF) ) {
-                        alt11=1;
+                    if ( (LA10_3==58) ) {
+                        alt10=2;
                     }
-                    else if ( (LA11_3==57) ) {
-                        alt11=2;
+                    else if ( (LA10_3==EOF) ) {
+                        alt10=1;
                     }
                     else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 11, 3, input);
+                            new NoViableAltException("", 10, 3, input);
 
                         throw nvae;
                     }
                 }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 11, 1, input);
+                        new NoViableAltException("", 10, 1, input);
 
                     throw nvae;
                 }
                 }
                 break;
-            case 15:
+            case 17:
                 {
-                int LA11_2 = input.LA(2);
+                int LA10_2 = input.LA(2);
 
-                if ( (LA11_2==RULE_INT) ) {
-                    int LA11_3 = input.LA(3);
+                if ( (LA10_2==RULE_INT) ) {
+                    int LA10_3 = input.LA(3);
 
-                    if ( (LA11_3==EOF) ) {
-                        alt11=1;
+                    if ( (LA10_3==58) ) {
+                        alt10=2;
                     }
-                    else if ( (LA11_3==57) ) {
-                        alt11=2;
+                    else if ( (LA10_3==EOF) ) {
+                        alt10=1;
                     }
                     else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 11, 3, input);
+                            new NoViableAltException("", 10, 3, input);
 
                         throw nvae;
                     }
                 }
-                else if ( (LA11_2==57) ) {
-                    alt11=2;
-                }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 11, 2, input);
+                        new NoViableAltException("", 10, 2, input);
 
                     throw nvae;
                 }
@@ -3801,17 +3640,18 @@
                 break;
             case RULE_INT:
                 {
-                int LA11_3 = input.LA(2);
+                int LA10_3 = input.LA(2);
 
-                if ( (LA11_3==EOF) ) {
-                    alt11=1;
+                if ( (LA10_3==58) ) {
+                    alt10=2;
                 }
-                else if ( (LA11_3==57) ) {
-                    alt11=2;
+                else if ( (LA10_3==EOF) ) {
+                    alt10=1;
                 }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 11, 3, input);
+                        new NoViableAltException("", 10, 3, input);
 
                     throw nvae;
                 }
@@ -3819,35 +3659,35 @@
                 break;
             case RULE_HEX:
                 {
-                alt11=1;
-                }
-                break;
-            case 57:
-                {
-                alt11=2;
+                alt10=1;
                 }
                 break;
             default:
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 11, 0, input);
+                    new NoViableAltException("", 10, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt11) {
+            switch (alt10) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1311:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1106:1: ( ruleIntLiteral )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1311:1: ( ruleIntLiteral )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1312:1: ruleIntLiteral
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1106:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1107:1: ruleIntLiteral
                     {
-                     before(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives2697);
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
+                    }
+                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives2304);
                     ruleIntLiteral();
 
                     state._fsp--;
-
-                     after(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
+                    if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
+                    }
 
                     }
 
@@ -3855,18 +3695,22 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1317:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1112:6: ( ruleRealLiteral )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1317:6: ( ruleRealLiteral )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1318:1: ruleRealLiteral
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1112:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1113:1: ruleRealLiteral
                     {
-                     before(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives2714);
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
+                    }
+                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives2321);
                     ruleRealLiteral();
 
                     state._fsp--;
-
-                     after(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
+                    if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
+                    }
 
                     }
 
@@ -3891,42 +3735,53 @@
 
 
     // $ANTLR start "rule__Integer__Alternatives"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1328:1: rule__Integer__Alternatives : ( ( ruleSignedInteger ) | ( ruleHexadecimal ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1123:1: rule__Integer__Alternatives : ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) );
     public final void rule__Integer__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1332:1: ( ( ruleSignedInteger ) | ( ruleHexadecimal ) )
-            int alt12=2;
-            int LA12_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1127:1: ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) )
+            int alt11=2;
+            int LA11_0 = input.LA(1);
 
-            if ( (LA12_0==RULE_INT||(LA12_0>=14 && LA12_0<=15)) ) {
-                alt12=1;
+            if ( (LA11_0==RULE_INT||(LA11_0>=16 && LA11_0<=17)) ) {
+                alt11=1;
             }
-            else if ( (LA12_0==RULE_HEX) ) {
-                alt12=2;
+            else if ( (LA11_0==RULE_HEX) ) {
+                alt11=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 12, 0, input);
+                    new NoViableAltException("", 11, 0, input);
 
                 throw nvae;
             }
-            switch (alt12) {
+            switch (alt11) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1333:1: ( ruleSignedInteger )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1128:1: ( ( rule__Integer__Group_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1333:1: ( ruleSignedInteger )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1334:1: ruleSignedInteger
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1128:1: ( ( rule__Integer__Group_0__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1129:1: ( rule__Integer__Group_0__0 )
                     {
-                     before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives2746);
-                    ruleSignedInteger();
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getIntegerAccess().getGroup_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1130:1: ( rule__Integer__Group_0__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1130:2: rule__Integer__Group_0__0
+                    {
+                    pushFollow(FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives2353);
+                    rule__Integer__Group_0__0();
 
                     state._fsp--;
+                    if (state.failed) return ;
 
-                     after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getIntegerAccess().getGroup_0()); 
+                    }
 
                     }
 
@@ -3934,18 +3789,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1339:6: ( ruleHexadecimal )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1134:6: ( RULE_HEX )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1339:6: ( ruleHexadecimal )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1340:1: ruleHexadecimal
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1134:6: ( RULE_HEX )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1135:1: RULE_HEX
                     {
-                     before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives2763);
-                    ruleHexadecimal();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
+                    }
+                    match(input,RULE_HEX,FOLLOW_RULE_HEX_in_rule__Integer__Alternatives2371); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
+                    }
 
                     }
 
@@ -3969,39 +3824,44 @@
     // $ANTLR end "rule__Integer__Alternatives"
 
 
-    // $ANTLR start "rule__SignedInteger__Alternatives_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1350:1: rule__SignedInteger__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__SignedInteger__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Alternatives_0_0"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1145:1: rule__Integer__Alternatives_0_0 : ( ( '+' ) | ( '-' ) );
+    public final void rule__Integer__Alternatives_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1354:1: ( ( '+' ) | ( '-' ) )
-            int alt13=2;
-            int LA13_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1149:1: ( ( '+' ) | ( '-' ) )
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA13_0==14) ) {
-                alt13=1;
+            if ( (LA12_0==16) ) {
+                alt12=1;
             }
-            else if ( (LA13_0==15) ) {
-                alt13=2;
+            else if ( (LA12_0==17) ) {
+                alt12=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 13, 0, input);
+                    new NoViableAltException("", 12, 0, input);
 
                 throw nvae;
             }
-            switch (alt13) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1355:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1150:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1355:1: ( '+' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1356:1: '+'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1150:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1151:1: '+'
                     {
-                     before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                    match(input,14,FOLLOW_14_in_rule__SignedInteger__Alternatives_02796); 
-                     after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                    }
+                    match(input,16,FOLLOW_16_in_rule__Integer__Alternatives_0_02404); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                    }
 
                     }
 
@@ -4009,14 +3869,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1363:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1158:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1363:6: ( '-' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1364:1: '-'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1158:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1159:1: '-'
                     {
-                     before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,15,FOLLOW_15_in_rule__SignedInteger__Alternatives_02816); 
-                     after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                    }
+                    match(input,17,FOLLOW_17_in_rule__Integer__Alternatives_0_02424); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                    }
 
                     }
 
@@ -4037,33 +3901,190 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Alternatives_0"
+    // $ANTLR end "rule__Integer__Alternatives_0_0"
 
 
     // $ANTLR start "rule__Real__Alternatives"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1376:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1171:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDecimalExp ) );
     public final void rule__Real__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1380:1: ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) )
-            int alt14=4;
-            alt14 = dfa14.predict(input);
-            switch (alt14) {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1175:1: ( ( ruleDecimal ) | ( ruleDecimalExp ) )
+            int alt13=2;
+            switch ( input.LA(1) ) {
+            case 16:
+                {
+                int LA13_1 = input.LA(2);
+
+                if ( (LA13_1==RULE_INT) ) {
+                    int LA13_3 = input.LA(3);
+
+                    if ( (LA13_3==58) ) {
+                        int LA13_4 = input.LA(4);
+
+                        if ( (LA13_4==RULE_INT) ) {
+                            int LA13_5 = input.LA(5);
+
+                            if ( (LA13_5==EOF) ) {
+                                alt13=1;
+                            }
+                            else if ( ((LA13_5>=18 && LA13_5<=19)) ) {
+                                alt13=2;
+                            }
+                            else {
+                                if (state.backtracking>0) {state.failed=true; return ;}
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 13, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return ;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 13, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 13, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 13, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 17:
+                {
+                int LA13_2 = input.LA(2);
+
+                if ( (LA13_2==RULE_INT) ) {
+                    int LA13_3 = input.LA(3);
+
+                    if ( (LA13_3==58) ) {
+                        int LA13_4 = input.LA(4);
+
+                        if ( (LA13_4==RULE_INT) ) {
+                            int LA13_5 = input.LA(5);
+
+                            if ( (LA13_5==EOF) ) {
+                                alt13=1;
+                            }
+                            else if ( ((LA13_5>=18 && LA13_5<=19)) ) {
+                                alt13=2;
+                            }
+                            else {
+                                if (state.backtracking>0) {state.failed=true; return ;}
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 13, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return ;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 13, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 13, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 13, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA13_3 = input.LA(2);
+
+                if ( (LA13_3==58) ) {
+                    int LA13_4 = input.LA(3);
+
+                    if ( (LA13_4==RULE_INT) ) {
+                        int LA13_5 = input.LA(4);
+
+                        if ( (LA13_5==EOF) ) {
+                            alt13=1;
+                        }
+                        else if ( ((LA13_5>=18 && LA13_5<=19)) ) {
+                            alt13=2;
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return ;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 13, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return ;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 13, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return ;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 13, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 13, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt13) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1381:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1176:1: ( ruleDecimal )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1381:1: ( ruleDecimal )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1382:1: ruleDecimal
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1176:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1177:1: ruleDecimal
                     {
-                     before(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives2850);
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
+                    }
+                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives2458);
                     ruleDecimal();
 
                     state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
+                    if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
+                    }
 
                     }
 
@@ -4071,56 +4092,22 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1387:6: ( ruleDotDecimal )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1182:6: ( ruleDecimalExp )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1387:6: ( ruleDotDecimal )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1388:1: ruleDotDecimal
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1182:6: ( ruleDecimalExp )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1183:1: ruleDecimalExp
                     {
-                     before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives2867);
-                    ruleDotDecimal();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
                     }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1393:6: ( ruleDecimalDot )
-                    {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1393:6: ( ruleDecimalDot )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1394:1: ruleDecimalDot
-                    {
-                     before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives2884);
-                    ruleDecimalDot();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1399:6: ( ruleDecimalExp )
-                    {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1399:6: ( ruleDecimalExp )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1400:1: ruleDecimalExp
-                    {
-                     before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives2901);
+                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives2475);
                     ruleDecimalExp();
 
                     state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
+                    if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
+                    }
 
                     }
 
@@ -4145,38 +4132,43 @@
 
 
     // $ANTLR start "rule__Decimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1410:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1193:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
     public final void rule__Decimal__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1414:1: ( ( '+' ) | ( '-' ) )
-            int alt15=2;
-            int LA15_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1197:1: ( ( '+' ) | ( '-' ) )
+            int alt14=2;
+            int LA14_0 = input.LA(1);
 
-            if ( (LA15_0==14) ) {
-                alt15=1;
+            if ( (LA14_0==16) ) {
+                alt14=1;
             }
-            else if ( (LA15_0==15) ) {
-                alt15=2;
+            else if ( (LA14_0==17) ) {
+                alt14=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 15, 0, input);
+                    new NoViableAltException("", 14, 0, input);
 
                 throw nvae;
             }
-            switch (alt15) {
+            switch (alt14) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1415:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1198:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1415:1: ( '+' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1416:1: '+'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1198:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1199:1: '+'
                     {
-                     before(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
-                    match(input,14,FOLLOW_14_in_rule__Decimal__Alternatives_02934); 
-                     after(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
+                    }
+                    match(input,16,FOLLOW_16_in_rule__Decimal__Alternatives_02508); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
+                    }
 
                     }
 
@@ -4184,14 +4176,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1423:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1206:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1423:6: ( '-' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1424:1: '-'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1206:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1207:1: '-'
                     {
-                     before(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,15,FOLLOW_15_in_rule__Decimal__Alternatives_02954); 
-                     after(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
+                    }
+                    match(input,17,FOLLOW_17_in_rule__Decimal__Alternatives_02528); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
+                    }
 
                     }
 
@@ -4215,181 +4211,44 @@
     // $ANTLR end "rule__Decimal__Alternatives_0"
 
 
-    // $ANTLR start "rule__DotDecimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1436:1: rule__DotDecimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DotDecimal__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1440:1: ( ( '+' ) | ( '-' ) )
-            int alt16=2;
-            int LA16_0 = input.LA(1);
-
-            if ( (LA16_0==14) ) {
-                alt16=1;
-            }
-            else if ( (LA16_0==15) ) {
-                alt16=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 16, 0, input);
-
-                throw nvae;
-            }
-            switch (alt16) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1441:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1441:1: ( '+' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1442:1: '+'
-                    {
-                     before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                    match(input,14,FOLLOW_14_in_rule__DotDecimal__Alternatives_02989); 
-                     after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1449:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1449:6: ( '-' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1450:1: '-'
-                    {
-                     before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,15,FOLLOW_15_in_rule__DotDecimal__Alternatives_03009); 
-                     after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Alternatives_0"
-
-
-    // $ANTLR start "rule__DecimalDot__Alternatives_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1462:1: rule__DecimalDot__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DecimalDot__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1466:1: ( ( '+' ) | ( '-' ) )
-            int alt17=2;
-            int LA17_0 = input.LA(1);
-
-            if ( (LA17_0==14) ) {
-                alt17=1;
-            }
-            else if ( (LA17_0==15) ) {
-                alt17=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 17, 0, input);
-
-                throw nvae;
-            }
-            switch (alt17) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1467:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1467:1: ( '+' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1468:1: '+'
-                    {
-                     before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                    match(input,14,FOLLOW_14_in_rule__DecimalDot__Alternatives_03044); 
-                     after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1475:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1475:6: ( '-' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1476:1: '-'
-                    {
-                     before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,15,FOLLOW_15_in_rule__DecimalDot__Alternatives_03064); 
-                     after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Alternatives_0"
-
-
     // $ANTLR start "rule__DecimalExp__Alternatives_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1488:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1219:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
     public final void rule__DecimalExp__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1492:1: ( ( '+' ) | ( '-' ) )
-            int alt18=2;
-            int LA18_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1223:1: ( ( '+' ) | ( '-' ) )
+            int alt15=2;
+            int LA15_0 = input.LA(1);
 
-            if ( (LA18_0==14) ) {
-                alt18=1;
+            if ( (LA15_0==16) ) {
+                alt15=1;
             }
-            else if ( (LA18_0==15) ) {
-                alt18=2;
+            else if ( (LA15_0==17) ) {
+                alt15=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 18, 0, input);
+                    new NoViableAltException("", 15, 0, input);
 
                 throw nvae;
             }
-            switch (alt18) {
+            switch (alt15) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1493:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1224:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1493:1: ( '+' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1494:1: '+'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1224:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1225:1: '+'
                     {
-                     before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
-                    match(input,14,FOLLOW_14_in_rule__DecimalExp__Alternatives_03099); 
-                     after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
+                    }
+                    match(input,16,FOLLOW_16_in_rule__DecimalExp__Alternatives_02563); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
+                    }
 
                     }
 
@@ -4397,14 +4256,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1501:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1232:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1501:6: ( '-' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1502:1: '-'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1232:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1233:1: '-'
                     {
-                     before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,15,FOLLOW_15_in_rule__DecimalExp__Alternatives_03119); 
-                     after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
+                    }
+                    match(input,17,FOLLOW_17_in_rule__DecimalExp__Alternatives_02583); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
+                    }
 
                     }
 
@@ -4428,54 +4291,44 @@
     // $ANTLR end "rule__DecimalExp__Alternatives_0"
 
 
-    // $ANTLR start "rule__ExecMode__Alternatives"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1514:1: rule__ExecMode__Alternatives : ( ( ( 'polled' ) ) | ( ( 'blocked' ) ) | ( ( 'mixed' ) ) );
-    public final void rule__ExecMode__Alternatives() throws RecognitionException {
+    // $ANTLR start "rule__DecimalExp__Alternatives_4"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1245:1: rule__DecimalExp__Alternatives_4 : ( ( 'e' ) | ( 'E' ) );
+    public final void rule__DecimalExp__Alternatives_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1518:1: ( ( ( 'polled' ) ) | ( ( 'blocked' ) ) | ( ( 'mixed' ) ) )
-            int alt19=3;
-            switch ( input.LA(1) ) {
-            case 19:
-                {
-                alt19=1;
-                }
-                break;
-            case 20:
-                {
-                alt19=2;
-                }
-                break;
-            case 21:
-                {
-                alt19=3;
-                }
-                break;
-            default:
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1249:1: ( ( 'e' ) | ( 'E' ) )
+            int alt16=2;
+            int LA16_0 = input.LA(1);
+
+            if ( (LA16_0==18) ) {
+                alt16=1;
+            }
+            else if ( (LA16_0==19) ) {
+                alt16=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 19, 0, input);
+                    new NoViableAltException("", 16, 0, input);
 
                 throw nvae;
             }
-
-            switch (alt19) {
+            switch (alt16) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1519:1: ( ( 'polled' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1250:1: ( 'e' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1519:1: ( ( 'polled' ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1520:1: ( 'polled' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1250:1: ( 'e' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1251:1: 'e'
                     {
-                     before(grammarAccess.getExecModeAccess().getPOLLEDEnumLiteralDeclaration_0()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1521:1: ( 'polled' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1521:3: 'polled'
-                    {
-                    match(input,19,FOLLOW_19_in_rule__ExecMode__Alternatives3154); 
-
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
                     }
-
-                     after(grammarAccess.getExecModeAccess().getPOLLEDEnumLiteralDeclaration_0()); 
+                    match(input,18,FOLLOW_18_in_rule__DecimalExp__Alternatives_42618); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                    }
 
                     }
 
@@ -4483,20 +4336,199 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1526:6: ( ( 'blocked' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1258:6: ( 'E' )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1526:6: ( ( 'blocked' ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1527:1: ( 'blocked' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1258:6: ( 'E' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1259:1: 'E'
                     {
-                     before(grammarAccess.getExecModeAccess().getBLOCKEDEnumLiteralDeclaration_1()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1528:1: ( 'blocked' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1528:3: 'blocked'
-                    {
-                    match(input,20,FOLLOW_20_in_rule__ExecMode__Alternatives3175); 
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                    }
+                    match(input,19,FOLLOW_19_in_rule__DecimalExp__Alternatives_42638); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                    }
 
                     }
 
-                     after(grammarAccess.getExecModeAccess().getBLOCKEDEnumLiteralDeclaration_1()); 
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_4"
+
+
+    // $ANTLR start "rule__DecimalExp__Alternatives_5"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1271:1: rule__DecimalExp__Alternatives_5 : ( ( '+' ) | ( '-' ) );
+    public final void rule__DecimalExp__Alternatives_5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1275:1: ( ( '+' ) | ( '-' ) )
+            int alt17=2;
+            int LA17_0 = input.LA(1);
+
+            if ( (LA17_0==16) ) {
+                alt17=1;
+            }
+            else if ( (LA17_0==17) ) {
+                alt17=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 17, 0, input);
+
+                throw nvae;
+            }
+            switch (alt17) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1276:1: ( '+' )
+                    {
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1276:1: ( '+' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1277:1: '+'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                    }
+                    match(input,16,FOLLOW_16_in_rule__DecimalExp__Alternatives_52673); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1284:6: ( '-' )
+                    {
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1284:6: ( '-' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1285:1: '-'
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                    }
+                    match(input,17,FOLLOW_17_in_rule__DecimalExp__Alternatives_52693); if (state.failed) return ;
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_5"
+
+
+    // $ANTLR start "rule__ExecMode__Alternatives"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1297:1: rule__ExecMode__Alternatives : ( ( ( 'polled' ) ) | ( ( 'blocked' ) ) | ( ( 'mixed' ) ) );
+    public final void rule__ExecMode__Alternatives() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1301:1: ( ( ( 'polled' ) ) | ( ( 'blocked' ) ) | ( ( 'mixed' ) ) )
+            int alt18=3;
+            switch ( input.LA(1) ) {
+            case 20:
+                {
+                alt18=1;
+                }
+                break;
+            case 21:
+                {
+                alt18=2;
+                }
+                break;
+            case 22:
+                {
+                alt18=3;
+                }
+                break;
+            default:
+                if (state.backtracking>0) {state.failed=true; return ;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 18, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt18) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1302:1: ( ( 'polled' ) )
+                    {
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1302:1: ( ( 'polled' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1303:1: ( 'polled' )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getExecModeAccess().getPOLLEDEnumLiteralDeclaration_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1304:1: ( 'polled' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1304:3: 'polled'
+                    {
+                    match(input,20,FOLLOW_20_in_rule__ExecMode__Alternatives2728); if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getExecModeAccess().getPOLLEDEnumLiteralDeclaration_0()); 
+                    }
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1309:6: ( ( 'blocked' ) )
+                    {
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1309:6: ( ( 'blocked' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1310:1: ( 'blocked' )
+                    {
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getExecModeAccess().getBLOCKEDEnumLiteralDeclaration_1()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1311:1: ( 'blocked' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1311:3: 'blocked'
+                    {
+                    match(input,21,FOLLOW_21_in_rule__ExecMode__Alternatives2749); if (state.failed) return ;
+
+                    }
+
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getExecModeAccess().getBLOCKEDEnumLiteralDeclaration_1()); 
+                    }
 
                     }
 
@@ -4504,20 +4536,24 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1533:6: ( ( 'mixed' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1316:6: ( ( 'mixed' ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1533:6: ( ( 'mixed' ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1534:1: ( 'mixed' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1316:6: ( ( 'mixed' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1317:1: ( 'mixed' )
                     {
-                     before(grammarAccess.getExecModeAccess().getMIXEDEnumLiteralDeclaration_2()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1535:1: ( 'mixed' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1535:3: 'mixed'
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getExecModeAccess().getMIXEDEnumLiteralDeclaration_2()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1318:1: ( 'mixed' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1318:3: 'mixed'
                     {
-                    match(input,21,FOLLOW_21_in_rule__ExecMode__Alternatives3196); 
+                    match(input,22,FOLLOW_22_in_rule__ExecMode__Alternatives2770); if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getExecModeAccess().getMIXEDEnumLiteralDeclaration_2()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getExecModeAccess().getMIXEDEnumLiteralDeclaration_2()); 
+                    }
 
                     }
 
@@ -4542,44 +4578,49 @@
 
 
     // $ANTLR start "rule__ThreadModel__Alternatives"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1545:1: rule__ThreadModel__Alternatives : ( ( ( 'singleThreaded' ) ) | ( ( 'multiThreaded' ) ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1328:1: rule__ThreadModel__Alternatives : ( ( ( 'singleThreaded' ) ) | ( ( 'multiThreaded' ) ) );
     public final void rule__ThreadModel__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1549:1: ( ( ( 'singleThreaded' ) ) | ( ( 'multiThreaded' ) ) )
-            int alt20=2;
-            int LA20_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1332:1: ( ( ( 'singleThreaded' ) ) | ( ( 'multiThreaded' ) ) )
+            int alt19=2;
+            int LA19_0 = input.LA(1);
 
-            if ( (LA20_0==22) ) {
-                alt20=1;
+            if ( (LA19_0==23) ) {
+                alt19=1;
             }
-            else if ( (LA20_0==23) ) {
-                alt20=2;
+            else if ( (LA19_0==24) ) {
+                alt19=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 20, 0, input);
+                    new NoViableAltException("", 19, 0, input);
 
                 throw nvae;
             }
-            switch (alt20) {
+            switch (alt19) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1550:1: ( ( 'singleThreaded' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1333:1: ( ( 'singleThreaded' ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1550:1: ( ( 'singleThreaded' ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1551:1: ( 'singleThreaded' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1333:1: ( ( 'singleThreaded' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1334:1: ( 'singleThreaded' )
                     {
-                     before(grammarAccess.getThreadModelAccess().getSINGLE_THREADEDEnumLiteralDeclaration_0()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1552:1: ( 'singleThreaded' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1552:3: 'singleThreaded'
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getThreadModelAccess().getSINGLE_THREADEDEnumLiteralDeclaration_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1335:1: ( 'singleThreaded' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1335:3: 'singleThreaded'
                     {
-                    match(input,22,FOLLOW_22_in_rule__ThreadModel__Alternatives3232); 
+                    match(input,23,FOLLOW_23_in_rule__ThreadModel__Alternatives2806); if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getThreadModelAccess().getSINGLE_THREADEDEnumLiteralDeclaration_0()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getThreadModelAccess().getSINGLE_THREADEDEnumLiteralDeclaration_0()); 
+                    }
 
                     }
 
@@ -4587,20 +4628,24 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1557:6: ( ( 'multiThreaded' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1340:6: ( ( 'multiThreaded' ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1557:6: ( ( 'multiThreaded' ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1558:1: ( 'multiThreaded' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1340:6: ( ( 'multiThreaded' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1341:1: ( 'multiThreaded' )
                     {
-                     before(grammarAccess.getThreadModelAccess().getMULTI_THREADEDEnumLiteralDeclaration_1()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1559:1: ( 'multiThreaded' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1559:3: 'multiThreaded'
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getThreadModelAccess().getMULTI_THREADEDEnumLiteralDeclaration_1()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1342:1: ( 'multiThreaded' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1342:3: 'multiThreaded'
                     {
-                    match(input,23,FOLLOW_23_in_rule__ThreadModel__Alternatives3253); 
+                    match(input,24,FOLLOW_24_in_rule__ThreadModel__Alternatives2827); if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getThreadModelAccess().getMULTI_THREADEDEnumLiteralDeclaration_1()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getThreadModelAccess().getMULTI_THREADEDEnumLiteralDeclaration_1()); 
+                    }
 
                     }
 
@@ -4625,58 +4670,63 @@
 
 
     // $ANTLR start "rule__LiteralType__Alternatives"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1569:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1352:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
     public final void rule__LiteralType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1573:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
-            int alt21=4;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1356:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
+            int alt20=4;
             switch ( input.LA(1) ) {
-            case 24:
-                {
-                alt21=1;
-                }
-                break;
             case 25:
                 {
-                alt21=2;
+                alt20=1;
                 }
                 break;
             case 26:
                 {
-                alt21=3;
+                alt20=2;
                 }
                 break;
             case 27:
                 {
-                alt21=4;
+                alt20=3;
+                }
+                break;
+            case 28:
+                {
+                alt20=4;
                 }
                 break;
             default:
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 21, 0, input);
+                    new NoViableAltException("", 20, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt21) {
+            switch (alt20) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1574:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1357:1: ( ( 'ptBoolean' ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1574:1: ( ( 'ptBoolean' ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1575:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1357:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1358:1: ( 'ptBoolean' )
                     {
-                     before(grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1576:1: ( 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1576:3: 'ptBoolean'
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1359:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1359:3: 'ptBoolean'
                     {
-                    match(input,24,FOLLOW_24_in_rule__LiteralType__Alternatives3289); 
+                    match(input,25,FOLLOW_25_in_rule__LiteralType__Alternatives2863); if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
+                    }
 
                     }
 
@@ -4684,20 +4734,24 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1581:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1364:6: ( ( 'ptInteger' ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1581:6: ( ( 'ptInteger' ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1582:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1364:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1365:1: ( 'ptInteger' )
                     {
-                     before(grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1583:1: ( 'ptInteger' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1583:3: 'ptInteger'
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1366:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1366:3: 'ptInteger'
                     {
-                    match(input,25,FOLLOW_25_in_rule__LiteralType__Alternatives3310); 
+                    match(input,26,FOLLOW_26_in_rule__LiteralType__Alternatives2884); if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
+                    }
 
                     }
 
@@ -4705,20 +4759,24 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1588:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1371:6: ( ( 'ptReal' ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1588:6: ( ( 'ptReal' ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1589:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1371:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1372:1: ( 'ptReal' )
                     {
-                     before(grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1590:1: ( 'ptReal' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1590:3: 'ptReal'
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1373:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1373:3: 'ptReal'
                     {
-                    match(input,26,FOLLOW_26_in_rule__LiteralType__Alternatives3331); 
+                    match(input,27,FOLLOW_27_in_rule__LiteralType__Alternatives2905); if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
+                    }
 
                     }
 
@@ -4726,20 +4784,24 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1595:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1378:6: ( ( 'ptCharacter' ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1595:6: ( ( 'ptCharacter' ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1596:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1378:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1379:1: ( 'ptCharacter' )
                     {
-                     before(grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1597:1: ( 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1597:3: 'ptCharacter'
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1380:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1380:3: 'ptCharacter'
                     {
-                    match(input,27,FOLLOW_27_in_rule__LiteralType__Alternatives3352); 
+                    match(input,28,FOLLOW_28_in_rule__LiteralType__Alternatives2926); if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
+                    }
 
                     }
 
@@ -4764,25 +4826,25 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1609:1: rule__PhysicalModel__Group__0 : rule__PhysicalModel__Group__0__Impl rule__PhysicalModel__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1392:1: rule__PhysicalModel__Group__0 : rule__PhysicalModel__Group__0__Impl rule__PhysicalModel__Group__1 ;
     public final void rule__PhysicalModel__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1613:1: ( rule__PhysicalModel__Group__0__Impl rule__PhysicalModel__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1614:2: rule__PhysicalModel__Group__0__Impl rule__PhysicalModel__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1396:1: ( rule__PhysicalModel__Group__0__Impl rule__PhysicalModel__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1397:2: rule__PhysicalModel__Group__0__Impl rule__PhysicalModel__Group__1
             {
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__0__Impl_in_rule__PhysicalModel__Group__03385);
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__0__Impl_in_rule__PhysicalModel__Group__02959);
             rule__PhysicalModel__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__1_in_rule__PhysicalModel__Group__03388);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__1_in_rule__PhysicalModel__Group__02962);
             rule__PhysicalModel__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -4802,21 +4864,25 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1621:1: rule__PhysicalModel__Group__0__Impl : ( 'PhysicalModel' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1404:1: rule__PhysicalModel__Group__0__Impl : ( 'PhysicalModel' ) ;
     public final void rule__PhysicalModel__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1625:1: ( ( 'PhysicalModel' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1626:1: ( 'PhysicalModel' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1408:1: ( ( 'PhysicalModel' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1409:1: ( 'PhysicalModel' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1626:1: ( 'PhysicalModel' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1627:1: 'PhysicalModel'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1409:1: ( 'PhysicalModel' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1410:1: 'PhysicalModel'
             {
-             before(grammarAccess.getPhysicalModelAccess().getPhysicalModelKeyword_0()); 
-            match(input,28,FOLLOW_28_in_rule__PhysicalModel__Group__0__Impl3416); 
-             after(grammarAccess.getPhysicalModelAccess().getPhysicalModelKeyword_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getPhysicalModelKeyword_0()); 
+            }
+            match(input,29,FOLLOW_29_in_rule__PhysicalModel__Group__0__Impl2990); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getPhysicalModelKeyword_0()); 
+            }
 
             }
 
@@ -4839,25 +4905,25 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1640:1: rule__PhysicalModel__Group__1 : rule__PhysicalModel__Group__1__Impl rule__PhysicalModel__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1423:1: rule__PhysicalModel__Group__1 : rule__PhysicalModel__Group__1__Impl rule__PhysicalModel__Group__2 ;
     public final void rule__PhysicalModel__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1644:1: ( rule__PhysicalModel__Group__1__Impl rule__PhysicalModel__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1645:2: rule__PhysicalModel__Group__1__Impl rule__PhysicalModel__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1427:1: ( rule__PhysicalModel__Group__1__Impl rule__PhysicalModel__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1428:2: rule__PhysicalModel__Group__1__Impl rule__PhysicalModel__Group__2
             {
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__1__Impl_in_rule__PhysicalModel__Group__13447);
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__1__Impl_in_rule__PhysicalModel__Group__13021);
             rule__PhysicalModel__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__2_in_rule__PhysicalModel__Group__13450);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__2_in_rule__PhysicalModel__Group__13024);
             rule__PhysicalModel__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -4877,31 +4943,35 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1652:1: rule__PhysicalModel__Group__1__Impl : ( ( rule__PhysicalModel__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1435:1: rule__PhysicalModel__Group__1__Impl : ( ( rule__PhysicalModel__NameAssignment_1 ) ) ;
     public final void rule__PhysicalModel__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1656:1: ( ( ( rule__PhysicalModel__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1657:1: ( ( rule__PhysicalModel__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1439:1: ( ( ( rule__PhysicalModel__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1440:1: ( ( rule__PhysicalModel__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1657:1: ( ( rule__PhysicalModel__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1658:1: ( rule__PhysicalModel__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1440:1: ( ( rule__PhysicalModel__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1441:1: ( rule__PhysicalModel__NameAssignment_1 )
             {
-             before(grammarAccess.getPhysicalModelAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1659:1: ( rule__PhysicalModel__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1659:2: rule__PhysicalModel__NameAssignment_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getNameAssignment_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1442:1: ( rule__PhysicalModel__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1442:2: rule__PhysicalModel__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__PhysicalModel__NameAssignment_1_in_rule__PhysicalModel__Group__1__Impl3477);
+            pushFollow(FOLLOW_rule__PhysicalModel__NameAssignment_1_in_rule__PhysicalModel__Group__1__Impl3051);
             rule__PhysicalModel__NameAssignment_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalModelAccess().getNameAssignment_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getNameAssignment_1()); 
+            }
 
             }
 
@@ -4924,25 +4994,25 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1669:1: rule__PhysicalModel__Group__2 : rule__PhysicalModel__Group__2__Impl rule__PhysicalModel__Group__3 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1452:1: rule__PhysicalModel__Group__2 : rule__PhysicalModel__Group__2__Impl rule__PhysicalModel__Group__3 ;
     public final void rule__PhysicalModel__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1673:1: ( rule__PhysicalModel__Group__2__Impl rule__PhysicalModel__Group__3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1674:2: rule__PhysicalModel__Group__2__Impl rule__PhysicalModel__Group__3
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1456:1: ( rule__PhysicalModel__Group__2__Impl rule__PhysicalModel__Group__3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1457:2: rule__PhysicalModel__Group__2__Impl rule__PhysicalModel__Group__3
             {
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__2__Impl_in_rule__PhysicalModel__Group__23507);
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__2__Impl_in_rule__PhysicalModel__Group__23081);
             rule__PhysicalModel__Group__2__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__3_in_rule__PhysicalModel__Group__23510);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__3_in_rule__PhysicalModel__Group__23084);
             rule__PhysicalModel__Group__3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -4962,21 +5032,25 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1681:1: rule__PhysicalModel__Group__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1464:1: rule__PhysicalModel__Group__2__Impl : ( '{' ) ;
     public final void rule__PhysicalModel__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1685:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1686:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1468:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1469:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1686:1: ( '{' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1687:1: '{'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1469:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1470:1: '{'
             {
-             before(grammarAccess.getPhysicalModelAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,29,FOLLOW_29_in_rule__PhysicalModel__Group__2__Impl3538); 
-             after(grammarAccess.getPhysicalModelAccess().getLeftCurlyBracketKeyword_2()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getLeftCurlyBracketKeyword_2()); 
+            }
+            match(input,30,FOLLOW_30_in_rule__PhysicalModel__Group__2__Impl3112); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getLeftCurlyBracketKeyword_2()); 
+            }
 
             }
 
@@ -4999,25 +5073,25 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1700:1: rule__PhysicalModel__Group__3 : rule__PhysicalModel__Group__3__Impl rule__PhysicalModel__Group__4 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1483:1: rule__PhysicalModel__Group__3 : rule__PhysicalModel__Group__3__Impl rule__PhysicalModel__Group__4 ;
     public final void rule__PhysicalModel__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1704:1: ( rule__PhysicalModel__Group__3__Impl rule__PhysicalModel__Group__4 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1705:2: rule__PhysicalModel__Group__3__Impl rule__PhysicalModel__Group__4
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1487:1: ( rule__PhysicalModel__Group__3__Impl rule__PhysicalModel__Group__4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1488:2: rule__PhysicalModel__Group__3__Impl rule__PhysicalModel__Group__4
             {
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__3__Impl_in_rule__PhysicalModel__Group__33569);
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__3__Impl_in_rule__PhysicalModel__Group__33143);
             rule__PhysicalModel__Group__3__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__4_in_rule__PhysicalModel__Group__33572);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__4_in_rule__PhysicalModel__Group__33146);
             rule__PhysicalModel__Group__4();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5037,49 +5111,53 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1712:1: rule__PhysicalModel__Group__3__Impl : ( ( rule__PhysicalModel__ImportsAssignment_3 )* ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1495:1: rule__PhysicalModel__Group__3__Impl : ( ( rule__PhysicalModel__ImportsAssignment_3 )* ) ;
     public final void rule__PhysicalModel__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1716:1: ( ( ( rule__PhysicalModel__ImportsAssignment_3 )* ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1717:1: ( ( rule__PhysicalModel__ImportsAssignment_3 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1499:1: ( ( ( rule__PhysicalModel__ImportsAssignment_3 )* ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1500:1: ( ( rule__PhysicalModel__ImportsAssignment_3 )* )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1717:1: ( ( rule__PhysicalModel__ImportsAssignment_3 )* )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1718:1: ( rule__PhysicalModel__ImportsAssignment_3 )*
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1500:1: ( ( rule__PhysicalModel__ImportsAssignment_3 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1501:1: ( rule__PhysicalModel__ImportsAssignment_3 )*
             {
-             before(grammarAccess.getPhysicalModelAccess().getImportsAssignment_3()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1719:1: ( rule__PhysicalModel__ImportsAssignment_3 )*
-            loop22:
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getImportsAssignment_3()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1502:1: ( rule__PhysicalModel__ImportsAssignment_3 )*
+            loop21:
             do {
-                int alt22=2;
-                int LA22_0 = input.LA(1);
+                int alt21=2;
+                int LA21_0 = input.LA(1);
 
-                if ( (LA22_0==48) ) {
-                    alt22=1;
+                if ( (LA21_0==49) ) {
+                    alt21=1;
                 }
 
 
-                switch (alt22) {
+                switch (alt21) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1719:2: rule__PhysicalModel__ImportsAssignment_3
+            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1502:2: rule__PhysicalModel__ImportsAssignment_3
             	    {
-            	    pushFollow(FOLLOW_rule__PhysicalModel__ImportsAssignment_3_in_rule__PhysicalModel__Group__3__Impl3599);
+            	    pushFollow(FOLLOW_rule__PhysicalModel__ImportsAssignment_3_in_rule__PhysicalModel__Group__3__Impl3173);
             	    rule__PhysicalModel__ImportsAssignment_3();
 
             	    state._fsp--;
-
+            	    if (state.failed) return ;
 
             	    }
             	    break;
 
             	default :
-            	    break loop22;
+            	    break loop21;
                 }
             } while (true);
 
-             after(grammarAccess.getPhysicalModelAccess().getImportsAssignment_3()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getImportsAssignment_3()); 
+            }
 
             }
 
@@ -5102,25 +5180,25 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1729:1: rule__PhysicalModel__Group__4 : rule__PhysicalModel__Group__4__Impl rule__PhysicalModel__Group__5 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1512:1: rule__PhysicalModel__Group__4 : rule__PhysicalModel__Group__4__Impl rule__PhysicalModel__Group__5 ;
     public final void rule__PhysicalModel__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1733:1: ( rule__PhysicalModel__Group__4__Impl rule__PhysicalModel__Group__5 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1734:2: rule__PhysicalModel__Group__4__Impl rule__PhysicalModel__Group__5
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1516:1: ( rule__PhysicalModel__Group__4__Impl rule__PhysicalModel__Group__5 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1517:2: rule__PhysicalModel__Group__4__Impl rule__PhysicalModel__Group__5
             {
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__4__Impl_in_rule__PhysicalModel__Group__43630);
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__4__Impl_in_rule__PhysicalModel__Group__43204);
             rule__PhysicalModel__Group__4__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__5_in_rule__PhysicalModel__Group__43633);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__5_in_rule__PhysicalModel__Group__43207);
             rule__PhysicalModel__Group__5();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5140,49 +5218,53 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1741:1: rule__PhysicalModel__Group__4__Impl : ( ( rule__PhysicalModel__Alternatives_4 )* ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1524:1: rule__PhysicalModel__Group__4__Impl : ( ( rule__PhysicalModel__Alternatives_4 )* ) ;
     public final void rule__PhysicalModel__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1745:1: ( ( ( rule__PhysicalModel__Alternatives_4 )* ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1746:1: ( ( rule__PhysicalModel__Alternatives_4 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1528:1: ( ( ( rule__PhysicalModel__Alternatives_4 )* ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1529:1: ( ( rule__PhysicalModel__Alternatives_4 )* )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1746:1: ( ( rule__PhysicalModel__Alternatives_4 )* )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1747:1: ( rule__PhysicalModel__Alternatives_4 )*
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1529:1: ( ( rule__PhysicalModel__Alternatives_4 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1530:1: ( rule__PhysicalModel__Alternatives_4 )*
             {
-             before(grammarAccess.getPhysicalModelAccess().getAlternatives_4()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1748:1: ( rule__PhysicalModel__Alternatives_4 )*
-            loop23:
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getAlternatives_4()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1531:1: ( rule__PhysicalModel__Alternatives_4 )*
+            loop22:
             do {
-                int alt23=2;
-                int LA23_0 = input.LA(1);
+                int alt22=2;
+                int LA22_0 = input.LA(1);
 
-                if ( (LA23_0==31||LA23_0==34||LA23_0==45) ) {
-                    alt23=1;
+                if ( (LA22_0==32||LA22_0==35||LA22_0==46) ) {
+                    alt22=1;
                 }
 
 
-                switch (alt23) {
+                switch (alt22) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1748:2: rule__PhysicalModel__Alternatives_4
+            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1531:2: rule__PhysicalModel__Alternatives_4
             	    {
-            	    pushFollow(FOLLOW_rule__PhysicalModel__Alternatives_4_in_rule__PhysicalModel__Group__4__Impl3660);
+            	    pushFollow(FOLLOW_rule__PhysicalModel__Alternatives_4_in_rule__PhysicalModel__Group__4__Impl3234);
             	    rule__PhysicalModel__Alternatives_4();
 
             	    state._fsp--;
-
+            	    if (state.failed) return ;
 
             	    }
             	    break;
 
             	default :
-            	    break loop23;
+            	    break loop22;
                 }
             } while (true);
 
-             after(grammarAccess.getPhysicalModelAccess().getAlternatives_4()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getAlternatives_4()); 
+            }
 
             }
 
@@ -5205,20 +5287,20 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__5"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1758:1: rule__PhysicalModel__Group__5 : rule__PhysicalModel__Group__5__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1541:1: rule__PhysicalModel__Group__5 : rule__PhysicalModel__Group__5__Impl ;
     public final void rule__PhysicalModel__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1762:1: ( rule__PhysicalModel__Group__5__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1763:2: rule__PhysicalModel__Group__5__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1545:1: ( rule__PhysicalModel__Group__5__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1546:2: rule__PhysicalModel__Group__5__Impl
             {
-            pushFollow(FOLLOW_rule__PhysicalModel__Group__5__Impl_in_rule__PhysicalModel__Group__53691);
+            pushFollow(FOLLOW_rule__PhysicalModel__Group__5__Impl_in_rule__PhysicalModel__Group__53265);
             rule__PhysicalModel__Group__5__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5238,21 +5320,25 @@
 
 
     // $ANTLR start "rule__PhysicalModel__Group__5__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1769:1: rule__PhysicalModel__Group__5__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1552:1: rule__PhysicalModel__Group__5__Impl : ( '}' ) ;
     public final void rule__PhysicalModel__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1773:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1774:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1556:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1557:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1774:1: ( '}' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1775:1: '}'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1557:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1558:1: '}'
             {
-             before(grammarAccess.getPhysicalModelAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,30,FOLLOW_30_in_rule__PhysicalModel__Group__5__Impl3719); 
-             after(grammarAccess.getPhysicalModelAccess().getRightCurlyBracketKeyword_5()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getRightCurlyBracketKeyword_5()); 
+            }
+            match(input,31,FOLLOW_31_in_rule__PhysicalModel__Group__5__Impl3293); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getRightCurlyBracketKeyword_5()); 
+            }
 
             }
 
@@ -5275,25 +5361,25 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1800:1: rule__PhysicalSystem__Group__0 : rule__PhysicalSystem__Group__0__Impl rule__PhysicalSystem__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1583:1: rule__PhysicalSystem__Group__0 : rule__PhysicalSystem__Group__0__Impl rule__PhysicalSystem__Group__1 ;
     public final void rule__PhysicalSystem__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1804:1: ( rule__PhysicalSystem__Group__0__Impl rule__PhysicalSystem__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1805:2: rule__PhysicalSystem__Group__0__Impl rule__PhysicalSystem__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1587:1: ( rule__PhysicalSystem__Group__0__Impl rule__PhysicalSystem__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1588:2: rule__PhysicalSystem__Group__0__Impl rule__PhysicalSystem__Group__1
             {
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__0__Impl_in_rule__PhysicalSystem__Group__03762);
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__0__Impl_in_rule__PhysicalSystem__Group__03336);
             rule__PhysicalSystem__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__1_in_rule__PhysicalSystem__Group__03765);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__1_in_rule__PhysicalSystem__Group__03339);
             rule__PhysicalSystem__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5313,21 +5399,25 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1812:1: rule__PhysicalSystem__Group__0__Impl : ( 'PhysicalSystem' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1595:1: rule__PhysicalSystem__Group__0__Impl : ( 'PhysicalSystem' ) ;
     public final void rule__PhysicalSystem__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1816:1: ( ( 'PhysicalSystem' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1817:1: ( 'PhysicalSystem' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1599:1: ( ( 'PhysicalSystem' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1600:1: ( 'PhysicalSystem' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1817:1: ( 'PhysicalSystem' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1818:1: 'PhysicalSystem'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1600:1: ( 'PhysicalSystem' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1601:1: 'PhysicalSystem'
             {
-             before(grammarAccess.getPhysicalSystemAccess().getPhysicalSystemKeyword_0()); 
-            match(input,31,FOLLOW_31_in_rule__PhysicalSystem__Group__0__Impl3793); 
-             after(grammarAccess.getPhysicalSystemAccess().getPhysicalSystemKeyword_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalSystemAccess().getPhysicalSystemKeyword_0()); 
+            }
+            match(input,32,FOLLOW_32_in_rule__PhysicalSystem__Group__0__Impl3367); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalSystemAccess().getPhysicalSystemKeyword_0()); 
+            }
 
             }
 
@@ -5350,25 +5440,25 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1831:1: rule__PhysicalSystem__Group__1 : rule__PhysicalSystem__Group__1__Impl rule__PhysicalSystem__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1614:1: rule__PhysicalSystem__Group__1 : rule__PhysicalSystem__Group__1__Impl rule__PhysicalSystem__Group__2 ;
     public final void rule__PhysicalSystem__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1835:1: ( rule__PhysicalSystem__Group__1__Impl rule__PhysicalSystem__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1836:2: rule__PhysicalSystem__Group__1__Impl rule__PhysicalSystem__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1618:1: ( rule__PhysicalSystem__Group__1__Impl rule__PhysicalSystem__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1619:2: rule__PhysicalSystem__Group__1__Impl rule__PhysicalSystem__Group__2
             {
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__1__Impl_in_rule__PhysicalSystem__Group__13824);
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__1__Impl_in_rule__PhysicalSystem__Group__13398);
             rule__PhysicalSystem__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__2_in_rule__PhysicalSystem__Group__13827);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__2_in_rule__PhysicalSystem__Group__13401);
             rule__PhysicalSystem__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5388,31 +5478,35 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1843:1: rule__PhysicalSystem__Group__1__Impl : ( ( rule__PhysicalSystem__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1626:1: rule__PhysicalSystem__Group__1__Impl : ( ( rule__PhysicalSystem__NameAssignment_1 ) ) ;
     public final void rule__PhysicalSystem__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1847:1: ( ( ( rule__PhysicalSystem__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1848:1: ( ( rule__PhysicalSystem__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1630:1: ( ( ( rule__PhysicalSystem__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1631:1: ( ( rule__PhysicalSystem__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1848:1: ( ( rule__PhysicalSystem__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1849:1: ( rule__PhysicalSystem__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1631:1: ( ( rule__PhysicalSystem__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1632:1: ( rule__PhysicalSystem__NameAssignment_1 )
             {
-             before(grammarAccess.getPhysicalSystemAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1850:1: ( rule__PhysicalSystem__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1850:2: rule__PhysicalSystem__NameAssignment_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalSystemAccess().getNameAssignment_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1633:1: ( rule__PhysicalSystem__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1633:2: rule__PhysicalSystem__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__PhysicalSystem__NameAssignment_1_in_rule__PhysicalSystem__Group__1__Impl3854);
+            pushFollow(FOLLOW_rule__PhysicalSystem__NameAssignment_1_in_rule__PhysicalSystem__Group__1__Impl3428);
             rule__PhysicalSystem__NameAssignment_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalSystemAccess().getNameAssignment_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalSystemAccess().getNameAssignment_1()); 
+            }
 
             }
 
@@ -5435,25 +5529,25 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1860:1: rule__PhysicalSystem__Group__2 : rule__PhysicalSystem__Group__2__Impl rule__PhysicalSystem__Group__3 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1643:1: rule__PhysicalSystem__Group__2 : rule__PhysicalSystem__Group__2__Impl rule__PhysicalSystem__Group__3 ;
     public final void rule__PhysicalSystem__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1864:1: ( rule__PhysicalSystem__Group__2__Impl rule__PhysicalSystem__Group__3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1865:2: rule__PhysicalSystem__Group__2__Impl rule__PhysicalSystem__Group__3
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1647:1: ( rule__PhysicalSystem__Group__2__Impl rule__PhysicalSystem__Group__3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1648:2: rule__PhysicalSystem__Group__2__Impl rule__PhysicalSystem__Group__3
             {
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__2__Impl_in_rule__PhysicalSystem__Group__23884);
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__2__Impl_in_rule__PhysicalSystem__Group__23458);
             rule__PhysicalSystem__Group__2__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__3_in_rule__PhysicalSystem__Group__23887);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__3_in_rule__PhysicalSystem__Group__23461);
             rule__PhysicalSystem__Group__3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5473,42 +5567,46 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1872:1: rule__PhysicalSystem__Group__2__Impl : ( ( rule__PhysicalSystem__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1655:1: rule__PhysicalSystem__Group__2__Impl : ( ( rule__PhysicalSystem__DocuAssignment_2 )? ) ;
     public final void rule__PhysicalSystem__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1876:1: ( ( ( rule__PhysicalSystem__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1877:1: ( ( rule__PhysicalSystem__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1659:1: ( ( ( rule__PhysicalSystem__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1660:1: ( ( rule__PhysicalSystem__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1877:1: ( ( rule__PhysicalSystem__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1878:1: ( rule__PhysicalSystem__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1660:1: ( ( rule__PhysicalSystem__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1661:1: ( rule__PhysicalSystem__DocuAssignment_2 )?
             {
-             before(grammarAccess.getPhysicalSystemAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1879:1: ( rule__PhysicalSystem__DocuAssignment_2 )?
-            int alt24=2;
-            int LA24_0 = input.LA(1);
-
-            if ( (LA24_0==51) ) {
-                alt24=1;
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalSystemAccess().getDocuAssignment_2()); 
             }
-            switch (alt24) {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1662:1: ( rule__PhysicalSystem__DocuAssignment_2 )?
+            int alt23=2;
+            int LA23_0 = input.LA(1);
+
+            if ( (LA23_0==52) ) {
+                alt23=1;
+            }
+            switch (alt23) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1879:2: rule__PhysicalSystem__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1662:2: rule__PhysicalSystem__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__PhysicalSystem__DocuAssignment_2_in_rule__PhysicalSystem__Group__2__Impl3914);
+                    pushFollow(FOLLOW_rule__PhysicalSystem__DocuAssignment_2_in_rule__PhysicalSystem__Group__2__Impl3488);
                     rule__PhysicalSystem__DocuAssignment_2();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
 
             }
 
-             after(grammarAccess.getPhysicalSystemAccess().getDocuAssignment_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalSystemAccess().getDocuAssignment_2()); 
+            }
 
             }
 
@@ -5531,25 +5629,25 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1889:1: rule__PhysicalSystem__Group__3 : rule__PhysicalSystem__Group__3__Impl rule__PhysicalSystem__Group__4 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1672:1: rule__PhysicalSystem__Group__3 : rule__PhysicalSystem__Group__3__Impl rule__PhysicalSystem__Group__4 ;
     public final void rule__PhysicalSystem__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1893:1: ( rule__PhysicalSystem__Group__3__Impl rule__PhysicalSystem__Group__4 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1894:2: rule__PhysicalSystem__Group__3__Impl rule__PhysicalSystem__Group__4
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1676:1: ( rule__PhysicalSystem__Group__3__Impl rule__PhysicalSystem__Group__4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1677:2: rule__PhysicalSystem__Group__3__Impl rule__PhysicalSystem__Group__4
             {
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__3__Impl_in_rule__PhysicalSystem__Group__33945);
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__3__Impl_in_rule__PhysicalSystem__Group__33519);
             rule__PhysicalSystem__Group__3__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__4_in_rule__PhysicalSystem__Group__33948);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__4_in_rule__PhysicalSystem__Group__33522);
             rule__PhysicalSystem__Group__4();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5569,21 +5667,25 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1901:1: rule__PhysicalSystem__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1684:1: rule__PhysicalSystem__Group__3__Impl : ( '{' ) ;
     public final void rule__PhysicalSystem__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1905:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1906:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1688:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1689:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1906:1: ( '{' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1907:1: '{'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1689:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1690:1: '{'
             {
-             before(grammarAccess.getPhysicalSystemAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,29,FOLLOW_29_in_rule__PhysicalSystem__Group__3__Impl3976); 
-             after(grammarAccess.getPhysicalSystemAccess().getLeftCurlyBracketKeyword_3()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalSystemAccess().getLeftCurlyBracketKeyword_3()); 
+            }
+            match(input,30,FOLLOW_30_in_rule__PhysicalSystem__Group__3__Impl3550); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalSystemAccess().getLeftCurlyBracketKeyword_3()); 
+            }
 
             }
 
@@ -5606,25 +5708,25 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1920:1: rule__PhysicalSystem__Group__4 : rule__PhysicalSystem__Group__4__Impl rule__PhysicalSystem__Group__5 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1703:1: rule__PhysicalSystem__Group__4 : rule__PhysicalSystem__Group__4__Impl rule__PhysicalSystem__Group__5 ;
     public final void rule__PhysicalSystem__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1924:1: ( rule__PhysicalSystem__Group__4__Impl rule__PhysicalSystem__Group__5 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1925:2: rule__PhysicalSystem__Group__4__Impl rule__PhysicalSystem__Group__5
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1707:1: ( rule__PhysicalSystem__Group__4__Impl rule__PhysicalSystem__Group__5 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1708:2: rule__PhysicalSystem__Group__4__Impl rule__PhysicalSystem__Group__5
             {
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__4__Impl_in_rule__PhysicalSystem__Group__44007);
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__4__Impl_in_rule__PhysicalSystem__Group__43581);
             rule__PhysicalSystem__Group__4__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__5_in_rule__PhysicalSystem__Group__44010);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__5_in_rule__PhysicalSystem__Group__43584);
             rule__PhysicalSystem__Group__5();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5644,49 +5746,53 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1932:1: rule__PhysicalSystem__Group__4__Impl : ( ( rule__PhysicalSystem__NodeRefsAssignment_4 )* ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1715:1: rule__PhysicalSystem__Group__4__Impl : ( ( rule__PhysicalSystem__NodeRefsAssignment_4 )* ) ;
     public final void rule__PhysicalSystem__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1936:1: ( ( ( rule__PhysicalSystem__NodeRefsAssignment_4 )* ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1937:1: ( ( rule__PhysicalSystem__NodeRefsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1719:1: ( ( ( rule__PhysicalSystem__NodeRefsAssignment_4 )* ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1720:1: ( ( rule__PhysicalSystem__NodeRefsAssignment_4 )* )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1937:1: ( ( rule__PhysicalSystem__NodeRefsAssignment_4 )* )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1938:1: ( rule__PhysicalSystem__NodeRefsAssignment_4 )*
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1720:1: ( ( rule__PhysicalSystem__NodeRefsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1721:1: ( rule__PhysicalSystem__NodeRefsAssignment_4 )*
             {
-             before(grammarAccess.getPhysicalSystemAccess().getNodeRefsAssignment_4()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1939:1: ( rule__PhysicalSystem__NodeRefsAssignment_4 )*
-            loop25:
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalSystemAccess().getNodeRefsAssignment_4()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1722:1: ( rule__PhysicalSystem__NodeRefsAssignment_4 )*
+            loop24:
             do {
-                int alt25=2;
-                int LA25_0 = input.LA(1);
+                int alt24=2;
+                int LA24_0 = input.LA(1);
 
-                if ( (LA25_0==32) ) {
-                    alt25=1;
+                if ( (LA24_0==33) ) {
+                    alt24=1;
                 }
 
 
-                switch (alt25) {
+                switch (alt24) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1939:2: rule__PhysicalSystem__NodeRefsAssignment_4
+            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1722:2: rule__PhysicalSystem__NodeRefsAssignment_4
             	    {
-            	    pushFollow(FOLLOW_rule__PhysicalSystem__NodeRefsAssignment_4_in_rule__PhysicalSystem__Group__4__Impl4037);
+            	    pushFollow(FOLLOW_rule__PhysicalSystem__NodeRefsAssignment_4_in_rule__PhysicalSystem__Group__4__Impl3611);
             	    rule__PhysicalSystem__NodeRefsAssignment_4();
 
             	    state._fsp--;
-
+            	    if (state.failed) return ;
 
             	    }
             	    break;
 
             	default :
-            	    break loop25;
+            	    break loop24;
                 }
             } while (true);
 
-             after(grammarAccess.getPhysicalSystemAccess().getNodeRefsAssignment_4()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalSystemAccess().getNodeRefsAssignment_4()); 
+            }
 
             }
 
@@ -5709,20 +5815,20 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__5"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1949:1: rule__PhysicalSystem__Group__5 : rule__PhysicalSystem__Group__5__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1732:1: rule__PhysicalSystem__Group__5 : rule__PhysicalSystem__Group__5__Impl ;
     public final void rule__PhysicalSystem__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1953:1: ( rule__PhysicalSystem__Group__5__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1954:2: rule__PhysicalSystem__Group__5__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1736:1: ( rule__PhysicalSystem__Group__5__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1737:2: rule__PhysicalSystem__Group__5__Impl
             {
-            pushFollow(FOLLOW_rule__PhysicalSystem__Group__5__Impl_in_rule__PhysicalSystem__Group__54068);
+            pushFollow(FOLLOW_rule__PhysicalSystem__Group__5__Impl_in_rule__PhysicalSystem__Group__53642);
             rule__PhysicalSystem__Group__5__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5742,21 +5848,25 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__Group__5__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1960:1: rule__PhysicalSystem__Group__5__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1743:1: rule__PhysicalSystem__Group__5__Impl : ( '}' ) ;
     public final void rule__PhysicalSystem__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1964:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1965:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1747:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1748:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1965:1: ( '}' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1966:1: '}'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1748:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1749:1: '}'
             {
-             before(grammarAccess.getPhysicalSystemAccess().getRightCurlyBracketKeyword_5()); 
-            match(input,30,FOLLOW_30_in_rule__PhysicalSystem__Group__5__Impl4096); 
-             after(grammarAccess.getPhysicalSystemAccess().getRightCurlyBracketKeyword_5()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalSystemAccess().getRightCurlyBracketKeyword_5()); 
+            }
+            match(input,31,FOLLOW_31_in_rule__PhysicalSystem__Group__5__Impl3670); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalSystemAccess().getRightCurlyBracketKeyword_5()); 
+            }
 
             }
 
@@ -5779,25 +5889,25 @@
 
 
     // $ANTLR start "rule__NodeRef__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1991:1: rule__NodeRef__Group__0 : rule__NodeRef__Group__0__Impl rule__NodeRef__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1774:1: rule__NodeRef__Group__0 : rule__NodeRef__Group__0__Impl rule__NodeRef__Group__1 ;
     public final void rule__NodeRef__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1995:1: ( rule__NodeRef__Group__0__Impl rule__NodeRef__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1996:2: rule__NodeRef__Group__0__Impl rule__NodeRef__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1778:1: ( rule__NodeRef__Group__0__Impl rule__NodeRef__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1779:2: rule__NodeRef__Group__0__Impl rule__NodeRef__Group__1
             {
-            pushFollow(FOLLOW_rule__NodeRef__Group__0__Impl_in_rule__NodeRef__Group__04139);
+            pushFollow(FOLLOW_rule__NodeRef__Group__0__Impl_in_rule__NodeRef__Group__03713);
             rule__NodeRef__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeRef__Group__1_in_rule__NodeRef__Group__04142);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeRef__Group__1_in_rule__NodeRef__Group__03716);
             rule__NodeRef__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5817,21 +5927,25 @@
 
 
     // $ANTLR start "rule__NodeRef__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2003:1: rule__NodeRef__Group__0__Impl : ( 'NodeRef' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1786:1: rule__NodeRef__Group__0__Impl : ( 'NodeRef' ) ;
     public final void rule__NodeRef__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2007:1: ( ( 'NodeRef' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2008:1: ( 'NodeRef' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1790:1: ( ( 'NodeRef' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1791:1: ( 'NodeRef' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2008:1: ( 'NodeRef' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2009:1: 'NodeRef'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1791:1: ( 'NodeRef' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1792:1: 'NodeRef'
             {
-             before(grammarAccess.getNodeRefAccess().getNodeRefKeyword_0()); 
-            match(input,32,FOLLOW_32_in_rule__NodeRef__Group__0__Impl4170); 
-             after(grammarAccess.getNodeRefAccess().getNodeRefKeyword_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeRefAccess().getNodeRefKeyword_0()); 
+            }
+            match(input,33,FOLLOW_33_in_rule__NodeRef__Group__0__Impl3744); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeRefAccess().getNodeRefKeyword_0()); 
+            }
 
             }
 
@@ -5854,25 +5968,25 @@
 
 
     // $ANTLR start "rule__NodeRef__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2022:1: rule__NodeRef__Group__1 : rule__NodeRef__Group__1__Impl rule__NodeRef__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1805:1: rule__NodeRef__Group__1 : rule__NodeRef__Group__1__Impl rule__NodeRef__Group__2 ;
     public final void rule__NodeRef__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2026:1: ( rule__NodeRef__Group__1__Impl rule__NodeRef__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2027:2: rule__NodeRef__Group__1__Impl rule__NodeRef__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1809:1: ( rule__NodeRef__Group__1__Impl rule__NodeRef__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1810:2: rule__NodeRef__Group__1__Impl rule__NodeRef__Group__2
             {
-            pushFollow(FOLLOW_rule__NodeRef__Group__1__Impl_in_rule__NodeRef__Group__14201);
+            pushFollow(FOLLOW_rule__NodeRef__Group__1__Impl_in_rule__NodeRef__Group__13775);
             rule__NodeRef__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeRef__Group__2_in_rule__NodeRef__Group__14204);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeRef__Group__2_in_rule__NodeRef__Group__13778);
             rule__NodeRef__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5892,31 +6006,35 @@
 
 
     // $ANTLR start "rule__NodeRef__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2034:1: rule__NodeRef__Group__1__Impl : ( ( rule__NodeRef__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1817:1: rule__NodeRef__Group__1__Impl : ( ( rule__NodeRef__NameAssignment_1 ) ) ;
     public final void rule__NodeRef__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2038:1: ( ( ( rule__NodeRef__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2039:1: ( ( rule__NodeRef__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1821:1: ( ( ( rule__NodeRef__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1822:1: ( ( rule__NodeRef__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2039:1: ( ( rule__NodeRef__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2040:1: ( rule__NodeRef__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1822:1: ( ( rule__NodeRef__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1823:1: ( rule__NodeRef__NameAssignment_1 )
             {
-             before(grammarAccess.getNodeRefAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2041:1: ( rule__NodeRef__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2041:2: rule__NodeRef__NameAssignment_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeRefAccess().getNameAssignment_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1824:1: ( rule__NodeRef__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1824:2: rule__NodeRef__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__NodeRef__NameAssignment_1_in_rule__NodeRef__Group__1__Impl4231);
+            pushFollow(FOLLOW_rule__NodeRef__NameAssignment_1_in_rule__NodeRef__Group__1__Impl3805);
             rule__NodeRef__NameAssignment_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getNodeRefAccess().getNameAssignment_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeRefAccess().getNameAssignment_1()); 
+            }
 
             }
 
@@ -5939,25 +6057,25 @@
 
 
     // $ANTLR start "rule__NodeRef__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2051:1: rule__NodeRef__Group__2 : rule__NodeRef__Group__2__Impl rule__NodeRef__Group__3 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1834:1: rule__NodeRef__Group__2 : rule__NodeRef__Group__2__Impl rule__NodeRef__Group__3 ;
     public final void rule__NodeRef__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2055:1: ( rule__NodeRef__Group__2__Impl rule__NodeRef__Group__3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2056:2: rule__NodeRef__Group__2__Impl rule__NodeRef__Group__3
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1838:1: ( rule__NodeRef__Group__2__Impl rule__NodeRef__Group__3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1839:2: rule__NodeRef__Group__2__Impl rule__NodeRef__Group__3
             {
-            pushFollow(FOLLOW_rule__NodeRef__Group__2__Impl_in_rule__NodeRef__Group__24261);
+            pushFollow(FOLLOW_rule__NodeRef__Group__2__Impl_in_rule__NodeRef__Group__23835);
             rule__NodeRef__Group__2__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeRef__Group__3_in_rule__NodeRef__Group__24264);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeRef__Group__3_in_rule__NodeRef__Group__23838);
             rule__NodeRef__Group__3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -5977,21 +6095,25 @@
 
 
     // $ANTLR start "rule__NodeRef__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2063:1: rule__NodeRef__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1846:1: rule__NodeRef__Group__2__Impl : ( ':' ) ;
     public final void rule__NodeRef__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2067:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2068:1: ( ':' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1850:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1851:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2068:1: ( ':' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2069:1: ':'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1851:1: ( ':' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1852:1: ':'
             {
-             before(grammarAccess.getNodeRefAccess().getColonKeyword_2()); 
-            match(input,33,FOLLOW_33_in_rule__NodeRef__Group__2__Impl4292); 
-             after(grammarAccess.getNodeRefAccess().getColonKeyword_2()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeRefAccess().getColonKeyword_2()); 
+            }
+            match(input,34,FOLLOW_34_in_rule__NodeRef__Group__2__Impl3866); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeRefAccess().getColonKeyword_2()); 
+            }
 
             }
 
@@ -6014,25 +6136,25 @@
 
 
     // $ANTLR start "rule__NodeRef__Group__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2082:1: rule__NodeRef__Group__3 : rule__NodeRef__Group__3__Impl rule__NodeRef__Group__4 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1865:1: rule__NodeRef__Group__3 : rule__NodeRef__Group__3__Impl rule__NodeRef__Group__4 ;
     public final void rule__NodeRef__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2086:1: ( rule__NodeRef__Group__3__Impl rule__NodeRef__Group__4 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2087:2: rule__NodeRef__Group__3__Impl rule__NodeRef__Group__4
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1869:1: ( rule__NodeRef__Group__3__Impl rule__NodeRef__Group__4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1870:2: rule__NodeRef__Group__3__Impl rule__NodeRef__Group__4
             {
-            pushFollow(FOLLOW_rule__NodeRef__Group__3__Impl_in_rule__NodeRef__Group__34323);
+            pushFollow(FOLLOW_rule__NodeRef__Group__3__Impl_in_rule__NodeRef__Group__33897);
             rule__NodeRef__Group__3__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeRef__Group__4_in_rule__NodeRef__Group__34326);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeRef__Group__4_in_rule__NodeRef__Group__33900);
             rule__NodeRef__Group__4();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6052,31 +6174,35 @@
 
 
     // $ANTLR start "rule__NodeRef__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2094:1: rule__NodeRef__Group__3__Impl : ( ( rule__NodeRef__TypeAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1877:1: rule__NodeRef__Group__3__Impl : ( ( rule__NodeRef__TypeAssignment_3 ) ) ;
     public final void rule__NodeRef__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2098:1: ( ( ( rule__NodeRef__TypeAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2099:1: ( ( rule__NodeRef__TypeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1881:1: ( ( ( rule__NodeRef__TypeAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1882:1: ( ( rule__NodeRef__TypeAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2099:1: ( ( rule__NodeRef__TypeAssignment_3 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2100:1: ( rule__NodeRef__TypeAssignment_3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1882:1: ( ( rule__NodeRef__TypeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1883:1: ( rule__NodeRef__TypeAssignment_3 )
             {
-             before(grammarAccess.getNodeRefAccess().getTypeAssignment_3()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2101:1: ( rule__NodeRef__TypeAssignment_3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2101:2: rule__NodeRef__TypeAssignment_3
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeRefAccess().getTypeAssignment_3()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1884:1: ( rule__NodeRef__TypeAssignment_3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1884:2: rule__NodeRef__TypeAssignment_3
             {
-            pushFollow(FOLLOW_rule__NodeRef__TypeAssignment_3_in_rule__NodeRef__Group__3__Impl4353);
+            pushFollow(FOLLOW_rule__NodeRef__TypeAssignment_3_in_rule__NodeRef__Group__3__Impl3927);
             rule__NodeRef__TypeAssignment_3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getNodeRefAccess().getTypeAssignment_3()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeRefAccess().getTypeAssignment_3()); 
+            }
 
             }
 
@@ -6099,20 +6225,20 @@
 
 
     // $ANTLR start "rule__NodeRef__Group__4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2111:1: rule__NodeRef__Group__4 : rule__NodeRef__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1894:1: rule__NodeRef__Group__4 : rule__NodeRef__Group__4__Impl ;
     public final void rule__NodeRef__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2115:1: ( rule__NodeRef__Group__4__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2116:2: rule__NodeRef__Group__4__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1898:1: ( rule__NodeRef__Group__4__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1899:2: rule__NodeRef__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__NodeRef__Group__4__Impl_in_rule__NodeRef__Group__44383);
+            pushFollow(FOLLOW_rule__NodeRef__Group__4__Impl_in_rule__NodeRef__Group__43957);
             rule__NodeRef__Group__4__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6132,42 +6258,46 @@
 
 
     // $ANTLR start "rule__NodeRef__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2122:1: rule__NodeRef__Group__4__Impl : ( ( rule__NodeRef__DocuAssignment_4 )? ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1905:1: rule__NodeRef__Group__4__Impl : ( ( rule__NodeRef__DocuAssignment_4 )? ) ;
     public final void rule__NodeRef__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2126:1: ( ( ( rule__NodeRef__DocuAssignment_4 )? ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2127:1: ( ( rule__NodeRef__DocuAssignment_4 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1909:1: ( ( ( rule__NodeRef__DocuAssignment_4 )? ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1910:1: ( ( rule__NodeRef__DocuAssignment_4 )? )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2127:1: ( ( rule__NodeRef__DocuAssignment_4 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2128:1: ( rule__NodeRef__DocuAssignment_4 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1910:1: ( ( rule__NodeRef__DocuAssignment_4 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1911:1: ( rule__NodeRef__DocuAssignment_4 )?
             {
-             before(grammarAccess.getNodeRefAccess().getDocuAssignment_4()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2129:1: ( rule__NodeRef__DocuAssignment_4 )?
-            int alt26=2;
-            int LA26_0 = input.LA(1);
-
-            if ( (LA26_0==51) ) {
-                alt26=1;
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeRefAccess().getDocuAssignment_4()); 
             }
-            switch (alt26) {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1912:1: ( rule__NodeRef__DocuAssignment_4 )?
+            int alt25=2;
+            int LA25_0 = input.LA(1);
+
+            if ( (LA25_0==52) ) {
+                alt25=1;
+            }
+            switch (alt25) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2129:2: rule__NodeRef__DocuAssignment_4
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1912:2: rule__NodeRef__DocuAssignment_4
                     {
-                    pushFollow(FOLLOW_rule__NodeRef__DocuAssignment_4_in_rule__NodeRef__Group__4__Impl4410);
+                    pushFollow(FOLLOW_rule__NodeRef__DocuAssignment_4_in_rule__NodeRef__Group__4__Impl3984);
                     rule__NodeRef__DocuAssignment_4();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
 
             }
 
-             after(grammarAccess.getNodeRefAccess().getDocuAssignment_4()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeRefAccess().getDocuAssignment_4()); 
+            }
 
             }
 
@@ -6190,25 +6320,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2149:1: rule__NodeClass__Group__0 : rule__NodeClass__Group__0__Impl rule__NodeClass__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1932:1: rule__NodeClass__Group__0 : rule__NodeClass__Group__0__Impl rule__NodeClass__Group__1 ;
     public final void rule__NodeClass__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2153:1: ( rule__NodeClass__Group__0__Impl rule__NodeClass__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2154:2: rule__NodeClass__Group__0__Impl rule__NodeClass__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1936:1: ( rule__NodeClass__Group__0__Impl rule__NodeClass__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1937:2: rule__NodeClass__Group__0__Impl rule__NodeClass__Group__1
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group__0__Impl_in_rule__NodeClass__Group__04451);
+            pushFollow(FOLLOW_rule__NodeClass__Group__0__Impl_in_rule__NodeClass__Group__04025);
             rule__NodeClass__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group__1_in_rule__NodeClass__Group__04454);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group__1_in_rule__NodeClass__Group__04028);
             rule__NodeClass__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6228,21 +6358,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2161:1: rule__NodeClass__Group__0__Impl : ( 'NodeClass' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1944:1: rule__NodeClass__Group__0__Impl : ( 'NodeClass' ) ;
     public final void rule__NodeClass__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2165:1: ( ( 'NodeClass' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2166:1: ( 'NodeClass' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1948:1: ( ( 'NodeClass' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1949:1: ( 'NodeClass' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2166:1: ( 'NodeClass' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2167:1: 'NodeClass'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1949:1: ( 'NodeClass' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1950:1: 'NodeClass'
             {
-             before(grammarAccess.getNodeClassAccess().getNodeClassKeyword_0()); 
-            match(input,34,FOLLOW_34_in_rule__NodeClass__Group__0__Impl4482); 
-             after(grammarAccess.getNodeClassAccess().getNodeClassKeyword_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getNodeClassKeyword_0()); 
+            }
+            match(input,35,FOLLOW_35_in_rule__NodeClass__Group__0__Impl4056); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getNodeClassKeyword_0()); 
+            }
 
             }
 
@@ -6265,25 +6399,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2180:1: rule__NodeClass__Group__1 : rule__NodeClass__Group__1__Impl rule__NodeClass__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1963:1: rule__NodeClass__Group__1 : rule__NodeClass__Group__1__Impl rule__NodeClass__Group__2 ;
     public final void rule__NodeClass__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2184:1: ( rule__NodeClass__Group__1__Impl rule__NodeClass__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2185:2: rule__NodeClass__Group__1__Impl rule__NodeClass__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1967:1: ( rule__NodeClass__Group__1__Impl rule__NodeClass__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1968:2: rule__NodeClass__Group__1__Impl rule__NodeClass__Group__2
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group__1__Impl_in_rule__NodeClass__Group__14513);
+            pushFollow(FOLLOW_rule__NodeClass__Group__1__Impl_in_rule__NodeClass__Group__14087);
             rule__NodeClass__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group__2_in_rule__NodeClass__Group__14516);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group__2_in_rule__NodeClass__Group__14090);
             rule__NodeClass__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6303,31 +6437,35 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2192:1: rule__NodeClass__Group__1__Impl : ( ( rule__NodeClass__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1975:1: rule__NodeClass__Group__1__Impl : ( ( rule__NodeClass__NameAssignment_1 ) ) ;
     public final void rule__NodeClass__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2196:1: ( ( ( rule__NodeClass__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2197:1: ( ( rule__NodeClass__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1979:1: ( ( ( rule__NodeClass__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1980:1: ( ( rule__NodeClass__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2197:1: ( ( rule__NodeClass__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2198:1: ( rule__NodeClass__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1980:1: ( ( rule__NodeClass__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1981:1: ( rule__NodeClass__NameAssignment_1 )
             {
-             before(grammarAccess.getNodeClassAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2199:1: ( rule__NodeClass__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2199:2: rule__NodeClass__NameAssignment_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getNameAssignment_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1982:1: ( rule__NodeClass__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1982:2: rule__NodeClass__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__NodeClass__NameAssignment_1_in_rule__NodeClass__Group__1__Impl4543);
+            pushFollow(FOLLOW_rule__NodeClass__NameAssignment_1_in_rule__NodeClass__Group__1__Impl4117);
             rule__NodeClass__NameAssignment_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getNodeClassAccess().getNameAssignment_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getNameAssignment_1()); 
+            }
 
             }
 
@@ -6350,25 +6488,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2209:1: rule__NodeClass__Group__2 : rule__NodeClass__Group__2__Impl rule__NodeClass__Group__3 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1992:1: rule__NodeClass__Group__2 : rule__NodeClass__Group__2__Impl rule__NodeClass__Group__3 ;
     public final void rule__NodeClass__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2213:1: ( rule__NodeClass__Group__2__Impl rule__NodeClass__Group__3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2214:2: rule__NodeClass__Group__2__Impl rule__NodeClass__Group__3
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1996:1: ( rule__NodeClass__Group__2__Impl rule__NodeClass__Group__3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:1997:2: rule__NodeClass__Group__2__Impl rule__NodeClass__Group__3
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group__2__Impl_in_rule__NodeClass__Group__24573);
+            pushFollow(FOLLOW_rule__NodeClass__Group__2__Impl_in_rule__NodeClass__Group__24147);
             rule__NodeClass__Group__2__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group__3_in_rule__NodeClass__Group__24576);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group__3_in_rule__NodeClass__Group__24150);
             rule__NodeClass__Group__3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6388,42 +6526,46 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2221:1: rule__NodeClass__Group__2__Impl : ( ( rule__NodeClass__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2004:1: rule__NodeClass__Group__2__Impl : ( ( rule__NodeClass__DocuAssignment_2 )? ) ;
     public final void rule__NodeClass__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2225:1: ( ( ( rule__NodeClass__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2226:1: ( ( rule__NodeClass__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2008:1: ( ( ( rule__NodeClass__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2009:1: ( ( rule__NodeClass__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2226:1: ( ( rule__NodeClass__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2227:1: ( rule__NodeClass__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2009:1: ( ( rule__NodeClass__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2010:1: ( rule__NodeClass__DocuAssignment_2 )?
             {
-             before(grammarAccess.getNodeClassAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2228:1: ( rule__NodeClass__DocuAssignment_2 )?
-            int alt27=2;
-            int LA27_0 = input.LA(1);
-
-            if ( (LA27_0==51) ) {
-                alt27=1;
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getDocuAssignment_2()); 
             }
-            switch (alt27) {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2011:1: ( rule__NodeClass__DocuAssignment_2 )?
+            int alt26=2;
+            int LA26_0 = input.LA(1);
+
+            if ( (LA26_0==52) ) {
+                alt26=1;
+            }
+            switch (alt26) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2228:2: rule__NodeClass__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2011:2: rule__NodeClass__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__NodeClass__DocuAssignment_2_in_rule__NodeClass__Group__2__Impl4603);
+                    pushFollow(FOLLOW_rule__NodeClass__DocuAssignment_2_in_rule__NodeClass__Group__2__Impl4177);
                     rule__NodeClass__DocuAssignment_2();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
 
             }
 
-             after(grammarAccess.getNodeClassAccess().getDocuAssignment_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getDocuAssignment_2()); 
+            }
 
             }
 
@@ -6446,25 +6588,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2238:1: rule__NodeClass__Group__3 : rule__NodeClass__Group__3__Impl rule__NodeClass__Group__4 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2021:1: rule__NodeClass__Group__3 : rule__NodeClass__Group__3__Impl rule__NodeClass__Group__4 ;
     public final void rule__NodeClass__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2242:1: ( rule__NodeClass__Group__3__Impl rule__NodeClass__Group__4 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2243:2: rule__NodeClass__Group__3__Impl rule__NodeClass__Group__4
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2025:1: ( rule__NodeClass__Group__3__Impl rule__NodeClass__Group__4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2026:2: rule__NodeClass__Group__3__Impl rule__NodeClass__Group__4
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group__3__Impl_in_rule__NodeClass__Group__34634);
+            pushFollow(FOLLOW_rule__NodeClass__Group__3__Impl_in_rule__NodeClass__Group__34208);
             rule__NodeClass__Group__3__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group__4_in_rule__NodeClass__Group__34637);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group__4_in_rule__NodeClass__Group__34211);
             rule__NodeClass__Group__4();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6484,21 +6626,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2250:1: rule__NodeClass__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2033:1: rule__NodeClass__Group__3__Impl : ( '{' ) ;
     public final void rule__NodeClass__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2254:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2255:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2037:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2038:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2255:1: ( '{' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2256:1: '{'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2038:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2039:1: '{'
             {
-             before(grammarAccess.getNodeClassAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,29,FOLLOW_29_in_rule__NodeClass__Group__3__Impl4665); 
-             after(grammarAccess.getNodeClassAccess().getLeftCurlyBracketKeyword_3()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getLeftCurlyBracketKeyword_3()); 
+            }
+            match(input,30,FOLLOW_30_in_rule__NodeClass__Group__3__Impl4239); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getLeftCurlyBracketKeyword_3()); 
+            }
 
             }
 
@@ -6521,25 +6667,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2269:1: rule__NodeClass__Group__4 : rule__NodeClass__Group__4__Impl rule__NodeClass__Group__5 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2052:1: rule__NodeClass__Group__4 : rule__NodeClass__Group__4__Impl rule__NodeClass__Group__5 ;
     public final void rule__NodeClass__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2273:1: ( rule__NodeClass__Group__4__Impl rule__NodeClass__Group__5 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2274:2: rule__NodeClass__Group__4__Impl rule__NodeClass__Group__5
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2056:1: ( rule__NodeClass__Group__4__Impl rule__NodeClass__Group__5 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2057:2: rule__NodeClass__Group__4__Impl rule__NodeClass__Group__5
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group__4__Impl_in_rule__NodeClass__Group__44696);
+            pushFollow(FOLLOW_rule__NodeClass__Group__4__Impl_in_rule__NodeClass__Group__44270);
             rule__NodeClass__Group__4__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group__5_in_rule__NodeClass__Group__44699);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group__5_in_rule__NodeClass__Group__44273);
             rule__NodeClass__Group__5();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6559,31 +6705,35 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2281:1: rule__NodeClass__Group__4__Impl : ( ( rule__NodeClass__UnorderedGroup_4 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2064:1: rule__NodeClass__Group__4__Impl : ( ( rule__NodeClass__UnorderedGroup_4 ) ) ;
     public final void rule__NodeClass__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2285:1: ( ( ( rule__NodeClass__UnorderedGroup_4 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2286:1: ( ( rule__NodeClass__UnorderedGroup_4 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2068:1: ( ( ( rule__NodeClass__UnorderedGroup_4 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2069:1: ( ( rule__NodeClass__UnorderedGroup_4 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2286:1: ( ( rule__NodeClass__UnorderedGroup_4 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2287:1: ( rule__NodeClass__UnorderedGroup_4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2069:1: ( ( rule__NodeClass__UnorderedGroup_4 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2070:1: ( rule__NodeClass__UnorderedGroup_4 )
             {
-             before(grammarAccess.getNodeClassAccess().getUnorderedGroup_4()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2288:1: ( rule__NodeClass__UnorderedGroup_4 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2288:2: rule__NodeClass__UnorderedGroup_4
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getUnorderedGroup_4()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2071:1: ( rule__NodeClass__UnorderedGroup_4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2071:2: rule__NodeClass__UnorderedGroup_4
             {
-            pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4_in_rule__NodeClass__Group__4__Impl4726);
+            pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4_in_rule__NodeClass__Group__4__Impl4300);
             rule__NodeClass__UnorderedGroup_4();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getNodeClassAccess().getUnorderedGroup_4()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getUnorderedGroup_4()); 
+            }
 
             }
 
@@ -6606,25 +6756,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__5"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2298:1: rule__NodeClass__Group__5 : rule__NodeClass__Group__5__Impl rule__NodeClass__Group__6 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2081:1: rule__NodeClass__Group__5 : rule__NodeClass__Group__5__Impl rule__NodeClass__Group__6 ;
     public final void rule__NodeClass__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2302:1: ( rule__NodeClass__Group__5__Impl rule__NodeClass__Group__6 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2303:2: rule__NodeClass__Group__5__Impl rule__NodeClass__Group__6
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2085:1: ( rule__NodeClass__Group__5__Impl rule__NodeClass__Group__6 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2086:2: rule__NodeClass__Group__5__Impl rule__NodeClass__Group__6
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group__5__Impl_in_rule__NodeClass__Group__54756);
+            pushFollow(FOLLOW_rule__NodeClass__Group__5__Impl_in_rule__NodeClass__Group__54330);
             rule__NodeClass__Group__5__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group__6_in_rule__NodeClass__Group__54759);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group__6_in_rule__NodeClass__Group__54333);
             rule__NodeClass__Group__6();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6644,49 +6794,53 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__5__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2310:1: rule__NodeClass__Group__5__Impl : ( ( rule__NodeClass__ThreadsAssignment_5 )* ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2093:1: rule__NodeClass__Group__5__Impl : ( ( rule__NodeClass__ThreadsAssignment_5 )* ) ;
     public final void rule__NodeClass__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2314:1: ( ( ( rule__NodeClass__ThreadsAssignment_5 )* ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2315:1: ( ( rule__NodeClass__ThreadsAssignment_5 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2097:1: ( ( ( rule__NodeClass__ThreadsAssignment_5 )* ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2098:1: ( ( rule__NodeClass__ThreadsAssignment_5 )* )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2315:1: ( ( rule__NodeClass__ThreadsAssignment_5 )* )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2316:1: ( rule__NodeClass__ThreadsAssignment_5 )*
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2098:1: ( ( rule__NodeClass__ThreadsAssignment_5 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2099:1: ( rule__NodeClass__ThreadsAssignment_5 )*
             {
-             before(grammarAccess.getNodeClassAccess().getThreadsAssignment_5()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2317:1: ( rule__NodeClass__ThreadsAssignment_5 )*
-            loop28:
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getThreadsAssignment_5()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2100:1: ( rule__NodeClass__ThreadsAssignment_5 )*
+            loop27:
             do {
-                int alt28=2;
-                int LA28_0 = input.LA(1);
+                int alt27=2;
+                int LA27_0 = input.LA(1);
 
-                if ( (LA28_0==13||LA28_0==58) ) {
-                    alt28=1;
+                if ( (LA27_0==12||LA27_0==59) ) {
+                    alt27=1;
                 }
 
 
-                switch (alt28) {
+                switch (alt27) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2317:2: rule__NodeClass__ThreadsAssignment_5
+            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2100:2: rule__NodeClass__ThreadsAssignment_5
             	    {
-            	    pushFollow(FOLLOW_rule__NodeClass__ThreadsAssignment_5_in_rule__NodeClass__Group__5__Impl4786);
+            	    pushFollow(FOLLOW_rule__NodeClass__ThreadsAssignment_5_in_rule__NodeClass__Group__5__Impl4360);
             	    rule__NodeClass__ThreadsAssignment_5();
 
             	    state._fsp--;
-
+            	    if (state.failed) return ;
 
             	    }
             	    break;
 
             	default :
-            	    break loop28;
+            	    break loop27;
                 }
             } while (true);
 
-             after(grammarAccess.getNodeClassAccess().getThreadsAssignment_5()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getThreadsAssignment_5()); 
+            }
 
             }
 
@@ -6709,20 +6863,20 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__6"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2327:1: rule__NodeClass__Group__6 : rule__NodeClass__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2110:1: rule__NodeClass__Group__6 : rule__NodeClass__Group__6__Impl ;
     public final void rule__NodeClass__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2331:1: ( rule__NodeClass__Group__6__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2332:2: rule__NodeClass__Group__6__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2114:1: ( rule__NodeClass__Group__6__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2115:2: rule__NodeClass__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group__6__Impl_in_rule__NodeClass__Group__64817);
+            pushFollow(FOLLOW_rule__NodeClass__Group__6__Impl_in_rule__NodeClass__Group__64391);
             rule__NodeClass__Group__6__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6742,21 +6896,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group__6__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2338:1: rule__NodeClass__Group__6__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2121:1: rule__NodeClass__Group__6__Impl : ( '}' ) ;
     public final void rule__NodeClass__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2342:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2343:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2125:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2126:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2343:1: ( '}' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2344:1: '}'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2126:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2127:1: '}'
             {
-             before(grammarAccess.getNodeClassAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,30,FOLLOW_30_in_rule__NodeClass__Group__6__Impl4845); 
-             after(grammarAccess.getNodeClassAccess().getRightCurlyBracketKeyword_6()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getRightCurlyBracketKeyword_6()); 
+            }
+            match(input,31,FOLLOW_31_in_rule__NodeClass__Group__6__Impl4419); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getRightCurlyBracketKeyword_6()); 
+            }
 
             }
 
@@ -6779,25 +6937,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_0__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2371:1: rule__NodeClass__Group_4_0__0 : rule__NodeClass__Group_4_0__0__Impl rule__NodeClass__Group_4_0__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2154:1: rule__NodeClass__Group_4_0__0 : rule__NodeClass__Group_4_0__0__Impl rule__NodeClass__Group_4_0__1 ;
     public final void rule__NodeClass__Group_4_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2375:1: ( rule__NodeClass__Group_4_0__0__Impl rule__NodeClass__Group_4_0__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2376:2: rule__NodeClass__Group_4_0__0__Impl rule__NodeClass__Group_4_0__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2158:1: ( rule__NodeClass__Group_4_0__0__Impl rule__NodeClass__Group_4_0__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2159:2: rule__NodeClass__Group_4_0__0__Impl rule__NodeClass__Group_4_0__1
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_0__0__Impl_in_rule__NodeClass__Group_4_0__04890);
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_0__0__Impl_in_rule__NodeClass__Group_4_0__04464);
             rule__NodeClass__Group_4_0__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_0__1_in_rule__NodeClass__Group_4_0__04893);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_0__1_in_rule__NodeClass__Group_4_0__04467);
             rule__NodeClass__Group_4_0__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6817,21 +6975,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_0__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2383:1: rule__NodeClass__Group_4_0__0__Impl : ( 'runtime' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2166:1: rule__NodeClass__Group_4_0__0__Impl : ( 'runtime' ) ;
     public final void rule__NodeClass__Group_4_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2387:1: ( ( 'runtime' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2388:1: ( 'runtime' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2170:1: ( ( 'runtime' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2171:1: ( 'runtime' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2388:1: ( 'runtime' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2389:1: 'runtime'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2171:1: ( 'runtime' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2172:1: 'runtime'
             {
-             before(grammarAccess.getNodeClassAccess().getRuntimeKeyword_4_0_0()); 
-            match(input,35,FOLLOW_35_in_rule__NodeClass__Group_4_0__0__Impl4921); 
-             after(grammarAccess.getNodeClassAccess().getRuntimeKeyword_4_0_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getRuntimeKeyword_4_0_0()); 
+            }
+            match(input,36,FOLLOW_36_in_rule__NodeClass__Group_4_0__0__Impl4495); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getRuntimeKeyword_4_0_0()); 
+            }
 
             }
 
@@ -6854,25 +7016,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_0__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2402:1: rule__NodeClass__Group_4_0__1 : rule__NodeClass__Group_4_0__1__Impl rule__NodeClass__Group_4_0__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2185:1: rule__NodeClass__Group_4_0__1 : rule__NodeClass__Group_4_0__1__Impl rule__NodeClass__Group_4_0__2 ;
     public final void rule__NodeClass__Group_4_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2406:1: ( rule__NodeClass__Group_4_0__1__Impl rule__NodeClass__Group_4_0__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2407:2: rule__NodeClass__Group_4_0__1__Impl rule__NodeClass__Group_4_0__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2189:1: ( rule__NodeClass__Group_4_0__1__Impl rule__NodeClass__Group_4_0__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2190:2: rule__NodeClass__Group_4_0__1__Impl rule__NodeClass__Group_4_0__2
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_0__1__Impl_in_rule__NodeClass__Group_4_0__14952);
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_0__1__Impl_in_rule__NodeClass__Group_4_0__14526);
             rule__NodeClass__Group_4_0__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_0__2_in_rule__NodeClass__Group_4_0__14955);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_0__2_in_rule__NodeClass__Group_4_0__14529);
             rule__NodeClass__Group_4_0__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6892,21 +7054,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_0__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2414:1: rule__NodeClass__Group_4_0__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2197:1: rule__NodeClass__Group_4_0__1__Impl : ( '=' ) ;
     public final void rule__NodeClass__Group_4_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2418:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2419:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2201:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2202:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2419:1: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2420:1: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2202:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2203:1: '='
             {
-             before(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_0_1()); 
-            match(input,36,FOLLOW_36_in_rule__NodeClass__Group_4_0__1__Impl4983); 
-             after(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_0_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_0_1()); 
+            }
+            match(input,37,FOLLOW_37_in_rule__NodeClass__Group_4_0__1__Impl4557); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_0_1()); 
+            }
 
             }
 
@@ -6929,20 +7095,20 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_0__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2433:1: rule__NodeClass__Group_4_0__2 : rule__NodeClass__Group_4_0__2__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2216:1: rule__NodeClass__Group_4_0__2 : rule__NodeClass__Group_4_0__2__Impl ;
     public final void rule__NodeClass__Group_4_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2437:1: ( rule__NodeClass__Group_4_0__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2438:2: rule__NodeClass__Group_4_0__2__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2220:1: ( rule__NodeClass__Group_4_0__2__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2221:2: rule__NodeClass__Group_4_0__2__Impl
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_0__2__Impl_in_rule__NodeClass__Group_4_0__25014);
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_0__2__Impl_in_rule__NodeClass__Group_4_0__24588);
             rule__NodeClass__Group_4_0__2__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -6962,31 +7128,35 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_0__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2444:1: rule__NodeClass__Group_4_0__2__Impl : ( ( rule__NodeClass__RuntimeAssignment_4_0_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2227:1: rule__NodeClass__Group_4_0__2__Impl : ( ( rule__NodeClass__RuntimeAssignment_4_0_2 ) ) ;
     public final void rule__NodeClass__Group_4_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2448:1: ( ( ( rule__NodeClass__RuntimeAssignment_4_0_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2449:1: ( ( rule__NodeClass__RuntimeAssignment_4_0_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2231:1: ( ( ( rule__NodeClass__RuntimeAssignment_4_0_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2232:1: ( ( rule__NodeClass__RuntimeAssignment_4_0_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2449:1: ( ( rule__NodeClass__RuntimeAssignment_4_0_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2450:1: ( rule__NodeClass__RuntimeAssignment_4_0_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2232:1: ( ( rule__NodeClass__RuntimeAssignment_4_0_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2233:1: ( rule__NodeClass__RuntimeAssignment_4_0_2 )
             {
-             before(grammarAccess.getNodeClassAccess().getRuntimeAssignment_4_0_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2451:1: ( rule__NodeClass__RuntimeAssignment_4_0_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2451:2: rule__NodeClass__RuntimeAssignment_4_0_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getRuntimeAssignment_4_0_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2234:1: ( rule__NodeClass__RuntimeAssignment_4_0_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2234:2: rule__NodeClass__RuntimeAssignment_4_0_2
             {
-            pushFollow(FOLLOW_rule__NodeClass__RuntimeAssignment_4_0_2_in_rule__NodeClass__Group_4_0__2__Impl5041);
+            pushFollow(FOLLOW_rule__NodeClass__RuntimeAssignment_4_0_2_in_rule__NodeClass__Group_4_0__2__Impl4615);
             rule__NodeClass__RuntimeAssignment_4_0_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getNodeClassAccess().getRuntimeAssignment_4_0_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getRuntimeAssignment_4_0_2()); 
+            }
 
             }
 
@@ -7009,25 +7179,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_1__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2467:1: rule__NodeClass__Group_4_1__0 : rule__NodeClass__Group_4_1__0__Impl rule__NodeClass__Group_4_1__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2250:1: rule__NodeClass__Group_4_1__0 : rule__NodeClass__Group_4_1__0__Impl rule__NodeClass__Group_4_1__1 ;
     public final void rule__NodeClass__Group_4_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2471:1: ( rule__NodeClass__Group_4_1__0__Impl rule__NodeClass__Group_4_1__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2472:2: rule__NodeClass__Group_4_1__0__Impl rule__NodeClass__Group_4_1__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2254:1: ( rule__NodeClass__Group_4_1__0__Impl rule__NodeClass__Group_4_1__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2255:2: rule__NodeClass__Group_4_1__0__Impl rule__NodeClass__Group_4_1__1
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_1__0__Impl_in_rule__NodeClass__Group_4_1__05077);
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_1__0__Impl_in_rule__NodeClass__Group_4_1__04651);
             rule__NodeClass__Group_4_1__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_1__1_in_rule__NodeClass__Group_4_1__05080);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_1__1_in_rule__NodeClass__Group_4_1__04654);
             rule__NodeClass__Group_4_1__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7047,21 +7217,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_1__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2479:1: rule__NodeClass__Group_4_1__0__Impl : ( 'priomin' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2262:1: rule__NodeClass__Group_4_1__0__Impl : ( 'priomin' ) ;
     public final void rule__NodeClass__Group_4_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2483:1: ( ( 'priomin' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2484:1: ( 'priomin' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2266:1: ( ( 'priomin' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2267:1: ( 'priomin' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2484:1: ( 'priomin' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2485:1: 'priomin'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2267:1: ( 'priomin' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2268:1: 'priomin'
             {
-             before(grammarAccess.getNodeClassAccess().getPriominKeyword_4_1_0()); 
-            match(input,37,FOLLOW_37_in_rule__NodeClass__Group_4_1__0__Impl5108); 
-             after(grammarAccess.getNodeClassAccess().getPriominKeyword_4_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getPriominKeyword_4_1_0()); 
+            }
+            match(input,38,FOLLOW_38_in_rule__NodeClass__Group_4_1__0__Impl4682); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getPriominKeyword_4_1_0()); 
+            }
 
             }
 
@@ -7084,25 +7258,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_1__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2498:1: rule__NodeClass__Group_4_1__1 : rule__NodeClass__Group_4_1__1__Impl rule__NodeClass__Group_4_1__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2281:1: rule__NodeClass__Group_4_1__1 : rule__NodeClass__Group_4_1__1__Impl rule__NodeClass__Group_4_1__2 ;
     public final void rule__NodeClass__Group_4_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2502:1: ( rule__NodeClass__Group_4_1__1__Impl rule__NodeClass__Group_4_1__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2503:2: rule__NodeClass__Group_4_1__1__Impl rule__NodeClass__Group_4_1__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2285:1: ( rule__NodeClass__Group_4_1__1__Impl rule__NodeClass__Group_4_1__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2286:2: rule__NodeClass__Group_4_1__1__Impl rule__NodeClass__Group_4_1__2
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_1__1__Impl_in_rule__NodeClass__Group_4_1__15139);
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_1__1__Impl_in_rule__NodeClass__Group_4_1__14713);
             rule__NodeClass__Group_4_1__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_1__2_in_rule__NodeClass__Group_4_1__15142);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_1__2_in_rule__NodeClass__Group_4_1__14716);
             rule__NodeClass__Group_4_1__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7122,21 +7296,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_1__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2510:1: rule__NodeClass__Group_4_1__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2293:1: rule__NodeClass__Group_4_1__1__Impl : ( '=' ) ;
     public final void rule__NodeClass__Group_4_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2514:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2515:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2297:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2298:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2515:1: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2516:1: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2298:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2299:1: '='
             {
-             before(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_1_1()); 
-            match(input,36,FOLLOW_36_in_rule__NodeClass__Group_4_1__1__Impl5170); 
-             after(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_1_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_1_1()); 
+            }
+            match(input,37,FOLLOW_37_in_rule__NodeClass__Group_4_1__1__Impl4744); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_1_1()); 
+            }
 
             }
 
@@ -7159,20 +7337,20 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_1__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2529:1: rule__NodeClass__Group_4_1__2 : rule__NodeClass__Group_4_1__2__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2312:1: rule__NodeClass__Group_4_1__2 : rule__NodeClass__Group_4_1__2__Impl ;
     public final void rule__NodeClass__Group_4_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2533:1: ( rule__NodeClass__Group_4_1__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2534:2: rule__NodeClass__Group_4_1__2__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2316:1: ( rule__NodeClass__Group_4_1__2__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2317:2: rule__NodeClass__Group_4_1__2__Impl
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_1__2__Impl_in_rule__NodeClass__Group_4_1__25201);
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_1__2__Impl_in_rule__NodeClass__Group_4_1__24775);
             rule__NodeClass__Group_4_1__2__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7192,31 +7370,35 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_1__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2540:1: rule__NodeClass__Group_4_1__2__Impl : ( ( rule__NodeClass__PriominAssignment_4_1_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2323:1: rule__NodeClass__Group_4_1__2__Impl : ( ( rule__NodeClass__PriominAssignment_4_1_2 ) ) ;
     public final void rule__NodeClass__Group_4_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2544:1: ( ( ( rule__NodeClass__PriominAssignment_4_1_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2545:1: ( ( rule__NodeClass__PriominAssignment_4_1_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2327:1: ( ( ( rule__NodeClass__PriominAssignment_4_1_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2328:1: ( ( rule__NodeClass__PriominAssignment_4_1_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2545:1: ( ( rule__NodeClass__PriominAssignment_4_1_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2546:1: ( rule__NodeClass__PriominAssignment_4_1_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2328:1: ( ( rule__NodeClass__PriominAssignment_4_1_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2329:1: ( rule__NodeClass__PriominAssignment_4_1_2 )
             {
-             before(grammarAccess.getNodeClassAccess().getPriominAssignment_4_1_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2547:1: ( rule__NodeClass__PriominAssignment_4_1_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2547:2: rule__NodeClass__PriominAssignment_4_1_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getPriominAssignment_4_1_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2330:1: ( rule__NodeClass__PriominAssignment_4_1_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2330:2: rule__NodeClass__PriominAssignment_4_1_2
             {
-            pushFollow(FOLLOW_rule__NodeClass__PriominAssignment_4_1_2_in_rule__NodeClass__Group_4_1__2__Impl5228);
+            pushFollow(FOLLOW_rule__NodeClass__PriominAssignment_4_1_2_in_rule__NodeClass__Group_4_1__2__Impl4802);
             rule__NodeClass__PriominAssignment_4_1_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getNodeClassAccess().getPriominAssignment_4_1_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getPriominAssignment_4_1_2()); 
+            }
 
             }
 
@@ -7239,25 +7421,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_2__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2563:1: rule__NodeClass__Group_4_2__0 : rule__NodeClass__Group_4_2__0__Impl rule__NodeClass__Group_4_2__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2346:1: rule__NodeClass__Group_4_2__0 : rule__NodeClass__Group_4_2__0__Impl rule__NodeClass__Group_4_2__1 ;
     public final void rule__NodeClass__Group_4_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2567:1: ( rule__NodeClass__Group_4_2__0__Impl rule__NodeClass__Group_4_2__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2568:2: rule__NodeClass__Group_4_2__0__Impl rule__NodeClass__Group_4_2__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2350:1: ( rule__NodeClass__Group_4_2__0__Impl rule__NodeClass__Group_4_2__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2351:2: rule__NodeClass__Group_4_2__0__Impl rule__NodeClass__Group_4_2__1
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_2__0__Impl_in_rule__NodeClass__Group_4_2__05264);
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_2__0__Impl_in_rule__NodeClass__Group_4_2__04838);
             rule__NodeClass__Group_4_2__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_2__1_in_rule__NodeClass__Group_4_2__05267);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_2__1_in_rule__NodeClass__Group_4_2__04841);
             rule__NodeClass__Group_4_2__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7277,21 +7459,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_2__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2575:1: rule__NodeClass__Group_4_2__0__Impl : ( 'priomax' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2358:1: rule__NodeClass__Group_4_2__0__Impl : ( 'priomax' ) ;
     public final void rule__NodeClass__Group_4_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2579:1: ( ( 'priomax' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2580:1: ( 'priomax' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2362:1: ( ( 'priomax' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2363:1: ( 'priomax' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2580:1: ( 'priomax' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2581:1: 'priomax'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2363:1: ( 'priomax' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2364:1: 'priomax'
             {
-             before(grammarAccess.getNodeClassAccess().getPriomaxKeyword_4_2_0()); 
-            match(input,38,FOLLOW_38_in_rule__NodeClass__Group_4_2__0__Impl5295); 
-             after(grammarAccess.getNodeClassAccess().getPriomaxKeyword_4_2_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getPriomaxKeyword_4_2_0()); 
+            }
+            match(input,39,FOLLOW_39_in_rule__NodeClass__Group_4_2__0__Impl4869); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getPriomaxKeyword_4_2_0()); 
+            }
 
             }
 
@@ -7314,25 +7500,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_2__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2594:1: rule__NodeClass__Group_4_2__1 : rule__NodeClass__Group_4_2__1__Impl rule__NodeClass__Group_4_2__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2377:1: rule__NodeClass__Group_4_2__1 : rule__NodeClass__Group_4_2__1__Impl rule__NodeClass__Group_4_2__2 ;
     public final void rule__NodeClass__Group_4_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2598:1: ( rule__NodeClass__Group_4_2__1__Impl rule__NodeClass__Group_4_2__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2599:2: rule__NodeClass__Group_4_2__1__Impl rule__NodeClass__Group_4_2__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2381:1: ( rule__NodeClass__Group_4_2__1__Impl rule__NodeClass__Group_4_2__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2382:2: rule__NodeClass__Group_4_2__1__Impl rule__NodeClass__Group_4_2__2
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_2__1__Impl_in_rule__NodeClass__Group_4_2__15326);
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_2__1__Impl_in_rule__NodeClass__Group_4_2__14900);
             rule__NodeClass__Group_4_2__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_2__2_in_rule__NodeClass__Group_4_2__15329);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_2__2_in_rule__NodeClass__Group_4_2__14903);
             rule__NodeClass__Group_4_2__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7352,21 +7538,25 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_2__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2606:1: rule__NodeClass__Group_4_2__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2389:1: rule__NodeClass__Group_4_2__1__Impl : ( '=' ) ;
     public final void rule__NodeClass__Group_4_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2610:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2611:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2393:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2394:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2611:1: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2612:1: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2394:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2395:1: '='
             {
-             before(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_2_1()); 
-            match(input,36,FOLLOW_36_in_rule__NodeClass__Group_4_2__1__Impl5357); 
-             after(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_2_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_2_1()); 
+            }
+            match(input,37,FOLLOW_37_in_rule__NodeClass__Group_4_2__1__Impl4931); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_2_1()); 
+            }
 
             }
 
@@ -7389,20 +7579,20 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_2__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2625:1: rule__NodeClass__Group_4_2__2 : rule__NodeClass__Group_4_2__2__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2408:1: rule__NodeClass__Group_4_2__2 : rule__NodeClass__Group_4_2__2__Impl ;
     public final void rule__NodeClass__Group_4_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2629:1: ( rule__NodeClass__Group_4_2__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2630:2: rule__NodeClass__Group_4_2__2__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2412:1: ( rule__NodeClass__Group_4_2__2__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2413:2: rule__NodeClass__Group_4_2__2__Impl
             {
-            pushFollow(FOLLOW_rule__NodeClass__Group_4_2__2__Impl_in_rule__NodeClass__Group_4_2__25388);
+            pushFollow(FOLLOW_rule__NodeClass__Group_4_2__2__Impl_in_rule__NodeClass__Group_4_2__24962);
             rule__NodeClass__Group_4_2__2__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7422,31 +7612,35 @@
 
 
     // $ANTLR start "rule__NodeClass__Group_4_2__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2636:1: rule__NodeClass__Group_4_2__2__Impl : ( ( rule__NodeClass__PriomaxAssignment_4_2_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2419:1: rule__NodeClass__Group_4_2__2__Impl : ( ( rule__NodeClass__PriomaxAssignment_4_2_2 ) ) ;
     public final void rule__NodeClass__Group_4_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2640:1: ( ( ( rule__NodeClass__PriomaxAssignment_4_2_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2641:1: ( ( rule__NodeClass__PriomaxAssignment_4_2_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2423:1: ( ( ( rule__NodeClass__PriomaxAssignment_4_2_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2424:1: ( ( rule__NodeClass__PriomaxAssignment_4_2_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2641:1: ( ( rule__NodeClass__PriomaxAssignment_4_2_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2642:1: ( rule__NodeClass__PriomaxAssignment_4_2_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2424:1: ( ( rule__NodeClass__PriomaxAssignment_4_2_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2425:1: ( rule__NodeClass__PriomaxAssignment_4_2_2 )
             {
-             before(grammarAccess.getNodeClassAccess().getPriomaxAssignment_4_2_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2643:1: ( rule__NodeClass__PriomaxAssignment_4_2_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2643:2: rule__NodeClass__PriomaxAssignment_4_2_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getPriomaxAssignment_4_2_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2426:1: ( rule__NodeClass__PriomaxAssignment_4_2_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2426:2: rule__NodeClass__PriomaxAssignment_4_2_2
             {
-            pushFollow(FOLLOW_rule__NodeClass__PriomaxAssignment_4_2_2_in_rule__NodeClass__Group_4_2__2__Impl5415);
+            pushFollow(FOLLOW_rule__NodeClass__PriomaxAssignment_4_2_2_in_rule__NodeClass__Group_4_2__2__Impl4989);
             rule__NodeClass__PriomaxAssignment_4_2_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getNodeClassAccess().getPriomaxAssignment_4_2_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getPriomaxAssignment_4_2_2()); 
+            }
 
             }
 
@@ -7469,25 +7663,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2659:1: rule__PhysicalThread__Group__0 : rule__PhysicalThread__Group__0__Impl rule__PhysicalThread__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2442:1: rule__PhysicalThread__Group__0 : rule__PhysicalThread__Group__0__Impl rule__PhysicalThread__Group__1 ;
     public final void rule__PhysicalThread__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2663:1: ( rule__PhysicalThread__Group__0__Impl rule__PhysicalThread__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2664:2: rule__PhysicalThread__Group__0__Impl rule__PhysicalThread__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2446:1: ( rule__PhysicalThread__Group__0__Impl rule__PhysicalThread__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2447:2: rule__PhysicalThread__Group__0__Impl rule__PhysicalThread__Group__1
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group__0__Impl_in_rule__PhysicalThread__Group__05451);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group__0__Impl_in_rule__PhysicalThread__Group__05025);
             rule__PhysicalThread__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group__1_in_rule__PhysicalThread__Group__05454);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group__1_in_rule__PhysicalThread__Group__05028);
             rule__PhysicalThread__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7507,31 +7701,35 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2671:1: rule__PhysicalThread__Group__0__Impl : ( ( rule__PhysicalThread__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2454:1: rule__PhysicalThread__Group__0__Impl : ( ( rule__PhysicalThread__Alternatives_0 ) ) ;
     public final void rule__PhysicalThread__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2675:1: ( ( ( rule__PhysicalThread__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2676:1: ( ( rule__PhysicalThread__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2458:1: ( ( ( rule__PhysicalThread__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2459:1: ( ( rule__PhysicalThread__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2676:1: ( ( rule__PhysicalThread__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2677:1: ( rule__PhysicalThread__Alternatives_0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2459:1: ( ( rule__PhysicalThread__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2460:1: ( rule__PhysicalThread__Alternatives_0 )
             {
-             before(grammarAccess.getPhysicalThreadAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2678:1: ( rule__PhysicalThread__Alternatives_0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2678:2: rule__PhysicalThread__Alternatives_0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getAlternatives_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2461:1: ( rule__PhysicalThread__Alternatives_0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2461:2: rule__PhysicalThread__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Alternatives_0_in_rule__PhysicalThread__Group__0__Impl5481);
+            pushFollow(FOLLOW_rule__PhysicalThread__Alternatives_0_in_rule__PhysicalThread__Group__0__Impl5055);
             rule__PhysicalThread__Alternatives_0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalThreadAccess().getAlternatives_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getAlternatives_0()); 
+            }
 
             }
 
@@ -7554,25 +7752,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2688:1: rule__PhysicalThread__Group__1 : rule__PhysicalThread__Group__1__Impl rule__PhysicalThread__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2471:1: rule__PhysicalThread__Group__1 : rule__PhysicalThread__Group__1__Impl rule__PhysicalThread__Group__2 ;
     public final void rule__PhysicalThread__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2692:1: ( rule__PhysicalThread__Group__1__Impl rule__PhysicalThread__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2693:2: rule__PhysicalThread__Group__1__Impl rule__PhysicalThread__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2475:1: ( rule__PhysicalThread__Group__1__Impl rule__PhysicalThread__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2476:2: rule__PhysicalThread__Group__1__Impl rule__PhysicalThread__Group__2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group__1__Impl_in_rule__PhysicalThread__Group__15511);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group__1__Impl_in_rule__PhysicalThread__Group__15085);
             rule__PhysicalThread__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group__2_in_rule__PhysicalThread__Group__15514);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group__2_in_rule__PhysicalThread__Group__15088);
             rule__PhysicalThread__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7592,31 +7790,35 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2700:1: rule__PhysicalThread__Group__1__Impl : ( ( rule__PhysicalThread__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2483:1: rule__PhysicalThread__Group__1__Impl : ( ( rule__PhysicalThread__NameAssignment_1 ) ) ;
     public final void rule__PhysicalThread__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2704:1: ( ( ( rule__PhysicalThread__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2705:1: ( ( rule__PhysicalThread__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2487:1: ( ( ( rule__PhysicalThread__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2488:1: ( ( rule__PhysicalThread__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2705:1: ( ( rule__PhysicalThread__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2706:1: ( rule__PhysicalThread__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2488:1: ( ( rule__PhysicalThread__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2489:1: ( rule__PhysicalThread__NameAssignment_1 )
             {
-             before(grammarAccess.getPhysicalThreadAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2707:1: ( rule__PhysicalThread__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2707:2: rule__PhysicalThread__NameAssignment_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getNameAssignment_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2490:1: ( rule__PhysicalThread__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2490:2: rule__PhysicalThread__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__NameAssignment_1_in_rule__PhysicalThread__Group__1__Impl5541);
+            pushFollow(FOLLOW_rule__PhysicalThread__NameAssignment_1_in_rule__PhysicalThread__Group__1__Impl5115);
             rule__PhysicalThread__NameAssignment_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalThreadAccess().getNameAssignment_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getNameAssignment_1()); 
+            }
 
             }
 
@@ -7639,25 +7841,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2717:1: rule__PhysicalThread__Group__2 : rule__PhysicalThread__Group__2__Impl rule__PhysicalThread__Group__3 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2500:1: rule__PhysicalThread__Group__2 : rule__PhysicalThread__Group__2__Impl rule__PhysicalThread__Group__3 ;
     public final void rule__PhysicalThread__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2721:1: ( rule__PhysicalThread__Group__2__Impl rule__PhysicalThread__Group__3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2722:2: rule__PhysicalThread__Group__2__Impl rule__PhysicalThread__Group__3
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2504:1: ( rule__PhysicalThread__Group__2__Impl rule__PhysicalThread__Group__3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2505:2: rule__PhysicalThread__Group__2__Impl rule__PhysicalThread__Group__3
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group__2__Impl_in_rule__PhysicalThread__Group__25571);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group__2__Impl_in_rule__PhysicalThread__Group__25145);
             rule__PhysicalThread__Group__2__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group__3_in_rule__PhysicalThread__Group__25574);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group__3_in_rule__PhysicalThread__Group__25148);
             rule__PhysicalThread__Group__3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7677,21 +7879,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2729:1: rule__PhysicalThread__Group__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2512:1: rule__PhysicalThread__Group__2__Impl : ( '{' ) ;
     public final void rule__PhysicalThread__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2733:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2734:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2516:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2517:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2734:1: ( '{' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2735:1: '{'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2517:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2518:1: '{'
             {
-             before(grammarAccess.getPhysicalThreadAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,29,FOLLOW_29_in_rule__PhysicalThread__Group__2__Impl5602); 
-             after(grammarAccess.getPhysicalThreadAccess().getLeftCurlyBracketKeyword_2()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getLeftCurlyBracketKeyword_2()); 
+            }
+            match(input,30,FOLLOW_30_in_rule__PhysicalThread__Group__2__Impl5176); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getLeftCurlyBracketKeyword_2()); 
+            }
 
             }
 
@@ -7714,25 +7920,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2748:1: rule__PhysicalThread__Group__3 : rule__PhysicalThread__Group__3__Impl rule__PhysicalThread__Group__4 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2531:1: rule__PhysicalThread__Group__3 : rule__PhysicalThread__Group__3__Impl rule__PhysicalThread__Group__4 ;
     public final void rule__PhysicalThread__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2752:1: ( rule__PhysicalThread__Group__3__Impl rule__PhysicalThread__Group__4 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2753:2: rule__PhysicalThread__Group__3__Impl rule__PhysicalThread__Group__4
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2535:1: ( rule__PhysicalThread__Group__3__Impl rule__PhysicalThread__Group__4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2536:2: rule__PhysicalThread__Group__3__Impl rule__PhysicalThread__Group__4
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group__3__Impl_in_rule__PhysicalThread__Group__35633);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group__3__Impl_in_rule__PhysicalThread__Group__35207);
             rule__PhysicalThread__Group__3__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group__4_in_rule__PhysicalThread__Group__35636);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group__4_in_rule__PhysicalThread__Group__35210);
             rule__PhysicalThread__Group__4();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7752,31 +7958,35 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2760:1: rule__PhysicalThread__Group__3__Impl : ( ( rule__PhysicalThread__UnorderedGroup_3 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2543:1: rule__PhysicalThread__Group__3__Impl : ( ( rule__PhysicalThread__UnorderedGroup_3 ) ) ;
     public final void rule__PhysicalThread__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2764:1: ( ( ( rule__PhysicalThread__UnorderedGroup_3 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2765:1: ( ( rule__PhysicalThread__UnorderedGroup_3 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2547:1: ( ( ( rule__PhysicalThread__UnorderedGroup_3 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2548:1: ( ( rule__PhysicalThread__UnorderedGroup_3 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2765:1: ( ( rule__PhysicalThread__UnorderedGroup_3 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2766:1: ( rule__PhysicalThread__UnorderedGroup_3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2548:1: ( ( rule__PhysicalThread__UnorderedGroup_3 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2549:1: ( rule__PhysicalThread__UnorderedGroup_3 )
             {
-             before(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2767:1: ( rule__PhysicalThread__UnorderedGroup_3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2767:2: rule__PhysicalThread__UnorderedGroup_3
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2550:1: ( rule__PhysicalThread__UnorderedGroup_3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2550:2: rule__PhysicalThread__UnorderedGroup_3
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3_in_rule__PhysicalThread__Group__3__Impl5663);
+            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3_in_rule__PhysicalThread__Group__3__Impl5237);
             rule__PhysicalThread__UnorderedGroup_3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3()); 
+            }
 
             }
 
@@ -7799,20 +8009,20 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group__4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2777:1: rule__PhysicalThread__Group__4 : rule__PhysicalThread__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2560:1: rule__PhysicalThread__Group__4 : rule__PhysicalThread__Group__4__Impl ;
     public final void rule__PhysicalThread__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2781:1: ( rule__PhysicalThread__Group__4__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2782:2: rule__PhysicalThread__Group__4__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2564:1: ( rule__PhysicalThread__Group__4__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2565:2: rule__PhysicalThread__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group__4__Impl_in_rule__PhysicalThread__Group__45693);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group__4__Impl_in_rule__PhysicalThread__Group__45267);
             rule__PhysicalThread__Group__4__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7832,21 +8042,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2788:1: rule__PhysicalThread__Group__4__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2571:1: rule__PhysicalThread__Group__4__Impl : ( '}' ) ;
     public final void rule__PhysicalThread__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2792:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2793:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2575:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2576:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2793:1: ( '}' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2794:1: '}'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2576:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2577:1: '}'
             {
-             before(grammarAccess.getPhysicalThreadAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,30,FOLLOW_30_in_rule__PhysicalThread__Group__4__Impl5721); 
-             after(grammarAccess.getPhysicalThreadAccess().getRightCurlyBracketKeyword_4()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getRightCurlyBracketKeyword_4()); 
+            }
+            match(input,31,FOLLOW_31_in_rule__PhysicalThread__Group__4__Impl5295); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getRightCurlyBracketKeyword_4()); 
+            }
 
             }
 
@@ -7869,25 +8083,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_0__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2817:1: rule__PhysicalThread__Group_3_0__0 : rule__PhysicalThread__Group_3_0__0__Impl rule__PhysicalThread__Group_3_0__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2600:1: rule__PhysicalThread__Group_3_0__0 : rule__PhysicalThread__Group_3_0__0__Impl rule__PhysicalThread__Group_3_0__1 ;
     public final void rule__PhysicalThread__Group_3_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2821:1: ( rule__PhysicalThread__Group_3_0__0__Impl rule__PhysicalThread__Group_3_0__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2822:2: rule__PhysicalThread__Group_3_0__0__Impl rule__PhysicalThread__Group_3_0__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2604:1: ( rule__PhysicalThread__Group_3_0__0__Impl rule__PhysicalThread__Group_3_0__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2605:2: rule__PhysicalThread__Group_3_0__0__Impl rule__PhysicalThread__Group_3_0__1
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__0__Impl_in_rule__PhysicalThread__Group_3_0__05762);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__0__Impl_in_rule__PhysicalThread__Group_3_0__05336);
             rule__PhysicalThread__Group_3_0__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__1_in_rule__PhysicalThread__Group_3_0__05765);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__1_in_rule__PhysicalThread__Group_3_0__05339);
             rule__PhysicalThread__Group_3_0__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7907,21 +8121,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_0__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2829:1: rule__PhysicalThread__Group_3_0__0__Impl : ( 'execmode' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2612:1: rule__PhysicalThread__Group_3_0__0__Impl : ( 'execmode' ) ;
     public final void rule__PhysicalThread__Group_3_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2833:1: ( ( 'execmode' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2834:1: ( 'execmode' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2616:1: ( ( 'execmode' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2617:1: ( 'execmode' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2834:1: ( 'execmode' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2835:1: 'execmode'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2617:1: ( 'execmode' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2618:1: 'execmode'
             {
-             before(grammarAccess.getPhysicalThreadAccess().getExecmodeKeyword_3_0_0()); 
-            match(input,39,FOLLOW_39_in_rule__PhysicalThread__Group_3_0__0__Impl5793); 
-             after(grammarAccess.getPhysicalThreadAccess().getExecmodeKeyword_3_0_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getExecmodeKeyword_3_0_0()); 
+            }
+            match(input,40,FOLLOW_40_in_rule__PhysicalThread__Group_3_0__0__Impl5367); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getExecmodeKeyword_3_0_0()); 
+            }
 
             }
 
@@ -7944,25 +8162,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_0__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2848:1: rule__PhysicalThread__Group_3_0__1 : rule__PhysicalThread__Group_3_0__1__Impl rule__PhysicalThread__Group_3_0__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2631:1: rule__PhysicalThread__Group_3_0__1 : rule__PhysicalThread__Group_3_0__1__Impl rule__PhysicalThread__Group_3_0__2 ;
     public final void rule__PhysicalThread__Group_3_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2852:1: ( rule__PhysicalThread__Group_3_0__1__Impl rule__PhysicalThread__Group_3_0__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2853:2: rule__PhysicalThread__Group_3_0__1__Impl rule__PhysicalThread__Group_3_0__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2635:1: ( rule__PhysicalThread__Group_3_0__1__Impl rule__PhysicalThread__Group_3_0__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2636:2: rule__PhysicalThread__Group_3_0__1__Impl rule__PhysicalThread__Group_3_0__2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__1__Impl_in_rule__PhysicalThread__Group_3_0__15824);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__1__Impl_in_rule__PhysicalThread__Group_3_0__15398);
             rule__PhysicalThread__Group_3_0__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__2_in_rule__PhysicalThread__Group_3_0__15827);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__2_in_rule__PhysicalThread__Group_3_0__15401);
             rule__PhysicalThread__Group_3_0__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -7982,21 +8200,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_0__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2860:1: rule__PhysicalThread__Group_3_0__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2643:1: rule__PhysicalThread__Group_3_0__1__Impl : ( '=' ) ;
     public final void rule__PhysicalThread__Group_3_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2864:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2865:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2647:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2648:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2865:1: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2866:1: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2648:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2649:1: '='
             {
-             before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_0_1()); 
-            match(input,36,FOLLOW_36_in_rule__PhysicalThread__Group_3_0__1__Impl5855); 
-             after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_0_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_0_1()); 
+            }
+            match(input,37,FOLLOW_37_in_rule__PhysicalThread__Group_3_0__1__Impl5429); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_0_1()); 
+            }
 
             }
 
@@ -8019,20 +8241,20 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_0__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2879:1: rule__PhysicalThread__Group_3_0__2 : rule__PhysicalThread__Group_3_0__2__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2662:1: rule__PhysicalThread__Group_3_0__2 : rule__PhysicalThread__Group_3_0__2__Impl ;
     public final void rule__PhysicalThread__Group_3_0__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2883:1: ( rule__PhysicalThread__Group_3_0__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2884:2: rule__PhysicalThread__Group_3_0__2__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2666:1: ( rule__PhysicalThread__Group_3_0__2__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2667:2: rule__PhysicalThread__Group_3_0__2__Impl
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__2__Impl_in_rule__PhysicalThread__Group_3_0__25886);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__2__Impl_in_rule__PhysicalThread__Group_3_0__25460);
             rule__PhysicalThread__Group_3_0__2__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8052,31 +8274,35 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_0__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2890:1: rule__PhysicalThread__Group_3_0__2__Impl : ( ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2673:1: rule__PhysicalThread__Group_3_0__2__Impl : ( ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 ) ) ;
     public final void rule__PhysicalThread__Group_3_0__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2894:1: ( ( ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2895:1: ( ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2677:1: ( ( ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2678:1: ( ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2895:1: ( ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2896:1: ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2678:1: ( ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2679:1: ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 )
             {
-             before(grammarAccess.getPhysicalThreadAccess().getExecmodeAssignment_3_0_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2897:1: ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2897:2: rule__PhysicalThread__ExecmodeAssignment_3_0_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getExecmodeAssignment_3_0_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2680:1: ( rule__PhysicalThread__ExecmodeAssignment_3_0_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2680:2: rule__PhysicalThread__ExecmodeAssignment_3_0_2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__ExecmodeAssignment_3_0_2_in_rule__PhysicalThread__Group_3_0__2__Impl5913);
+            pushFollow(FOLLOW_rule__PhysicalThread__ExecmodeAssignment_3_0_2_in_rule__PhysicalThread__Group_3_0__2__Impl5487);
             rule__PhysicalThread__ExecmodeAssignment_3_0_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalThreadAccess().getExecmodeAssignment_3_0_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getExecmodeAssignment_3_0_2()); 
+            }
 
             }
 
@@ -8099,25 +8325,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_1__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2913:1: rule__PhysicalThread__Group_3_1__0 : rule__PhysicalThread__Group_3_1__0__Impl rule__PhysicalThread__Group_3_1__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2696:1: rule__PhysicalThread__Group_3_1__0 : rule__PhysicalThread__Group_3_1__0__Impl rule__PhysicalThread__Group_3_1__1 ;
     public final void rule__PhysicalThread__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2917:1: ( rule__PhysicalThread__Group_3_1__0__Impl rule__PhysicalThread__Group_3_1__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2918:2: rule__PhysicalThread__Group_3_1__0__Impl rule__PhysicalThread__Group_3_1__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2700:1: ( rule__PhysicalThread__Group_3_1__0__Impl rule__PhysicalThread__Group_3_1__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2701:2: rule__PhysicalThread__Group_3_1__0__Impl rule__PhysicalThread__Group_3_1__1
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__0__Impl_in_rule__PhysicalThread__Group_3_1__05949);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__0__Impl_in_rule__PhysicalThread__Group_3_1__05523);
             rule__PhysicalThread__Group_3_1__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__1_in_rule__PhysicalThread__Group_3_1__05952);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__1_in_rule__PhysicalThread__Group_3_1__05526);
             rule__PhysicalThread__Group_3_1__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8137,21 +8363,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_1__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2925:1: rule__PhysicalThread__Group_3_1__0__Impl : ( 'interval' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2708:1: rule__PhysicalThread__Group_3_1__0__Impl : ( 'interval' ) ;
     public final void rule__PhysicalThread__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2929:1: ( ( 'interval' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2930:1: ( 'interval' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2712:1: ( ( 'interval' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2713:1: ( 'interval' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2930:1: ( 'interval' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2931:1: 'interval'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2713:1: ( 'interval' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2714:1: 'interval'
             {
-             before(grammarAccess.getPhysicalThreadAccess().getIntervalKeyword_3_1_0()); 
-            match(input,40,FOLLOW_40_in_rule__PhysicalThread__Group_3_1__0__Impl5980); 
-             after(grammarAccess.getPhysicalThreadAccess().getIntervalKeyword_3_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getIntervalKeyword_3_1_0()); 
+            }
+            match(input,41,FOLLOW_41_in_rule__PhysicalThread__Group_3_1__0__Impl5554); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getIntervalKeyword_3_1_0()); 
+            }
 
             }
 
@@ -8174,25 +8404,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_1__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2944:1: rule__PhysicalThread__Group_3_1__1 : rule__PhysicalThread__Group_3_1__1__Impl rule__PhysicalThread__Group_3_1__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2727:1: rule__PhysicalThread__Group_3_1__1 : rule__PhysicalThread__Group_3_1__1__Impl rule__PhysicalThread__Group_3_1__2 ;
     public final void rule__PhysicalThread__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2948:1: ( rule__PhysicalThread__Group_3_1__1__Impl rule__PhysicalThread__Group_3_1__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2949:2: rule__PhysicalThread__Group_3_1__1__Impl rule__PhysicalThread__Group_3_1__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2731:1: ( rule__PhysicalThread__Group_3_1__1__Impl rule__PhysicalThread__Group_3_1__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2732:2: rule__PhysicalThread__Group_3_1__1__Impl rule__PhysicalThread__Group_3_1__2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__1__Impl_in_rule__PhysicalThread__Group_3_1__16011);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__1__Impl_in_rule__PhysicalThread__Group_3_1__15585);
             rule__PhysicalThread__Group_3_1__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__2_in_rule__PhysicalThread__Group_3_1__16014);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__2_in_rule__PhysicalThread__Group_3_1__15588);
             rule__PhysicalThread__Group_3_1__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8212,21 +8442,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_1__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2956:1: rule__PhysicalThread__Group_3_1__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2739:1: rule__PhysicalThread__Group_3_1__1__Impl : ( '=' ) ;
     public final void rule__PhysicalThread__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2960:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2961:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2743:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2744:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2961:1: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2962:1: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2744:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2745:1: '='
             {
-             before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_1_1()); 
-            match(input,36,FOLLOW_36_in_rule__PhysicalThread__Group_3_1__1__Impl6042); 
-             after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_1_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_1_1()); 
+            }
+            match(input,37,FOLLOW_37_in_rule__PhysicalThread__Group_3_1__1__Impl5616); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_1_1()); 
+            }
 
             }
 
@@ -8249,20 +8483,20 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_1__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2975:1: rule__PhysicalThread__Group_3_1__2 : rule__PhysicalThread__Group_3_1__2__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2758:1: rule__PhysicalThread__Group_3_1__2 : rule__PhysicalThread__Group_3_1__2__Impl ;
     public final void rule__PhysicalThread__Group_3_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2979:1: ( rule__PhysicalThread__Group_3_1__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2980:2: rule__PhysicalThread__Group_3_1__2__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2762:1: ( rule__PhysicalThread__Group_3_1__2__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2763:2: rule__PhysicalThread__Group_3_1__2__Impl
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__2__Impl_in_rule__PhysicalThread__Group_3_1__26073);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__2__Impl_in_rule__PhysicalThread__Group_3_1__25647);
             rule__PhysicalThread__Group_3_1__2__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8282,31 +8516,35 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_1__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2986:1: rule__PhysicalThread__Group_3_1__2__Impl : ( ( rule__PhysicalThread__TimeAssignment_3_1_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2769:1: rule__PhysicalThread__Group_3_1__2__Impl : ( ( rule__PhysicalThread__TimeAssignment_3_1_2 ) ) ;
     public final void rule__PhysicalThread__Group_3_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2990:1: ( ( ( rule__PhysicalThread__TimeAssignment_3_1_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2991:1: ( ( rule__PhysicalThread__TimeAssignment_3_1_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2773:1: ( ( ( rule__PhysicalThread__TimeAssignment_3_1_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2774:1: ( ( rule__PhysicalThread__TimeAssignment_3_1_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2991:1: ( ( rule__PhysicalThread__TimeAssignment_3_1_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2992:1: ( rule__PhysicalThread__TimeAssignment_3_1_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2774:1: ( ( rule__PhysicalThread__TimeAssignment_3_1_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2775:1: ( rule__PhysicalThread__TimeAssignment_3_1_2 )
             {
-             before(grammarAccess.getPhysicalThreadAccess().getTimeAssignment_3_1_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2993:1: ( rule__PhysicalThread__TimeAssignment_3_1_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2993:2: rule__PhysicalThread__TimeAssignment_3_1_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getTimeAssignment_3_1_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2776:1: ( rule__PhysicalThread__TimeAssignment_3_1_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2776:2: rule__PhysicalThread__TimeAssignment_3_1_2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__TimeAssignment_3_1_2_in_rule__PhysicalThread__Group_3_1__2__Impl6100);
+            pushFollow(FOLLOW_rule__PhysicalThread__TimeAssignment_3_1_2_in_rule__PhysicalThread__Group_3_1__2__Impl5674);
             rule__PhysicalThread__TimeAssignment_3_1_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalThreadAccess().getTimeAssignment_3_1_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getTimeAssignment_3_1_2()); 
+            }
 
             }
 
@@ -8329,25 +8567,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_2__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3009:1: rule__PhysicalThread__Group_3_2__0 : rule__PhysicalThread__Group_3_2__0__Impl rule__PhysicalThread__Group_3_2__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2792:1: rule__PhysicalThread__Group_3_2__0 : rule__PhysicalThread__Group_3_2__0__Impl rule__PhysicalThread__Group_3_2__1 ;
     public final void rule__PhysicalThread__Group_3_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3013:1: ( rule__PhysicalThread__Group_3_2__0__Impl rule__PhysicalThread__Group_3_2__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3014:2: rule__PhysicalThread__Group_3_2__0__Impl rule__PhysicalThread__Group_3_2__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2796:1: ( rule__PhysicalThread__Group_3_2__0__Impl rule__PhysicalThread__Group_3_2__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2797:2: rule__PhysicalThread__Group_3_2__0__Impl rule__PhysicalThread__Group_3_2__1
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__0__Impl_in_rule__PhysicalThread__Group_3_2__06136);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__0__Impl_in_rule__PhysicalThread__Group_3_2__05710);
             rule__PhysicalThread__Group_3_2__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__1_in_rule__PhysicalThread__Group_3_2__06139);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__1_in_rule__PhysicalThread__Group_3_2__05713);
             rule__PhysicalThread__Group_3_2__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8367,21 +8605,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_2__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3021:1: rule__PhysicalThread__Group_3_2__0__Impl : ( 'prio' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2804:1: rule__PhysicalThread__Group_3_2__0__Impl : ( 'prio' ) ;
     public final void rule__PhysicalThread__Group_3_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3025:1: ( ( 'prio' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3026:1: ( 'prio' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2808:1: ( ( 'prio' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2809:1: ( 'prio' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3026:1: ( 'prio' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3027:1: 'prio'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2809:1: ( 'prio' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2810:1: 'prio'
             {
-             before(grammarAccess.getPhysicalThreadAccess().getPrioKeyword_3_2_0()); 
-            match(input,41,FOLLOW_41_in_rule__PhysicalThread__Group_3_2__0__Impl6167); 
-             after(grammarAccess.getPhysicalThreadAccess().getPrioKeyword_3_2_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getPrioKeyword_3_2_0()); 
+            }
+            match(input,42,FOLLOW_42_in_rule__PhysicalThread__Group_3_2__0__Impl5741); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getPrioKeyword_3_2_0()); 
+            }
 
             }
 
@@ -8404,25 +8646,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_2__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3040:1: rule__PhysicalThread__Group_3_2__1 : rule__PhysicalThread__Group_3_2__1__Impl rule__PhysicalThread__Group_3_2__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2823:1: rule__PhysicalThread__Group_3_2__1 : rule__PhysicalThread__Group_3_2__1__Impl rule__PhysicalThread__Group_3_2__2 ;
     public final void rule__PhysicalThread__Group_3_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3044:1: ( rule__PhysicalThread__Group_3_2__1__Impl rule__PhysicalThread__Group_3_2__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3045:2: rule__PhysicalThread__Group_3_2__1__Impl rule__PhysicalThread__Group_3_2__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2827:1: ( rule__PhysicalThread__Group_3_2__1__Impl rule__PhysicalThread__Group_3_2__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2828:2: rule__PhysicalThread__Group_3_2__1__Impl rule__PhysicalThread__Group_3_2__2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__1__Impl_in_rule__PhysicalThread__Group_3_2__16198);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__1__Impl_in_rule__PhysicalThread__Group_3_2__15772);
             rule__PhysicalThread__Group_3_2__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__2_in_rule__PhysicalThread__Group_3_2__16201);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__2_in_rule__PhysicalThread__Group_3_2__15775);
             rule__PhysicalThread__Group_3_2__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8442,21 +8684,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_2__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3052:1: rule__PhysicalThread__Group_3_2__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2835:1: rule__PhysicalThread__Group_3_2__1__Impl : ( '=' ) ;
     public final void rule__PhysicalThread__Group_3_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3056:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3057:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2839:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2840:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3057:1: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3058:1: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2840:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2841:1: '='
             {
-             before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_2_1()); 
-            match(input,36,FOLLOW_36_in_rule__PhysicalThread__Group_3_2__1__Impl6229); 
-             after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_2_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_2_1()); 
+            }
+            match(input,37,FOLLOW_37_in_rule__PhysicalThread__Group_3_2__1__Impl5803); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_2_1()); 
+            }
 
             }
 
@@ -8479,20 +8725,20 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_2__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3071:1: rule__PhysicalThread__Group_3_2__2 : rule__PhysicalThread__Group_3_2__2__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2854:1: rule__PhysicalThread__Group_3_2__2 : rule__PhysicalThread__Group_3_2__2__Impl ;
     public final void rule__PhysicalThread__Group_3_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3075:1: ( rule__PhysicalThread__Group_3_2__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3076:2: rule__PhysicalThread__Group_3_2__2__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2858:1: ( rule__PhysicalThread__Group_3_2__2__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2859:2: rule__PhysicalThread__Group_3_2__2__Impl
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__2__Impl_in_rule__PhysicalThread__Group_3_2__26260);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__2__Impl_in_rule__PhysicalThread__Group_3_2__25834);
             rule__PhysicalThread__Group_3_2__2__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8512,31 +8758,35 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_2__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3082:1: rule__PhysicalThread__Group_3_2__2__Impl : ( ( rule__PhysicalThread__PrioAssignment_3_2_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2865:1: rule__PhysicalThread__Group_3_2__2__Impl : ( ( rule__PhysicalThread__PrioAssignment_3_2_2 ) ) ;
     public final void rule__PhysicalThread__Group_3_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3086:1: ( ( ( rule__PhysicalThread__PrioAssignment_3_2_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3087:1: ( ( rule__PhysicalThread__PrioAssignment_3_2_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2869:1: ( ( ( rule__PhysicalThread__PrioAssignment_3_2_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2870:1: ( ( rule__PhysicalThread__PrioAssignment_3_2_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3087:1: ( ( rule__PhysicalThread__PrioAssignment_3_2_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3088:1: ( rule__PhysicalThread__PrioAssignment_3_2_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2870:1: ( ( rule__PhysicalThread__PrioAssignment_3_2_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2871:1: ( rule__PhysicalThread__PrioAssignment_3_2_2 )
             {
-             before(grammarAccess.getPhysicalThreadAccess().getPrioAssignment_3_2_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3089:1: ( rule__PhysicalThread__PrioAssignment_3_2_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3089:2: rule__PhysicalThread__PrioAssignment_3_2_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getPrioAssignment_3_2_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2872:1: ( rule__PhysicalThread__PrioAssignment_3_2_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2872:2: rule__PhysicalThread__PrioAssignment_3_2_2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__PrioAssignment_3_2_2_in_rule__PhysicalThread__Group_3_2__2__Impl6287);
+            pushFollow(FOLLOW_rule__PhysicalThread__PrioAssignment_3_2_2_in_rule__PhysicalThread__Group_3_2__2__Impl5861);
             rule__PhysicalThread__PrioAssignment_3_2_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalThreadAccess().getPrioAssignment_3_2_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getPrioAssignment_3_2_2()); 
+            }
 
             }
 
@@ -8559,25 +8809,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_3__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3105:1: rule__PhysicalThread__Group_3_3__0 : rule__PhysicalThread__Group_3_3__0__Impl rule__PhysicalThread__Group_3_3__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2888:1: rule__PhysicalThread__Group_3_3__0 : rule__PhysicalThread__Group_3_3__0__Impl rule__PhysicalThread__Group_3_3__1 ;
     public final void rule__PhysicalThread__Group_3_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3109:1: ( rule__PhysicalThread__Group_3_3__0__Impl rule__PhysicalThread__Group_3_3__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3110:2: rule__PhysicalThread__Group_3_3__0__Impl rule__PhysicalThread__Group_3_3__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2892:1: ( rule__PhysicalThread__Group_3_3__0__Impl rule__PhysicalThread__Group_3_3__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2893:2: rule__PhysicalThread__Group_3_3__0__Impl rule__PhysicalThread__Group_3_3__1
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__0__Impl_in_rule__PhysicalThread__Group_3_3__06323);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__0__Impl_in_rule__PhysicalThread__Group_3_3__05897);
             rule__PhysicalThread__Group_3_3__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__1_in_rule__PhysicalThread__Group_3_3__06326);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__1_in_rule__PhysicalThread__Group_3_3__05900);
             rule__PhysicalThread__Group_3_3__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8597,21 +8847,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_3__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3117:1: rule__PhysicalThread__Group_3_3__0__Impl : ( 'stacksize' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2900:1: rule__PhysicalThread__Group_3_3__0__Impl : ( 'stacksize' ) ;
     public final void rule__PhysicalThread__Group_3_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3121:1: ( ( 'stacksize' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3122:1: ( 'stacksize' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2904:1: ( ( 'stacksize' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2905:1: ( 'stacksize' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3122:1: ( 'stacksize' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3123:1: 'stacksize'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2905:1: ( 'stacksize' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2906:1: 'stacksize'
             {
-             before(grammarAccess.getPhysicalThreadAccess().getStacksizeKeyword_3_3_0()); 
-            match(input,42,FOLLOW_42_in_rule__PhysicalThread__Group_3_3__0__Impl6354); 
-             after(grammarAccess.getPhysicalThreadAccess().getStacksizeKeyword_3_3_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getStacksizeKeyword_3_3_0()); 
+            }
+            match(input,43,FOLLOW_43_in_rule__PhysicalThread__Group_3_3__0__Impl5928); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getStacksizeKeyword_3_3_0()); 
+            }
 
             }
 
@@ -8634,25 +8888,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_3__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3136:1: rule__PhysicalThread__Group_3_3__1 : rule__PhysicalThread__Group_3_3__1__Impl rule__PhysicalThread__Group_3_3__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2919:1: rule__PhysicalThread__Group_3_3__1 : rule__PhysicalThread__Group_3_3__1__Impl rule__PhysicalThread__Group_3_3__2 ;
     public final void rule__PhysicalThread__Group_3_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3140:1: ( rule__PhysicalThread__Group_3_3__1__Impl rule__PhysicalThread__Group_3_3__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3141:2: rule__PhysicalThread__Group_3_3__1__Impl rule__PhysicalThread__Group_3_3__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2923:1: ( rule__PhysicalThread__Group_3_3__1__Impl rule__PhysicalThread__Group_3_3__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2924:2: rule__PhysicalThread__Group_3_3__1__Impl rule__PhysicalThread__Group_3_3__2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__1__Impl_in_rule__PhysicalThread__Group_3_3__16385);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__1__Impl_in_rule__PhysicalThread__Group_3_3__15959);
             rule__PhysicalThread__Group_3_3__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__2_in_rule__PhysicalThread__Group_3_3__16388);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__2_in_rule__PhysicalThread__Group_3_3__15962);
             rule__PhysicalThread__Group_3_3__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8672,21 +8926,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_3__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3148:1: rule__PhysicalThread__Group_3_3__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2931:1: rule__PhysicalThread__Group_3_3__1__Impl : ( '=' ) ;
     public final void rule__PhysicalThread__Group_3_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3152:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3153:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2935:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2936:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3153:1: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3154:1: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2936:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2937:1: '='
             {
-             before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_3_1()); 
-            match(input,36,FOLLOW_36_in_rule__PhysicalThread__Group_3_3__1__Impl6416); 
-             after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_3_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_3_1()); 
+            }
+            match(input,37,FOLLOW_37_in_rule__PhysicalThread__Group_3_3__1__Impl5990); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_3_1()); 
+            }
 
             }
 
@@ -8709,20 +8967,20 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_3__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3167:1: rule__PhysicalThread__Group_3_3__2 : rule__PhysicalThread__Group_3_3__2__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2950:1: rule__PhysicalThread__Group_3_3__2 : rule__PhysicalThread__Group_3_3__2__Impl ;
     public final void rule__PhysicalThread__Group_3_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3171:1: ( rule__PhysicalThread__Group_3_3__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3172:2: rule__PhysicalThread__Group_3_3__2__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2954:1: ( rule__PhysicalThread__Group_3_3__2__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2955:2: rule__PhysicalThread__Group_3_3__2__Impl
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__2__Impl_in_rule__PhysicalThread__Group_3_3__26447);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__2__Impl_in_rule__PhysicalThread__Group_3_3__26021);
             rule__PhysicalThread__Group_3_3__2__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8742,31 +9000,35 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_3__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3178:1: rule__PhysicalThread__Group_3_3__2__Impl : ( ( rule__PhysicalThread__StacksizeAssignment_3_3_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2961:1: rule__PhysicalThread__Group_3_3__2__Impl : ( ( rule__PhysicalThread__StacksizeAssignment_3_3_2 ) ) ;
     public final void rule__PhysicalThread__Group_3_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3182:1: ( ( ( rule__PhysicalThread__StacksizeAssignment_3_3_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3183:1: ( ( rule__PhysicalThread__StacksizeAssignment_3_3_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2965:1: ( ( ( rule__PhysicalThread__StacksizeAssignment_3_3_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2966:1: ( ( rule__PhysicalThread__StacksizeAssignment_3_3_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3183:1: ( ( rule__PhysicalThread__StacksizeAssignment_3_3_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3184:1: ( rule__PhysicalThread__StacksizeAssignment_3_3_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2966:1: ( ( rule__PhysicalThread__StacksizeAssignment_3_3_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2967:1: ( rule__PhysicalThread__StacksizeAssignment_3_3_2 )
             {
-             before(grammarAccess.getPhysicalThreadAccess().getStacksizeAssignment_3_3_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3185:1: ( rule__PhysicalThread__StacksizeAssignment_3_3_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3185:2: rule__PhysicalThread__StacksizeAssignment_3_3_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getStacksizeAssignment_3_3_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2968:1: ( rule__PhysicalThread__StacksizeAssignment_3_3_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2968:2: rule__PhysicalThread__StacksizeAssignment_3_3_2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__StacksizeAssignment_3_3_2_in_rule__PhysicalThread__Group_3_3__2__Impl6474);
+            pushFollow(FOLLOW_rule__PhysicalThread__StacksizeAssignment_3_3_2_in_rule__PhysicalThread__Group_3_3__2__Impl6048);
             rule__PhysicalThread__StacksizeAssignment_3_3_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalThreadAccess().getStacksizeAssignment_3_3_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getStacksizeAssignment_3_3_2()); 
+            }
 
             }
 
@@ -8789,25 +9051,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_4__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3201:1: rule__PhysicalThread__Group_3_4__0 : rule__PhysicalThread__Group_3_4__0__Impl rule__PhysicalThread__Group_3_4__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2984:1: rule__PhysicalThread__Group_3_4__0 : rule__PhysicalThread__Group_3_4__0__Impl rule__PhysicalThread__Group_3_4__1 ;
     public final void rule__PhysicalThread__Group_3_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3205:1: ( rule__PhysicalThread__Group_3_4__0__Impl rule__PhysicalThread__Group_3_4__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3206:2: rule__PhysicalThread__Group_3_4__0__Impl rule__PhysicalThread__Group_3_4__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2988:1: ( rule__PhysicalThread__Group_3_4__0__Impl rule__PhysicalThread__Group_3_4__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2989:2: rule__PhysicalThread__Group_3_4__0__Impl rule__PhysicalThread__Group_3_4__1
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__0__Impl_in_rule__PhysicalThread__Group_3_4__06510);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__0__Impl_in_rule__PhysicalThread__Group_3_4__06084);
             rule__PhysicalThread__Group_3_4__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__1_in_rule__PhysicalThread__Group_3_4__06513);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__1_in_rule__PhysicalThread__Group_3_4__06087);
             rule__PhysicalThread__Group_3_4__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8827,21 +9089,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_4__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3213:1: rule__PhysicalThread__Group_3_4__0__Impl : ( 'msgblocksize' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:2996:1: rule__PhysicalThread__Group_3_4__0__Impl : ( 'msgblocksize' ) ;
     public final void rule__PhysicalThread__Group_3_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3217:1: ( ( 'msgblocksize' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3218:1: ( 'msgblocksize' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3000:1: ( ( 'msgblocksize' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3001:1: ( 'msgblocksize' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3218:1: ( 'msgblocksize' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3219:1: 'msgblocksize'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3001:1: ( 'msgblocksize' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3002:1: 'msgblocksize'
             {
-             before(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeKeyword_3_4_0()); 
-            match(input,43,FOLLOW_43_in_rule__PhysicalThread__Group_3_4__0__Impl6541); 
-             after(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeKeyword_3_4_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeKeyword_3_4_0()); 
+            }
+            match(input,44,FOLLOW_44_in_rule__PhysicalThread__Group_3_4__0__Impl6115); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeKeyword_3_4_0()); 
+            }
 
             }
 
@@ -8864,25 +9130,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_4__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3232:1: rule__PhysicalThread__Group_3_4__1 : rule__PhysicalThread__Group_3_4__1__Impl rule__PhysicalThread__Group_3_4__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3015:1: rule__PhysicalThread__Group_3_4__1 : rule__PhysicalThread__Group_3_4__1__Impl rule__PhysicalThread__Group_3_4__2 ;
     public final void rule__PhysicalThread__Group_3_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3236:1: ( rule__PhysicalThread__Group_3_4__1__Impl rule__PhysicalThread__Group_3_4__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3237:2: rule__PhysicalThread__Group_3_4__1__Impl rule__PhysicalThread__Group_3_4__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3019:1: ( rule__PhysicalThread__Group_3_4__1__Impl rule__PhysicalThread__Group_3_4__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3020:2: rule__PhysicalThread__Group_3_4__1__Impl rule__PhysicalThread__Group_3_4__2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__1__Impl_in_rule__PhysicalThread__Group_3_4__16572);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__1__Impl_in_rule__PhysicalThread__Group_3_4__16146);
             rule__PhysicalThread__Group_3_4__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__2_in_rule__PhysicalThread__Group_3_4__16575);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__2_in_rule__PhysicalThread__Group_3_4__16149);
             rule__PhysicalThread__Group_3_4__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8902,21 +9168,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_4__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3244:1: rule__PhysicalThread__Group_3_4__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3027:1: rule__PhysicalThread__Group_3_4__1__Impl : ( '=' ) ;
     public final void rule__PhysicalThread__Group_3_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3248:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3249:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3031:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3032:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3249:1: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3250:1: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3032:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3033:1: '='
             {
-             before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_4_1()); 
-            match(input,36,FOLLOW_36_in_rule__PhysicalThread__Group_3_4__1__Impl6603); 
-             after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_4_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_4_1()); 
+            }
+            match(input,37,FOLLOW_37_in_rule__PhysicalThread__Group_3_4__1__Impl6177); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_4_1()); 
+            }
 
             }
 
@@ -8939,20 +9209,20 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_4__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3263:1: rule__PhysicalThread__Group_3_4__2 : rule__PhysicalThread__Group_3_4__2__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3046:1: rule__PhysicalThread__Group_3_4__2 : rule__PhysicalThread__Group_3_4__2__Impl ;
     public final void rule__PhysicalThread__Group_3_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3267:1: ( rule__PhysicalThread__Group_3_4__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3268:2: rule__PhysicalThread__Group_3_4__2__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3050:1: ( rule__PhysicalThread__Group_3_4__2__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3051:2: rule__PhysicalThread__Group_3_4__2__Impl
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__2__Impl_in_rule__PhysicalThread__Group_3_4__26634);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__2__Impl_in_rule__PhysicalThread__Group_3_4__26208);
             rule__PhysicalThread__Group_3_4__2__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -8972,31 +9242,35 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_4__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3274:1: rule__PhysicalThread__Group_3_4__2__Impl : ( ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3057:1: rule__PhysicalThread__Group_3_4__2__Impl : ( ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 ) ) ;
     public final void rule__PhysicalThread__Group_3_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3278:1: ( ( ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3279:1: ( ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3061:1: ( ( ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3062:1: ( ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3279:1: ( ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3280:1: ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3062:1: ( ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3063:1: ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 )
             {
-             before(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeAssignment_3_4_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3281:1: ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3281:2: rule__PhysicalThread__MsgblocksizeAssignment_3_4_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeAssignment_3_4_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3064:1: ( rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3064:2: rule__PhysicalThread__MsgblocksizeAssignment_3_4_2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__MsgblocksizeAssignment_3_4_2_in_rule__PhysicalThread__Group_3_4__2__Impl6661);
+            pushFollow(FOLLOW_rule__PhysicalThread__MsgblocksizeAssignment_3_4_2_in_rule__PhysicalThread__Group_3_4__2__Impl6235);
             rule__PhysicalThread__MsgblocksizeAssignment_3_4_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeAssignment_3_4_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeAssignment_3_4_2()); 
+            }
 
             }
 
@@ -9019,25 +9293,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_5__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3297:1: rule__PhysicalThread__Group_3_5__0 : rule__PhysicalThread__Group_3_5__0__Impl rule__PhysicalThread__Group_3_5__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3080:1: rule__PhysicalThread__Group_3_5__0 : rule__PhysicalThread__Group_3_5__0__Impl rule__PhysicalThread__Group_3_5__1 ;
     public final void rule__PhysicalThread__Group_3_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3301:1: ( rule__PhysicalThread__Group_3_5__0__Impl rule__PhysicalThread__Group_3_5__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3302:2: rule__PhysicalThread__Group_3_5__0__Impl rule__PhysicalThread__Group_3_5__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3084:1: ( rule__PhysicalThread__Group_3_5__0__Impl rule__PhysicalThread__Group_3_5__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3085:2: rule__PhysicalThread__Group_3_5__0__Impl rule__PhysicalThread__Group_3_5__1
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__0__Impl_in_rule__PhysicalThread__Group_3_5__06697);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__0__Impl_in_rule__PhysicalThread__Group_3_5__06271);
             rule__PhysicalThread__Group_3_5__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__1_in_rule__PhysicalThread__Group_3_5__06700);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__1_in_rule__PhysicalThread__Group_3_5__06274);
             rule__PhysicalThread__Group_3_5__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -9057,21 +9331,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_5__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3309:1: rule__PhysicalThread__Group_3_5__0__Impl : ( 'msgpoolsize' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3092:1: rule__PhysicalThread__Group_3_5__0__Impl : ( 'msgpoolsize' ) ;
     public final void rule__PhysicalThread__Group_3_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3313:1: ( ( 'msgpoolsize' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3314:1: ( 'msgpoolsize' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3096:1: ( ( 'msgpoolsize' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3097:1: ( 'msgpoolsize' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3314:1: ( 'msgpoolsize' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3315:1: 'msgpoolsize'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3097:1: ( 'msgpoolsize' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3098:1: 'msgpoolsize'
             {
-             before(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeKeyword_3_5_0()); 
-            match(input,44,FOLLOW_44_in_rule__PhysicalThread__Group_3_5__0__Impl6728); 
-             after(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeKeyword_3_5_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeKeyword_3_5_0()); 
+            }
+            match(input,45,FOLLOW_45_in_rule__PhysicalThread__Group_3_5__0__Impl6302); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeKeyword_3_5_0()); 
+            }
 
             }
 
@@ -9094,25 +9372,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_5__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3328:1: rule__PhysicalThread__Group_3_5__1 : rule__PhysicalThread__Group_3_5__1__Impl rule__PhysicalThread__Group_3_5__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3111:1: rule__PhysicalThread__Group_3_5__1 : rule__PhysicalThread__Group_3_5__1__Impl rule__PhysicalThread__Group_3_5__2 ;
     public final void rule__PhysicalThread__Group_3_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3332:1: ( rule__PhysicalThread__Group_3_5__1__Impl rule__PhysicalThread__Group_3_5__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3333:2: rule__PhysicalThread__Group_3_5__1__Impl rule__PhysicalThread__Group_3_5__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3115:1: ( rule__PhysicalThread__Group_3_5__1__Impl rule__PhysicalThread__Group_3_5__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3116:2: rule__PhysicalThread__Group_3_5__1__Impl rule__PhysicalThread__Group_3_5__2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__1__Impl_in_rule__PhysicalThread__Group_3_5__16759);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__1__Impl_in_rule__PhysicalThread__Group_3_5__16333);
             rule__PhysicalThread__Group_3_5__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__2_in_rule__PhysicalThread__Group_3_5__16762);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__2_in_rule__PhysicalThread__Group_3_5__16336);
             rule__PhysicalThread__Group_3_5__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -9132,21 +9410,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_5__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3340:1: rule__PhysicalThread__Group_3_5__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3123:1: rule__PhysicalThread__Group_3_5__1__Impl : ( '=' ) ;
     public final void rule__PhysicalThread__Group_3_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3344:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3345:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3127:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3128:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3345:1: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3346:1: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3128:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3129:1: '='
             {
-             before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_5_1()); 
-            match(input,36,FOLLOW_36_in_rule__PhysicalThread__Group_3_5__1__Impl6790); 
-             after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_5_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_5_1()); 
+            }
+            match(input,37,FOLLOW_37_in_rule__PhysicalThread__Group_3_5__1__Impl6364); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_5_1()); 
+            }
 
             }
 
@@ -9169,20 +9451,20 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_5__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3359:1: rule__PhysicalThread__Group_3_5__2 : rule__PhysicalThread__Group_3_5__2__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3142:1: rule__PhysicalThread__Group_3_5__2 : rule__PhysicalThread__Group_3_5__2__Impl ;
     public final void rule__PhysicalThread__Group_3_5__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3363:1: ( rule__PhysicalThread__Group_3_5__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3364:2: rule__PhysicalThread__Group_3_5__2__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3146:1: ( rule__PhysicalThread__Group_3_5__2__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3147:2: rule__PhysicalThread__Group_3_5__2__Impl
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__2__Impl_in_rule__PhysicalThread__Group_3_5__26821);
+            pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__2__Impl_in_rule__PhysicalThread__Group_3_5__26395);
             rule__PhysicalThread__Group_3_5__2__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -9202,31 +9484,35 @@
 
 
     // $ANTLR start "rule__PhysicalThread__Group_3_5__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3370:1: rule__PhysicalThread__Group_3_5__2__Impl : ( ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3153:1: rule__PhysicalThread__Group_3_5__2__Impl : ( ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 ) ) ;
     public final void rule__PhysicalThread__Group_3_5__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3374:1: ( ( ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3375:1: ( ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3157:1: ( ( ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3158:1: ( ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3375:1: ( ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3376:1: ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3158:1: ( ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3159:1: ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 )
             {
-             before(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeAssignment_3_5_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3377:1: ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3377:2: rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeAssignment_3_5_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3160:1: ( rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3160:2: rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2_in_rule__PhysicalThread__Group_3_5__2__Impl6848);
+            pushFollow(FOLLOW_rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2_in_rule__PhysicalThread__Group_3_5__2__Impl6422);
             rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeAssignment_3_5_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeAssignment_3_5_2()); 
+            }
 
             }
 
@@ -9249,25 +9535,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3393:1: rule__RuntimeClass__Group__0 : rule__RuntimeClass__Group__0__Impl rule__RuntimeClass__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3176:1: rule__RuntimeClass__Group__0 : rule__RuntimeClass__Group__0__Impl rule__RuntimeClass__Group__1 ;
     public final void rule__RuntimeClass__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3397:1: ( rule__RuntimeClass__Group__0__Impl rule__RuntimeClass__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3398:2: rule__RuntimeClass__Group__0__Impl rule__RuntimeClass__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3180:1: ( rule__RuntimeClass__Group__0__Impl rule__RuntimeClass__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3181:2: rule__RuntimeClass__Group__0__Impl rule__RuntimeClass__Group__1
             {
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__0__Impl_in_rule__RuntimeClass__Group__06884);
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__0__Impl_in_rule__RuntimeClass__Group__06458);
             rule__RuntimeClass__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__1_in_rule__RuntimeClass__Group__06887);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__1_in_rule__RuntimeClass__Group__06461);
             rule__RuntimeClass__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -9287,21 +9573,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3405:1: rule__RuntimeClass__Group__0__Impl : ( 'RuntimeClass' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3188:1: rule__RuntimeClass__Group__0__Impl : ( 'RuntimeClass' ) ;
     public final void rule__RuntimeClass__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3409:1: ( ( 'RuntimeClass' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3410:1: ( 'RuntimeClass' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3192:1: ( ( 'RuntimeClass' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3193:1: ( 'RuntimeClass' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3410:1: ( 'RuntimeClass' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3411:1: 'RuntimeClass'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3193:1: ( 'RuntimeClass' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3194:1: 'RuntimeClass'
             {
-             before(grammarAccess.getRuntimeClassAccess().getRuntimeClassKeyword_0()); 
-            match(input,45,FOLLOW_45_in_rule__RuntimeClass__Group__0__Impl6915); 
-             after(grammarAccess.getRuntimeClassAccess().getRuntimeClassKeyword_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getRuntimeClassKeyword_0()); 
+            }
+            match(input,46,FOLLOW_46_in_rule__RuntimeClass__Group__0__Impl6489); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getRuntimeClassKeyword_0()); 
+            }
 
             }
 
@@ -9324,25 +9614,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3424:1: rule__RuntimeClass__Group__1 : rule__RuntimeClass__Group__1__Impl rule__RuntimeClass__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3207:1: rule__RuntimeClass__Group__1 : rule__RuntimeClass__Group__1__Impl rule__RuntimeClass__Group__2 ;
     public final void rule__RuntimeClass__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3428:1: ( rule__RuntimeClass__Group__1__Impl rule__RuntimeClass__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3429:2: rule__RuntimeClass__Group__1__Impl rule__RuntimeClass__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3211:1: ( rule__RuntimeClass__Group__1__Impl rule__RuntimeClass__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3212:2: rule__RuntimeClass__Group__1__Impl rule__RuntimeClass__Group__2
             {
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__1__Impl_in_rule__RuntimeClass__Group__16946);
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__1__Impl_in_rule__RuntimeClass__Group__16520);
             rule__RuntimeClass__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__2_in_rule__RuntimeClass__Group__16949);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__2_in_rule__RuntimeClass__Group__16523);
             rule__RuntimeClass__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -9362,31 +9652,35 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3436:1: rule__RuntimeClass__Group__1__Impl : ( ( rule__RuntimeClass__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3219:1: rule__RuntimeClass__Group__1__Impl : ( ( rule__RuntimeClass__NameAssignment_1 ) ) ;
     public final void rule__RuntimeClass__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3440:1: ( ( ( rule__RuntimeClass__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3441:1: ( ( rule__RuntimeClass__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3223:1: ( ( ( rule__RuntimeClass__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3224:1: ( ( rule__RuntimeClass__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3441:1: ( ( rule__RuntimeClass__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3442:1: ( rule__RuntimeClass__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3224:1: ( ( rule__RuntimeClass__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3225:1: ( rule__RuntimeClass__NameAssignment_1 )
             {
-             before(grammarAccess.getRuntimeClassAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3443:1: ( rule__RuntimeClass__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3443:2: rule__RuntimeClass__NameAssignment_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getNameAssignment_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3226:1: ( rule__RuntimeClass__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3226:2: rule__RuntimeClass__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__RuntimeClass__NameAssignment_1_in_rule__RuntimeClass__Group__1__Impl6976);
+            pushFollow(FOLLOW_rule__RuntimeClass__NameAssignment_1_in_rule__RuntimeClass__Group__1__Impl6550);
             rule__RuntimeClass__NameAssignment_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getRuntimeClassAccess().getNameAssignment_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getNameAssignment_1()); 
+            }
 
             }
 
@@ -9409,25 +9703,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3453:1: rule__RuntimeClass__Group__2 : rule__RuntimeClass__Group__2__Impl rule__RuntimeClass__Group__3 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3236:1: rule__RuntimeClass__Group__2 : rule__RuntimeClass__Group__2__Impl rule__RuntimeClass__Group__3 ;
     public final void rule__RuntimeClass__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3457:1: ( rule__RuntimeClass__Group__2__Impl rule__RuntimeClass__Group__3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3458:2: rule__RuntimeClass__Group__2__Impl rule__RuntimeClass__Group__3
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3240:1: ( rule__RuntimeClass__Group__2__Impl rule__RuntimeClass__Group__3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3241:2: rule__RuntimeClass__Group__2__Impl rule__RuntimeClass__Group__3
             {
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__2__Impl_in_rule__RuntimeClass__Group__27006);
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__2__Impl_in_rule__RuntimeClass__Group__26580);
             rule__RuntimeClass__Group__2__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__3_in_rule__RuntimeClass__Group__27009);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__3_in_rule__RuntimeClass__Group__26583);
             rule__RuntimeClass__Group__3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -9447,42 +9741,46 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3465:1: rule__RuntimeClass__Group__2__Impl : ( ( rule__RuntimeClass__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3248:1: rule__RuntimeClass__Group__2__Impl : ( ( rule__RuntimeClass__DocuAssignment_2 )? ) ;
     public final void rule__RuntimeClass__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3469:1: ( ( ( rule__RuntimeClass__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3470:1: ( ( rule__RuntimeClass__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3252:1: ( ( ( rule__RuntimeClass__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3253:1: ( ( rule__RuntimeClass__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3470:1: ( ( rule__RuntimeClass__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3471:1: ( rule__RuntimeClass__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3253:1: ( ( rule__RuntimeClass__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3254:1: ( rule__RuntimeClass__DocuAssignment_2 )?
             {
-             before(grammarAccess.getRuntimeClassAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3472:1: ( rule__RuntimeClass__DocuAssignment_2 )?
-            int alt29=2;
-            int LA29_0 = input.LA(1);
-
-            if ( (LA29_0==51) ) {
-                alt29=1;
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getDocuAssignment_2()); 
             }
-            switch (alt29) {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3255:1: ( rule__RuntimeClass__DocuAssignment_2 )?
+            int alt28=2;
+            int LA28_0 = input.LA(1);
+
+            if ( (LA28_0==52) ) {
+                alt28=1;
+            }
+            switch (alt28) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3472:2: rule__RuntimeClass__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3255:2: rule__RuntimeClass__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__RuntimeClass__DocuAssignment_2_in_rule__RuntimeClass__Group__2__Impl7036);
+                    pushFollow(FOLLOW_rule__RuntimeClass__DocuAssignment_2_in_rule__RuntimeClass__Group__2__Impl6610);
                     rule__RuntimeClass__DocuAssignment_2();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
 
             }
 
-             after(grammarAccess.getRuntimeClassAccess().getDocuAssignment_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getDocuAssignment_2()); 
+            }
 
             }
 
@@ -9505,25 +9803,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3482:1: rule__RuntimeClass__Group__3 : rule__RuntimeClass__Group__3__Impl rule__RuntimeClass__Group__4 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3265:1: rule__RuntimeClass__Group__3 : rule__RuntimeClass__Group__3__Impl rule__RuntimeClass__Group__4 ;
     public final void rule__RuntimeClass__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3486:1: ( rule__RuntimeClass__Group__3__Impl rule__RuntimeClass__Group__4 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3487:2: rule__RuntimeClass__Group__3__Impl rule__RuntimeClass__Group__4
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3269:1: ( rule__RuntimeClass__Group__3__Impl rule__RuntimeClass__Group__4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3270:2: rule__RuntimeClass__Group__3__Impl rule__RuntimeClass__Group__4
             {
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__3__Impl_in_rule__RuntimeClass__Group__37067);
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__3__Impl_in_rule__RuntimeClass__Group__36641);
             rule__RuntimeClass__Group__3__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__4_in_rule__RuntimeClass__Group__37070);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__4_in_rule__RuntimeClass__Group__36644);
             rule__RuntimeClass__Group__4();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -9543,21 +9841,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3494:1: rule__RuntimeClass__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3277:1: rule__RuntimeClass__Group__3__Impl : ( '{' ) ;
     public final void rule__RuntimeClass__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3498:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3499:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3281:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3282:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3499:1: ( '{' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3500:1: '{'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3282:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3283:1: '{'
             {
-             before(grammarAccess.getRuntimeClassAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,29,FOLLOW_29_in_rule__RuntimeClass__Group__3__Impl7098); 
-             after(grammarAccess.getRuntimeClassAccess().getLeftCurlyBracketKeyword_3()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getLeftCurlyBracketKeyword_3()); 
+            }
+            match(input,30,FOLLOW_30_in_rule__RuntimeClass__Group__3__Impl6672); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getLeftCurlyBracketKeyword_3()); 
+            }
 
             }
 
@@ -9580,25 +9882,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3513:1: rule__RuntimeClass__Group__4 : rule__RuntimeClass__Group__4__Impl rule__RuntimeClass__Group__5 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3296:1: rule__RuntimeClass__Group__4 : rule__RuntimeClass__Group__4__Impl rule__RuntimeClass__Group__5 ;
     public final void rule__RuntimeClass__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3517:1: ( rule__RuntimeClass__Group__4__Impl rule__RuntimeClass__Group__5 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3518:2: rule__RuntimeClass__Group__4__Impl rule__RuntimeClass__Group__5
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3300:1: ( rule__RuntimeClass__Group__4__Impl rule__RuntimeClass__Group__5 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3301:2: rule__RuntimeClass__Group__4__Impl rule__RuntimeClass__Group__5
             {
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__4__Impl_in_rule__RuntimeClass__Group__47129);
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__4__Impl_in_rule__RuntimeClass__Group__46703);
             rule__RuntimeClass__Group__4__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__5_in_rule__RuntimeClass__Group__47132);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__5_in_rule__RuntimeClass__Group__46706);
             rule__RuntimeClass__Group__5();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -9618,21 +9920,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3525:1: rule__RuntimeClass__Group__4__Impl : ( 'model' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3308:1: rule__RuntimeClass__Group__4__Impl : ( 'model' ) ;
     public final void rule__RuntimeClass__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3529:1: ( ( 'model' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3530:1: ( 'model' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3312:1: ( ( 'model' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3313:1: ( 'model' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3530:1: ( 'model' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3531:1: 'model'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3313:1: ( 'model' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3314:1: 'model'
             {
-             before(grammarAccess.getRuntimeClassAccess().getModelKeyword_4()); 
-            match(input,17,FOLLOW_17_in_rule__RuntimeClass__Group__4__Impl7160); 
-             after(grammarAccess.getRuntimeClassAccess().getModelKeyword_4()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getModelKeyword_4()); 
+            }
+            match(input,14,FOLLOW_14_in_rule__RuntimeClass__Group__4__Impl6734); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getModelKeyword_4()); 
+            }
 
             }
 
@@ -9655,25 +9961,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__5"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3544:1: rule__RuntimeClass__Group__5 : rule__RuntimeClass__Group__5__Impl rule__RuntimeClass__Group__6 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3327:1: rule__RuntimeClass__Group__5 : rule__RuntimeClass__Group__5__Impl rule__RuntimeClass__Group__6 ;
     public final void rule__RuntimeClass__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3548:1: ( rule__RuntimeClass__Group__5__Impl rule__RuntimeClass__Group__6 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3549:2: rule__RuntimeClass__Group__5__Impl rule__RuntimeClass__Group__6
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3331:1: ( rule__RuntimeClass__Group__5__Impl rule__RuntimeClass__Group__6 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3332:2: rule__RuntimeClass__Group__5__Impl rule__RuntimeClass__Group__6
             {
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__5__Impl_in_rule__RuntimeClass__Group__57191);
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__5__Impl_in_rule__RuntimeClass__Group__56765);
             rule__RuntimeClass__Group__5__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__6_in_rule__RuntimeClass__Group__57194);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__6_in_rule__RuntimeClass__Group__56768);
             rule__RuntimeClass__Group__6();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -9693,21 +9999,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__5__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3556:1: rule__RuntimeClass__Group__5__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3339:1: rule__RuntimeClass__Group__5__Impl : ( '=' ) ;
     public final void rule__RuntimeClass__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3560:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3561:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3343:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3344:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3561:1: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3562:1: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3344:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3345:1: '='
             {
-             before(grammarAccess.getRuntimeClassAccess().getEqualsSignKeyword_5()); 
-            match(input,36,FOLLOW_36_in_rule__RuntimeClass__Group__5__Impl7222); 
-             after(grammarAccess.getRuntimeClassAccess().getEqualsSignKeyword_5()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getEqualsSignKeyword_5()); 
+            }
+            match(input,37,FOLLOW_37_in_rule__RuntimeClass__Group__5__Impl6796); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getEqualsSignKeyword_5()); 
+            }
 
             }
 
@@ -9730,25 +10040,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__6"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3575:1: rule__RuntimeClass__Group__6 : rule__RuntimeClass__Group__6__Impl rule__RuntimeClass__Group__7 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3358:1: rule__RuntimeClass__Group__6 : rule__RuntimeClass__Group__6__Impl rule__RuntimeClass__Group__7 ;
     public final void rule__RuntimeClass__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3579:1: ( rule__RuntimeClass__Group__6__Impl rule__RuntimeClass__Group__7 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3580:2: rule__RuntimeClass__Group__6__Impl rule__RuntimeClass__Group__7
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3362:1: ( rule__RuntimeClass__Group__6__Impl rule__RuntimeClass__Group__7 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3363:2: rule__RuntimeClass__Group__6__Impl rule__RuntimeClass__Group__7
             {
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__6__Impl_in_rule__RuntimeClass__Group__67253);
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__6__Impl_in_rule__RuntimeClass__Group__66827);
             rule__RuntimeClass__Group__6__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__7_in_rule__RuntimeClass__Group__67256);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__7_in_rule__RuntimeClass__Group__66830);
             rule__RuntimeClass__Group__7();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -9768,31 +10078,35 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__6__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3587:1: rule__RuntimeClass__Group__6__Impl : ( ( rule__RuntimeClass__ThreadModelAssignment_6 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3370:1: rule__RuntimeClass__Group__6__Impl : ( ( rule__RuntimeClass__ThreadModelAssignment_6 ) ) ;
     public final void rule__RuntimeClass__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3591:1: ( ( ( rule__RuntimeClass__ThreadModelAssignment_6 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3592:1: ( ( rule__RuntimeClass__ThreadModelAssignment_6 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3374:1: ( ( ( rule__RuntimeClass__ThreadModelAssignment_6 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3375:1: ( ( rule__RuntimeClass__ThreadModelAssignment_6 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3592:1: ( ( rule__RuntimeClass__ThreadModelAssignment_6 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3593:1: ( rule__RuntimeClass__ThreadModelAssignment_6 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3375:1: ( ( rule__RuntimeClass__ThreadModelAssignment_6 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3376:1: ( rule__RuntimeClass__ThreadModelAssignment_6 )
             {
-             before(grammarAccess.getRuntimeClassAccess().getThreadModelAssignment_6()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3594:1: ( rule__RuntimeClass__ThreadModelAssignment_6 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3594:2: rule__RuntimeClass__ThreadModelAssignment_6
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getThreadModelAssignment_6()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3377:1: ( rule__RuntimeClass__ThreadModelAssignment_6 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3377:2: rule__RuntimeClass__ThreadModelAssignment_6
             {
-            pushFollow(FOLLOW_rule__RuntimeClass__ThreadModelAssignment_6_in_rule__RuntimeClass__Group__6__Impl7283);
+            pushFollow(FOLLOW_rule__RuntimeClass__ThreadModelAssignment_6_in_rule__RuntimeClass__Group__6__Impl6857);
             rule__RuntimeClass__ThreadModelAssignment_6();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getRuntimeClassAccess().getThreadModelAssignment_6()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getThreadModelAssignment_6()); 
+            }
 
             }
 
@@ -9815,20 +10129,20 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__7"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3604:1: rule__RuntimeClass__Group__7 : rule__RuntimeClass__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3387:1: rule__RuntimeClass__Group__7 : rule__RuntimeClass__Group__7__Impl ;
     public final void rule__RuntimeClass__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3608:1: ( rule__RuntimeClass__Group__7__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3609:2: rule__RuntimeClass__Group__7__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3391:1: ( rule__RuntimeClass__Group__7__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3392:2: rule__RuntimeClass__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__RuntimeClass__Group__7__Impl_in_rule__RuntimeClass__Group__77313);
+            pushFollow(FOLLOW_rule__RuntimeClass__Group__7__Impl_in_rule__RuntimeClass__Group__76887);
             rule__RuntimeClass__Group__7__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -9848,21 +10162,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__Group__7__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3615:1: rule__RuntimeClass__Group__7__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3398:1: rule__RuntimeClass__Group__7__Impl : ( '}' ) ;
     public final void rule__RuntimeClass__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3619:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3620:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3402:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3403:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3620:1: ( '}' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3621:1: '}'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3403:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3404:1: '}'
             {
-             before(grammarAccess.getRuntimeClassAccess().getRightCurlyBracketKeyword_7()); 
-            match(input,30,FOLLOW_30_in_rule__RuntimeClass__Group__7__Impl7341); 
-             after(grammarAccess.getRuntimeClassAccess().getRightCurlyBracketKeyword_7()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getRightCurlyBracketKeyword_7()); 
+            }
+            match(input,31,FOLLOW_31_in_rule__RuntimeClass__Group__7__Impl6915); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getRightCurlyBracketKeyword_7()); 
+            }
 
             }
 
@@ -9884,192 +10202,26 @@
     // $ANTLR end "rule__RuntimeClass__Group__7__Impl"
 
 
-    // $ANTLR start "rule__PRIO__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3650:1: rule__PRIO__Group__0 : rule__PRIO__Group__0__Impl rule__PRIO__Group__1 ;
-    public final void rule__PRIO__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3654:1: ( rule__PRIO__Group__0__Impl rule__PRIO__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3655:2: rule__PRIO__Group__0__Impl rule__PRIO__Group__1
-            {
-            pushFollow(FOLLOW_rule__PRIO__Group__0__Impl_in_rule__PRIO__Group__07388);
-            rule__PRIO__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__PRIO__Group__1_in_rule__PRIO__Group__07391);
-            rule__PRIO__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PRIO__Group__0"
-
-
-    // $ANTLR start "rule__PRIO__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3662:1: rule__PRIO__Group__0__Impl : ( ( rule__PRIO__Alternatives_0 )? ) ;
-    public final void rule__PRIO__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3666:1: ( ( ( rule__PRIO__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3667:1: ( ( rule__PRIO__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3667:1: ( ( rule__PRIO__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3668:1: ( rule__PRIO__Alternatives_0 )?
-            {
-             before(grammarAccess.getPRIOAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3669:1: ( rule__PRIO__Alternatives_0 )?
-            int alt30=2;
-            int LA30_0 = input.LA(1);
-
-            if ( ((LA30_0>=14 && LA30_0<=15)) ) {
-                alt30=1;
-            }
-            switch (alt30) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3669:2: rule__PRIO__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__PRIO__Alternatives_0_in_rule__PRIO__Group__0__Impl7418);
-                    rule__PRIO__Alternatives_0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getPRIOAccess().getAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PRIO__Group__0__Impl"
-
-
-    // $ANTLR start "rule__PRIO__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3679:1: rule__PRIO__Group__1 : rule__PRIO__Group__1__Impl ;
-    public final void rule__PRIO__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3683:1: ( rule__PRIO__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3684:2: rule__PRIO__Group__1__Impl
-            {
-            pushFollow(FOLLOW_rule__PRIO__Group__1__Impl_in_rule__PRIO__Group__17449);
-            rule__PRIO__Group__1__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PRIO__Group__1"
-
-
-    // $ANTLR start "rule__PRIO__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3690:1: rule__PRIO__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__PRIO__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3694:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3695:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3695:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3696:1: RULE_INT
-            {
-             before(grammarAccess.getPRIOAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__PRIO__Group__1__Impl7476); 
-             after(grammarAccess.getPRIOAccess().getINTTerminalRuleCall_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__PRIO__Group__1__Impl"
-
-
     // $ANTLR start "rule__KeyValue__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3714:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3436:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
     public final void rule__KeyValue__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3718:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3719:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3440:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3441:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__07512);
+            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__06965);
             rule__KeyValue__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__07515);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__06968);
             rule__KeyValue__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10089,31 +10241,35 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3726:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3448:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
     public final void rule__KeyValue__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3730:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3731:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3452:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3453:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3731:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3732:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3453:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3454:1: ( rule__KeyValue__KeyAssignment_0 )
             {
-             before(grammarAccess.getKeyValueAccess().getKeyAssignment_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3733:1: ( rule__KeyValue__KeyAssignment_0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3733:2: rule__KeyValue__KeyAssignment_0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getKeyValueAccess().getKeyAssignment_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3455:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3455:2: rule__KeyValue__KeyAssignment_0
             {
-            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl7542);
+            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl6995);
             rule__KeyValue__KeyAssignment_0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getKeyValueAccess().getKeyAssignment_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getKeyValueAccess().getKeyAssignment_0()); 
+            }
 
             }
 
@@ -10136,25 +10292,25 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3743:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3465:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
     public final void rule__KeyValue__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3747:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3748:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3469:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3470:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__17572);
+            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__17025);
             rule__KeyValue__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__17575);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__17028);
             rule__KeyValue__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10174,21 +10330,25 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3755:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3477:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
     public final void rule__KeyValue__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3759:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3760:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3481:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3482:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3760:1: ( '=' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3761:1: '='
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3482:1: ( '=' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3483:1: '='
             {
-             before(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
-            match(input,36,FOLLOW_36_in_rule__KeyValue__Group__1__Impl7603); 
-             after(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
+            }
+            match(input,37,FOLLOW_37_in_rule__KeyValue__Group__1__Impl7056); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
+            }
 
             }
 
@@ -10211,20 +10371,20 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3774:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3496:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
     public final void rule__KeyValue__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3778:1: ( rule__KeyValue__Group__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3779:2: rule__KeyValue__Group__2__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3500:1: ( rule__KeyValue__Group__2__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3501:2: rule__KeyValue__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__27634);
+            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__27087);
             rule__KeyValue__Group__2__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10244,31 +10404,35 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3785:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3507:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
     public final void rule__KeyValue__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3789:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3790:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3511:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3512:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3790:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3791:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3512:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3513:1: ( rule__KeyValue__ValueAssignment_2 )
             {
-             before(grammarAccess.getKeyValueAccess().getValueAssignment_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3792:1: ( rule__KeyValue__ValueAssignment_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3792:2: rule__KeyValue__ValueAssignment_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getKeyValueAccess().getValueAssignment_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3514:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3514:2: rule__KeyValue__ValueAssignment_2
             {
-            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl7661);
+            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl7114);
             rule__KeyValue__ValueAssignment_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getKeyValueAccess().getValueAssignment_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getKeyValueAccess().getValueAssignment_2()); 
+            }
 
             }
 
@@ -10291,25 +10455,25 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3811:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3533:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
     public final void rule__SimpleAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3815:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3816:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3537:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3538:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__07700);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__07153);
             rule__SimpleAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__07703);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__07156);
             rule__SimpleAnnotationAttribute__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10329,31 +10493,35 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3823:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3545:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3827:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3828:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3549:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3550:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3828:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3829:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3550:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3551:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
             {
-             before(grammarAccess.getSimpleAnnotationAttributeAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3830:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3830:2: rule__SimpleAnnotationAttribute__Alternatives_0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSimpleAnnotationAttributeAccess().getAlternatives_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3552:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3552:2: rule__SimpleAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl7730);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl7183);
             rule__SimpleAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getSimpleAnnotationAttributeAccess().getAlternatives_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSimpleAnnotationAttributeAccess().getAlternatives_0()); 
+            }
 
             }
 
@@ -10376,25 +10544,25 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3840:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3562:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
     public final void rule__SimpleAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3844:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3845:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3566:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3567:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__17760);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__17213);
             rule__SimpleAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__17763);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__17216);
             rule__SimpleAnnotationAttribute__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10414,21 +10582,25 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3852:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3574:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3856:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3857:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3578:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3579:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3857:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3858:1: 'attribute'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3579:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3580:1: 'attribute'
             {
-             before(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
-            match(input,46,FOLLOW_46_in_rule__SimpleAnnotationAttribute__Group__1__Impl7791); 
-             after(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
+            }
+            match(input,47,FOLLOW_47_in_rule__SimpleAnnotationAttribute__Group__1__Impl7244); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
+            }
 
             }
 
@@ -10451,25 +10623,25 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3871:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3593:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
     public final void rule__SimpleAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3875:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3876:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3597:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3598:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__27822);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__27275);
             rule__SimpleAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__27825);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__27278);
             rule__SimpleAnnotationAttribute__Group__3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10489,31 +10661,35 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3883:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3605:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3887:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3888:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3609:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3610:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3888:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3889:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3610:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3611:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
             {
-             before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3890:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3890:2: rule__SimpleAnnotationAttribute__NameAssignment_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameAssignment_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3612:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3612:2: rule__SimpleAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl7852);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl7305);
             rule__SimpleAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getSimpleAnnotationAttributeAccess().getNameAssignment_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSimpleAnnotationAttributeAccess().getNameAssignment_2()); 
+            }
 
             }
 
@@ -10536,25 +10712,25 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3900:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3622:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
     public final void rule__SimpleAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3904:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3905:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3626:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3627:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__37882);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__37335);
             rule__SimpleAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__37885);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__37338);
             rule__SimpleAnnotationAttribute__Group__4();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10574,21 +10750,25 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3912:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3634:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3916:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3917:1: ( ':' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3638:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3639:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3917:1: ( ':' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3918:1: ':'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3639:1: ( ':' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3640:1: ':'
             {
-             before(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
-            match(input,33,FOLLOW_33_in_rule__SimpleAnnotationAttribute__Group__3__Impl7913); 
-             after(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
+            }
+            match(input,34,FOLLOW_34_in_rule__SimpleAnnotationAttribute__Group__3__Impl7366); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
+            }
 
             }
 
@@ -10611,20 +10791,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3931:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3653:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
     public final void rule__SimpleAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3935:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3936:2: rule__SimpleAnnotationAttribute__Group__4__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3657:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3658:2: rule__SimpleAnnotationAttribute__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__47944);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__47397);
             rule__SimpleAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10644,31 +10824,35 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3942:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3664:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3946:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3947:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3668:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3669:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3947:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3948:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3669:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3670:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
             {
-             before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeAssignment_4()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3949:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3949:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeAssignment_4()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3671:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3671:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl7971);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl7424);
             rule__SimpleAnnotationAttribute__TypeAssignment_4();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeAssignment_4()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeAssignment_4()); 
+            }
 
             }
 
@@ -10691,25 +10875,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3969:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3691:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
     public final void rule__EnumAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3973:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3974:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3695:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3696:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__08011);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__07464);
             rule__EnumAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__08014);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__07467);
             rule__EnumAnnotationAttribute__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10729,31 +10913,35 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3981:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3703:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3985:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3986:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3707:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3708:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3986:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3987:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3708:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3709:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3988:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3988:2: rule__EnumAnnotationAttribute__Alternatives_0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getAlternatives_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3710:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3710:2: rule__EnumAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl8041);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl7494);
             rule__EnumAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getAlternatives_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getAlternatives_0()); 
+            }
 
             }
 
@@ -10776,25 +10964,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3998:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3720:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
     public final void rule__EnumAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4002:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4003:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3724:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3725:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__18071);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__17524);
             rule__EnumAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__18074);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__17527);
             rule__EnumAnnotationAttribute__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10814,21 +11002,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4010:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3732:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__EnumAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4014:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4015:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3736:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3737:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4015:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4016:1: 'attribute'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3737:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3738:1: 'attribute'
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
-            match(input,46,FOLLOW_46_in_rule__EnumAnnotationAttribute__Group__1__Impl8102); 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
+            }
+            match(input,47,FOLLOW_47_in_rule__EnumAnnotationAttribute__Group__1__Impl7555); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
+            }
 
             }
 
@@ -10851,25 +11043,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4029:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3751:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
     public final void rule__EnumAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4033:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4034:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3755:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3756:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__28133);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__27586);
             rule__EnumAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__28136);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__27589);
             rule__EnumAnnotationAttribute__Group__3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10889,31 +11081,35 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4041:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3763:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4045:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4046:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3767:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3768:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4046:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4047:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3768:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3769:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4048:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4048:2: rule__EnumAnnotationAttribute__NameAssignment_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getNameAssignment_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3770:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3770:2: rule__EnumAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl8163);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl7616);
             rule__EnumAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getNameAssignment_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getNameAssignment_2()); 
+            }
 
             }
 
@@ -10936,25 +11132,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4058:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3780:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
     public final void rule__EnumAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4062:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4063:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3784:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3785:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__38193);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__37646);
             rule__EnumAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__38196);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__37649);
             rule__EnumAnnotationAttribute__Group__4();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -10974,21 +11170,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4070:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3792:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__EnumAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4074:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4075:1: ( ':' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3796:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3797:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4075:1: ( ':' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4076:1: ':'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3797:1: ( ':' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3798:1: ':'
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
-            match(input,33,FOLLOW_33_in_rule__EnumAnnotationAttribute__Group__3__Impl8224); 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
+            }
+            match(input,34,FOLLOW_34_in_rule__EnumAnnotationAttribute__Group__3__Impl7677); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
+            }
 
             }
 
@@ -11011,25 +11211,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4089:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3811:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
     public final void rule__EnumAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4093:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4094:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3815:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3816:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__48255);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__47708);
             rule__EnumAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__48258);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__47711);
             rule__EnumAnnotationAttribute__Group__5();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11049,21 +11249,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4101:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3823:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
     public final void rule__EnumAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4105:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4106:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3827:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3828:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4106:1: ( '{' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4107:1: '{'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3828:1: ( '{' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3829:1: '{'
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
-            match(input,29,FOLLOW_29_in_rule__EnumAnnotationAttribute__Group__4__Impl8286); 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
+            }
+            match(input,30,FOLLOW_30_in_rule__EnumAnnotationAttribute__Group__4__Impl7739); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
+            }
 
             }
 
@@ -11086,25 +11290,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4120:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3842:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
     public final void rule__EnumAnnotationAttribute__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4124:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4125:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3846:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3847:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__58317);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__57770);
             rule__EnumAnnotationAttribute__Group__5__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__58320);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__57773);
             rule__EnumAnnotationAttribute__Group__6();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11124,31 +11328,35 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4132:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3854:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4136:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4137:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3858:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3859:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4137:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4138:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3859:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3860:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_5()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4139:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4139:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_5()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3861:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3861:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl8347);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl7800);
             rule__EnumAnnotationAttribute__ValuesAssignment_5();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_5()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_5()); 
+            }
 
             }
 
@@ -11171,25 +11379,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4149:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3871:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
     public final void rule__EnumAnnotationAttribute__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4153:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4154:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3875:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3876:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__68377);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__67830);
             rule__EnumAnnotationAttribute__Group__6__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__68380);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__67833);
             rule__EnumAnnotationAttribute__Group__7();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11209,49 +11417,53 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4161:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3883:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
     public final void rule__EnumAnnotationAttribute__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4165:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4166:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3887:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3888:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4166:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4167:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3888:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3889:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getGroup_6()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4168:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
-            loop31:
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getGroup_6()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3890:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            loop29:
             do {
-                int alt31=2;
-                int LA31_0 = input.LA(1);
+                int alt29=2;
+                int LA29_0 = input.LA(1);
 
-                if ( (LA31_0==47) ) {
-                    alt31=1;
+                if ( (LA29_0==48) ) {
+                    alt29=1;
                 }
 
 
-                switch (alt31) {
+                switch (alt29) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4168:2: rule__EnumAnnotationAttribute__Group_6__0
+            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3890:2: rule__EnumAnnotationAttribute__Group_6__0
             	    {
-            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl8407);
+            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl7860);
             	    rule__EnumAnnotationAttribute__Group_6__0();
 
             	    state._fsp--;
-
+            	    if (state.failed) return ;
 
             	    }
             	    break;
 
             	default :
-            	    break loop31;
+            	    break loop29;
                 }
             } while (true);
 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getGroup_6()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getGroup_6()); 
+            }
 
             }
 
@@ -11274,20 +11486,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4178:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3900:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
     public final void rule__EnumAnnotationAttribute__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4182:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4183:2: rule__EnumAnnotationAttribute__Group__7__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3904:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3905:2: rule__EnumAnnotationAttribute__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__78438);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__77891);
             rule__EnumAnnotationAttribute__Group__7__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11307,21 +11519,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4189:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3911:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
     public final void rule__EnumAnnotationAttribute__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4193:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4194:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3915:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3916:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4194:1: ( '}' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4195:1: '}'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3916:1: ( '}' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3917:1: '}'
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
-            match(input,30,FOLLOW_30_in_rule__EnumAnnotationAttribute__Group__7__Impl8466); 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
+            }
+            match(input,31,FOLLOW_31_in_rule__EnumAnnotationAttribute__Group__7__Impl7919); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
+            }
 
             }
 
@@ -11344,25 +11560,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4224:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3946:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
     public final void rule__EnumAnnotationAttribute__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4228:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4229:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3950:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3951:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__08513);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__07966);
             rule__EnumAnnotationAttribute__Group_6__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__08516);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__07969);
             rule__EnumAnnotationAttribute__Group_6__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11382,21 +11598,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4236:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3958:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4240:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4241:1: ( ',' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3962:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3963:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4241:1: ( ',' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4242:1: ','
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3963:1: ( ',' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3964:1: ','
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
-            match(input,47,FOLLOW_47_in_rule__EnumAnnotationAttribute__Group_6__0__Impl8544); 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
+            }
+            match(input,48,FOLLOW_48_in_rule__EnumAnnotationAttribute__Group_6__0__Impl7997); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
+            }
 
             }
 
@@ -11419,20 +11639,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4255:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3977:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
     public final void rule__EnumAnnotationAttribute__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4259:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4260:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3981:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3982:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__18575);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__18028);
             rule__EnumAnnotationAttribute__Group_6__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11452,31 +11672,35 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4266:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3988:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4270:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4271:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3992:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3993:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4271:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4272:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3993:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3994:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_6_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4273:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4273:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_6_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3995:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:3995:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl8602);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl8055);
             rule__EnumAnnotationAttribute__ValuesAssignment_6_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_6_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_6_1()); 
+            }
 
             }
 
@@ -11499,25 +11723,25 @@
 
 
     // $ANTLR start "rule__Import__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4287:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4009:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
     public final void rule__Import__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4291:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4292:2: rule__Import__Group__0__Impl rule__Import__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4013:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4014:2: rule__Import__Group__0__Impl rule__Import__Group__1
             {
-            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__08636);
+            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__08089);
             rule__Import__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__08639);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__08092);
             rule__Import__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11537,21 +11761,25 @@
 
 
     // $ANTLR start "rule__Import__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4299:1: rule__Import__Group__0__Impl : ( 'import' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4021:1: rule__Import__Group__0__Impl : ( 'import' ) ;
     public final void rule__Import__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4303:1: ( ( 'import' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4304:1: ( 'import' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4025:1: ( ( 'import' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4026:1: ( 'import' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4304:1: ( 'import' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4305:1: 'import'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4026:1: ( 'import' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4027:1: 'import'
             {
-             before(grammarAccess.getImportAccess().getImportKeyword_0()); 
-            match(input,48,FOLLOW_48_in_rule__Import__Group__0__Impl8667); 
-             after(grammarAccess.getImportAccess().getImportKeyword_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportAccess().getImportKeyword_0()); 
+            }
+            match(input,49,FOLLOW_49_in_rule__Import__Group__0__Impl8120); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportAccess().getImportKeyword_0()); 
+            }
 
             }
 
@@ -11574,25 +11802,25 @@
 
 
     // $ANTLR start "rule__Import__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4318:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4040:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ;
     public final void rule__Import__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4322:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4323:2: rule__Import__Group__1__Impl rule__Import__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4044:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4045:2: rule__Import__Group__1__Impl rule__Import__Group__2
             {
-            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__18698);
+            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__18151);
             rule__Import__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__18701);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__18154);
             rule__Import__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11612,31 +11840,35 @@
 
 
     // $ANTLR start "rule__Import__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4330:1: rule__Import__Group__1__Impl : ( ( rule__Import__Alternatives_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4052:1: rule__Import__Group__1__Impl : ( ( rule__Import__Alternatives_1 ) ) ;
     public final void rule__Import__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4334:1: ( ( ( rule__Import__Alternatives_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4335:1: ( ( rule__Import__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4056:1: ( ( ( rule__Import__Alternatives_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4057:1: ( ( rule__Import__Alternatives_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4335:1: ( ( rule__Import__Alternatives_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4336:1: ( rule__Import__Alternatives_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4057:1: ( ( rule__Import__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4058:1: ( rule__Import__Alternatives_1 )
             {
-             before(grammarAccess.getImportAccess().getAlternatives_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4337:1: ( rule__Import__Alternatives_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4337:2: rule__Import__Alternatives_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportAccess().getAlternatives_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4059:1: ( rule__Import__Alternatives_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4059:2: rule__Import__Alternatives_1
             {
-            pushFollow(FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl8728);
+            pushFollow(FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl8181);
             rule__Import__Alternatives_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getImportAccess().getAlternatives_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportAccess().getAlternatives_1()); 
+            }
 
             }
 
@@ -11659,20 +11891,20 @@
 
 
     // $ANTLR start "rule__Import__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4347:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4069:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ;
     public final void rule__Import__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4351:1: ( rule__Import__Group__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4352:2: rule__Import__Group__2__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4073:1: ( rule__Import__Group__2__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4074:2: rule__Import__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__28758);
+            pushFollow(FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__28211);
             rule__Import__Group__2__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11692,31 +11924,35 @@
 
 
     // $ANTLR start "rule__Import__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4358:1: rule__Import__Group__2__Impl : ( ( rule__Import__ImportURIAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4080:1: rule__Import__Group__2__Impl : ( ( rule__Import__ImportURIAssignment_2 ) ) ;
     public final void rule__Import__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4362:1: ( ( ( rule__Import__ImportURIAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4363:1: ( ( rule__Import__ImportURIAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4084:1: ( ( ( rule__Import__ImportURIAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4085:1: ( ( rule__Import__ImportURIAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4363:1: ( ( rule__Import__ImportURIAssignment_2 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4364:1: ( rule__Import__ImportURIAssignment_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4085:1: ( ( rule__Import__ImportURIAssignment_2 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4086:1: ( rule__Import__ImportURIAssignment_2 )
             {
-             before(grammarAccess.getImportAccess().getImportURIAssignment_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4365:1: ( rule__Import__ImportURIAssignment_2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4365:2: rule__Import__ImportURIAssignment_2
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportAccess().getImportURIAssignment_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4087:1: ( rule__Import__ImportURIAssignment_2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4087:2: rule__Import__ImportURIAssignment_2
             {
-            pushFollow(FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl8785);
+            pushFollow(FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl8238);
             rule__Import__ImportURIAssignment_2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getImportAccess().getImportURIAssignment_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportAccess().getImportURIAssignment_2()); 
+            }
 
             }
 
@@ -11739,25 +11975,25 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4381:1: rule__Import__Group_1_0__0 : rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4103:1: rule__Import__Group_1_0__0 : rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 ;
     public final void rule__Import__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4385:1: ( rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4386:2: rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4107:1: ( rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4108:2: rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1
             {
-            pushFollow(FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__08821);
+            pushFollow(FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__08274);
             rule__Import__Group_1_0__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__08824);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__08277);
             rule__Import__Group_1_0__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11777,31 +12013,35 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4393:1: rule__Import__Group_1_0__0__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4115:1: rule__Import__Group_1_0__0__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) ;
     public final void rule__Import__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4397:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4398:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4119:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4120:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4398:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4399:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4120:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4121:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
             {
-             before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1_0_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4400:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4400:2: rule__Import__ImportedNamespaceAssignment_1_0_0
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1_0_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4122:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4122:2: rule__Import__ImportedNamespaceAssignment_1_0_0
             {
-            pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl8851);
+            pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl8304);
             rule__Import__ImportedNamespaceAssignment_1_0_0();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1_0_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1_0_0()); 
+            }
 
             }
 
@@ -11824,20 +12064,20 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4410:1: rule__Import__Group_1_0__1 : rule__Import__Group_1_0__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4132:1: rule__Import__Group_1_0__1 : rule__Import__Group_1_0__1__Impl ;
     public final void rule__Import__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4414:1: ( rule__Import__Group_1_0__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4415:2: rule__Import__Group_1_0__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4136:1: ( rule__Import__Group_1_0__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4137:2: rule__Import__Group_1_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__18881);
+            pushFollow(FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__18334);
             rule__Import__Group_1_0__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11857,21 +12097,25 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4421:1: rule__Import__Group_1_0__1__Impl : ( 'from' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4143:1: rule__Import__Group_1_0__1__Impl : ( 'from' ) ;
     public final void rule__Import__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4425:1: ( ( 'from' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4426:1: ( 'from' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4147:1: ( ( 'from' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4148:1: ( 'from' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4426:1: ( 'from' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4427:1: 'from'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4148:1: ( 'from' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4149:1: 'from'
             {
-             before(grammarAccess.getImportAccess().getFromKeyword_1_0_1()); 
-            match(input,49,FOLLOW_49_in_rule__Import__Group_1_0__1__Impl8909); 
-             after(grammarAccess.getImportAccess().getFromKeyword_1_0_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportAccess().getFromKeyword_1_0_1()); 
+            }
+            match(input,50,FOLLOW_50_in_rule__Import__Group_1_0__1__Impl8362); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportAccess().getFromKeyword_1_0_1()); 
+            }
 
             }
 
@@ -11894,25 +12138,25 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4444:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4166:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
     public final void rule__ImportedFQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4448:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4449:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4170:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4171:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__08944);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__08397);
             rule__ImportedFQN__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__08947);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__08400);
             rule__ImportedFQN__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -11932,25 +12176,29 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4456:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4178:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
     public final void rule__ImportedFQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4460:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4461:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4182:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4183:1: ( ruleFQN )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4461:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4462:1: ruleFQN
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4183:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4184:1: ruleFQN
             {
-             before(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl8974);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
+            }
+            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl8427);
             ruleFQN();
 
             state._fsp--;
-
-             after(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
+            }
 
             }
 
@@ -11973,20 +12221,20 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4473:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4195:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
     public final void rule__ImportedFQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4477:1: ( rule__ImportedFQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4478:2: rule__ImportedFQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4199:1: ( rule__ImportedFQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4200:2: rule__ImportedFQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__19003);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__18456);
             rule__ImportedFQN__Group__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12006,38 +12254,42 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4484:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4206:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
     public final void rule__ImportedFQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4488:1: ( ( ( '.*' )? ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4489:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4210:1: ( ( ( '.*' )? ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4211:1: ( ( '.*' )? )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4489:1: ( ( '.*' )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4490:1: ( '.*' )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4211:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4212:1: ( '.*' )?
             {
-             before(grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4491:1: ( '.*' )?
-            int alt32=2;
-            int LA32_0 = input.LA(1);
-
-            if ( (LA32_0==50) ) {
-                alt32=1;
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
             }
-            switch (alt32) {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4213:1: ( '.*' )?
+            int alt30=2;
+            int LA30_0 = input.LA(1);
+
+            if ( (LA30_0==51) ) {
+                alt30=1;
+            }
+            switch (alt30) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4492:2: '.*'
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4214:2: '.*'
                     {
-                    match(input,50,FOLLOW_50_in_rule__ImportedFQN__Group__1__Impl9032); 
+                    match(input,51,FOLLOW_51_in_rule__ImportedFQN__Group__1__Impl8485); if (state.failed) return ;
 
                     }
                     break;
 
             }
 
-             after(grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
+            }
 
             }
 
@@ -12060,25 +12312,25 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4507:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4229:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
     public final void rule__Documentation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4511:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4512:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4233:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4234:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__09069);
+            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__08522);
             rule__Documentation__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__09072);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__08525);
             rule__Documentation__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12098,25 +12350,29 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4519:1: rule__Documentation__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4241:1: rule__Documentation__Group__0__Impl : ( () ) ;
     public final void rule__Documentation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4523:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4524:1: ( () )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4245:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4246:1: ( () )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4524:1: ( () )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4525:1: ()
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4246:1: ( () )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4247:1: ()
             {
-             before(grammarAccess.getDocumentationAccess().getDocumentationAction_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4526:1: ()
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4528:1: 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDocumentationAccess().getDocumentationAction_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4248:1: ()
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4250:1: 
             {
             }
 
-             after(grammarAccess.getDocumentationAccess().getDocumentationAction_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDocumentationAccess().getDocumentationAction_0()); 
+            }
 
             }
 
@@ -12135,25 +12391,25 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4538:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4260:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
     public final void rule__Documentation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4542:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4543:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4264:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4265:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__19130);
+            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__18583);
             rule__Documentation__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__19133);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__18586);
             rule__Documentation__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12173,21 +12429,25 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4550:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4272:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
     public final void rule__Documentation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4554:1: ( ( '[' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4555:1: ( '[' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4276:1: ( ( '[' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4277:1: ( '[' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4555:1: ( '[' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4556:1: '['
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4277:1: ( '[' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4278:1: '['
             {
-             before(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
-            match(input,51,FOLLOW_51_in_rule__Documentation__Group__1__Impl9161); 
-             after(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
+            }
+            match(input,52,FOLLOW_52_in_rule__Documentation__Group__1__Impl8614); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
+            }
 
             }
 
@@ -12210,25 +12470,25 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4569:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4291:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
     public final void rule__Documentation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4573:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4574:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4295:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4296:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__29192);
+            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__28645);
             rule__Documentation__Group__2__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__29195);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__28648);
             rule__Documentation__Group__3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12248,49 +12508,53 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4581:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4303:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
     public final void rule__Documentation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4585:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4586:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4307:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4308:1: ( ( rule__Documentation__LinesAssignment_2 )* )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4586:1: ( ( rule__Documentation__LinesAssignment_2 )* )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4587:1: ( rule__Documentation__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4308:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4309:1: ( rule__Documentation__LinesAssignment_2 )*
             {
-             before(grammarAccess.getDocumentationAccess().getLinesAssignment_2()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4588:1: ( rule__Documentation__LinesAssignment_2 )*
-            loop33:
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDocumentationAccess().getLinesAssignment_2()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4310:1: ( rule__Documentation__LinesAssignment_2 )*
+            loop31:
             do {
-                int alt33=2;
-                int LA33_0 = input.LA(1);
+                int alt31=2;
+                int LA31_0 = input.LA(1);
 
-                if ( (LA33_0==RULE_STRING) ) {
-                    alt33=1;
+                if ( (LA31_0==RULE_STRING) ) {
+                    alt31=1;
                 }
 
 
-                switch (alt33) {
+                switch (alt31) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4588:2: rule__Documentation__LinesAssignment_2
+            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4310:2: rule__Documentation__LinesAssignment_2
             	    {
-            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl9222);
+            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl8675);
             	    rule__Documentation__LinesAssignment_2();
 
             	    state._fsp--;
-
+            	    if (state.failed) return ;
 
             	    }
             	    break;
 
             	default :
-            	    break loop33;
+            	    break loop31;
                 }
             } while (true);
 
-             after(grammarAccess.getDocumentationAccess().getLinesAssignment_2()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDocumentationAccess().getLinesAssignment_2()); 
+            }
 
             }
 
@@ -12313,20 +12577,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4598:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4320:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
     public final void rule__Documentation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4602:1: ( rule__Documentation__Group__3__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4603:2: rule__Documentation__Group__3__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4324:1: ( rule__Documentation__Group__3__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4325:2: rule__Documentation__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__39253);
+            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__38706);
             rule__Documentation__Group__3__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12346,21 +12610,25 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4609:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4331:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
     public final void rule__Documentation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4613:1: ( ( ']' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4614:1: ( ']' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4335:1: ( ( ']' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4336:1: ( ']' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4614:1: ( ']' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4615:1: ']'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4336:1: ( ']' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4337:1: ']'
             {
-             before(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
-            match(input,52,FOLLOW_52_in_rule__Documentation__Group__3__Impl9281); 
-             after(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
+            }
+            match(input,53,FOLLOW_53_in_rule__Documentation__Group__3__Impl8734); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
+            }
 
             }
 
@@ -12383,25 +12651,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_0__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4636:1: rule__TIME__Group_0__0 : rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4358:1: rule__TIME__Group_0__0 : rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1 ;
     public final void rule__TIME__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4640:1: ( rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4641:2: rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4362:1: ( rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4363:2: rule__TIME__Group_0__0__Impl rule__TIME__Group_0__1
             {
-            pushFollow(FOLLOW_rule__TIME__Group_0__0__Impl_in_rule__TIME__Group_0__09320);
+            pushFollow(FOLLOW_rule__TIME__Group_0__0__Impl_in_rule__TIME__Group_0__08773);
             rule__TIME__Group_0__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__TIME__Group_0__1_in_rule__TIME__Group_0__09323);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__TIME__Group_0__1_in_rule__TIME__Group_0__08776);
             rule__TIME__Group_0__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12421,21 +12689,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_0__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4648:1: rule__TIME__Group_0__0__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4370:1: rule__TIME__Group_0__0__Impl : ( RULE_INT ) ;
     public final void rule__TIME__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4652:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4653:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4374:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4375:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4653:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4654:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4375:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4376:1: RULE_INT
             {
-             before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0_0()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_0__0__Impl9350); 
-             after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0_0()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_0__0__Impl8803); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0_0()); 
+            }
 
             }
 
@@ -12458,20 +12730,20 @@
 
 
     // $ANTLR start "rule__TIME__Group_0__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4665:1: rule__TIME__Group_0__1 : rule__TIME__Group_0__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4387:1: rule__TIME__Group_0__1 : rule__TIME__Group_0__1__Impl ;
     public final void rule__TIME__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4669:1: ( rule__TIME__Group_0__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4670:2: rule__TIME__Group_0__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4391:1: ( rule__TIME__Group_0__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4392:2: rule__TIME__Group_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__TIME__Group_0__1__Impl_in_rule__TIME__Group_0__19379);
+            pushFollow(FOLLOW_rule__TIME__Group_0__1__Impl_in_rule__TIME__Group_0__18832);
             rule__TIME__Group_0__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12491,21 +12763,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_0__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4676:1: rule__TIME__Group_0__1__Impl : ( 's' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4398:1: rule__TIME__Group_0__1__Impl : ( 's' ) ;
     public final void rule__TIME__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4680:1: ( ( 's' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4681:1: ( 's' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4402:1: ( ( 's' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4403:1: ( 's' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4681:1: ( 's' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4682:1: 's'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4403:1: ( 's' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4404:1: 's'
             {
-             before(grammarAccess.getTIMEAccess().getSKeyword_0_1()); 
-            match(input,53,FOLLOW_53_in_rule__TIME__Group_0__1__Impl9407); 
-             after(grammarAccess.getTIMEAccess().getSKeyword_0_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTIMEAccess().getSKeyword_0_1()); 
+            }
+            match(input,54,FOLLOW_54_in_rule__TIME__Group_0__1__Impl8860); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTIMEAccess().getSKeyword_0_1()); 
+            }
 
             }
 
@@ -12528,25 +12804,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_1__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4699:1: rule__TIME__Group_1__0 : rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4421:1: rule__TIME__Group_1__0 : rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1 ;
     public final void rule__TIME__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4703:1: ( rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4704:2: rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4425:1: ( rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4426:2: rule__TIME__Group_1__0__Impl rule__TIME__Group_1__1
             {
-            pushFollow(FOLLOW_rule__TIME__Group_1__0__Impl_in_rule__TIME__Group_1__09442);
+            pushFollow(FOLLOW_rule__TIME__Group_1__0__Impl_in_rule__TIME__Group_1__08895);
             rule__TIME__Group_1__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__TIME__Group_1__1_in_rule__TIME__Group_1__09445);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__TIME__Group_1__1_in_rule__TIME__Group_1__08898);
             rule__TIME__Group_1__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12566,21 +12842,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4711:1: rule__TIME__Group_1__0__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4433:1: rule__TIME__Group_1__0__Impl : ( RULE_INT ) ;
     public final void rule__TIME__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4715:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4716:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4437:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4438:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4716:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4717:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4438:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4439:1: RULE_INT
             {
-             before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_1_0()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_1__0__Impl9472); 
-             after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_1_0()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_1__0__Impl8925); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_1_0()); 
+            }
 
             }
 
@@ -12603,20 +12883,20 @@
 
 
     // $ANTLR start "rule__TIME__Group_1__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4728:1: rule__TIME__Group_1__1 : rule__TIME__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4450:1: rule__TIME__Group_1__1 : rule__TIME__Group_1__1__Impl ;
     public final void rule__TIME__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4732:1: ( rule__TIME__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4733:2: rule__TIME__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4454:1: ( rule__TIME__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4455:2: rule__TIME__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__TIME__Group_1__1__Impl_in_rule__TIME__Group_1__19501);
+            pushFollow(FOLLOW_rule__TIME__Group_1__1__Impl_in_rule__TIME__Group_1__18954);
             rule__TIME__Group_1__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12636,21 +12916,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4739:1: rule__TIME__Group_1__1__Impl : ( 'ms' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4461:1: rule__TIME__Group_1__1__Impl : ( 'ms' ) ;
     public final void rule__TIME__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4743:1: ( ( 'ms' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4744:1: ( 'ms' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4465:1: ( ( 'ms' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4466:1: ( 'ms' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4744:1: ( 'ms' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4745:1: 'ms'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4466:1: ( 'ms' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4467:1: 'ms'
             {
-             before(grammarAccess.getTIMEAccess().getMsKeyword_1_1()); 
-            match(input,54,FOLLOW_54_in_rule__TIME__Group_1__1__Impl9529); 
-             after(grammarAccess.getTIMEAccess().getMsKeyword_1_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTIMEAccess().getMsKeyword_1_1()); 
+            }
+            match(input,55,FOLLOW_55_in_rule__TIME__Group_1__1__Impl8982); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTIMEAccess().getMsKeyword_1_1()); 
+            }
 
             }
 
@@ -12673,25 +12957,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_2__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4762:1: rule__TIME__Group_2__0 : rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4484:1: rule__TIME__Group_2__0 : rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1 ;
     public final void rule__TIME__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4766:1: ( rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4767:2: rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4488:1: ( rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4489:2: rule__TIME__Group_2__0__Impl rule__TIME__Group_2__1
             {
-            pushFollow(FOLLOW_rule__TIME__Group_2__0__Impl_in_rule__TIME__Group_2__09564);
+            pushFollow(FOLLOW_rule__TIME__Group_2__0__Impl_in_rule__TIME__Group_2__09017);
             rule__TIME__Group_2__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__TIME__Group_2__1_in_rule__TIME__Group_2__09567);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__TIME__Group_2__1_in_rule__TIME__Group_2__09020);
             rule__TIME__Group_2__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12711,21 +12995,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_2__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4774:1: rule__TIME__Group_2__0__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4496:1: rule__TIME__Group_2__0__Impl : ( RULE_INT ) ;
     public final void rule__TIME__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4778:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4779:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4500:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4501:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4779:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4780:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4501:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4502:1: RULE_INT
             {
-             before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_2_0()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_2__0__Impl9594); 
-             after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_2_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_2_0()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_2__0__Impl9047); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_2_0()); 
+            }
 
             }
 
@@ -12748,20 +13036,20 @@
 
 
     // $ANTLR start "rule__TIME__Group_2__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4791:1: rule__TIME__Group_2__1 : rule__TIME__Group_2__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4513:1: rule__TIME__Group_2__1 : rule__TIME__Group_2__1__Impl ;
     public final void rule__TIME__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4795:1: ( rule__TIME__Group_2__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4796:2: rule__TIME__Group_2__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4517:1: ( rule__TIME__Group_2__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4518:2: rule__TIME__Group_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__TIME__Group_2__1__Impl_in_rule__TIME__Group_2__19623);
+            pushFollow(FOLLOW_rule__TIME__Group_2__1__Impl_in_rule__TIME__Group_2__19076);
             rule__TIME__Group_2__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12781,21 +13069,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_2__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4802:1: rule__TIME__Group_2__1__Impl : ( 'us' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4524:1: rule__TIME__Group_2__1__Impl : ( 'us' ) ;
     public final void rule__TIME__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4806:1: ( ( 'us' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4807:1: ( 'us' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4528:1: ( ( 'us' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4529:1: ( 'us' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4807:1: ( 'us' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4808:1: 'us'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4529:1: ( 'us' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4530:1: 'us'
             {
-             before(grammarAccess.getTIMEAccess().getUsKeyword_2_1()); 
-            match(input,55,FOLLOW_55_in_rule__TIME__Group_2__1__Impl9651); 
-             after(grammarAccess.getTIMEAccess().getUsKeyword_2_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTIMEAccess().getUsKeyword_2_1()); 
+            }
+            match(input,56,FOLLOW_56_in_rule__TIME__Group_2__1__Impl9104); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTIMEAccess().getUsKeyword_2_1()); 
+            }
 
             }
 
@@ -12818,25 +13110,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_3__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4825:1: rule__TIME__Group_3__0 : rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4547:1: rule__TIME__Group_3__0 : rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1 ;
     public final void rule__TIME__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4829:1: ( rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4830:2: rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4551:1: ( rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4552:2: rule__TIME__Group_3__0__Impl rule__TIME__Group_3__1
             {
-            pushFollow(FOLLOW_rule__TIME__Group_3__0__Impl_in_rule__TIME__Group_3__09686);
+            pushFollow(FOLLOW_rule__TIME__Group_3__0__Impl_in_rule__TIME__Group_3__09139);
             rule__TIME__Group_3__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__TIME__Group_3__1_in_rule__TIME__Group_3__09689);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__TIME__Group_3__1_in_rule__TIME__Group_3__09142);
             rule__TIME__Group_3__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12856,21 +13148,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4837:1: rule__TIME__Group_3__0__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4559:1: rule__TIME__Group_3__0__Impl : ( RULE_INT ) ;
     public final void rule__TIME__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4841:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4842:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4563:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4564:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4842:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4843:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4564:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4565:1: RULE_INT
             {
-             before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_3_0()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_3__0__Impl9716); 
-             after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_3_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_3_0()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group_3__0__Impl9169); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_3_0()); 
+            }
 
             }
 
@@ -12893,20 +13189,20 @@
 
 
     // $ANTLR start "rule__TIME__Group_3__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4854:1: rule__TIME__Group_3__1 : rule__TIME__Group_3__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4576:1: rule__TIME__Group_3__1 : rule__TIME__Group_3__1__Impl ;
     public final void rule__TIME__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4858:1: ( rule__TIME__Group_3__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4859:2: rule__TIME__Group_3__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4580:1: ( rule__TIME__Group_3__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4581:2: rule__TIME__Group_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__TIME__Group_3__1__Impl_in_rule__TIME__Group_3__19745);
+            pushFollow(FOLLOW_rule__TIME__Group_3__1__Impl_in_rule__TIME__Group_3__19198);
             rule__TIME__Group_3__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -12926,21 +13222,25 @@
 
 
     // $ANTLR start "rule__TIME__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4865:1: rule__TIME__Group_3__1__Impl : ( 'ns' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4587:1: rule__TIME__Group_3__1__Impl : ( 'ns' ) ;
     public final void rule__TIME__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4869:1: ( ( 'ns' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4870:1: ( 'ns' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4591:1: ( ( 'ns' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4592:1: ( 'ns' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4870:1: ( 'ns' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4871:1: 'ns'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4592:1: ( 'ns' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4593:1: 'ns'
             {
-             before(grammarAccess.getTIMEAccess().getNsKeyword_3_1()); 
-            match(input,56,FOLLOW_56_in_rule__TIME__Group_3__1__Impl9773); 
-             after(grammarAccess.getTIMEAccess().getNsKeyword_3_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getTIMEAccess().getNsKeyword_3_1()); 
+            }
+            match(input,57,FOLLOW_57_in_rule__TIME__Group_3__1__Impl9226); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getTIMEAccess().getNsKeyword_3_1()); 
+            }
 
             }
 
@@ -12963,25 +13263,25 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4890:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4612:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
     public final void rule__BooleanLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4894:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4895:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4616:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4617:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__09810);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__09263);
             rule__BooleanLiteral__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__09813);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__09266);
             rule__BooleanLiteral__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13001,25 +13301,29 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4902:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4624:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
     public final void rule__BooleanLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4906:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4907:1: ( () )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4628:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4629:1: ( () )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4907:1: ( () )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4908:1: ()
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4629:1: ( () )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4630:1: ()
             {
-             before(grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4909:1: ()
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4911:1: 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4631:1: ()
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4633:1: 
             {
             }
 
-             after(grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0()); 
+            }
 
             }
 
@@ -13038,20 +13342,20 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4921:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4643:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
     public final void rule__BooleanLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4925:1: ( rule__BooleanLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4926:2: rule__BooleanLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4647:1: ( rule__BooleanLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4648:2: rule__BooleanLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__19871);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__19324);
             rule__BooleanLiteral__Group__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13071,31 +13375,35 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4932:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4654:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
     public final void rule__BooleanLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4936:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4937:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4658:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4659:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4937:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4938:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4659:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4660:1: ( rule__BooleanLiteral__Alternatives_1 )
             {
-             before(grammarAccess.getBooleanLiteralAccess().getAlternatives_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4939:1: ( rule__BooleanLiteral__Alternatives_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4939:2: rule__BooleanLiteral__Alternatives_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getBooleanLiteralAccess().getAlternatives_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4661:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4661:2: rule__BooleanLiteral__Alternatives_1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl9898);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl9351);
             rule__BooleanLiteral__Alternatives_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getBooleanLiteralAccess().getAlternatives_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getBooleanLiteralAccess().getAlternatives_1()); 
+            }
 
             }
 
@@ -13118,25 +13426,25 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4953:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4675:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
     public final void rule__RealLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4957:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4958:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4679:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4680:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__09932);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__09385);
             rule__RealLiteral__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__09935);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__09388);
             rule__RealLiteral__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13156,25 +13464,29 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4965:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4687:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
     public final void rule__RealLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4969:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4970:1: ( () )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4691:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4692:1: ( () )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4970:1: ( () )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4971:1: ()
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4692:1: ( () )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4693:1: ()
             {
-             before(grammarAccess.getRealLiteralAccess().getRealLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4972:1: ()
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4974:1: 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRealLiteralAccess().getRealLiteralAction_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4694:1: ()
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4696:1: 
             {
             }
 
-             after(grammarAccess.getRealLiteralAccess().getRealLiteralAction_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRealLiteralAccess().getRealLiteralAction_0()); 
+            }
 
             }
 
@@ -13193,20 +13505,20 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4984:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4706:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
     public final void rule__RealLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4988:1: ( rule__RealLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4989:2: rule__RealLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4710:1: ( rule__RealLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4711:2: rule__RealLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__19993);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__19446);
             rule__RealLiteral__Group__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13226,31 +13538,35 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4995:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4717:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
     public final void rule__RealLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4999:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5000:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4721:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4722:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5000:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5001:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4722:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4723:1: ( rule__RealLiteral__ValueAssignment_1 )
             {
-             before(grammarAccess.getRealLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5002:1: ( rule__RealLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5002:2: rule__RealLiteral__ValueAssignment_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRealLiteralAccess().getValueAssignment_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4724:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4724:2: rule__RealLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl10020);
+            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl9473);
             rule__RealLiteral__ValueAssignment_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getRealLiteralAccess().getValueAssignment_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRealLiteralAccess().getValueAssignment_1()); 
+            }
 
             }
 
@@ -13273,25 +13589,25 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5016:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4738:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
     public final void rule__IntLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5020:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5021:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4742:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4743:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__010054);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__09507);
             rule__IntLiteral__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__010057);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__09510);
             rule__IntLiteral__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13311,25 +13627,29 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5028:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4750:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
     public final void rule__IntLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5032:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5033:1: ( () )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4754:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4755:1: ( () )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5033:1: ( () )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5034:1: ()
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4755:1: ( () )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4756:1: ()
             {
-             before(grammarAccess.getIntLiteralAccess().getIntLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5035:1: ()
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5037:1: 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getIntLiteralAccess().getIntLiteralAction_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4757:1: ()
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4759:1: 
             {
             }
 
-             after(grammarAccess.getIntLiteralAccess().getIntLiteralAction_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getIntLiteralAccess().getIntLiteralAction_0()); 
+            }
 
             }
 
@@ -13348,20 +13668,20 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5047:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4769:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
     public final void rule__IntLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5051:1: ( rule__IntLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5052:2: rule__IntLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4773:1: ( rule__IntLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4774:2: rule__IntLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__110115);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__19568);
             rule__IntLiteral__Group__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13381,31 +13701,35 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5058:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4780:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
     public final void rule__IntLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5062:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5063:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4784:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4785:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5063:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5064:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4785:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4786:1: ( rule__IntLiteral__ValueAssignment_1 )
             {
-             before(grammarAccess.getIntLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5065:1: ( rule__IntLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5065:2: rule__IntLiteral__ValueAssignment_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getIntLiteralAccess().getValueAssignment_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4787:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4787:2: rule__IntLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl10142);
+            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl9595);
             rule__IntLiteral__ValueAssignment_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getIntLiteralAccess().getValueAssignment_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getIntLiteralAccess().getValueAssignment_1()); 
+            }
 
             }
 
@@ -13428,25 +13752,25 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5079:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4801:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
     public final void rule__StringLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5083:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5084:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4805:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4806:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__010176);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__09629);
             rule__StringLiteral__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__010179);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__09632);
             rule__StringLiteral__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13466,25 +13790,29 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5091:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4813:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
     public final void rule__StringLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5095:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5096:1: ( () )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4817:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4818:1: ( () )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5096:1: ( () )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5097:1: ()
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4818:1: ( () )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4819:1: ()
             {
-             before(grammarAccess.getStringLiteralAccess().getStringLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5098:1: ()
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5100:1: 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getStringLiteralAccess().getStringLiteralAction_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4820:1: ()
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4822:1: 
             {
             }
 
-             after(grammarAccess.getStringLiteralAccess().getStringLiteralAction_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getStringLiteralAccess().getStringLiteralAction_0()); 
+            }
 
             }
 
@@ -13503,20 +13831,20 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5110:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4832:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
     public final void rule__StringLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5114:1: ( rule__StringLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5115:2: rule__StringLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4836:1: ( rule__StringLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4837:2: rule__StringLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__110237);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__19690);
             rule__StringLiteral__Group__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13536,31 +13864,35 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5121:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4843:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
     public final void rule__StringLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5125:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5126:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4847:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4848:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5126:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5127:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4848:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4849:1: ( rule__StringLiteral__ValueAssignment_1 )
             {
-             before(grammarAccess.getStringLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5128:1: ( rule__StringLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5128:2: rule__StringLiteral__ValueAssignment_1
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getStringLiteralAccess().getValueAssignment_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4850:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4850:2: rule__StringLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl10264);
+            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl9717);
             rule__StringLiteral__ValueAssignment_1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
-             after(grammarAccess.getStringLiteralAccess().getValueAssignment_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getStringLiteralAccess().getValueAssignment_1()); 
+            }
 
             }
 
@@ -13582,26 +13914,26 @@
     // $ANTLR end "rule__StringLiteral__Group__1__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5142:1: rule__SignedInteger__Group__0 : rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 ;
-    public final void rule__SignedInteger__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4864:1: rule__Integer__Group_0__0 : rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 ;
+    public final void rule__Integer__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5146:1: ( rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5147:2: rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4868:1: ( rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4869:2: rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__010298);
-            rule__SignedInteger__Group__0__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__09751);
+            rule__Integer__Group_0__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__010301);
-            rule__SignedInteger__Group__1();
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__09754);
+            rule__Integer__Group_0__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13617,46 +13949,50 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0"
+    // $ANTLR end "rule__Integer__Group_0__0"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5154:1: rule__SignedInteger__Group__0__Impl : ( ( rule__SignedInteger__Alternatives_0 )? ) ;
-    public final void rule__SignedInteger__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0__Impl"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4876:1: rule__Integer__Group_0__0__Impl : ( ( rule__Integer__Alternatives_0_0 )? ) ;
+    public final void rule__Integer__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5158:1: ( ( ( rule__SignedInteger__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5159:1: ( ( rule__SignedInteger__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4880:1: ( ( ( rule__Integer__Alternatives_0_0 )? ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4881:1: ( ( rule__Integer__Alternatives_0_0 )? )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5159:1: ( ( rule__SignedInteger__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5160:1: ( rule__SignedInteger__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4881:1: ( ( rule__Integer__Alternatives_0_0 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4882:1: ( rule__Integer__Alternatives_0_0 )?
             {
-             before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5161:1: ( rule__SignedInteger__Alternatives_0 )?
-            int alt34=2;
-            int LA34_0 = input.LA(1);
-
-            if ( ((LA34_0>=14 && LA34_0<=15)) ) {
-                alt34=1;
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
             }
-            switch (alt34) {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4883:1: ( rule__Integer__Alternatives_0_0 )?
+            int alt32=2;
+            int LA32_0 = input.LA(1);
+
+            if ( ((LA32_0>=16 && LA32_0<=17)) ) {
+                alt32=1;
+            }
+            switch (alt32) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5161:2: rule__SignedInteger__Alternatives_0
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4883:2: rule__Integer__Alternatives_0_0
                     {
-                    pushFollow(FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl10328);
-                    rule__SignedInteger__Alternatives_0();
+                    pushFollow(FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl9781);
+                    rule__Integer__Alternatives_0_0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
 
             }
 
-             after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
+            }
 
             }
 
@@ -13675,24 +14011,24 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0__Impl"
+    // $ANTLR end "rule__Integer__Group_0__0__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5171:1: rule__SignedInteger__Group__1 : rule__SignedInteger__Group__1__Impl ;
-    public final void rule__SignedInteger__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4893:1: rule__Integer__Group_0__1 : rule__Integer__Group_0__1__Impl ;
+    public final void rule__Integer__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5175:1: ( rule__SignedInteger__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5176:2: rule__SignedInteger__Group__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4897:1: ( rule__Integer__Group_0__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4898:2: rule__Integer__Group_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__110359);
-            rule__SignedInteger__Group__1__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__19812);
+            rule__Integer__Group_0__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13708,25 +14044,29 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1"
+    // $ANTLR end "rule__Integer__Group_0__1"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5182:1: rule__SignedInteger__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__SignedInteger__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1__Impl"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4904:1: rule__Integer__Group_0__1__Impl : ( RULE_INT ) ;
+    public final void rule__Integer__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5186:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5187:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4908:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4909:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5187:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5188:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4909:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4910:1: RULE_INT
             {
-             before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl10386); 
-             after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl9839); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
+            }
 
             }
 
@@ -13745,29 +14085,29 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1__Impl"
+    // $ANTLR end "rule__Integer__Group_0__1__Impl"
 
 
     // $ANTLR start "rule__Decimal__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5203:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4925:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
     public final void rule__Decimal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5207:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5208:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4929:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4930:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__010419);
+            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__09872);
             rule__Decimal__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__010422);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__09875);
             rule__Decimal__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13787,42 +14127,46 @@
 
 
     // $ANTLR start "rule__Decimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5215:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4937:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
     public final void rule__Decimal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5219:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5220:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4941:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4942:1: ( ( rule__Decimal__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5220:1: ( ( rule__Decimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5221:1: ( rule__Decimal__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4942:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4943:1: ( rule__Decimal__Alternatives_0 )?
             {
-             before(grammarAccess.getDecimalAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5222:1: ( rule__Decimal__Alternatives_0 )?
-            int alt35=2;
-            int LA35_0 = input.LA(1);
-
-            if ( ((LA35_0>=14 && LA35_0<=15)) ) {
-                alt35=1;
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalAccess().getAlternatives_0()); 
             }
-            switch (alt35) {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4944:1: ( rule__Decimal__Alternatives_0 )?
+            int alt33=2;
+            int LA33_0 = input.LA(1);
+
+            if ( ((LA33_0>=16 && LA33_0<=17)) ) {
+                alt33=1;
+            }
+            switch (alt33) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5222:2: rule__Decimal__Alternatives_0
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4944:2: rule__Decimal__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl10449);
+                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl9902);
                     rule__Decimal__Alternatives_0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
 
             }
 
-             after(grammarAccess.getDecimalAccess().getAlternatives_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalAccess().getAlternatives_0()); 
+            }
 
             }
 
@@ -13845,25 +14189,25 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5232:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4954:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
     public final void rule__Decimal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5236:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5237:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4958:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4959:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__110480);
+            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__19933);
             rule__Decimal__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__110483);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__19936);
             rule__Decimal__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13883,21 +14227,25 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5244:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4966:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5248:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5249:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4970:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4971:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5249:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5250:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4971:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4972:1: RULE_INT
             {
-             before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl10510); 
-             after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl9963); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
+            }
 
             }
 
@@ -13920,25 +14268,25 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5261:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4983:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
     public final void rule__Decimal__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5265:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5266:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4987:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4988:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__210539);
+            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__29992);
             rule__Decimal__Group__2__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__210542);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__29995);
             rule__Decimal__Group__3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -13958,21 +14306,25 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5273:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4995:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
     public final void rule__Decimal__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5277:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5278:1: ( '.' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:4999:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5000:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5278:1: ( '.' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5279:1: '.'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5000:1: ( '.' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5001:1: '.'
             {
-             before(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
-            match(input,57,FOLLOW_57_in_rule__Decimal__Group__2__Impl10570); 
-             after(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
+            }
+            match(input,58,FOLLOW_58_in_rule__Decimal__Group__2__Impl10023); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
+            }
 
             }
 
@@ -13995,20 +14347,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5292:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5014:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
     public final void rule__Decimal__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5296:1: ( rule__Decimal__Group__3__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5297:2: rule__Decimal__Group__3__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5018:1: ( rule__Decimal__Group__3__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5019:2: rule__Decimal__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__310601);
+            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__310054);
             rule__Decimal__Group__3__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -14028,21 +14380,25 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5303:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5025:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5307:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5308:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5029:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5030:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5308:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5309:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5030:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5031:1: RULE_INT
             {
-             before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl10628); 
-             after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl10081); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
+            }
 
             }
 
@@ -14064,508 +14420,26 @@
     // $ANTLR end "rule__Decimal__Group__3__Impl"
 
 
-    // $ANTLR start "rule__DotDecimal__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5328:1: rule__DotDecimal__Group__0 : rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 ;
-    public final void rule__DotDecimal__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5332:1: ( rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5333:2: rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__010665);
-            rule__DotDecimal__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__010668);
-            rule__DotDecimal__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5340:1: rule__DotDecimal__Group__0__Impl : ( ( rule__DotDecimal__Alternatives_0 )? ) ;
-    public final void rule__DotDecimal__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5344:1: ( ( ( rule__DotDecimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5345:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5345:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5346:1: ( rule__DotDecimal__Alternatives_0 )?
-            {
-             before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5347:1: ( rule__DotDecimal__Alternatives_0 )?
-            int alt36=2;
-            int LA36_0 = input.LA(1);
-
-            if ( ((LA36_0>=14 && LA36_0<=15)) ) {
-                alt36=1;
-            }
-            switch (alt36) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5347:2: rule__DotDecimal__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl10695);
-                    rule__DotDecimal__Alternatives_0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5357:1: rule__DotDecimal__Group__1 : rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 ;
-    public final void rule__DotDecimal__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5361:1: ( rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5362:2: rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__110726);
-            rule__DotDecimal__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__110729);
-            rule__DotDecimal__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5369:1: rule__DotDecimal__Group__1__Impl : ( '.' ) ;
-    public final void rule__DotDecimal__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5373:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5374:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5374:1: ( '.' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5375:1: '.'
-            {
-             before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-            match(input,57,FOLLOW_57_in_rule__DotDecimal__Group__1__Impl10757); 
-             after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5388:1: rule__DotDecimal__Group__2 : rule__DotDecimal__Group__2__Impl ;
-    public final void rule__DotDecimal__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5392:1: ( rule__DotDecimal__Group__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5393:2: rule__DotDecimal__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__210788);
-            rule__DotDecimal__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5399:1: rule__DotDecimal__Group__2__Impl : ( RULE_INT ) ;
-    public final void rule__DotDecimal__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5403:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5404:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5404:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5405:1: RULE_INT
-            {
-             before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl10815); 
-             after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5422:1: rule__DecimalDot__Group__0 : rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 ;
-    public final void rule__DecimalDot__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5426:1: ( rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5427:2: rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__010850);
-            rule__DecimalDot__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__010853);
-            rule__DecimalDot__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5434:1: rule__DecimalDot__Group__0__Impl : ( ( rule__DecimalDot__Alternatives_0 )? ) ;
-    public final void rule__DecimalDot__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5438:1: ( ( ( rule__DecimalDot__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5439:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5439:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5440:1: ( rule__DecimalDot__Alternatives_0 )?
-            {
-             before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5441:1: ( rule__DecimalDot__Alternatives_0 )?
-            int alt37=2;
-            int LA37_0 = input.LA(1);
-
-            if ( ((LA37_0>=14 && LA37_0<=15)) ) {
-                alt37=1;
-            }
-            switch (alt37) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5441:2: rule__DecimalDot__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl10880);
-                    rule__DecimalDot__Alternatives_0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5451:1: rule__DecimalDot__Group__1 : rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 ;
-    public final void rule__DecimalDot__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5455:1: ( rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5456:2: rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__110911);
-            rule__DecimalDot__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__110914);
-            rule__DecimalDot__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5463:1: rule__DecimalDot__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__DecimalDot__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5467:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5468:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5468:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5469:1: RULE_INT
-            {
-             before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl10941); 
-             after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5480:1: rule__DecimalDot__Group__2 : rule__DecimalDot__Group__2__Impl ;
-    public final void rule__DecimalDot__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5484:1: ( rule__DecimalDot__Group__2__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5485:2: rule__DecimalDot__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__210970);
-            rule__DecimalDot__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5491:1: rule__DecimalDot__Group__2__Impl : ( '.' ) ;
-    public final void rule__DecimalDot__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5495:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5496:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5496:1: ( '.' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5497:1: '.'
-            {
-             before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-            match(input,57,FOLLOW_57_in_rule__DecimalDot__Group__2__Impl10998); 
-             after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2__Impl"
-
-
     // $ANTLR start "rule__DecimalExp__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5516:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5050:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
     public final void rule__DecimalExp__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5520:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5521:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5054:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5055:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__011035);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__010118);
             rule__DecimalExp__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__011038);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__010121);
             rule__DecimalExp__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -14585,42 +14459,46 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5528:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5062:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
     public final void rule__DecimalExp__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5532:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5533:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5066:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5067:1: ( ( rule__DecimalExp__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5533:1: ( ( rule__DecimalExp__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5534:1: ( rule__DecimalExp__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5067:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5068:1: ( rule__DecimalExp__Alternatives_0 )?
             {
-             before(grammarAccess.getDecimalExpAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5535:1: ( rule__DecimalExp__Alternatives_0 )?
-            int alt38=2;
-            int LA38_0 = input.LA(1);
-
-            if ( ((LA38_0>=14 && LA38_0<=15)) ) {
-                alt38=1;
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalExpAccess().getAlternatives_0()); 
             }
-            switch (alt38) {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5069:1: ( rule__DecimalExp__Alternatives_0 )?
+            int alt34=2;
+            int LA34_0 = input.LA(1);
+
+            if ( ((LA34_0>=16 && LA34_0<=17)) ) {
+                alt34=1;
+            }
+            switch (alt34) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5535:2: rule__DecimalExp__Alternatives_0
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5069:2: rule__DecimalExp__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl11065);
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl10148);
                     rule__DecimalExp__Alternatives_0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
 
             }
 
-             after(grammarAccess.getDecimalExpAccess().getAlternatives_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalExpAccess().getAlternatives_0()); 
+            }
 
             }
 
@@ -14643,25 +14521,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5545:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5079:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
     public final void rule__DecimalExp__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5549:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5550:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5083:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5084:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__111096);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__110179);
             rule__DecimalExp__Group__1__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__111099);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__110182);
             rule__DecimalExp__Group__2();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -14681,21 +14559,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5557:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5091:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5561:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5562:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5095:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5096:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5562:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5563:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5096:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5097:1: RULE_INT
             {
-             before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl11126); 
-             after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl10209); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
+            }
 
             }
 
@@ -14718,25 +14600,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5574:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5108:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
     public final void rule__DecimalExp__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5578:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5579:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5112:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5113:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__211155);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__210238);
             rule__DecimalExp__Group__2__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__211158);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__210241);
             rule__DecimalExp__Group__3();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -14756,21 +14638,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5586:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5120:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
     public final void rule__DecimalExp__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5590:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5591:1: ( '.' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5124:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5125:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5591:1: ( '.' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5592:1: '.'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5125:1: ( '.' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5126:1: '.'
             {
-             before(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
-            match(input,57,FOLLOW_57_in_rule__DecimalExp__Group__2__Impl11186); 
-             after(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
+            }
+            match(input,58,FOLLOW_58_in_rule__DecimalExp__Group__2__Impl10269); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
+            }
 
             }
 
@@ -14793,25 +14679,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5605:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5139:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
     public final void rule__DecimalExp__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5609:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5610:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5143:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5144:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__311217);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__310300);
             rule__DecimalExp__Group__3__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__311220);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__310303);
             rule__DecimalExp__Group__4();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -14831,21 +14717,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5617:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5151:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5621:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5622:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5155:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5156:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5622:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5623:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5156:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5157:1: RULE_INT
             {
-             before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl11247); 
-             after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl10330); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
+            }
 
             }
 
@@ -14868,20 +14758,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5634:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5168:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 ;
     public final void rule__DecimalExp__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5638:1: ( rule__DecimalExp__Group__4__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5639:2: rule__DecimalExp__Group__4__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5172:1: ( rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5173:2: rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__411276);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__410359);
             rule__DecimalExp__Group__4__Impl();
 
             state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__410362);
+            rule__DecimalExp__Group__5();
 
+            state._fsp--;
+            if (state.failed) return ;
 
             }
 
@@ -14901,21 +14796,35 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5645:1: rule__DecimalExp__Group__4__Impl : ( RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5180:1: rule__DecimalExp__Group__4__Impl : ( ( rule__DecimalExp__Alternatives_4 ) ) ;
     public final void rule__DecimalExp__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5649:1: ( ( RULE_EXP ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5650:1: ( RULE_EXP )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5184:1: ( ( ( rule__DecimalExp__Alternatives_4 ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5185:1: ( ( rule__DecimalExp__Alternatives_4 ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5650:1: ( RULE_EXP )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5651:1: RULE_EXP
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5185:1: ( ( rule__DecimalExp__Alternatives_4 ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5186:1: ( rule__DecimalExp__Alternatives_4 )
             {
-             before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
-            match(input,RULE_EXP,FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl11303); 
-             after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5187:1: ( rule__DecimalExp__Alternatives_4 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5187:2: rule__DecimalExp__Alternatives_4
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl10389);
+            rule__DecimalExp__Alternatives_4();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
+            }
 
             }
 
@@ -14937,26 +14846,206 @@
     // $ANTLR end "rule__DecimalExp__Group__4__Impl"
 
 
+    // $ANTLR start "rule__DecimalExp__Group__5"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5197:1: rule__DecimalExp__Group__5 : rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 ;
+    public final void rule__DecimalExp__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5201:1: ( rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5202:2: rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__510419);
+            rule__DecimalExp__Group__5__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__510422);
+            rule__DecimalExp__Group__6();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__5__Impl"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5209:1: rule__DecimalExp__Group__5__Impl : ( ( rule__DecimalExp__Alternatives_5 )? ) ;
+    public final void rule__DecimalExp__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5213:1: ( ( ( rule__DecimalExp__Alternatives_5 )? ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5214:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5214:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5215:1: ( rule__DecimalExp__Alternatives_5 )?
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5216:1: ( rule__DecimalExp__Alternatives_5 )?
+            int alt35=2;
+            int LA35_0 = input.LA(1);
+
+            if ( ((LA35_0>=16 && LA35_0<=17)) ) {
+                alt35=1;
+            }
+            switch (alt35) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5216:2: rule__DecimalExp__Alternatives_5
+                    {
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl10449);
+                    rule__DecimalExp__Alternatives_5();
+
+                    state._fsp--;
+                    if (state.failed) return ;
+
+                    }
+                    break;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5__Impl"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5226:1: rule__DecimalExp__Group__6 : rule__DecimalExp__Group__6__Impl ;
+    public final void rule__DecimalExp__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5230:1: ( rule__DecimalExp__Group__6__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5231:2: rule__DecimalExp__Group__6__Impl
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__610480);
+            rule__DecimalExp__Group__6__Impl();
+
+            state._fsp--;
+            if (state.failed) return ;
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6__Impl"
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5237:1: rule__DecimalExp__Group__6__Impl : ( ( RULE_INT ) ) ;
+    public final void rule__DecimalExp__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5241:1: ( ( ( RULE_INT ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5242:1: ( ( RULE_INT ) )
+            {
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5242:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5243:1: ( RULE_INT )
+            {
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5244:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5244:3: RULE_INT
+            {
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl10508); if (state.failed) return ;
+
+            }
+
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+            }
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6__Impl"
+
+
     // $ANTLR start "rule__FQN__Group__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5672:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5268:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
     public final void rule__FQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5676:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5677:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5272:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5273:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__011342);
+            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__010552);
             rule__FQN__Group__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__011345);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__010555);
             rule__FQN__Group__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -14976,21 +15065,25 @@
 
 
     // $ANTLR start "rule__FQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5684:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5280:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5688:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5689:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5284:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5285:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5689:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5690:1: RULE_ID
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5285:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5286:1: RULE_ID
             {
-             before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl11372); 
-             after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
+            }
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl10582); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
+            }
 
             }
 
@@ -15013,20 +15106,20 @@
 
 
     // $ANTLR start "rule__FQN__Group__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5701:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5297:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
     public final void rule__FQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5705:1: ( rule__FQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5706:2: rule__FQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5301:1: ( rule__FQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5302:2: rule__FQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__111401);
+            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__110611);
             rule__FQN__Group__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -15046,49 +15139,53 @@
 
 
     // $ANTLR start "rule__FQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5712:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5308:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
     public final void rule__FQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5716:1: ( ( ( rule__FQN__Group_1__0 )* ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5717:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5312:1: ( ( ( rule__FQN__Group_1__0 )* ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5313:1: ( ( rule__FQN__Group_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5717:1: ( ( rule__FQN__Group_1__0 )* )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5718:1: ( rule__FQN__Group_1__0 )*
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5313:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5314:1: ( rule__FQN__Group_1__0 )*
             {
-             before(grammarAccess.getFQNAccess().getGroup_1()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5719:1: ( rule__FQN__Group_1__0 )*
-            loop39:
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getFQNAccess().getGroup_1()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5315:1: ( rule__FQN__Group_1__0 )*
+            loop36:
             do {
-                int alt39=2;
-                int LA39_0 = input.LA(1);
+                int alt36=2;
+                int LA36_0 = input.LA(1);
 
-                if ( (LA39_0==57) ) {
-                    alt39=1;
+                if ( (LA36_0==58) ) {
+                    alt36=1;
                 }
 
 
-                switch (alt39) {
+                switch (alt36) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5719:2: rule__FQN__Group_1__0
+            	    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5315:2: rule__FQN__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl11428);
+            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl10638);
             	    rule__FQN__Group_1__0();
 
             	    state._fsp--;
-
+            	    if (state.failed) return ;
 
             	    }
             	    break;
 
             	default :
-            	    break loop39;
+            	    break loop36;
                 }
             } while (true);
 
-             after(grammarAccess.getFQNAccess().getGroup_1()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getFQNAccess().getGroup_1()); 
+            }
 
             }
 
@@ -15111,25 +15208,25 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5733:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5329:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
     public final void rule__FQN__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5737:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5738:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5333:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5334:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__011463);
+            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__010673);
             rule__FQN__Group_1__0__Impl();
 
             state._fsp--;
-
-            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__011466);
+            if (state.failed) return ;
+            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__010676);
             rule__FQN__Group_1__1();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -15149,21 +15246,25 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5745:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5341:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
     public final void rule__FQN__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5749:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5750:1: ( '.' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5345:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5346:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5750:1: ( '.' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5751:1: '.'
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5346:1: ( '.' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5347:1: '.'
             {
-             before(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
-            match(input,57,FOLLOW_57_in_rule__FQN__Group_1__0__Impl11494); 
-             after(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
+            }
+            match(input,58,FOLLOW_58_in_rule__FQN__Group_1__0__Impl10704); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
+            }
 
             }
 
@@ -15186,20 +15287,20 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5764:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5360:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
     public final void rule__FQN__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5768:1: ( rule__FQN__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5769:2: rule__FQN__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5364:1: ( rule__FQN__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5365:2: rule__FQN__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__111525);
+            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__110735);
             rule__FQN__Group_1__1__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -15219,21 +15320,25 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5775:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5371:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5779:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5780:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5375:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5376:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5780:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5781:1: RULE_ID
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5376:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5377:1: RULE_ID
             {
-             before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl11552); 
-             after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
+            }
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl10762); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
+            }
 
             }
 
@@ -15256,22 +15361,23 @@
 
 
     // $ANTLR start "rule__NodeClass__UnorderedGroup_4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5797:1: rule__NodeClass__UnorderedGroup_4 : rule__NodeClass__UnorderedGroup_4__0 {...}?;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5393:1: rule__NodeClass__UnorderedGroup_4 : rule__NodeClass__UnorderedGroup_4__0 {...}?;
     public final void rule__NodeClass__UnorderedGroup_4() throws RecognitionException {
 
             	int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getNodeClassAccess().getUnorderedGroup_4());
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5802:1: ( rule__NodeClass__UnorderedGroup_4__0 {...}?)
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5803:2: rule__NodeClass__UnorderedGroup_4__0 {...}?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5398:1: ( rule__NodeClass__UnorderedGroup_4__0 {...}?)
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5399:2: rule__NodeClass__UnorderedGroup_4__0 {...}?
             {
-            pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__0_in_rule__NodeClass__UnorderedGroup_411586);
+            pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__0_in_rule__NodeClass__UnorderedGroup_410796);
             rule__NodeClass__UnorderedGroup_4__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
             if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getNodeClassAccess().getUnorderedGroup_4()) ) {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 throw new FailedPredicateException(input, "rule__NodeClass__UnorderedGroup_4", "getUnorderedGroupHelper().canLeave(grammarAccess.getNodeClassAccess().getUnorderedGroup_4())");
             }
 
@@ -15294,70 +15400,72 @@
 
 
     // $ANTLR start "rule__NodeClass__UnorderedGroup_4__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5814:1: rule__NodeClass__UnorderedGroup_4__Impl : ( ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5410:1: rule__NodeClass__UnorderedGroup_4__Impl : ( ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) ) ) ;
     public final void rule__NodeClass__UnorderedGroup_4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5819:1: ( ( ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5820:3: ( ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5415:1: ( ( ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5416:3: ( ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5820:3: ( ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) ) )
-            int alt40=3;
-            int LA40_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5416:3: ( ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) ) | ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) ) )
+            int alt37=3;
+            int LA37_0 = input.LA(1);
 
-            if ( LA40_0 ==35 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0) ) {
-                alt40=1;
+            if ( LA37_0 ==36 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0) ) {
+                alt37=1;
             }
-            else if ( LA40_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1) ) {
-                alt40=2;
+            else if ( LA37_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1) ) {
+                alt37=2;
             }
-            else if ( LA40_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2) ) {
-                alt40=3;
+            else if ( LA37_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2) ) {
+                alt37=3;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 40, 0, input);
+                    new NoViableAltException("", 37, 0, input);
 
                 throw nvae;
             }
-            switch (alt40) {
+            switch (alt37) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5822:4: ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5418:4: ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5822:4: ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5823:5: {...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5418:4: ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5419:5: {...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__NodeClass__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0)");
                     }
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5823:106: ( ( ( rule__NodeClass__Group_4_0__0 ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5824:6: ( ( rule__NodeClass__Group_4_0__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5419:106: ( ( ( rule__NodeClass__Group_4_0__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5420:6: ( ( rule__NodeClass__Group_4_0__0 ) )
                     {
-                     
-                    	 				  getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0);
-                    	 				
-
-                    	 				  selected = true;
-                    	 				
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5830:6: ( ( rule__NodeClass__Group_4_0__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5832:7: ( rule__NodeClass__Group_4_0__0 )
+                    getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0);
+                    selected = true;
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5426:6: ( ( rule__NodeClass__Group_4_0__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5428:7: ( rule__NodeClass__Group_4_0__0 )
                     {
-                     before(grammarAccess.getNodeClassAccess().getGroup_4_0()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5833:7: ( rule__NodeClass__Group_4_0__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5833:8: rule__NodeClass__Group_4_0__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getNodeClassAccess().getGroup_4_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5429:7: ( rule__NodeClass__Group_4_0__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5429:8: rule__NodeClass__Group_4_0__0
                     {
-                    pushFollow(FOLLOW_rule__NodeClass__Group_4_0__0_in_rule__NodeClass__UnorderedGroup_4__Impl11675);
+                    pushFollow(FOLLOW_rule__NodeClass__Group_4_0__0_in_rule__NodeClass__UnorderedGroup_4__Impl10885);
                     rule__NodeClass__Group_4_0__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getNodeClassAccess().getGroup_4_0()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getNodeClassAccess().getGroup_4_0()); 
+                    }
 
                     }
 
@@ -15371,39 +15479,40 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5839:4: ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5435:4: ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5839:4: ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5840:5: {...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5435:4: ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5436:5: {...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__NodeClass__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1)");
                     }
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5840:106: ( ( ( rule__NodeClass__Group_4_1__0 ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5841:6: ( ( rule__NodeClass__Group_4_1__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5436:106: ( ( ( rule__NodeClass__Group_4_1__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5437:6: ( ( rule__NodeClass__Group_4_1__0 ) )
                     {
-                     
-                    	 				  getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1);
-                    	 				
-
-                    	 				  selected = true;
-                    	 				
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5847:6: ( ( rule__NodeClass__Group_4_1__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5849:7: ( rule__NodeClass__Group_4_1__0 )
+                    getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1);
+                    selected = true;
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5443:6: ( ( rule__NodeClass__Group_4_1__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5445:7: ( rule__NodeClass__Group_4_1__0 )
                     {
-                     before(grammarAccess.getNodeClassAccess().getGroup_4_1()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5850:7: ( rule__NodeClass__Group_4_1__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5850:8: rule__NodeClass__Group_4_1__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getNodeClassAccess().getGroup_4_1()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5446:7: ( rule__NodeClass__Group_4_1__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5446:8: rule__NodeClass__Group_4_1__0
                     {
-                    pushFollow(FOLLOW_rule__NodeClass__Group_4_1__0_in_rule__NodeClass__UnorderedGroup_4__Impl11766);
+                    pushFollow(FOLLOW_rule__NodeClass__Group_4_1__0_in_rule__NodeClass__UnorderedGroup_4__Impl10976);
                     rule__NodeClass__Group_4_1__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getNodeClassAccess().getGroup_4_1()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getNodeClassAccess().getGroup_4_1()); 
+                    }
 
                     }
 
@@ -15417,39 +15526,40 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5856:4: ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5452:4: ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5856:4: ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5857:5: {...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5452:4: ({...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5453:5: {...}? => ( ( ( rule__NodeClass__Group_4_2__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__NodeClass__UnorderedGroup_4__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2)");
                     }
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5857:106: ( ( ( rule__NodeClass__Group_4_2__0 ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5858:6: ( ( rule__NodeClass__Group_4_2__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5453:106: ( ( ( rule__NodeClass__Group_4_2__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5454:6: ( ( rule__NodeClass__Group_4_2__0 ) )
                     {
-                     
-                    	 				  getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2);
-                    	 				
-
-                    	 				  selected = true;
-                    	 				
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5864:6: ( ( rule__NodeClass__Group_4_2__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5866:7: ( rule__NodeClass__Group_4_2__0 )
+                    getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2);
+                    selected = true;
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5460:6: ( ( rule__NodeClass__Group_4_2__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5462:7: ( rule__NodeClass__Group_4_2__0 )
                     {
-                     before(grammarAccess.getNodeClassAccess().getGroup_4_2()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5867:7: ( rule__NodeClass__Group_4_2__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5867:8: rule__NodeClass__Group_4_2__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getNodeClassAccess().getGroup_4_2()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5463:7: ( rule__NodeClass__Group_4_2__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5463:8: rule__NodeClass__Group_4_2__0
                     {
-                    pushFollow(FOLLOW_rule__NodeClass__Group_4_2__0_in_rule__NodeClass__UnorderedGroup_4__Impl11857);
+                    pushFollow(FOLLOW_rule__NodeClass__Group_4_2__0_in_rule__NodeClass__UnorderedGroup_4__Impl11067);
                     rule__NodeClass__Group_4_2__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getNodeClassAccess().getGroup_4_2()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getNodeClassAccess().getGroup_4_2()); 
+                    }
 
                     }
 
@@ -15486,42 +15596,42 @@
 
 
     // $ANTLR start "rule__NodeClass__UnorderedGroup_4__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5882:1: rule__NodeClass__UnorderedGroup_4__0 : rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__1 )? ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5478:1: rule__NodeClass__UnorderedGroup_4__0 : rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__1 )? ;
     public final void rule__NodeClass__UnorderedGroup_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5886:1: ( rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__1 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5887:2: rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__1 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5482:1: ( rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__1 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5483:2: rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__1 )?
             {
-            pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__011916);
+            pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__011126);
             rule__NodeClass__UnorderedGroup_4__Impl();
 
             state._fsp--;
+            if (state.failed) return ;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5484:2: ( rule__NodeClass__UnorderedGroup_4__1 )?
+            int alt38=2;
+            int LA38_0 = input.LA(1);
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5888:2: ( rule__NodeClass__UnorderedGroup_4__1 )?
-            int alt41=2;
-            int LA41_0 = input.LA(1);
-
-            if ( LA41_0 ==35 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0) ) {
-                alt41=1;
+            if ( LA38_0 ==36 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0) ) {
+                alt38=1;
             }
-            else if ( LA41_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1) ) {
-                alt41=1;
+            else if ( LA38_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1) ) {
+                alt38=1;
             }
-            else if ( LA41_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2) ) {
-                alt41=1;
+            else if ( LA38_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2) ) {
+                alt38=1;
             }
-            switch (alt41) {
+            switch (alt38) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5888:2: rule__NodeClass__UnorderedGroup_4__1
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:0:0: rule__NodeClass__UnorderedGroup_4__1
                     {
-                    pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__1_in_rule__NodeClass__UnorderedGroup_4__011919);
+                    pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__1_in_rule__NodeClass__UnorderedGroup_4__011129);
                     rule__NodeClass__UnorderedGroup_4__1();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
@@ -15547,42 +15657,42 @@
 
 
     // $ANTLR start "rule__NodeClass__UnorderedGroup_4__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5895:1: rule__NodeClass__UnorderedGroup_4__1 : rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__2 )? ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5491:1: rule__NodeClass__UnorderedGroup_4__1 : rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__2 )? ;
     public final void rule__NodeClass__UnorderedGroup_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5899:1: ( rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__2 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5900:2: rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__2 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5495:1: ( rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__2 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5496:2: rule__NodeClass__UnorderedGroup_4__Impl ( rule__NodeClass__UnorderedGroup_4__2 )?
             {
-            pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__111944);
+            pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__111154);
             rule__NodeClass__UnorderedGroup_4__Impl();
 
             state._fsp--;
+            if (state.failed) return ;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5497:2: ( rule__NodeClass__UnorderedGroup_4__2 )?
+            int alt39=2;
+            int LA39_0 = input.LA(1);
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5901:2: ( rule__NodeClass__UnorderedGroup_4__2 )?
-            int alt42=2;
-            int LA42_0 = input.LA(1);
-
-            if ( LA42_0 ==35 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0) ) {
-                alt42=1;
+            if ( LA39_0 ==36 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0) ) {
+                alt39=1;
             }
-            else if ( LA42_0 ==37 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1) ) {
-                alt42=1;
+            else if ( LA39_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1) ) {
+                alt39=1;
             }
-            else if ( LA42_0 ==38 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2) ) {
-                alt42=1;
+            else if ( LA39_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2) ) {
+                alt39=1;
             }
-            switch (alt42) {
+            switch (alt39) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5901:2: rule__NodeClass__UnorderedGroup_4__2
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:0:0: rule__NodeClass__UnorderedGroup_4__2
                     {
-                    pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__2_in_rule__NodeClass__UnorderedGroup_4__111947);
+                    pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__2_in_rule__NodeClass__UnorderedGroup_4__111157);
                     rule__NodeClass__UnorderedGroup_4__2();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
@@ -15608,20 +15718,20 @@
 
 
     // $ANTLR start "rule__NodeClass__UnorderedGroup_4__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5908:1: rule__NodeClass__UnorderedGroup_4__2 : rule__NodeClass__UnorderedGroup_4__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5504:1: rule__NodeClass__UnorderedGroup_4__2 : rule__NodeClass__UnorderedGroup_4__Impl ;
     public final void rule__NodeClass__UnorderedGroup_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5912:1: ( rule__NodeClass__UnorderedGroup_4__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5913:2: rule__NodeClass__UnorderedGroup_4__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5508:1: ( rule__NodeClass__UnorderedGroup_4__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5509:2: rule__NodeClass__UnorderedGroup_4__Impl
             {
-            pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__211972);
+            pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__211182);
             rule__NodeClass__UnorderedGroup_4__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -15641,22 +15751,23 @@
 
 
     // $ANTLR start "rule__PhysicalThread__UnorderedGroup_3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5926:1: rule__PhysicalThread__UnorderedGroup_3 : rule__PhysicalThread__UnorderedGroup_3__0 {...}?;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5522:1: rule__PhysicalThread__UnorderedGroup_3 : rule__PhysicalThread__UnorderedGroup_3__0 {...}?;
     public final void rule__PhysicalThread__UnorderedGroup_3() throws RecognitionException {
 
             	int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5931:1: ( rule__PhysicalThread__UnorderedGroup_3__0 {...}?)
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5932:2: rule__PhysicalThread__UnorderedGroup_3__0 {...}?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5527:1: ( rule__PhysicalThread__UnorderedGroup_3__0 {...}?)
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5528:2: rule__PhysicalThread__UnorderedGroup_3__0 {...}?
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__0_in_rule__PhysicalThread__UnorderedGroup_312002);
+            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__0_in_rule__PhysicalThread__UnorderedGroup_311212);
             rule__PhysicalThread__UnorderedGroup_3__0();
 
             state._fsp--;
-
+            if (state.failed) return ;
             if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3()) ) {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 throw new FailedPredicateException(input, "rule__PhysicalThread__UnorderedGroup_3", "getUnorderedGroupHelper().canLeave(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3())");
             }
 
@@ -15679,79 +15790,81 @@
 
 
     // $ANTLR start "rule__PhysicalThread__UnorderedGroup_3__Impl"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5943:1: rule__PhysicalThread__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5539:1: rule__PhysicalThread__UnorderedGroup_3__Impl : ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) ) ) ;
     public final void rule__PhysicalThread__UnorderedGroup_3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5948:1: ( ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5949:3: ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5544:1: ( ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5545:3: ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5949:3: ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) ) )
-            int alt43=6;
-            int LA43_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5545:3: ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) ) | ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) ) )
+            int alt40=6;
+            int LA40_0 = input.LA(1);
 
-            if ( LA43_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
-                alt43=1;
+            if ( LA40_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
+                alt40=1;
             }
-            else if ( LA43_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
-                alt43=2;
+            else if ( LA40_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
+                alt40=2;
             }
-            else if ( LA43_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
-                alt43=3;
+            else if ( LA40_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
+                alt40=3;
             }
-            else if ( LA43_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
-                alt43=4;
+            else if ( LA40_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
+                alt40=4;
             }
-            else if ( LA43_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
-                alt43=5;
+            else if ( LA40_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
+                alt40=5;
             }
-            else if ( LA43_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
-                alt43=6;
+            else if ( LA40_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
+                alt40=6;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return ;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 43, 0, input);
+                    new NoViableAltException("", 40, 0, input);
 
                 throw nvae;
             }
-            switch (alt43) {
+            switch (alt40) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5951:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5547:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5951:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5952:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5547:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5548:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__PhysicalThread__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0)");
                     }
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5952:111: ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5953:6: ( ( rule__PhysicalThread__Group_3_0__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5548:111: ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5549:6: ( ( rule__PhysicalThread__Group_3_0__0 ) )
                     {
-                     
-                    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0);
-                    	 				
-
-                    	 				  selected = true;
-                    	 				
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5959:6: ( ( rule__PhysicalThread__Group_3_0__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5961:7: ( rule__PhysicalThread__Group_3_0__0 )
+                    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0);
+                    selected = true;
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5555:6: ( ( rule__PhysicalThread__Group_3_0__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5557:7: ( rule__PhysicalThread__Group_3_0__0 )
                     {
-                     before(grammarAccess.getPhysicalThreadAccess().getGroup_3_0()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5962:7: ( rule__PhysicalThread__Group_3_0__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5962:8: rule__PhysicalThread__Group_3_0__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getPhysicalThreadAccess().getGroup_3_0()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5558:7: ( rule__PhysicalThread__Group_3_0__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5558:8: rule__PhysicalThread__Group_3_0__0
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12091);
+                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11301);
                     rule__PhysicalThread__Group_3_0__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getPhysicalThreadAccess().getGroup_3_0()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getPhysicalThreadAccess().getGroup_3_0()); 
+                    }
 
                     }
 
@@ -15765,39 +15878,40 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5968:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5564:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5968:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5969:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5564:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5565:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__PhysicalThread__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1)");
                     }
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5969:111: ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5970:6: ( ( rule__PhysicalThread__Group_3_1__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5565:111: ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5566:6: ( ( rule__PhysicalThread__Group_3_1__0 ) )
                     {
-                     
-                    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1);
-                    	 				
-
-                    	 				  selected = true;
-                    	 				
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5976:6: ( ( rule__PhysicalThread__Group_3_1__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5978:7: ( rule__PhysicalThread__Group_3_1__0 )
+                    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1);
+                    selected = true;
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5572:6: ( ( rule__PhysicalThread__Group_3_1__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5574:7: ( rule__PhysicalThread__Group_3_1__0 )
                     {
-                     before(grammarAccess.getPhysicalThreadAccess().getGroup_3_1()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5979:7: ( rule__PhysicalThread__Group_3_1__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5979:8: rule__PhysicalThread__Group_3_1__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getPhysicalThreadAccess().getGroup_3_1()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5575:7: ( rule__PhysicalThread__Group_3_1__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5575:8: rule__PhysicalThread__Group_3_1__0
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12182);
+                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11392);
                     rule__PhysicalThread__Group_3_1__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getPhysicalThreadAccess().getGroup_3_1()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getPhysicalThreadAccess().getGroup_3_1()); 
+                    }
 
                     }
 
@@ -15811,39 +15925,40 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5985:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5581:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5985:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5986:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5581:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5582:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__PhysicalThread__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2)");
                     }
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5986:111: ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5987:6: ( ( rule__PhysicalThread__Group_3_2__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5582:111: ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5583:6: ( ( rule__PhysicalThread__Group_3_2__0 ) )
                     {
-                     
-                    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2);
-                    	 				
-
-                    	 				  selected = true;
-                    	 				
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5993:6: ( ( rule__PhysicalThread__Group_3_2__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5995:7: ( rule__PhysicalThread__Group_3_2__0 )
+                    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2);
+                    selected = true;
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5589:6: ( ( rule__PhysicalThread__Group_3_2__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5591:7: ( rule__PhysicalThread__Group_3_2__0 )
                     {
-                     before(grammarAccess.getPhysicalThreadAccess().getGroup_3_2()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5996:7: ( rule__PhysicalThread__Group_3_2__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5996:8: rule__PhysicalThread__Group_3_2__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getPhysicalThreadAccess().getGroup_3_2()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5592:7: ( rule__PhysicalThread__Group_3_2__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5592:8: rule__PhysicalThread__Group_3_2__0
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12273);
+                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11483);
                     rule__PhysicalThread__Group_3_2__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getPhysicalThreadAccess().getGroup_3_2()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getPhysicalThreadAccess().getGroup_3_2()); 
+                    }
 
                     }
 
@@ -15857,39 +15972,40 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6002:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5598:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6002:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6003:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5598:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5599:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__PhysicalThread__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3)");
                     }
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6003:111: ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6004:6: ( ( rule__PhysicalThread__Group_3_3__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5599:111: ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5600:6: ( ( rule__PhysicalThread__Group_3_3__0 ) )
                     {
-                     
-                    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3);
-                    	 				
-
-                    	 				  selected = true;
-                    	 				
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6010:6: ( ( rule__PhysicalThread__Group_3_3__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6012:7: ( rule__PhysicalThread__Group_3_3__0 )
+                    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3);
+                    selected = true;
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5606:6: ( ( rule__PhysicalThread__Group_3_3__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5608:7: ( rule__PhysicalThread__Group_3_3__0 )
                     {
-                     before(grammarAccess.getPhysicalThreadAccess().getGroup_3_3()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6013:7: ( rule__PhysicalThread__Group_3_3__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6013:8: rule__PhysicalThread__Group_3_3__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getPhysicalThreadAccess().getGroup_3_3()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5609:7: ( rule__PhysicalThread__Group_3_3__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5609:8: rule__PhysicalThread__Group_3_3__0
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12364);
+                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11574);
                     rule__PhysicalThread__Group_3_3__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getPhysicalThreadAccess().getGroup_3_3()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getPhysicalThreadAccess().getGroup_3_3()); 
+                    }
 
                     }
 
@@ -15903,39 +16019,40 @@
                     }
                     break;
                 case 5 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6019:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5615:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6019:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6020:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5615:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5616:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__PhysicalThread__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4)");
                     }
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6020:111: ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6021:6: ( ( rule__PhysicalThread__Group_3_4__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5616:111: ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5617:6: ( ( rule__PhysicalThread__Group_3_4__0 ) )
                     {
-                     
-                    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4);
-                    	 				
-
-                    	 				  selected = true;
-                    	 				
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6027:6: ( ( rule__PhysicalThread__Group_3_4__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6029:7: ( rule__PhysicalThread__Group_3_4__0 )
+                    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4);
+                    selected = true;
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5623:6: ( ( rule__PhysicalThread__Group_3_4__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5625:7: ( rule__PhysicalThread__Group_3_4__0 )
                     {
-                     before(grammarAccess.getPhysicalThreadAccess().getGroup_3_4()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6030:7: ( rule__PhysicalThread__Group_3_4__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6030:8: rule__PhysicalThread__Group_3_4__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getPhysicalThreadAccess().getGroup_3_4()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5626:7: ( rule__PhysicalThread__Group_3_4__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5626:8: rule__PhysicalThread__Group_3_4__0
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12455);
+                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11665);
                     rule__PhysicalThread__Group_3_4__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getPhysicalThreadAccess().getGroup_3_4()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getPhysicalThreadAccess().getGroup_3_4()); 
+                    }
 
                     }
 
@@ -15949,39 +16066,40 @@
                     }
                     break;
                 case 6 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6036:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5632:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6036:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6037:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5632:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5633:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
+                        if (state.backtracking>0) {state.failed=true; return ;}
                         throw new FailedPredicateException(input, "rule__PhysicalThread__UnorderedGroup_3__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5)");
                     }
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6037:111: ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6038:6: ( ( rule__PhysicalThread__Group_3_5__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5633:111: ( ( ( rule__PhysicalThread__Group_3_5__0 ) ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5634:6: ( ( rule__PhysicalThread__Group_3_5__0 ) )
                     {
-                     
-                    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5);
-                    	 				
-
-                    	 				  selected = true;
-                    	 				
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6044:6: ( ( rule__PhysicalThread__Group_3_5__0 ) )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6046:7: ( rule__PhysicalThread__Group_3_5__0 )
+                    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5);
+                    selected = true;
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5640:6: ( ( rule__PhysicalThread__Group_3_5__0 ) )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5642:7: ( rule__PhysicalThread__Group_3_5__0 )
                     {
-                     before(grammarAccess.getPhysicalThreadAccess().getGroup_3_5()); 
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6047:7: ( rule__PhysicalThread__Group_3_5__0 )
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6047:8: rule__PhysicalThread__Group_3_5__0
+                    if ( state.backtracking==0 ) {
+                       before(grammarAccess.getPhysicalThreadAccess().getGroup_3_5()); 
+                    }
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5643:7: ( rule__PhysicalThread__Group_3_5__0 )
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5643:8: rule__PhysicalThread__Group_3_5__0
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12546);
+                    pushFollow(FOLLOW_rule__PhysicalThread__Group_3_5__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11756);
                     rule__PhysicalThread__Group_3_5__0();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
 
-                     after(grammarAccess.getPhysicalThreadAccess().getGroup_3_5()); 
+                    if ( state.backtracking==0 ) {
+                       after(grammarAccess.getPhysicalThreadAccess().getGroup_3_5()); 
+                    }
 
                     }
 
@@ -16018,51 +16136,51 @@
 
 
     // $ANTLR start "rule__PhysicalThread__UnorderedGroup_3__0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6062:1: rule__PhysicalThread__UnorderedGroup_3__0 : rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__1 )? ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5658:1: rule__PhysicalThread__UnorderedGroup_3__0 : rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__1 )? ;
     public final void rule__PhysicalThread__UnorderedGroup_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6066:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__1 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6067:2: rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__1 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5662:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__1 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5663:2: rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__1 )?
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__012605);
+            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__011815);
             rule__PhysicalThread__UnorderedGroup_3__Impl();
 
             state._fsp--;
+            if (state.failed) return ;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5664:2: ( rule__PhysicalThread__UnorderedGroup_3__1 )?
+            int alt41=2;
+            int LA41_0 = input.LA(1);
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6068:2: ( rule__PhysicalThread__UnorderedGroup_3__1 )?
-            int alt44=2;
-            int LA44_0 = input.LA(1);
-
-            if ( LA44_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
-                alt44=1;
+            if ( LA41_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
+                alt41=1;
             }
-            else if ( LA44_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
-                alt44=1;
+            else if ( LA41_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
+                alt41=1;
             }
-            else if ( LA44_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
-                alt44=1;
+            else if ( LA41_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
+                alt41=1;
             }
-            else if ( LA44_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
-                alt44=1;
+            else if ( LA41_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
+                alt41=1;
             }
-            else if ( LA44_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
-                alt44=1;
+            else if ( LA41_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
+                alt41=1;
             }
-            else if ( LA44_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
-                alt44=1;
+            else if ( LA41_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
+                alt41=1;
             }
-            switch (alt44) {
+            switch (alt41) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6068:2: rule__PhysicalThread__UnorderedGroup_3__1
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:0:0: rule__PhysicalThread__UnorderedGroup_3__1
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__1_in_rule__PhysicalThread__UnorderedGroup_3__012608);
+                    pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__1_in_rule__PhysicalThread__UnorderedGroup_3__011818);
                     rule__PhysicalThread__UnorderedGroup_3__1();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
@@ -16088,51 +16206,51 @@
 
 
     // $ANTLR start "rule__PhysicalThread__UnorderedGroup_3__1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6075:1: rule__PhysicalThread__UnorderedGroup_3__1 : rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__2 )? ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5671:1: rule__PhysicalThread__UnorderedGroup_3__1 : rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__2 )? ;
     public final void rule__PhysicalThread__UnorderedGroup_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6079:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__2 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6080:2: rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__2 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5675:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__2 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5676:2: rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__2 )?
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__112633);
+            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__111843);
             rule__PhysicalThread__UnorderedGroup_3__Impl();
 
             state._fsp--;
+            if (state.failed) return ;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5677:2: ( rule__PhysicalThread__UnorderedGroup_3__2 )?
+            int alt42=2;
+            int LA42_0 = input.LA(1);
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6081:2: ( rule__PhysicalThread__UnorderedGroup_3__2 )?
-            int alt45=2;
-            int LA45_0 = input.LA(1);
-
-            if ( LA45_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
-                alt45=1;
+            if ( LA42_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
+                alt42=1;
             }
-            else if ( LA45_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
-                alt45=1;
+            else if ( LA42_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
+                alt42=1;
             }
-            else if ( LA45_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
-                alt45=1;
+            else if ( LA42_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
+                alt42=1;
             }
-            else if ( LA45_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
-                alt45=1;
+            else if ( LA42_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
+                alt42=1;
             }
-            else if ( LA45_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
-                alt45=1;
+            else if ( LA42_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
+                alt42=1;
             }
-            else if ( LA45_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
-                alt45=1;
+            else if ( LA42_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
+                alt42=1;
             }
-            switch (alt45) {
+            switch (alt42) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6081:2: rule__PhysicalThread__UnorderedGroup_3__2
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:0:0: rule__PhysicalThread__UnorderedGroup_3__2
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__2_in_rule__PhysicalThread__UnorderedGroup_3__112636);
+                    pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__2_in_rule__PhysicalThread__UnorderedGroup_3__111846);
                     rule__PhysicalThread__UnorderedGroup_3__2();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
@@ -16158,51 +16276,51 @@
 
 
     // $ANTLR start "rule__PhysicalThread__UnorderedGroup_3__2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6088:1: rule__PhysicalThread__UnorderedGroup_3__2 : rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__3 )? ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5684:1: rule__PhysicalThread__UnorderedGroup_3__2 : rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__3 )? ;
     public final void rule__PhysicalThread__UnorderedGroup_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6092:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__3 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6093:2: rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__3 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5688:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__3 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5689:2: rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__3 )?
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__212661);
+            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__211871);
             rule__PhysicalThread__UnorderedGroup_3__Impl();
 
             state._fsp--;
+            if (state.failed) return ;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5690:2: ( rule__PhysicalThread__UnorderedGroup_3__3 )?
+            int alt43=2;
+            int LA43_0 = input.LA(1);
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6094:2: ( rule__PhysicalThread__UnorderedGroup_3__3 )?
-            int alt46=2;
-            int LA46_0 = input.LA(1);
-
-            if ( LA46_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
-                alt46=1;
+            if ( LA43_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
+                alt43=1;
             }
-            else if ( LA46_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
-                alt46=1;
+            else if ( LA43_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
+                alt43=1;
             }
-            else if ( LA46_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
-                alt46=1;
+            else if ( LA43_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
+                alt43=1;
             }
-            else if ( LA46_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
-                alt46=1;
+            else if ( LA43_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
+                alt43=1;
             }
-            else if ( LA46_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
-                alt46=1;
+            else if ( LA43_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
+                alt43=1;
             }
-            else if ( LA46_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
-                alt46=1;
+            else if ( LA43_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
+                alt43=1;
             }
-            switch (alt46) {
+            switch (alt43) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6094:2: rule__PhysicalThread__UnorderedGroup_3__3
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:0:0: rule__PhysicalThread__UnorderedGroup_3__3
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__3_in_rule__PhysicalThread__UnorderedGroup_3__212664);
+                    pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__3_in_rule__PhysicalThread__UnorderedGroup_3__211874);
                     rule__PhysicalThread__UnorderedGroup_3__3();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
@@ -16228,51 +16346,51 @@
 
 
     // $ANTLR start "rule__PhysicalThread__UnorderedGroup_3__3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6101:1: rule__PhysicalThread__UnorderedGroup_3__3 : rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__4 )? ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5697:1: rule__PhysicalThread__UnorderedGroup_3__3 : rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__4 )? ;
     public final void rule__PhysicalThread__UnorderedGroup_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6105:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__4 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6106:2: rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__4 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5701:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__4 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5702:2: rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__4 )?
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__312689);
+            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__311899);
             rule__PhysicalThread__UnorderedGroup_3__Impl();
 
             state._fsp--;
+            if (state.failed) return ;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5703:2: ( rule__PhysicalThread__UnorderedGroup_3__4 )?
+            int alt44=2;
+            int LA44_0 = input.LA(1);
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6107:2: ( rule__PhysicalThread__UnorderedGroup_3__4 )?
-            int alt47=2;
-            int LA47_0 = input.LA(1);
-
-            if ( LA47_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
-                alt47=1;
+            if ( LA44_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
+                alt44=1;
             }
-            else if ( LA47_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
-                alt47=1;
+            else if ( LA44_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
+                alt44=1;
             }
-            else if ( LA47_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
-                alt47=1;
+            else if ( LA44_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
+                alt44=1;
             }
-            else if ( LA47_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
-                alt47=1;
+            else if ( LA44_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
+                alt44=1;
             }
-            else if ( LA47_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
-                alt47=1;
+            else if ( LA44_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
+                alt44=1;
             }
-            else if ( LA47_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
-                alt47=1;
+            else if ( LA44_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
+                alt44=1;
             }
-            switch (alt47) {
+            switch (alt44) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6107:2: rule__PhysicalThread__UnorderedGroup_3__4
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:0:0: rule__PhysicalThread__UnorderedGroup_3__4
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__4_in_rule__PhysicalThread__UnorderedGroup_3__312692);
+                    pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__4_in_rule__PhysicalThread__UnorderedGroup_3__311902);
                     rule__PhysicalThread__UnorderedGroup_3__4();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
@@ -16298,51 +16416,51 @@
 
 
     // $ANTLR start "rule__PhysicalThread__UnorderedGroup_3__4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6114:1: rule__PhysicalThread__UnorderedGroup_3__4 : rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__5 )? ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5710:1: rule__PhysicalThread__UnorderedGroup_3__4 : rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__5 )? ;
     public final void rule__PhysicalThread__UnorderedGroup_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6118:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__5 )? )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6119:2: rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__5 )?
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5714:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__5 )? )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5715:2: rule__PhysicalThread__UnorderedGroup_3__Impl ( rule__PhysicalThread__UnorderedGroup_3__5 )?
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__412717);
+            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__411927);
             rule__PhysicalThread__UnorderedGroup_3__Impl();
 
             state._fsp--;
+            if (state.failed) return ;
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5716:2: ( rule__PhysicalThread__UnorderedGroup_3__5 )?
+            int alt45=2;
+            int LA45_0 = input.LA(1);
 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6120:2: ( rule__PhysicalThread__UnorderedGroup_3__5 )?
-            int alt48=2;
-            int LA48_0 = input.LA(1);
-
-            if ( LA48_0 ==39 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
-                alt48=1;
+            if ( LA45_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
+                alt45=1;
             }
-            else if ( LA48_0 ==40 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
-                alt48=1;
+            else if ( LA45_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
+                alt45=1;
             }
-            else if ( LA48_0 ==41 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
-                alt48=1;
+            else if ( LA45_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
+                alt45=1;
             }
-            else if ( LA48_0 ==42 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
-                alt48=1;
+            else if ( LA45_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
+                alt45=1;
             }
-            else if ( LA48_0 ==43 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
-                alt48=1;
+            else if ( LA45_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
+                alt45=1;
             }
-            else if ( LA48_0 ==44 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
-                alt48=1;
+            else if ( LA45_0 ==45 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
+                alt45=1;
             }
-            switch (alt48) {
+            switch (alt45) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6120:2: rule__PhysicalThread__UnorderedGroup_3__5
+                    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:0:0: rule__PhysicalThread__UnorderedGroup_3__5
                     {
-                    pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__5_in_rule__PhysicalThread__UnorderedGroup_3__412720);
+                    pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__5_in_rule__PhysicalThread__UnorderedGroup_3__411930);
                     rule__PhysicalThread__UnorderedGroup_3__5();
 
                     state._fsp--;
-
+                    if (state.failed) return ;
 
                     }
                     break;
@@ -16368,20 +16486,20 @@
 
 
     // $ANTLR start "rule__PhysicalThread__UnorderedGroup_3__5"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6127:1: rule__PhysicalThread__UnorderedGroup_3__5 : rule__PhysicalThread__UnorderedGroup_3__Impl ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5723:1: rule__PhysicalThread__UnorderedGroup_3__5 : rule__PhysicalThread__UnorderedGroup_3__Impl ;
     public final void rule__PhysicalThread__UnorderedGroup_3__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6131:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6132:2: rule__PhysicalThread__UnorderedGroup_3__Impl
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5727:1: ( rule__PhysicalThread__UnorderedGroup_3__Impl )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5728:2: rule__PhysicalThread__UnorderedGroup_3__Impl
             {
-            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__512745);
+            pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__511955);
             rule__PhysicalThread__UnorderedGroup_3__Impl();
 
             state._fsp--;
-
+            if (state.failed) return ;
 
             }
 
@@ -16401,25 +16519,29 @@
 
 
     // $ANTLR start "rule__PhysicalModel__NameAssignment_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6151:1: rule__PhysicalModel__NameAssignment_1 : ( ruleFQN ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5747:1: rule__PhysicalModel__NameAssignment_1 : ( ruleFQN ) ;
     public final void rule__PhysicalModel__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6155:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6156:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5751:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5752:1: ( ruleFQN )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6156:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6157:1: ruleFQN
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5752:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5753:1: ruleFQN
             {
-             before(grammarAccess.getPhysicalModelAccess().getNameFQNParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__PhysicalModel__NameAssignment_112785);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getNameFQNParserRuleCall_1_0()); 
+            }
+            pushFollow(FOLLOW_ruleFQN_in_rule__PhysicalModel__NameAssignment_111995);
             ruleFQN();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalModelAccess().getNameFQNParserRuleCall_1_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getNameFQNParserRuleCall_1_0()); 
+            }
 
             }
 
@@ -16442,25 +16564,29 @@
 
 
     // $ANTLR start "rule__PhysicalModel__ImportsAssignment_3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6166:1: rule__PhysicalModel__ImportsAssignment_3 : ( ruleImport ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5762:1: rule__PhysicalModel__ImportsAssignment_3 : ( ruleImport ) ;
     public final void rule__PhysicalModel__ImportsAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6170:1: ( ( ruleImport ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6171:1: ( ruleImport )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5766:1: ( ( ruleImport ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5767:1: ( ruleImport )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6171:1: ( ruleImport )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6172:1: ruleImport
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5767:1: ( ruleImport )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5768:1: ruleImport
             {
-             before(grammarAccess.getPhysicalModelAccess().getImportsImportParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleImport_in_rule__PhysicalModel__ImportsAssignment_312816);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getImportsImportParserRuleCall_3_0()); 
+            }
+            pushFollow(FOLLOW_ruleImport_in_rule__PhysicalModel__ImportsAssignment_312026);
             ruleImport();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalModelAccess().getImportsImportParserRuleCall_3_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getImportsImportParserRuleCall_3_0()); 
+            }
 
             }
 
@@ -16483,25 +16609,29 @@
 
 
     // $ANTLR start "rule__PhysicalModel__SystemsAssignment_4_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6181:1: rule__PhysicalModel__SystemsAssignment_4_0 : ( rulePhysicalSystem ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5777:1: rule__PhysicalModel__SystemsAssignment_4_0 : ( rulePhysicalSystem ) ;
     public final void rule__PhysicalModel__SystemsAssignment_4_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6185:1: ( ( rulePhysicalSystem ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6186:1: ( rulePhysicalSystem )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5781:1: ( ( rulePhysicalSystem ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5782:1: ( rulePhysicalSystem )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6186:1: ( rulePhysicalSystem )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6187:1: rulePhysicalSystem
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5782:1: ( rulePhysicalSystem )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5783:1: rulePhysicalSystem
             {
-             before(grammarAccess.getPhysicalModelAccess().getSystemsPhysicalSystemParserRuleCall_4_0_0()); 
-            pushFollow(FOLLOW_rulePhysicalSystem_in_rule__PhysicalModel__SystemsAssignment_4_012847);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getSystemsPhysicalSystemParserRuleCall_4_0_0()); 
+            }
+            pushFollow(FOLLOW_rulePhysicalSystem_in_rule__PhysicalModel__SystemsAssignment_4_012057);
             rulePhysicalSystem();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalModelAccess().getSystemsPhysicalSystemParserRuleCall_4_0_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getSystemsPhysicalSystemParserRuleCall_4_0_0()); 
+            }
 
             }
 
@@ -16524,25 +16654,29 @@
 
 
     // $ANTLR start "rule__PhysicalModel__NodeClassesAssignment_4_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6196:1: rule__PhysicalModel__NodeClassesAssignment_4_1 : ( ruleNodeClass ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5792:1: rule__PhysicalModel__NodeClassesAssignment_4_1 : ( ruleNodeClass ) ;
     public final void rule__PhysicalModel__NodeClassesAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6200:1: ( ( ruleNodeClass ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6201:1: ( ruleNodeClass )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5796:1: ( ( ruleNodeClass ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5797:1: ( ruleNodeClass )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6201:1: ( ruleNodeClass )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6202:1: ruleNodeClass
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5797:1: ( ruleNodeClass )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5798:1: ruleNodeClass
             {
-             before(grammarAccess.getPhysicalModelAccess().getNodeClassesNodeClassParserRuleCall_4_1_0()); 
-            pushFollow(FOLLOW_ruleNodeClass_in_rule__PhysicalModel__NodeClassesAssignment_4_112878);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getNodeClassesNodeClassParserRuleCall_4_1_0()); 
+            }
+            pushFollow(FOLLOW_ruleNodeClass_in_rule__PhysicalModel__NodeClassesAssignment_4_112088);
             ruleNodeClass();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalModelAccess().getNodeClassesNodeClassParserRuleCall_4_1_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getNodeClassesNodeClassParserRuleCall_4_1_0()); 
+            }
 
             }
 
@@ -16565,25 +16699,29 @@
 
 
     // $ANTLR start "rule__PhysicalModel__RuntimeClassesAssignment_4_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6211:1: rule__PhysicalModel__RuntimeClassesAssignment_4_2 : ( ruleRuntimeClass ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5807:1: rule__PhysicalModel__RuntimeClassesAssignment_4_2 : ( ruleRuntimeClass ) ;
     public final void rule__PhysicalModel__RuntimeClassesAssignment_4_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6215:1: ( ( ruleRuntimeClass ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6216:1: ( ruleRuntimeClass )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5811:1: ( ( ruleRuntimeClass ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5812:1: ( ruleRuntimeClass )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6216:1: ( ruleRuntimeClass )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6217:1: ruleRuntimeClass
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5812:1: ( ruleRuntimeClass )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5813:1: ruleRuntimeClass
             {
-             before(grammarAccess.getPhysicalModelAccess().getRuntimeClassesRuntimeClassParserRuleCall_4_2_0()); 
-            pushFollow(FOLLOW_ruleRuntimeClass_in_rule__PhysicalModel__RuntimeClassesAssignment_4_212909);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalModelAccess().getRuntimeClassesRuntimeClassParserRuleCall_4_2_0()); 
+            }
+            pushFollow(FOLLOW_ruleRuntimeClass_in_rule__PhysicalModel__RuntimeClassesAssignment_4_212119);
             ruleRuntimeClass();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalModelAccess().getRuntimeClassesRuntimeClassParserRuleCall_4_2_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalModelAccess().getRuntimeClassesRuntimeClassParserRuleCall_4_2_0()); 
+            }
 
             }
 
@@ -16606,21 +16744,25 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__NameAssignment_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6226:1: rule__PhysicalSystem__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5822:1: rule__PhysicalSystem__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__PhysicalSystem__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6230:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6231:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5826:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5827:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6231:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6232:1: RULE_ID
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5827:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5828:1: RULE_ID
             {
-             before(grammarAccess.getPhysicalSystemAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PhysicalSystem__NameAssignment_112940); 
-             after(grammarAccess.getPhysicalSystemAccess().getNameIDTerminalRuleCall_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalSystemAccess().getNameIDTerminalRuleCall_1_0()); 
+            }
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PhysicalSystem__NameAssignment_112150); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalSystemAccess().getNameIDTerminalRuleCall_1_0()); 
+            }
 
             }
 
@@ -16643,25 +16785,29 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6241:1: rule__PhysicalSystem__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5837:1: rule__PhysicalSystem__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__PhysicalSystem__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6245:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6246:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5841:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5842:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6246:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6247:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5842:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5843:1: ruleDocumentation
             {
-             before(grammarAccess.getPhysicalSystemAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__PhysicalSystem__DocuAssignment_212971);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalSystemAccess().getDocuDocumentationParserRuleCall_2_0()); 
+            }
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__PhysicalSystem__DocuAssignment_212181);
             ruleDocumentation();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalSystemAccess().getDocuDocumentationParserRuleCall_2_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalSystemAccess().getDocuDocumentationParserRuleCall_2_0()); 
+            }
 
             }
 
@@ -16684,25 +16830,29 @@
 
 
     // $ANTLR start "rule__PhysicalSystem__NodeRefsAssignment_4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6256:1: rule__PhysicalSystem__NodeRefsAssignment_4 : ( ruleNodeRef ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5852:1: rule__PhysicalSystem__NodeRefsAssignment_4 : ( ruleNodeRef ) ;
     public final void rule__PhysicalSystem__NodeRefsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6260:1: ( ( ruleNodeRef ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6261:1: ( ruleNodeRef )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5856:1: ( ( ruleNodeRef ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5857:1: ( ruleNodeRef )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6261:1: ( ruleNodeRef )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6262:1: ruleNodeRef
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5857:1: ( ruleNodeRef )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5858:1: ruleNodeRef
             {
-             before(grammarAccess.getPhysicalSystemAccess().getNodeRefsNodeRefParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleNodeRef_in_rule__PhysicalSystem__NodeRefsAssignment_413002);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalSystemAccess().getNodeRefsNodeRefParserRuleCall_4_0()); 
+            }
+            pushFollow(FOLLOW_ruleNodeRef_in_rule__PhysicalSystem__NodeRefsAssignment_412212);
             ruleNodeRef();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalSystemAccess().getNodeRefsNodeRefParserRuleCall_4_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalSystemAccess().getNodeRefsNodeRefParserRuleCall_4_0()); 
+            }
 
             }
 
@@ -16725,21 +16875,25 @@
 
 
     // $ANTLR start "rule__NodeRef__NameAssignment_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6271:1: rule__NodeRef__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5867:1: rule__NodeRef__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__NodeRef__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6275:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6276:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5871:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5872:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6276:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6277:1: RULE_ID
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5872:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5873:1: RULE_ID
             {
-             before(grammarAccess.getNodeRefAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__NodeRef__NameAssignment_113033); 
-             after(grammarAccess.getNodeRefAccess().getNameIDTerminalRuleCall_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeRefAccess().getNameIDTerminalRuleCall_1_0()); 
+            }
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__NodeRef__NameAssignment_112243); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeRefAccess().getNameIDTerminalRuleCall_1_0()); 
+            }
 
             }
 
@@ -16762,33 +16916,41 @@
 
 
     // $ANTLR start "rule__NodeRef__TypeAssignment_3"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6286:1: rule__NodeRef__TypeAssignment_3 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5882:1: rule__NodeRef__TypeAssignment_3 : ( ( ruleFQN ) ) ;
     public final void rule__NodeRef__TypeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6290:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6291:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5886:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5887:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6291:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6292:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5887:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5888:1: ( ruleFQN )
             {
-             before(grammarAccess.getNodeRefAccess().getTypeNodeClassCrossReference_3_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6293:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6294:1: ruleFQN
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeRefAccess().getTypeNodeClassCrossReference_3_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5889:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5890:1: ruleFQN
             {
-             before(grammarAccess.getNodeRefAccess().getTypeNodeClassFQNParserRuleCall_3_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__NodeRef__TypeAssignment_313068);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeRefAccess().getTypeNodeClassFQNParserRuleCall_3_0_1()); 
+            }
+            pushFollow(FOLLOW_ruleFQN_in_rule__NodeRef__TypeAssignment_312278);
             ruleFQN();
 
             state._fsp--;
-
-             after(grammarAccess.getNodeRefAccess().getTypeNodeClassFQNParserRuleCall_3_0_1()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeRefAccess().getTypeNodeClassFQNParserRuleCall_3_0_1()); 
+            }
 
             }
 
-             after(grammarAccess.getNodeRefAccess().getTypeNodeClassCrossReference_3_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeRefAccess().getTypeNodeClassCrossReference_3_0()); 
+            }
 
             }
 
@@ -16811,25 +16973,29 @@
 
 
     // $ANTLR start "rule__NodeRef__DocuAssignment_4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6305:1: rule__NodeRef__DocuAssignment_4 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5901:1: rule__NodeRef__DocuAssignment_4 : ( ruleDocumentation ) ;
     public final void rule__NodeRef__DocuAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6309:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6310:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5905:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5906:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6310:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6311:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5906:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5907:1: ruleDocumentation
             {
-             before(grammarAccess.getNodeRefAccess().getDocuDocumentationParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__NodeRef__DocuAssignment_413103);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeRefAccess().getDocuDocumentationParserRuleCall_4_0()); 
+            }
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__NodeRef__DocuAssignment_412313);
             ruleDocumentation();
 
             state._fsp--;
-
-             after(grammarAccess.getNodeRefAccess().getDocuDocumentationParserRuleCall_4_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeRefAccess().getDocuDocumentationParserRuleCall_4_0()); 
+            }
 
             }
 
@@ -16852,21 +17018,25 @@
 
 
     // $ANTLR start "rule__NodeClass__NameAssignment_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6320:1: rule__NodeClass__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5916:1: rule__NodeClass__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__NodeClass__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6324:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6325:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5920:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5921:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6325:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6326:1: RULE_ID
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5921:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5922:1: RULE_ID
             {
-             before(grammarAccess.getNodeClassAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__NodeClass__NameAssignment_113134); 
-             after(grammarAccess.getNodeClassAccess().getNameIDTerminalRuleCall_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getNameIDTerminalRuleCall_1_0()); 
+            }
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__NodeClass__NameAssignment_112344); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getNameIDTerminalRuleCall_1_0()); 
+            }
 
             }
 
@@ -16889,25 +17059,29 @@
 
 
     // $ANTLR start "rule__NodeClass__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6335:1: rule__NodeClass__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5931:1: rule__NodeClass__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__NodeClass__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6339:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6340:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5935:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5936:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6340:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6341:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5936:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5937:1: ruleDocumentation
             {
-             before(grammarAccess.getNodeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__NodeClass__DocuAssignment_213165);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
+            }
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__NodeClass__DocuAssignment_212375);
             ruleDocumentation();
 
             state._fsp--;
-
-             after(grammarAccess.getNodeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
+            }
 
             }
 
@@ -16930,33 +17104,41 @@
 
 
     // $ANTLR start "rule__NodeClass__RuntimeAssignment_4_0_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6350:1: rule__NodeClass__RuntimeAssignment_4_0_2 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5946:1: rule__NodeClass__RuntimeAssignment_4_0_2 : ( ( ruleFQN ) ) ;
     public final void rule__NodeClass__RuntimeAssignment_4_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6354:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6355:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5950:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5951:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6355:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6356:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5951:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5952:1: ( ruleFQN )
             {
-             before(grammarAccess.getNodeClassAccess().getRuntimeRuntimeClassCrossReference_4_0_2_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6357:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6358:1: ruleFQN
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getRuntimeRuntimeClassCrossReference_4_0_2_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5953:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5954:1: ruleFQN
             {
-             before(grammarAccess.getNodeClassAccess().getRuntimeRuntimeClassFQNParserRuleCall_4_0_2_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__NodeClass__RuntimeAssignment_4_0_213200);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getRuntimeRuntimeClassFQNParserRuleCall_4_0_2_0_1()); 
+            }
+            pushFollow(FOLLOW_ruleFQN_in_rule__NodeClass__RuntimeAssignment_4_0_212410);
             ruleFQN();
 
             state._fsp--;
-
-             after(grammarAccess.getNodeClassAccess().getRuntimeRuntimeClassFQNParserRuleCall_4_0_2_0_1()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getRuntimeRuntimeClassFQNParserRuleCall_4_0_2_0_1()); 
+            }
 
             }
 
-             after(grammarAccess.getNodeClassAccess().getRuntimeRuntimeClassCrossReference_4_0_2_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getRuntimeRuntimeClassCrossReference_4_0_2_0()); 
+            }
 
             }
 
@@ -16979,25 +17161,29 @@
 
 
     // $ANTLR start "rule__NodeClass__PriominAssignment_4_1_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6369:1: rule__NodeClass__PriominAssignment_4_1_2 : ( rulePRIO ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5965:1: rule__NodeClass__PriominAssignment_4_1_2 : ( ruleInteger ) ;
     public final void rule__NodeClass__PriominAssignment_4_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6373:1: ( ( rulePRIO ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6374:1: ( rulePRIO )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5969:1: ( ( ruleInteger ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5970:1: ( ruleInteger )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6374:1: ( rulePRIO )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6375:1: rulePRIO
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5970:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5971:1: ruleInteger
             {
-             before(grammarAccess.getNodeClassAccess().getPriominPRIOParserRuleCall_4_1_2_0()); 
-            pushFollow(FOLLOW_rulePRIO_in_rule__NodeClass__PriominAssignment_4_1_213235);
-            rulePRIO();
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getPriominIntegerParserRuleCall_4_1_2_0()); 
+            }
+            pushFollow(FOLLOW_ruleInteger_in_rule__NodeClass__PriominAssignment_4_1_212445);
+            ruleInteger();
 
             state._fsp--;
-
-             after(grammarAccess.getNodeClassAccess().getPriominPRIOParserRuleCall_4_1_2_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getPriominIntegerParserRuleCall_4_1_2_0()); 
+            }
 
             }
 
@@ -17020,25 +17206,29 @@
 
 
     // $ANTLR start "rule__NodeClass__PriomaxAssignment_4_2_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6384:1: rule__NodeClass__PriomaxAssignment_4_2_2 : ( rulePRIO ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5980:1: rule__NodeClass__PriomaxAssignment_4_2_2 : ( ruleInteger ) ;
     public final void rule__NodeClass__PriomaxAssignment_4_2_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6388:1: ( ( rulePRIO ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6389:1: ( rulePRIO )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5984:1: ( ( ruleInteger ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5985:1: ( ruleInteger )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6389:1: ( rulePRIO )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6390:1: rulePRIO
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5985:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5986:1: ruleInteger
             {
-             before(grammarAccess.getNodeClassAccess().getPriomaxPRIOParserRuleCall_4_2_2_0()); 
-            pushFollow(FOLLOW_rulePRIO_in_rule__NodeClass__PriomaxAssignment_4_2_213266);
-            rulePRIO();
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getPriomaxIntegerParserRuleCall_4_2_2_0()); 
+            }
+            pushFollow(FOLLOW_ruleInteger_in_rule__NodeClass__PriomaxAssignment_4_2_212476);
+            ruleInteger();
 
             state._fsp--;
-
-             after(grammarAccess.getNodeClassAccess().getPriomaxPRIOParserRuleCall_4_2_2_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getPriomaxIntegerParserRuleCall_4_2_2_0()); 
+            }
 
             }
 
@@ -17061,25 +17251,29 @@
 
 
     // $ANTLR start "rule__NodeClass__ThreadsAssignment_5"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6399:1: rule__NodeClass__ThreadsAssignment_5 : ( rulePhysicalThread ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5995:1: rule__NodeClass__ThreadsAssignment_5 : ( rulePhysicalThread ) ;
     public final void rule__NodeClass__ThreadsAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6403:1: ( ( rulePhysicalThread ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6404:1: ( rulePhysicalThread )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5999:1: ( ( rulePhysicalThread ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6000:1: ( rulePhysicalThread )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6404:1: ( rulePhysicalThread )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6405:1: rulePhysicalThread
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6000:1: ( rulePhysicalThread )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6001:1: rulePhysicalThread
             {
-             before(grammarAccess.getNodeClassAccess().getThreadsPhysicalThreadParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_rulePhysicalThread_in_rule__NodeClass__ThreadsAssignment_513297);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getNodeClassAccess().getThreadsPhysicalThreadParserRuleCall_5_0()); 
+            }
+            pushFollow(FOLLOW_rulePhysicalThread_in_rule__NodeClass__ThreadsAssignment_512507);
             rulePhysicalThread();
 
             state._fsp--;
-
-             after(grammarAccess.getNodeClassAccess().getThreadsPhysicalThreadParserRuleCall_5_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getNodeClassAccess().getThreadsPhysicalThreadParserRuleCall_5_0()); 
+            }
 
             }
 
@@ -17102,29 +17296,37 @@
 
 
     // $ANTLR start "rule__PhysicalThread__DefaultAssignment_0_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6414:1: rule__PhysicalThread__DefaultAssignment_0_0 : ( ( 'DefaultThread' ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6010:1: rule__PhysicalThread__DefaultAssignment_0_0 : ( ( 'DefaultThread' ) ) ;
     public final void rule__PhysicalThread__DefaultAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6418:1: ( ( ( 'DefaultThread' ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6419:1: ( ( 'DefaultThread' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6014:1: ( ( ( 'DefaultThread' ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6015:1: ( ( 'DefaultThread' ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6419:1: ( ( 'DefaultThread' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6420:1: ( 'DefaultThread' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6015:1: ( ( 'DefaultThread' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6016:1: ( 'DefaultThread' )
             {
-             before(grammarAccess.getPhysicalThreadAccess().getDefaultDefaultThreadKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6421:1: ( 'DefaultThread' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6422:1: 'DefaultThread'
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getDefaultDefaultThreadKeyword_0_0_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6017:1: ( 'DefaultThread' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6018:1: 'DefaultThread'
             {
-             before(grammarAccess.getPhysicalThreadAccess().getDefaultDefaultThreadKeyword_0_0_0()); 
-            match(input,58,FOLLOW_58_in_rule__PhysicalThread__DefaultAssignment_0_013333); 
-             after(grammarAccess.getPhysicalThreadAccess().getDefaultDefaultThreadKeyword_0_0_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getDefaultDefaultThreadKeyword_0_0_0()); 
+            }
+            match(input,59,FOLLOW_59_in_rule__PhysicalThread__DefaultAssignment_0_012543); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getDefaultDefaultThreadKeyword_0_0_0()); 
+            }
 
             }
 
-             after(grammarAccess.getPhysicalThreadAccess().getDefaultDefaultThreadKeyword_0_0_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getDefaultDefaultThreadKeyword_0_0_0()); 
+            }
 
             }
 
@@ -17147,21 +17349,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__NameAssignment_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6437:1: rule__PhysicalThread__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6033:1: rule__PhysicalThread__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__PhysicalThread__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6441:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6442:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6037:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6038:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6442:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6443:1: RULE_ID
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6038:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6039:1: RULE_ID
             {
-             before(grammarAccess.getPhysicalThreadAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PhysicalThread__NameAssignment_113372); 
-             after(grammarAccess.getPhysicalThreadAccess().getNameIDTerminalRuleCall_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getNameIDTerminalRuleCall_1_0()); 
+            }
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PhysicalThread__NameAssignment_112582); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getNameIDTerminalRuleCall_1_0()); 
+            }
 
             }
 
@@ -17184,25 +17390,29 @@
 
 
     // $ANTLR start "rule__PhysicalThread__ExecmodeAssignment_3_0_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6452:1: rule__PhysicalThread__ExecmodeAssignment_3_0_2 : ( ruleExecMode ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6048:1: rule__PhysicalThread__ExecmodeAssignment_3_0_2 : ( ruleExecMode ) ;
     public final void rule__PhysicalThread__ExecmodeAssignment_3_0_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6456:1: ( ( ruleExecMode ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6457:1: ( ruleExecMode )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6052:1: ( ( ruleExecMode ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6053:1: ( ruleExecMode )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6457:1: ( ruleExecMode )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6458:1: ruleExecMode
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6053:1: ( ruleExecMode )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6054:1: ruleExecMode
             {
-             before(grammarAccess.getPhysicalThreadAccess().getExecmodeExecModeEnumRuleCall_3_0_2_0()); 
-            pushFollow(FOLLOW_ruleExecMode_in_rule__PhysicalThread__ExecmodeAssignment_3_0_213403);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getExecmodeExecModeEnumRuleCall_3_0_2_0()); 
+            }
+            pushFollow(FOLLOW_ruleExecMode_in_rule__PhysicalThread__ExecmodeAssignment_3_0_212613);
             ruleExecMode();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalThreadAccess().getExecmodeExecModeEnumRuleCall_3_0_2_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getExecmodeExecModeEnumRuleCall_3_0_2_0()); 
+            }
 
             }
 
@@ -17225,25 +17435,29 @@
 
 
     // $ANTLR start "rule__PhysicalThread__TimeAssignment_3_1_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6467:1: rule__PhysicalThread__TimeAssignment_3_1_2 : ( ruleTIME ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6063:1: rule__PhysicalThread__TimeAssignment_3_1_2 : ( ruleTIME ) ;
     public final void rule__PhysicalThread__TimeAssignment_3_1_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6471:1: ( ( ruleTIME ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6472:1: ( ruleTIME )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6067:1: ( ( ruleTIME ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6068:1: ( ruleTIME )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6472:1: ( ruleTIME )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6473:1: ruleTIME
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6068:1: ( ruleTIME )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6069:1: ruleTIME
             {
-             before(grammarAccess.getPhysicalThreadAccess().getTimeTIMEParserRuleCall_3_1_2_0()); 
-            pushFollow(FOLLOW_ruleTIME_in_rule__PhysicalThread__TimeAssignment_3_1_213434);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getTimeTIMEParserRuleCall_3_1_2_0()); 
+            }
+            pushFollow(FOLLOW_ruleTIME_in_rule__PhysicalThread__TimeAssignment_3_1_212644);
             ruleTIME();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalThreadAccess().getTimeTIMEParserRuleCall_3_1_2_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getTimeTIMEParserRuleCall_3_1_2_0()); 
+            }
 
             }
 
@@ -17266,25 +17480,29 @@
 
 
     // $ANTLR start "rule__PhysicalThread__PrioAssignment_3_2_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6482:1: rule__PhysicalThread__PrioAssignment_3_2_2 : ( rulePRIO ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6078:1: rule__PhysicalThread__PrioAssignment_3_2_2 : ( ruleInteger ) ;
     public final void rule__PhysicalThread__PrioAssignment_3_2_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6486:1: ( ( rulePRIO ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6487:1: ( rulePRIO )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6082:1: ( ( ruleInteger ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6083:1: ( ruleInteger )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6487:1: ( rulePRIO )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6488:1: rulePRIO
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6083:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6084:1: ruleInteger
             {
-             before(grammarAccess.getPhysicalThreadAccess().getPrioPRIOParserRuleCall_3_2_2_0()); 
-            pushFollow(FOLLOW_rulePRIO_in_rule__PhysicalThread__PrioAssignment_3_2_213465);
-            rulePRIO();
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getPrioIntegerParserRuleCall_3_2_2_0()); 
+            }
+            pushFollow(FOLLOW_ruleInteger_in_rule__PhysicalThread__PrioAssignment_3_2_212675);
+            ruleInteger();
 
             state._fsp--;
-
-             after(grammarAccess.getPhysicalThreadAccess().getPrioPRIOParserRuleCall_3_2_2_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getPrioIntegerParserRuleCall_3_2_2_0()); 
+            }
 
             }
 
@@ -17307,21 +17525,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__StacksizeAssignment_3_3_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6497:1: rule__PhysicalThread__StacksizeAssignment_3_3_2 : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6093:1: rule__PhysicalThread__StacksizeAssignment_3_3_2 : ( RULE_INT ) ;
     public final void rule__PhysicalThread__StacksizeAssignment_3_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6501:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6502:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6097:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6098:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6502:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6503:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6098:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6099:1: RULE_INT
             {
-             before(grammarAccess.getPhysicalThreadAccess().getStacksizeINTTerminalRuleCall_3_3_2_0()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__PhysicalThread__StacksizeAssignment_3_3_213496); 
-             after(grammarAccess.getPhysicalThreadAccess().getStacksizeINTTerminalRuleCall_3_3_2_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getStacksizeINTTerminalRuleCall_3_3_2_0()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__PhysicalThread__StacksizeAssignment_3_3_212706); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getStacksizeINTTerminalRuleCall_3_3_2_0()); 
+            }
 
             }
 
@@ -17344,21 +17566,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__MsgblocksizeAssignment_3_4_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6512:1: rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6108:1: rule__PhysicalThread__MsgblocksizeAssignment_3_4_2 : ( RULE_INT ) ;
     public final void rule__PhysicalThread__MsgblocksizeAssignment_3_4_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6516:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6517:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6112:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6113:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6517:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6518:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6113:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6114:1: RULE_INT
             {
-             before(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeINTTerminalRuleCall_3_4_2_0()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__PhysicalThread__MsgblocksizeAssignment_3_4_213527); 
-             after(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeINTTerminalRuleCall_3_4_2_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeINTTerminalRuleCall_3_4_2_0()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__PhysicalThread__MsgblocksizeAssignment_3_4_212737); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getMsgblocksizeINTTerminalRuleCall_3_4_2_0()); 
+            }
 
             }
 
@@ -17381,21 +17607,25 @@
 
 
     // $ANTLR start "rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6527:1: rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6123:1: rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2 : ( RULE_INT ) ;
     public final void rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6531:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6532:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6127:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6128:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6532:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6533:1: RULE_INT
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6128:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6129:1: RULE_INT
             {
-             before(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeINTTerminalRuleCall_3_5_2_0()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__PhysicalThread__MsgpoolsizeAssignment_3_5_213558); 
-             after(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeINTTerminalRuleCall_3_5_2_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeINTTerminalRuleCall_3_5_2_0()); 
+            }
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__PhysicalThread__MsgpoolsizeAssignment_3_5_212768); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeINTTerminalRuleCall_3_5_2_0()); 
+            }
 
             }
 
@@ -17418,21 +17648,25 @@
 
 
     // $ANTLR start "rule__RuntimeClass__NameAssignment_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6542:1: rule__RuntimeClass__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6138:1: rule__RuntimeClass__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__RuntimeClass__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6546:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6547:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6142:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6143:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6547:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6548:1: RULE_ID
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6143:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6144:1: RULE_ID
             {
-             before(grammarAccess.getRuntimeClassAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuntimeClass__NameAssignment_113589); 
-             after(grammarAccess.getRuntimeClassAccess().getNameIDTerminalRuleCall_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getNameIDTerminalRuleCall_1_0()); 
+            }
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuntimeClass__NameAssignment_112799); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getNameIDTerminalRuleCall_1_0()); 
+            }
 
             }
 
@@ -17455,25 +17689,29 @@
 
 
     // $ANTLR start "rule__RuntimeClass__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6557:1: rule__RuntimeClass__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6153:1: rule__RuntimeClass__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__RuntimeClass__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6561:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6562:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6157:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6158:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6562:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6563:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6158:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6159:1: ruleDocumentation
             {
-             before(grammarAccess.getRuntimeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__RuntimeClass__DocuAssignment_213620);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
+            }
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__RuntimeClass__DocuAssignment_212830);
             ruleDocumentation();
 
             state._fsp--;
-
-             after(grammarAccess.getRuntimeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
+            }
 
             }
 
@@ -17496,25 +17734,29 @@
 
 
     // $ANTLR start "rule__RuntimeClass__ThreadModelAssignment_6"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6572:1: rule__RuntimeClass__ThreadModelAssignment_6 : ( ruleThreadModel ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6168:1: rule__RuntimeClass__ThreadModelAssignment_6 : ( ruleThreadModel ) ;
     public final void rule__RuntimeClass__ThreadModelAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6576:1: ( ( ruleThreadModel ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6577:1: ( ruleThreadModel )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6172:1: ( ( ruleThreadModel ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6173:1: ( ruleThreadModel )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6577:1: ( ruleThreadModel )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6578:1: ruleThreadModel
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6173:1: ( ruleThreadModel )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6174:1: ruleThreadModel
             {
-             before(grammarAccess.getRuntimeClassAccess().getThreadModelThreadModelEnumRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleThreadModel_in_rule__RuntimeClass__ThreadModelAssignment_613651);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRuntimeClassAccess().getThreadModelThreadModelEnumRuleCall_6_0()); 
+            }
+            pushFollow(FOLLOW_ruleThreadModel_in_rule__RuntimeClass__ThreadModelAssignment_612861);
             ruleThreadModel();
 
             state._fsp--;
-
-             after(grammarAccess.getRuntimeClassAccess().getThreadModelThreadModelEnumRuleCall_6_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRuntimeClassAccess().getThreadModelThreadModelEnumRuleCall_6_0()); 
+            }
 
             }
 
@@ -17537,21 +17779,25 @@
 
 
     // $ANTLR start "rule__KeyValue__KeyAssignment_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6590:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6186:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
     public final void rule__KeyValue__KeyAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6594:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6595:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6190:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6191:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6595:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6596:1: RULE_ID
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6191:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6192:1: RULE_ID
             {
-             before(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_013685); 
-             after(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
+            }
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_012895); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
+            }
 
             }
 
@@ -17574,25 +17820,29 @@
 
 
     // $ANTLR start "rule__KeyValue__ValueAssignment_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6605:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6201:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
     public final void rule__KeyValue__ValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6609:1: ( ( ruleLiteral ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6610:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6205:1: ( ( ruleLiteral ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6206:1: ( ruleLiteral )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6610:1: ( ruleLiteral )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6611:1: ruleLiteral
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6206:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6207:1: ruleLiteral
             {
-             before(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_213716);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
+            }
+            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_212926);
             ruleLiteral();
 
             state._fsp--;
-
-             after(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
+            }
 
             }
 
@@ -17615,29 +17865,37 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6626:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6222:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__SimpleAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6630:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6631:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6226:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6227:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6631:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6632:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6227:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6228:1: ( 'optional' )
             {
-             before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6633:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6634:1: 'optional'
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6229:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6230:1: 'optional'
             {
-             before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            match(input,59,FOLLOW_59_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_013758); 
-             after(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            }
+            match(input,60,FOLLOW_60_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_012968); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            }
 
             }
 
-             after(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            }
 
             }
 
@@ -17660,21 +17918,25 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6649:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6245:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__SimpleAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6653:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6654:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6249:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6250:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6654:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6655:1: RULE_ID
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6250:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6251:1: RULE_ID
             {
-             before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_213797); 
-             after(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
+            }
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_213007); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
+            }
 
             }
 
@@ -17697,25 +17959,29 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__TypeAssignment_4"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6664:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6260:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
     public final void rule__SimpleAnnotationAttribute__TypeAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6668:1: ( ( ruleLiteralType ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6669:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6264:1: ( ( ruleLiteralType ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6265:1: ( ruleLiteralType )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6669:1: ( ruleLiteralType )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6670:1: ruleLiteralType
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6265:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6266:1: ruleLiteralType
             {
-             before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_413828);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
+            }
+            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_413038);
             ruleLiteralType();
 
             state._fsp--;
-
-             after(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
+            }
 
             }
 
@@ -17738,29 +18004,37 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6679:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6275:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__EnumAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6683:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6684:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6279:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6280:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6684:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6685:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6280:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6281:1: ( 'optional' )
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6686:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6687:1: 'optional'
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6282:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6283:1: 'optional'
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            match(input,59,FOLLOW_59_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_013864); 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            }
+            match(input,60,FOLLOW_60_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_013074); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            }
 
             }
 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
+            }
 
             }
 
@@ -17783,21 +18057,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6702:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6298:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__EnumAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6706:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6707:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6302:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6303:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6707:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6708:1: RULE_ID
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6303:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6304:1: RULE_ID
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_213903); 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
+            }
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_213113); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
+            }
 
             }
 
@@ -17820,21 +18098,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_5"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6717:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6313:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6721:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6722:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6317:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6318:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6722:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6723:1: RULE_STRING
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6318:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6319:1: RULE_STRING
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_513934); 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
+            }
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_513144); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
+            }
 
             }
 
@@ -17857,21 +18139,25 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_6_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6732:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6328:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6736:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6737:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6332:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6333:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6737:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6738:1: RULE_STRING
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6333:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6334:1: RULE_STRING
             {
-             before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_113965); 
-             after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
+            }
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_113175); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
+            }
 
             }
 
@@ -17894,25 +18180,29 @@
 
 
     // $ANTLR start "rule__Import__ImportedNamespaceAssignment_1_0_0"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6747:1: rule__Import__ImportedNamespaceAssignment_1_0_0 : ( ruleImportedFQN ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6343:1: rule__Import__ImportedNamespaceAssignment_1_0_0 : ( ruleImportedFQN ) ;
     public final void rule__Import__ImportedNamespaceAssignment_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6751:1: ( ( ruleImportedFQN ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6752:1: ( ruleImportedFQN )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6347:1: ( ( ruleImportedFQN ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6348:1: ( ruleImportedFQN )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6752:1: ( ruleImportedFQN )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6753:1: ruleImportedFQN
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6348:1: ( ruleImportedFQN )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6349:1: ruleImportedFQN
             {
-             before(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0()); 
-            pushFollow(FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_013996);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0()); 
+            }
+            pushFollow(FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_013206);
             ruleImportedFQN();
 
             state._fsp--;
-
-             after(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0()); 
+            }
 
             }
 
@@ -17935,21 +18225,25 @@
 
 
     // $ANTLR start "rule__Import__ImportURIAssignment_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6762:1: rule__Import__ImportURIAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6358:1: rule__Import__ImportURIAssignment_2 : ( RULE_STRING ) ;
     public final void rule__Import__ImportURIAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6766:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6767:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6362:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6363:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6767:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6768:1: RULE_STRING
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6363:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6364:1: RULE_STRING
             {
-             before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_214027); 
-             after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
+            }
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_213237); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
+            }
 
             }
 
@@ -17972,21 +18266,25 @@
 
 
     // $ANTLR start "rule__Documentation__LinesAssignment_2"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6777:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6373:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
     public final void rule__Documentation__LinesAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6781:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6782:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6377:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6378:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6782:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6783:1: RULE_STRING
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6378:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6379:1: RULE_STRING
             {
-             before(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_214058); 
-             after(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
+            }
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_213268); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
+            }
 
             }
 
@@ -18009,29 +18307,37 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__IsTrueAssignment_1_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6794:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6390:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
     public final void rule__BooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6798:1: ( ( ( 'true' ) ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6799:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6394:1: ( ( ( 'true' ) ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6395:1: ( ( 'true' ) )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6799:1: ( ( 'true' ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6800:1: ( 'true' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6395:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6396:1: ( 'true' )
             {
-             before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6801:1: ( 'true' )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6802:1: 'true'
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
+            }
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6397:1: ( 'true' )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6398:1: 'true'
             {
-             before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
-            match(input,60,FOLLOW_60_in_rule__BooleanLiteral__IsTrueAssignment_1_114096); 
-             after(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
+            }
+            match(input,61,FOLLOW_61_in_rule__BooleanLiteral__IsTrueAssignment_1_113306); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
+            }
 
             }
 
-             after(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
+            }
 
             }
 
@@ -18054,25 +18360,29 @@
 
 
     // $ANTLR start "rule__RealLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6817:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6413:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
     public final void rule__RealLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6821:1: ( ( ruleReal ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6822:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6417:1: ( ( ruleReal ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6418:1: ( ruleReal )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6822:1: ( ruleReal )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6823:1: ruleReal
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6418:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6419:1: ruleReal
             {
-             before(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_114135);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
+            }
+            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_113345);
             ruleReal();
 
             state._fsp--;
-
-             after(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
+            }
 
             }
 
@@ -18095,25 +18405,29 @@
 
 
     // $ANTLR start "rule__IntLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6832:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6428:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
     public final void rule__IntLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6836:1: ( ( ruleInteger ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6837:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6432:1: ( ( ruleInteger ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6433:1: ( ruleInteger )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6837:1: ( ruleInteger )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6838:1: ruleInteger
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6433:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6434:1: ruleInteger
             {
-             before(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_114166);
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
+            }
+            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_113376);
             ruleInteger();
 
             state._fsp--;
-
-             after(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
+            if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
+            }
 
             }
 
@@ -18136,21 +18450,25 @@
 
 
     // $ANTLR start "rule__StringLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6847:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6443:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
     public final void rule__StringLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6851:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6852:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6447:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6448:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6852:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6853:1: RULE_STRING
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6448:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:6449:1: RULE_STRING
             {
-             before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_114197); 
-             after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
+            if ( state.backtracking==0 ) {
+               before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
+            }
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_113407); if (state.failed) return ;
+            if ( state.backtracking==0 ) {
+               after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
+            }
 
             }
 
@@ -18171,639 +18489,1191 @@
     }
     // $ANTLR end "rule__StringLiteral__ValueAssignment_1"
 
+    // $ANTLR start synpred44_InternalETPhys
+    public final void synpred44_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5418:4: ( ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5418:4: ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) )
+        {
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5418:4: ({...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5419:5: {...}? => ( ( ( rule__NodeClass__Group_4_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred44_InternalETPhys", "getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0)");
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5419:106: ( ( ( rule__NodeClass__Group_4_0__0 ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5420:6: ( ( rule__NodeClass__Group_4_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0);
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5426:6: ( ( rule__NodeClass__Group_4_0__0 ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5428:7: ( rule__NodeClass__Group_4_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getNodeClassAccess().getGroup_4_0()); 
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5429:7: ( rule__NodeClass__Group_4_0__0 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5429:8: rule__NodeClass__Group_4_0__0
+        {
+        pushFollow(FOLLOW_rule__NodeClass__Group_4_0__0_in_synpred44_InternalETPhys10885);
+        rule__NodeClass__Group_4_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred44_InternalETPhys
+
+    // $ANTLR start synpred45_InternalETPhys
+    public final void synpred45_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5435:4: ( ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5435:4: ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) )
+        {
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5435:4: ({...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5436:5: {...}? => ( ( ( rule__NodeClass__Group_4_1__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred45_InternalETPhys", "getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1)");
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5436:106: ( ( ( rule__NodeClass__Group_4_1__0 ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5437:6: ( ( rule__NodeClass__Group_4_1__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1);
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5443:6: ( ( rule__NodeClass__Group_4_1__0 ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5445:7: ( rule__NodeClass__Group_4_1__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getNodeClassAccess().getGroup_4_1()); 
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5446:7: ( rule__NodeClass__Group_4_1__0 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5446:8: rule__NodeClass__Group_4_1__0
+        {
+        pushFollow(FOLLOW_rule__NodeClass__Group_4_1__0_in_synpred45_InternalETPhys10976);
+        rule__NodeClass__Group_4_1__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred45_InternalETPhys
+
+    // $ANTLR start synpred46_InternalETPhys
+    public final void synpred46_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5484:2: ( rule__NodeClass__UnorderedGroup_4__1 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5484:2: rule__NodeClass__UnorderedGroup_4__1
+        {
+        pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__1_in_synpred46_InternalETPhys11129);
+        rule__NodeClass__UnorderedGroup_4__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred46_InternalETPhys
+
+    // $ANTLR start synpred47_InternalETPhys
+    public final void synpred47_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5497:2: ( rule__NodeClass__UnorderedGroup_4__2 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5497:2: rule__NodeClass__UnorderedGroup_4__2
+        {
+        pushFollow(FOLLOW_rule__NodeClass__UnorderedGroup_4__2_in_synpred47_InternalETPhys11157);
+        rule__NodeClass__UnorderedGroup_4__2();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred47_InternalETPhys
+
+    // $ANTLR start synpred48_InternalETPhys
+    public final void synpred48_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5547:4: ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5547:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) )
+        {
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5547:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5548:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred48_InternalETPhys", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0)");
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5548:111: ( ( ( rule__PhysicalThread__Group_3_0__0 ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5549:6: ( ( rule__PhysicalThread__Group_3_0__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0);
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5555:6: ( ( rule__PhysicalThread__Group_3_0__0 ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5557:7: ( rule__PhysicalThread__Group_3_0__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getPhysicalThreadAccess().getGroup_3_0()); 
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5558:7: ( rule__PhysicalThread__Group_3_0__0 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5558:8: rule__PhysicalThread__Group_3_0__0
+        {
+        pushFollow(FOLLOW_rule__PhysicalThread__Group_3_0__0_in_synpred48_InternalETPhys11301);
+        rule__PhysicalThread__Group_3_0__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred48_InternalETPhys
+
+    // $ANTLR start synpred49_InternalETPhys
+    public final void synpred49_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5564:4: ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5564:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) )
+        {
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5564:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5565:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred49_InternalETPhys", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1)");
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5565:111: ( ( ( rule__PhysicalThread__Group_3_1__0 ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5566:6: ( ( rule__PhysicalThread__Group_3_1__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1);
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5572:6: ( ( rule__PhysicalThread__Group_3_1__0 ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5574:7: ( rule__PhysicalThread__Group_3_1__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getPhysicalThreadAccess().getGroup_3_1()); 
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5575:7: ( rule__PhysicalThread__Group_3_1__0 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5575:8: rule__PhysicalThread__Group_3_1__0
+        {
+        pushFollow(FOLLOW_rule__PhysicalThread__Group_3_1__0_in_synpred49_InternalETPhys11392);
+        rule__PhysicalThread__Group_3_1__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred49_InternalETPhys
+
+    // $ANTLR start synpred50_InternalETPhys
+    public final void synpred50_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5581:4: ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5581:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) )
+        {
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5581:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5582:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred50_InternalETPhys", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2)");
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5582:111: ( ( ( rule__PhysicalThread__Group_3_2__0 ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5583:6: ( ( rule__PhysicalThread__Group_3_2__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2);
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5589:6: ( ( rule__PhysicalThread__Group_3_2__0 ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5591:7: ( rule__PhysicalThread__Group_3_2__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getPhysicalThreadAccess().getGroup_3_2()); 
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5592:7: ( rule__PhysicalThread__Group_3_2__0 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5592:8: rule__PhysicalThread__Group_3_2__0
+        {
+        pushFollow(FOLLOW_rule__PhysicalThread__Group_3_2__0_in_synpred50_InternalETPhys11483);
+        rule__PhysicalThread__Group_3_2__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred50_InternalETPhys
+
+    // $ANTLR start synpred51_InternalETPhys
+    public final void synpred51_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5598:4: ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5598:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) )
+        {
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5598:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5599:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred51_InternalETPhys", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3)");
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5599:111: ( ( ( rule__PhysicalThread__Group_3_3__0 ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5600:6: ( ( rule__PhysicalThread__Group_3_3__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3);
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5606:6: ( ( rule__PhysicalThread__Group_3_3__0 ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5608:7: ( rule__PhysicalThread__Group_3_3__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getPhysicalThreadAccess().getGroup_3_3()); 
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5609:7: ( rule__PhysicalThread__Group_3_3__0 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5609:8: rule__PhysicalThread__Group_3_3__0
+        {
+        pushFollow(FOLLOW_rule__PhysicalThread__Group_3_3__0_in_synpred51_InternalETPhys11574);
+        rule__PhysicalThread__Group_3_3__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred51_InternalETPhys
+
+    // $ANTLR start synpred52_InternalETPhys
+    public final void synpred52_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5615:4: ( ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5615:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) )
+        {
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5615:4: ({...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5616:5: {...}? => ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) )
+        {
+        if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
+            if (state.backtracking>0) {state.failed=true; return ;}
+            throw new FailedPredicateException(input, "synpred52_InternalETPhys", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4)");
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5616:111: ( ( ( rule__PhysicalThread__Group_3_4__0 ) ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5617:6: ( ( rule__PhysicalThread__Group_3_4__0 ) )
+        {
+        getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4);
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5623:6: ( ( rule__PhysicalThread__Group_3_4__0 ) )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5625:7: ( rule__PhysicalThread__Group_3_4__0 )
+        {
+        if ( state.backtracking==0 ) {
+           before(grammarAccess.getPhysicalThreadAccess().getGroup_3_4()); 
+        }
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5626:7: ( rule__PhysicalThread__Group_3_4__0 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5626:8: rule__PhysicalThread__Group_3_4__0
+        {
+        pushFollow(FOLLOW_rule__PhysicalThread__Group_3_4__0_in_synpred52_InternalETPhys11665);
+        rule__PhysicalThread__Group_3_4__0();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+
+
+        }
+    }
+    // $ANTLR end synpred52_InternalETPhys
+
+    // $ANTLR start synpred53_InternalETPhys
+    public final void synpred53_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5664:2: ( rule__PhysicalThread__UnorderedGroup_3__1 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5664:2: rule__PhysicalThread__UnorderedGroup_3__1
+        {
+        pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__1_in_synpred53_InternalETPhys11818);
+        rule__PhysicalThread__UnorderedGroup_3__1();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred53_InternalETPhys
+
+    // $ANTLR start synpred54_InternalETPhys
+    public final void synpred54_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5677:2: ( rule__PhysicalThread__UnorderedGroup_3__2 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5677:2: rule__PhysicalThread__UnorderedGroup_3__2
+        {
+        pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__2_in_synpred54_InternalETPhys11846);
+        rule__PhysicalThread__UnorderedGroup_3__2();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred54_InternalETPhys
+
+    // $ANTLR start synpred55_InternalETPhys
+    public final void synpred55_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5690:2: ( rule__PhysicalThread__UnorderedGroup_3__3 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5690:2: rule__PhysicalThread__UnorderedGroup_3__3
+        {
+        pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__3_in_synpred55_InternalETPhys11874);
+        rule__PhysicalThread__UnorderedGroup_3__3();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred55_InternalETPhys
+
+    // $ANTLR start synpred56_InternalETPhys
+    public final void synpred56_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5703:2: ( rule__PhysicalThread__UnorderedGroup_3__4 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5703:2: rule__PhysicalThread__UnorderedGroup_3__4
+        {
+        pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__4_in_synpred56_InternalETPhys11902);
+        rule__PhysicalThread__UnorderedGroup_3__4();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred56_InternalETPhys
+
+    // $ANTLR start synpred57_InternalETPhys
+    public final void synpred57_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5716:2: ( rule__PhysicalThread__UnorderedGroup_3__5 )
+        // ../org.eclipse.etrice.core.etphys.ui/src-gen/org/eclipse/etrice/core/etphys/ui/contentassist/antlr/internal/InternalETPhys.g:5716:2: rule__PhysicalThread__UnorderedGroup_3__5
+        {
+        pushFollow(FOLLOW_rule__PhysicalThread__UnorderedGroup_3__5_in_synpred57_InternalETPhys11930);
+        rule__PhysicalThread__UnorderedGroup_3__5();
+
+        state._fsp--;
+        if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred57_InternalETPhys
+
     // Delegated rules
 
-
-    protected DFA14 dfa14 = new DFA14(this);
-    static final String DFA14_eotS =
-        "\12\uffff";
-    static final String DFA14_eofS =
-        "\5\uffff\1\7\1\11\3\uffff";
-    static final String DFA14_minS =
-        "\3\6\1\71\1\uffff\1\6\1\7\3\uffff";
-    static final String DFA14_maxS =
-        "\4\71\1\uffff\1\6\1\7\3\uffff";
-    static final String DFA14_acceptS =
-        "\4\uffff\1\2\2\uffff\1\3\1\4\1\1";
-    static final String DFA14_specialS =
-        "\12\uffff}>";
-    static final String[] DFA14_transitionS = {
-            "\1\3\7\uffff\1\1\1\2\51\uffff\1\4",
-            "\1\3\62\uffff\1\4",
-            "\1\3\62\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\6",
-            "\1\10",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
-    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
-    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
-    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
-    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
-    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
-    static final short[][] DFA14_transition;
-
-    static {
-        int numStates = DFA14_transitionS.length;
-        DFA14_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
+    public final boolean synpred57_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred57_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
         }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred49_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred49_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred46_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred46_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred44_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred44_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred54_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred54_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred48_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred48_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred50_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred50_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred52_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred52_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred56_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred56_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred45_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred45_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred47_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred47_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred55_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred55_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred53_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred53_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
+    }
+    public final boolean synpred51_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred51_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
+        }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
     }
 
-    class DFA14 extends DFA {
 
-        public DFA14(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 14;
-            this.eot = DFA14_eot;
-            this.eof = DFA14_eof;
-            this.min = DFA14_min;
-            this.max = DFA14_max;
-            this.accept = DFA14_accept;
-            this.special = DFA14_special;
-            this.transition = DFA14_transition;
-        }
-        public String getDescription() {
-            return "1376:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );";
-        }
-    }
  
 
-    public static final BitSet FOLLOW_rulePhysicalModel_in_entryRulePhysicalModel61 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRulePhysicalModel68 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__0_in_rulePhysicalModel94 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePhysicalSystem_in_entryRulePhysicalSystem121 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRulePhysicalSystem128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__0_in_rulePhysicalSystem154 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNodeRef_in_entryRuleNodeRef181 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleNodeRef188 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeRef__Group__0_in_ruleNodeRef214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNodeClass_in_entryRuleNodeClass241 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleNodeClass248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__0_in_ruleNodeClass274 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePhysicalThread_in_entryRulePhysicalThread301 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRulePhysicalThread308 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group__0_in_rulePhysicalThread334 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRuntimeClass_in_entryRuleRuntimeClass361 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleRuntimeClass368 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__0_in_ruleRuntimeClass394 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePRIO_in_entryRulePRIO426 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRulePRIO433 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PRIO__Group__0_in_rulePRIO463 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue492 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue499 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__0_in_ruleKeyValue525 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType554 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType561 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotationTargetType587 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute613 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationAttribute620 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationAttribute__Alternatives_in_ruleAnnotationAttribute646 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute673 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute680 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0_in_ruleSimpleAnnotationAttribute706 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute733 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute740 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0_in_ruleEnumAnnotationAttribute766 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport793 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleImport800 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport826 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN853 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN860 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0_in_ruleImportedFQN886 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation913 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation920 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__0_in_ruleDocumentation946 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTIME_in_entryRuleTIME973 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleTIME980 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Alternatives_in_ruleTIME1006 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral1035 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleLiteral1042 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Literal__Alternatives_in_ruleLiteral1068 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1095 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral1102 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0_in_ruleBooleanLiteral1128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1155 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral1162 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1188 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral1215 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleRealLiteral1222 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__0_in_ruleRealLiteral1248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1275 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral1282 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__0_in_ruleIntLiteral1308 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1335 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral1342 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral1368 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger1395 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleInteger1402 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Integer__Alternatives_in_ruleInteger1428 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger1460 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger1467 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger1497 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal1529 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal1536 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal1566 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal1592 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal1599 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal1625 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal1657 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal1664 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1694 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal1726 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal1733 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal1763 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot1795 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot1802 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot1832 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1864 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp1871 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1901 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN1928 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN1935 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN1961 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExecMode__Alternatives_in_ruleExecMode1998 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ThreadModel__Alternatives_in_ruleThreadModel2034 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType2070 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__SystemsAssignment_4_0_in_rule__PhysicalModel__Alternatives_42105 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__NodeClassesAssignment_4_1_in_rule__PhysicalModel__Alternatives_42123 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__RuntimeClassesAssignment_4_2_in_rule__PhysicalModel__Alternatives_42141 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__DefaultAssignment_0_0_in_rule__PhysicalThread__Alternatives_02174 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rule__PhysicalThread__Alternatives_02193 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__PRIO__Alternatives_02228 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__PRIO__Alternatives_02248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2283 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives2300 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_02332 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__SimpleAnnotationAttribute__Alternatives_02351 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_02385 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__EnumAnnotationAttribute__Alternatives_02404 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_12438 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__Import__Alternatives_12457 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_0__0_in_rule__TIME__Alternatives2491 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_1__0_in_rule__TIME__Alternatives2509 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_2__0_in_rule__TIME__Alternatives2527 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_3__0_in_rule__TIME__Alternatives2545 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives2578 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives2595 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives2612 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_rule__BooleanLiteral__Alternatives_12645 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_12664 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives2697 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives2714 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives2746 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives2763 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__SignedInteger__Alternatives_02796 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__SignedInteger__Alternatives_02816 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives2850 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives2867 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives2884 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives2901 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__Decimal__Alternatives_02934 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__Decimal__Alternatives_02954 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__DotDecimal__Alternatives_02989 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__DotDecimal__Alternatives_03009 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__DecimalDot__Alternatives_03044 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__DecimalDot__Alternatives_03064 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__DecimalExp__Alternatives_03099 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__DecimalExp__Alternatives_03119 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__ExecMode__Alternatives3154 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__ExecMode__Alternatives3175 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_21_in_rule__ExecMode__Alternatives3196 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_22_in_rule__ThreadModel__Alternatives3232 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_rule__ThreadModel__Alternatives3253 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__LiteralType__Alternatives3289 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_rule__LiteralType__Alternatives3310 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__LiteralType__Alternatives3331 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__LiteralType__Alternatives3352 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__0__Impl_in_rule__PhysicalModel__Group__03385 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__1_in_rule__PhysicalModel__Group__03388 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__PhysicalModel__Group__0__Impl3416 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__1__Impl_in_rule__PhysicalModel__Group__13447 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__2_in_rule__PhysicalModel__Group__13450 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__NameAssignment_1_in_rule__PhysicalModel__Group__1__Impl3477 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__2__Impl_in_rule__PhysicalModel__Group__23507 = new BitSet(new long[]{0x00012004C0000000L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__3_in_rule__PhysicalModel__Group__23510 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__PhysicalModel__Group__2__Impl3538 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__3__Impl_in_rule__PhysicalModel__Group__33569 = new BitSet(new long[]{0x00012004C0000000L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__4_in_rule__PhysicalModel__Group__33572 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__ImportsAssignment_3_in_rule__PhysicalModel__Group__3__Impl3599 = new BitSet(new long[]{0x0001000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__4__Impl_in_rule__PhysicalModel__Group__43630 = new BitSet(new long[]{0x00012004C0000000L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__5_in_rule__PhysicalModel__Group__43633 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Alternatives_4_in_rule__PhysicalModel__Group__4__Impl3660 = new BitSet(new long[]{0x0000200480000002L});
-    public static final BitSet FOLLOW_rule__PhysicalModel__Group__5__Impl_in_rule__PhysicalModel__Group__53691 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__PhysicalModel__Group__5__Impl3719 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__0__Impl_in_rule__PhysicalSystem__Group__03762 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__1_in_rule__PhysicalSystem__Group__03765 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_rule__PhysicalSystem__Group__0__Impl3793 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__1__Impl_in_rule__PhysicalSystem__Group__13824 = new BitSet(new long[]{0x0008000020000000L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__2_in_rule__PhysicalSystem__Group__13827 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__NameAssignment_1_in_rule__PhysicalSystem__Group__1__Impl3854 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__2__Impl_in_rule__PhysicalSystem__Group__23884 = new BitSet(new long[]{0x0008000020000000L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__3_in_rule__PhysicalSystem__Group__23887 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__DocuAssignment_2_in_rule__PhysicalSystem__Group__2__Impl3914 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__3__Impl_in_rule__PhysicalSystem__Group__33945 = new BitSet(new long[]{0x0000000140000000L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__4_in_rule__PhysicalSystem__Group__33948 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__PhysicalSystem__Group__3__Impl3976 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__4__Impl_in_rule__PhysicalSystem__Group__44007 = new BitSet(new long[]{0x0000000140000000L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__5_in_rule__PhysicalSystem__Group__44010 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__NodeRefsAssignment_4_in_rule__PhysicalSystem__Group__4__Impl4037 = new BitSet(new long[]{0x0000000100000002L});
-    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__5__Impl_in_rule__PhysicalSystem__Group__54068 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__PhysicalSystem__Group__5__Impl4096 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeRef__Group__0__Impl_in_rule__NodeRef__Group__04139 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__NodeRef__Group__1_in_rule__NodeRef__Group__04142 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_rule__NodeRef__Group__0__Impl4170 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeRef__Group__1__Impl_in_rule__NodeRef__Group__14201 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_rule__NodeRef__Group__2_in_rule__NodeRef__Group__14204 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeRef__NameAssignment_1_in_rule__NodeRef__Group__1__Impl4231 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeRef__Group__2__Impl_in_rule__NodeRef__Group__24261 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__NodeRef__Group__3_in_rule__NodeRef__Group__24264 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__NodeRef__Group__2__Impl4292 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeRef__Group__3__Impl_in_rule__NodeRef__Group__34323 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_rule__NodeRef__Group__4_in_rule__NodeRef__Group__34326 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeRef__TypeAssignment_3_in_rule__NodeRef__Group__3__Impl4353 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeRef__Group__4__Impl_in_rule__NodeRef__Group__44383 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeRef__DocuAssignment_4_in_rule__NodeRef__Group__4__Impl4410 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__0__Impl_in_rule__NodeClass__Group__04451 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__1_in_rule__NodeClass__Group__04454 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_rule__NodeClass__Group__0__Impl4482 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__1__Impl_in_rule__NodeClass__Group__14513 = new BitSet(new long[]{0x0008000020000000L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__2_in_rule__NodeClass__Group__14516 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__NameAssignment_1_in_rule__NodeClass__Group__1__Impl4543 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__2__Impl_in_rule__NodeClass__Group__24573 = new BitSet(new long[]{0x0008000020000000L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__3_in_rule__NodeClass__Group__24576 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__DocuAssignment_2_in_rule__NodeClass__Group__2__Impl4603 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__3__Impl_in_rule__NodeClass__Group__34634 = new BitSet(new long[]{0x0000006800000000L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__4_in_rule__NodeClass__Group__34637 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__NodeClass__Group__3__Impl4665 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__4__Impl_in_rule__NodeClass__Group__44696 = new BitSet(new long[]{0x0400000040002000L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__5_in_rule__NodeClass__Group__44699 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4_in_rule__NodeClass__Group__4__Impl4726 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__5__Impl_in_rule__NodeClass__Group__54756 = new BitSet(new long[]{0x0400000040002000L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__6_in_rule__NodeClass__Group__54759 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__ThreadsAssignment_5_in_rule__NodeClass__Group__5__Impl4786 = new BitSet(new long[]{0x0400000000002002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group__6__Impl_in_rule__NodeClass__Group__64817 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__NodeClass__Group__6__Impl4845 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__0__Impl_in_rule__NodeClass__Group_4_0__04890 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__1_in_rule__NodeClass__Group_4_0__04893 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_rule__NodeClass__Group_4_0__0__Impl4921 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__1__Impl_in_rule__NodeClass__Group_4_0__14952 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__2_in_rule__NodeClass__Group_4_0__14955 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__NodeClass__Group_4_0__1__Impl4983 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__2__Impl_in_rule__NodeClass__Group_4_0__25014 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__RuntimeAssignment_4_0_2_in_rule__NodeClass__Group_4_0__2__Impl5041 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__0__Impl_in_rule__NodeClass__Group_4_1__05077 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__1_in_rule__NodeClass__Group_4_1__05080 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_rule__NodeClass__Group_4_1__0__Impl5108 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__1__Impl_in_rule__NodeClass__Group_4_1__15139 = new BitSet(new long[]{0x000000000000C040L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__2_in_rule__NodeClass__Group_4_1__15142 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__NodeClass__Group_4_1__1__Impl5170 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__2__Impl_in_rule__NodeClass__Group_4_1__25201 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__PriominAssignment_4_1_2_in_rule__NodeClass__Group_4_1__2__Impl5228 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__0__Impl_in_rule__NodeClass__Group_4_2__05264 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__1_in_rule__NodeClass__Group_4_2__05267 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_38_in_rule__NodeClass__Group_4_2__0__Impl5295 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__1__Impl_in_rule__NodeClass__Group_4_2__15326 = new BitSet(new long[]{0x000000000000C040L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__2_in_rule__NodeClass__Group_4_2__15329 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__NodeClass__Group_4_2__1__Impl5357 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__2__Impl_in_rule__NodeClass__Group_4_2__25388 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__PriomaxAssignment_4_2_2_in_rule__NodeClass__Group_4_2__2__Impl5415 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group__0__Impl_in_rule__PhysicalThread__Group__05451 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group__1_in_rule__PhysicalThread__Group__05454 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Alternatives_0_in_rule__PhysicalThread__Group__0__Impl5481 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group__1__Impl_in_rule__PhysicalThread__Group__15511 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group__2_in_rule__PhysicalThread__Group__15514 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__NameAssignment_1_in_rule__PhysicalThread__Group__1__Impl5541 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group__2__Impl_in_rule__PhysicalThread__Group__25571 = new BitSet(new long[]{0x00001F8000000000L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group__3_in_rule__PhysicalThread__Group__25574 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__PhysicalThread__Group__2__Impl5602 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group__3__Impl_in_rule__PhysicalThread__Group__35633 = new BitSet(new long[]{0x0000000040000000L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group__4_in_rule__PhysicalThread__Group__35636 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3_in_rule__PhysicalThread__Group__3__Impl5663 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group__4__Impl_in_rule__PhysicalThread__Group__45693 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__PhysicalThread__Group__4__Impl5721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__0__Impl_in_rule__PhysicalThread__Group_3_0__05762 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__1_in_rule__PhysicalThread__Group_3_0__05765 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_39_in_rule__PhysicalThread__Group_3_0__0__Impl5793 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__1__Impl_in_rule__PhysicalThread__Group_3_0__15824 = new BitSet(new long[]{0x0000000000380000L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__2_in_rule__PhysicalThread__Group_3_0__15827 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__PhysicalThread__Group_3_0__1__Impl5855 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__2__Impl_in_rule__PhysicalThread__Group_3_0__25886 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__ExecmodeAssignment_3_0_2_in_rule__PhysicalThread__Group_3_0__2__Impl5913 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__0__Impl_in_rule__PhysicalThread__Group_3_1__05949 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__1_in_rule__PhysicalThread__Group_3_1__05952 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__PhysicalThread__Group_3_1__0__Impl5980 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__1__Impl_in_rule__PhysicalThread__Group_3_1__16011 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__2_in_rule__PhysicalThread__Group_3_1__16014 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__PhysicalThread__Group_3_1__1__Impl6042 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__2__Impl_in_rule__PhysicalThread__Group_3_1__26073 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__TimeAssignment_3_1_2_in_rule__PhysicalThread__Group_3_1__2__Impl6100 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__0__Impl_in_rule__PhysicalThread__Group_3_2__06136 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__1_in_rule__PhysicalThread__Group_3_2__06139 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__PhysicalThread__Group_3_2__0__Impl6167 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__1__Impl_in_rule__PhysicalThread__Group_3_2__16198 = new BitSet(new long[]{0x000000000000C040L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__2_in_rule__PhysicalThread__Group_3_2__16201 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__PhysicalThread__Group_3_2__1__Impl6229 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__2__Impl_in_rule__PhysicalThread__Group_3_2__26260 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__PrioAssignment_3_2_2_in_rule__PhysicalThread__Group_3_2__2__Impl6287 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__0__Impl_in_rule__PhysicalThread__Group_3_3__06323 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__1_in_rule__PhysicalThread__Group_3_3__06326 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__PhysicalThread__Group_3_3__0__Impl6354 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__1__Impl_in_rule__PhysicalThread__Group_3_3__16385 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__2_in_rule__PhysicalThread__Group_3_3__16388 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__PhysicalThread__Group_3_3__1__Impl6416 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__2__Impl_in_rule__PhysicalThread__Group_3_3__26447 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__StacksizeAssignment_3_3_2_in_rule__PhysicalThread__Group_3_3__2__Impl6474 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__0__Impl_in_rule__PhysicalThread__Group_3_4__06510 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__1_in_rule__PhysicalThread__Group_3_4__06513 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_rule__PhysicalThread__Group_3_4__0__Impl6541 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__1__Impl_in_rule__PhysicalThread__Group_3_4__16572 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__2_in_rule__PhysicalThread__Group_3_4__16575 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__PhysicalThread__Group_3_4__1__Impl6603 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__2__Impl_in_rule__PhysicalThread__Group_3_4__26634 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__MsgblocksizeAssignment_3_4_2_in_rule__PhysicalThread__Group_3_4__2__Impl6661 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__0__Impl_in_rule__PhysicalThread__Group_3_5__06697 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__1_in_rule__PhysicalThread__Group_3_5__06700 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__PhysicalThread__Group_3_5__0__Impl6728 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__1__Impl_in_rule__PhysicalThread__Group_3_5__16759 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__2_in_rule__PhysicalThread__Group_3_5__16762 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__PhysicalThread__Group_3_5__1__Impl6790 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__2__Impl_in_rule__PhysicalThread__Group_3_5__26821 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2_in_rule__PhysicalThread__Group_3_5__2__Impl6848 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__0__Impl_in_rule__RuntimeClass__Group__06884 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__1_in_rule__RuntimeClass__Group__06887 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_45_in_rule__RuntimeClass__Group__0__Impl6915 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__1__Impl_in_rule__RuntimeClass__Group__16946 = new BitSet(new long[]{0x0008000020000000L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__2_in_rule__RuntimeClass__Group__16949 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__NameAssignment_1_in_rule__RuntimeClass__Group__1__Impl6976 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__2__Impl_in_rule__RuntimeClass__Group__27006 = new BitSet(new long[]{0x0008000020000000L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__3_in_rule__RuntimeClass__Group__27009 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__DocuAssignment_2_in_rule__RuntimeClass__Group__2__Impl7036 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__3__Impl_in_rule__RuntimeClass__Group__37067 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__4_in_rule__RuntimeClass__Group__37070 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__RuntimeClass__Group__3__Impl7098 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__4__Impl_in_rule__RuntimeClass__Group__47129 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__5_in_rule__RuntimeClass__Group__47132 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__RuntimeClass__Group__4__Impl7160 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__5__Impl_in_rule__RuntimeClass__Group__57191 = new BitSet(new long[]{0x0000000000C00000L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__6_in_rule__RuntimeClass__Group__57194 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__RuntimeClass__Group__5__Impl7222 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__6__Impl_in_rule__RuntimeClass__Group__67253 = new BitSet(new long[]{0x0000000040000000L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__7_in_rule__RuntimeClass__Group__67256 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__ThreadModelAssignment_6_in_rule__RuntimeClass__Group__6__Impl7283 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RuntimeClass__Group__7__Impl_in_rule__RuntimeClass__Group__77313 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__RuntimeClass__Group__7__Impl7341 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PRIO__Group__0__Impl_in_rule__PRIO__Group__07388 = new BitSet(new long[]{0x000000000000C040L});
-    public static final BitSet FOLLOW_rule__PRIO__Group__1_in_rule__PRIO__Group__07391 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PRIO__Alternatives_0_in_rule__PRIO__Group__0__Impl7418 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PRIO__Group__1__Impl_in_rule__PRIO__Group__17449 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__PRIO__Group__1__Impl7476 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__07512 = new BitSet(new long[]{0x0000001000000000L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__07515 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl7542 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__17572 = new BitSet(new long[]{0x120000000004C160L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__17575 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__KeyValue__Group__1__Impl7603 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__27634 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl7661 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__07700 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__07703 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl7730 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__17760 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__17763 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__SimpleAnnotationAttribute__Group__1__Impl7791 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__27822 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__27825 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl7852 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__37882 = new BitSet(new long[]{0x000000000F000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__37885 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__SimpleAnnotationAttribute__Group__3__Impl7913 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__47944 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl7971 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__08011 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__08014 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl8041 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__18071 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__18074 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__EnumAnnotationAttribute__Group__1__Impl8102 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__28133 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__28136 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl8163 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__38193 = new BitSet(new long[]{0x0000000020000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__38196 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__EnumAnnotationAttribute__Group__3__Impl8224 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__48255 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__48258 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__EnumAnnotationAttribute__Group__4__Impl8286 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__58317 = new BitSet(new long[]{0x0000800040000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__58320 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl8347 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__68377 = new BitSet(new long[]{0x0000800040000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__68380 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl8407 = new BitSet(new long[]{0x0000800000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__78438 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__EnumAnnotationAttribute__Group__7__Impl8466 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__08513 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__08516 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__EnumAnnotationAttribute__Group_6__0__Impl8544 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__18575 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl8602 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__08636 = new BitSet(new long[]{0x0000000000020010L});
-    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__08639 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_48_in_rule__Import__Group__0__Impl8667 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__18698 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__Import__Group__2_in_rule__Import__Group__18701 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl8728 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__28758 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl8785 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__08821 = new BitSet(new long[]{0x0002000000000000L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__08824 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl8851 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__18881 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_49_in_rule__Import__Group_1_0__1__Impl8909 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__08944 = new BitSet(new long[]{0x0004000000000000L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__08947 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl8974 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__19003 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_rule__ImportedFQN__Group__1__Impl9032 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__09069 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__09072 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__19130 = new BitSet(new long[]{0x0010000000000100L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__19133 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_51_in_rule__Documentation__Group__1__Impl9161 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__29192 = new BitSet(new long[]{0x0010000000000100L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__29195 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl9222 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__39253 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_52_in_rule__Documentation__Group__3__Impl9281 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_0__0__Impl_in_rule__TIME__Group_0__09320 = new BitSet(new long[]{0x0020000000000000L});
-    public static final BitSet FOLLOW_rule__TIME__Group_0__1_in_rule__TIME__Group_0__09323 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_0__0__Impl9350 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_0__1__Impl_in_rule__TIME__Group_0__19379 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_53_in_rule__TIME__Group_0__1__Impl9407 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_1__0__Impl_in_rule__TIME__Group_1__09442 = new BitSet(new long[]{0x0040000000000000L});
-    public static final BitSet FOLLOW_rule__TIME__Group_1__1_in_rule__TIME__Group_1__09445 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_1__0__Impl9472 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_1__1__Impl_in_rule__TIME__Group_1__19501 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_54_in_rule__TIME__Group_1__1__Impl9529 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_2__0__Impl_in_rule__TIME__Group_2__09564 = new BitSet(new long[]{0x0080000000000000L});
-    public static final BitSet FOLLOW_rule__TIME__Group_2__1_in_rule__TIME__Group_2__09567 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_2__0__Impl9594 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_2__1__Impl_in_rule__TIME__Group_2__19623 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_rule__TIME__Group_2__1__Impl9651 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_3__0__Impl_in_rule__TIME__Group_3__09686 = new BitSet(new long[]{0x0100000000000000L});
-    public static final BitSet FOLLOW_rule__TIME__Group_3__1_in_rule__TIME__Group_3__09689 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_3__0__Impl9716 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TIME__Group_3__1__Impl_in_rule__TIME__Group_3__19745 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_56_in_rule__TIME__Group_3__1__Impl9773 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__09810 = new BitSet(new long[]{0x1000000000040000L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__09813 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__19871 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl9898 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__09932 = new BitSet(new long[]{0x020000000000C060L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__09935 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__19993 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl10020 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__010054 = new BitSet(new long[]{0x000000000000C060L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__010057 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__110115 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl10142 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__010176 = new BitSet(new long[]{0x120000000004C160L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__010179 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__110237 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl10264 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__010298 = new BitSet(new long[]{0x000000000000C040L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__010301 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl10328 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__110359 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl10386 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__010419 = new BitSet(new long[]{0x000000000000C040L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__010422 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl10449 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__110480 = new BitSet(new long[]{0x0200000000000000L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__110483 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl10510 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__210539 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__210542 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_57_in_rule__Decimal__Group__2__Impl10570 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__310601 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl10628 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__010665 = new BitSet(new long[]{0x020000000000C000L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__010668 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl10695 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__110726 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__110729 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_57_in_rule__DotDecimal__Group__1__Impl10757 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__210788 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl10815 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__010850 = new BitSet(new long[]{0x000000000000C040L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__010853 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl10880 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__110911 = new BitSet(new long[]{0x0200000000000000L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__110914 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl10941 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__210970 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_57_in_rule__DecimalDot__Group__2__Impl10998 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__011035 = new BitSet(new long[]{0x020000000000C060L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__011038 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl11065 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__111096 = new BitSet(new long[]{0x0200000000000000L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__111099 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl11126 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__211155 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__211158 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_57_in_rule__DecimalExp__Group__2__Impl11186 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__311217 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__311220 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl11247 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__411276 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl11303 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__011342 = new BitSet(new long[]{0x0200000000000000L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__011345 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl11372 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__111401 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl11428 = new BitSet(new long[]{0x0200000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__011463 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__011466 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_57_in_rule__FQN__Group_1__0__Impl11494 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__111525 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl11552 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__0_in_rule__NodeClass__UnorderedGroup_411586 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__0_in_rule__NodeClass__UnorderedGroup_4__Impl11675 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__0_in_rule__NodeClass__UnorderedGroup_4__Impl11766 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__0_in_rule__NodeClass__UnorderedGroup_4__Impl11857 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__011916 = new BitSet(new long[]{0x0000006800000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__1_in_rule__NodeClass__UnorderedGroup_4__011919 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__111944 = new BitSet(new long[]{0x0000006800000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__2_in_rule__NodeClass__UnorderedGroup_4__111947 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__211972 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__0_in_rule__PhysicalThread__UnorderedGroup_312002 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12091 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12182 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12273 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12364 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12455 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl12546 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__012605 = new BitSet(new long[]{0x00001F8000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__1_in_rule__PhysicalThread__UnorderedGroup_3__012608 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__112633 = new BitSet(new long[]{0x00001F8000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__2_in_rule__PhysicalThread__UnorderedGroup_3__112636 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__212661 = new BitSet(new long[]{0x00001F8000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__3_in_rule__PhysicalThread__UnorderedGroup_3__212664 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__312689 = new BitSet(new long[]{0x00001F8000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__4_in_rule__PhysicalThread__UnorderedGroup_3__312692 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__412717 = new BitSet(new long[]{0x00001F8000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__5_in_rule__PhysicalThread__UnorderedGroup_3__412720 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__512745 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__PhysicalModel__NameAssignment_112785 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImport_in_rule__PhysicalModel__ImportsAssignment_312816 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePhysicalSystem_in_rule__PhysicalModel__SystemsAssignment_4_012847 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNodeClass_in_rule__PhysicalModel__NodeClassesAssignment_4_112878 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRuntimeClass_in_rule__PhysicalModel__RuntimeClassesAssignment_4_212909 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__PhysicalSystem__NameAssignment_112940 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__PhysicalSystem__DocuAssignment_212971 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNodeRef_in_rule__PhysicalSystem__NodeRefsAssignment_413002 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__NodeRef__NameAssignment_113033 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__NodeRef__TypeAssignment_313068 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__NodeRef__DocuAssignment_413103 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__NodeClass__NameAssignment_113134 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__NodeClass__DocuAssignment_213165 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__NodeClass__RuntimeAssignment_4_0_213200 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePRIO_in_rule__NodeClass__PriominAssignment_4_1_213235 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePRIO_in_rule__NodeClass__PriomaxAssignment_4_2_213266 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePhysicalThread_in_rule__NodeClass__ThreadsAssignment_513297 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_58_in_rule__PhysicalThread__DefaultAssignment_0_013333 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__PhysicalThread__NameAssignment_113372 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleExecMode_in_rule__PhysicalThread__ExecmodeAssignment_3_0_213403 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTIME_in_rule__PhysicalThread__TimeAssignment_3_1_213434 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePRIO_in_rule__PhysicalThread__PrioAssignment_3_2_213465 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__PhysicalThread__StacksizeAssignment_3_3_213496 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__PhysicalThread__MsgblocksizeAssignment_3_4_213527 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__PhysicalThread__MsgpoolsizeAssignment_3_5_213558 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__RuntimeClass__NameAssignment_113589 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RuntimeClass__DocuAssignment_213620 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleThreadModel_in_rule__RuntimeClass__ThreadModelAssignment_613651 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_013685 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_213716 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_013758 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_213797 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_413828 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_013864 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_213903 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_513934 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_113965 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_013996 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_214027 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_214058 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_rule__BooleanLiteral__IsTrueAssignment_1_114096 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_114135 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_114166 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_114197 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePhysicalModel_in_entryRulePhysicalModel67 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRulePhysicalModel74 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__0_in_rulePhysicalModel100 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePhysicalSystem_in_entryRulePhysicalSystem127 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRulePhysicalSystem134 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__0_in_rulePhysicalSystem160 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNodeRef_in_entryRuleNodeRef187 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleNodeRef194 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeRef__Group__0_in_ruleNodeRef220 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNodeClass_in_entryRuleNodeClass247 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleNodeClass254 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__0_in_ruleNodeClass280 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePhysicalThread_in_entryRulePhysicalThread307 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRulePhysicalThread314 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group__0_in_rulePhysicalThread340 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRuntimeClass_in_entryRuleRuntimeClass367 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleRuntimeClass374 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__0_in_ruleRuntimeClass400 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue429 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue436 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__0_in_ruleKeyValue462 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType491 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType498 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotationTargetType524 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute550 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationAttribute557 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationAttribute__Alternatives_in_ruleAnnotationAttribute583 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute610 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute617 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0_in_ruleSimpleAnnotationAttribute643 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute670 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute677 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0_in_ruleEnumAnnotationAttribute703 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport730 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleImport737 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport763 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN790 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN797 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0_in_ruleImportedFQN823 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation850 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation857 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__0_in_ruleDocumentation883 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTIME_in_entryRuleTIME910 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleTIME917 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Alternatives_in_ruleTIME943 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral972 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleLiteral979 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Literal__Alternatives_in_ruleLiteral1005 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral1032 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral1039 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0_in_ruleBooleanLiteral1065 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral1092 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral1099 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NumberLiteral__Alternatives_in_ruleNumberLiteral1125 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral1152 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleRealLiteral1159 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__0_in_ruleRealLiteral1185 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral1212 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral1219 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__0_in_ruleIntLiteral1245 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral1272 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral1279 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__0_in_ruleStringLiteral1305 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger1332 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleInteger1339 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Alternatives_in_ruleInteger1365 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal1392 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal1399 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal1425 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal1457 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal1464 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal1494 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp1526 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp1533 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp1563 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN1590 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN1597 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN1623 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExecMode__Alternatives_in_ruleExecMode1660 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ThreadModel__Alternatives_in_ruleThreadModel1696 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType1732 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__SystemsAssignment_4_0_in_rule__PhysicalModel__Alternatives_41767 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__NodeClassesAssignment_4_1_in_rule__PhysicalModel__Alternatives_41785 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__RuntimeClassesAssignment_4_2_in_rule__PhysicalModel__Alternatives_41803 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__DefaultAssignment_0_0_in_rule__PhysicalThread__Alternatives_01836 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_rule__PhysicalThread__Alternatives_01855 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1890 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives1907 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_01939 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_13_in_rule__SimpleAnnotationAttribute__Alternatives_01958 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_01992 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_13_in_rule__EnumAnnotationAttribute__Alternatives_02011 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_12045 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__Import__Alternatives_12064 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_0__0_in_rule__TIME__Alternatives2098 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_1__0_in_rule__TIME__Alternatives2116 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_2__0_in_rule__TIME__Alternatives2134 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_3__0_in_rule__TIME__Alternatives2152 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives2185 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives2202 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives2219 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__BooleanLiteral__Alternatives_12252 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_12271 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives2304 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives2321 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives2353 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_rule__Integer__Alternatives2371 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__Integer__Alternatives_0_02404 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_rule__Integer__Alternatives_0_02424 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives2458 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives2475 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__Decimal__Alternatives_02508 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_rule__Decimal__Alternatives_02528 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__DecimalExp__Alternatives_02563 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_rule__DecimalExp__Alternatives_02583 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_18_in_rule__DecimalExp__Alternatives_42618 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_rule__DecimalExp__Alternatives_42638 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__DecimalExp__Alternatives_52673 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_rule__DecimalExp__Alternatives_52693 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_20_in_rule__ExecMode__Alternatives2728 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_21_in_rule__ExecMode__Alternatives2749 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_22_in_rule__ExecMode__Alternatives2770 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_23_in_rule__ThreadModel__Alternatives2806 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_24_in_rule__ThreadModel__Alternatives2827 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_25_in_rule__LiteralType__Alternatives2863 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_26_in_rule__LiteralType__Alternatives2884 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__LiteralType__Alternatives2905 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__LiteralType__Alternatives2926 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__0__Impl_in_rule__PhysicalModel__Group__02959 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__1_in_rule__PhysicalModel__Group__02962 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__PhysicalModel__Group__0__Impl2990 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__1__Impl_in_rule__PhysicalModel__Group__13021 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__2_in_rule__PhysicalModel__Group__13024 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__NameAssignment_1_in_rule__PhysicalModel__Group__1__Impl3051 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__2__Impl_in_rule__PhysicalModel__Group__23081 = new BitSet(new long[]{0x0002400980000000L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__3_in_rule__PhysicalModel__Group__23084 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__PhysicalModel__Group__2__Impl3112 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__3__Impl_in_rule__PhysicalModel__Group__33143 = new BitSet(new long[]{0x0002400980000000L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__4_in_rule__PhysicalModel__Group__33146 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__ImportsAssignment_3_in_rule__PhysicalModel__Group__3__Impl3173 = new BitSet(new long[]{0x0002000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__4__Impl_in_rule__PhysicalModel__Group__43204 = new BitSet(new long[]{0x0002400980000000L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__5_in_rule__PhysicalModel__Group__43207 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Alternatives_4_in_rule__PhysicalModel__Group__4__Impl3234 = new BitSet(new long[]{0x0000400900000002L});
+    public static final BitSet FOLLOW_rule__PhysicalModel__Group__5__Impl_in_rule__PhysicalModel__Group__53265 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__PhysicalModel__Group__5__Impl3293 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__0__Impl_in_rule__PhysicalSystem__Group__03336 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__1_in_rule__PhysicalSystem__Group__03339 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_32_in_rule__PhysicalSystem__Group__0__Impl3367 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__1__Impl_in_rule__PhysicalSystem__Group__13398 = new BitSet(new long[]{0x0010000040000000L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__2_in_rule__PhysicalSystem__Group__13401 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__NameAssignment_1_in_rule__PhysicalSystem__Group__1__Impl3428 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__2__Impl_in_rule__PhysicalSystem__Group__23458 = new BitSet(new long[]{0x0010000040000000L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__3_in_rule__PhysicalSystem__Group__23461 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__DocuAssignment_2_in_rule__PhysicalSystem__Group__2__Impl3488 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__3__Impl_in_rule__PhysicalSystem__Group__33519 = new BitSet(new long[]{0x0000000280000000L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__4_in_rule__PhysicalSystem__Group__33522 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__PhysicalSystem__Group__3__Impl3550 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__4__Impl_in_rule__PhysicalSystem__Group__43581 = new BitSet(new long[]{0x0000000280000000L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__5_in_rule__PhysicalSystem__Group__43584 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__NodeRefsAssignment_4_in_rule__PhysicalSystem__Group__4__Impl3611 = new BitSet(new long[]{0x0000000200000002L});
+    public static final BitSet FOLLOW_rule__PhysicalSystem__Group__5__Impl_in_rule__PhysicalSystem__Group__53642 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__PhysicalSystem__Group__5__Impl3670 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeRef__Group__0__Impl_in_rule__NodeRef__Group__03713 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__NodeRef__Group__1_in_rule__NodeRef__Group__03716 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_rule__NodeRef__Group__0__Impl3744 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeRef__Group__1__Impl_in_rule__NodeRef__Group__13775 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_rule__NodeRef__Group__2_in_rule__NodeRef__Group__13778 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeRef__NameAssignment_1_in_rule__NodeRef__Group__1__Impl3805 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeRef__Group__2__Impl_in_rule__NodeRef__Group__23835 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__NodeRef__Group__3_in_rule__NodeRef__Group__23838 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__NodeRef__Group__2__Impl3866 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeRef__Group__3__Impl_in_rule__NodeRef__Group__33897 = new BitSet(new long[]{0x0010000000000000L});
+    public static final BitSet FOLLOW_rule__NodeRef__Group__4_in_rule__NodeRef__Group__33900 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeRef__TypeAssignment_3_in_rule__NodeRef__Group__3__Impl3927 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeRef__Group__4__Impl_in_rule__NodeRef__Group__43957 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeRef__DocuAssignment_4_in_rule__NodeRef__Group__4__Impl3984 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__0__Impl_in_rule__NodeClass__Group__04025 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__1_in_rule__NodeClass__Group__04028 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_rule__NodeClass__Group__0__Impl4056 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__1__Impl_in_rule__NodeClass__Group__14087 = new BitSet(new long[]{0x0010000040000000L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__2_in_rule__NodeClass__Group__14090 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__NameAssignment_1_in_rule__NodeClass__Group__1__Impl4117 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__2__Impl_in_rule__NodeClass__Group__24147 = new BitSet(new long[]{0x0010000040000000L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__3_in_rule__NodeClass__Group__24150 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__DocuAssignment_2_in_rule__NodeClass__Group__2__Impl4177 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__3__Impl_in_rule__NodeClass__Group__34208 = new BitSet(new long[]{0x000000D000000000L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__4_in_rule__NodeClass__Group__34211 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__NodeClass__Group__3__Impl4239 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__4__Impl_in_rule__NodeClass__Group__44270 = new BitSet(new long[]{0x0800000080001000L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__5_in_rule__NodeClass__Group__44273 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4_in_rule__NodeClass__Group__4__Impl4300 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__5__Impl_in_rule__NodeClass__Group__54330 = new BitSet(new long[]{0x0800000080001000L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__6_in_rule__NodeClass__Group__54333 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__ThreadsAssignment_5_in_rule__NodeClass__Group__5__Impl4360 = new BitSet(new long[]{0x0800000000001002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group__6__Impl_in_rule__NodeClass__Group__64391 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__NodeClass__Group__6__Impl4419 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__0__Impl_in_rule__NodeClass__Group_4_0__04464 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__1_in_rule__NodeClass__Group_4_0__04467 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_36_in_rule__NodeClass__Group_4_0__0__Impl4495 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__1__Impl_in_rule__NodeClass__Group_4_0__14526 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__2_in_rule__NodeClass__Group_4_0__14529 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__NodeClass__Group_4_0__1__Impl4557 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__2__Impl_in_rule__NodeClass__Group_4_0__24588 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__RuntimeAssignment_4_0_2_in_rule__NodeClass__Group_4_0__2__Impl4615 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__0__Impl_in_rule__NodeClass__Group_4_1__04651 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__1_in_rule__NodeClass__Group_4_1__04654 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_38_in_rule__NodeClass__Group_4_1__0__Impl4682 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__1__Impl_in_rule__NodeClass__Group_4_1__14713 = new BitSet(new long[]{0x0000000000030060L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__2_in_rule__NodeClass__Group_4_1__14716 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__NodeClass__Group_4_1__1__Impl4744 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__2__Impl_in_rule__NodeClass__Group_4_1__24775 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__PriominAssignment_4_1_2_in_rule__NodeClass__Group_4_1__2__Impl4802 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__0__Impl_in_rule__NodeClass__Group_4_2__04838 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__1_in_rule__NodeClass__Group_4_2__04841 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_39_in_rule__NodeClass__Group_4_2__0__Impl4869 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__1__Impl_in_rule__NodeClass__Group_4_2__14900 = new BitSet(new long[]{0x0000000000030060L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__2_in_rule__NodeClass__Group_4_2__14903 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__NodeClass__Group_4_2__1__Impl4931 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__2__Impl_in_rule__NodeClass__Group_4_2__24962 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__PriomaxAssignment_4_2_2_in_rule__NodeClass__Group_4_2__2__Impl4989 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group__0__Impl_in_rule__PhysicalThread__Group__05025 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group__1_in_rule__PhysicalThread__Group__05028 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Alternatives_0_in_rule__PhysicalThread__Group__0__Impl5055 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group__1__Impl_in_rule__PhysicalThread__Group__15085 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group__2_in_rule__PhysicalThread__Group__15088 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__NameAssignment_1_in_rule__PhysicalThread__Group__1__Impl5115 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group__2__Impl_in_rule__PhysicalThread__Group__25145 = new BitSet(new long[]{0x00003F0000000000L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group__3_in_rule__PhysicalThread__Group__25148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__PhysicalThread__Group__2__Impl5176 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group__3__Impl_in_rule__PhysicalThread__Group__35207 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group__4_in_rule__PhysicalThread__Group__35210 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3_in_rule__PhysicalThread__Group__3__Impl5237 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group__4__Impl_in_rule__PhysicalThread__Group__45267 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__PhysicalThread__Group__4__Impl5295 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__0__Impl_in_rule__PhysicalThread__Group_3_0__05336 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__1_in_rule__PhysicalThread__Group_3_0__05339 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_40_in_rule__PhysicalThread__Group_3_0__0__Impl5367 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__1__Impl_in_rule__PhysicalThread__Group_3_0__15398 = new BitSet(new long[]{0x0000000000700000L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__2_in_rule__PhysicalThread__Group_3_0__15401 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__PhysicalThread__Group_3_0__1__Impl5429 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__2__Impl_in_rule__PhysicalThread__Group_3_0__25460 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__ExecmodeAssignment_3_0_2_in_rule__PhysicalThread__Group_3_0__2__Impl5487 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__0__Impl_in_rule__PhysicalThread__Group_3_1__05523 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__1_in_rule__PhysicalThread__Group_3_1__05526 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__PhysicalThread__Group_3_1__0__Impl5554 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__1__Impl_in_rule__PhysicalThread__Group_3_1__15585 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__2_in_rule__PhysicalThread__Group_3_1__15588 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__PhysicalThread__Group_3_1__1__Impl5616 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__2__Impl_in_rule__PhysicalThread__Group_3_1__25647 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__TimeAssignment_3_1_2_in_rule__PhysicalThread__Group_3_1__2__Impl5674 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__0__Impl_in_rule__PhysicalThread__Group_3_2__05710 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__1_in_rule__PhysicalThread__Group_3_2__05713 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__PhysicalThread__Group_3_2__0__Impl5741 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__1__Impl_in_rule__PhysicalThread__Group_3_2__15772 = new BitSet(new long[]{0x0000000000030060L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__2_in_rule__PhysicalThread__Group_3_2__15775 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__PhysicalThread__Group_3_2__1__Impl5803 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__2__Impl_in_rule__PhysicalThread__Group_3_2__25834 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__PrioAssignment_3_2_2_in_rule__PhysicalThread__Group_3_2__2__Impl5861 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__0__Impl_in_rule__PhysicalThread__Group_3_3__05897 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__1_in_rule__PhysicalThread__Group_3_3__05900 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__PhysicalThread__Group_3_3__0__Impl5928 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__1__Impl_in_rule__PhysicalThread__Group_3_3__15959 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__2_in_rule__PhysicalThread__Group_3_3__15962 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__PhysicalThread__Group_3_3__1__Impl5990 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__2__Impl_in_rule__PhysicalThread__Group_3_3__26021 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__StacksizeAssignment_3_3_2_in_rule__PhysicalThread__Group_3_3__2__Impl6048 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__0__Impl_in_rule__PhysicalThread__Group_3_4__06084 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__1_in_rule__PhysicalThread__Group_3_4__06087 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_rule__PhysicalThread__Group_3_4__0__Impl6115 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__1__Impl_in_rule__PhysicalThread__Group_3_4__16146 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__2_in_rule__PhysicalThread__Group_3_4__16149 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__PhysicalThread__Group_3_4__1__Impl6177 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__2__Impl_in_rule__PhysicalThread__Group_3_4__26208 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__MsgblocksizeAssignment_3_4_2_in_rule__PhysicalThread__Group_3_4__2__Impl6235 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__0__Impl_in_rule__PhysicalThread__Group_3_5__06271 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__1_in_rule__PhysicalThread__Group_3_5__06274 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__PhysicalThread__Group_3_5__0__Impl6302 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__1__Impl_in_rule__PhysicalThread__Group_3_5__16333 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__2_in_rule__PhysicalThread__Group_3_5__16336 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__PhysicalThread__Group_3_5__1__Impl6364 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__2__Impl_in_rule__PhysicalThread__Group_3_5__26395 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__MsgpoolsizeAssignment_3_5_2_in_rule__PhysicalThread__Group_3_5__2__Impl6422 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__0__Impl_in_rule__RuntimeClass__Group__06458 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__1_in_rule__RuntimeClass__Group__06461 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_46_in_rule__RuntimeClass__Group__0__Impl6489 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__1__Impl_in_rule__RuntimeClass__Group__16520 = new BitSet(new long[]{0x0010000040000000L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__2_in_rule__RuntimeClass__Group__16523 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__NameAssignment_1_in_rule__RuntimeClass__Group__1__Impl6550 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__2__Impl_in_rule__RuntimeClass__Group__26580 = new BitSet(new long[]{0x0010000040000000L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__3_in_rule__RuntimeClass__Group__26583 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__DocuAssignment_2_in_rule__RuntimeClass__Group__2__Impl6610 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__3__Impl_in_rule__RuntimeClass__Group__36641 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__4_in_rule__RuntimeClass__Group__36644 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__RuntimeClass__Group__3__Impl6672 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__4__Impl_in_rule__RuntimeClass__Group__46703 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__5_in_rule__RuntimeClass__Group__46706 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__RuntimeClass__Group__4__Impl6734 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__5__Impl_in_rule__RuntimeClass__Group__56765 = new BitSet(new long[]{0x0000000001800000L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__6_in_rule__RuntimeClass__Group__56768 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__RuntimeClass__Group__5__Impl6796 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__6__Impl_in_rule__RuntimeClass__Group__66827 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__7_in_rule__RuntimeClass__Group__66830 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__ThreadModelAssignment_6_in_rule__RuntimeClass__Group__6__Impl6857 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RuntimeClass__Group__7__Impl_in_rule__RuntimeClass__Group__76887 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__RuntimeClass__Group__7__Impl6915 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__06965 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__06968 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl6995 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__17025 = new BitSet(new long[]{0x20000000000380E0L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__17028 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__KeyValue__Group__1__Impl7056 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__27087 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl7114 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__07153 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__07156 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl7183 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__17213 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__17216 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__SimpleAnnotationAttribute__Group__1__Impl7244 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__27275 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__27278 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl7305 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__37335 = new BitSet(new long[]{0x000000001E000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__37338 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__SimpleAnnotationAttribute__Group__3__Impl7366 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__47397 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl7424 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__07464 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__07467 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl7494 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__17524 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__17527 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__EnumAnnotationAttribute__Group__1__Impl7555 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__27586 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__27589 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl7616 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__37646 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__37649 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__EnumAnnotationAttribute__Group__3__Impl7677 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__47708 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__47711 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__EnumAnnotationAttribute__Group__4__Impl7739 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__57770 = new BitSet(new long[]{0x0001000080000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__57773 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl7800 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__67830 = new BitSet(new long[]{0x0001000080000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__67833 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl7860 = new BitSet(new long[]{0x0001000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__77891 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__EnumAnnotationAttribute__Group__7__Impl7919 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__07966 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__07969 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__EnumAnnotationAttribute__Group_6__0__Impl7997 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__18028 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl8055 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__08089 = new BitSet(new long[]{0x0000000000004010L});
+    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__08092 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_49_in_rule__Import__Group__0__Impl8120 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__18151 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__Import__Group__2_in_rule__Import__Group__18154 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl8181 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__28211 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl8238 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__08274 = new BitSet(new long[]{0x0004000000000000L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__08277 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl8304 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__18334 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_50_in_rule__Import__Group_1_0__1__Impl8362 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__08397 = new BitSet(new long[]{0x0008000000000000L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__08400 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl8427 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__18456 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_rule__ImportedFQN__Group__1__Impl8485 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__08522 = new BitSet(new long[]{0x0010000000000000L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__08525 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__18583 = new BitSet(new long[]{0x0020000000000080L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__18586 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_52_in_rule__Documentation__Group__1__Impl8614 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__28645 = new BitSet(new long[]{0x0020000000000080L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__28648 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl8675 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__38706 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_53_in_rule__Documentation__Group__3__Impl8734 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_0__0__Impl_in_rule__TIME__Group_0__08773 = new BitSet(new long[]{0x0040000000000000L});
+    public static final BitSet FOLLOW_rule__TIME__Group_0__1_in_rule__TIME__Group_0__08776 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_0__0__Impl8803 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_0__1__Impl_in_rule__TIME__Group_0__18832 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_54_in_rule__TIME__Group_0__1__Impl8860 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_1__0__Impl_in_rule__TIME__Group_1__08895 = new BitSet(new long[]{0x0080000000000000L});
+    public static final BitSet FOLLOW_rule__TIME__Group_1__1_in_rule__TIME__Group_1__08898 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_1__0__Impl8925 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_1__1__Impl_in_rule__TIME__Group_1__18954 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_55_in_rule__TIME__Group_1__1__Impl8982 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_2__0__Impl_in_rule__TIME__Group_2__09017 = new BitSet(new long[]{0x0100000000000000L});
+    public static final BitSet FOLLOW_rule__TIME__Group_2__1_in_rule__TIME__Group_2__09020 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_2__0__Impl9047 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_2__1__Impl_in_rule__TIME__Group_2__19076 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_56_in_rule__TIME__Group_2__1__Impl9104 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_3__0__Impl_in_rule__TIME__Group_3__09139 = new BitSet(new long[]{0x0200000000000000L});
+    public static final BitSet FOLLOW_rule__TIME__Group_3__1_in_rule__TIME__Group_3__09142 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group_3__0__Impl9169 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TIME__Group_3__1__Impl_in_rule__TIME__Group_3__19198 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_57_in_rule__TIME__Group_3__1__Impl9226 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__09263 = new BitSet(new long[]{0x2000000000008000L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__09266 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__19324 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl9351 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__09385 = new BitSet(new long[]{0x0000000000030060L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__09388 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__19446 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl9473 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__09507 = new BitSet(new long[]{0x0000000000030060L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__09510 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__19568 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl9595 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__09629 = new BitSet(new long[]{0x20000000000380E0L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__09632 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__19690 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl9717 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__09751 = new BitSet(new long[]{0x0000000000030040L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__09754 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl9781 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__19812 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl9839 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__09872 = new BitSet(new long[]{0x0000000000030040L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__09875 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl9902 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__19933 = new BitSet(new long[]{0x0400000000000000L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__19936 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl9963 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__29992 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__29995 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_58_in_rule__Decimal__Group__2__Impl10023 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__310054 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl10081 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__010118 = new BitSet(new long[]{0x0000000000030060L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__010121 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl10148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__110179 = new BitSet(new long[]{0x0400000000000000L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__110182 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl10209 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__210238 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__210241 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_58_in_rule__DecimalExp__Group__2__Impl10269 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__310300 = new BitSet(new long[]{0x00000000000C0000L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__310303 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl10330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__410359 = new BitSet(new long[]{0x0000000000030040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__410362 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl10389 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__510419 = new BitSet(new long[]{0x0000000000030040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__510422 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl10449 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__610480 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl10508 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__010552 = new BitSet(new long[]{0x0400000000000000L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__010555 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl10582 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__110611 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl10638 = new BitSet(new long[]{0x0400000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__010673 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__010676 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_58_in_rule__FQN__Group_1__0__Impl10704 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__110735 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl10762 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__0_in_rule__NodeClass__UnorderedGroup_410796 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__0_in_rule__NodeClass__UnorderedGroup_4__Impl10885 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__0_in_rule__NodeClass__UnorderedGroup_4__Impl10976 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_2__0_in_rule__NodeClass__UnorderedGroup_4__Impl11067 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__011126 = new BitSet(new long[]{0x000000D000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__1_in_rule__NodeClass__UnorderedGroup_4__011129 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__111154 = new BitSet(new long[]{0x000000D000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__2_in_rule__NodeClass__UnorderedGroup_4__111157 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__Impl_in_rule__NodeClass__UnorderedGroup_4__211182 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__0_in_rule__PhysicalThread__UnorderedGroup_311212 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11301 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11392 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11483 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11574 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11665 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_5__0_in_rule__PhysicalThread__UnorderedGroup_3__Impl11756 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__011815 = new BitSet(new long[]{0x00003F0000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__1_in_rule__PhysicalThread__UnorderedGroup_3__011818 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__111843 = new BitSet(new long[]{0x00003F0000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__2_in_rule__PhysicalThread__UnorderedGroup_3__111846 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__211871 = new BitSet(new long[]{0x00003F0000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__3_in_rule__PhysicalThread__UnorderedGroup_3__211874 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__311899 = new BitSet(new long[]{0x00003F0000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__4_in_rule__PhysicalThread__UnorderedGroup_3__311902 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__411927 = new BitSet(new long[]{0x00003F0000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__5_in_rule__PhysicalThread__UnorderedGroup_3__411930 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__Impl_in_rule__PhysicalThread__UnorderedGroup_3__511955 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__PhysicalModel__NameAssignment_111995 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImport_in_rule__PhysicalModel__ImportsAssignment_312026 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePhysicalSystem_in_rule__PhysicalModel__SystemsAssignment_4_012057 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNodeClass_in_rule__PhysicalModel__NodeClassesAssignment_4_112088 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRuntimeClass_in_rule__PhysicalModel__RuntimeClassesAssignment_4_212119 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__PhysicalSystem__NameAssignment_112150 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__PhysicalSystem__DocuAssignment_212181 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNodeRef_in_rule__PhysicalSystem__NodeRefsAssignment_412212 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__NodeRef__NameAssignment_112243 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__NodeRef__TypeAssignment_312278 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__NodeRef__DocuAssignment_412313 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__NodeClass__NameAssignment_112344 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__NodeClass__DocuAssignment_212375 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__NodeClass__RuntimeAssignment_4_0_212410 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_rule__NodeClass__PriominAssignment_4_1_212445 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_rule__NodeClass__PriomaxAssignment_4_2_212476 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePhysicalThread_in_rule__NodeClass__ThreadsAssignment_512507 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_rule__PhysicalThread__DefaultAssignment_0_012543 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__PhysicalThread__NameAssignment_112582 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleExecMode_in_rule__PhysicalThread__ExecmodeAssignment_3_0_212613 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTIME_in_rule__PhysicalThread__TimeAssignment_3_1_212644 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_rule__PhysicalThread__PrioAssignment_3_2_212675 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__PhysicalThread__StacksizeAssignment_3_3_212706 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__PhysicalThread__MsgblocksizeAssignment_3_4_212737 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__PhysicalThread__MsgpoolsizeAssignment_3_5_212768 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__RuntimeClass__NameAssignment_112799 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RuntimeClass__DocuAssignment_212830 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleThreadModel_in_rule__RuntimeClass__ThreadModelAssignment_612861 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_012895 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_212926 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_012968 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_213007 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_413038 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_013074 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_213113 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_513144 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_113175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_013206 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_213237 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_213268 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_61_in_rule__BooleanLiteral__IsTrueAssignment_1_113306 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_113345 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_113376 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_113407 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_0__0_in_synpred44_InternalETPhys10885 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__Group_4_1__0_in_synpred45_InternalETPhys10976 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__1_in_synpred46_InternalETPhys11129 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__NodeClass__UnorderedGroup_4__2_in_synpred47_InternalETPhys11157 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_0__0_in_synpred48_InternalETPhys11301 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_1__0_in_synpred49_InternalETPhys11392 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_2__0_in_synpred50_InternalETPhys11483 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_3__0_in_synpred51_InternalETPhys11574 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__Group_3_4__0_in_synpred52_InternalETPhys11665 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__1_in_synpred53_InternalETPhys11818 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__2_in_synpred54_InternalETPhys11846 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__3_in_synpred55_InternalETPhys11874 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__4_in_synpred56_InternalETPhys11902 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PhysicalThread__UnorderedGroup_3__5_in_synpred57_InternalETPhys11930 = new BitSet(new long[]{0x0000000000000002L});
 
 }
diff --git "a/plugins/org.eclipse.etrice.core.etphys/Generate Language Infrastructure \050org.eclipse.etrice.core.etphys\051.launch" "b/plugins/org.eclipse.etrice.core.etphys/Generate Language Infrastructure \050org.eclipse.etrice.core.etphys\051.launch"
new file mode 100644
index 0000000..c4ad459
--- /dev/null
+++ "b/plugins/org.eclipse.etrice.core.etphys/Generate Language Infrastructure \050org.eclipse.etrice.core.etphys\051.launch"
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.etrice.core.etphys"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/etrice/core/etphys/GenerateETPhys.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.core.etphys"/>
+</launchConfiguration>
diff --git a/plugins/org.eclipse.etrice.core.etphys/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.etphys/META-INF/MANIFEST.MF
index 0708e51..e512bd9 100644
--- a/plugins/org.eclipse.etrice.core.etphys/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.etphys/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.etrice.core.etphys
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.etphys; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.room;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.room;bundle-version="1.1.0",
  org.eclipse.xtext;bundle-version="2.6.0";visibility:=reexport,
  org.eclipse.xtext.generator;bundle-version="2.6.0";resolution:=optional,
  org.antlr.runtime,
@@ -16,7 +16,7 @@
  org.eclipse.xtext.util;bundle-version="2.6.0",
  org.eclipse.emf.ecore,
  org.eclipse.emf.common,
- org.eclipse.etrice.core.common;bundle-version="1.0.1",
+ org.eclipse.etrice.core.common;bundle-version="1.1.0",
  org.eclipse.xtext.xbase.lib
 Import-Package: org.apache.log4j,
  org.eclipse.xtext.xbase.lib
diff --git a/plugins/org.eclipse.etrice.core.etphys/pom.xml b/plugins/org.eclipse.etrice.core.etphys/pom.xml
index a3824da..5fb7c83 100644
--- a/plugins/org.eclipse.etrice.core.etphys/pom.xml
+++ b/plugins/org.eclipse.etrice.core.etphys/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.ecore b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.ecore
index 39c794e..49e2be8 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.ecore
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.ecore
@@ -100,12 +100,12 @@
         <details key="documentation" value="&lt;br>This is the associated runtime class.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="priomin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="priomin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="&lt;br>This is the minimal thread priority for this node type.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="priomax" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="priomax" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="&lt;br>This is the maximum thread priority for this node type.&#xD;&#xA;"/>
       </eAnnotations>
@@ -137,7 +137,7 @@
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="time" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="prio" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="prio" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="&lt;br>This is the priority of the thread.&#xD;&#xA;"/>
       </eAnnotations>
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.genmodel b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.genmodel
index bc04dcc..e4aa2f3 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.genmodel
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.genmodel
@@ -40,6 +40,7 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ETPhys.ecore#//NodeClass/priomin"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ETPhys.ecore#//NodeClass/priomax"/>
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference ETPhys.ecore#//NodeClass/threads"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ETPhys.ecore#//NodeClass/re"/>
     </genClasses>
     <genClasses ecoreClass="ETPhys.ecore#//PhysicalThread">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ETPhys.ecore#//PhysicalThread/default"/>
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.xtextbin b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.xtextbin
index 9bc8c3c..f7b39cb 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.xtextbin
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/ETPhys.xtextbin
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/NodeClass.java b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/NodeClass.java
index 0bea8de..1ca9393 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/NodeClass.java
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/NodeClass.java
@@ -123,12 +123,12 @@
    * 
    * <!-- end-model-doc -->
    * @return the value of the '<em>Priomin</em>' attribute.
-   * @see #setPriomin(int)
+   * @see #setPriomin(long)
    * @see org.eclipse.etrice.core.etphys.eTPhys.ETPhysPackage#getNodeClass_Priomin()
    * @model
    * @generated
    */
-  int getPriomin();
+  long getPriomin();
 
   /**
    * Sets the value of the '{@link org.eclipse.etrice.core.etphys.eTPhys.NodeClass#getPriomin <em>Priomin</em>}' attribute.
@@ -138,7 +138,7 @@
    * @see #getPriomin()
    * @generated
    */
-  void setPriomin(int value);
+  void setPriomin(long value);
 
   /**
    * Returns the value of the '<em><b>Priomax</b></em>' attribute.
@@ -149,12 +149,12 @@
    * 
    * <!-- end-model-doc -->
    * @return the value of the '<em>Priomax</em>' attribute.
-   * @see #setPriomax(int)
+   * @see #setPriomax(long)
    * @see org.eclipse.etrice.core.etphys.eTPhys.ETPhysPackage#getNodeClass_Priomax()
    * @model
    * @generated
    */
-  int getPriomax();
+  long getPriomax();
 
   /**
    * Sets the value of the '{@link org.eclipse.etrice.core.etphys.eTPhys.NodeClass#getPriomax <em>Priomax</em>}' attribute.
@@ -164,7 +164,7 @@
    * @see #getPriomax()
    * @generated
    */
-  void setPriomax(int value);
+  void setPriomax(long value);
 
   /**
    * Returns the value of the '<em><b>Threads</b></em>' containment reference list.
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/PhysicalThread.java b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/PhysicalThread.java
index a39a3ff..a8fd227 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/PhysicalThread.java
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/PhysicalThread.java
@@ -150,12 +150,12 @@
    * 
    * <!-- end-model-doc -->
    * @return the value of the '<em>Prio</em>' attribute.
-   * @see #setPrio(int)
+   * @see #setPrio(long)
    * @see org.eclipse.etrice.core.etphys.eTPhys.ETPhysPackage#getPhysicalThread_Prio()
    * @model
    * @generated
    */
-  int getPrio();
+  long getPrio();
 
   /**
    * Sets the value of the '{@link org.eclipse.etrice.core.etphys.eTPhys.PhysicalThread#getPrio <em>Prio</em>}' attribute.
@@ -165,7 +165,7 @@
    * @see #getPrio()
    * @generated
    */
-  void setPrio(int value);
+  void setPrio(long value);
 
   /**
    * Returns the value of the '<em><b>Stacksize</b></em>' attribute.
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/ETPhysPackageImpl.java b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/ETPhysPackageImpl.java
index 8f0d9d2..ab9f55e 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/ETPhysPackageImpl.java
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/ETPhysPackageImpl.java
@@ -643,8 +643,8 @@
     initEAttribute(getNodeClass_Name(), ecorePackage.getEString(), "name", null, 0, 1, NodeClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getNodeClass_Docu(), theBasePackage.getDocumentation(), null, "docu", null, 0, 1, NodeClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getNodeClass_Runtime(), this.getRuntimeClass(), null, "runtime", null, 0, 1, NodeClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getNodeClass_Priomin(), ecorePackage.getEInt(), "priomin", null, 0, 1, NodeClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getNodeClass_Priomax(), ecorePackage.getEInt(), "priomax", null, 0, 1, NodeClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getNodeClass_Priomin(), ecorePackage.getELong(), "priomin", null, 0, 1, NodeClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getNodeClass_Priomax(), ecorePackage.getELong(), "priomax", null, 0, 1, NodeClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEReference(getNodeClass_Threads(), this.getPhysicalThread(), null, "threads", null, 0, -1, NodeClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
     initEClass(physicalThreadEClass, PhysicalThread.class, "PhysicalThread", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -652,7 +652,7 @@
     initEAttribute(getPhysicalThread_Name(), ecorePackage.getEString(), "name", null, 0, 1, PhysicalThread.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getPhysicalThread_Execmode(), this.getExecMode(), "execmode", null, 0, 1, PhysicalThread.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getPhysicalThread_Time(), ecorePackage.getELong(), "time", null, 0, 1, PhysicalThread.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getPhysicalThread_Prio(), ecorePackage.getEInt(), "prio", null, 0, 1, PhysicalThread.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getPhysicalThread_Prio(), ecorePackage.getELong(), "prio", null, 0, 1, PhysicalThread.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getPhysicalThread_Stacksize(), ecorePackage.getEInt(), "stacksize", null, 0, 1, PhysicalThread.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getPhysicalThread_Msgblocksize(), ecorePackage.getEInt(), "msgblocksize", null, 0, 1, PhysicalThread.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
     initEAttribute(getPhysicalThread_Msgpoolsize(), ecorePackage.getEInt(), "msgpoolsize", null, 0, 1, PhysicalThread.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/NodeClassImpl.java b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/NodeClassImpl.java
index ea6ee3c..bfb5579 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/NodeClassImpl.java
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/NodeClassImpl.java
@@ -93,7 +93,7 @@
    * @generated
    * @ordered
    */
-  protected static final int PRIOMIN_EDEFAULT = 0;
+  protected static final long PRIOMIN_EDEFAULT = 0L;
 
   /**
    * The cached value of the '{@link #getPriomin() <em>Priomin</em>}' attribute.
@@ -103,7 +103,7 @@
    * @generated
    * @ordered
    */
-  protected int priomin = PRIOMIN_EDEFAULT;
+  protected long priomin = PRIOMIN_EDEFAULT;
 
   /**
    * The default value of the '{@link #getPriomax() <em>Priomax</em>}' attribute.
@@ -113,7 +113,7 @@
    * @generated
    * @ordered
    */
-  protected static final int PRIOMAX_EDEFAULT = 0;
+  protected static final long PRIOMAX_EDEFAULT = 0L;
 
   /**
    * The cached value of the '{@link #getPriomax() <em>Priomax</em>}' attribute.
@@ -123,7 +123,7 @@
    * @generated
    * @ordered
    */
-  protected int priomax = PRIOMAX_EDEFAULT;
+  protected long priomax = PRIOMAX_EDEFAULT;
 
   /**
    * The cached value of the '{@link #getThreads() <em>Threads</em>}' containment reference list.
@@ -275,7 +275,7 @@
    * <!-- end-user-doc -->
    * @generated
    */
-  public int getPriomin()
+  public long getPriomin()
   {
     return priomin;
   }
@@ -285,9 +285,9 @@
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setPriomin(int newPriomin)
+  public void setPriomin(long newPriomin)
   {
-    int oldPriomin = priomin;
+    long oldPriomin = priomin;
     priomin = newPriomin;
     if (eNotificationRequired())
       eNotify(new ENotificationImpl(this, Notification.SET, ETPhysPackage.NODE_CLASS__PRIOMIN, oldPriomin, priomin));
@@ -298,7 +298,7 @@
    * <!-- end-user-doc -->
    * @generated
    */
-  public int getPriomax()
+  public long getPriomax()
   {
     return priomax;
   }
@@ -308,9 +308,9 @@
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setPriomax(int newPriomax)
+  public void setPriomax(long newPriomax)
   {
-    int oldPriomax = priomax;
+    long oldPriomax = priomax;
     priomax = newPriomax;
     if (eNotificationRequired())
       eNotify(new ENotificationImpl(this, Notification.SET, ETPhysPackage.NODE_CLASS__PRIOMAX, oldPriomax, priomax));
@@ -396,10 +396,10 @@
         setRuntime((RuntimeClass)newValue);
         return;
       case ETPhysPackage.NODE_CLASS__PRIOMIN:
-        setPriomin((Integer)newValue);
+        setPriomin((Long)newValue);
         return;
       case ETPhysPackage.NODE_CLASS__PRIOMAX:
-        setPriomax((Integer)newValue);
+        setPriomax((Long)newValue);
         return;
       case ETPhysPackage.NODE_CLASS__THREADS:
         getThreads().clear();
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/PhysicalThreadImpl.java b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/PhysicalThreadImpl.java
index 410dd10..5eb5554 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/PhysicalThreadImpl.java
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/eTPhys/impl/PhysicalThreadImpl.java
@@ -123,7 +123,7 @@
    * @generated
    * @ordered
    */
-  protected static final int PRIO_EDEFAULT = 0;
+  protected static final long PRIO_EDEFAULT = 0L;
 
   /**
    * The cached value of the '{@link #getPrio() <em>Prio</em>}' attribute.
@@ -133,7 +133,7 @@
    * @generated
    * @ordered
    */
-  protected int prio = PRIO_EDEFAULT;
+  protected long prio = PRIO_EDEFAULT;
 
   /**
    * The default value of the '{@link #getStacksize() <em>Stacksize</em>}' attribute.
@@ -313,7 +313,7 @@
    * <!-- end-user-doc -->
    * @generated
    */
-  public int getPrio()
+  public long getPrio()
   {
     return prio;
   }
@@ -323,9 +323,9 @@
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setPrio(int newPrio)
+  public void setPrio(long newPrio)
   {
-    int oldPrio = prio;
+    long oldPrio = prio;
     prio = newPrio;
     if (eNotificationRequired())
       eNotify(new ENotificationImpl(this, Notification.SET, ETPhysPackage.PHYSICAL_THREAD__PRIO, oldPrio, prio));
@@ -453,7 +453,7 @@
         setTime((Long)newValue);
         return;
       case ETPhysPackage.PHYSICAL_THREAD__PRIO:
-        setPrio((Integer)newValue);
+        setPrio((Long)newValue);
         return;
       case ETPhysPackage.PHYSICAL_THREAD__STACKSIZE:
         setStacksize((Integer)newValue);
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g
index 7d1994a..ecbf09c 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g
@@ -474,9 +474,9 @@
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getNodeClassAccess().getPriominPRIOParserRuleCall_4_1_2_0()); 
+	        newCompositeNode(grammarAccess.getNodeClassAccess().getPriominIntegerParserRuleCall_4_1_2_0()); 
 	    }
-		lv_priomin_10_0=rulePRIO		{
+		lv_priomin_10_0=ruleInteger		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getNodeClassRule());
 	        }
@@ -484,7 +484,7 @@
        			$current, 
        			"priomin",
         		lv_priomin_10_0, 
-        		"PRIO");
+        		"Integer");
 	        afterParserOrEnumRuleCall();
 	    }
 
@@ -512,9 +512,9 @@
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getNodeClassAccess().getPriomaxPRIOParserRuleCall_4_2_2_0()); 
+	        newCompositeNode(grammarAccess.getNodeClassAccess().getPriomaxIntegerParserRuleCall_4_2_2_0()); 
 	    }
-		lv_priomax_13_0=rulePRIO		{
+		lv_priomax_13_0=ruleInteger		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getNodeClassRule());
 	        }
@@ -522,7 +522,7 @@
        			$current, 
        			"priomax",
         		lv_priomax_13_0, 
-        		"PRIO");
+        		"Integer");
 	        afterParserOrEnumRuleCall();
 	    }
 
@@ -728,9 +728,9 @@
 (
 (
 		{ 
-	        newCompositeNode(grammarAccess.getPhysicalThreadAccess().getPrioPRIOParserRuleCall_3_2_2_0()); 
+	        newCompositeNode(grammarAccess.getPhysicalThreadAccess().getPrioIntegerParserRuleCall_3_2_2_0()); 
 	    }
-		lv_prio_13_0=rulePRIO		{
+		lv_prio_13_0=ruleInteger		{
 	        if ($current==null) {
 	            $current = createModelElementForParent(grammarAccess.getPhysicalThreadRule());
 	        }
@@ -738,7 +738,7 @@
        			$current, 
        			"prio",
         		lv_prio_13_0, 
-        		"PRIO");
+        		"Integer");
 	        afterParserOrEnumRuleCall();
 	    }
 
@@ -978,57 +978,6 @@
 
 
 
-// Entry rule entryRulePRIO
-entryRulePRIO returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getPRIORule()); } 
-	 iv_rulePRIO=rulePRIO 
-	 { $current=$iv_rulePRIO.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule PRIO
-rulePRIO returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getPRIOAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getPRIOAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?    this_INT_2=RULE_INT    {
-		$current.merge(this_INT_2);
-    }
-
-    { 
-    newLeafNode(this_INT_2, grammarAccess.getPRIOAccess().getINTTerminalRuleCall_1()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
 
 
 // Entry rule entryRuleKeyValue
@@ -1887,120 +1836,36 @@
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-    }
-    this_SignedInteger_0=ruleSignedInteger    {
-		$current.merge(this_SignedInteger_0);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-    }
-    this_Hexadecimal_1=ruleHexadecimal    {
-		$current.merge(this_Hexadecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getSignedIntegerRule()); } 
-	 iv_ruleSignedInteger=ruleSignedInteger 
-	 { $current=$iv_ruleSignedInteger.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
+(((
 	kw='+' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
     }
 
     |
 	kw='-' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
     }
 )?    this_INT_2=RULE_INT    {
 		$current.merge(this_INT_2);
     }
 
     { 
-    newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+    newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
     }
 )
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getHexadecimalRule()); } 
-	 iv_ruleHexadecimal=ruleHexadecimal 
-	 { $current=$iv_ruleHexadecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-    this_HEX_0=RULE_HEX    {
-		$current.merge(this_HEX_0);
+    |    this_HEX_3=RULE_HEX    {
+		$current.merge(this_HEX_3);
     }
 
     { 
-    newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
+    newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
     }
-
+)
     ;
-finally {
-	myHiddenTokenState.restore();
-}
 
 
 
@@ -2034,34 +1899,10 @@
 
     |
     { 
-        newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
     }
-    this_DotDecimal_1=ruleDotDecimal    {
-		$current.merge(this_DotDecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-    }
-    this_DecimalDot_2=ruleDecimalDot    {
-		$current.merge(this_DecimalDot_2);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-    }
-    this_DecimalExp_3=ruleDecimalExp    {
-		$current.merge(this_DecimalExp_3);
+    this_DecimalExp_1=ruleDecimalExp    {
+		$current.merge(this_DecimalExp_1);
     }
 
     { 
@@ -2138,120 +1979,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDotDecimalRule()); } 
-	 iv_ruleDotDecimal=ruleDotDecimal 
-	 { $current=$iv_ruleDotDecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-    }
-    this_INT_3=RULE_INT    {
-		$current.merge(this_INT_3);
-    }
-
-    { 
-    newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDecimalDotRule()); } 
-	 iv_ruleDecimalDot=ruleDecimalDot 
-	 { $current=$iv_ruleDecimalDot.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?    this_INT_2=RULE_INT    {
-		$current.merge(this_INT_2);
-    }
-
-    { 
-    newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-    }
-
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp returns [String current=null] 
 	@init { 
@@ -2306,14 +2033,40 @@
     { 
     newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
     }
-    this_EXP_5=RULE_EXP    {
-		$current.merge(this_EXP_5);
+(
+	kw='e' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+    }
+
+    |
+	kw='E' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+    }
+)(
+	kw='+' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+    }
+
+    |
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+    }
+)?(( RULE_INT)=>    this_INT_9=RULE_INT    {
+		$current.merge(this_INT_9);
     }
 
     { 
-    newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+    newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
     }
-)
+))
     ;
 finally {
 	myHiddenTokenState.restore();
@@ -2439,8 +2192,6 @@
 
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.tokens b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.tokens
index 06d791a..96943a7 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.tokens
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.tokens
@@ -1,60 +1,62 @@
-'+'=34
-','=39
-'-'=35
-'.'=51
-'.*'=42
-':'=18
-'='=21
-'DefaultThread'=24
-'NodeClass'=19
-'NodeRef'=17
-'PhysicalModel'=13
-'PhysicalSystem'=16
-'RuntimeClass'=32
-'Thread'=25
-'['=43
-']'=44
-'attribute'=38
-'blocked'=53
-'execmode'=26
-'false'=49
-'from'=41
-'import'=40
-'interval'=27
-'mandatory'=37
-'mixed'=54
-'model'=33
-'ms'=46
-'msgblocksize'=30
-'msgpoolsize'=31
-'multiThreaded'=56
-'ns'=48
-'optional'=36
-'polled'=52
-'prio'=28
-'priomax'=23
-'priomin'=22
-'ptBoolean'=57
-'ptCharacter'=60
-'ptInteger'=58
-'ptReal'=59
-'runtime'=20
-'s'=45
-'singleThreaded'=55
-'stacksize'=29
-'true'=50
-'us'=47
-'{'=14
-'}'=15
-RULE_ANY_OTHER=12
-RULE_EXP=8
+'+'=48
+','=36
+'-'=49
+'.'=50
+'.*'=39
+':'=17
+'='=20
+'DefaultThread'=23
+'E'=52
+'NodeClass'=18
+'NodeRef'=16
+'PhysicalModel'=12
+'PhysicalSystem'=15
+'RuntimeClass'=31
+'Thread'=24
+'['=40
+']'=41
+'attribute'=35
+'blocked'=54
+'e'=51
+'execmode'=25
+'false'=46
+'from'=38
+'import'=37
+'interval'=26
+'mandatory'=34
+'mixed'=55
+'model'=32
+'ms'=43
+'msgblocksize'=29
+'msgpoolsize'=30
+'multiThreaded'=57
+'ns'=45
+'optional'=33
+'polled'=53
+'prio'=27
+'priomax'=22
+'priomin'=21
+'ptBoolean'=58
+'ptCharacter'=61
+'ptInteger'=59
+'ptReal'=60
+'runtime'=19
+'s'=42
+'singleThreaded'=56
+'stacksize'=28
+'true'=47
+'us'=44
+'{'=13
+'}'=14
+RULE_ANY_OTHER=11
 RULE_HEX=7
 RULE_ID=4
 RULE_INT=5
-RULE_ML_COMMENT=9
-RULE_SL_COMMENT=10
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
 RULE_STRING=6
-RULE_WS=11
+RULE_WS=10
+T__12=12
 T__13=13
 T__14=14
 T__15=15
@@ -103,3 +105,4 @@
 T__58=58
 T__59=59
 T__60=60
+T__61=61
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhysLexer.java b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhysLexer.java
index 9c48eb6..1736307 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhysLexer.java
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhysLexer.java
@@ -12,64 +12,65 @@
 
 @SuppressWarnings("all")
 public class InternalETPhysLexer extends Lexer {
-    public static final int RULE_EXP=8;
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int T__21=21;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__20=20;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=7;
-    public static final int T__58=58;
+    public static final int T__50=50;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__59=59;
     public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__15=15;
     public static final int T__53=53;
-    public static final int T__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=5;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
     public static final int RULE_STRING=6;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -84,10 +85,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:11:7: ( 'PhysicalModel' )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:11:9: 'PhysicalModel'
@@ -103,6 +104,26 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:12:7: ( '{' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:12:9: '{'
+            {
+            match('{'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -110,10 +131,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:12:7: ( '{' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:12:9: '{'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:13:7: ( '}' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:13:9: '}'
             {
-            match('{'); 
+            match('}'); 
 
             }
 
@@ -130,10 +151,11 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:13:7: ( '}' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:13:9: '}'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:14:7: ( 'PhysicalSystem' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:14:9: 'PhysicalSystem'
             {
-            match('}'); 
+            match("PhysicalSystem"); 
+
 
             }
 
@@ -150,10 +172,10 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:14:7: ( 'PhysicalSystem' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:14:9: 'PhysicalSystem'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:15:7: ( 'NodeRef' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:15:9: 'NodeRef'
             {
-            match("PhysicalSystem"); 
+            match("NodeRef"); 
 
 
             }
@@ -171,11 +193,10 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:15:7: ( 'NodeRef' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:15:9: 'NodeRef'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:16:7: ( ':' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:16:9: ':'
             {
-            match("NodeRef"); 
-
+            match(':'); 
 
             }
 
@@ -192,10 +213,11 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:16:7: ( ':' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:16:9: ':'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:17:7: ( 'NodeClass' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:17:9: 'NodeClass'
             {
-            match(':'); 
+            match("NodeClass"); 
+
 
             }
 
@@ -212,10 +234,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:17:7: ( 'NodeClass' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:17:9: 'NodeClass'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:18:7: ( 'runtime' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:18:9: 'runtime'
             {
-            match("NodeClass"); 
+            match("runtime"); 
 
 
             }
@@ -233,11 +255,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:18:7: ( 'runtime' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:18:9: 'runtime'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:19:7: ( '=' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:19:9: '='
             {
-            match("runtime"); 
-
+            match('='); 
 
             }
 
@@ -254,10 +275,11 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:19:7: ( '=' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:19:9: '='
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:20:7: ( 'priomin' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:20:9: 'priomin'
             {
-            match('='); 
+            match("priomin"); 
+
 
             }
 
@@ -274,10 +296,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:20:7: ( 'priomin' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:20:9: 'priomin'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:21:7: ( 'priomax' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:21:9: 'priomax'
             {
-            match("priomin"); 
+            match("priomax"); 
 
 
             }
@@ -295,10 +317,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:21:7: ( 'priomax' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:21:9: 'priomax'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:22:7: ( 'DefaultThread' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:22:9: 'DefaultThread'
             {
-            match("priomax"); 
+            match("DefaultThread"); 
 
 
             }
@@ -316,10 +338,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:22:7: ( 'DefaultThread' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:22:9: 'DefaultThread'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:23:7: ( 'Thread' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:23:9: 'Thread'
             {
-            match("DefaultThread"); 
+            match("Thread"); 
 
 
             }
@@ -337,10 +359,10 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:23:7: ( 'Thread' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:23:9: 'Thread'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:24:7: ( 'execmode' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:24:9: 'execmode'
             {
-            match("Thread"); 
+            match("execmode"); 
 
 
             }
@@ -358,10 +380,10 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:24:7: ( 'execmode' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:24:9: 'execmode'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:25:7: ( 'interval' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:25:9: 'interval'
             {
-            match("execmode"); 
+            match("interval"); 
 
 
             }
@@ -379,10 +401,10 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:25:7: ( 'interval' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:25:9: 'interval'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:26:7: ( 'prio' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:26:9: 'prio'
             {
-            match("interval"); 
+            match("prio"); 
 
 
             }
@@ -400,10 +422,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:26:7: ( 'prio' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:26:9: 'prio'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:27:7: ( 'stacksize' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:27:9: 'stacksize'
             {
-            match("prio"); 
+            match("stacksize"); 
 
 
             }
@@ -421,10 +443,10 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:27:7: ( 'stacksize' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:27:9: 'stacksize'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:28:7: ( 'msgblocksize' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:28:9: 'msgblocksize'
             {
-            match("stacksize"); 
+            match("msgblocksize"); 
 
 
             }
@@ -442,10 +464,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:28:7: ( 'msgblocksize' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:28:9: 'msgblocksize'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:29:7: ( 'msgpoolsize' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:29:9: 'msgpoolsize'
             {
-            match("msgblocksize"); 
+            match("msgpoolsize"); 
 
 
             }
@@ -463,10 +485,10 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:29:7: ( 'msgpoolsize' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:29:9: 'msgpoolsize'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:30:7: ( 'RuntimeClass' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:30:9: 'RuntimeClass'
             {
-            match("msgpoolsize"); 
+            match("RuntimeClass"); 
 
 
             }
@@ -484,10 +506,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:30:7: ( 'RuntimeClass' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:30:9: 'RuntimeClass'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:31:7: ( 'model' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:31:9: 'model'
             {
-            match("RuntimeClass"); 
+            match("model"); 
 
 
             }
@@ -505,10 +527,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:31:7: ( 'model' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:31:9: 'model'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:32:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:32:9: 'optional'
             {
-            match("model"); 
+            match("optional"); 
 
 
             }
@@ -526,10 +548,11 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:32:7: ( '+' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:32:9: '+'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:33:7: ( 'mandatory' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:33:9: 'mandatory'
             {
-            match('+'); 
+            match("mandatory"); 
+
 
             }
 
@@ -546,10 +569,11 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:33:7: ( '-' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:33:9: '-'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:34:7: ( 'attribute' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:34:9: 'attribute'
             {
-            match('-'); 
+            match("attribute"); 
+
 
             }
 
@@ -566,11 +590,10 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:34:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:34:9: 'optional'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:35:7: ( ',' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:35:9: ','
             {
-            match("optional"); 
-
+            match(','); 
 
             }
 
@@ -587,10 +610,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:35:7: ( 'mandatory' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:35:9: 'mandatory'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:36:7: ( 'import' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:36:9: 'import'
             {
-            match("mandatory"); 
+            match("import"); 
 
 
             }
@@ -608,10 +631,10 @@
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:36:7: ( 'attribute' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:36:9: 'attribute'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:37:7: ( 'from' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:37:9: 'from'
             {
-            match("attribute"); 
+            match("from"); 
 
 
             }
@@ -629,10 +652,11 @@
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:37:7: ( ',' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:37:9: ','
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:38:7: ( '.*' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:38:9: '.*'
             {
-            match(','); 
+            match(".*"); 
+
 
             }
 
@@ -649,11 +673,10 @@
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:38:7: ( 'import' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:38:9: 'import'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:39:7: ( '[' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:39:9: '['
             {
-            match("import"); 
-
+            match('['); 
 
             }
 
@@ -670,11 +693,10 @@
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:39:7: ( 'from' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:39:9: 'from'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:40:7: ( ']' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:40:9: ']'
             {
-            match("from"); 
-
+            match(']'); 
 
             }
 
@@ -691,11 +713,10 @@
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:40:7: ( '.*' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:40:9: '.*'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:41:7: ( 's' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:41:9: 's'
             {
-            match(".*"); 
-
+            match('s'); 
 
             }
 
@@ -712,10 +733,11 @@
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:41:7: ( '[' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:41:9: '['
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:42:7: ( 'ms' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:42:9: 'ms'
             {
-            match('['); 
+            match("ms"); 
+
 
             }
 
@@ -732,10 +754,11 @@
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:42:7: ( ']' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:42:9: ']'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:43:7: ( 'us' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:43:9: 'us'
             {
-            match(']'); 
+            match("us"); 
+
 
             }
 
@@ -752,10 +775,11 @@
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:43:7: ( 's' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:43:9: 's'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:44:7: ( 'ns' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:44:9: 'ns'
             {
-            match('s'); 
+            match("ns"); 
+
 
             }
 
@@ -772,10 +796,10 @@
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:44:7: ( 'ms' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:44:9: 'ms'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:45:7: ( 'false' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:45:9: 'false'
             {
-            match("ms"); 
+            match("false"); 
 
 
             }
@@ -793,10 +817,10 @@
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:45:7: ( 'us' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:45:9: 'us'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:46:7: ( 'true' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:46:9: 'true'
             {
-            match("us"); 
+            match("true"); 
 
 
             }
@@ -814,11 +838,10 @@
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:46:7: ( 'ns' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:46:9: 'ns'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:47:7: ( '+' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:47:9: '+'
             {
-            match("ns"); 
-
+            match('+'); 
 
             }
 
@@ -835,11 +858,10 @@
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:47:7: ( 'false' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:47:9: 'false'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:48:7: ( '-' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:48:9: '-'
             {
-            match("false"); 
-
+            match('-'); 
 
             }
 
@@ -856,11 +878,10 @@
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:48:7: ( 'true' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:48:9: 'true'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:49:7: ( '.' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:49:9: '.'
             {
-            match("true"); 
-
+            match('.'); 
 
             }
 
@@ -877,10 +898,10 @@
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:49:7: ( '.' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:49:9: '.'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:50:7: ( 'e' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:50:9: 'e'
             {
-            match('.'); 
+            match('e'); 
 
             }
 
@@ -897,11 +918,10 @@
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:50:7: ( 'polled' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:50:9: 'polled'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:51:7: ( 'E' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:51:9: 'E'
             {
-            match("polled"); 
-
+            match('E'); 
 
             }
 
@@ -918,10 +938,10 @@
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:51:7: ( 'blocked' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:51:9: 'blocked'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:52:7: ( 'polled' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:52:9: 'polled'
             {
-            match("blocked"); 
+            match("polled"); 
 
 
             }
@@ -939,10 +959,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:52:7: ( 'mixed' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:52:9: 'mixed'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:53:7: ( 'blocked' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:53:9: 'blocked'
             {
-            match("mixed"); 
+            match("blocked"); 
 
 
             }
@@ -960,10 +980,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:53:7: ( 'singleThreaded' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:53:9: 'singleThreaded'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:54:7: ( 'mixed' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:54:9: 'mixed'
             {
-            match("singleThreaded"); 
+            match("mixed"); 
 
 
             }
@@ -981,10 +1001,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:54:7: ( 'multiThreaded' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:54:9: 'multiThreaded'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:55:7: ( 'singleThreaded' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:55:9: 'singleThreaded'
             {
-            match("multiThreaded"); 
+            match("singleThreaded"); 
 
 
             }
@@ -1002,10 +1022,10 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:55:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:55:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:56:7: ( 'multiThreaded' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:56:9: 'multiThreaded'
             {
-            match("ptBoolean"); 
+            match("multiThreaded"); 
 
 
             }
@@ -1023,10 +1043,10 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:56:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:56:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:57:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:57:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -1044,10 +1064,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:57:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:57:9: 'ptReal'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:58:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:58:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -1065,10 +1085,10 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:58:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:58:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:59:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:59:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -1081,42 +1101,74 @@
     }
     // $ANTLR end "T__60"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__61"
+    public final void mT__61() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2442:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2442:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:60:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:60:9: 'ptCharacter'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("ptCharacter"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2442:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__61"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2195:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2195:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2195:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2195:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2195:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -1124,23 +1176,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2442:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2195:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2442:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -1163,109 +1223,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2444:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2444:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2444:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2444:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2444:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2444:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -1273,19 +1230,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2446:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2446:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2197:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2197:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2446:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2197:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2446:11: '^'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2197:11: '^'
                     {
                     match('^'); 
 
@@ -1303,18 +1260,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2446:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2197:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:
             	    {
@@ -1332,7 +1289,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -1352,24 +1309,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2448:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2448:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2199:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2199:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2448:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2199:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2448:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2199:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -1377,12 +1334,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -1401,47 +1358,47 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2450:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2450:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2201:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2201:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2450:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2201:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2450:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2201:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2450:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2201:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2450:21: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2201:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1449,7 +1406,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2450:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2201:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1465,7 +1422,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -1474,26 +1431,26 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2450:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2201:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2450:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2201:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2450:54: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2201:54: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -1501,7 +1458,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2450:61: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2201:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1517,7 +1474,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -1544,37 +1501,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2452:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2452:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2203:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2203:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2452:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2203:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2452:52: .
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2203:52: .
             	    {
             	    matchAny(); 
 
@@ -1582,7 +1539,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -1604,25 +1561,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2454:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2454:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2205:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2205:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2454:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2205:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2454:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2205: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();
@@ -1638,31 +1595,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2454:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2205:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2454:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2205:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2454:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2205:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2454:41: '\\r'
+                            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2205:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1694,22 +1651,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2456:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2456:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2207:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2207:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2456:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2207:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:
             	    {
@@ -1727,12 +1684,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -1751,8 +1708,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2458:16: ( . )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2458:18: .
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2209:16: ( . )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2209:18: .
             {
             matchAny(); 
 
@@ -1767,404 +1724,411 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:8: ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=57;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:8: ( 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 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=58;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:10: T__13
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:148: T__36
+            case 25 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:154: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:154: T__37
+            case 26 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:160: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:160: T__38
+            case 27 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:166: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:166: T__39
+            case 28 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:172: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:172: T__40
+            case 29 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:178: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:178: T__41
+            case 30 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:184: T__41
                 {
                 mT__41(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:184: T__42
+            case 31 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:190: T__42
                 {
                 mT__42(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:190: T__43
+            case 32 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:196: T__43
                 {
                 mT__43(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:196: T__44
+            case 33 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:202: T__44
                 {
                 mT__44(); 
 
                 }
                 break;
-            case 33 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:202: T__45
+            case 34 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:208: T__45
                 {
                 mT__45(); 
 
                 }
                 break;
-            case 34 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:208: T__46
+            case 35 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:214: T__46
                 {
                 mT__46(); 
 
                 }
                 break;
-            case 35 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:214: T__47
+            case 36 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:220: T__47
                 {
                 mT__47(); 
 
                 }
                 break;
-            case 36 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:220: T__48
+            case 37 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:226: T__48
                 {
                 mT__48(); 
 
                 }
                 break;
-            case 37 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:226: T__49
+            case 38 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:232: T__49
                 {
                 mT__49(); 
 
                 }
                 break;
-            case 38 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:232: T__50
+            case 39 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:238: T__50
                 {
                 mT__50(); 
 
                 }
                 break;
-            case 39 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:238: T__51
+            case 40 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:244: T__51
                 {
                 mT__51(); 
 
                 }
                 break;
-            case 40 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:244: T__52
+            case 41 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:250: T__52
                 {
                 mT__52(); 
 
                 }
                 break;
-            case 41 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:250: T__53
+            case 42 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:256: T__53
                 {
                 mT__53(); 
 
                 }
                 break;
-            case 42 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:256: T__54
+            case 43 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:262: T__54
                 {
                 mT__54(); 
 
                 }
                 break;
-            case 43 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:262: T__55
+            case 44 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:268: T__55
                 {
                 mT__55(); 
 
                 }
                 break;
-            case 44 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:268: T__56
+            case 45 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:274: T__56
                 {
                 mT__56(); 
 
                 }
                 break;
-            case 45 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:274: T__57
+            case 46 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:280: T__57
                 {
                 mT__57(); 
 
                 }
                 break;
-            case 46 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:280: T__58
+            case 47 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:286: T__58
                 {
                 mT__58(); 
 
                 }
                 break;
-            case 47 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:286: T__59
+            case 48 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:292: T__59
                 {
                 mT__59(); 
 
                 }
                 break;
-            case 48 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:292: T__60
+            case 49 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:298: T__60
                 {
                 mT__60(); 
 
                 }
                 break;
-            case 49 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:298: RULE_EXP
+            case 50 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:304: T__61
                 {
-                mRULE_EXP(); 
+                mT__61(); 
 
                 }
                 break;
-            case 50 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:307: RULE_HEX
+            case 51 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:310: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 51 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:316: RULE_ID
+            case 52 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:319: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 52 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:324: RULE_INT
+            case 53 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:327: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 53 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:333: RULE_STRING
+            case 54 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:336: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 54 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:345: RULE_ML_COMMENT
+            case 55 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:348: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 55 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:361: RULE_SL_COMMENT
+            case 56 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:364: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 56 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:377: RULE_WS
+            case 57 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:380: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 57 :
-                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:385: RULE_ANY_OTHER
+            case 58 :
+                // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1:388: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -2176,101 +2140,102 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\1\uffff\1\50\2\uffff\1\50\1\uffff\1\50\1\uffff\5\50\1\73\2\50"+
-        "\2\uffff\2\50\1\uffff\1\50\1\112\2\uffff\5\50\1\122\1\46\2\uffff"+
-        "\3\46\2\uffff\1\50\3\uffff\1\50\1\uffff\1\50\1\uffff\6\50\1\66\1"+
-        "\uffff\4\50\1\uffff\1\150\5\50\2\uffff\2\50\1\uffff\2\50\4\uffff"+
-        "\1\162\1\163\2\50\6\uffff\21\50\1\uffff\11\50\2\uffff\5\50\1\u0098"+
-        "\25\50\1\u00ae\1\50\1\u00b0\6\50\1\uffff\16\50\1\u00c6\1\50\1\u00c8"+
-        "\4\50\1\uffff\1\u00cd\1\uffff\7\50\1\u00d5\2\50\1\u00d8\2\50\1\u00db"+
-        "\2\50\1\u00de\4\50\1\uffff\1\50\1\uffff\4\50\1\uffff\2\50\1\u00ea"+
-        "\1\50\1\u00ec\1\u00ed\1\u00ee\1\uffff\2\50\1\uffff\2\50\1\uffff"+
-        "\2\50\1\uffff\11\50\1\u00fe\1\50\1\uffff\1\50\3\uffff\4\50\1\u0106"+
-        "\1\u0107\7\50\1\u010f\1\50\1\uffff\2\50\1\u0113\1\u0114\1\u0115"+
-        "\2\50\2\uffff\1\u0118\3\50\1\u011c\2\50\1\uffff\1\u011f\2\50\3\uffff"+
-        "\2\50\1\uffff\3\50\1\uffff\2\50\1\uffff\2\50\1\u012b\3\50\1\u012f"+
-        "\4\50\1\uffff\2\50\1\u0136\1\uffff\1\50\1\u0138\1\u0139\1\50\1\u013b"+
-        "\1\50\1\uffff\1\u013d\2\uffff\1\u013e\1\uffff\1\u013f\3\uffff";
-    static final String DFA16_eofS =
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\1\uffff\1\50\2\uffff\1\50\1\uffff\1\50\1\uffff\3\50\1\65\1\50"+
+        "\1\72\4\50\1\uffff\1\50\1\107\2\uffff\3\50\2\uffff\1\117\1\50\1"+
+        "\122\1\46\2\uffff\3\46\2\uffff\1\50\3\uffff\1\50\1\uffff\1\50\1"+
+        "\uffff\6\50\1\uffff\4\50\1\uffff\1\150\7\50\1\uffff\2\50\4\uffff"+
+        "\1\162\1\163\1\50\3\uffff\1\50\6\uffff\21\50\1\uffff\11\50\2\uffff"+
+        "\5\50\1\u0098\25\50\1\u00ae\1\50\1\u00b0\6\50\1\uffff\16\50\1\u00c6"+
+        "\1\50\1\u00c8\4\50\1\uffff\1\u00cd\1\uffff\7\50\1\u00d5\2\50\1\u00d8"+
+        "\2\50\1\u00db\2\50\1\u00de\4\50\1\uffff\1\50\1\uffff\4\50\1\uffff"+
+        "\2\50\1\u00ea\1\50\1\u00ec\1\u00ed\1\u00ee\1\uffff\2\50\1\uffff"+
+        "\2\50\1\uffff\2\50\1\uffff\11\50\1\u00fe\1\50\1\uffff\1\50\3\uffff"+
+        "\4\50\1\u0106\1\u0107\7\50\1\u010f\1\50\1\uffff\2\50\1\u0113\1\u0114"+
+        "\1\u0115\2\50\2\uffff\1\u0118\3\50\1\u011c\2\50\1\uffff\1\u011f"+
+        "\2\50\3\uffff\2\50\1\uffff\3\50\1\uffff\2\50\1\uffff\2\50\1\u012b"+
+        "\3\50\1\u012f\4\50\1\uffff\2\50\1\u0136\1\uffff\1\50\1\u0138\1\u0139"+
+        "\1\50\1\u013b\1\50\1\uffff\1\u013d\2\uffff\1\u013e\1\uffff\1\u013f"+
+        "\3\uffff";
+    static final String DFA14_eofS =
         "\u0140\uffff";
-    static final String DFA16_minS =
+    static final String DFA14_minS =
         "\1\0\1\150\2\uffff\1\157\1\uffff\1\165\1\uffff\1\157\1\145\1\150"+
-        "\1\53\1\155\1\60\1\141\1\165\2\uffff\1\160\1\164\1\uffff\1\141\1"+
-        "\52\2\uffff\2\163\1\162\1\154\1\53\1\130\1\101\2\uffff\2\0\1\52"+
-        "\2\uffff\1\171\3\uffff\1\144\1\uffff\1\156\1\uffff\1\151\1\154\1"+
-        "\102\1\146\1\162\1\145\1\60\1\uffff\1\164\1\160\1\141\1\156\1\uffff"+
-        "\1\60\1\144\1\156\1\170\1\154\1\156\2\uffff\2\164\1\uffff\1\157"+
-        "\1\154\4\uffff\2\60\1\165\1\157\6\uffff\1\163\1\145\1\164\1\157"+
-        "\1\154\1\157\1\156\1\145\1\150\1\141\1\145\1\143\1\145\1\157\1\143"+
-        "\1\147\1\142\1\uffff\1\145\1\144\1\145\2\164\1\151\1\162\1\155\1"+
-        "\163\2\uffff\1\145\1\143\1\151\1\103\1\151\1\60\1\145\1\157\1\164"+
-        "\2\141\1\165\1\141\1\155\2\162\1\153\2\154\1\157\1\154\1\141\1\144"+
-        "\2\151\1\157\1\151\1\60\1\145\1\60\1\153\1\143\1\145\1\154\1\155"+
-        "\1\141\1\uffff\1\144\1\154\1\145\1\154\1\162\1\154\1\144\1\157\1"+
-        "\166\1\164\1\163\1\145\2\157\1\60\1\164\1\60\1\124\1\155\1\156\1"+
-        "\142\1\uffff\1\60\1\uffff\1\145\1\141\1\146\1\141\1\145\1\156\1"+
-        "\170\1\60\1\145\1\147\1\60\1\141\1\164\1\60\1\144\1\141\1\60\1\151"+
-        "\1\124\1\143\1\154\1\uffff\1\157\1\uffff\1\150\1\145\1\141\1\165"+
-        "\1\uffff\1\144\1\154\1\60\1\163\3\60\1\uffff\1\141\1\145\1\uffff"+
-        "\1\143\1\124\1\uffff\1\145\1\154\1\uffff\1\172\1\150\1\153\1\163"+
-        "\2\162\1\103\1\154\1\164\1\60\1\115\1\uffff\1\163\3\uffff\1\156"+
-        "\1\162\1\164\1\150\2\60\1\145\1\162\1\163\1\151\1\171\1\145\1\154"+
-        "\1\60\1\145\1\uffff\1\157\1\171\3\60\1\145\1\162\2\uffff\1\60\1"+
-        "\145\1\151\1\172\1\60\2\141\1\uffff\1\60\1\144\1\163\3\uffff\1\162"+
-        "\1\145\1\uffff\1\141\1\172\1\145\1\uffff\1\144\1\163\1\uffff\1\145"+
-        "\1\164\1\60\1\141\1\144\1\145\1\60\1\145\1\163\1\154\1\145\1\uffff"+
-        "\1\144\1\145\1\60\1\uffff\1\144\2\60\1\155\1\60\1\144\1\uffff\1"+
-        "\60\2\uffff\1\60\1\uffff\1\60\3\uffff";
-    static final String DFA16_maxS =
+        "\1\60\1\155\1\60\1\141\1\165\1\160\1\164\1\uffff\1\141\1\52\2\uffff"+
+        "\2\163\1\162\2\uffff\1\60\1\154\1\130\1\101\2\uffff\2\0\1\52\2\uffff"+
+        "\1\171\3\uffff\1\144\1\uffff\1\156\1\uffff\1\151\1\154\1\102\1\146"+
+        "\1\162\1\145\1\uffff\1\164\1\160\1\141\1\156\1\uffff\1\60\1\144"+
+        "\1\156\1\170\1\154\1\156\2\164\1\uffff\1\157\1\154\4\uffff\2\60"+
+        "\1\165\3\uffff\1\157\6\uffff\1\163\1\145\1\164\1\157\1\154\1\157"+
+        "\1\156\1\145\1\150\1\141\1\145\1\143\1\145\1\157\1\143\1\147\1\142"+
+        "\1\uffff\1\145\1\144\1\145\2\164\1\151\1\162\1\155\1\163\2\uffff"+
+        "\1\145\1\143\1\151\1\103\1\151\1\60\1\145\1\157\1\164\2\141\1\165"+
+        "\1\141\1\155\2\162\1\153\2\154\1\157\1\154\1\141\1\144\2\151\1\157"+
+        "\1\151\1\60\1\145\1\60\1\153\1\143\1\145\1\154\1\155\1\141\1\uffff"+
+        "\1\144\1\154\1\145\1\154\1\162\1\154\1\144\1\157\1\166\1\164\1\163"+
+        "\1\145\2\157\1\60\1\164\1\60\1\124\1\155\1\156\1\142\1\uffff\1\60"+
+        "\1\uffff\1\145\1\141\1\146\1\141\1\145\1\156\1\170\1\60\1\145\1"+
+        "\147\1\60\1\141\1\164\1\60\1\144\1\141\1\60\1\151\1\124\1\143\1"+
+        "\154\1\uffff\1\157\1\uffff\1\150\1\145\1\141\1\165\1\uffff\1\144"+
+        "\1\154\1\60\1\163\3\60\1\uffff\1\141\1\145\1\uffff\1\143\1\124\1"+
+        "\uffff\1\145\1\154\1\uffff\1\172\1\150\1\153\1\163\2\162\1\103\1"+
+        "\154\1\164\1\60\1\115\1\uffff\1\163\3\uffff\1\156\1\162\1\164\1"+
+        "\150\2\60\1\145\1\162\1\163\1\151\1\171\1\145\1\154\1\60\1\145\1"+
+        "\uffff\1\157\1\171\3\60\1\145\1\162\2\uffff\1\60\1\145\1\151\1\172"+
+        "\1\60\2\141\1\uffff\1\60\1\144\1\163\3\uffff\1\162\1\145\1\uffff"+
+        "\1\141\1\172\1\145\1\uffff\1\144\1\163\1\uffff\1\145\1\164\1\60"+
+        "\1\141\1\144\1\145\1\60\1\145\1\163\1\154\1\145\1\uffff\1\144\1"+
+        "\145\1\60\1\uffff\1\144\2\60\1\155\1\60\1\144\1\uffff\1\60\2\uffff"+
+        "\1\60\1\uffff\1\60\3\uffff";
+    static final String DFA14_maxS =
         "\1\uffff\1\150\2\uffff\1\157\1\uffff\1\165\1\uffff\1\164\1\145"+
-        "\1\150\1\170\1\156\1\172\2\165\2\uffff\1\160\1\164\1\uffff\1\162"+
-        "\1\52\2\uffff\2\163\1\162\1\154\1\71\1\170\1\172\2\uffff\2\uffff"+
+        "\1\150\1\172\1\156\1\172\2\165\1\160\1\164\1\uffff\1\162\1\52\2"+
+        "\uffff\2\163\1\162\2\uffff\1\172\1\154\1\170\1\172\2\uffff\2\uffff"+
         "\1\57\2\uffff\1\171\3\uffff\1\144\1\uffff\1\156\1\uffff\1\151\1"+
-        "\154\1\122\1\146\1\162\1\145\1\172\1\uffff\1\164\1\160\1\141\1\156"+
-        "\1\uffff\1\172\1\144\1\156\1\170\1\154\1\156\2\uffff\2\164\1\uffff"+
-        "\1\157\1\154\4\uffff\2\172\1\165\1\157\6\uffff\1\163\1\145\1\164"+
-        "\1\157\1\154\1\157\1\156\1\145\1\150\1\141\1\145\1\143\1\145\1\157"+
-        "\1\143\1\147\1\160\1\uffff\1\145\1\144\1\145\2\164\1\151\1\162\1"+
-        "\155\1\163\2\uffff\1\145\1\143\1\151\1\122\1\151\1\172\1\145\1\157"+
-        "\1\164\2\141\1\165\1\141\1\155\2\162\1\153\2\154\1\157\1\154\1\141"+
-        "\1\144\2\151\1\157\1\151\1\172\1\145\1\172\1\153\1\143\1\145\1\154"+
-        "\1\155\1\151\1\uffff\1\144\1\154\1\145\1\154\1\162\1\154\1\144\1"+
-        "\157\1\166\1\164\1\163\1\145\2\157\1\172\1\164\1\172\1\124\1\155"+
-        "\1\156\1\142\1\uffff\1\172\1\uffff\1\145\1\141\1\146\1\141\1\145"+
-        "\1\156\1\170\1\172\1\145\1\147\1\172\1\141\1\164\1\172\1\144\1\141"+
-        "\1\172\1\151\1\124\1\143\1\154\1\uffff\1\157\1\uffff\1\150\1\145"+
-        "\1\141\1\165\1\uffff\1\144\1\154\1\172\1\163\3\172\1\uffff\1\141"+
-        "\1\145\1\uffff\1\143\1\124\1\uffff\1\145\1\154\1\uffff\1\172\1\150"+
-        "\1\153\1\163\2\162\1\103\1\154\1\164\1\172\1\123\1\uffff\1\163\3"+
-        "\uffff\1\156\1\162\1\164\1\150\2\172\1\145\1\162\1\163\1\151\1\171"+
-        "\1\145\1\154\1\172\1\145\1\uffff\1\157\1\171\3\172\1\145\1\162\2"+
-        "\uffff\1\172\1\145\1\151\2\172\2\141\1\uffff\1\172\1\144\1\163\3"+
-        "\uffff\1\162\1\145\1\uffff\1\141\1\172\1\145\1\uffff\1\144\1\163"+
-        "\1\uffff\1\145\1\164\1\172\1\141\1\144\1\145\1\172\1\145\1\163\1"+
-        "\154\1\145\1\uffff\1\144\1\145\1\172\1\uffff\1\144\2\172\1\155\1"+
-        "\172\1\144\1\uffff\1\172\2\uffff\1\172\1\uffff\1\172\3\uffff";
-    static final String DFA16_acceptS =
-        "\2\uffff\1\2\1\3\1\uffff\1\6\1\uffff\1\11\10\uffff\1\26\1\27\2"+
-        "\uffff\1\33\2\uffff\1\37\1\40\7\uffff\1\63\1\64\3\uffff\1\70\1\71"+
-        "\1\uffff\1\63\1\2\1\3\1\uffff\1\6\1\uffff\1\11\7\uffff\1\61\4\uffff"+
-        "\1\41\6\uffff\1\26\1\27\2\uffff\1\33\2\uffff\1\36\1\47\1\37\1\40"+
-        "\4\uffff\1\62\1\64\1\65\1\66\1\67\1\70\21\uffff\1\42\11\uffff\1"+
-        "\43\1\44\44\uffff\1\20\25\uffff\1\35\1\uffff\1\46\25\uffff\1\25"+
-        "\1\uffff\1\52\4\uffff\1\45\7\uffff\1\50\2\uffff\1\57\2\uffff\1\15"+
-        "\2\uffff\1\34\13\uffff\1\5\1\uffff\1\10\1\12\1\13\17\uffff\1\51"+
-        "\7\uffff\1\16\1\17\7\uffff\1\30\3\uffff\1\7\1\55\1\56\2\uffff\1"+
-        "\21\3\uffff\1\31\2\uffff\1\32\13\uffff\1\60\3\uffff\1\23\6\uffff"+
-        "\1\22\1\uffff\1\24\1\1\1\uffff\1\14\1\uffff\1\54\1\4\1\53";
-    static final String DFA16_specialS =
-        "\1\1\41\uffff\1\0\1\2\u011c\uffff}>";
-    static final String[] DFA16_transitionS = {
+        "\154\1\122\1\146\1\162\1\145\1\uffff\1\164\1\160\1\141\1\156\1\uffff"+
+        "\1\172\1\144\1\156\1\170\1\154\1\156\2\164\1\uffff\1\157\1\154\4"+
+        "\uffff\2\172\1\165\3\uffff\1\157\6\uffff\1\163\1\145\1\164\1\157"+
+        "\1\154\1\157\1\156\1\145\1\150\1\141\1\145\1\143\1\145\1\157\1\143"+
+        "\1\147\1\160\1\uffff\1\145\1\144\1\145\2\164\1\151\1\162\1\155\1"+
+        "\163\2\uffff\1\145\1\143\1\151\1\122\1\151\1\172\1\145\1\157\1\164"+
+        "\2\141\1\165\1\141\1\155\2\162\1\153\2\154\1\157\1\154\1\141\1\144"+
+        "\2\151\1\157\1\151\1\172\1\145\1\172\1\153\1\143\1\145\1\154\1\155"+
+        "\1\151\1\uffff\1\144\1\154\1\145\1\154\1\162\1\154\1\144\1\157\1"+
+        "\166\1\164\1\163\1\145\2\157\1\172\1\164\1\172\1\124\1\155\1\156"+
+        "\1\142\1\uffff\1\172\1\uffff\1\145\1\141\1\146\1\141\1\145\1\156"+
+        "\1\170\1\172\1\145\1\147\1\172\1\141\1\164\1\172\1\144\1\141\1\172"+
+        "\1\151\1\124\1\143\1\154\1\uffff\1\157\1\uffff\1\150\1\145\1\141"+
+        "\1\165\1\uffff\1\144\1\154\1\172\1\163\3\172\1\uffff\1\141\1\145"+
+        "\1\uffff\1\143\1\124\1\uffff\1\145\1\154\1\uffff\1\172\1\150\1\153"+
+        "\1\163\2\162\1\103\1\154\1\164\1\172\1\123\1\uffff\1\163\3\uffff"+
+        "\1\156\1\162\1\164\1\150\2\172\1\145\1\162\1\163\1\151\1\171\1\145"+
+        "\1\154\1\172\1\145\1\uffff\1\157\1\171\3\172\1\145\1\162\2\uffff"+
+        "\1\172\1\145\1\151\2\172\2\141\1\uffff\1\172\1\144\1\163\3\uffff"+
+        "\1\162\1\145\1\uffff\1\141\1\172\1\145\1\uffff\1\144\1\163\1\uffff"+
+        "\1\145\1\164\1\172\1\141\1\144\1\145\1\172\1\145\1\163\1\154\1\145"+
+        "\1\uffff\1\144\1\145\1\172\1\uffff\1\144\2\172\1\155\1\172\1\144"+
+        "\1\uffff\1\172\2\uffff\1\172\1\uffff\1\172\3\uffff";
+    static final String DFA14_acceptS =
+        "\2\uffff\1\2\1\3\1\uffff\1\6\1\uffff\1\11\12\uffff\1\31\2\uffff"+
+        "\1\35\1\36\3\uffff\1\45\1\46\4\uffff\1\64\1\65\3\uffff\1\71\1\72"+
+        "\1\uffff\1\64\1\2\1\3\1\uffff\1\6\1\uffff\1\11\6\uffff\1\50\4\uffff"+
+        "\1\37\10\uffff\1\31\2\uffff\1\34\1\47\1\35\1\36\3\uffff\1\45\1\46"+
+        "\1\51\1\uffff\1\63\1\65\1\66\1\67\1\70\1\71\21\uffff\1\40\11\uffff"+
+        "\1\41\1\42\44\uffff\1\20\25\uffff\1\33\1\uffff\1\44\25\uffff\1\25"+
+        "\1\uffff\1\54\4\uffff\1\43\7\uffff\1\52\2\uffff\1\61\2\uffff\1\15"+
+        "\2\uffff\1\32\13\uffff\1\5\1\uffff\1\10\1\12\1\13\17\uffff\1\53"+
+        "\7\uffff\1\16\1\17\7\uffff\1\26\3\uffff\1\7\1\57\1\60\2\uffff\1"+
+        "\21\3\uffff\1\27\2\uffff\1\30\13\uffff\1\62\3\uffff\1\23\6\uffff"+
+        "\1\22\1\uffff\1\24\1\1\1\uffff\1\14\1\uffff\1\56\1\4\1\55";
+    static final String DFA14_specialS =
+        "\1\1\41\uffff\1\2\1\0\u011c\uffff}>";
+    static final String[] DFA14_transitionS = {
             "\11\46\2\45\2\46\1\45\22\46\1\45\1\46\1\42\4\46\1\43\3\46\1"+
-            "\20\1\24\1\21\1\26\1\44\1\36\11\41\1\5\2\46\1\7\3\46\3\40\1"+
-            "\11\1\35\10\40\1\4\1\40\1\1\1\40\1\17\1\40\1\12\6\40\1\27\1"+
-            "\46\1\30\1\37\1\40\1\46\1\23\1\34\2\40\1\13\1\25\2\40\1\14\3"+
-            "\40\1\16\1\32\1\22\1\10\1\40\1\6\1\15\1\33\1\31\5\40\1\2\1\46"+
+            "\32\1\22\1\33\1\24\1\44\1\36\11\41\1\5\2\46\1\7\3\46\3\40\1"+
+            "\11\1\34\10\40\1\4\1\40\1\1\1\40\1\17\1\40\1\12\6\40\1\25\1"+
+            "\46\1\26\1\37\1\40\1\46\1\21\1\35\2\40\1\13\1\23\2\40\1\14\3"+
+            "\40\1\16\1\30\1\20\1\10\1\40\1\6\1\15\1\31\1\27\5\40\1\2\1\46"+
             "\1\3\uff82\46",
             "\1\47",
             "",
@@ -2282,26 +2247,26 @@
             "\1\60\2\uffff\1\57\1\uffff\1\61",
             "\1\62",
             "\1\63",
-            "\1\66\1\uffff\1\66\2\uffff\12\65\76\uffff\1\64",
-            "\1\70\1\67",
-            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\72\12\50"+
-            "\1\71\6\50",
-            "\1\76\7\uffff\1\77\5\uffff\1\75\3\uffff\1\74\1\uffff\1\100",
+            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\27\50\1\64\2\50",
+            "\1\67\1\66",
+            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\10\50\1\71\12\50"+
+            "\1\70\6\50",
+            "\1\75\7\uffff\1\76\5\uffff\1\74\3\uffff\1\73\1\uffff\1\77",
+            "\1\100",
             "\1\101",
+            "\1\102",
+            "",
+            "\1\105\20\uffff\1\104",
+            "\1\106",
             "",
             "",
-            "\1\104",
-            "\1\105",
-            "",
-            "\1\110\20\uffff\1\107",
-            "\1\111",
+            "\1\112",
+            "\1\113",
+            "\1\114",
             "",
             "",
-            "\1\115",
-            "\1\116",
-            "\1\117",
+            "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "\1\120",
-            "\1\66\1\uffff\1\66\2\uffff\12\65",
             "\1\121\37\uffff\1\121",
             "\32\50\4\uffff\1\50\1\uffff\32\50",
             "",
@@ -2325,7 +2290,6 @@
             "\1\140",
             "\1\141",
             "\1\142",
-            "\12\65\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "",
             "\1\143",
             "\1\144",
@@ -2338,8 +2302,6 @@
             "\1\153",
             "\1\154",
             "\1\155",
-            "",
-            "",
             "\1\156",
             "\1\157",
             "",
@@ -2352,6 +2314,9 @@
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "\12\50\7\uffff\32\50\4\uffff\1\50\1\uffff\32\50",
             "\1\164",
+            "",
+            "",
+            "",
             "\1\165",
             "",
             "",
@@ -2595,139 +2560,139 @@
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( 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 | RULE_HEX | 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 LA16_34 = input.LA(1);
+                        int LA14_35 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_34>='\u0000' && LA16_34<='\uFFFF')) ) {s = 83;}
+                        if ( ((LA14_35>='\u0000' && LA14_35<='\uFFFF')) ) {s = 83;}
 
                         else s = 38;
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_0 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='P') ) {s = 1;}
+                        if ( (LA14_0=='P') ) {s = 1;}
 
-                        else if ( (LA16_0=='{') ) {s = 2;}
+                        else if ( (LA14_0=='{') ) {s = 2;}
 
-                        else if ( (LA16_0=='}') ) {s = 3;}
+                        else if ( (LA14_0=='}') ) {s = 3;}
 
-                        else if ( (LA16_0=='N') ) {s = 4;}
+                        else if ( (LA14_0=='N') ) {s = 4;}
 
-                        else if ( (LA16_0==':') ) {s = 5;}
+                        else if ( (LA14_0==':') ) {s = 5;}
 
-                        else if ( (LA16_0=='r') ) {s = 6;}
+                        else if ( (LA14_0=='r') ) {s = 6;}
 
-                        else if ( (LA16_0=='=') ) {s = 7;}
+                        else if ( (LA14_0=='=') ) {s = 7;}
 
-                        else if ( (LA16_0=='p') ) {s = 8;}
+                        else if ( (LA14_0=='p') ) {s = 8;}
 
-                        else if ( (LA16_0=='D') ) {s = 9;}
+                        else if ( (LA14_0=='D') ) {s = 9;}
 
-                        else if ( (LA16_0=='T') ) {s = 10;}
+                        else if ( (LA14_0=='T') ) {s = 10;}
 
-                        else if ( (LA16_0=='e') ) {s = 11;}
+                        else if ( (LA14_0=='e') ) {s = 11;}
 
-                        else if ( (LA16_0=='i') ) {s = 12;}
+                        else if ( (LA14_0=='i') ) {s = 12;}
 
-                        else if ( (LA16_0=='s') ) {s = 13;}
+                        else if ( (LA14_0=='s') ) {s = 13;}
 
-                        else if ( (LA16_0=='m') ) {s = 14;}
+                        else if ( (LA14_0=='m') ) {s = 14;}
 
-                        else if ( (LA16_0=='R') ) {s = 15;}
+                        else if ( (LA14_0=='R') ) {s = 15;}
 
-                        else if ( (LA16_0=='+') ) {s = 16;}
+                        else if ( (LA14_0=='o') ) {s = 16;}
 
-                        else if ( (LA16_0=='-') ) {s = 17;}
+                        else if ( (LA14_0=='a') ) {s = 17;}
 
-                        else if ( (LA16_0=='o') ) {s = 18;}
+                        else if ( (LA14_0==',') ) {s = 18;}
 
-                        else if ( (LA16_0=='a') ) {s = 19;}
+                        else if ( (LA14_0=='f') ) {s = 19;}
 
-                        else if ( (LA16_0==',') ) {s = 20;}
+                        else if ( (LA14_0=='.') ) {s = 20;}
 
-                        else if ( (LA16_0=='f') ) {s = 21;}
+                        else if ( (LA14_0=='[') ) {s = 21;}
 
-                        else if ( (LA16_0=='.') ) {s = 22;}
+                        else if ( (LA14_0==']') ) {s = 22;}
 
-                        else if ( (LA16_0=='[') ) {s = 23;}
+                        else if ( (LA14_0=='u') ) {s = 23;}
 
-                        else if ( (LA16_0==']') ) {s = 24;}
+                        else if ( (LA14_0=='n') ) {s = 24;}
 
-                        else if ( (LA16_0=='u') ) {s = 25;}
+                        else if ( (LA14_0=='t') ) {s = 25;}
 
-                        else if ( (LA16_0=='n') ) {s = 26;}
+                        else if ( (LA14_0=='+') ) {s = 26;}
 
-                        else if ( (LA16_0=='t') ) {s = 27;}
+                        else if ( (LA14_0=='-') ) {s = 27;}
 
-                        else if ( (LA16_0=='b') ) {s = 28;}
+                        else if ( (LA14_0=='E') ) {s = 28;}
 
-                        else if ( (LA16_0=='E') ) {s = 29;}
+                        else if ( (LA14_0=='b') ) {s = 29;}
 
-                        else if ( (LA16_0=='0') ) {s = 30;}
+                        else if ( (LA14_0=='0') ) {s = 30;}
 
-                        else if ( (LA16_0=='^') ) {s = 31;}
+                        else if ( (LA14_0=='^') ) {s = 31;}
 
-                        else if ( ((LA16_0>='A' && LA16_0<='C')||(LA16_0>='F' && LA16_0<='M')||LA16_0=='O'||LA16_0=='Q'||LA16_0=='S'||(LA16_0>='U' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='c' && LA16_0<='d')||(LA16_0>='g' && LA16_0<='h')||(LA16_0>='j' && LA16_0<='l')||LA16_0=='q'||(LA16_0>='v' && LA16_0<='z')) ) {s = 32;}
+                        else if ( ((LA14_0>='A' && LA14_0<='C')||(LA14_0>='F' && LA14_0<='M')||LA14_0=='O'||LA14_0=='Q'||LA14_0=='S'||(LA14_0>='U' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='c' && LA14_0<='d')||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='l')||LA14_0=='q'||(LA14_0>='v' && LA14_0<='z')) ) {s = 32;}
 
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 33;}
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 33;}
 
-                        else if ( (LA16_0=='\"') ) {s = 34;}
+                        else if ( (LA14_0=='\"') ) {s = 34;}
 
-                        else if ( (LA16_0=='\'') ) {s = 35;}
+                        else if ( (LA14_0=='\'') ) {s = 35;}
 
-                        else if ( (LA16_0=='/') ) {s = 36;}
+                        else if ( (LA14_0=='/') ) {s = 36;}
 
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 37;}
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 37;}
 
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||(LA16_0>='(' && LA16_0<='*')||(LA16_0>=';' && LA16_0<='<')||(LA16_0>='>' && LA16_0<='@')||LA16_0=='\\'||LA16_0=='`'||LA16_0=='|'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 38;}
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||(LA14_0>='(' && LA14_0<='*')||(LA14_0>=';' && LA14_0<='<')||(LA14_0>='>' && LA14_0<='@')||LA14_0=='\\'||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 38;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA16_35 = input.LA(1);
+                        int LA14_34 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_35>='\u0000' && LA16_35<='\uFFFF')) ) {s = 83;}
+                        if ( ((LA14_34>='\u0000' && LA14_34<='\uFFFF')) ) {s = 83;}
 
                         else s = 38;
 
@@ -2735,7 +2700,7 @@
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhysParser.java b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhysParser.java
index c058c49..feece41 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhysParser.java
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhysParser.java
@@ -18,70 +18,72 @@
 import java.util.Stack;
 import java.util.List;
 import java.util.ArrayList;
-
+import java.util.Map;
+import java.util.HashMap;
 @SuppressWarnings("all")
 public class InternalETPhysParser extends AbstractInternalAntlrParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_HEX", "RULE_EXP", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'PhysicalModel'", "'{'", "'}'", "'PhysicalSystem'", "'NodeRef'", "':'", "'NodeClass'", "'runtime'", "'='", "'priomin'", "'priomax'", "'DefaultThread'", "'Thread'", "'execmode'", "'interval'", "'prio'", "'stacksize'", "'msgblocksize'", "'msgpoolsize'", "'RuntimeClass'", "'model'", "'+'", "'-'", "'optional'", "'mandatory'", "'attribute'", "','", "'import'", "'from'", "'.*'", "'['", "']'", "'s'", "'ms'", "'us'", "'ns'", "'false'", "'true'", "'.'", "'polled'", "'blocked'", "'mixed'", "'singleThreaded'", "'multiThreaded'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_HEX", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'PhysicalModel'", "'{'", "'}'", "'PhysicalSystem'", "'NodeRef'", "':'", "'NodeClass'", "'runtime'", "'='", "'priomin'", "'priomax'", "'DefaultThread'", "'Thread'", "'execmode'", "'interval'", "'prio'", "'stacksize'", "'msgblocksize'", "'msgpoolsize'", "'RuntimeClass'", "'model'", "'optional'", "'mandatory'", "'attribute'", "','", "'import'", "'from'", "'.*'", "'['", "']'", "'s'", "'ms'", "'us'", "'ns'", "'false'", "'true'", "'+'", "'-'", "'.'", "'e'", "'E'", "'polled'", "'blocked'", "'mixed'", "'singleThreaded'", "'multiThreaded'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
     };
-    public static final int RULE_EXP=8;
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=7;
-    public static final int T__58=58;
+    public static final int T__50=50;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__59=59;
     public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__15=15;
     public static final int T__53=53;
-    public static final int T__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=5;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__31=31;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
     public static final int RULE_STRING=6;
-    public static final int T__32=32;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -133,14 +135,18 @@
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:69:2: (iv_rulePhysicalModel= rulePhysicalModel EOF )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:70:2: iv_rulePhysicalModel= rulePhysicalModel EOF
             {
-             newCompositeNode(grammarAccess.getPhysicalModelRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPhysicalModelRule()); 
+            }
             pushFollow(FOLLOW_rulePhysicalModel_in_entryRulePhysicalModel75);
             iv_rulePhysicalModel=rulePhysicalModel();
 
             state._fsp--;
-
-             current =iv_rulePhysicalModel; 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalModel85); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePhysicalModel; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalModel85); if (state.failed) return current;
 
             }
 
@@ -185,52 +191,60 @@
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:81:1: (otherlv_0= 'PhysicalModel' ( (lv_name_1_0= ruleFQN ) ) otherlv_2= '{' ( (lv_imports_3_0= ruleImport ) )* ( ( (lv_systems_4_0= rulePhysicalSystem ) ) | ( (lv_nodeClasses_5_0= ruleNodeClass ) ) | ( (lv_runtimeClasses_6_0= ruleRuntimeClass ) ) )* otherlv_7= '}' )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:81:3: otherlv_0= 'PhysicalModel' ( (lv_name_1_0= ruleFQN ) ) otherlv_2= '{' ( (lv_imports_3_0= ruleImport ) )* ( ( (lv_systems_4_0= rulePhysicalSystem ) ) | ( (lv_nodeClasses_5_0= ruleNodeClass ) ) | ( (lv_runtimeClasses_6_0= ruleRuntimeClass ) ) )* otherlv_7= '}'
             {
-            otherlv_0=(Token)match(input,13,FOLLOW_13_in_rulePhysicalModel122); 
+            otherlv_0=(Token)match(input,12,FOLLOW_12_in_rulePhysicalModel122); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getPhysicalModelAccess().getPhysicalModelKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getPhysicalModelAccess().getPhysicalModelKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:85:1: ( (lv_name_1_0= ruleFQN ) )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:86:1: (lv_name_1_0= ruleFQN )
             {
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:86:1: (lv_name_1_0= ruleFQN )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:87:3: lv_name_1_0= ruleFQN
             {
-             
-            	        newCompositeNode(grammarAccess.getPhysicalModelAccess().getNameFQNParserRuleCall_1_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getPhysicalModelAccess().getNameFQNParserRuleCall_1_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleFQN_in_rulePhysicalModel143);
             lv_name_1_0=ruleFQN();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getPhysicalModelRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"FQN");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getPhysicalModelRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"FQN");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_2=(Token)match(input,14,FOLLOW_14_in_rulePhysicalModel155); 
+            otherlv_2=(Token)match(input,13,FOLLOW_13_in_rulePhysicalModel155); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getPhysicalModelAccess().getLeftCurlyBracketKeyword_2());
-                
+                  	newLeafNode(otherlv_2, grammarAccess.getPhysicalModelAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:107:1: ( (lv_imports_3_0= ruleImport ) )*
             loop1:
             do {
                 int alt1=2;
                 int LA1_0 = input.LA(1);
 
-                if ( (LA1_0==40) ) {
+                if ( (LA1_0==37) ) {
                     alt1=1;
                 }
 
@@ -242,25 +256,29 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:108:1: (lv_imports_3_0= ruleImport )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:109:3: lv_imports_3_0= ruleImport
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getPhysicalModelAccess().getImportsImportParserRuleCall_3_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPhysicalModelAccess().getImportsImportParserRuleCall_3_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleImport_in_rulePhysicalModel176);
             	    lv_imports_3_0=ruleImport();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getPhysicalModelRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"imports",
-            	            		lv_imports_3_0, 
-            	            		"Import");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPhysicalModelRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"imports",
+            	              		lv_imports_3_0, 
+            	              		"Import");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -278,17 +296,17 @@
             do {
                 int alt2=4;
                 switch ( input.LA(1) ) {
-                case 16:
+                case 15:
                     {
                     alt2=1;
                     }
                     break;
-                case 19:
+                case 18:
                     {
                     alt2=2;
                     }
                     break;
-                case 32:
+                case 31:
                     {
                     alt2=3;
                     }
@@ -306,25 +324,29 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:126:1: (lv_systems_4_0= rulePhysicalSystem )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:127:3: lv_systems_4_0= rulePhysicalSystem
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getPhysicalModelAccess().getSystemsPhysicalSystemParserRuleCall_4_0_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPhysicalModelAccess().getSystemsPhysicalSystemParserRuleCall_4_0_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_rulePhysicalSystem_in_rulePhysicalModel199);
             	    lv_systems_4_0=rulePhysicalSystem();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getPhysicalModelRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"systems",
-            	            		lv_systems_4_0, 
-            	            		"PhysicalSystem");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPhysicalModelRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"systems",
+            	              		lv_systems_4_0, 
+            	              		"PhysicalSystem");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -343,25 +365,29 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:145:1: (lv_nodeClasses_5_0= ruleNodeClass )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:146:3: lv_nodeClasses_5_0= ruleNodeClass
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getPhysicalModelAccess().getNodeClassesNodeClassParserRuleCall_4_1_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPhysicalModelAccess().getNodeClassesNodeClassParserRuleCall_4_1_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleNodeClass_in_rulePhysicalModel226);
             	    lv_nodeClasses_5_0=ruleNodeClass();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getPhysicalModelRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"nodeClasses",
-            	            		lv_nodeClasses_5_0, 
-            	            		"NodeClass");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPhysicalModelRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"nodeClasses",
+            	              		lv_nodeClasses_5_0, 
+            	              		"NodeClass");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -380,25 +406,29 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:164:1: (lv_runtimeClasses_6_0= ruleRuntimeClass )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:165:3: lv_runtimeClasses_6_0= ruleRuntimeClass
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getPhysicalModelAccess().getRuntimeClassesRuntimeClassParserRuleCall_4_2_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPhysicalModelAccess().getRuntimeClassesRuntimeClassParserRuleCall_4_2_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleRuntimeClass_in_rulePhysicalModel253);
             	    lv_runtimeClasses_6_0=ruleRuntimeClass();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getPhysicalModelRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"runtimeClasses",
-            	            		lv_runtimeClasses_6_0, 
-            	            		"RuntimeClass");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPhysicalModelRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"runtimeClasses",
+            	              		lv_runtimeClasses_6_0, 
+            	              		"RuntimeClass");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -414,17 +444,21 @@
                 }
             } while (true);
 
-            otherlv_7=(Token)match(input,15,FOLLOW_15_in_rulePhysicalModel267); 
+            otherlv_7=(Token)match(input,14,FOLLOW_14_in_rulePhysicalModel267); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_7, grammarAccess.getPhysicalModelAccess().getRightCurlyBracketKeyword_5());
-                
+                  	newLeafNode(otherlv_7, grammarAccess.getPhysicalModelAccess().getRightCurlyBracketKeyword_5());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -450,14 +484,18 @@
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:194:2: (iv_rulePhysicalSystem= rulePhysicalSystem EOF )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:195:2: iv_rulePhysicalSystem= rulePhysicalSystem EOF
             {
-             newCompositeNode(grammarAccess.getPhysicalSystemRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPhysicalSystemRule()); 
+            }
             pushFollow(FOLLOW_rulePhysicalSystem_in_entryRulePhysicalSystem303);
             iv_rulePhysicalSystem=rulePhysicalSystem();
 
             state._fsp--;
-
-             current =iv_rulePhysicalSystem; 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalSystem313); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePhysicalSystem; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalSystem313); if (state.failed) return current;
 
             }
 
@@ -497,30 +535,36 @@
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:206:1: (otherlv_0= 'PhysicalSystem' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( (lv_nodeRefs_4_0= ruleNodeRef ) )* otherlv_5= '}' )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:206:3: otherlv_0= 'PhysicalSystem' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( (lv_nodeRefs_4_0= ruleNodeRef ) )* otherlv_5= '}'
             {
-            otherlv_0=(Token)match(input,16,FOLLOW_16_in_rulePhysicalSystem350); 
+            otherlv_0=(Token)match(input,15,FOLLOW_15_in_rulePhysicalSystem350); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getPhysicalSystemAccess().getPhysicalSystemKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getPhysicalSystemAccess().getPhysicalSystemKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:210:1: ( (lv_name_1_0= RULE_ID ) )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:211:1: (lv_name_1_0= RULE_ID )
             {
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:211:1: (lv_name_1_0= RULE_ID )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:212:3: lv_name_1_0= RULE_ID
             {
-            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePhysicalSystem367); 
+            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePhysicalSystem367); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_name_1_0, grammarAccess.getPhysicalSystemAccess().getNameIDTerminalRuleCall_1_0()); 
-            		
+              			newLeafNode(lv_name_1_0, grammarAccess.getPhysicalSystemAccess().getNameIDTerminalRuleCall_1_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getPhysicalSystemRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getPhysicalSystemRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
@@ -531,7 +575,7 @@
             int alt3=2;
             int LA3_0 = input.LA(1);
 
-            if ( (LA3_0==43) ) {
+            if ( (LA3_0==40) ) {
                 alt3=1;
             }
             switch (alt3) {
@@ -541,25 +585,29 @@
                     // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:229:1: (lv_docu_2_0= ruleDocumentation )
                     // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:230:3: lv_docu_2_0= ruleDocumentation
                     {
-                     
-                    	        newCompositeNode(grammarAccess.getPhysicalSystemAccess().getDocuDocumentationParserRuleCall_2_0()); 
-                    	    
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getPhysicalSystemAccess().getDocuDocumentationParserRuleCall_2_0()); 
+                      	    
+                    }
                     pushFollow(FOLLOW_ruleDocumentation_in_rulePhysicalSystem393);
                     lv_docu_2_0=ruleDocumentation();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getPhysicalSystemRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"docu",
-                            		lv_docu_2_0, 
-                            		"Documentation");
-                    	        afterParserOrEnumRuleCall();
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getPhysicalSystemRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"docu",
+                              		lv_docu_2_0, 
+                              		"Documentation");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
 
                     }
 
@@ -569,17 +617,19 @@
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_rulePhysicalSystem406); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_rulePhysicalSystem406); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_3, grammarAccess.getPhysicalSystemAccess().getLeftCurlyBracketKeyword_3());
-                
+                  	newLeafNode(otherlv_3, grammarAccess.getPhysicalSystemAccess().getLeftCurlyBracketKeyword_3());
+                  
+            }
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:250:1: ( (lv_nodeRefs_4_0= ruleNodeRef ) )*
             loop4:
             do {
                 int alt4=2;
                 int LA4_0 = input.LA(1);
 
-                if ( (LA4_0==17) ) {
+                if ( (LA4_0==16) ) {
                     alt4=1;
                 }
 
@@ -591,25 +641,29 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:251:1: (lv_nodeRefs_4_0= ruleNodeRef )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:252:3: lv_nodeRefs_4_0= ruleNodeRef
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getPhysicalSystemAccess().getNodeRefsNodeRefParserRuleCall_4_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPhysicalSystemAccess().getNodeRefsNodeRefParserRuleCall_4_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleNodeRef_in_rulePhysicalSystem427);
             	    lv_nodeRefs_4_0=ruleNodeRef();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getPhysicalSystemRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"nodeRefs",
-            	            		lv_nodeRefs_4_0, 
-            	            		"NodeRef");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPhysicalSystemRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"nodeRefs",
+            	              		lv_nodeRefs_4_0, 
+            	              		"NodeRef");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -622,17 +676,21 @@
                 }
             } while (true);
 
-            otherlv_5=(Token)match(input,15,FOLLOW_15_in_rulePhysicalSystem440); 
+            otherlv_5=(Token)match(input,14,FOLLOW_14_in_rulePhysicalSystem440); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_5, grammarAccess.getPhysicalSystemAccess().getRightCurlyBracketKeyword_5());
-                
+                  	newLeafNode(otherlv_5, grammarAccess.getPhysicalSystemAccess().getRightCurlyBracketKeyword_5());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -658,14 +716,18 @@
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:281:2: (iv_ruleNodeRef= ruleNodeRef EOF )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:282:2: iv_ruleNodeRef= ruleNodeRef EOF
             {
-             newCompositeNode(grammarAccess.getNodeRefRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getNodeRefRule()); 
+            }
             pushFollow(FOLLOW_ruleNodeRef_in_entryRuleNodeRef476);
             iv_ruleNodeRef=ruleNodeRef();
 
             state._fsp--;
-
-             current =iv_ruleNodeRef; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleNodeRef486); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleNodeRef; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleNodeRef486); if (state.failed) return current;
 
             }
 
@@ -702,62 +764,76 @@
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:293:1: (otherlv_0= 'NodeRef' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleFQN ) ) ( (lv_docu_4_0= ruleDocumentation ) )? )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:293:3: otherlv_0= 'NodeRef' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleFQN ) ) ( (lv_docu_4_0= ruleDocumentation ) )?
             {
-            otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleNodeRef523); 
+            otherlv_0=(Token)match(input,16,FOLLOW_16_in_ruleNodeRef523); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getNodeRefAccess().getNodeRefKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getNodeRefAccess().getNodeRefKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:297:1: ( (lv_name_1_0= RULE_ID ) )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:298:1: (lv_name_1_0= RULE_ID )
             {
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:298:1: (lv_name_1_0= RULE_ID )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:299:3: lv_name_1_0= RULE_ID
             {
-            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNodeRef540); 
+            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNodeRef540); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_name_1_0, grammarAccess.getNodeRefAccess().getNameIDTerminalRuleCall_1_0()); 
-            		
+              			newLeafNode(lv_name_1_0, grammarAccess.getNodeRefAccess().getNameIDTerminalRuleCall_1_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getNodeRefRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getNodeRefRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_2=(Token)match(input,18,FOLLOW_18_in_ruleNodeRef557); 
+            otherlv_2=(Token)match(input,17,FOLLOW_17_in_ruleNodeRef557); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getNodeRefAccess().getColonKeyword_2());
-                
+                  	newLeafNode(otherlv_2, grammarAccess.getNodeRefAccess().getColonKeyword_2());
+                  
+            }
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:319:1: ( ( ruleFQN ) )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:320:1: ( ruleFQN )
             {
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:320:1: ( ruleFQN )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:321:3: ruleFQN
             {
+            if ( state.backtracking==0 ) {
 
-            			if (current==null) {
-            	            current = createModelElement(grammarAccess.getNodeRefRule());
-            	        }
-                    
-             
-            	        newCompositeNode(grammarAccess.getNodeRefAccess().getTypeNodeClassCrossReference_3_0()); 
-            	    
+              			if (current==null) {
+              	            current = createModelElement(grammarAccess.getNodeRefRule());
+              	        }
+                      
+            }
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getNodeRefAccess().getTypeNodeClassCrossReference_3_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleFQN_in_ruleNodeRef580);
             ruleFQN();
 
             state._fsp--;
-
-             
-            	        afterParserOrEnumRuleCall();
-            	    
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -768,7 +844,7 @@
             int alt5=2;
             int LA5_0 = input.LA(1);
 
-            if ( (LA5_0==43) ) {
+            if ( (LA5_0==40) ) {
                 alt5=1;
             }
             switch (alt5) {
@@ -778,25 +854,29 @@
                     // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:335:1: (lv_docu_4_0= ruleDocumentation )
                     // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:336:3: lv_docu_4_0= ruleDocumentation
                     {
-                     
-                    	        newCompositeNode(grammarAccess.getNodeRefAccess().getDocuDocumentationParserRuleCall_4_0()); 
-                    	    
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getNodeRefAccess().getDocuDocumentationParserRuleCall_4_0()); 
+                      	    
+                    }
                     pushFollow(FOLLOW_ruleDocumentation_in_ruleNodeRef601);
                     lv_docu_4_0=ruleDocumentation();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getNodeRefRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"docu",
-                            		lv_docu_4_0, 
-                            		"Documentation");
-                    	        afterParserOrEnumRuleCall();
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getNodeRefRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"docu",
+                              		lv_docu_4_0, 
+                              		"Documentation");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
 
                     }
 
@@ -812,7 +892,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -838,14 +920,18 @@
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:361:2: (iv_ruleNodeClass= ruleNodeClass EOF )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:362:2: iv_ruleNodeClass= ruleNodeClass EOF
             {
-             newCompositeNode(grammarAccess.getNodeClassRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getNodeClassRule()); 
+            }
             pushFollow(FOLLOW_ruleNodeClass_in_entryRuleNodeClass638);
             iv_ruleNodeClass=ruleNodeClass();
 
             state._fsp--;
-
-             current =iv_ruleNodeClass; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleNodeClass648); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleNodeClass; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleNodeClass648); if (state.failed) return current;
 
             }
 
@@ -863,7 +949,7 @@
 
 
     // $ANTLR start "ruleNodeClass"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:369:1: ruleNodeClass returns [EObject current=null] : (otherlv_0= 'NodeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+ {...}?) ) ) ( (lv_threads_14_0= rulePhysicalThread ) )* otherlv_15= '}' ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:369:1: ruleNodeClass returns [EObject current=null] : (otherlv_0= 'NodeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+ {...}?) ) ) ( (lv_threads_14_0= rulePhysicalThread ) )* otherlv_15= '}' ) ;
     public final EObject ruleNodeClass() throws RecognitionException {
         EObject current = null;
 
@@ -889,36 +975,42 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:372:28: ( (otherlv_0= 'NodeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+ {...}?) ) ) ( (lv_threads_14_0= rulePhysicalThread ) )* otherlv_15= '}' ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:373:1: (otherlv_0= 'NodeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+ {...}?) ) ) ( (lv_threads_14_0= rulePhysicalThread ) )* otherlv_15= '}' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:372:28: ( (otherlv_0= 'NodeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+ {...}?) ) ) ( (lv_threads_14_0= rulePhysicalThread ) )* otherlv_15= '}' ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:373:1: (otherlv_0= 'NodeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+ {...}?) ) ) ( (lv_threads_14_0= rulePhysicalThread ) )* otherlv_15= '}' )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:373:1: (otherlv_0= 'NodeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+ {...}?) ) ) ( (lv_threads_14_0= rulePhysicalThread ) )* otherlv_15= '}' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:373:3: otherlv_0= 'NodeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+ {...}?) ) ) ( (lv_threads_14_0= rulePhysicalThread ) )* otherlv_15= '}'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:373:1: (otherlv_0= 'NodeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+ {...}?) ) ) ( (lv_threads_14_0= rulePhysicalThread ) )* otherlv_15= '}' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:373:3: otherlv_0= 'NodeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+ {...}?) ) ) ( (lv_threads_14_0= rulePhysicalThread ) )* otherlv_15= '}'
             {
-            otherlv_0=(Token)match(input,19,FOLLOW_19_in_ruleNodeClass685); 
+            otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleNodeClass685); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getNodeClassAccess().getNodeClassKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getNodeClassAccess().getNodeClassKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:377:1: ( (lv_name_1_0= RULE_ID ) )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:378:1: (lv_name_1_0= RULE_ID )
             {
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:378:1: (lv_name_1_0= RULE_ID )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:379:3: lv_name_1_0= RULE_ID
             {
-            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNodeClass702); 
+            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleNodeClass702); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_name_1_0, grammarAccess.getNodeClassAccess().getNameIDTerminalRuleCall_1_0()); 
-            		
+              			newLeafNode(lv_name_1_0, grammarAccess.getNodeClassAccess().getNameIDTerminalRuleCall_1_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getNodeClassRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getNodeClassRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
@@ -929,7 +1021,7 @@
             int alt6=2;
             int LA6_0 = input.LA(1);
 
-            if ( (LA6_0==43) ) {
+            if ( (LA6_0==40) ) {
                 alt6=1;
             }
             switch (alt6) {
@@ -939,25 +1031,29 @@
                     // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:396:1: (lv_docu_2_0= ruleDocumentation )
                     // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:397:3: lv_docu_2_0= ruleDocumentation
                     {
-                     
-                    	        newCompositeNode(grammarAccess.getNodeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
-                    	    
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getNodeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
+                      	    
+                    }
                     pushFollow(FOLLOW_ruleDocumentation_in_ruleNodeClass728);
                     lv_docu_2_0=ruleDocumentation();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getNodeClassRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"docu",
-                            		lv_docu_2_0, 
-                            		"Documentation");
-                    	        afterParserOrEnumRuleCall();
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getNodeClassRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"docu",
+                              		lv_docu_2_0, 
+                              		"Documentation");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
 
                     }
 
@@ -967,36 +1063,36 @@
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleNodeClass741); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleNodeClass741); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_3, grammarAccess.getNodeClassAccess().getLeftCurlyBracketKeyword_3());
-                
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:417:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+ {...}?) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:419:1: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+ {...}?) )
+                  	newLeafNode(otherlv_3, grammarAccess.getNodeClassAccess().getLeftCurlyBracketKeyword_3());
+                  
+            }
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:417:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+ {...}?) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:419:1: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+ {...}?) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:419:1: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+ {...}?) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:420:2: ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+ {...}?)
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:419:1: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+ {...}?) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:420:2: ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+ {...}?)
             {
-             
-            	  getUnorderedGroupHelper().enter(grammarAccess.getNodeClassAccess().getUnorderedGroup_4());
-            	
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:423:2: ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+ {...}?)
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:424:3: ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+ {...}?
+            getUnorderedGroupHelper().enter(grammarAccess.getNodeClassAccess().getUnorderedGroup_4());
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:423:2: ( ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+ {...}?)
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:424:3: ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+ {...}?
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:424:3: ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) ) )+
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:424:3: ( ({...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) ) )+
             int cnt7=0;
             loop7:
             do {
                 int alt7=4;
                 int LA7_0 = input.LA(1);
 
-                if ( LA7_0 ==20 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0) ) {
+                if ( LA7_0 ==19 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0) ) {
                     alt7=1;
                 }
-                else if ( LA7_0 ==22 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1) ) {
+                else if ( LA7_0 ==21 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1) ) {
                     alt7=2;
                 }
-                else if ( LA7_0 ==23 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2) ) {
+                else if ( LA7_0 ==22 && getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2) ) {
                     alt7=3;
                 }
 
@@ -1009,53 +1105,63 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:427:5: {...}? => ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleNodeClass", "getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0)");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:427:106: ( ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:428:6: ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 0);
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:431:6: ({...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:431:7: {...}? => (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleNodeClass", "true");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:431:16: (otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:431:18: otherlv_5= 'runtime' otherlv_6= '=' ( ( ruleFQN ) )
             	    {
-            	    otherlv_5=(Token)match(input,20,FOLLOW_20_in_ruleNodeClass799); 
+            	    otherlv_5=(Token)match(input,19,FOLLOW_19_in_ruleNodeClass799); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_5, grammarAccess.getNodeClassAccess().getRuntimeKeyword_4_0_0());
-            	        
-            	    otherlv_6=(Token)match(input,21,FOLLOW_21_in_ruleNodeClass811); 
+            	          	newLeafNode(otherlv_5, grammarAccess.getNodeClassAccess().getRuntimeKeyword_4_0_0());
+            	          
+            	    }
+            	    otherlv_6=(Token)match(input,20,FOLLOW_20_in_ruleNodeClass811); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_6, grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_0_1());
-            	        
+            	          	newLeafNode(otherlv_6, grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_0_1());
+            	          
+            	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:439:1: ( ( ruleFQN ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:440:1: ( ruleFQN )
             	    {
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:440:1: ( ruleFQN )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:441:3: ruleFQN
             	    {
+            	    if ( state.backtracking==0 ) {
 
-            	    			if (current==null) {
-            	    	            current = createModelElement(grammarAccess.getNodeClassRule());
-            	    	        }
-            	            
-            	     
-            	    	        newCompositeNode(grammarAccess.getNodeClassAccess().getRuntimeRuntimeClassCrossReference_4_0_2_0()); 
-            	    	    
+            	      			if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getNodeClassRule());
+            	      	        }
+            	              
+            	    }
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getNodeClassAccess().getRuntimeRuntimeClassCrossReference_4_0_2_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleFQN_in_ruleNodeClass834);
             	    ruleFQN();
 
             	    state._fsp--;
-
-            	     
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -1068,9 +1174,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getNodeClassAccess().getUnorderedGroup_4());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getNodeClassAccess().getUnorderedGroup_4());
 
             	    }
 
@@ -1081,62 +1185,70 @@
             	    }
             	    break;
             	case 2 :
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:461:4: ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:461:4: ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) )
             	    {
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:461:4: ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:462:5: {...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:461:4: ({...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:462:5: {...}? => ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleNodeClass", "getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1)");
             	    }
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:462:106: ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:463:6: ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:462:106: ( ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:463:6: ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1);
-            	    	 				
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:466:6: ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:466:7: {...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) )
+            	    getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 1);
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:466:6: ({...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:466:7: {...}? => (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleNodeClass", "true");
             	    }
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:466:16: (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:466:18: otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= rulePRIO ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:466:16: (otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:466:18: otherlv_8= 'priomin' otherlv_9= '=' ( (lv_priomin_10_0= ruleInteger ) )
             	    {
-            	    otherlv_8=(Token)match(input,22,FOLLOW_22_in_ruleNodeClass902); 
+            	    otherlv_8=(Token)match(input,21,FOLLOW_21_in_ruleNodeClass902); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_8, grammarAccess.getNodeClassAccess().getPriominKeyword_4_1_0());
-            	        
-            	    otherlv_9=(Token)match(input,21,FOLLOW_21_in_ruleNodeClass914); 
+            	          	newLeafNode(otherlv_8, grammarAccess.getNodeClassAccess().getPriominKeyword_4_1_0());
+            	          
+            	    }
+            	    otherlv_9=(Token)match(input,20,FOLLOW_20_in_ruleNodeClass914); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_9, grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_1_1());
-            	        
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:474:1: ( (lv_priomin_10_0= rulePRIO ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:475:1: (lv_priomin_10_0= rulePRIO )
+            	          	newLeafNode(otherlv_9, grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_1_1());
+            	          
+            	    }
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:474:1: ( (lv_priomin_10_0= ruleInteger ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:475:1: (lv_priomin_10_0= ruleInteger )
             	    {
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:475:1: (lv_priomin_10_0= rulePRIO )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:476:3: lv_priomin_10_0= rulePRIO
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:475:1: (lv_priomin_10_0= ruleInteger )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:476:3: lv_priomin_10_0= ruleInteger
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getNodeClassAccess().getPriominPRIOParserRuleCall_4_1_2_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_rulePRIO_in_ruleNodeClass935);
-            	    lv_priomin_10_0=rulePRIO();
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getNodeClassAccess().getPriominIntegerParserRuleCall_4_1_2_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleInteger_in_ruleNodeClass935);
+            	    lv_priomin_10_0=ruleInteger();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getNodeClassRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"priomin",
-            	            		lv_priomin_10_0, 
-            	            		"PRIO");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getNodeClassRule());
+            	      	        }
+            	             		set(
+            	             			current, 
+            	             			"priomin",
+            	              		lv_priomin_10_0, 
+            	              		"Integer");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -1149,9 +1261,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getNodeClassAccess().getUnorderedGroup_4());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getNodeClassAccess().getUnorderedGroup_4());
 
             	    }
 
@@ -1162,62 +1272,70 @@
             	    }
             	    break;
             	case 3 :
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:499:4: ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:499:4: ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) )
             	    {
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:499:4: ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:500:5: {...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:499:4: ({...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:500:5: {...}? => ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleNodeClass", "getUnorderedGroupHelper().canSelect(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2)");
             	    }
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:500:106: ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:501:6: ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:500:106: ( ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:501:6: ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2);
-            	    	 				
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:504:6: ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:504:7: {...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) )
+            	    getUnorderedGroupHelper().select(grammarAccess.getNodeClassAccess().getUnorderedGroup_4(), 2);
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:504:6: ({...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:504:7: {...}? => (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "ruleNodeClass", "true");
             	    }
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:504:16: (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:504:18: otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= rulePRIO ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:504:16: (otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:504:18: otherlv_11= 'priomax' otherlv_12= '=' ( (lv_priomax_13_0= ruleInteger ) )
             	    {
-            	    otherlv_11=(Token)match(input,23,FOLLOW_23_in_ruleNodeClass1003); 
+            	    otherlv_11=(Token)match(input,22,FOLLOW_22_in_ruleNodeClass1003); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_11, grammarAccess.getNodeClassAccess().getPriomaxKeyword_4_2_0());
-            	        
-            	    otherlv_12=(Token)match(input,21,FOLLOW_21_in_ruleNodeClass1015); 
+            	          	newLeafNode(otherlv_11, grammarAccess.getNodeClassAccess().getPriomaxKeyword_4_2_0());
+            	          
+            	    }
+            	    otherlv_12=(Token)match(input,20,FOLLOW_20_in_ruleNodeClass1015); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_12, grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_2_1());
-            	        
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:512:1: ( (lv_priomax_13_0= rulePRIO ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:513:1: (lv_priomax_13_0= rulePRIO )
+            	          	newLeafNode(otherlv_12, grammarAccess.getNodeClassAccess().getEqualsSignKeyword_4_2_1());
+            	          
+            	    }
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:512:1: ( (lv_priomax_13_0= ruleInteger ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:513:1: (lv_priomax_13_0= ruleInteger )
             	    {
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:513:1: (lv_priomax_13_0= rulePRIO )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:514:3: lv_priomax_13_0= rulePRIO
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:513:1: (lv_priomax_13_0= ruleInteger )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:514:3: lv_priomax_13_0= ruleInteger
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getNodeClassAccess().getPriomaxPRIOParserRuleCall_4_2_2_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_rulePRIO_in_ruleNodeClass1036);
-            	    lv_priomax_13_0=rulePRIO();
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getNodeClassAccess().getPriomaxIntegerParserRuleCall_4_2_2_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleInteger_in_ruleNodeClass1036);
+            	    lv_priomax_13_0=ruleInteger();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getNodeClassRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"priomax",
-            	            		lv_priomax_13_0, 
-            	            		"PRIO");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getNodeClassRule());
+            	      	        }
+            	             		set(
+            	             			current, 
+            	             			"priomax",
+            	              		lv_priomax_13_0, 
+            	              		"Integer");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -1230,9 +1348,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getNodeClassAccess().getUnorderedGroup_4());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getNodeClassAccess().getUnorderedGroup_4());
 
             	    }
 
@@ -1245,6 +1361,7 @@
 
             	default :
             	    if ( cnt7 >= 1 ) break loop7;
+            	    if (state.backtracking>0) {state.failed=true; return current;}
                         EarlyExitException eee =
                             new EarlyExitException(7, input);
                         throw eee;
@@ -1253,6 +1370,7 @@
             } while (true);
 
             if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getNodeClassAccess().getUnorderedGroup_4()) ) {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 throw new FailedPredicateException(input, "ruleNodeClass", "getUnorderedGroupHelper().canLeave(grammarAccess.getNodeClassAccess().getUnorderedGroup_4())");
             }
 
@@ -1261,9 +1379,7 @@
 
             }
 
-             
-            	  getUnorderedGroupHelper().leave(grammarAccess.getNodeClassAccess().getUnorderedGroup_4());
-            	
+            getUnorderedGroupHelper().leave(grammarAccess.getNodeClassAccess().getUnorderedGroup_4());
 
             }
 
@@ -1273,7 +1389,7 @@
                 int alt8=2;
                 int LA8_0 = input.LA(1);
 
-                if ( ((LA8_0>=24 && LA8_0<=25)) ) {
+                if ( ((LA8_0>=23 && LA8_0<=24)) ) {
                     alt8=1;
                 }
 
@@ -1285,25 +1401,29 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:546:1: (lv_threads_14_0= rulePhysicalThread )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:547:3: lv_threads_14_0= rulePhysicalThread
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getNodeClassAccess().getThreadsPhysicalThreadParserRuleCall_5_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getNodeClassAccess().getThreadsPhysicalThreadParserRuleCall_5_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_rulePhysicalThread_in_ruleNodeClass1104);
             	    lv_threads_14_0=rulePhysicalThread();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getNodeClassRule());
-            	    	        }
-            	           		add(
-            	           			current, 
-            	           			"threads",
-            	            		lv_threads_14_0, 
-            	            		"PhysicalThread");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getNodeClassRule());
+            	      	        }
+            	             		add(
+            	             			current, 
+            	             			"threads",
+            	              		lv_threads_14_0, 
+            	              		"PhysicalThread");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -1316,17 +1436,21 @@
                 }
             } while (true);
 
-            otherlv_15=(Token)match(input,15,FOLLOW_15_in_ruleNodeClass1117); 
+            otherlv_15=(Token)match(input,14,FOLLOW_14_in_ruleNodeClass1117); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_15, grammarAccess.getNodeClassAccess().getRightCurlyBracketKeyword_6());
-                
+                  	newLeafNode(otherlv_15, grammarAccess.getNodeClassAccess().getRightCurlyBracketKeyword_6());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -1352,14 +1476,18 @@
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:576:2: (iv_rulePhysicalThread= rulePhysicalThread EOF )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:577:2: iv_rulePhysicalThread= rulePhysicalThread EOF
             {
-             newCompositeNode(grammarAccess.getPhysicalThreadRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getPhysicalThreadRule()); 
+            }
             pushFollow(FOLLOW_rulePhysicalThread_in_entryRulePhysicalThread1153);
             iv_rulePhysicalThread=rulePhysicalThread();
 
             state._fsp--;
-
-             current =iv_rulePhysicalThread; 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalThread1163); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_rulePhysicalThread; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRulePhysicalThread1163); if (state.failed) return current;
 
             }
 
@@ -1377,7 +1505,7 @@
 
 
     // $ANTLR start "rulePhysicalThread"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:584:1: rulePhysicalThread returns [EObject current=null] : ( ( ( (lv_default_0_0= 'DefaultThread' ) ) | otherlv_1= 'Thread' ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) ) otherlv_23= '}' ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:584:1: rulePhysicalThread returns [EObject current=null] : ( ( ( (lv_default_0_0= 'DefaultThread' ) ) | otherlv_1= 'Thread' ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) ) otherlv_23= '}' ) ;
     public final EObject rulePhysicalThread() throws RecognitionException {
         EObject current = null;
 
@@ -1411,23 +1539,24 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:587:28: ( ( ( ( (lv_default_0_0= 'DefaultThread' ) ) | otherlv_1= 'Thread' ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) ) otherlv_23= '}' ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:588:1: ( ( ( (lv_default_0_0= 'DefaultThread' ) ) | otherlv_1= 'Thread' ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) ) otherlv_23= '}' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:587:28: ( ( ( ( (lv_default_0_0= 'DefaultThread' ) ) | otherlv_1= 'Thread' ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) ) otherlv_23= '}' ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:588:1: ( ( ( (lv_default_0_0= 'DefaultThread' ) ) | otherlv_1= 'Thread' ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) ) otherlv_23= '}' )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:588:1: ( ( ( (lv_default_0_0= 'DefaultThread' ) ) | otherlv_1= 'Thread' ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) ) otherlv_23= '}' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:588:2: ( ( (lv_default_0_0= 'DefaultThread' ) ) | otherlv_1= 'Thread' ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) ) otherlv_23= '}'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:588:1: ( ( ( (lv_default_0_0= 'DefaultThread' ) ) | otherlv_1= 'Thread' ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) ) otherlv_23= '}' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:588:2: ( ( (lv_default_0_0= 'DefaultThread' ) ) | otherlv_1= 'Thread' ) ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) ) otherlv_23= '}'
             {
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:588:2: ( ( (lv_default_0_0= 'DefaultThread' ) ) | otherlv_1= 'Thread' )
             int alt9=2;
             int LA9_0 = input.LA(1);
 
-            if ( (LA9_0==24) ) {
+            if ( (LA9_0==23) ) {
                 alt9=1;
             }
-            else if ( (LA9_0==25) ) {
+            else if ( (LA9_0==24) ) {
                 alt9=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 9, 0, input);
 
@@ -1443,16 +1572,20 @@
                     // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:589:1: (lv_default_0_0= 'DefaultThread' )
                     // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:590:3: lv_default_0_0= 'DefaultThread'
                     {
-                    lv_default_0_0=(Token)match(input,24,FOLLOW_24_in_rulePhysicalThread1207); 
+                    lv_default_0_0=(Token)match(input,23,FOLLOW_23_in_rulePhysicalThread1207); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            newLeafNode(lv_default_0_0, grammarAccess.getPhysicalThreadAccess().getDefaultDefaultThreadKeyword_0_0_0());
-                        
+                              newLeafNode(lv_default_0_0, grammarAccess.getPhysicalThreadAccess().getDefaultDefaultThreadKeyword_0_0_0());
+                          
+                    }
+                    if ( state.backtracking==0 ) {
 
-                    	        if (current==null) {
-                    	            current = createModelElement(grammarAccess.getPhysicalThreadRule());
-                    	        }
-                           		setWithLastConsumed(current, "default", true, "DefaultThread");
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getPhysicalThreadRule());
+                      	        }
+                             		setWithLastConsumed(current, "default", true, "DefaultThread");
+                      	    
+                    }
 
                     }
 
@@ -1465,10 +1598,12 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:604:7: otherlv_1= 'Thread'
                     {
-                    otherlv_1=(Token)match(input,25,FOLLOW_25_in_rulePhysicalThread1238); 
+                    otherlv_1=(Token)match(input,24,FOLLOW_24_in_rulePhysicalThread1238); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_1, grammarAccess.getPhysicalThreadAccess().getThreadKeyword_0_1());
-                        
+                          	newLeafNode(otherlv_1, grammarAccess.getPhysicalThreadAccess().getThreadKeyword_0_1());
+                          
+                    }
 
                     }
                     break;
@@ -1481,65 +1616,69 @@
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:609:1: (lv_name_2_0= RULE_ID )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:610:3: lv_name_2_0= RULE_ID
             {
-            lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePhysicalThread1256); 
+            lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePhysicalThread1256); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_name_2_0, grammarAccess.getPhysicalThreadAccess().getNameIDTerminalRuleCall_1_0()); 
-            		
+              			newLeafNode(lv_name_2_0, grammarAccess.getPhysicalThreadAccess().getNameIDTerminalRuleCall_1_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getPhysicalThreadRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"name",
-                    		lv_name_2_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getPhysicalThreadRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"name",
+                      		lv_name_2_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_rulePhysicalThread1273); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_rulePhysicalThread1273); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_3, grammarAccess.getPhysicalThreadAccess().getLeftCurlyBracketKeyword_2());
-                
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:630:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:632:1: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) )
+                  	newLeafNode(otherlv_3, grammarAccess.getPhysicalThreadAccess().getLeftCurlyBracketKeyword_2());
+                  
+            }
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:630:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:632:1: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:632:1: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:633:2: ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?)
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:632:1: ( ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:633:2: ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?)
             {
-             
-            	  getUnorderedGroupHelper().enter(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
-            	
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:636:2: ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?)
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:637:3: ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?
+            getUnorderedGroupHelper().enter(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:636:2: ( ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?)
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:637:3: ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+ {...}?
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:637:3: ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:637:3: ( ({...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) ) ) )+
             int cnt10=0;
             loop10:
             do {
                 int alt10=7;
                 int LA10_0 = input.LA(1);
 
-                if ( LA10_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
+                if ( LA10_0 ==25 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
                     alt10=1;
                 }
-                else if ( LA10_0 ==27 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
+                else if ( LA10_0 ==26 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
                     alt10=2;
                 }
-                else if ( LA10_0 ==28 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
+                else if ( LA10_0 ==27 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
                     alt10=3;
                 }
-                else if ( LA10_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
+                else if ( LA10_0 ==28 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
                     alt10=4;
                 }
-                else if ( LA10_0 ==30 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
+                else if ( LA10_0 ==29 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
                     alt10=5;
                 }
-                else if ( LA10_0 ==31 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
+                else if ( LA10_0 ==30 && getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
                     alt10=6;
                 }
 
@@ -1552,56 +1691,64 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:640:5: {...}? => ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0)");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:640:111: ( ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:641:6: ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 0);
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:644:6: ({...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:644:7: {...}? => (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "true");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:644:16: (otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:644:18: otherlv_5= 'execmode' otherlv_6= '=' ( (lv_execmode_7_0= ruleExecMode ) )
             	    {
-            	    otherlv_5=(Token)match(input,26,FOLLOW_26_in_rulePhysicalThread1331); 
+            	    otherlv_5=(Token)match(input,25,FOLLOW_25_in_rulePhysicalThread1331); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_5, grammarAccess.getPhysicalThreadAccess().getExecmodeKeyword_3_0_0());
-            	        
-            	    otherlv_6=(Token)match(input,21,FOLLOW_21_in_rulePhysicalThread1343); 
+            	          	newLeafNode(otherlv_5, grammarAccess.getPhysicalThreadAccess().getExecmodeKeyword_3_0_0());
+            	          
+            	    }
+            	    otherlv_6=(Token)match(input,20,FOLLOW_20_in_rulePhysicalThread1343); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_6, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_0_1());
-            	        
+            	          	newLeafNode(otherlv_6, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_0_1());
+            	          
+            	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:652:1: ( (lv_execmode_7_0= ruleExecMode ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:653:1: (lv_execmode_7_0= ruleExecMode )
             	    {
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:653:1: (lv_execmode_7_0= ruleExecMode )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:654:3: lv_execmode_7_0= ruleExecMode
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getPhysicalThreadAccess().getExecmodeExecModeEnumRuleCall_3_0_2_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPhysicalThreadAccess().getExecmodeExecModeEnumRuleCall_3_0_2_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleExecMode_in_rulePhysicalThread1364);
             	    lv_execmode_7_0=ruleExecMode();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getPhysicalThreadRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"execmode",
-            	            		lv_execmode_7_0, 
-            	            		"ExecMode");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPhysicalThreadRule());
+            	      	        }
+            	             		set(
+            	             			current, 
+            	             			"execmode",
+            	              		lv_execmode_7_0, 
+            	              		"ExecMode");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -1614,9 +1761,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
 
             	    }
 
@@ -1633,56 +1778,64 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:678:5: {...}? => ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1)");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:678:111: ( ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:679:6: ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 1);
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:682:6: ({...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:682:7: {...}? => (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "true");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:682:16: (otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:682:18: otherlv_8= 'interval' otherlv_9= '=' ( (lv_time_10_0= ruleTIME ) )
             	    {
-            	    otherlv_8=(Token)match(input,27,FOLLOW_27_in_rulePhysicalThread1432); 
+            	    otherlv_8=(Token)match(input,26,FOLLOW_26_in_rulePhysicalThread1432); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_8, grammarAccess.getPhysicalThreadAccess().getIntervalKeyword_3_1_0());
-            	        
-            	    otherlv_9=(Token)match(input,21,FOLLOW_21_in_rulePhysicalThread1444); 
+            	          	newLeafNode(otherlv_8, grammarAccess.getPhysicalThreadAccess().getIntervalKeyword_3_1_0());
+            	          
+            	    }
+            	    otherlv_9=(Token)match(input,20,FOLLOW_20_in_rulePhysicalThread1444); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_9, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_1_1());
-            	        
+            	          	newLeafNode(otherlv_9, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_1_1());
+            	          
+            	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:690:1: ( (lv_time_10_0= ruleTIME ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:691:1: (lv_time_10_0= ruleTIME )
             	    {
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:691:1: (lv_time_10_0= ruleTIME )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:692:3: lv_time_10_0= ruleTIME
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getPhysicalThreadAccess().getTimeTIMEParserRuleCall_3_1_2_0()); 
-            	    	    
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPhysicalThreadAccess().getTimeTIMEParserRuleCall_3_1_2_0()); 
+            	      	    
+            	    }
             	    pushFollow(FOLLOW_ruleTIME_in_rulePhysicalThread1465);
             	    lv_time_10_0=ruleTIME();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getPhysicalThreadRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"time",
-            	            		lv_time_10_0, 
-            	            		"TIME");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPhysicalThreadRule());
+            	      	        }
+            	             		set(
+            	             			current, 
+            	             			"time",
+            	              		lv_time_10_0, 
+            	              		"TIME");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -1695,9 +1848,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
 
             	    }
 
@@ -1708,62 +1859,70 @@
             	    }
             	    break;
             	case 3 :
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:715:4: ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:715:4: ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) )
             	    {
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:715:4: ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:716:5: {...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:715:4: ({...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:716:5: {...}? => ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2)");
             	    }
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:716:111: ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:717:6: ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:716:111: ( ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:717:6: ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2);
-            	    	 				
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:720:6: ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:720:7: {...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) )
+            	    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 2);
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:720:6: ({...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:720:7: {...}? => (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "true");
             	    }
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:720:16: (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:720:18: otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= rulePRIO ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:720:16: (otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:720:18: otherlv_11= 'prio' otherlv_12= '=' ( (lv_prio_13_0= ruleInteger ) )
             	    {
-            	    otherlv_11=(Token)match(input,28,FOLLOW_28_in_rulePhysicalThread1533); 
+            	    otherlv_11=(Token)match(input,27,FOLLOW_27_in_rulePhysicalThread1533); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_11, grammarAccess.getPhysicalThreadAccess().getPrioKeyword_3_2_0());
-            	        
-            	    otherlv_12=(Token)match(input,21,FOLLOW_21_in_rulePhysicalThread1545); 
+            	          	newLeafNode(otherlv_11, grammarAccess.getPhysicalThreadAccess().getPrioKeyword_3_2_0());
+            	          
+            	    }
+            	    otherlv_12=(Token)match(input,20,FOLLOW_20_in_rulePhysicalThread1545); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_12, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_2_1());
-            	        
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:728:1: ( (lv_prio_13_0= rulePRIO ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:729:1: (lv_prio_13_0= rulePRIO )
+            	          	newLeafNode(otherlv_12, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_2_1());
+            	          
+            	    }
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:728:1: ( (lv_prio_13_0= ruleInteger ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:729:1: (lv_prio_13_0= ruleInteger )
             	    {
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:729:1: (lv_prio_13_0= rulePRIO )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:730:3: lv_prio_13_0= rulePRIO
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:729:1: (lv_prio_13_0= ruleInteger )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:730:3: lv_prio_13_0= ruleInteger
             	    {
-            	     
-            	    	        newCompositeNode(grammarAccess.getPhysicalThreadAccess().getPrioPRIOParserRuleCall_3_2_2_0()); 
-            	    	    
-            	    pushFollow(FOLLOW_rulePRIO_in_rulePhysicalThread1566);
-            	    lv_prio_13_0=rulePRIO();
+            	    if ( state.backtracking==0 ) {
+            	       
+            	      	        newCompositeNode(grammarAccess.getPhysicalThreadAccess().getPrioIntegerParserRuleCall_3_2_2_0()); 
+            	      	    
+            	    }
+            	    pushFollow(FOLLOW_ruleInteger_in_rulePhysicalThread1566);
+            	    lv_prio_13_0=ruleInteger();
 
             	    state._fsp--;
+            	    if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-
-            	    	        if (current==null) {
-            	    	            current = createModelElementForParent(grammarAccess.getPhysicalThreadRule());
-            	    	        }
-            	           		set(
-            	           			current, 
-            	           			"prio",
-            	            		lv_prio_13_0, 
-            	            		"PRIO");
-            	    	        afterParserOrEnumRuleCall();
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElementForParent(grammarAccess.getPhysicalThreadRule());
+            	      	        }
+            	             		set(
+            	             			current, 
+            	             			"prio",
+            	              		lv_prio_13_0, 
+            	              		"Integer");
+            	      	        afterParserOrEnumRuleCall();
+            	      	    
+            	    }
 
             	    }
 
@@ -1776,9 +1935,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
 
             	    }
 
@@ -1795,51 +1952,59 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:754:5: {...}? => ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3)");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:754:111: ( ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:755:6: ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 3);
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:758:6: ({...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:758:7: {...}? => (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "true");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:758:16: (otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:758:18: otherlv_14= 'stacksize' otherlv_15= '=' ( (lv_stacksize_16_0= RULE_INT ) )
             	    {
-            	    otherlv_14=(Token)match(input,29,FOLLOW_29_in_rulePhysicalThread1634); 
+            	    otherlv_14=(Token)match(input,28,FOLLOW_28_in_rulePhysicalThread1634); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_14, grammarAccess.getPhysicalThreadAccess().getStacksizeKeyword_3_3_0());
-            	        
-            	    otherlv_15=(Token)match(input,21,FOLLOW_21_in_rulePhysicalThread1646); 
+            	          	newLeafNode(otherlv_14, grammarAccess.getPhysicalThreadAccess().getStacksizeKeyword_3_3_0());
+            	          
+            	    }
+            	    otherlv_15=(Token)match(input,20,FOLLOW_20_in_rulePhysicalThread1646); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_15, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_3_1());
-            	        
+            	          	newLeafNode(otherlv_15, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_3_1());
+            	          
+            	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:766:1: ( (lv_stacksize_16_0= RULE_INT ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:767:1: (lv_stacksize_16_0= RULE_INT )
             	    {
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:767:1: (lv_stacksize_16_0= RULE_INT )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:768:3: lv_stacksize_16_0= RULE_INT
             	    {
-            	    lv_stacksize_16_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePhysicalThread1663); 
+            	    lv_stacksize_16_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePhysicalThread1663); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	    			newLeafNode(lv_stacksize_16_0, grammarAccess.getPhysicalThreadAccess().getStacksizeINTTerminalRuleCall_3_3_2_0()); 
-            	    		
+            	      			newLeafNode(lv_stacksize_16_0, grammarAccess.getPhysicalThreadAccess().getStacksizeINTTerminalRuleCall_3_3_2_0()); 
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-            	    	        if (current==null) {
-            	    	            current = createModelElement(grammarAccess.getPhysicalThreadRule());
-            	    	        }
-            	           		setWithLastConsumed(
-            	           			current, 
-            	           			"stacksize",
-            	            		lv_stacksize_16_0, 
-            	            		"INT");
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getPhysicalThreadRule());
+            	      	        }
+            	             		setWithLastConsumed(
+            	             			current, 
+            	             			"stacksize",
+            	              		lv_stacksize_16_0, 
+            	              		"INT");
+            	      	    
+            	    }
 
             	    }
 
@@ -1852,9 +2017,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
 
             	    }
 
@@ -1871,51 +2034,59 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:792:5: {...}? => ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4)");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:792:111: ( ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:793:6: ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 4);
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:796:6: ({...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:796:7: {...}? => (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "true");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:796:16: (otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:796:18: otherlv_17= 'msgblocksize' otherlv_18= '=' ( (lv_msgblocksize_19_0= RULE_INT ) )
             	    {
-            	    otherlv_17=(Token)match(input,30,FOLLOW_30_in_rulePhysicalThread1736); 
+            	    otherlv_17=(Token)match(input,29,FOLLOW_29_in_rulePhysicalThread1736); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_17, grammarAccess.getPhysicalThreadAccess().getMsgblocksizeKeyword_3_4_0());
-            	        
-            	    otherlv_18=(Token)match(input,21,FOLLOW_21_in_rulePhysicalThread1748); 
+            	          	newLeafNode(otherlv_17, grammarAccess.getPhysicalThreadAccess().getMsgblocksizeKeyword_3_4_0());
+            	          
+            	    }
+            	    otherlv_18=(Token)match(input,20,FOLLOW_20_in_rulePhysicalThread1748); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_18, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_4_1());
-            	        
+            	          	newLeafNode(otherlv_18, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_4_1());
+            	          
+            	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:804:1: ( (lv_msgblocksize_19_0= RULE_INT ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:805:1: (lv_msgblocksize_19_0= RULE_INT )
             	    {
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:805:1: (lv_msgblocksize_19_0= RULE_INT )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:806:3: lv_msgblocksize_19_0= RULE_INT
             	    {
-            	    lv_msgblocksize_19_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePhysicalThread1765); 
+            	    lv_msgblocksize_19_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePhysicalThread1765); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	    			newLeafNode(lv_msgblocksize_19_0, grammarAccess.getPhysicalThreadAccess().getMsgblocksizeINTTerminalRuleCall_3_4_2_0()); 
-            	    		
+            	      			newLeafNode(lv_msgblocksize_19_0, grammarAccess.getPhysicalThreadAccess().getMsgblocksizeINTTerminalRuleCall_3_4_2_0()); 
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-            	    	        if (current==null) {
-            	    	            current = createModelElement(grammarAccess.getPhysicalThreadRule());
-            	    	        }
-            	           		setWithLastConsumed(
-            	           			current, 
-            	           			"msgblocksize",
-            	            		lv_msgblocksize_19_0, 
-            	            		"INT");
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getPhysicalThreadRule());
+            	      	        }
+            	             		setWithLastConsumed(
+            	             			current, 
+            	             			"msgblocksize",
+            	              		lv_msgblocksize_19_0, 
+            	              		"INT");
+            	      	    
+            	    }
 
             	    }
 
@@ -1928,9 +2099,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
 
             	    }
 
@@ -1947,51 +2116,59 @@
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:830:5: {...}? => ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) )
             	    {
             	    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "getUnorderedGroupHelper().canSelect(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5)");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:830:111: ( ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:831:6: ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) )
             	    {
-            	     
-            	    	 				  getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5);
-            	    	 				
+            	    getUnorderedGroupHelper().select(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3(), 5);
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:834:6: ({...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:834:7: {...}? => (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) )
             	    {
             	    if ( !((true)) ) {
+            	        if (state.backtracking>0) {state.failed=true; return current;}
             	        throw new FailedPredicateException(input, "rulePhysicalThread", "true");
             	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:834:16: (otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:834:18: otherlv_20= 'msgpoolsize' otherlv_21= '=' ( (lv_msgpoolsize_22_0= RULE_INT ) )
             	    {
-            	    otherlv_20=(Token)match(input,31,FOLLOW_31_in_rulePhysicalThread1838); 
+            	    otherlv_20=(Token)match(input,30,FOLLOW_30_in_rulePhysicalThread1838); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_20, grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeKeyword_3_5_0());
-            	        
-            	    otherlv_21=(Token)match(input,21,FOLLOW_21_in_rulePhysicalThread1850); 
+            	          	newLeafNode(otherlv_20, grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeKeyword_3_5_0());
+            	          
+            	    }
+            	    otherlv_21=(Token)match(input,20,FOLLOW_20_in_rulePhysicalThread1850); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_21, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_5_1());
-            	        
+            	          	newLeafNode(otherlv_21, grammarAccess.getPhysicalThreadAccess().getEqualsSignKeyword_3_5_1());
+            	          
+            	    }
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:842:1: ( (lv_msgpoolsize_22_0= RULE_INT ) )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:843:1: (lv_msgpoolsize_22_0= RULE_INT )
             	    {
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:843:1: (lv_msgpoolsize_22_0= RULE_INT )
             	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:844:3: lv_msgpoolsize_22_0= RULE_INT
             	    {
-            	    lv_msgpoolsize_22_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePhysicalThread1867); 
+            	    lv_msgpoolsize_22_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePhysicalThread1867); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	    			newLeafNode(lv_msgpoolsize_22_0, grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeINTTerminalRuleCall_3_5_2_0()); 
-            	    		
+            	      			newLeafNode(lv_msgpoolsize_22_0, grammarAccess.getPhysicalThreadAccess().getMsgpoolsizeINTTerminalRuleCall_3_5_2_0()); 
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-            	    	        if (current==null) {
-            	    	            current = createModelElement(grammarAccess.getPhysicalThreadRule());
-            	    	        }
-            	           		setWithLastConsumed(
-            	           			current, 
-            	           			"msgpoolsize",
-            	            		lv_msgpoolsize_22_0, 
-            	            		"INT");
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getPhysicalThreadRule());
+            	      	        }
+            	             		setWithLastConsumed(
+            	             			current, 
+            	             			"msgpoolsize",
+            	              		lv_msgpoolsize_22_0, 
+            	              		"INT");
+            	      	    
+            	    }
 
             	    }
 
@@ -2004,9 +2181,7 @@
 
             	    }
 
-            	     
-            	    	 				  getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
-            	    	 				
+            	    getUnorderedGroupHelper().returnFromSelection(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
 
             	    }
 
@@ -2019,6 +2194,7 @@
 
             	default :
             	    if ( cnt10 >= 1 ) break loop10;
+            	    if (state.backtracking>0) {state.failed=true; return current;}
                         EarlyExitException eee =
                             new EarlyExitException(10, input);
                         throw eee;
@@ -2027,6 +2203,7 @@
             } while (true);
 
             if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3()) ) {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 throw new FailedPredicateException(input, "rulePhysicalThread", "getUnorderedGroupHelper().canLeave(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3())");
             }
 
@@ -2035,23 +2212,25 @@
 
             }
 
-             
-            	  getUnorderedGroupHelper().leave(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
-            	
+            getUnorderedGroupHelper().leave(grammarAccess.getPhysicalThreadAccess().getUnorderedGroup_3());
 
             }
 
-            otherlv_23=(Token)match(input,15,FOLLOW_15_in_rulePhysicalThread1931); 
+            otherlv_23=(Token)match(input,14,FOLLOW_14_in_rulePhysicalThread1931); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_23, grammarAccess.getPhysicalThreadAccess().getRightCurlyBracketKeyword_4());
-                
+                  	newLeafNode(otherlv_23, grammarAccess.getPhysicalThreadAccess().getRightCurlyBracketKeyword_4());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -2077,14 +2256,18 @@
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:888:2: (iv_ruleRuntimeClass= ruleRuntimeClass EOF )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:889:2: iv_ruleRuntimeClass= ruleRuntimeClass EOF
             {
-             newCompositeNode(grammarAccess.getRuntimeClassRule()); 
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getRuntimeClassRule()); 
+            }
             pushFollow(FOLLOW_ruleRuntimeClass_in_entryRuleRuntimeClass1967);
             iv_ruleRuntimeClass=ruleRuntimeClass();
 
             state._fsp--;
-
-             current =iv_ruleRuntimeClass; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRuntimeClass1977); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleRuntimeClass; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRuntimeClass1977); if (state.failed) return current;
 
             }
 
@@ -2126,30 +2309,36 @@
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:900:1: (otherlv_0= 'RuntimeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' otherlv_4= 'model' otherlv_5= '=' ( (lv_threadModel_6_0= ruleThreadModel ) ) otherlv_7= '}' )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:900:3: otherlv_0= 'RuntimeClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' otherlv_4= 'model' otherlv_5= '=' ( (lv_threadModel_6_0= ruleThreadModel ) ) otherlv_7= '}'
             {
-            otherlv_0=(Token)match(input,32,FOLLOW_32_in_ruleRuntimeClass2014); 
+            otherlv_0=(Token)match(input,31,FOLLOW_31_in_ruleRuntimeClass2014); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getRuntimeClassAccess().getRuntimeClassKeyword_0());
-                
+                  	newLeafNode(otherlv_0, grammarAccess.getRuntimeClassAccess().getRuntimeClassKeyword_0());
+                  
+            }
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:904:1: ( (lv_name_1_0= RULE_ID ) )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:905:1: (lv_name_1_0= RULE_ID )
             {
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:905:1: (lv_name_1_0= RULE_ID )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:906:3: lv_name_1_0= RULE_ID
             {
-            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuntimeClass2031); 
+            lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRuntimeClass2031); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_name_1_0, grammarAccess.getRuntimeClassAccess().getNameIDTerminalRuleCall_1_0()); 
-            		
+              			newLeafNode(lv_name_1_0, grammarAccess.getRuntimeClassAccess().getNameIDTerminalRuleCall_1_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getRuntimeClassRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"name",
-                    		lv_name_1_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getRuntimeClassRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"name",
+                      		lv_name_1_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
@@ -2160,7 +2349,7 @@
             int alt11=2;
             int LA11_0 = input.LA(1);
 
-            if ( (LA11_0==43) ) {
+            if ( (LA11_0==40) ) {
                 alt11=1;
             }
             switch (alt11) {
@@ -2170,25 +2359,29 @@
                     // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:923:1: (lv_docu_2_0= ruleDocumentation )
                     // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:924:3: lv_docu_2_0= ruleDocumentation
                     {
-                     
-                    	        newCompositeNode(grammarAccess.getRuntimeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
-                    	    
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getRuntimeClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
+                      	    
+                    }
                     pushFollow(FOLLOW_ruleDocumentation_in_ruleRuntimeClass2057);
                     lv_docu_2_0=ruleDocumentation();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getRuntimeClassRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"docu",
-                            		lv_docu_2_0, 
-                            		"Documentation");
-                    	        afterParserOrEnumRuleCall();
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getRuntimeClassRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"docu",
+                              		lv_docu_2_0, 
+                              		"Documentation");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
 
                     }
 
@@ -2198,60 +2391,74 @@
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleRuntimeClass2070); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleRuntimeClass2070); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_3, grammarAccess.getRuntimeClassAccess().getLeftCurlyBracketKeyword_3());
-                
-            otherlv_4=(Token)match(input,33,FOLLOW_33_in_ruleRuntimeClass2082); 
+                  	newLeafNode(otherlv_3, grammarAccess.getRuntimeClassAccess().getLeftCurlyBracketKeyword_3());
+                  
+            }
+            otherlv_4=(Token)match(input,32,FOLLOW_32_in_ruleRuntimeClass2082); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_4, grammarAccess.getRuntimeClassAccess().getModelKeyword_4());
-                
-            otherlv_5=(Token)match(input,21,FOLLOW_21_in_ruleRuntimeClass2094); 
+                  	newLeafNode(otherlv_4, grammarAccess.getRuntimeClassAccess().getModelKeyword_4());
+                  
+            }
+            otherlv_5=(Token)match(input,20,FOLLOW_20_in_ruleRuntimeClass2094); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_5, grammarAccess.getRuntimeClassAccess().getEqualsSignKeyword_5());
-                
+                  	newLeafNode(otherlv_5, grammarAccess.getRuntimeClassAccess().getEqualsSignKeyword_5());
+                  
+            }
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:952:1: ( (lv_threadModel_6_0= ruleThreadModel ) )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:953:1: (lv_threadModel_6_0= ruleThreadModel )
             {
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:953:1: (lv_threadModel_6_0= ruleThreadModel )
             // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:954:3: lv_threadModel_6_0= ruleThreadModel
             {
-             
-            	        newCompositeNode(grammarAccess.getRuntimeClassAccess().getThreadModelThreadModelEnumRuleCall_6_0()); 
-            	    
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getRuntimeClassAccess().getThreadModelThreadModelEnumRuleCall_6_0()); 
+              	    
+            }
             pushFollow(FOLLOW_ruleThreadModel_in_ruleRuntimeClass2115);
             lv_threadModel_6_0=ruleThreadModel();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRuntimeClassRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"threadModel",
-                    		lv_threadModel_6_0, 
-                    		"ThreadModel");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getRuntimeClassRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"threadModel",
+                      		lv_threadModel_6_0, 
+                      		"ThreadModel");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleRuntimeClass2127); 
+            otherlv_7=(Token)match(input,14,FOLLOW_14_in_ruleRuntimeClass2127); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_7, grammarAccess.getRuntimeClassAccess().getRightCurlyBracketKeyword_7());
-                
+                  	newLeafNode(otherlv_7, grammarAccess.getRuntimeClassAccess().getRightCurlyBracketKeyword_7());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -2265,134 +2472,8 @@
     // $ANTLR end "ruleRuntimeClass"
 
 
-    // $ANTLR start "entryRulePRIO"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:982:1: entryRulePRIO returns [String current=null] : iv_rulePRIO= rulePRIO EOF ;
-    public final String entryRulePRIO() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_rulePRIO = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:986:2: (iv_rulePRIO= rulePRIO EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:987:2: iv_rulePRIO= rulePRIO EOF
-            {
-             newCompositeNode(grammarAccess.getPRIORule()); 
-            pushFollow(FOLLOW_rulePRIO_in_entryRulePRIO2170);
-            iv_rulePRIO=rulePRIO();
-
-            state._fsp--;
-
-             current =iv_rulePRIO.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRulePRIO2181); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRulePRIO"
-
-
-    // $ANTLR start "rulePRIO"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:997:1: rulePRIO returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken rulePRIO() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1001:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1002:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1002:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1002:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1002:2: (kw= '+' | kw= '-' )?
-            int alt12=3;
-            int LA12_0 = input.LA(1);
-
-            if ( (LA12_0==34) ) {
-                alt12=1;
-            }
-            else if ( (LA12_0==35) ) {
-                alt12=2;
-            }
-            switch (alt12) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1003:2: kw= '+'
-                    {
-                    kw=(Token)match(input,34,FOLLOW_34_in_rulePRIO2224); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getPRIOAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1010:2: kw= '-'
-                    {
-                    kw=(Token)match(input,35,FOLLOW_35_in_rulePRIO2243); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getPRIOAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePRIO2260); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getPRIOAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "rulePRIO"
-
-
     // $ANTLR start "entryRuleKeyValue"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1035:1: entryRuleKeyValue returns [EObject current=null] : iv_ruleKeyValue= ruleKeyValue EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:984:1: entryRuleKeyValue returns [EObject current=null] : iv_ruleKeyValue= ruleKeyValue EOF ;
     public final EObject entryRuleKeyValue() throws RecognitionException {
         EObject current = null;
 
@@ -2400,17 +2481,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1036:2: (iv_ruleKeyValue= ruleKeyValue EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1037:2: iv_ruleKeyValue= ruleKeyValue EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:985:2: (iv_ruleKeyValue= ruleKeyValue EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:986:2: iv_ruleKeyValue= ruleKeyValue EOF
             {
-             newCompositeNode(grammarAccess.getKeyValueRule()); 
-            pushFollow(FOLLOW_ruleKeyValue_in_entryRuleKeyValue2311);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getKeyValueRule()); 
+            }
+            pushFollow(FOLLOW_ruleKeyValue_in_entryRuleKeyValue2165);
             iv_ruleKeyValue=ruleKeyValue();
 
             state._fsp--;
-
-             current =iv_ruleKeyValue; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleKeyValue2321); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleKeyValue; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleKeyValue2175); if (state.failed) return current;
 
             }
 
@@ -2428,7 +2513,7 @@
 
 
     // $ANTLR start "ruleKeyValue"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1044:1: ruleKeyValue returns [EObject current=null] : ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleLiteral ) ) ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:993:1: ruleKeyValue returns [EObject current=null] : ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleLiteral ) ) ) ;
     public final EObject ruleKeyValue() throws RecognitionException {
         EObject current = null;
 
@@ -2440,67 +2525,77 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1047:28: ( ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleLiteral ) ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1048:1: ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleLiteral ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:996:28: ( ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleLiteral ) ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:997:1: ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleLiteral ) ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1048:1: ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleLiteral ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1048:2: ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleLiteral ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:997:1: ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleLiteral ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:997:2: ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleLiteral ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1048:2: ( (lv_key_0_0= RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1049:1: (lv_key_0_0= RULE_ID )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:997:2: ( (lv_key_0_0= RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:998:1: (lv_key_0_0= RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1049:1: (lv_key_0_0= RULE_ID )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1050:3: lv_key_0_0= RULE_ID
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:998:1: (lv_key_0_0= RULE_ID )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:999:3: lv_key_0_0= RULE_ID
             {
-            lv_key_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleKeyValue2363); 
+            lv_key_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleKeyValue2217); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_key_0_0, grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
-            		
+              			newLeafNode(lv_key_0_0, grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getKeyValueRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"key",
-                    		lv_key_0_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getKeyValueRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"key",
+                      		lv_key_0_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_1=(Token)match(input,21,FOLLOW_21_in_ruleKeyValue2380); 
+            otherlv_1=(Token)match(input,20,FOLLOW_20_in_ruleKeyValue2234); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_1, grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1());
-                
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1070:1: ( (lv_value_2_0= ruleLiteral ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1071:1: (lv_value_2_0= ruleLiteral )
+                  	newLeafNode(otherlv_1, grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1());
+                  
+            }
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1019:1: ( (lv_value_2_0= ruleLiteral ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1020:1: (lv_value_2_0= ruleLiteral )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1071:1: (lv_value_2_0= ruleLiteral )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1072:3: lv_value_2_0= ruleLiteral
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1020:1: (lv_value_2_0= ruleLiteral )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1021:3: lv_value_2_0= ruleLiteral
             {
-             
-            	        newCompositeNode(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
-            	    
-            pushFollow(FOLLOW_ruleLiteral_in_ruleKeyValue2401);
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleLiteral_in_ruleKeyValue2255);
             lv_value_2_0=ruleLiteral();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getKeyValueRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_2_0, 
-                    		"Literal");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getKeyValueRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"value",
+                      		lv_value_2_0, 
+                      		"Literal");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -2513,7 +2608,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -2528,7 +2625,7 @@
 
 
     // $ANTLR start "entryRuleAnnotationTargetType"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1098:1: entryRuleAnnotationTargetType returns [String current=null] : iv_ruleAnnotationTargetType= ruleAnnotationTargetType EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1047:1: entryRuleAnnotationTargetType returns [String current=null] : iv_ruleAnnotationTargetType= ruleAnnotationTargetType EOF ;
     public final String entryRuleAnnotationTargetType() throws RecognitionException {
         String current = null;
 
@@ -2536,17 +2633,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1099:2: (iv_ruleAnnotationTargetType= ruleAnnotationTargetType EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1100:2: iv_ruleAnnotationTargetType= ruleAnnotationTargetType EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1048:2: (iv_ruleAnnotationTargetType= ruleAnnotationTargetType EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1049:2: iv_ruleAnnotationTargetType= ruleAnnotationTargetType EOF
             {
-             newCompositeNode(grammarAccess.getAnnotationTargetTypeRule()); 
-            pushFollow(FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType2440);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getAnnotationTargetTypeRule()); 
+            }
+            pushFollow(FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType2294);
             iv_ruleAnnotationTargetType=ruleAnnotationTargetType();
 
             state._fsp--;
-
-             current =iv_ruleAnnotationTargetType.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationTargetType2451); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleAnnotationTargetType.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationTargetType2305); if (state.failed) return current;
 
             }
 
@@ -2564,7 +2665,7 @@
 
 
     // $ANTLR start "ruleAnnotationTargetType"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1107:1: ruleAnnotationTargetType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1056:1: ruleAnnotationTargetType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ;
     public final AntlrDatatypeRuleToken ruleAnnotationTargetType() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -2573,20 +2674,26 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1110:28: (this_ID_0= RULE_ID )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1111:5: this_ID_0= RULE_ID
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1059:28: (this_ID_0= RULE_ID )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1060:5: this_ID_0= RULE_ID
             {
-            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAnnotationTargetType2490); 
+            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAnnotationTargetType2344); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_ID_0);
-                
-             
-                newLeafNode(this_ID_0, grammarAccess.getAnnotationTargetTypeAccess().getIDTerminalRuleCall()); 
-                
+              		current.merge(this_ID_0);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_ID_0, grammarAccess.getAnnotationTargetTypeAccess().getIDTerminalRuleCall()); 
+                  
+            }
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -2601,7 +2708,7 @@
 
 
     // $ANTLR start "entryRuleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1126:1: entryRuleAnnotationAttribute returns [EObject current=null] : iv_ruleAnnotationAttribute= ruleAnnotationAttribute EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1075:1: entryRuleAnnotationAttribute returns [EObject current=null] : iv_ruleAnnotationAttribute= ruleAnnotationAttribute EOF ;
     public final EObject entryRuleAnnotationAttribute() throws RecognitionException {
         EObject current = null;
 
@@ -2609,17 +2716,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1127:2: (iv_ruleAnnotationAttribute= ruleAnnotationAttribute EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1128:2: iv_ruleAnnotationAttribute= ruleAnnotationAttribute EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1076:2: (iv_ruleAnnotationAttribute= ruleAnnotationAttribute EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1077:2: iv_ruleAnnotationAttribute= ruleAnnotationAttribute EOF
             {
-             newCompositeNode(grammarAccess.getAnnotationAttributeRule()); 
-            pushFollow(FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute2534);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getAnnotationAttributeRule()); 
+            }
+            pushFollow(FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute2388);
             iv_ruleAnnotationAttribute=ruleAnnotationAttribute();
 
             state._fsp--;
-
-             current =iv_ruleAnnotationAttribute; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationAttribute2544); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleAnnotationAttribute; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleAnnotationAttribute2398); if (state.failed) return current;
 
             }
 
@@ -2637,7 +2748,7 @@
 
 
     // $ANTLR start "ruleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1135:1: ruleAnnotationAttribute returns [EObject current=null] : (this_SimpleAnnotationAttribute_0= ruleSimpleAnnotationAttribute | this_EnumAnnotationAttribute_1= ruleEnumAnnotationAttribute ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1084:1: ruleAnnotationAttribute returns [EObject current=null] : (this_SimpleAnnotationAttribute_0= ruleSimpleAnnotationAttribute | this_EnumAnnotationAttribute_1= ruleEnumAnnotationAttribute ) ;
     public final EObject ruleAnnotationAttribute() throws RecognitionException {
         EObject current = null;
 
@@ -2649,145 +2760,162 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1138:28: ( (this_SimpleAnnotationAttribute_0= ruleSimpleAnnotationAttribute | this_EnumAnnotationAttribute_1= ruleEnumAnnotationAttribute ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1139:1: (this_SimpleAnnotationAttribute_0= ruleSimpleAnnotationAttribute | this_EnumAnnotationAttribute_1= ruleEnumAnnotationAttribute )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1087:28: ( (this_SimpleAnnotationAttribute_0= ruleSimpleAnnotationAttribute | this_EnumAnnotationAttribute_1= ruleEnumAnnotationAttribute ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1088:1: (this_SimpleAnnotationAttribute_0= ruleSimpleAnnotationAttribute | this_EnumAnnotationAttribute_1= ruleEnumAnnotationAttribute )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1139:1: (this_SimpleAnnotationAttribute_0= ruleSimpleAnnotationAttribute | this_EnumAnnotationAttribute_1= ruleEnumAnnotationAttribute )
-            int alt13=2;
-            int LA13_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1088:1: (this_SimpleAnnotationAttribute_0= ruleSimpleAnnotationAttribute | this_EnumAnnotationAttribute_1= ruleEnumAnnotationAttribute )
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA13_0==36) ) {
-                int LA13_1 = input.LA(2);
+            if ( (LA12_0==33) ) {
+                int LA12_1 = input.LA(2);
 
-                if ( (LA13_1==38) ) {
-                    int LA13_3 = input.LA(3);
+                if ( (LA12_1==35) ) {
+                    int LA12_3 = input.LA(3);
 
-                    if ( (LA13_3==RULE_ID) ) {
-                        int LA13_4 = input.LA(4);
+                    if ( (LA12_3==RULE_ID) ) {
+                        int LA12_4 = input.LA(4);
 
-                        if ( (LA13_4==18) ) {
-                            int LA13_5 = input.LA(5);
+                        if ( (LA12_4==17) ) {
+                            int LA12_5 = input.LA(5);
 
-                            if ( ((LA13_5>=57 && LA13_5<=60)) ) {
-                                alt13=1;
+                            if ( ((LA12_5>=58 && LA12_5<=61)) ) {
+                                alt12=1;
                             }
-                            else if ( (LA13_5==14) ) {
-                                alt13=2;
+                            else if ( (LA12_5==13) ) {
+                                alt12=2;
                             }
                             else {
+                                if (state.backtracking>0) {state.failed=true; return current;}
                                 NoViableAltException nvae =
-                                    new NoViableAltException("", 13, 5, input);
+                                    new NoViableAltException("", 12, 5, input);
 
                                 throw nvae;
                             }
                         }
                         else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
                             NoViableAltException nvae =
-                                new NoViableAltException("", 13, 4, input);
+                                new NoViableAltException("", 12, 4, input);
 
                             throw nvae;
                         }
                     }
                     else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 13, 3, input);
+                            new NoViableAltException("", 12, 3, input);
 
                         throw nvae;
                     }
                 }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 13, 1, input);
+                        new NoViableAltException("", 12, 1, input);
 
                     throw nvae;
                 }
             }
-            else if ( (LA13_0==37) ) {
-                int LA13_2 = input.LA(2);
+            else if ( (LA12_0==34) ) {
+                int LA12_2 = input.LA(2);
 
-                if ( (LA13_2==38) ) {
-                    int LA13_3 = input.LA(3);
+                if ( (LA12_2==35) ) {
+                    int LA12_3 = input.LA(3);
 
-                    if ( (LA13_3==RULE_ID) ) {
-                        int LA13_4 = input.LA(4);
+                    if ( (LA12_3==RULE_ID) ) {
+                        int LA12_4 = input.LA(4);
 
-                        if ( (LA13_4==18) ) {
-                            int LA13_5 = input.LA(5);
+                        if ( (LA12_4==17) ) {
+                            int LA12_5 = input.LA(5);
 
-                            if ( ((LA13_5>=57 && LA13_5<=60)) ) {
-                                alt13=1;
+                            if ( ((LA12_5>=58 && LA12_5<=61)) ) {
+                                alt12=1;
                             }
-                            else if ( (LA13_5==14) ) {
-                                alt13=2;
+                            else if ( (LA12_5==13) ) {
+                                alt12=2;
                             }
                             else {
+                                if (state.backtracking>0) {state.failed=true; return current;}
                                 NoViableAltException nvae =
-                                    new NoViableAltException("", 13, 5, input);
+                                    new NoViableAltException("", 12, 5, input);
 
                                 throw nvae;
                             }
                         }
                         else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
                             NoViableAltException nvae =
-                                new NoViableAltException("", 13, 4, input);
+                                new NoViableAltException("", 12, 4, input);
 
                             throw nvae;
                         }
                     }
                     else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 13, 3, input);
+                            new NoViableAltException("", 12, 3, input);
 
                         throw nvae;
                     }
                 }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 13, 2, input);
+                        new NoViableAltException("", 12, 2, input);
 
                     throw nvae;
                 }
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 13, 0, input);
+                    new NoViableAltException("", 12, 0, input);
 
                 throw nvae;
             }
-            switch (alt13) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1140:5: this_SimpleAnnotationAttribute_0= ruleSimpleAnnotationAttribute
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1089:5: this_SimpleAnnotationAttribute_0= ruleSimpleAnnotationAttribute
                     {
-                     
-                            newCompositeNode(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_ruleAnnotationAttribute2591);
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_ruleAnnotationAttribute2445);
                     this_SimpleAnnotationAttribute_0=ruleSimpleAnnotationAttribute();
 
                     state._fsp--;
-
-                     
-                            current = this_SimpleAnnotationAttribute_0; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_SimpleAnnotationAttribute_0; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1150:5: this_EnumAnnotationAttribute_1= ruleEnumAnnotationAttribute
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1099:5: this_EnumAnnotationAttribute_1= ruleEnumAnnotationAttribute
                     {
-                     
-                            newCompositeNode(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_ruleAnnotationAttribute2618);
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_ruleAnnotationAttribute2472);
                     this_EnumAnnotationAttribute_1=ruleEnumAnnotationAttribute();
 
                     state._fsp--;
-
-                     
-                            current = this_EnumAnnotationAttribute_1; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_EnumAnnotationAttribute_1; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
@@ -2797,7 +2925,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -2812,7 +2942,7 @@
 
 
     // $ANTLR start "entryRuleSimpleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1166:1: entryRuleSimpleAnnotationAttribute returns [EObject current=null] : iv_ruleSimpleAnnotationAttribute= ruleSimpleAnnotationAttribute EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1115:1: entryRuleSimpleAnnotationAttribute returns [EObject current=null] : iv_ruleSimpleAnnotationAttribute= ruleSimpleAnnotationAttribute EOF ;
     public final EObject entryRuleSimpleAnnotationAttribute() throws RecognitionException {
         EObject current = null;
 
@@ -2820,17 +2950,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1167:2: (iv_ruleSimpleAnnotationAttribute= ruleSimpleAnnotationAttribute EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1168:2: iv_ruleSimpleAnnotationAttribute= ruleSimpleAnnotationAttribute EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1116:2: (iv_ruleSimpleAnnotationAttribute= ruleSimpleAnnotationAttribute EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1117:2: iv_ruleSimpleAnnotationAttribute= ruleSimpleAnnotationAttribute EOF
             {
-             newCompositeNode(grammarAccess.getSimpleAnnotationAttributeRule()); 
-            pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute2653);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getSimpleAnnotationAttributeRule()); 
+            }
+            pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute2507);
             iv_ruleSimpleAnnotationAttribute=ruleSimpleAnnotationAttribute();
 
             state._fsp--;
-
-             current =iv_ruleSimpleAnnotationAttribute; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute2663); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleSimpleAnnotationAttribute; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute2517); if (state.failed) return current;
 
             }
 
@@ -2848,7 +2982,7 @@
 
 
     // $ANTLR start "ruleSimpleAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1175:1: ruleSimpleAnnotationAttribute returns [EObject current=null] : ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_type_5_0= ruleLiteralType ) ) ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1124:1: ruleSimpleAnnotationAttribute returns [EObject current=null] : ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_type_5_0= ruleLiteralType ) ) ) ;
     public final EObject ruleSimpleAnnotationAttribute() throws RecognitionException {
         EObject current = null;
 
@@ -2863,48 +2997,53 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1178:28: ( ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_type_5_0= ruleLiteralType ) ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1179:1: ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_type_5_0= ruleLiteralType ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1127:28: ( ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_type_5_0= ruleLiteralType ) ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1128:1: ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_type_5_0= ruleLiteralType ) ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1179:1: ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_type_5_0= ruleLiteralType ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1179:2: ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_type_5_0= ruleLiteralType ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1128:1: ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_type_5_0= ruleLiteralType ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1128:2: ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' ( (lv_type_5_0= ruleLiteralType ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1179:2: ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' )
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1128:2: ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' )
+            int alt13=2;
+            int LA13_0 = input.LA(1);
 
-            if ( (LA14_0==36) ) {
-                alt14=1;
+            if ( (LA13_0==33) ) {
+                alt13=1;
             }
-            else if ( (LA14_0==37) ) {
-                alt14=2;
+            else if ( (LA13_0==34) ) {
+                alt13=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 14, 0, input);
+                    new NoViableAltException("", 13, 0, input);
 
                 throw nvae;
             }
-            switch (alt14) {
+            switch (alt13) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1179:3: ( (lv_optional_0_0= 'optional' ) )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1128:3: ( (lv_optional_0_0= 'optional' ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1179:3: ( (lv_optional_0_0= 'optional' ) )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1180:1: (lv_optional_0_0= 'optional' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1128:3: ( (lv_optional_0_0= 'optional' ) )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1129:1: (lv_optional_0_0= 'optional' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1180:1: (lv_optional_0_0= 'optional' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1181:3: lv_optional_0_0= 'optional'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1129:1: (lv_optional_0_0= 'optional' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1130:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,36,FOLLOW_36_in_ruleSimpleAnnotationAttribute2707); 
+                    lv_optional_0_0=(Token)match(input,33,FOLLOW_33_in_ruleSimpleAnnotationAttribute2561); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            newLeafNode(lv_optional_0_0, grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
-                        
+                              newLeafNode(lv_optional_0_0, grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
+                          
+                    }
+                    if ( state.backtracking==0 ) {
 
-                    	        if (current==null) {
-                    	            current = createModelElement(grammarAccess.getSimpleAnnotationAttributeRule());
-                    	        }
-                           		setWithLastConsumed(current, "optional", true, "optional");
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getSimpleAnnotationAttributeRule());
+                      	        }
+                             		setWithLastConsumed(current, "optional", true, "optional");
+                      	    
+                    }
 
                     }
 
@@ -2915,77 +3054,91 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1195:7: otherlv_1= 'mandatory'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1144:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleSimpleAnnotationAttribute2738); 
+                    otherlv_1=(Token)match(input,34,FOLLOW_34_in_ruleSimpleAnnotationAttribute2592); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_1, grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1());
-                        
+                          	newLeafNode(otherlv_1, grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1());
+                          
+                    }
 
                     }
                     break;
 
             }
 
-            otherlv_2=(Token)match(input,38,FOLLOW_38_in_ruleSimpleAnnotationAttribute2751); 
+            otherlv_2=(Token)match(input,35,FOLLOW_35_in_ruleSimpleAnnotationAttribute2605); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1());
-                
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1203:1: ( (lv_name_3_0= RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1204:1: (lv_name_3_0= RULE_ID )
+                  	newLeafNode(otherlv_2, grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1());
+                  
+            }
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1152:1: ( (lv_name_3_0= RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1153:1: (lv_name_3_0= RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1204:1: (lv_name_3_0= RULE_ID )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1205:3: lv_name_3_0= RULE_ID
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1153:1: (lv_name_3_0= RULE_ID )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1154:3: lv_name_3_0= RULE_ID
             {
-            lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute2768); 
+            lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute2622); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_name_3_0, grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            		
+              			newLeafNode(lv_name_3_0, grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getSimpleAnnotationAttributeRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"name",
-                    		lv_name_3_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getSimpleAnnotationAttributeRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"name",
+                      		lv_name_3_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_4=(Token)match(input,18,FOLLOW_18_in_ruleSimpleAnnotationAttribute2785); 
+            otherlv_4=(Token)match(input,17,FOLLOW_17_in_ruleSimpleAnnotationAttribute2639); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_4, grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3());
-                
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1225:1: ( (lv_type_5_0= ruleLiteralType ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1226:1: (lv_type_5_0= ruleLiteralType )
+                  	newLeafNode(otherlv_4, grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3());
+                  
+            }
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1174:1: ( (lv_type_5_0= ruleLiteralType ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1175:1: (lv_type_5_0= ruleLiteralType )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1226:1: (lv_type_5_0= ruleLiteralType )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1227:3: lv_type_5_0= ruleLiteralType
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1175:1: (lv_type_5_0= ruleLiteralType )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1176:3: lv_type_5_0= ruleLiteralType
             {
-             
-            	        newCompositeNode(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
-            	    
-            pushFollow(FOLLOW_ruleLiteralType_in_ruleSimpleAnnotationAttribute2806);
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleLiteralType_in_ruleSimpleAnnotationAttribute2660);
             lv_type_5_0=ruleLiteralType();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getSimpleAnnotationAttributeRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"type",
-                    		lv_type_5_0, 
-                    		"LiteralType");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getSimpleAnnotationAttributeRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"type",
+                      		lv_type_5_0, 
+                      		"LiteralType");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -2998,7 +3151,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3013,7 +3168,7 @@
 
 
     // $ANTLR start "entryRuleEnumAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1251:1: entryRuleEnumAnnotationAttribute returns [EObject current=null] : iv_ruleEnumAnnotationAttribute= ruleEnumAnnotationAttribute EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1200:1: entryRuleEnumAnnotationAttribute returns [EObject current=null] : iv_ruleEnumAnnotationAttribute= ruleEnumAnnotationAttribute EOF ;
     public final EObject entryRuleEnumAnnotationAttribute() throws RecognitionException {
         EObject current = null;
 
@@ -3021,17 +3176,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1252:2: (iv_ruleEnumAnnotationAttribute= ruleEnumAnnotationAttribute EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1253:2: iv_ruleEnumAnnotationAttribute= ruleEnumAnnotationAttribute EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1201:2: (iv_ruleEnumAnnotationAttribute= ruleEnumAnnotationAttribute EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1202:2: iv_ruleEnumAnnotationAttribute= ruleEnumAnnotationAttribute EOF
             {
-             newCompositeNode(grammarAccess.getEnumAnnotationAttributeRule()); 
-            pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute2842);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getEnumAnnotationAttributeRule()); 
+            }
+            pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute2696);
             iv_ruleEnumAnnotationAttribute=ruleEnumAnnotationAttribute();
 
             state._fsp--;
-
-             current =iv_ruleEnumAnnotationAttribute; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute2852); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleEnumAnnotationAttribute; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute2706); if (state.failed) return current;
 
             }
 
@@ -3049,7 +3208,7 @@
 
 
     // $ANTLR start "ruleEnumAnnotationAttribute"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1260:1: ruleEnumAnnotationAttribute returns [EObject current=null] : ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' otherlv_5= '{' ( (lv_values_6_0= RULE_STRING ) ) (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )* otherlv_9= '}' ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1209:1: ruleEnumAnnotationAttribute returns [EObject current=null] : ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' otherlv_5= '{' ( (lv_values_6_0= RULE_STRING ) ) (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )* otherlv_9= '}' ) ;
     public final EObject ruleEnumAnnotationAttribute() throws RecognitionException {
         EObject current = null;
 
@@ -3067,48 +3226,53 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1263:28: ( ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' otherlv_5= '{' ( (lv_values_6_0= RULE_STRING ) ) (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )* otherlv_9= '}' ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1264:1: ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' otherlv_5= '{' ( (lv_values_6_0= RULE_STRING ) ) (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )* otherlv_9= '}' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1212:28: ( ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' otherlv_5= '{' ( (lv_values_6_0= RULE_STRING ) ) (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )* otherlv_9= '}' ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1213:1: ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' otherlv_5= '{' ( (lv_values_6_0= RULE_STRING ) ) (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )* otherlv_9= '}' )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1264:1: ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' otherlv_5= '{' ( (lv_values_6_0= RULE_STRING ) ) (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )* otherlv_9= '}' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1264:2: ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' otherlv_5= '{' ( (lv_values_6_0= RULE_STRING ) ) (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )* otherlv_9= '}'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1213:1: ( ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' otherlv_5= '{' ( (lv_values_6_0= RULE_STRING ) ) (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )* otherlv_9= '}' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1213:2: ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' ) otherlv_2= 'attribute' ( (lv_name_3_0= RULE_ID ) ) otherlv_4= ':' otherlv_5= '{' ( (lv_values_6_0= RULE_STRING ) ) (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )* otherlv_9= '}'
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1264:2: ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' )
-            int alt15=2;
-            int LA15_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1213:2: ( ( (lv_optional_0_0= 'optional' ) ) | otherlv_1= 'mandatory' )
+            int alt14=2;
+            int LA14_0 = input.LA(1);
 
-            if ( (LA15_0==36) ) {
-                alt15=1;
+            if ( (LA14_0==33) ) {
+                alt14=1;
             }
-            else if ( (LA15_0==37) ) {
-                alt15=2;
+            else if ( (LA14_0==34) ) {
+                alt14=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 15, 0, input);
+                    new NoViableAltException("", 14, 0, input);
 
                 throw nvae;
             }
-            switch (alt15) {
+            switch (alt14) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1264:3: ( (lv_optional_0_0= 'optional' ) )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1213:3: ( (lv_optional_0_0= 'optional' ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1264:3: ( (lv_optional_0_0= 'optional' ) )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1265:1: (lv_optional_0_0= 'optional' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1213:3: ( (lv_optional_0_0= 'optional' ) )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1214:1: (lv_optional_0_0= 'optional' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1265:1: (lv_optional_0_0= 'optional' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1266:3: lv_optional_0_0= 'optional'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1214:1: (lv_optional_0_0= 'optional' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1215:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,36,FOLLOW_36_in_ruleEnumAnnotationAttribute2896); 
+                    lv_optional_0_0=(Token)match(input,33,FOLLOW_33_in_ruleEnumAnnotationAttribute2750); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            newLeafNode(lv_optional_0_0, grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
-                        
+                              newLeafNode(lv_optional_0_0, grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
+                          
+                    }
+                    if ( state.backtracking==0 ) {
 
-                    	        if (current==null) {
-                    	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
-                    	        }
-                           		setWithLastConsumed(current, "optional", true, "optional");
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
+                      	        }
+                             		setWithLastConsumed(current, "optional", true, "optional");
+                      	    
+                    }
 
                     }
 
@@ -3119,121 +3283,143 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1280:7: otherlv_1= 'mandatory'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1229:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleEnumAnnotationAttribute2927); 
+                    otherlv_1=(Token)match(input,34,FOLLOW_34_in_ruleEnumAnnotationAttribute2781); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_1, grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1());
-                        
+                          	newLeafNode(otherlv_1, grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1());
+                          
+                    }
 
                     }
                     break;
 
             }
 
-            otherlv_2=(Token)match(input,38,FOLLOW_38_in_ruleEnumAnnotationAttribute2940); 
+            otherlv_2=(Token)match(input,35,FOLLOW_35_in_ruleEnumAnnotationAttribute2794); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_2, grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1());
-                
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1288:1: ( (lv_name_3_0= RULE_ID ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1289:1: (lv_name_3_0= RULE_ID )
+                  	newLeafNode(otherlv_2, grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1());
+                  
+            }
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1237:1: ( (lv_name_3_0= RULE_ID ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1238:1: (lv_name_3_0= RULE_ID )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1289:1: (lv_name_3_0= RULE_ID )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1290:3: lv_name_3_0= RULE_ID
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1238:1: (lv_name_3_0= RULE_ID )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1239:3: lv_name_3_0= RULE_ID
             {
-            lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute2957); 
+            lv_name_3_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute2811); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_name_3_0, grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            		
+              			newLeafNode(lv_name_3_0, grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"name",
-                    		lv_name_3_0, 
-                    		"ID");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"name",
+                      		lv_name_3_0, 
+                      		"ID");
+              	    
+            }
 
             }
 
 
             }
 
-            otherlv_4=(Token)match(input,18,FOLLOW_18_in_ruleEnumAnnotationAttribute2974); 
+            otherlv_4=(Token)match(input,17,FOLLOW_17_in_ruleEnumAnnotationAttribute2828); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_4, grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3());
-                
-            otherlv_5=(Token)match(input,14,FOLLOW_14_in_ruleEnumAnnotationAttribute2986); 
+                  	newLeafNode(otherlv_4, grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3());
+                  
+            }
+            otherlv_5=(Token)match(input,13,FOLLOW_13_in_ruleEnumAnnotationAttribute2840); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_5, grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4());
-                
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1314:1: ( (lv_values_6_0= RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1315:1: (lv_values_6_0= RULE_STRING )
+                  	newLeafNode(otherlv_5, grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4());
+                  
+            }
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1263:1: ( (lv_values_6_0= RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1264:1: (lv_values_6_0= RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1315:1: (lv_values_6_0= RULE_STRING )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1316:3: lv_values_6_0= RULE_STRING
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1264:1: (lv_values_6_0= RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1265:3: lv_values_6_0= RULE_STRING
             {
-            lv_values_6_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute3003); 
+            lv_values_6_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute2857); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_values_6_0, grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
-            		
+              			newLeafNode(lv_values_6_0, grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
-            	        }
-                   		addWithLastConsumed(
-                   			current, 
-                   			"values",
-                    		lv_values_6_0, 
-                    		"STRING");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
+              	        }
+                     		addWithLastConsumed(
+                     			current, 
+                     			"values",
+                      		lv_values_6_0, 
+                      		"STRING");
+              	    
+            }
 
             }
 
 
             }
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1332:2: (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )*
-            loop16:
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1281:2: (otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) ) )*
+            loop15:
             do {
-                int alt16=2;
-                int LA16_0 = input.LA(1);
+                int alt15=2;
+                int LA15_0 = input.LA(1);
 
-                if ( (LA16_0==39) ) {
-                    alt16=1;
+                if ( (LA15_0==36) ) {
+                    alt15=1;
                 }
 
 
-                switch (alt16) {
+                switch (alt15) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1332:4: otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1281:4: otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) )
             	    {
-            	    otherlv_7=(Token)match(input,39,FOLLOW_39_in_ruleEnumAnnotationAttribute3021); 
+            	    otherlv_7=(Token)match(input,36,FOLLOW_36_in_ruleEnumAnnotationAttribute2875); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	        	newLeafNode(otherlv_7, grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0());
-            	        
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1336:1: ( (lv_values_8_0= RULE_STRING ) )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1337:1: (lv_values_8_0= RULE_STRING )
+            	          	newLeafNode(otherlv_7, grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0());
+            	          
+            	    }
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1285:1: ( (lv_values_8_0= RULE_STRING ) )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1286:1: (lv_values_8_0= RULE_STRING )
             	    {
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1337:1: (lv_values_8_0= RULE_STRING )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1338:3: lv_values_8_0= RULE_STRING
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1286:1: (lv_values_8_0= RULE_STRING )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1287:3: lv_values_8_0= RULE_STRING
             	    {
-            	    lv_values_8_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute3038); 
+            	    lv_values_8_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute2892); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	    			newLeafNode(lv_values_8_0, grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
-            	    		
+            	      			newLeafNode(lv_values_8_0, grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-            	    	        if (current==null) {
-            	    	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
-            	    	        }
-            	           		addWithLastConsumed(
-            	           			current, 
-            	           			"values",
-            	            		lv_values_8_0, 
-            	            		"STRING");
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getEnumAnnotationAttributeRule());
+            	      	        }
+            	             		addWithLastConsumed(
+            	             			current, 
+            	             			"values",
+            	              		lv_values_8_0, 
+            	              		"STRING");
+            	      	    
+            	    }
 
             	    }
 
@@ -3245,21 +3431,25 @@
             	    break;
 
             	default :
-            	    break loop16;
+            	    break loop15;
                 }
             } while (true);
 
-            otherlv_9=(Token)match(input,15,FOLLOW_15_in_ruleEnumAnnotationAttribute3057); 
+            otherlv_9=(Token)match(input,14,FOLLOW_14_in_ruleEnumAnnotationAttribute2911); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_9, grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7());
-                
+                  	newLeafNode(otherlv_9, grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3274,7 +3464,7 @@
 
 
     // $ANTLR start "entryRuleImport"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1366:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1315:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ;
     public final EObject entryRuleImport() throws RecognitionException {
         EObject current = null;
 
@@ -3282,17 +3472,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1367:2: (iv_ruleImport= ruleImport EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1368:2: iv_ruleImport= ruleImport EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1316:2: (iv_ruleImport= ruleImport EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1317:2: iv_ruleImport= ruleImport EOF
             {
-             newCompositeNode(grammarAccess.getImportRule()); 
-            pushFollow(FOLLOW_ruleImport_in_entryRuleImport3093);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getImportRule()); 
+            }
+            pushFollow(FOLLOW_ruleImport_in_entryRuleImport2947);
             iv_ruleImport=ruleImport();
 
             state._fsp--;
-
-             current =iv_ruleImport; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleImport3103); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleImport; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleImport2957); if (state.failed) return current;
 
             }
 
@@ -3310,7 +3504,7 @@
 
 
     // $ANTLR start "ruleImport"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1375:1: ruleImport returns [EObject current=null] : (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1324:1: ruleImport returns [EObject current=null] : (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) ) ;
     public final EObject ruleImport() throws RecognitionException {
         EObject current = null;
 
@@ -3324,74 +3518,83 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1378:28: ( (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1379:1: (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1327:28: ( (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1328:1: (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1379:1: (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1379:3: otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1328:1: (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1328:3: otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) )
             {
-            otherlv_0=(Token)match(input,40,FOLLOW_40_in_ruleImport3140); 
+            otherlv_0=(Token)match(input,37,FOLLOW_37_in_ruleImport2994); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
-                
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1383:1: ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' )
-            int alt17=2;
-            int LA17_0 = input.LA(1);
-
-            if ( (LA17_0==RULE_ID) ) {
-                alt17=1;
+                  	newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
+                  
             }
-            else if ( (LA17_0==33) ) {
-                alt17=2;
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1332:1: ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' )
+            int alt16=2;
+            int LA16_0 = input.LA(1);
+
+            if ( (LA16_0==RULE_ID) ) {
+                alt16=1;
+            }
+            else if ( (LA16_0==32) ) {
+                alt16=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 17, 0, input);
+                    new NoViableAltException("", 16, 0, input);
 
                 throw nvae;
             }
-            switch (alt17) {
+            switch (alt16) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1383:2: ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1332:2: ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1383:2: ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1383:3: ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1332:2: ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1332:3: ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from'
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1383:3: ( (lv_importedNamespace_1_0= ruleImportedFQN ) )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1384:1: (lv_importedNamespace_1_0= ruleImportedFQN )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1332:3: ( (lv_importedNamespace_1_0= ruleImportedFQN ) )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1333:1: (lv_importedNamespace_1_0= ruleImportedFQN )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1384:1: (lv_importedNamespace_1_0= ruleImportedFQN )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1385:3: lv_importedNamespace_1_0= ruleImportedFQN
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1333:1: (lv_importedNamespace_1_0= ruleImportedFQN )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1334:3: lv_importedNamespace_1_0= ruleImportedFQN
                     {
-                     
-                    	        newCompositeNode(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0()); 
-                    	    
-                    pushFollow(FOLLOW_ruleImportedFQN_in_ruleImport3163);
+                    if ( state.backtracking==0 ) {
+                       
+                      	        newCompositeNode(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0()); 
+                      	    
+                    }
+                    pushFollow(FOLLOW_ruleImportedFQN_in_ruleImport3017);
                     lv_importedNamespace_1_0=ruleImportedFQN();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    	        if (current==null) {
-                    	            current = createModelElementForParent(grammarAccess.getImportRule());
-                    	        }
-                           		set(
-                           			current, 
-                           			"importedNamespace",
-                            		lv_importedNamespace_1_0, 
-                            		"ImportedFQN");
-                    	        afterParserOrEnumRuleCall();
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElementForParent(grammarAccess.getImportRule());
+                      	        }
+                             		set(
+                             			current, 
+                             			"importedNamespace",
+                              		lv_importedNamespace_1_0, 
+                              		"ImportedFQN");
+                      	        afterParserOrEnumRuleCall();
+                      	    
+                    }
 
                     }
 
 
                     }
 
-                    otherlv_2=(Token)match(input,41,FOLLOW_41_in_ruleImport3175); 
+                    otherlv_2=(Token)match(input,38,FOLLOW_38_in_ruleImport3029); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_2, grammarAccess.getImportAccess().getFromKeyword_1_0_1());
-                        
+                          	newLeafNode(otherlv_2, grammarAccess.getImportAccess().getFromKeyword_1_0_1());
+                          
+                    }
 
                     }
 
@@ -3399,38 +3602,44 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1406:7: otherlv_3= 'model'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1355:7: otherlv_3= 'model'
                     {
-                    otherlv_3=(Token)match(input,33,FOLLOW_33_in_ruleImport3194); 
+                    otherlv_3=(Token)match(input,32,FOLLOW_32_in_ruleImport3048); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_3, grammarAccess.getImportAccess().getModelKeyword_1_1());
-                        
+                          	newLeafNode(otherlv_3, grammarAccess.getImportAccess().getModelKeyword_1_1());
+                          
+                    }
 
                     }
                     break;
 
             }
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1410:2: ( (lv_importURI_4_0= RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1411:1: (lv_importURI_4_0= RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1359:2: ( (lv_importURI_4_0= RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1360:1: (lv_importURI_4_0= RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1411:1: (lv_importURI_4_0= RULE_STRING )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1412:3: lv_importURI_4_0= RULE_STRING
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1360:1: (lv_importURI_4_0= RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1361:3: lv_importURI_4_0= RULE_STRING
             {
-            lv_importURI_4_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport3212); 
+            lv_importURI_4_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport3066); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_importURI_4_0, grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
-            		
+              			newLeafNode(lv_importURI_4_0, grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getImportRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"importURI",
-                    		lv_importURI_4_0, 
-                    		"STRING");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getImportRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"importURI",
+                      		lv_importURI_4_0, 
+                      		"STRING");
+              	    
+            }
 
             }
 
@@ -3443,7 +3652,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3458,7 +3669,7 @@
 
 
     // $ANTLR start "entryRuleImportedFQN"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1436:1: entryRuleImportedFQN returns [String current=null] : iv_ruleImportedFQN= ruleImportedFQN EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1385:1: entryRuleImportedFQN returns [String current=null] : iv_ruleImportedFQN= ruleImportedFQN EOF ;
     public final String entryRuleImportedFQN() throws RecognitionException {
         String current = null;
 
@@ -3466,17 +3677,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1437:2: (iv_ruleImportedFQN= ruleImportedFQN EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1438:2: iv_ruleImportedFQN= ruleImportedFQN EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1386:2: (iv_ruleImportedFQN= ruleImportedFQN EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1387:2: iv_ruleImportedFQN= ruleImportedFQN EOF
             {
-             newCompositeNode(grammarAccess.getImportedFQNRule()); 
-            pushFollow(FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN3254);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getImportedFQNRule()); 
+            }
+            pushFollow(FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN3108);
             iv_ruleImportedFQN=ruleImportedFQN();
 
             state._fsp--;
-
-             current =iv_ruleImportedFQN.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleImportedFQN3265); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleImportedFQN.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleImportedFQN3119); if (state.failed) return current;
 
             }
 
@@ -3494,7 +3709,7 @@
 
 
     // $ANTLR start "ruleImportedFQN"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1445:1: ruleImportedFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FQN_0= ruleFQN (kw= '.*' )? ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1394:1: ruleImportedFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FQN_0= ruleFQN (kw= '.*' )? ) ;
     public final AntlrDatatypeRuleToken ruleImportedFQN() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -3505,42 +3720,50 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1448:28: ( (this_FQN_0= ruleFQN (kw= '.*' )? ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1449:1: (this_FQN_0= ruleFQN (kw= '.*' )? )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1397:28: ( (this_FQN_0= ruleFQN (kw= '.*' )? ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1398:1: (this_FQN_0= ruleFQN (kw= '.*' )? )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1449:1: (this_FQN_0= ruleFQN (kw= '.*' )? )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1450:5: this_FQN_0= ruleFQN (kw= '.*' )?
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1398:1: (this_FQN_0= ruleFQN (kw= '.*' )? )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1399:5: this_FQN_0= ruleFQN (kw= '.*' )?
             {
-             
-                    newCompositeNode(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
-                
-            pushFollow(FOLLOW_ruleFQN_in_ruleImportedFQN3312);
+            if ( state.backtracking==0 ) {
+               
+                      newCompositeNode(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
+                  
+            }
+            pushFollow(FOLLOW_ruleFQN_in_ruleImportedFQN3166);
             this_FQN_0=ruleFQN();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            		current.merge(this_FQN_0);
-                
-             
-                    afterParserOrEnumRuleCall();
-                
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1460:1: (kw= '.*' )?
-            int alt18=2;
-            int LA18_0 = input.LA(1);
-
-            if ( (LA18_0==42) ) {
-                alt18=1;
+              		current.merge(this_FQN_0);
+                  
             }
-            switch (alt18) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1461:2: kw= '.*'
-                    {
-                    kw=(Token)match(input,42,FOLLOW_42_in_ruleImportedFQN3331); 
+            if ( state.backtracking==0 ) {
+               
+                      afterParserOrEnumRuleCall();
+                  
+            }
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1409:1: (kw= '.*' )?
+            int alt17=2;
+            int LA17_0 = input.LA(1);
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
-                        
+            if ( (LA17_0==39) ) {
+                alt17=1;
+            }
+            switch (alt17) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1410:2: kw= '.*'
+                    {
+                    kw=(Token)match(input,39,FOLLOW_39_in_ruleImportedFQN3185); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
+                          
+                    }
 
                     }
                     break;
@@ -3553,7 +3776,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3568,7 +3793,7 @@
 
 
     // $ANTLR start "entryRuleDocumentation"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1474:1: entryRuleDocumentation returns [EObject current=null] : iv_ruleDocumentation= ruleDocumentation EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1423:1: entryRuleDocumentation returns [EObject current=null] : iv_ruleDocumentation= ruleDocumentation EOF ;
     public final EObject entryRuleDocumentation() throws RecognitionException {
         EObject current = null;
 
@@ -3576,17 +3801,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1475:2: (iv_ruleDocumentation= ruleDocumentation EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1476:2: iv_ruleDocumentation= ruleDocumentation EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1424:2: (iv_ruleDocumentation= ruleDocumentation EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1425:2: iv_ruleDocumentation= ruleDocumentation EOF
             {
-             newCompositeNode(grammarAccess.getDocumentationRule()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_entryRuleDocumentation3373);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getDocumentationRule()); 
+            }
+            pushFollow(FOLLOW_ruleDocumentation_in_entryRuleDocumentation3227);
             iv_ruleDocumentation=ruleDocumentation();
 
             state._fsp--;
-
-             current =iv_ruleDocumentation; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDocumentation3383); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleDocumentation; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDocumentation3237); if (state.failed) return current;
 
             }
 
@@ -3604,7 +3833,7 @@
 
 
     // $ANTLR start "ruleDocumentation"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1483:1: ruleDocumentation returns [EObject current=null] : ( () otherlv_1= '[' ( (lv_lines_2_0= RULE_STRING ) )* otherlv_3= ']' ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1432:1: ruleDocumentation returns [EObject current=null] : ( () otherlv_1= '[' ( (lv_lines_2_0= RULE_STRING ) )* otherlv_3= ']' ) ;
     public final EObject ruleDocumentation() throws RecognitionException {
         EObject current = null;
 
@@ -3615,59 +3844,67 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1486:28: ( ( () otherlv_1= '[' ( (lv_lines_2_0= RULE_STRING ) )* otherlv_3= ']' ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1487:1: ( () otherlv_1= '[' ( (lv_lines_2_0= RULE_STRING ) )* otherlv_3= ']' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1435:28: ( ( () otherlv_1= '[' ( (lv_lines_2_0= RULE_STRING ) )* otherlv_3= ']' ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1436:1: ( () otherlv_1= '[' ( (lv_lines_2_0= RULE_STRING ) )* otherlv_3= ']' )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1487:1: ( () otherlv_1= '[' ( (lv_lines_2_0= RULE_STRING ) )* otherlv_3= ']' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1487:2: () otherlv_1= '[' ( (lv_lines_2_0= RULE_STRING ) )* otherlv_3= ']'
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1436:1: ( () otherlv_1= '[' ( (lv_lines_2_0= RULE_STRING ) )* otherlv_3= ']' )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1436:2: () otherlv_1= '[' ( (lv_lines_2_0= RULE_STRING ) )* otherlv_3= ']'
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1487:2: ()
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1488:5: 
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1436:2: ()
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1437:5: 
             {
+            if ( state.backtracking==0 ) {
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getDocumentationAccess().getDocumentationAction_0(),
-                        current);
-                
+                      current = forceCreateModelElement(
+                          grammarAccess.getDocumentationAccess().getDocumentationAction_0(),
+                          current);
+                  
+            }
 
             }
 
-            otherlv_1=(Token)match(input,43,FOLLOW_43_in_ruleDocumentation3429); 
+            otherlv_1=(Token)match(input,40,FOLLOW_40_in_ruleDocumentation3283); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_1, grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1());
-                
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1497:1: ( (lv_lines_2_0= RULE_STRING ) )*
-            loop19:
+                  	newLeafNode(otherlv_1, grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1());
+                  
+            }
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1446:1: ( (lv_lines_2_0= RULE_STRING ) )*
+            loop18:
             do {
-                int alt19=2;
-                int LA19_0 = input.LA(1);
+                int alt18=2;
+                int LA18_0 = input.LA(1);
 
-                if ( (LA19_0==RULE_STRING) ) {
-                    alt19=1;
+                if ( (LA18_0==RULE_STRING) ) {
+                    alt18=1;
                 }
 
 
-                switch (alt19) {
+                switch (alt18) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1498:1: (lv_lines_2_0= RULE_STRING )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1447:1: (lv_lines_2_0= RULE_STRING )
             	    {
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1498:1: (lv_lines_2_0= RULE_STRING )
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1499:3: lv_lines_2_0= RULE_STRING
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1447:1: (lv_lines_2_0= RULE_STRING )
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1448:3: lv_lines_2_0= RULE_STRING
             	    {
-            	    lv_lines_2_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDocumentation3446); 
+            	    lv_lines_2_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleDocumentation3300); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	    			newLeafNode(lv_lines_2_0, grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
-            	    		
+            	      			newLeafNode(lv_lines_2_0, grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
+            	      		
+            	    }
+            	    if ( state.backtracking==0 ) {
 
-            	    	        if (current==null) {
-            	    	            current = createModelElement(grammarAccess.getDocumentationRule());
-            	    	        }
-            	           		addWithLastConsumed(
-            	           			current, 
-            	           			"lines",
-            	            		lv_lines_2_0, 
-            	            		"STRING");
-            	    	    
+            	      	        if (current==null) {
+            	      	            current = createModelElement(grammarAccess.getDocumentationRule());
+            	      	        }
+            	             		addWithLastConsumed(
+            	             			current, 
+            	             			"lines",
+            	              		lv_lines_2_0, 
+            	              		"STRING");
+            	      	    
+            	    }
 
             	    }
 
@@ -3676,21 +3913,25 @@
             	    break;
 
             	default :
-            	    break loop19;
+            	    break loop18;
                 }
             } while (true);
 
-            otherlv_3=(Token)match(input,44,FOLLOW_44_in_ruleDocumentation3464); 
+            otherlv_3=(Token)match(input,41,FOLLOW_41_in_ruleDocumentation3318); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                	newLeafNode(otherlv_3, grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3());
-                
+                  	newLeafNode(otherlv_3, grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3());
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3705,7 +3946,7 @@
 
 
     // $ANTLR start "entryRuleTIME"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1527:1: entryRuleTIME returns [String current=null] : iv_ruleTIME= ruleTIME EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1476:1: entryRuleTIME returns [String current=null] : iv_ruleTIME= ruleTIME EOF ;
     public final String entryRuleTIME() throws RecognitionException {
         String current = null;
 
@@ -3713,17 +3954,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1528:2: (iv_ruleTIME= ruleTIME EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1529:2: iv_ruleTIME= ruleTIME EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1477:2: (iv_ruleTIME= ruleTIME EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1478:2: iv_ruleTIME= ruleTIME EOF
             {
-             newCompositeNode(grammarAccess.getTIMERule()); 
-            pushFollow(FOLLOW_ruleTIME_in_entryRuleTIME3501);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getTIMERule()); 
+            }
+            pushFollow(FOLLOW_ruleTIME_in_entryRuleTIME3355);
             iv_ruleTIME=ruleTIME();
 
             state._fsp--;
-
-             current =iv_ruleTIME.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleTIME3512); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleTIME.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleTIME3366); if (state.failed) return current;
 
             }
 
@@ -3741,7 +3986,7 @@
 
 
     // $ANTLR start "ruleTIME"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1536:1: ruleTIME returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_INT_0= RULE_INT kw= 's' ) | (this_INT_2= RULE_INT kw= 'ms' ) | (this_INT_4= RULE_INT kw= 'us' ) | (this_INT_6= RULE_INT kw= 'ns' ) ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1485:1: ruleTIME returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_INT_0= RULE_INT kw= 's' ) | (this_INT_2= RULE_INT kw= 'ms' ) | (this_INT_4= RULE_INT kw= 'us' ) | (this_INT_6= RULE_INT kw= 'ns' ) ) ;
     public final AntlrDatatypeRuleToken ruleTIME() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -3754,68 +3999,76 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1539:28: ( ( (this_INT_0= RULE_INT kw= 's' ) | (this_INT_2= RULE_INT kw= 'ms' ) | (this_INT_4= RULE_INT kw= 'us' ) | (this_INT_6= RULE_INT kw= 'ns' ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1540:1: ( (this_INT_0= RULE_INT kw= 's' ) | (this_INT_2= RULE_INT kw= 'ms' ) | (this_INT_4= RULE_INT kw= 'us' ) | (this_INT_6= RULE_INT kw= 'ns' ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1488:28: ( ( (this_INT_0= RULE_INT kw= 's' ) | (this_INT_2= RULE_INT kw= 'ms' ) | (this_INT_4= RULE_INT kw= 'us' ) | (this_INT_6= RULE_INT kw= 'ns' ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1489:1: ( (this_INT_0= RULE_INT kw= 's' ) | (this_INT_2= RULE_INT kw= 'ms' ) | (this_INT_4= RULE_INT kw= 'us' ) | (this_INT_6= RULE_INT kw= 'ns' ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1540:1: ( (this_INT_0= RULE_INT kw= 's' ) | (this_INT_2= RULE_INT kw= 'ms' ) | (this_INT_4= RULE_INT kw= 'us' ) | (this_INT_6= RULE_INT kw= 'ns' ) )
-            int alt20=4;
-            int LA20_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1489:1: ( (this_INT_0= RULE_INT kw= 's' ) | (this_INT_2= RULE_INT kw= 'ms' ) | (this_INT_4= RULE_INT kw= 'us' ) | (this_INT_6= RULE_INT kw= 'ns' ) )
+            int alt19=4;
+            int LA19_0 = input.LA(1);
 
-            if ( (LA20_0==RULE_INT) ) {
+            if ( (LA19_0==RULE_INT) ) {
                 switch ( input.LA(2) ) {
-                case 48:
+                case 44:
                     {
-                    alt20=4;
+                    alt19=3;
+                    }
+                    break;
+                case 43:
+                    {
+                    alt19=2;
+                    }
+                    break;
+                case 42:
+                    {
+                    alt19=1;
                     }
                     break;
                 case 45:
                     {
-                    alt20=1;
-                    }
-                    break;
-                case 46:
-                    {
-                    alt20=2;
-                    }
-                    break;
-                case 47:
-                    {
-                    alt20=3;
+                    alt19=4;
                     }
                     break;
                 default:
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 20, 1, input);
+                        new NoViableAltException("", 19, 1, input);
 
                     throw nvae;
                 }
 
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 20, 0, input);
+                    new NoViableAltException("", 19, 0, input);
 
                 throw nvae;
             }
-            switch (alt20) {
+            switch (alt19) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1540:2: (this_INT_0= RULE_INT kw= 's' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1489:2: (this_INT_0= RULE_INT kw= 's' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1540:2: (this_INT_0= RULE_INT kw= 's' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1540:7: this_INT_0= RULE_INT kw= 's'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1489:2: (this_INT_0= RULE_INT kw= 's' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1489:7: this_INT_0= RULE_INT kw= 's'
                     {
-                    this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME3553); 
+                    this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME3407); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                    		current.merge(this_INT_0);
-                        
-                     
-                        newLeafNode(this_INT_0, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0_0()); 
-                        
-                    kw=(Token)match(input,45,FOLLOW_45_in_ruleTIME3571); 
+                      		current.merge(this_INT_0);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_INT_0, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0_0()); 
+                          
+                    }
+                    kw=(Token)match(input,42,FOLLOW_42_in_ruleTIME3425); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getTIMEAccess().getSKeyword_0_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getTIMEAccess().getSKeyword_0_1()); 
+                          
+                    }
 
                     }
 
@@ -3823,23 +4076,29 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1554:6: (this_INT_2= RULE_INT kw= 'ms' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1503:6: (this_INT_2= RULE_INT kw= 'ms' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1554:6: (this_INT_2= RULE_INT kw= 'ms' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1554:11: this_INT_2= RULE_INT kw= 'ms'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1503:6: (this_INT_2= RULE_INT kw= 'ms' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1503:11: this_INT_2= RULE_INT kw= 'ms'
                     {
-                    this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME3594); 
+                    this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME3448); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                    		current.merge(this_INT_2);
-                        
-                     
-                        newLeafNode(this_INT_2, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_1_0()); 
-                        
-                    kw=(Token)match(input,46,FOLLOW_46_in_ruleTIME3612); 
+                      		current.merge(this_INT_2);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_INT_2, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_1_0()); 
+                          
+                    }
+                    kw=(Token)match(input,43,FOLLOW_43_in_ruleTIME3466); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getTIMEAccess().getMsKeyword_1_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getTIMEAccess().getMsKeyword_1_1()); 
+                          
+                    }
 
                     }
 
@@ -3847,23 +4106,29 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1568:6: (this_INT_4= RULE_INT kw= 'us' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1517:6: (this_INT_4= RULE_INT kw= 'us' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1568:6: (this_INT_4= RULE_INT kw= 'us' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1568:11: this_INT_4= RULE_INT kw= 'us'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1517:6: (this_INT_4= RULE_INT kw= 'us' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1517:11: this_INT_4= RULE_INT kw= 'us'
                     {
-                    this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME3635); 
+                    this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME3489); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                    		current.merge(this_INT_4);
-                        
-                     
-                        newLeafNode(this_INT_4, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_2_0()); 
-                        
-                    kw=(Token)match(input,47,FOLLOW_47_in_ruleTIME3653); 
+                      		current.merge(this_INT_4);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_INT_4, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_2_0()); 
+                          
+                    }
+                    kw=(Token)match(input,44,FOLLOW_44_in_ruleTIME3507); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getTIMEAccess().getUsKeyword_2_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getTIMEAccess().getUsKeyword_2_1()); 
+                          
+                    }
 
                     }
 
@@ -3871,23 +4136,29 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1582:6: (this_INT_6= RULE_INT kw= 'ns' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1531:6: (this_INT_6= RULE_INT kw= 'ns' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1582:6: (this_INT_6= RULE_INT kw= 'ns' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1582:11: this_INT_6= RULE_INT kw= 'ns'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1531:6: (this_INT_6= RULE_INT kw= 'ns' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1531:11: this_INT_6= RULE_INT kw= 'ns'
                     {
-                    this_INT_6=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME3676); 
+                    this_INT_6=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME3530); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                    		current.merge(this_INT_6);
-                        
-                     
-                        newLeafNode(this_INT_6, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_3_0()); 
-                        
-                    kw=(Token)match(input,48,FOLLOW_48_in_ruleTIME3694); 
+                      		current.merge(this_INT_6);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_INT_6, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_3_0()); 
+                          
+                    }
+                    kw=(Token)match(input,45,FOLLOW_45_in_ruleTIME3548); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getTIMEAccess().getNsKeyword_3_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getTIMEAccess().getNsKeyword_3_1()); 
+                          
+                    }
 
                     }
 
@@ -3900,7 +4171,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -3915,7 +4188,7 @@
 
 
     // $ANTLR start "entryRuleLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1605:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1554:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
     public final EObject entryRuleLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -3923,17 +4196,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1606:2: (iv_ruleLiteral= ruleLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1607:2: iv_ruleLiteral= ruleLiteral EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1555:2: (iv_ruleLiteral= ruleLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1556:2: iv_ruleLiteral= ruleLiteral EOF
             {
-             newCompositeNode(grammarAccess.getLiteralRule()); 
-            pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral3737);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral3591);
             iv_ruleLiteral=ruleLiteral();
 
             state._fsp--;
-
-             current =iv_ruleLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral3747); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral3601); if (state.failed) return current;
 
             }
 
@@ -3951,7 +4228,7 @@
 
 
     // $ANTLR start "ruleLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1614:1: ruleLiteral returns [EObject current=null] : (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1563:1: ruleLiteral returns [EObject current=null] : (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral ) ;
     public final EObject ruleLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -3965,91 +4242,103 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1617:28: ( (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1618:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1566:28: ( (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1567:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1618:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
-            int alt21=3;
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1567:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
+            int alt20=3;
             switch ( input.LA(1) ) {
-            case 49:
-            case 50:
+            case 46:
+            case 47:
                 {
-                alt21=1;
+                alt20=1;
                 }
                 break;
             case RULE_INT:
             case RULE_HEX:
-            case 34:
-            case 35:
-            case 51:
+            case 48:
+            case 49:
                 {
-                alt21=2;
+                alt20=2;
                 }
                 break;
             case RULE_STRING:
                 {
-                alt21=3;
+                alt20=3;
                 }
                 break;
             default:
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 21, 0, input);
+                    new NoViableAltException("", 20, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt21) {
+            switch (alt20) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1619:5: this_BooleanLiteral_0= ruleBooleanLiteral
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1568:5: this_BooleanLiteral_0= ruleBooleanLiteral
                     {
-                     
-                            newCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleBooleanLiteral_in_ruleLiteral3794);
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleBooleanLiteral_in_ruleLiteral3648);
                     this_BooleanLiteral_0=ruleBooleanLiteral();
 
                     state._fsp--;
-
-                     
-                            current = this_BooleanLiteral_0; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_BooleanLiteral_0; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1629:5: this_NumberLiteral_1= ruleNumberLiteral
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1578:5: this_NumberLiteral_1= ruleNumberLiteral
                     {
-                     
-                            newCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleNumberLiteral_in_ruleLiteral3821);
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleNumberLiteral_in_ruleLiteral3675);
                     this_NumberLiteral_1=ruleNumberLiteral();
 
                     state._fsp--;
-
-                     
-                            current = this_NumberLiteral_1; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_NumberLiteral_1; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1639:5: this_StringLiteral_2= ruleStringLiteral
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1588:5: this_StringLiteral_2= ruleStringLiteral
                     {
-                     
-                            newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
-                        
-                    pushFollow(FOLLOW_ruleStringLiteral_in_ruleLiteral3848);
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleStringLiteral_in_ruleLiteral3702);
                     this_StringLiteral_2=ruleStringLiteral();
 
                     state._fsp--;
-
-                     
-                            current = this_StringLiteral_2; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_StringLiteral_2; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
@@ -4059,7 +4348,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4074,7 +4365,7 @@
 
 
     // $ANTLR start "entryRuleBooleanLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1655:1: entryRuleBooleanLiteral returns [EObject current=null] : iv_ruleBooleanLiteral= ruleBooleanLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1604:1: entryRuleBooleanLiteral returns [EObject current=null] : iv_ruleBooleanLiteral= ruleBooleanLiteral EOF ;
     public final EObject entryRuleBooleanLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -4082,17 +4373,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1656:2: (iv_ruleBooleanLiteral= ruleBooleanLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1657:2: iv_ruleBooleanLiteral= ruleBooleanLiteral EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1605:2: (iv_ruleBooleanLiteral= ruleBooleanLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1606:2: iv_ruleBooleanLiteral= ruleBooleanLiteral EOF
             {
-             newCompositeNode(grammarAccess.getBooleanLiteralRule()); 
-            pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral3883);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getBooleanLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral3737);
             iv_ruleBooleanLiteral=ruleBooleanLiteral();
 
             state._fsp--;
-
-             current =iv_ruleBooleanLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral3893); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleBooleanLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleBooleanLiteral3747); if (state.failed) return current;
 
             }
 
@@ -4110,7 +4405,7 @@
 
 
     // $ANTLR start "ruleBooleanLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1664:1: ruleBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1613:1: ruleBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ;
     public final EObject ruleBooleanLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -4120,69 +4415,78 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1667:28: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1668:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1616:28: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1617:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1668:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1668:2: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1617:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1617:2: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1668:2: ()
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1669:5: 
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1617:2: ()
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1618:5: 
             {
+            if ( state.backtracking==0 ) {
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0(),
-                        current);
-                
+                      current = forceCreateModelElement(
+                          grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0(),
+                          current);
+                  
+            }
 
             }
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1674:2: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
-            int alt22=2;
-            int LA22_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1623:2: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
+            int alt21=2;
+            int LA21_0 = input.LA(1);
 
-            if ( (LA22_0==49) ) {
-                alt22=1;
+            if ( (LA21_0==46) ) {
+                alt21=1;
             }
-            else if ( (LA22_0==50) ) {
-                alt22=2;
+            else if ( (LA21_0==47) ) {
+                alt21=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 22, 0, input);
+                    new NoViableAltException("", 21, 0, input);
 
                 throw nvae;
             }
-            switch (alt22) {
+            switch (alt21) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1674:4: otherlv_1= 'false'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1623:4: otherlv_1= 'false'
                     {
-                    otherlv_1=(Token)match(input,49,FOLLOW_49_in_ruleBooleanLiteral3940); 
+                    otherlv_1=(Token)match(input,46,FOLLOW_46_in_ruleBooleanLiteral3794); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                        	newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0());
-                        
+                          	newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0());
+                          
+                    }
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1679:6: ( (lv_isTrue_2_0= 'true' ) )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1628:6: ( (lv_isTrue_2_0= 'true' ) )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1679:6: ( (lv_isTrue_2_0= 'true' ) )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1680:1: (lv_isTrue_2_0= 'true' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1628:6: ( (lv_isTrue_2_0= 'true' ) )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1629:1: (lv_isTrue_2_0= 'true' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1680:1: (lv_isTrue_2_0= 'true' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1681:3: lv_isTrue_2_0= 'true'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1629:1: (lv_isTrue_2_0= 'true' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1630:3: lv_isTrue_2_0= 'true'
                     {
-                    lv_isTrue_2_0=(Token)match(input,50,FOLLOW_50_in_ruleBooleanLiteral3964); 
+                    lv_isTrue_2_0=(Token)match(input,47,FOLLOW_47_in_ruleBooleanLiteral3818); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            newLeafNode(lv_isTrue_2_0, grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
-                        
+                              newLeafNode(lv_isTrue_2_0, grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
+                          
+                    }
+                    if ( state.backtracking==0 ) {
 
-                    	        if (current==null) {
-                    	            current = createModelElement(grammarAccess.getBooleanLiteralRule());
-                    	        }
-                           		setWithLastConsumed(current, "isTrue", true, "true");
-                    	    
+                      	        if (current==null) {
+                      	            current = createModelElement(grammarAccess.getBooleanLiteralRule());
+                      	        }
+                             		setWithLastConsumed(current, "isTrue", true, "true");
+                      	    
+                    }
 
                     }
 
@@ -4201,7 +4505,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4216,7 +4522,7 @@
 
 
     // $ANTLR start "entryRuleNumberLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1702:1: entryRuleNumberLiteral returns [EObject current=null] : iv_ruleNumberLiteral= ruleNumberLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1651:1: entryRuleNumberLiteral returns [EObject current=null] : iv_ruleNumberLiteral= ruleNumberLiteral EOF ;
     public final EObject entryRuleNumberLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -4224,17 +4530,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1703:2: (iv_ruleNumberLiteral= ruleNumberLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1704:2: iv_ruleNumberLiteral= ruleNumberLiteral EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1652:2: (iv_ruleNumberLiteral= ruleNumberLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1653:2: iv_ruleNumberLiteral= ruleNumberLiteral EOF
             {
-             newCompositeNode(grammarAccess.getNumberLiteralRule()); 
-            pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral4014);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getNumberLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral3868);
             iv_ruleNumberLiteral=ruleNumberLiteral();
 
             state._fsp--;
-
-             current =iv_ruleNumberLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral4024); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleNumberLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleNumberLiteral3878); if (state.failed) return current;
 
             }
 
@@ -4252,7 +4562,7 @@
 
 
     // $ANTLR start "ruleNumberLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1711:1: ruleNumberLiteral returns [EObject current=null] : (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1660:1: ruleNumberLiteral returns [EObject current=null] : (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral ) ;
     public final EObject ruleNumberLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -4264,69 +4574,67 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1714:28: ( (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1715:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1663:28: ( (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1664:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1715:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
-            int alt23=2;
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1664:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
+            int alt22=2;
             switch ( input.LA(1) ) {
-            case 34:
+            case 48:
                 {
-                int LA23_1 = input.LA(2);
+                int LA22_1 = input.LA(2);
 
-                if ( (LA23_1==RULE_INT) ) {
-                    int LA23_3 = input.LA(3);
+                if ( (LA22_1==RULE_INT) ) {
+                    int LA22_3 = input.LA(3);
 
-                    if ( (LA23_3==51) ) {
-                        alt23=2;
+                    if ( (LA22_3==EOF) ) {
+                        alt22=1;
                     }
-                    else if ( (LA23_3==EOF) ) {
-                        alt23=1;
+                    else if ( (LA22_3==50) ) {
+                        alt22=2;
                     }
                     else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 23, 3, input);
+                            new NoViableAltException("", 22, 3, input);
 
                         throw nvae;
                     }
                 }
-                else if ( (LA23_1==51) ) {
-                    alt23=2;
-                }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 23, 1, input);
+                        new NoViableAltException("", 22, 1, input);
 
                     throw nvae;
                 }
                 }
                 break;
-            case 35:
+            case 49:
                 {
-                int LA23_2 = input.LA(2);
+                int LA22_2 = input.LA(2);
 
-                if ( (LA23_2==RULE_INT) ) {
-                    int LA23_3 = input.LA(3);
+                if ( (LA22_2==RULE_INT) ) {
+                    int LA22_3 = input.LA(3);
 
-                    if ( (LA23_3==51) ) {
-                        alt23=2;
+                    if ( (LA22_3==EOF) ) {
+                        alt22=1;
                     }
-                    else if ( (LA23_3==EOF) ) {
-                        alt23=1;
+                    else if ( (LA22_3==50) ) {
+                        alt22=2;
                     }
                     else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
                         NoViableAltException nvae =
-                            new NoViableAltException("", 23, 3, input);
+                            new NoViableAltException("", 22, 3, input);
 
                         throw nvae;
                     }
                 }
-                else if ( (LA23_2==51) ) {
-                    alt23=2;
-                }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 23, 2, input);
+                        new NoViableAltException("", 22, 2, input);
 
                     throw nvae;
                 }
@@ -4334,17 +4642,18 @@
                 break;
             case RULE_INT:
                 {
-                int LA23_3 = input.LA(2);
+                int LA22_3 = input.LA(2);
 
-                if ( (LA23_3==51) ) {
-                    alt23=2;
+                if ( (LA22_3==EOF) ) {
+                    alt22=1;
                 }
-                else if ( (LA23_3==EOF) ) {
-                    alt23=1;
+                else if ( (LA22_3==50) ) {
+                    alt22=2;
                 }
                 else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
                     NoViableAltException nvae =
-                        new NoViableAltException("", 23, 3, input);
+                        new NoViableAltException("", 22, 3, input);
 
                     throw nvae;
                 }
@@ -4352,55 +4661,59 @@
                 break;
             case RULE_HEX:
                 {
-                alt23=1;
-                }
-                break;
-            case 51:
-                {
-                alt23=2;
+                alt22=1;
                 }
                 break;
             default:
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 23, 0, input);
+                    new NoViableAltException("", 22, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt23) {
+            switch (alt22) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1716:5: this_IntLiteral_0= ruleIntLiteral
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1665:5: this_IntLiteral_0= ruleIntLiteral
                     {
-                     
-                            newCompositeNode(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleIntLiteral_in_ruleNumberLiteral4071);
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleIntLiteral_in_ruleNumberLiteral3925);
                     this_IntLiteral_0=ruleIntLiteral();
 
                     state._fsp--;
-
-                     
-                            current = this_IntLiteral_0; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_IntLiteral_0; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1726:5: this_RealLiteral_1= ruleRealLiteral
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1675:5: this_RealLiteral_1= ruleRealLiteral
                     {
-                     
-                            newCompositeNode(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleRealLiteral_in_ruleNumberLiteral4098);
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleRealLiteral_in_ruleNumberLiteral3952);
                     this_RealLiteral_1=ruleRealLiteral();
 
                     state._fsp--;
-
-                     
-                            current = this_RealLiteral_1; 
-                            afterParserOrEnumRuleCall();
-                        
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+                       
+                              current = this_RealLiteral_1; 
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
@@ -4410,7 +4723,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4425,7 +4740,7 @@
 
 
     // $ANTLR start "entryRuleRealLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1742:1: entryRuleRealLiteral returns [EObject current=null] : iv_ruleRealLiteral= ruleRealLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1691:1: entryRuleRealLiteral returns [EObject current=null] : iv_ruleRealLiteral= ruleRealLiteral EOF ;
     public final EObject entryRuleRealLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -4433,17 +4748,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1743:2: (iv_ruleRealLiteral= ruleRealLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1744:2: iv_ruleRealLiteral= ruleRealLiteral EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1692:2: (iv_ruleRealLiteral= ruleRealLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1693:2: iv_ruleRealLiteral= ruleRealLiteral EOF
             {
-             newCompositeNode(grammarAccess.getRealLiteralRule()); 
-            pushFollow(FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral4133);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getRealLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral3987);
             iv_ruleRealLiteral=ruleRealLiteral();
 
             state._fsp--;
-
-             current =iv_ruleRealLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleRealLiteral4143); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleRealLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleRealLiteral3997); if (state.failed) return current;
 
             }
 
@@ -4461,7 +4780,7 @@
 
 
     // $ANTLR start "ruleRealLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1751:1: ruleRealLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleReal ) ) ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1700:1: ruleRealLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleReal ) ) ) ;
     public final EObject ruleRealLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -4471,48 +4790,54 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1754:28: ( ( () ( (lv_value_1_0= ruleReal ) ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1755:1: ( () ( (lv_value_1_0= ruleReal ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1703:28: ( ( () ( (lv_value_1_0= ruleReal ) ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1704:1: ( () ( (lv_value_1_0= ruleReal ) ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1755:1: ( () ( (lv_value_1_0= ruleReal ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1755:2: () ( (lv_value_1_0= ruleReal ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1704:1: ( () ( (lv_value_1_0= ruleReal ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1704:2: () ( (lv_value_1_0= ruleReal ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1755:2: ()
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1756:5: 
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1704:2: ()
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1705:5: 
             {
+            if ( state.backtracking==0 ) {
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getRealLiteralAccess().getRealLiteralAction_0(),
-                        current);
-                
+                      current = forceCreateModelElement(
+                          grammarAccess.getRealLiteralAccess().getRealLiteralAction_0(),
+                          current);
+                  
+            }
 
             }
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1761:2: ( (lv_value_1_0= ruleReal ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1762:1: (lv_value_1_0= ruleReal )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1710:2: ( (lv_value_1_0= ruleReal ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1711:1: (lv_value_1_0= ruleReal )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1762:1: (lv_value_1_0= ruleReal )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1763:3: lv_value_1_0= ruleReal
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1711:1: (lv_value_1_0= ruleReal )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1712:3: lv_value_1_0= ruleReal
             {
-             
-            	        newCompositeNode(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
-            	    
-            pushFollow(FOLLOW_ruleReal_in_ruleRealLiteral4198);
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleReal_in_ruleRealLiteral4052);
             lv_value_1_0=ruleReal();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getRealLiteralRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_1_0, 
-                    		"Real");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getRealLiteralRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"value",
+                      		lv_value_1_0, 
+                      		"Real");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -4525,7 +4850,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4540,7 +4867,7 @@
 
 
     // $ANTLR start "entryRuleIntLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1787:1: entryRuleIntLiteral returns [EObject current=null] : iv_ruleIntLiteral= ruleIntLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1736:1: entryRuleIntLiteral returns [EObject current=null] : iv_ruleIntLiteral= ruleIntLiteral EOF ;
     public final EObject entryRuleIntLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -4548,17 +4875,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1788:2: (iv_ruleIntLiteral= ruleIntLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1789:2: iv_ruleIntLiteral= ruleIntLiteral EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1737:2: (iv_ruleIntLiteral= ruleIntLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1738:2: iv_ruleIntLiteral= ruleIntLiteral EOF
             {
-             newCompositeNode(grammarAccess.getIntLiteralRule()); 
-            pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral4234);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getIntLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral4088);
             iv_ruleIntLiteral=ruleIntLiteral();
 
             state._fsp--;
-
-             current =iv_ruleIntLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral4244); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleIntLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleIntLiteral4098); if (state.failed) return current;
 
             }
 
@@ -4576,7 +4907,7 @@
 
 
     // $ANTLR start "ruleIntLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1796:1: ruleIntLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleInteger ) ) ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1745:1: ruleIntLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleInteger ) ) ) ;
     public final EObject ruleIntLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -4586,48 +4917,54 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1799:28: ( ( () ( (lv_value_1_0= ruleInteger ) ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1800:1: ( () ( (lv_value_1_0= ruleInteger ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1748:28: ( ( () ( (lv_value_1_0= ruleInteger ) ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1749:1: ( () ( (lv_value_1_0= ruleInteger ) ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1800:1: ( () ( (lv_value_1_0= ruleInteger ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1800:2: () ( (lv_value_1_0= ruleInteger ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1749:1: ( () ( (lv_value_1_0= ruleInteger ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1749:2: () ( (lv_value_1_0= ruleInteger ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1800:2: ()
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1801:5: 
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1749:2: ()
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1750:5: 
             {
+            if ( state.backtracking==0 ) {
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getIntLiteralAccess().getIntLiteralAction_0(),
-                        current);
-                
+                      current = forceCreateModelElement(
+                          grammarAccess.getIntLiteralAccess().getIntLiteralAction_0(),
+                          current);
+                  
+            }
 
             }
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1806:2: ( (lv_value_1_0= ruleInteger ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1807:1: (lv_value_1_0= ruleInteger )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1755:2: ( (lv_value_1_0= ruleInteger ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1756:1: (lv_value_1_0= ruleInteger )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1807:1: (lv_value_1_0= ruleInteger )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1808:3: lv_value_1_0= ruleInteger
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1756:1: (lv_value_1_0= ruleInteger )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1757:3: lv_value_1_0= ruleInteger
             {
-             
-            	        newCompositeNode(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
-            	    
-            pushFollow(FOLLOW_ruleInteger_in_ruleIntLiteral4299);
+            if ( state.backtracking==0 ) {
+               
+              	        newCompositeNode(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
+              	    
+            }
+            pushFollow(FOLLOW_ruleInteger_in_ruleIntLiteral4153);
             lv_value_1_0=ruleInteger();
 
             state._fsp--;
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-
-            	        if (current==null) {
-            	            current = createModelElementForParent(grammarAccess.getIntLiteralRule());
-            	        }
-                   		set(
-                   			current, 
-                   			"value",
-                    		lv_value_1_0, 
-                    		"Integer");
-            	        afterParserOrEnumRuleCall();
-            	    
+              	        if (current==null) {
+              	            current = createModelElementForParent(grammarAccess.getIntLiteralRule());
+              	        }
+                     		set(
+                     			current, 
+                     			"value",
+                      		lv_value_1_0, 
+                      		"Integer");
+              	        afterParserOrEnumRuleCall();
+              	    
+            }
 
             }
 
@@ -4640,7 +4977,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4655,7 +4994,7 @@
 
 
     // $ANTLR start "entryRuleStringLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1832:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1781:1: entryRuleStringLiteral returns [EObject current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ;
     public final EObject entryRuleStringLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -4663,17 +5002,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1833:2: (iv_ruleStringLiteral= ruleStringLiteral EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1834:2: iv_ruleStringLiteral= ruleStringLiteral EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1782:2: (iv_ruleStringLiteral= ruleStringLiteral EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1783:2: iv_ruleStringLiteral= ruleStringLiteral EOF
             {
-             newCompositeNode(grammarAccess.getStringLiteralRule()); 
-            pushFollow(FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral4335);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getStringLiteralRule()); 
+            }
+            pushFollow(FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral4189);
             iv_ruleStringLiteral=ruleStringLiteral();
 
             state._fsp--;
-
-             current =iv_ruleStringLiteral; 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleStringLiteral4345); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleStringLiteral; 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleStringLiteral4199); if (state.failed) return current;
 
             }
 
@@ -4691,7 +5034,7 @@
 
 
     // $ANTLR start "ruleStringLiteral"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1841:1: ruleStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1790:1: ruleStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ;
     public final EObject ruleStringLiteral() throws RecognitionException {
         EObject current = null;
 
@@ -4700,43 +5043,49 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1844:28: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1845:1: ( () ( (lv_value_1_0= RULE_STRING ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1793:28: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1794:1: ( () ( (lv_value_1_0= RULE_STRING ) ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1845:1: ( () ( (lv_value_1_0= RULE_STRING ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1845:2: () ( (lv_value_1_0= RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1794:1: ( () ( (lv_value_1_0= RULE_STRING ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1794:2: () ( (lv_value_1_0= RULE_STRING ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1845:2: ()
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1846:5: 
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1794:2: ()
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1795:5: 
             {
+            if ( state.backtracking==0 ) {
 
-                    current = forceCreateModelElement(
-                        grammarAccess.getStringLiteralAccess().getStringLiteralAction_0(),
-                        current);
-                
+                      current = forceCreateModelElement(
+                          grammarAccess.getStringLiteralAccess().getStringLiteralAction_0(),
+                          current);
+                  
+            }
 
             }
 
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1851:2: ( (lv_value_1_0= RULE_STRING ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1852:1: (lv_value_1_0= RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1800:2: ( (lv_value_1_0= RULE_STRING ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1801:1: (lv_value_1_0= RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1852:1: (lv_value_1_0= RULE_STRING )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1853:3: lv_value_1_0= RULE_STRING
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1801:1: (lv_value_1_0= RULE_STRING )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1802:3: lv_value_1_0= RULE_STRING
             {
-            lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringLiteral4396); 
+            lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringLiteral4250); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            			newLeafNode(lv_value_1_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
-            		
+              			newLeafNode(lv_value_1_0, grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
+              		
+            }
+            if ( state.backtracking==0 ) {
 
-            	        if (current==null) {
-            	            current = createModelElement(grammarAccess.getStringLiteralRule());
-            	        }
-                   		setWithLastConsumed(
-                   			current, 
-                   			"value",
-                    		lv_value_1_0, 
-                    		"STRING");
-            	    
+              	        if (current==null) {
+              	            current = createModelElement(grammarAccess.getStringLiteralRule());
+              	        }
+                     		setWithLastConsumed(
+                     			current, 
+                     			"value",
+                      		lv_value_1_0, 
+                      		"STRING");
+              	    
+            }
 
             }
 
@@ -4749,7 +5098,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4764,7 +5115,7 @@
 
 
     // $ANTLR start "entryRuleInteger"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1877:1: entryRuleInteger returns [String current=null] : iv_ruleInteger= ruleInteger EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1826:1: entryRuleInteger returns [String current=null] : iv_ruleInteger= ruleInteger EOF ;
     public final String entryRuleInteger() throws RecognitionException {
         String current = null;
 
@@ -4772,17 +5123,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1878:2: (iv_ruleInteger= ruleInteger EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1879:2: iv_ruleInteger= ruleInteger EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1827:2: (iv_ruleInteger= ruleInteger EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1828:2: iv_ruleInteger= ruleInteger EOF
             {
-             newCompositeNode(grammarAccess.getIntegerRule()); 
-            pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger4438);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getIntegerRule()); 
+            }
+            pushFollow(FOLLOW_ruleInteger_in_entryRuleInteger4292);
             iv_ruleInteger=ruleInteger();
 
             state._fsp--;
-
-             current =iv_ruleInteger.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleInteger4449); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleInteger.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleInteger4303); if (state.failed) return current;
 
             }
 
@@ -4800,32 +5155,32 @@
 
 
     // $ANTLR start "ruleInteger"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1886:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1835:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) ;
     public final AntlrDatatypeRuleToken ruleInteger() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
-        AntlrDatatypeRuleToken this_SignedInteger_0 = null;
-
-        AntlrDatatypeRuleToken this_Hexadecimal_1 = null;
-
+        Token kw=null;
+        Token this_INT_2=null;
+        Token this_HEX_3=null;
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1889:28: ( (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1890:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1838:28: ( ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1839:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1890:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1839:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
             int alt24=2;
             int LA24_0 = input.LA(1);
 
-            if ( (LA24_0==RULE_INT||(LA24_0>=34 && LA24_0<=35)) ) {
+            if ( (LA24_0==RULE_INT||(LA24_0>=48 && LA24_0<=49)) ) {
                 alt24=1;
             }
             else if ( (LA24_0==RULE_HEX) ) {
                 alt24=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
                     new NoViableAltException("", 24, 0, input);
 
@@ -4833,42 +5188,82 @@
             }
             switch (alt24) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1891:5: this_SignedInteger_0= ruleSignedInteger
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1839:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleSignedInteger_in_ruleInteger4496);
-                    this_SignedInteger_0=ruleSignedInteger();
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1839:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1839:3: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
+                    {
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1839:3: (kw= '+' | kw= '-' )?
+                    int alt23=3;
+                    int LA23_0 = input.LA(1);
 
-                    state._fsp--;
+                    if ( (LA23_0==48) ) {
+                        alt23=1;
+                    }
+                    else if ( (LA23_0==49) ) {
+                        alt23=2;
+                    }
+                    switch (alt23) {
+                        case 1 :
+                            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1840:2: kw= '+'
+                            {
+                            kw=(Token)match(input,48,FOLLOW_48_in_ruleInteger4343); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
 
+                                      current.merge(kw);
+                                      newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                                  
+                            }
 
-                    		current.merge(this_SignedInteger_0);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1847:2: kw= '-'
+                            {
+                            kw=(Token)match(input,49,FOLLOW_49_in_ruleInteger4362); if (state.failed) return current;
+                            if ( state.backtracking==0 ) {
+
+                                      current.merge(kw);
+                                      newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                                  
+                            }
+
+                            }
+                            break;
+
+                    }
+
+                    this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleInteger4379); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                      		current.merge(this_INT_2);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
+                          
+                    }
+
+                    }
+
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1903:5: this_Hexadecimal_1= ruleHexadecimal
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1860:10: this_HEX_3= RULE_HEX
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleHexadecimal_in_ruleInteger4529);
-                    this_Hexadecimal_1=ruleHexadecimal();
+                    this_HEX_3=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleInteger4406); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                    state._fsp--;
-
-
-                    		current.merge(this_Hexadecimal_1);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
+                      		current.merge(this_HEX_3);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                          newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
+                          
+                    }
 
                     }
                     break;
@@ -4878,7 +5273,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -4892,217 +5289,8 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1921:1: entryRuleSignedInteger returns [String current=null] : iv_ruleSignedInteger= ruleSignedInteger EOF ;
-    public final String entryRuleSignedInteger() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleSignedInteger = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1925:2: (iv_ruleSignedInteger= ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1926:2: iv_ruleSignedInteger= ruleSignedInteger EOF
-            {
-             newCompositeNode(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger4581);
-            iv_ruleSignedInteger=ruleSignedInteger();
-
-            state._fsp--;
-
-             current =iv_ruleSignedInteger.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger4592); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1936:1: ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleSignedInteger() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1940:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1941:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1941:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1941:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1941:2: (kw= '+' | kw= '-' )?
-            int alt25=3;
-            int LA25_0 = input.LA(1);
-
-            if ( (LA25_0==34) ) {
-                alt25=1;
-            }
-            else if ( (LA25_0==35) ) {
-                alt25=2;
-            }
-            switch (alt25) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1942:2: kw= '+'
-                    {
-                    kw=(Token)match(input,34,FOLLOW_34_in_ruleSignedInteger4635); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1949:2: kw= '-'
-                    {
-                    kw=(Token)match(input,35,FOLLOW_35_in_ruleSignedInteger4654); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSignedInteger4671); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1972:1: entryRuleHexadecimal returns [String current=null] : iv_ruleHexadecimal= ruleHexadecimal EOF ;
-    public final String entryRuleHexadecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleHexadecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1976:2: (iv_ruleHexadecimal= ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1977:2: iv_ruleHexadecimal= ruleHexadecimal EOF
-            {
-             newCompositeNode(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal4727);
-            iv_ruleHexadecimal=ruleHexadecimal();
-
-            state._fsp--;
-
-             current =iv_ruleHexadecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal4738); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1987:1: ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_HEX_0= RULE_HEX ;
-    public final AntlrDatatypeRuleToken ruleHexadecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_HEX_0=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1991:28: (this_HEX_0= RULE_HEX )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1992:5: this_HEX_0= RULE_HEX
-            {
-            this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal4781); 
-
-            		current.merge(this_HEX_0);
-                
-             
-                newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2010:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1875:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
     public final String entryRuleReal() throws RecognitionException {
         String current = null;
 
@@ -5110,17 +5298,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2011:2: (iv_ruleReal= ruleReal EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2012:2: iv_ruleReal= ruleReal EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1876:2: (iv_ruleReal= ruleReal EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1877:2: iv_ruleReal= ruleReal EOF
             {
-             newCompositeNode(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal4830);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getRealRule()); 
+            }
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal4452);
             iv_ruleReal=ruleReal();
 
             state._fsp--;
-
-             current =iv_ruleReal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal4841); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleReal.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal4463); if (state.failed) return current;
 
             }
 
@@ -5138,106 +5330,227 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2019:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1884:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) ;
     public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         AntlrDatatypeRuleToken this_Decimal_0 = null;
 
-        AntlrDatatypeRuleToken this_DotDecimal_1 = null;
-
-        AntlrDatatypeRuleToken this_DecimalDot_2 = null;
-
-        AntlrDatatypeRuleToken this_DecimalExp_3 = null;
+        AntlrDatatypeRuleToken this_DecimalExp_1 = null;
 
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2022:28: ( (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2023:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1887:28: ( (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1888:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2023:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
-            int alt26=4;
-            alt26 = dfa26.predict(input);
-            switch (alt26) {
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1888:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
+            int alt25=2;
+            switch ( input.LA(1) ) {
+            case 48:
+                {
+                int LA25_1 = input.LA(2);
+
+                if ( (LA25_1==RULE_INT) ) {
+                    int LA25_3 = input.LA(3);
+
+                    if ( (LA25_3==50) ) {
+                        int LA25_4 = input.LA(4);
+
+                        if ( (LA25_4==RULE_INT) ) {
+                            int LA25_5 = input.LA(5);
+
+                            if ( (LA25_5==EOF) ) {
+                                alt25=1;
+                            }
+                            else if ( ((LA25_5>=51 && LA25_5<=52)) ) {
+                                alt25=2;
+                            }
+                            else {
+                                if (state.backtracking>0) {state.failed=true; return current;}
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 25, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 25, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 25, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 25, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 49:
+                {
+                int LA25_2 = input.LA(2);
+
+                if ( (LA25_2==RULE_INT) ) {
+                    int LA25_3 = input.LA(3);
+
+                    if ( (LA25_3==50) ) {
+                        int LA25_4 = input.LA(4);
+
+                        if ( (LA25_4==RULE_INT) ) {
+                            int LA25_5 = input.LA(5);
+
+                            if ( (LA25_5==EOF) ) {
+                                alt25=1;
+                            }
+                            else if ( ((LA25_5>=51 && LA25_5<=52)) ) {
+                                alt25=2;
+                            }
+                            else {
+                                if (state.backtracking>0) {state.failed=true; return current;}
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 25, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 25, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 25, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 25, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA25_3 = input.LA(2);
+
+                if ( (LA25_3==50) ) {
+                    int LA25_4 = input.LA(3);
+
+                    if ( (LA25_4==RULE_INT) ) {
+                        int LA25_5 = input.LA(4);
+
+                        if ( (LA25_5==EOF) ) {
+                            alt25=1;
+                        }
+                        else if ( ((LA25_5>=51 && LA25_5<=52)) ) {
+                            alt25=2;
+                        }
+                        else {
+                            if (state.backtracking>0) {state.failed=true; return current;}
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 25, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        if (state.backtracking>0) {state.failed=true; return current;}
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 25, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    if (state.backtracking>0) {state.failed=true; return current;}
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 25, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                if (state.backtracking>0) {state.failed=true; return current;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 25, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt25) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2024:5: this_Decimal_0= ruleDecimal
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1889:5: this_Decimal_0= ruleDecimal
                     {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal4888);
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
+                          
+                    }
+                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal4510);
                     this_Decimal_0=ruleDecimal();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    		current.merge(this_Decimal_0);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
+                      		current.merge(this_Decimal_0);
+                          
+                    }
+                    if ( state.backtracking==0 ) {
+                       
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2036:5: this_DotDecimal_1= ruleDotDecimal
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1901:5: this_DecimalExp_1= ruleDecimalExp
                     {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleDotDecimal_in_ruleReal4921);
-                    this_DotDecimal_1=ruleDotDecimal();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DotDecimal_1);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
+                    if ( state.backtracking==0 ) {
+                       
+                              newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
+                          
                     }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2048:5: this_DecimalDot_2= ruleDecimalDot
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalDot_in_ruleReal4954);
-                    this_DecimalDot_2=ruleDecimalDot();
+                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal4543);
+                    this_DecimalExp_1=ruleDecimalExp();
 
                     state._fsp--;
+                    if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-
-                    		current.merge(this_DecimalDot_2);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
+                      		current.merge(this_DecimalExp_1);
+                          
                     }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2060:5: this_DecimalExp_3= ruleDecimalExp
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal4987);
-                    this_DecimalExp_3=ruleDecimalExp();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalExp_3);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
+                    if ( state.backtracking==0 ) {
+                       
+                              afterParserOrEnumRuleCall();
+                          
+                    }
 
                     }
                     break;
@@ -5247,7 +5560,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -5262,7 +5577,7 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2078:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1919:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
     public final String entryRuleDecimal() throws RecognitionException {
         String current = null;
 
@@ -5273,17 +5588,21 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2082:2: (iv_ruleDecimal= ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2083:2: iv_ruleDecimal= ruleDecimal EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1923:2: (iv_ruleDecimal= ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1924:2: iv_ruleDecimal= ruleDecimal EOF
             {
-             newCompositeNode(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal5039);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getDecimalRule()); 
+            }
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal4595);
             iv_ruleDecimal=ruleDecimal();
 
             state._fsp--;
-
-             current =iv_ruleDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal5050); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleDecimal.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal4606); if (state.failed) return current;
 
             }
 
@@ -5304,7 +5623,7 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2093:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1934:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -5316,74 +5635,90 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2097:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2098:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1938:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1939:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2098:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2098:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1939:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1939:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2098:2: (kw= '+' | kw= '-' )?
-            int alt27=3;
-            int LA27_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1939:2: (kw= '+' | kw= '-' )?
+            int alt26=3;
+            int LA26_0 = input.LA(1);
 
-            if ( (LA27_0==34) ) {
-                alt27=1;
+            if ( (LA26_0==48) ) {
+                alt26=1;
             }
-            else if ( (LA27_0==35) ) {
-                alt27=2;
+            else if ( (LA26_0==49) ) {
+                alt26=2;
             }
-            switch (alt27) {
+            switch (alt26) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2099:2: kw= '+'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1940:2: kw= '+'
                     {
-                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDecimal5093); 
+                    kw=(Token)match(input,48,FOLLOW_48_in_ruleDecimal4649); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
+                          
+                    }
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2106:2: kw= '-'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1947:2: kw= '-'
                     {
-                    kw=(Token)match(input,35,FOLLOW_35_in_ruleDecimal5112); 
+                    kw=(Token)match(input,49,FOLLOW_49_in_ruleDecimal4668); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
+                          
+                    }
 
                     }
                     break;
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal5129); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal4685); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,51,FOLLOW_51_in_ruleDecimal5147); 
+              		current.merge(this_INT_2);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_INT_2, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
+                  
+            }
+            kw=(Token)match(input,50,FOLLOW_50_in_ruleDecimal4703); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
-                
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal5162); 
+                      current.merge(kw);
+                      newLeafNode(kw, grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
+                  
+            }
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal4718); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_INT_4);
-                
-             
-                newLeafNode(this_INT_4, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
-                
+              		current.merge(this_INT_4);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_INT_4, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -5400,270 +5735,8 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2142:1: entryRuleDotDecimal returns [String current=null] : iv_ruleDotDecimal= ruleDotDecimal EOF ;
-    public final String entryRuleDotDecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDotDecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2146:2: (iv_ruleDotDecimal= ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2147:2: iv_ruleDotDecimal= ruleDotDecimal EOF
-            {
-             newCompositeNode(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal5218);
-            iv_ruleDotDecimal=ruleDotDecimal();
-
-            state._fsp--;
-
-             current =iv_ruleDotDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal5229); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2157:1: ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleDotDecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_3=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2161:28: ( ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2162:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2162:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2162:2: (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2162:2: (kw= '+' | kw= '-' )?
-            int alt28=3;
-            int LA28_0 = input.LA(1);
-
-            if ( (LA28_0==34) ) {
-                alt28=1;
-            }
-            else if ( (LA28_0==35) ) {
-                alt28=2;
-            }
-            switch (alt28) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2163:2: kw= '+'
-                    {
-                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDotDecimal5272); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2170:2: kw= '-'
-                    {
-                    kw=(Token)match(input,35,FOLLOW_35_in_ruleDotDecimal5291); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            kw=(Token)match(input,51,FOLLOW_51_in_ruleDotDecimal5306); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-                
-            this_INT_3=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDotDecimal5321); 
-
-            		current.merge(this_INT_3);
-                
-             
-                newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2199:1: entryRuleDecimalDot returns [String current=null] : iv_ruleDecimalDot= ruleDecimalDot EOF ;
-    public final String entryRuleDecimalDot() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDecimalDot = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2203:2: (iv_ruleDecimalDot= ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2204:2: iv_ruleDecimalDot= ruleDecimalDot EOF
-            {
-             newCompositeNode(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot5377);
-            iv_ruleDecimalDot=ruleDecimalDot();
-
-            state._fsp--;
-
-             current =iv_ruleDecimalDot.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot5388); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2214:1: ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) ;
-    public final AntlrDatatypeRuleToken ruleDecimalDot() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2218:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2219:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2219:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2219:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.'
-            {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2219:2: (kw= '+' | kw= '-' )?
-            int alt29=3;
-            int LA29_0 = input.LA(1);
-
-            if ( (LA29_0==34) ) {
-                alt29=1;
-            }
-            else if ( (LA29_0==35) ) {
-                alt29=2;
-            }
-            switch (alt29) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2220:2: kw= '+'
-                    {
-                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDecimalDot5431); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2227:2: kw= '-'
-                    {
-                    kw=(Token)match(input,35,FOLLOW_35_in_ruleDecimalDot5450); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalDot5467); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,51,FOLLOW_51_in_ruleDecimalDot5485); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2256:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1983:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
     public final String entryRuleDecimalExp() throws RecognitionException {
         String current = null;
 
@@ -5674,17 +5747,21 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2260:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2261:2: iv_ruleDecimalExp= ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1987:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1988:2: iv_ruleDecimalExp= ruleDecimalExp EOF
             {
-             newCompositeNode(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp5536);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getDecimalExpRule()); 
+            }
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp4774);
             iv_ruleDecimalExp=ruleDecimalExp();
 
             state._fsp--;
-
-             current =iv_ruleDecimalExp.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp5547); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleDecimalExp.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp4785); if (state.failed) return current;
 
             }
 
@@ -5705,94 +5782,207 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2271:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:1998:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? ( ( RULE_INT )=>this_INT_9= RULE_INT ) ) ;
     public final AntlrDatatypeRuleToken ruleDecimalExp() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         Token kw=null;
         Token this_INT_2=null;
         Token this_INT_4=null;
-        Token this_EXP_5=null;
+        Token this_INT_9=null;
 
          enterRule(); 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2275:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2276:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2002:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? ( ( RULE_INT )=>this_INT_9= RULE_INT ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2003:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? ( ( RULE_INT )=>this_INT_9= RULE_INT ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2276:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2276:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2003:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? ( ( RULE_INT )=>this_INT_9= RULE_INT ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2003:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? ( ( RULE_INT )=>this_INT_9= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2276:2: (kw= '+' | kw= '-' )?
-            int alt30=3;
-            int LA30_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2003:2: (kw= '+' | kw= '-' )?
+            int alt27=3;
+            int LA27_0 = input.LA(1);
 
-            if ( (LA30_0==34) ) {
-                alt30=1;
+            if ( (LA27_0==48) ) {
+                alt27=1;
             }
-            else if ( (LA30_0==35) ) {
-                alt30=2;
+            else if ( (LA27_0==49) ) {
+                alt27=2;
             }
-            switch (alt30) {
+            switch (alt27) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2277:2: kw= '+'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2004:2: kw= '+'
                     {
-                    kw=(Token)match(input,34,FOLLOW_34_in_ruleDecimalExp5590); 
+                    kw=(Token)match(input,48,FOLLOW_48_in_ruleDecimalExp4828); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
+                          
+                    }
 
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2284:2: kw= '-'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2011:2: kw= '-'
                     {
-                    kw=(Token)match(input,35,FOLLOW_35_in_ruleDecimalExp5609); 
+                    kw=(Token)match(input,49,FOLLOW_49_in_ruleDecimalExp4847); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
-                        
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
+                          
+                    }
 
                     }
                     break;
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp5626); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp4864); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,51,FOLLOW_51_in_ruleDecimalExp5644); 
+              		current.merge(this_INT_2);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_INT_2, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
+                  
+            }
+            kw=(Token)match(input,50,FOLLOW_50_in_ruleDecimalExp4882); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
-                
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp5659); 
+                      current.merge(kw);
+                      newLeafNode(kw, grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
+                  
+            }
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp4897); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_INT_4);
-                
-             
-                newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
-                
-            this_EXP_5=(Token)match(input,RULE_EXP,FOLLOW_RULE_EXP_in_ruleDecimalExp5679); 
+              		current.merge(this_INT_4);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
+                  
+            }
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2036:1: (kw= 'e' | kw= 'E' )
+            int alt28=2;
+            int LA28_0 = input.LA(1);
 
-            		current.merge(this_EXP_5);
-                
-             
-                newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
-                
+            if ( (LA28_0==51) ) {
+                alt28=1;
+            }
+            else if ( (LA28_0==52) ) {
+                alt28=2;
+            }
+            else {
+                if (state.backtracking>0) {state.failed=true; return current;}
+                NoViableAltException nvae =
+                    new NoViableAltException("", 28, 0, input);
+
+                throw nvae;
+            }
+            switch (alt28) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2037:2: kw= 'e'
+                    {
+                    kw=(Token)match(input,51,FOLLOW_51_in_ruleDecimalExp4916); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                          
+                    }
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2044:2: kw= 'E'
+                    {
+                    kw=(Token)match(input,52,FOLLOW_52_in_ruleDecimalExp4935); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                          
+                    }
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2049:2: (kw= '+' | kw= '-' )?
+            int alt29=3;
+            int LA29_0 = input.LA(1);
+
+            if ( (LA29_0==48) ) {
+                alt29=1;
+            }
+            else if ( (LA29_0==49) ) {
+                alt29=2;
+            }
+            switch (alt29) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2050:2: kw= '+'
+                    {
+                    kw=(Token)match(input,48,FOLLOW_48_in_ruleDecimalExp4950); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                          
+                    }
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2057:2: kw= '-'
+                    {
+                    kw=(Token)match(input,49,FOLLOW_49_in_ruleDecimalExp4969); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
+
+                              current.merge(kw);
+                              newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                          
+                    }
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2062:3: ( ( RULE_INT )=>this_INT_9= RULE_INT )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2062:4: ( RULE_INT )=>this_INT_9= RULE_INT
+            {
+            this_INT_9=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp4992); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+
+              		current.merge(this_INT_9);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+                  
+            }
 
             }
 
 
             }
 
-             leaveRule(); 
+
+            }
+
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -5810,7 +6000,7 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2327:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2080:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
     public final String entryRuleFQN() throws RecognitionException {
         String current = null;
 
@@ -5818,17 +6008,21 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2328:2: (iv_ruleFQN= ruleFQN EOF )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2329:2: iv_ruleFQN= ruleFQN EOF
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2081:2: (iv_ruleFQN= ruleFQN EOF )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2082:2: iv_ruleFQN= ruleFQN EOF
             {
-             newCompositeNode(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN5729);
+            if ( state.backtracking==0 ) {
+               newCompositeNode(grammarAccess.getFQNRule()); 
+            }
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN5043);
             iv_ruleFQN=ruleFQN();
 
             state._fsp--;
-
-             current =iv_ruleFQN.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN5740); 
+            if (state.failed) return current;
+            if ( state.backtracking==0 ) {
+               current =iv_ruleFQN.getText(); 
+            }
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN5054); if (state.failed) return current;
 
             }
 
@@ -5846,7 +6040,7 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2336:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2089:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
     public final AntlrDatatypeRuleToken ruleFQN() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -5857,52 +6051,62 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2339:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2340:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2092:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2093:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2340:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2340:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2093:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2093:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
             {
-            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN5780); 
+            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN5094); if (state.failed) return current;
+            if ( state.backtracking==0 ) {
 
-            		current.merge(this_ID_0);
-                
-             
-                newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
-                
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2347:1: (kw= '.' this_ID_2= RULE_ID )*
-            loop31:
+              		current.merge(this_ID_0);
+                  
+            }
+            if ( state.backtracking==0 ) {
+               
+                  newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
+                  
+            }
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2100:1: (kw= '.' this_ID_2= RULE_ID )*
+            loop30:
             do {
-                int alt31=2;
-                int LA31_0 = input.LA(1);
+                int alt30=2;
+                int LA30_0 = input.LA(1);
 
-                if ( (LA31_0==51) ) {
-                    alt31=1;
+                if ( (LA30_0==50) ) {
+                    alt30=1;
                 }
 
 
-                switch (alt31) {
+                switch (alt30) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2348:2: kw= '.' this_ID_2= RULE_ID
+            	    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2101:2: kw= '.' this_ID_2= RULE_ID
             	    {
-            	    kw=(Token)match(input,51,FOLLOW_51_in_ruleFQN5799); 
+            	    kw=(Token)match(input,50,FOLLOW_50_in_ruleFQN5113); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	            current.merge(kw);
-            	            newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
-            	        
-            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN5814); 
+            	              current.merge(kw);
+            	              newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
+            	          
+            	    }
+            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN5128); if (state.failed) return current;
+            	    if ( state.backtracking==0 ) {
 
-            	    		current.merge(this_ID_2);
-            	        
-            	     
-            	        newLeafNode(this_ID_2, grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
-            	        
+            	      		current.merge(this_ID_2);
+            	          
+            	    }
+            	    if ( state.backtracking==0 ) {
+            	       
+            	          newLeafNode(this_ID_2, grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
+            	          
+            	    }
 
             	    }
             	    break;
 
             	default :
-            	    break loop31;
+            	    break loop30;
                 }
             } while (true);
 
@@ -5912,7 +6116,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -5927,7 +6133,7 @@
 
 
     // $ANTLR start "ruleExecMode"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2368:1: ruleExecMode returns [Enumerator current=null] : ( (enumLiteral_0= 'polled' ) | (enumLiteral_1= 'blocked' ) | (enumLiteral_2= 'mixed' ) ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2121:1: ruleExecMode returns [Enumerator current=null] : ( (enumLiteral_0= 'polled' ) | (enumLiteral_1= 'blocked' ) | (enumLiteral_2= 'mixed' ) ) ;
     public final Enumerator ruleExecMode() throws RecognitionException {
         Enumerator current = null;
 
@@ -5937,46 +6143,49 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2370:28: ( ( (enumLiteral_0= 'polled' ) | (enumLiteral_1= 'blocked' ) | (enumLiteral_2= 'mixed' ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2371:1: ( (enumLiteral_0= 'polled' ) | (enumLiteral_1= 'blocked' ) | (enumLiteral_2= 'mixed' ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2123:28: ( ( (enumLiteral_0= 'polled' ) | (enumLiteral_1= 'blocked' ) | (enumLiteral_2= 'mixed' ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2124:1: ( (enumLiteral_0= 'polled' ) | (enumLiteral_1= 'blocked' ) | (enumLiteral_2= 'mixed' ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2371:1: ( (enumLiteral_0= 'polled' ) | (enumLiteral_1= 'blocked' ) | (enumLiteral_2= 'mixed' ) )
-            int alt32=3;
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2124:1: ( (enumLiteral_0= 'polled' ) | (enumLiteral_1= 'blocked' ) | (enumLiteral_2= 'mixed' ) )
+            int alt31=3;
             switch ( input.LA(1) ) {
-            case 52:
-                {
-                alt32=1;
-                }
-                break;
             case 53:
                 {
-                alt32=2;
+                alt31=1;
                 }
                 break;
             case 54:
                 {
-                alt32=3;
+                alt31=2;
+                }
+                break;
+            case 55:
+                {
+                alt31=3;
                 }
                 break;
             default:
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 32, 0, input);
+                    new NoViableAltException("", 31, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt32) {
+            switch (alt31) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2371:2: (enumLiteral_0= 'polled' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2124:2: (enumLiteral_0= 'polled' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2371:2: (enumLiteral_0= 'polled' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2371:4: enumLiteral_0= 'polled'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2124:2: (enumLiteral_0= 'polled' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2124:4: enumLiteral_0= 'polled'
                     {
-                    enumLiteral_0=(Token)match(input,52,FOLLOW_52_in_ruleExecMode5875); 
+                    enumLiteral_0=(Token)match(input,53,FOLLOW_53_in_ruleExecMode5189); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getExecModeAccess().getPOLLEDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_0, grammarAccess.getExecModeAccess().getPOLLEDEnumLiteralDeclaration_0()); 
-                        
+                              current = grammarAccess.getExecModeAccess().getPOLLEDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_0, grammarAccess.getExecModeAccess().getPOLLEDEnumLiteralDeclaration_0()); 
+                          
+                    }
 
                     }
 
@@ -5984,16 +6193,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2377:6: (enumLiteral_1= 'blocked' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2130:6: (enumLiteral_1= 'blocked' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2377:6: (enumLiteral_1= 'blocked' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2377:8: enumLiteral_1= 'blocked'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2130:6: (enumLiteral_1= 'blocked' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2130:8: enumLiteral_1= 'blocked'
                     {
-                    enumLiteral_1=(Token)match(input,53,FOLLOW_53_in_ruleExecMode5892); 
+                    enumLiteral_1=(Token)match(input,54,FOLLOW_54_in_ruleExecMode5206); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getExecModeAccess().getBLOCKEDEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_1, grammarAccess.getExecModeAccess().getBLOCKEDEnumLiteralDeclaration_1()); 
-                        
+                              current = grammarAccess.getExecModeAccess().getBLOCKEDEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_1, grammarAccess.getExecModeAccess().getBLOCKEDEnumLiteralDeclaration_1()); 
+                          
+                    }
 
                     }
 
@@ -6001,16 +6212,18 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2383:6: (enumLiteral_2= 'mixed' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2136:6: (enumLiteral_2= 'mixed' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2383:6: (enumLiteral_2= 'mixed' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2383:8: enumLiteral_2= 'mixed'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2136:6: (enumLiteral_2= 'mixed' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2136:8: enumLiteral_2= 'mixed'
                     {
-                    enumLiteral_2=(Token)match(input,54,FOLLOW_54_in_ruleExecMode5909); 
+                    enumLiteral_2=(Token)match(input,55,FOLLOW_55_in_ruleExecMode5223); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getExecModeAccess().getMIXEDEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_2, grammarAccess.getExecModeAccess().getMIXEDEnumLiteralDeclaration_2()); 
-                        
+                              current = grammarAccess.getExecModeAccess().getMIXEDEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_2, grammarAccess.getExecModeAccess().getMIXEDEnumLiteralDeclaration_2()); 
+                          
+                    }
 
                     }
 
@@ -6023,7 +6236,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -6038,7 +6253,7 @@
 
 
     // $ANTLR start "ruleThreadModel"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2393:1: ruleThreadModel returns [Enumerator current=null] : ( (enumLiteral_0= 'singleThreaded' ) | (enumLiteral_1= 'multiThreaded' ) ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2146:1: ruleThreadModel returns [Enumerator current=null] : ( (enumLiteral_0= 'singleThreaded' ) | (enumLiteral_1= 'multiThreaded' ) ) ;
     public final Enumerator ruleThreadModel() throws RecognitionException {
         Enumerator current = null;
 
@@ -6047,37 +6262,40 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2395:28: ( ( (enumLiteral_0= 'singleThreaded' ) | (enumLiteral_1= 'multiThreaded' ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2396:1: ( (enumLiteral_0= 'singleThreaded' ) | (enumLiteral_1= 'multiThreaded' ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2148:28: ( ( (enumLiteral_0= 'singleThreaded' ) | (enumLiteral_1= 'multiThreaded' ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2149:1: ( (enumLiteral_0= 'singleThreaded' ) | (enumLiteral_1= 'multiThreaded' ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2396:1: ( (enumLiteral_0= 'singleThreaded' ) | (enumLiteral_1= 'multiThreaded' ) )
-            int alt33=2;
-            int LA33_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2149:1: ( (enumLiteral_0= 'singleThreaded' ) | (enumLiteral_1= 'multiThreaded' ) )
+            int alt32=2;
+            int LA32_0 = input.LA(1);
 
-            if ( (LA33_0==55) ) {
-                alt33=1;
+            if ( (LA32_0==56) ) {
+                alt32=1;
             }
-            else if ( (LA33_0==56) ) {
-                alt33=2;
+            else if ( (LA32_0==57) ) {
+                alt32=2;
             }
             else {
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 33, 0, input);
+                    new NoViableAltException("", 32, 0, input);
 
                 throw nvae;
             }
-            switch (alt33) {
+            switch (alt32) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2396:2: (enumLiteral_0= 'singleThreaded' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2149:2: (enumLiteral_0= 'singleThreaded' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2396:2: (enumLiteral_0= 'singleThreaded' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2396:4: enumLiteral_0= 'singleThreaded'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2149:2: (enumLiteral_0= 'singleThreaded' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2149:4: enumLiteral_0= 'singleThreaded'
                     {
-                    enumLiteral_0=(Token)match(input,55,FOLLOW_55_in_ruleThreadModel5954); 
+                    enumLiteral_0=(Token)match(input,56,FOLLOW_56_in_ruleThreadModel5268); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getThreadModelAccess().getSINGLE_THREADEDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_0, grammarAccess.getThreadModelAccess().getSINGLE_THREADEDEnumLiteralDeclaration_0()); 
-                        
+                              current = grammarAccess.getThreadModelAccess().getSINGLE_THREADEDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_0, grammarAccess.getThreadModelAccess().getSINGLE_THREADEDEnumLiteralDeclaration_0()); 
+                          
+                    }
 
                     }
 
@@ -6085,16 +6303,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2402:6: (enumLiteral_1= 'multiThreaded' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2155:6: (enumLiteral_1= 'multiThreaded' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2402:6: (enumLiteral_1= 'multiThreaded' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2402:8: enumLiteral_1= 'multiThreaded'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2155:6: (enumLiteral_1= 'multiThreaded' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2155:8: enumLiteral_1= 'multiThreaded'
                     {
-                    enumLiteral_1=(Token)match(input,56,FOLLOW_56_in_ruleThreadModel5971); 
+                    enumLiteral_1=(Token)match(input,57,FOLLOW_57_in_ruleThreadModel5285); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getThreadModelAccess().getMULTI_THREADEDEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_1, grammarAccess.getThreadModelAccess().getMULTI_THREADEDEnumLiteralDeclaration_1()); 
-                        
+                              current = grammarAccess.getThreadModelAccess().getMULTI_THREADEDEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_1, grammarAccess.getThreadModelAccess().getMULTI_THREADEDEnumLiteralDeclaration_1()); 
+                          
+                    }
 
                     }
 
@@ -6107,7 +6327,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -6122,7 +6344,7 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2412:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
+    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2165:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
     public final Enumerator ruleLiteralType() throws RecognitionException {
         Enumerator current = null;
 
@@ -6133,51 +6355,54 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2414:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2415:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2167:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2168:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             {
-            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2415:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
-            int alt34=4;
+            // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2168:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            int alt33=4;
             switch ( input.LA(1) ) {
-            case 57:
-                {
-                alt34=1;
-                }
-                break;
             case 58:
                 {
-                alt34=2;
+                alt33=1;
                 }
                 break;
             case 59:
                 {
-                alt34=3;
+                alt33=2;
                 }
                 break;
             case 60:
                 {
-                alt34=4;
+                alt33=3;
+                }
+                break;
+            case 61:
+                {
+                alt33=4;
                 }
                 break;
             default:
+                if (state.backtracking>0) {state.failed=true; return current;}
                 NoViableAltException nvae =
-                    new NoViableAltException("", 34, 0, input);
+                    new NoViableAltException("", 33, 0, input);
 
                 throw nvae;
             }
 
-            switch (alt34) {
+            switch (alt33) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2415:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2168:2: (enumLiteral_0= 'ptBoolean' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2415:2: (enumLiteral_0= 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2415:4: enumLiteral_0= 'ptBoolean'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2168:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2168:4: enumLiteral_0= 'ptBoolean'
                     {
-                    enumLiteral_0=(Token)match(input,57,FOLLOW_57_in_ruleLiteralType6016); 
+                    enumLiteral_0=(Token)match(input,58,FOLLOW_58_in_ruleLiteralType5330); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_0, grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
-                        
+                              current = grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_0, grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
+                          
+                    }
 
                     }
 
@@ -6185,16 +6410,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2421:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2174:6: (enumLiteral_1= 'ptInteger' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2421:6: (enumLiteral_1= 'ptInteger' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2421:8: enumLiteral_1= 'ptInteger'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2174:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2174:8: enumLiteral_1= 'ptInteger'
                     {
-                    enumLiteral_1=(Token)match(input,58,FOLLOW_58_in_ruleLiteralType6033); 
+                    enumLiteral_1=(Token)match(input,59,FOLLOW_59_in_ruleLiteralType5347); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_1, grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
-                        
+                              current = grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_1, grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
+                          
+                    }
 
                     }
 
@@ -6202,16 +6429,18 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2427:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2180:6: (enumLiteral_2= 'ptReal' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2427:6: (enumLiteral_2= 'ptReal' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2427:8: enumLiteral_2= 'ptReal'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2180:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2180:8: enumLiteral_2= 'ptReal'
                     {
-                    enumLiteral_2=(Token)match(input,59,FOLLOW_59_in_ruleLiteralType6050); 
+                    enumLiteral_2=(Token)match(input,60,FOLLOW_60_in_ruleLiteralType5364); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_2, grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
-                        
+                              current = grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_2, grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
+                          
+                    }
 
                     }
 
@@ -6219,16 +6448,18 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2433:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2186:6: (enumLiteral_3= 'ptCharacter' )
                     {
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2433:6: (enumLiteral_3= 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2433:8: enumLiteral_3= 'ptCharacter'
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2186:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2186:8: enumLiteral_3= 'ptCharacter'
                     {
-                    enumLiteral_3=(Token)match(input,60,FOLLOW_60_in_ruleLiteralType6067); 
+                    enumLiteral_3=(Token)match(input,61,FOLLOW_61_in_ruleLiteralType5381); if (state.failed) return current;
+                    if ( state.backtracking==0 ) {
 
-                            current = grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
-                            newLeafNode(enumLiteral_3, grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
-                        
+                              current = grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
+                              newLeafNode(enumLiteral_3, grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
+                          
+                    }
 
                     }
 
@@ -6241,7 +6472,9 @@
 
             }
 
-             leaveRule(); 
+            if ( state.backtracking==0 ) {
+               leaveRule(); 
+            }
         }
          
             catch (RecognitionException re) { 
@@ -6254,290 +6487,237 @@
     }
     // $ANTLR end "ruleLiteralType"
 
+    // $ANTLR start synpred1_InternalETPhys
+    public final void synpred1_InternalETPhys_fragment() throws RecognitionException {   
+        // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2062:4: ( RULE_INT )
+        // ../org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/parser/antlr/internal/InternalETPhys.g:2062:6: RULE_INT
+        {
+        match(input,RULE_INT,FOLLOW_RULE_INT_in_synpred1_InternalETPhys4983); if (state.failed) return ;
+
+        }
+    }
+    // $ANTLR end synpred1_InternalETPhys
+
     // Delegated rules
 
-
-    protected DFA26 dfa26 = new DFA26(this);
-    static final String DFA26_eotS =
-        "\12\uffff";
-    static final String DFA26_eofS =
-        "\5\uffff\1\7\1\11\3\uffff";
-    static final String DFA26_minS =
-        "\3\5\1\63\1\uffff\1\5\1\10\3\uffff";
-    static final String DFA26_maxS =
-        "\4\63\1\uffff\1\5\1\10\3\uffff";
-    static final String DFA26_acceptS =
-        "\4\uffff\1\2\2\uffff\1\3\1\4\1\1";
-    static final String DFA26_specialS =
-        "\12\uffff}>";
-    static final String[] DFA26_transitionS = {
-            "\1\3\34\uffff\1\1\1\2\17\uffff\1\4",
-            "\1\3\55\uffff\1\4",
-            "\1\3\55\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\6",
-            "\1\10",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA26_eot = DFA.unpackEncodedString(DFA26_eotS);
-    static final short[] DFA26_eof = DFA.unpackEncodedString(DFA26_eofS);
-    static final char[] DFA26_min = DFA.unpackEncodedStringToUnsignedChars(DFA26_minS);
-    static final char[] DFA26_max = DFA.unpackEncodedStringToUnsignedChars(DFA26_maxS);
-    static final short[] DFA26_accept = DFA.unpackEncodedString(DFA26_acceptS);
-    static final short[] DFA26_special = DFA.unpackEncodedString(DFA26_specialS);
-    static final short[][] DFA26_transition;
-
-    static {
-        int numStates = DFA26_transitionS.length;
-        DFA26_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA26_transition[i] = DFA.unpackEncodedString(DFA26_transitionS[i]);
+    public final boolean synpred1_InternalETPhys() {
+        state.backtracking++;
+        int start = input.mark();
+        try {
+            synpred1_InternalETPhys_fragment(); // can never throw exception
+        } catch (RecognitionException re) {
+            System.err.println("impossible: "+re);
         }
+        boolean success = !state.failed;
+        input.rewind(start);
+        state.backtracking--;
+        state.failed=false;
+        return success;
     }
 
-    class DFA26 extends DFA {
 
-        public DFA26(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 26;
-            this.eot = DFA26_eot;
-            this.eof = DFA26_eof;
-            this.min = DFA26_min;
-            this.max = DFA26_max;
-            this.accept = DFA26_accept;
-            this.special = DFA26_special;
-            this.transition = DFA26_transition;
-        }
-        public String getDescription() {
-            return "2023:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )";
-        }
-    }
  
 
     public static final BitSet FOLLOW_rulePhysicalModel_in_entryRulePhysicalModel75 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRulePhysicalModel85 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rulePhysicalModel122 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_rulePhysicalModel143 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_rulePhysicalModel155 = new BitSet(new long[]{0x0000010100098000L});
-    public static final BitSet FOLLOW_ruleImport_in_rulePhysicalModel176 = new BitSet(new long[]{0x0000010100098000L});
-    public static final BitSet FOLLOW_rulePhysicalSystem_in_rulePhysicalModel199 = new BitSet(new long[]{0x0000000100098000L});
-    public static final BitSet FOLLOW_ruleNodeClass_in_rulePhysicalModel226 = new BitSet(new long[]{0x0000000100098000L});
-    public static final BitSet FOLLOW_ruleRuntimeClass_in_rulePhysicalModel253 = new BitSet(new long[]{0x0000000100098000L});
-    public static final BitSet FOLLOW_15_in_rulePhysicalModel267 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_rulePhysicalModel122 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_rulePhysicalModel143 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_rulePhysicalModel155 = new BitSet(new long[]{0x000000208004C000L});
+    public static final BitSet FOLLOW_ruleImport_in_rulePhysicalModel176 = new BitSet(new long[]{0x000000208004C000L});
+    public static final BitSet FOLLOW_rulePhysicalSystem_in_rulePhysicalModel199 = new BitSet(new long[]{0x000000008004C000L});
+    public static final BitSet FOLLOW_ruleNodeClass_in_rulePhysicalModel226 = new BitSet(new long[]{0x000000008004C000L});
+    public static final BitSet FOLLOW_ruleRuntimeClass_in_rulePhysicalModel253 = new BitSet(new long[]{0x000000008004C000L});
+    public static final BitSet FOLLOW_14_in_rulePhysicalModel267 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rulePhysicalSystem_in_entryRulePhysicalSystem303 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRulePhysicalSystem313 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rulePhysicalSystem350 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_rulePhysicalSystem367 = new BitSet(new long[]{0x0000080000004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rulePhysicalSystem393 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_rulePhysicalSystem406 = new BitSet(new long[]{0x0000000000028000L});
-    public static final BitSet FOLLOW_ruleNodeRef_in_rulePhysicalSystem427 = new BitSet(new long[]{0x0000000000028000L});
-    public static final BitSet FOLLOW_15_in_rulePhysicalSystem440 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rulePhysicalSystem350 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_rulePhysicalSystem367 = new BitSet(new long[]{0x0000010000002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rulePhysicalSystem393 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_rulePhysicalSystem406 = new BitSet(new long[]{0x0000000000014000L});
+    public static final BitSet FOLLOW_ruleNodeRef_in_rulePhysicalSystem427 = new BitSet(new long[]{0x0000000000014000L});
+    public static final BitSet FOLLOW_14_in_rulePhysicalSystem440 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleNodeRef_in_entryRuleNodeRef476 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleNodeRef486 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_ruleNodeRef523 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleNodeRef540 = new BitSet(new long[]{0x0000000000040000L});
-    public static final BitSet FOLLOW_18_in_ruleNodeRef557 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleNodeRef580 = new BitSet(new long[]{0x0000080000000002L});
+    public static final BitSet FOLLOW_16_in_ruleNodeRef523 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleNodeRef540 = new BitSet(new long[]{0x0000000000020000L});
+    public static final BitSet FOLLOW_17_in_ruleNodeRef557 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleNodeRef580 = new BitSet(new long[]{0x0000010000000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_ruleNodeRef601 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleNodeClass_in_entryRuleNodeClass638 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleNodeClass648 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_ruleNodeClass685 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleNodeClass702 = new BitSet(new long[]{0x0000080000004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleNodeClass728 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleNodeClass741 = new BitSet(new long[]{0x0000000000D00000L});
-    public static final BitSet FOLLOW_20_in_ruleNodeClass799 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_ruleNodeClass811 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleNodeClass834 = new BitSet(new long[]{0x0000000003D08000L});
-    public static final BitSet FOLLOW_22_in_ruleNodeClass902 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_ruleNodeClass914 = new BitSet(new long[]{0x0000000C00000020L});
-    public static final BitSet FOLLOW_rulePRIO_in_ruleNodeClass935 = new BitSet(new long[]{0x0000000003D08000L});
-    public static final BitSet FOLLOW_23_in_ruleNodeClass1003 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_ruleNodeClass1015 = new BitSet(new long[]{0x0000000C00000020L});
-    public static final BitSet FOLLOW_rulePRIO_in_ruleNodeClass1036 = new BitSet(new long[]{0x0000000003D08000L});
-    public static final BitSet FOLLOW_rulePhysicalThread_in_ruleNodeClass1104 = new BitSet(new long[]{0x0000000003008000L});
-    public static final BitSet FOLLOW_15_in_ruleNodeClass1117 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_18_in_ruleNodeClass685 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleNodeClass702 = new BitSet(new long[]{0x0000010000002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleNodeClass728 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleNodeClass741 = new BitSet(new long[]{0x0000000000680000L});
+    public static final BitSet FOLLOW_19_in_ruleNodeClass799 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_ruleNodeClass811 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleNodeClass834 = new BitSet(new long[]{0x0000000001E84000L});
+    public static final BitSet FOLLOW_21_in_ruleNodeClass902 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_ruleNodeClass914 = new BitSet(new long[]{0x00030000000000A0L});
+    public static final BitSet FOLLOW_ruleInteger_in_ruleNodeClass935 = new BitSet(new long[]{0x0000000001E84000L});
+    public static final BitSet FOLLOW_22_in_ruleNodeClass1003 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_ruleNodeClass1015 = new BitSet(new long[]{0x00030000000000A0L});
+    public static final BitSet FOLLOW_ruleInteger_in_ruleNodeClass1036 = new BitSet(new long[]{0x0000000001E84000L});
+    public static final BitSet FOLLOW_rulePhysicalThread_in_ruleNodeClass1104 = new BitSet(new long[]{0x0000000001804000L});
+    public static final BitSet FOLLOW_14_in_ruleNodeClass1117 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rulePhysicalThread_in_entryRulePhysicalThread1153 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRulePhysicalThread1163 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rulePhysicalThread1207 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_25_in_rulePhysicalThread1238 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_rulePhysicalThread1256 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_rulePhysicalThread1273 = new BitSet(new long[]{0x00000000FC000000L});
-    public static final BitSet FOLLOW_26_in_rulePhysicalThread1331 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_rulePhysicalThread1343 = new BitSet(new long[]{0x0070000000000000L});
-    public static final BitSet FOLLOW_ruleExecMode_in_rulePhysicalThread1364 = new BitSet(new long[]{0x00000000FC008000L});
-    public static final BitSet FOLLOW_27_in_rulePhysicalThread1432 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_rulePhysicalThread1444 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_ruleTIME_in_rulePhysicalThread1465 = new BitSet(new long[]{0x00000000FC008000L});
-    public static final BitSet FOLLOW_28_in_rulePhysicalThread1533 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_rulePhysicalThread1545 = new BitSet(new long[]{0x0000000C00000020L});
-    public static final BitSet FOLLOW_rulePRIO_in_rulePhysicalThread1566 = new BitSet(new long[]{0x00000000FC008000L});
-    public static final BitSet FOLLOW_29_in_rulePhysicalThread1634 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_rulePhysicalThread1646 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_INT_in_rulePhysicalThread1663 = new BitSet(new long[]{0x00000000FC008000L});
-    public static final BitSet FOLLOW_30_in_rulePhysicalThread1736 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_rulePhysicalThread1748 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_INT_in_rulePhysicalThread1765 = new BitSet(new long[]{0x00000000FC008000L});
-    public static final BitSet FOLLOW_31_in_rulePhysicalThread1838 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_rulePhysicalThread1850 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_INT_in_rulePhysicalThread1867 = new BitSet(new long[]{0x00000000FC008000L});
-    public static final BitSet FOLLOW_15_in_rulePhysicalThread1931 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_23_in_rulePhysicalThread1207 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_24_in_rulePhysicalThread1238 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_rulePhysicalThread1256 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_rulePhysicalThread1273 = new BitSet(new long[]{0x000000007E000000L});
+    public static final BitSet FOLLOW_25_in_rulePhysicalThread1331 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_rulePhysicalThread1343 = new BitSet(new long[]{0x00E0000000000000L});
+    public static final BitSet FOLLOW_ruleExecMode_in_rulePhysicalThread1364 = new BitSet(new long[]{0x000000007E004000L});
+    public static final BitSet FOLLOW_26_in_rulePhysicalThread1432 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_rulePhysicalThread1444 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_ruleTIME_in_rulePhysicalThread1465 = new BitSet(new long[]{0x000000007E004000L});
+    public static final BitSet FOLLOW_27_in_rulePhysicalThread1533 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_rulePhysicalThread1545 = new BitSet(new long[]{0x00030000000000A0L});
+    public static final BitSet FOLLOW_ruleInteger_in_rulePhysicalThread1566 = new BitSet(new long[]{0x000000007E004000L});
+    public static final BitSet FOLLOW_28_in_rulePhysicalThread1634 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_rulePhysicalThread1646 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_INT_in_rulePhysicalThread1663 = new BitSet(new long[]{0x000000007E004000L});
+    public static final BitSet FOLLOW_29_in_rulePhysicalThread1736 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_rulePhysicalThread1748 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_INT_in_rulePhysicalThread1765 = new BitSet(new long[]{0x000000007E004000L});
+    public static final BitSet FOLLOW_30_in_rulePhysicalThread1838 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_rulePhysicalThread1850 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_INT_in_rulePhysicalThread1867 = new BitSet(new long[]{0x000000007E004000L});
+    public static final BitSet FOLLOW_14_in_rulePhysicalThread1931 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRuntimeClass_in_entryRuleRuntimeClass1967 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRuntimeClass1977 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_ruleRuntimeClass2014 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleRuntimeClass2031 = new BitSet(new long[]{0x0000080000004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRuntimeClass2057 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleRuntimeClass2070 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_ruleRuntimeClass2082 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_ruleRuntimeClass2094 = new BitSet(new long[]{0x0180000000000000L});
-    public static final BitSet FOLLOW_ruleThreadModel_in_ruleRuntimeClass2115 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleRuntimeClass2127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePRIO_in_entryRulePRIO2170 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRulePRIO2181 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_rulePRIO2224 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_35_in_rulePRIO2243 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_INT_in_rulePRIO2260 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue2311 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue2321 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue2363 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_ruleKeyValue2380 = new BitSet(new long[]{0x000E000C000000E0L});
-    public static final BitSet FOLLOW_ruleLiteral_in_ruleKeyValue2401 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType2440 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType2451 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotationTargetType2490 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute2534 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationAttribute2544 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_ruleAnnotationAttribute2591 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_ruleAnnotationAttribute2618 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute2653 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute2663 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_ruleSimpleAnnotationAttribute2707 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_37_in_ruleSimpleAnnotationAttribute2738 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_38_in_ruleSimpleAnnotationAttribute2751 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute2768 = new BitSet(new long[]{0x0000000000040000L});
-    public static final BitSet FOLLOW_18_in_ruleSimpleAnnotationAttribute2785 = new BitSet(new long[]{0x1E00000000000000L});
-    public static final BitSet FOLLOW_ruleLiteralType_in_ruleSimpleAnnotationAttribute2806 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute2842 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute2852 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_ruleEnumAnnotationAttribute2896 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_37_in_ruleEnumAnnotationAttribute2927 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_38_in_ruleEnumAnnotationAttribute2940 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute2957 = new BitSet(new long[]{0x0000000000040000L});
-    public static final BitSet FOLLOW_18_in_ruleEnumAnnotationAttribute2974 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleEnumAnnotationAttribute2986 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute3003 = new BitSet(new long[]{0x0000008000008000L});
-    public static final BitSet FOLLOW_39_in_ruleEnumAnnotationAttribute3021 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute3038 = new BitSet(new long[]{0x0000008000008000L});
-    public static final BitSet FOLLOW_15_in_ruleEnumAnnotationAttribute3057 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport3093 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleImport3103 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_ruleImport3140 = new BitSet(new long[]{0x0000000200000010L});
-    public static final BitSet FOLLOW_ruleImportedFQN_in_ruleImport3163 = new BitSet(new long[]{0x0000020000000000L});
-    public static final BitSet FOLLOW_41_in_ruleImport3175 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_33_in_ruleImport3194 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleImport3212 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN3254 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN3265 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN3312 = new BitSet(new long[]{0x0000040000000002L});
-    public static final BitSet FOLLOW_42_in_ruleImportedFQN3331 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation3373 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation3383 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_ruleDocumentation3429 = new BitSet(new long[]{0x0000100000000040L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation3446 = new BitSet(new long[]{0x0000100000000040L});
-    public static final BitSet FOLLOW_44_in_ruleDocumentation3464 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTIME_in_entryRuleTIME3501 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleTIME3512 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME3553 = new BitSet(new long[]{0x0000200000000000L});
-    public static final BitSet FOLLOW_45_in_ruleTIME3571 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME3594 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_46_in_ruleTIME3612 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME3635 = new BitSet(new long[]{0x0000800000000000L});
-    public static final BitSet FOLLOW_47_in_ruleTIME3653 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME3676 = new BitSet(new long[]{0x0001000000000000L});
-    public static final BitSet FOLLOW_48_in_ruleTIME3694 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral3737 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleLiteral3747 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_ruleLiteral3794 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_ruleLiteral3821 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStringLiteral_in_ruleLiteral3848 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral3883 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral3893 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_49_in_ruleBooleanLiteral3940 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_ruleBooleanLiteral3964 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral4014 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral4024 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_ruleNumberLiteral4071 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRealLiteral_in_ruleNumberLiteral4098 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral4133 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleRealLiteral4143 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_ruleRealLiteral4198 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral4234 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral4244 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_ruleIntLiteral4299 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral4335 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral4345 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleStringLiteral4396 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger4438 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleInteger4449 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_ruleInteger4496 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_ruleInteger4529 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger4581 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger4592 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleSignedInteger4635 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_35_in_ruleSignedInteger4654 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleSignedInteger4671 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal4727 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal4738 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal4781 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal4830 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal4841 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal4888 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_ruleReal4921 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_ruleReal4954 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal4987 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal5039 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal5050 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleDecimal5093 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_35_in_ruleDecimal5112 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal5129 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_51_in_ruleDecimal5147 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal5162 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal5218 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal5229 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleDotDecimal5272 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_35_in_ruleDotDecimal5291 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_51_in_ruleDotDecimal5306 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDotDecimal5321 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot5377 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot5388 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleDecimalDot5431 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_35_in_ruleDecimalDot5450 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalDot5467 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_51_in_ruleDecimalDot5485 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp5536 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp5547 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleDecimalExp5590 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_35_in_ruleDecimalExp5609 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp5626 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_51_in_ruleDecimalExp5644 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp5659 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RULE_EXP_in_ruleDecimalExp5679 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN5729 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN5740 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN5780 = new BitSet(new long[]{0x0008000000000002L});
-    public static final BitSet FOLLOW_51_in_ruleFQN5799 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN5814 = new BitSet(new long[]{0x0008000000000002L});
-    public static final BitSet FOLLOW_52_in_ruleExecMode5875 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_53_in_ruleExecMode5892 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_54_in_ruleExecMode5909 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_ruleThreadModel5954 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_56_in_ruleThreadModel5971 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_57_in_ruleLiteralType6016 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_58_in_ruleLiteralType6033 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_ruleLiteralType6050 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_ruleLiteralType6067 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_ruleRuntimeClass2014 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleRuntimeClass2031 = new BitSet(new long[]{0x0000010000002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRuntimeClass2057 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleRuntimeClass2070 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_32_in_ruleRuntimeClass2082 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_ruleRuntimeClass2094 = new BitSet(new long[]{0x0300000000000000L});
+    public static final BitSet FOLLOW_ruleThreadModel_in_ruleRuntimeClass2115 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleRuntimeClass2127 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue2165 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue2175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue2217 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_ruleKeyValue2234 = new BitSet(new long[]{0x0003C000000000E0L});
+    public static final BitSet FOLLOW_ruleLiteral_in_ruleKeyValue2255 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType2294 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType2305 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotationTargetType2344 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute2388 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationAttribute2398 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_ruleAnnotationAttribute2445 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_ruleAnnotationAttribute2472 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute2507 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute2517 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_ruleSimpleAnnotationAttribute2561 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_34_in_ruleSimpleAnnotationAttribute2592 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_ruleSimpleAnnotationAttribute2605 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute2622 = new BitSet(new long[]{0x0000000000020000L});
+    public static final BitSet FOLLOW_17_in_ruleSimpleAnnotationAttribute2639 = new BitSet(new long[]{0x3C00000000000000L});
+    public static final BitSet FOLLOW_ruleLiteralType_in_ruleSimpleAnnotationAttribute2660 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute2696 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute2706 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_ruleEnumAnnotationAttribute2750 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_34_in_ruleEnumAnnotationAttribute2781 = new BitSet(new long[]{0x0000000800000000L});
+    public static final BitSet FOLLOW_35_in_ruleEnumAnnotationAttribute2794 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute2811 = new BitSet(new long[]{0x0000000000020000L});
+    public static final BitSet FOLLOW_17_in_ruleEnumAnnotationAttribute2828 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleEnumAnnotationAttribute2840 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute2857 = new BitSet(new long[]{0x0000001000004000L});
+    public static final BitSet FOLLOW_36_in_ruleEnumAnnotationAttribute2875 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute2892 = new BitSet(new long[]{0x0000001000004000L});
+    public static final BitSet FOLLOW_14_in_ruleEnumAnnotationAttribute2911 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport2947 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleImport2957 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_ruleImport2994 = new BitSet(new long[]{0x0000000100000010L});
+    public static final BitSet FOLLOW_ruleImportedFQN_in_ruleImport3017 = new BitSet(new long[]{0x0000004000000000L});
+    public static final BitSet FOLLOW_38_in_ruleImport3029 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_32_in_ruleImport3048 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleImport3066 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN3108 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN3119 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN3166 = new BitSet(new long[]{0x0000008000000002L});
+    public static final BitSet FOLLOW_39_in_ruleImportedFQN3185 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation3227 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation3237 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_40_in_ruleDocumentation3283 = new BitSet(new long[]{0x0000020000000040L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation3300 = new BitSet(new long[]{0x0000020000000040L});
+    public static final BitSet FOLLOW_41_in_ruleDocumentation3318 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTIME_in_entryRuleTIME3355 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleTIME3366 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME3407 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_ruleTIME3425 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME3448 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_43_in_ruleTIME3466 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME3489 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_44_in_ruleTIME3507 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleTIME3530 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_45_in_ruleTIME3548 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral3591 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleLiteral3601 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBooleanLiteral_in_ruleLiteral3648 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_ruleLiteral3675 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStringLiteral_in_ruleLiteral3702 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral3737 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral3747 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_46_in_ruleBooleanLiteral3794 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_ruleBooleanLiteral3818 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral3868 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral3878 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIntLiteral_in_ruleNumberLiteral3925 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRealLiteral_in_ruleNumberLiteral3952 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRealLiteral_in_entryRuleRealLiteral3987 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleRealLiteral3997 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_ruleRealLiteral4052 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIntLiteral_in_entryRuleIntLiteral4088 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleIntLiteral4098 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_ruleIntLiteral4153 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral4189 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral4199 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleStringLiteral4250 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger4292 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleInteger4303 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_ruleInteger4343 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_49_in_ruleInteger4362 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleInteger4379 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_ruleInteger4406 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal4452 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal4463 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal4510 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal4543 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal4595 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal4606 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_ruleDecimal4649 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_49_in_ruleDecimal4668 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal4685 = new BitSet(new long[]{0x0004000000000000L});
+    public static final BitSet FOLLOW_50_in_ruleDecimal4703 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal4718 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp4774 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp4785 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_ruleDecimalExp4828 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_49_in_ruleDecimalExp4847 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp4864 = new BitSet(new long[]{0x0004000000000000L});
+    public static final BitSet FOLLOW_50_in_ruleDecimalExp4882 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp4897 = new BitSet(new long[]{0x0018000000000000L});
+    public static final BitSet FOLLOW_51_in_ruleDecimalExp4916 = new BitSet(new long[]{0x0003000000000020L});
+    public static final BitSet FOLLOW_52_in_ruleDecimalExp4935 = new BitSet(new long[]{0x0003000000000020L});
+    public static final BitSet FOLLOW_48_in_ruleDecimalExp4950 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_49_in_ruleDecimalExp4969 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp4992 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN5043 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN5054 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN5094 = new BitSet(new long[]{0x0004000000000002L});
+    public static final BitSet FOLLOW_50_in_ruleFQN5113 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN5128 = new BitSet(new long[]{0x0004000000000002L});
+    public static final BitSet FOLLOW_53_in_ruleExecMode5189 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_54_in_ruleExecMode5206 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_55_in_ruleExecMode5223 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_56_in_ruleThreadModel5268 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_57_in_ruleThreadModel5285 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_58_in_ruleLiteralType5330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_ruleLiteralType5347 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_ruleLiteralType5364 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_61_in_ruleLiteralType5381 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_synpred1_InternalETPhys4983 = new BitSet(new long[]{0x0000000000000002L});
 
 }
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/serializer/ETPhysSemanticSequencer.java b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/serializer/ETPhysSemanticSequencer.java
index 8cb19a7..71b8b62 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/serializer/ETPhysSemanticSequencer.java
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/serializer/ETPhysSemanticSequencer.java
@@ -168,8 +168,8 @@
 	 *         name=ID 
 	 *         docu=Documentation? 
 	 *         runtime=[RuntimeClass|FQN] 
-	 *         priomin=PRIO 
-	 *         priomax=PRIO 
+	 *         priomin=Integer 
+	 *         priomax=Integer 
 	 *         threads+=PhysicalThread*
 	 *     )
 	 */
@@ -212,7 +212,7 @@
 	 *         name=ID 
 	 *         execmode=ExecMode 
 	 *         time=TIME? 
-	 *         prio=PRIO 
+	 *         prio=Integer 
 	 *         stacksize=INT 
 	 *         msgblocksize=INT 
 	 *         msgpoolsize=INT
diff --git a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/services/ETPhysGrammarAccess.java b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/services/ETPhysGrammarAccess.java
index 04b4c7d..126c5c6 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/services/ETPhysGrammarAccess.java
+++ b/plugins/org.eclipse.etrice.core.etphys/src-gen/org/eclipse/etrice/core/etphys/services/ETPhysGrammarAccess.java
@@ -204,23 +204,23 @@
 		private final Keyword cPriominKeyword_4_1_0 = (Keyword)cGroup_4_1.eContents().get(0);
 		private final Keyword cEqualsSignKeyword_4_1_1 = (Keyword)cGroup_4_1.eContents().get(1);
 		private final Assignment cPriominAssignment_4_1_2 = (Assignment)cGroup_4_1.eContents().get(2);
-		private final RuleCall cPriominPRIOParserRuleCall_4_1_2_0 = (RuleCall)cPriominAssignment_4_1_2.eContents().get(0);
+		private final RuleCall cPriominIntegerParserRuleCall_4_1_2_0 = (RuleCall)cPriominAssignment_4_1_2.eContents().get(0);
 		private final Group cGroup_4_2 = (Group)cUnorderedGroup_4.eContents().get(2);
 		private final Keyword cPriomaxKeyword_4_2_0 = (Keyword)cGroup_4_2.eContents().get(0);
 		private final Keyword cEqualsSignKeyword_4_2_1 = (Keyword)cGroup_4_2.eContents().get(1);
 		private final Assignment cPriomaxAssignment_4_2_2 = (Assignment)cGroup_4_2.eContents().get(2);
-		private final RuleCall cPriomaxPRIOParserRuleCall_4_2_2_0 = (RuleCall)cPriomaxAssignment_4_2_2.eContents().get(0);
+		private final RuleCall cPriomaxIntegerParserRuleCall_4_2_2_0 = (RuleCall)cPriomaxAssignment_4_2_2.eContents().get(0);
 		private final Assignment cThreadsAssignment_5 = (Assignment)cGroup.eContents().get(5);
 		private final RuleCall cThreadsPhysicalThreadParserRuleCall_5_0 = (RuleCall)cThreadsAssignment_5.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
 		
 		//NodeClass:
-		//	"NodeClass" name=ID docu=Documentation? "{" ("runtime" "=" runtime=[RuntimeClass|FQN] & "priomin" "=" priomin=PRIO &
-		//	"priomax" "=" priomax=PRIO) threads+=PhysicalThread* "}";
+		//	"NodeClass" name=ID docu=Documentation? "{" ("runtime" "=" runtime=[RuntimeClass|FQN] & "priomin" "=" priomin=Integer
+		//	& "priomax" "=" priomax=Integer) threads+=PhysicalThread* "}";
 		public ParserRule getRule() { return rule; }
 
-		//"NodeClass" name=ID docu=Documentation? "{" ("runtime" "=" runtime=[RuntimeClass|FQN] & "priomin" "=" priomin=PRIO &
-		//"priomax" "=" priomax=PRIO) threads+=PhysicalThread* "}"
+		//"NodeClass" name=ID docu=Documentation? "{" ("runtime" "=" runtime=[RuntimeClass|FQN] & "priomin" "=" priomin=Integer &
+		//"priomax" "=" priomax=Integer) threads+=PhysicalThread* "}"
 		public Group getGroup() { return cGroup; }
 
 		//"NodeClass"
@@ -241,7 +241,7 @@
 		//"{"
 		public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
 
-		//"runtime" "=" runtime=[RuntimeClass|FQN] & "priomin" "=" priomin=PRIO & "priomax" "=" priomax=PRIO
+		//"runtime" "=" runtime=[RuntimeClass|FQN] & "priomin" "=" priomin=Integer & "priomax" "=" priomax=Integer
 		public UnorderedGroup getUnorderedGroup_4() { return cUnorderedGroup_4; }
 
 		//"runtime" "=" runtime=[RuntimeClass|FQN]
@@ -262,7 +262,7 @@
 		//FQN
 		public RuleCall getRuntimeRuntimeClassFQNParserRuleCall_4_0_2_0_1() { return cRuntimeRuntimeClassFQNParserRuleCall_4_0_2_0_1; }
 
-		//"priomin" "=" priomin=PRIO
+		//"priomin" "=" priomin=Integer
 		public Group getGroup_4_1() { return cGroup_4_1; }
 
 		//"priomin"
@@ -271,13 +271,13 @@
 		//"="
 		public Keyword getEqualsSignKeyword_4_1_1() { return cEqualsSignKeyword_4_1_1; }
 
-		//priomin=PRIO
+		//priomin=Integer
 		public Assignment getPriominAssignment_4_1_2() { return cPriominAssignment_4_1_2; }
 
-		//PRIO
-		public RuleCall getPriominPRIOParserRuleCall_4_1_2_0() { return cPriominPRIOParserRuleCall_4_1_2_0; }
+		//Integer
+		public RuleCall getPriominIntegerParserRuleCall_4_1_2_0() { return cPriominIntegerParserRuleCall_4_1_2_0; }
 
-		//"priomax" "=" priomax=PRIO
+		//"priomax" "=" priomax=Integer
 		public Group getGroup_4_2() { return cGroup_4_2; }
 
 		//"priomax"
@@ -286,11 +286,11 @@
 		//"="
 		public Keyword getEqualsSignKeyword_4_2_1() { return cEqualsSignKeyword_4_2_1; }
 
-		//priomax=PRIO
+		//priomax=Integer
 		public Assignment getPriomaxAssignment_4_2_2() { return cPriomaxAssignment_4_2_2; }
 
-		//PRIO
-		public RuleCall getPriomaxPRIOParserRuleCall_4_2_2_0() { return cPriomaxPRIOParserRuleCall_4_2_2_0; }
+		//Integer
+		public RuleCall getPriomaxIntegerParserRuleCall_4_2_2_0() { return cPriomaxIntegerParserRuleCall_4_2_2_0; }
 
 		//threads+=PhysicalThread*
 		public Assignment getThreadsAssignment_5() { return cThreadsAssignment_5; }
@@ -327,7 +327,7 @@
 		private final Keyword cPrioKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
 		private final Keyword cEqualsSignKeyword_3_2_1 = (Keyword)cGroup_3_2.eContents().get(1);
 		private final Assignment cPrioAssignment_3_2_2 = (Assignment)cGroup_3_2.eContents().get(2);
-		private final RuleCall cPrioPRIOParserRuleCall_3_2_2_0 = (RuleCall)cPrioAssignment_3_2_2.eContents().get(0);
+		private final RuleCall cPrioIntegerParserRuleCall_3_2_2_0 = (RuleCall)cPrioAssignment_3_2_2.eContents().get(0);
 		private final Group cGroup_3_3 = (Group)cUnorderedGroup_3.eContents().get(3);
 		private final Keyword cStacksizeKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0);
 		private final Keyword cEqualsSignKeyword_3_3_1 = (Keyword)cGroup_3_3.eContents().get(1);
@@ -347,12 +347,12 @@
 		
 		//PhysicalThread:
 		//	(default?="DefaultThread" | "Thread") name=ID "{" ("execmode" "=" execmode=ExecMode & ("interval" "=" time=TIME)? &
-		//	"prio" "=" prio=PRIO & "stacksize" "=" stacksize=INT & "msgblocksize" "=" msgblocksize=INT & "msgpoolsize" "="
+		//	"prio" "=" prio=Integer & "stacksize" "=" stacksize=INT & "msgblocksize" "=" msgblocksize=INT & "msgpoolsize" "="
 		//	msgpoolsize=INT) "}";
 		public ParserRule getRule() { return rule; }
 
 		//(default?="DefaultThread" | "Thread") name=ID "{" ("execmode" "=" execmode=ExecMode & ("interval" "=" time=TIME)? &
-		//"prio" "=" prio=PRIO & "stacksize" "=" stacksize=INT & "msgblocksize" "=" msgblocksize=INT & "msgpoolsize" "="
+		//"prio" "=" prio=Integer & "stacksize" "=" stacksize=INT & "msgblocksize" "=" msgblocksize=INT & "msgpoolsize" "="
 		//msgpoolsize=INT) "}"
 		public Group getGroup() { return cGroup; }
 
@@ -377,8 +377,8 @@
 		//"{"
 		public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
 
-		//"execmode" "=" execmode=ExecMode & ("interval" "=" time=TIME)? & "prio" "=" prio=PRIO & "stacksize" "=" stacksize=INT &
-		//"msgblocksize" "=" msgblocksize=INT & "msgpoolsize" "=" msgpoolsize=INT
+		//"execmode" "=" execmode=ExecMode & ("interval" "=" time=TIME)? & "prio" "=" prio=Integer & "stacksize" "=" stacksize=INT
+		//& "msgblocksize" "=" msgblocksize=INT & "msgpoolsize" "=" msgpoolsize=INT
 		public UnorderedGroup getUnorderedGroup_3() { return cUnorderedGroup_3; }
 
 		//"execmode" "=" execmode=ExecMode
@@ -411,7 +411,7 @@
 		//TIME
 		public RuleCall getTimeTIMEParserRuleCall_3_1_2_0() { return cTimeTIMEParserRuleCall_3_1_2_0; }
 
-		//"prio" "=" prio=PRIO
+		//"prio" "=" prio=Integer
 		public Group getGroup_3_2() { return cGroup_3_2; }
 
 		//"prio"
@@ -420,11 +420,11 @@
 		//"="
 		public Keyword getEqualsSignKeyword_3_2_1() { return cEqualsSignKeyword_3_2_1; }
 
-		//prio=PRIO
+		//prio=Integer
 		public Assignment getPrioAssignment_3_2_2() { return cPrioAssignment_3_2_2; }
 
-		//PRIO
-		public RuleCall getPrioPRIOParserRuleCall_3_2_2_0() { return cPrioPRIOParserRuleCall_3_2_2_0; }
+		//Integer
+		public RuleCall getPrioIntegerParserRuleCall_3_2_2_0() { return cPrioIntegerParserRuleCall_3_2_2_0; }
 
 		//"stacksize" "=" stacksize=INT
 		public Group getGroup_3_3() { return cGroup_3_3; }
@@ -530,34 +530,6 @@
 		//"}"
 		public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
 	}
-
-	public class PRIOElements extends AbstractParserRuleElementFinder {
-		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PRIO");
-		private final Group cGroup = (Group)rule.eContents().get(1);
-		private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
-		private final Keyword cPlusSignKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0);
-		private final Keyword cHyphenMinusKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1);
-		private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
-		
-		//PRIO returns ecore::EInt hidden():
-		//	("+" | "-")? INT;
-		public ParserRule getRule() { return rule; }
-
-		//("+" | "-")? INT
-		public Group getGroup() { return cGroup; }
-
-		//("+" | "-")?
-		public Alternatives getAlternatives_0() { return cAlternatives_0; }
-
-		//"+"
-		public Keyword getPlusSignKeyword_0_0() { return cPlusSignKeyword_0_0; }
-
-		//"-"
-		public Keyword getHyphenMinusKeyword_0_1() { return cHyphenMinusKeyword_0_1; }
-
-		//INT
-		public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; }
-	}
 	
 	
 	public class ExecModeElements extends AbstractEnumRuleElementFinder {
@@ -632,7 +604,6 @@
 	private final ExecModeElements unknownRuleExecMode;
 	private final RuntimeClassElements pRuntimeClass;
 	private final ThreadModelElements unknownRuleThreadModel;
-	private final PRIOElements pPRIO;
 	
 	private final Grammar grammar;
 
@@ -651,7 +622,6 @@
 		this.unknownRuleExecMode = new ExecModeElements();
 		this.pRuntimeClass = new RuntimeClassElements();
 		this.unknownRuleThreadModel = new ThreadModelElements();
-		this.pPRIO = new PRIOElements();
 	}
 	
 	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -713,8 +683,8 @@
 	}
 
 	//NodeClass:
-	//	"NodeClass" name=ID docu=Documentation? "{" ("runtime" "=" runtime=[RuntimeClass|FQN] & "priomin" "=" priomin=PRIO &
-	//	"priomax" "=" priomax=PRIO) threads+=PhysicalThread* "}";
+	//	"NodeClass" name=ID docu=Documentation? "{" ("runtime" "=" runtime=[RuntimeClass|FQN] & "priomin" "=" priomin=Integer
+	//	& "priomax" "=" priomax=Integer) threads+=PhysicalThread* "}";
 	public NodeClassElements getNodeClassAccess() {
 		return pNodeClass;
 	}
@@ -725,7 +695,7 @@
 
 	//PhysicalThread:
 	//	(default?="DefaultThread" | "Thread") name=ID "{" ("execmode" "=" execmode=ExecMode & ("interval" "=" time=TIME)? &
-	//	"prio" "=" prio=PRIO & "stacksize" "=" stacksize=INT & "msgblocksize" "=" msgblocksize=INT & "msgpoolsize" "="
+	//	"prio" "=" prio=Integer & "stacksize" "=" stacksize=INT & "msgblocksize" "=" msgblocksize=INT & "msgpoolsize" "="
 	//	msgpoolsize=INT) "}";
 	public PhysicalThreadElements getPhysicalThreadAccess() {
 		return pPhysicalThread;
@@ -765,16 +735,6 @@
 		return getThreadModelAccess().getRule();
 	}
 
-	//PRIO returns ecore::EInt hidden():
-	//	("+" | "-")? INT;
-	public PRIOElements getPRIOAccess() {
-		return pPRIO;
-	}
-	
-	public ParserRule getPRIORule() {
-		return getPRIOAccess().getRule();
-	}
-
 	//// **************************************************************
 	//// AnnotationType and Annotation Rules
 	//Annotation:
@@ -1004,7 +964,7 @@
 	}
 
 	//Integer returns ecore::ELong:
-	//	SignedInteger | Hexadecimal;
+	//	("+" | "-")? INT | HEX;
 	public BaseGrammarAccess.IntegerElements getIntegerAccess() {
 		return gaBase.getIntegerAccess();
 	}
@@ -1013,28 +973,8 @@
 		return getIntegerAccess().getRule();
 	}
 
-	//SignedInteger hidden():
-	//	("+" | "-")? INT;
-	public BaseGrammarAccess.SignedIntegerElements getSignedIntegerAccess() {
-		return gaBase.getSignedIntegerAccess();
-	}
-	
-	public ParserRule getSignedIntegerRule() {
-		return getSignedIntegerAccess().getRule();
-	}
-
-	//Hexadecimal hidden():
-	//	HEX;
-	public BaseGrammarAccess.HexadecimalElements getHexadecimalAccess() {
-		return gaBase.getHexadecimalAccess();
-	}
-	
-	public ParserRule getHexadecimalRule() {
-		return getHexadecimalAccess().getRule();
-	}
-
 	//Real returns ecore::EDouble:
-	//	Decimal | DotDecimal | DecimalDot | DecimalExp;
+	//	Decimal | / *DotDecimal | DecimalDot |* / DecimalExp;
 	public BaseGrammarAccess.RealElements getRealAccess() {
 		return gaBase.getRealAccess();
 	}
@@ -1053,28 +993,13 @@
 		return getDecimalAccess().getRule();
 	}
 
-	//DotDecimal hidden():
-	//	("+" | "-")? "." INT;
-	public BaseGrammarAccess.DotDecimalElements getDotDecimalAccess() {
-		return gaBase.getDotDecimalAccess();
-	}
-	
-	public ParserRule getDotDecimalRule() {
-		return getDotDecimalAccess().getRule();
-	}
-
-	//DecimalDot hidden():
-	//	("+" | "-")? INT ".";
-	public BaseGrammarAccess.DecimalDotElements getDecimalDotAccess() {
-		return gaBase.getDecimalDotAccess();
-	}
-	
-	public ParserRule getDecimalDotRule() {
-		return getDecimalDotAccess().getRule();
-	}
-
+	////DotDecimal hidden():
+	////	('+' | '-')? '.' INT;
+	////
+	////DecimalDot hidden():
+	////	('+' | '-')? INT '.';
 	//DecimalExp hidden():
-	//	("+" | "-")? INT "." INT EXP;
+	//	("+" | "-")? INT "." INT ("e" | "E") ("+" | "-")? -> INT;
 	public BaseGrammarAccess.DecimalExpElements getDecimalExpAccess() {
 		return gaBase.getDecimalExpAccess();
 	}
@@ -1083,18 +1008,6 @@
 		return getDecimalExpAccess().getRule();
 	}
 
-	//terminal EXP:
-	//	("e" | "E") ("+" | "-")? "0".."9"+;
-	public TerminalRule getEXPRule() {
-		return gaBase.getEXPRule();
-	} 
-
-	//terminal HEX:
-	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
-	public TerminalRule getHEXRule() {
-		return gaBase.getHEXRule();
-	} 
-
 	//FQN:
 	//	ID ("." ID)*;
 	public BaseGrammarAccess.FQNElements getFQNAccess() {
@@ -1105,6 +1018,12 @@
 		return getFQNAccess().getRule();
 	}
 
+	//terminal HEX:
+	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
+	public TerminalRule getHEXRule() {
+		return gaBase.getHEXRule();
+	} 
+
 	//terminal ID:
 	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
 	public TerminalRule getIDRule() {
diff --git a/plugins/org.eclipse.etrice.core.etphys/src/org/eclipse/etrice/core/etphys/ETPhys.xtext b/plugins/org.eclipse.etrice.core.etphys/src/org/eclipse/etrice/core/etphys/ETPhys.xtext
index 6dc9c8f..495cd01 100644
--- a/plugins/org.eclipse.etrice.core.etphys/src/org/eclipse/etrice/core/etphys/ETPhys.xtext
+++ b/plugins/org.eclipse.etrice.core.etphys/src/org/eclipse/etrice/core/etphys/ETPhys.xtext
@@ -41,8 +41,8 @@
 NodeClass:
 	'NodeClass'name=ID (docu=Documentation)? '{'
 		('runtime' '=' runtime=[RuntimeClass|FQN] &
-		'priomin' '=' priomin=PRIO &
-		'priomax' '=' priomax=PRIO)
+		'priomin' '=' priomin=Integer &
+		'priomax' '=' priomax=Integer)
 		threads+=PhysicalThread*
 	'}'
 ;
@@ -51,7 +51,7 @@
 	(default?='DefaultThread' | 'Thread') name=ID '{'
 		('execmode' '=' execmode=ExecMode &
 		('interval' '=' time=TIME)? &
-		'prio' '=' prio=PRIO &
+		'prio' '=' prio=Integer &
 		'stacksize' '=' stacksize=INT &
 		'msgblocksize' '=' msgblocksize=INT &
 		'msgpoolsize' '=' msgpoolsize=INT)
@@ -74,5 +74,3 @@
 	SINGLE_THREADED='singleThreaded' |
 	MULTI_THREADED='multiThreaded'
 ;
-
-PRIO returns ecore::EInt hidden(): ('+'|'-')? INT;
diff --git a/plugins/org.eclipse.etrice.core.etphys/xtend-gen/org/eclipse/etrice/core/etphys/generator/ETPhysGenerator.java b/plugins/org.eclipse.etrice.core.etphys/xtend-gen/org/eclipse/etrice/core/etphys/generator/ETPhysGenerator.java
index af40fcc..b0e8640 100644
--- a/plugins/org.eclipse.etrice.core.etphys/xtend-gen/org/eclipse/etrice/core/etphys/generator/ETPhysGenerator.java
+++ b/plugins/org.eclipse.etrice.core.etphys/xtend-gen/org/eclipse/etrice/core/etphys/generator/ETPhysGenerator.java
@@ -9,6 +9,7 @@
 
 @SuppressWarnings("all")
 public class ETPhysGenerator implements IGenerator {
+  @Override
   public void doGenerate(final Resource resource, final IFileSystemAccess fsa) {
   }
 }
diff --git a/plugins/org.eclipse.etrice.core.fsm.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.fsm.ui/META-INF/MANIFEST.MF
index 753f08a..a9a6715 100644
--- a/plugins/org.eclipse.etrice.core.fsm.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.fsm.ui/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: FSM DSL UI
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.fsm.ui; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.common.ui;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.common.ui;bundle-version="1.1.0",
  org.eclipse.etrice.core.fsm;visibility:=reexport,
  org.eclipse.xtext.ui;bundle-version="2.6.0",
  org.eclipse.ui.editors;bundle-version="3.5.0",
@@ -16,7 +16,8 @@
  org.antlr.runtime,
  org.eclipse.xtext.common.types.ui;bundle-version="2.6.0",
  org.eclipse.xtext.ui.codetemplates.ui;bundle-version="2.6.0",
- org.eclipse.compare
+ org.eclipse.compare,
+ org.eclipse.xtext.xbase.lib
 Import-Package: org.apache.log4j,
  org.eclipse.xtext.xbase.lib
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/FSMParser.java b/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/FSMParser.java
index 411f773..6511908 100644
--- a/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/FSMParser.java
+++ b/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/FSMParser.java
@@ -60,12 +60,12 @@
 					put(grammarAccess.getBooleanLiteralAccess().getAlternatives_1(), "rule__BooleanLiteral__Alternatives_1");
 					put(grammarAccess.getNumberLiteralAccess().getAlternatives(), "rule__NumberLiteral__Alternatives");
 					put(grammarAccess.getIntegerAccess().getAlternatives(), "rule__Integer__Alternatives");
-					put(grammarAccess.getSignedIntegerAccess().getAlternatives_0(), "rule__SignedInteger__Alternatives_0");
+					put(grammarAccess.getIntegerAccess().getAlternatives_0_0(), "rule__Integer__Alternatives_0_0");
 					put(grammarAccess.getRealAccess().getAlternatives(), "rule__Real__Alternatives");
 					put(grammarAccess.getDecimalAccess().getAlternatives_0(), "rule__Decimal__Alternatives_0");
-					put(grammarAccess.getDotDecimalAccess().getAlternatives_0(), "rule__DotDecimal__Alternatives_0");
-					put(grammarAccess.getDecimalDotAccess().getAlternatives_0(), "rule__DecimalDot__Alternatives_0");
 					put(grammarAccess.getDecimalExpAccess().getAlternatives_0(), "rule__DecimalExp__Alternatives_0");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_4(), "rule__DecimalExp__Alternatives_4");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_5(), "rule__DecimalExp__Alternatives_5");
 					put(grammarAccess.getComponentCommunicationTypeAccess().getAlternatives(), "rule__ComponentCommunicationType__Alternatives");
 					put(grammarAccess.getLiteralTypeAccess().getAlternatives(), "rule__LiteralType__Alternatives");
 					put(grammarAccess.getModelComponentAccess().getGroup(), "rule__ModelComponent__Group__0");
@@ -142,10 +142,8 @@
 					put(grammarAccess.getRealLiteralAccess().getGroup(), "rule__RealLiteral__Group__0");
 					put(grammarAccess.getIntLiteralAccess().getGroup(), "rule__IntLiteral__Group__0");
 					put(grammarAccess.getStringLiteralAccess().getGroup(), "rule__StringLiteral__Group__0");
-					put(grammarAccess.getSignedIntegerAccess().getGroup(), "rule__SignedInteger__Group__0");
+					put(grammarAccess.getIntegerAccess().getGroup_0(), "rule__Integer__Group_0__0");
 					put(grammarAccess.getDecimalAccess().getGroup(), "rule__Decimal__Group__0");
-					put(grammarAccess.getDotDecimalAccess().getGroup(), "rule__DotDecimal__Group__0");
-					put(grammarAccess.getDecimalDotAccess().getGroup(), "rule__DecimalDot__Group__0");
 					put(grammarAccess.getDecimalExpAccess().getGroup(), "rule__DecimalExp__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup(), "rule__FQN__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup_1(), "rule__FQN__Group_1__0");
diff --git a/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g b/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g
index 7a997f0..648aaab 100644
--- a/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g
+++ b/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g
@@ -1416,78 +1416,6 @@
 
 
 
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getSignedIntegerRule()); }
-	 ruleSignedInteger
-{ after(grammarAccess.getSignedIntegerRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSignedIntegerAccess().getGroup()); }
-(rule__SignedInteger__Group__0)
-{ after(grammarAccess.getSignedIntegerAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getHexadecimalRule()); }
-	 ruleHexadecimal
-{ after(grammarAccess.getHexadecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-	RULE_HEX
-{ after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleReal
 entryRuleReal 
 :
@@ -1552,78 +1480,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDotDecimalRule()); }
-	 ruleDotDecimal
-{ after(grammarAccess.getDotDecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDotDecimalAccess().getGroup()); }
-(rule__DotDecimal__Group__0)
-{ after(grammarAccess.getDotDecimalAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDecimalDotRule()); }
-	 ruleDecimalDot
-{ after(grammarAccess.getDecimalDotRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDecimalDotAccess().getGroup()); }
-(rule__DecimalDot__Group__0)
-{ after(grammarAccess.getDecimalDotAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp 
 @init {
@@ -2211,15 +2067,15 @@
     }
 :
 (
-{ before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
-	ruleSignedInteger
-{ after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
+{ before(grammarAccess.getIntegerAccess().getGroup_0()); }
+(rule__Integer__Group_0__0)
+{ after(grammarAccess.getIntegerAccess().getGroup_0()); }
 )
 
     |(
-{ before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
-	ruleHexadecimal
-{ after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
+	RULE_HEX
+{ after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
 )
 
 ;
@@ -2227,25 +2083,25 @@
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Alternatives_0
+rule__Integer__Alternatives_0_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 
 	'+' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 )
 
     |(
-{ before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 
 	'-' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 )
 
 ;
@@ -2265,21 +2121,9 @@
 )
 
     |(
-{ before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-	ruleDotDecimal
-{ after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-	ruleDecimalDot
-{ after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 	ruleDecimalExp
-{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 )
 
 ;
@@ -2313,58 +2157,6 @@
 	restoreStackSize(stackSize);
 }
 
-rule__DotDecimal__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
 rule__DecimalExp__Alternatives_0
     @init {
 		int stackSize = keepStackSize();
@@ -2391,6 +2183,58 @@
 	restoreStackSize(stackSize);
 }
 
+rule__DecimalExp__Alternatives_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+
+	'e' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+
+	'E' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Alternatives_5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+
+	'+' 
+
+{ after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+
+	'-' 
+
+{ after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__ComponentCommunicationType__Alternatives
     @init {
 		int stackSize = keepStackSize();
@@ -9471,27 +9315,27 @@
 
 
 
-rule__SignedInteger__Group__0
+rule__Integer__Group_0__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__0__Impl
-	rule__SignedInteger__Group__1
+	rule__Integer__Group_0__0__Impl
+	rule__Integer__Group_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__0__Impl
+rule__Integer__Group_0__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
-(rule__SignedInteger__Alternatives_0)?
-{ after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
+{ before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
+(rule__Integer__Alternatives_0_0)?
+{ after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
 )
 
 ;
@@ -9500,26 +9344,26 @@
 }
 
 
-rule__SignedInteger__Group__1
+rule__Integer__Group_0__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__1__Impl
+	rule__Integer__Group_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__1__Impl
+rule__Integer__Group_0__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 	RULE_INT
-{ after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 )
 
 ;
@@ -9657,194 +9501,6 @@
 
 
 
-rule__DotDecimal__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__0__Impl
-	rule__DotDecimal__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-(rule__DotDecimal__Alternatives_0)?
-{ after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__1__Impl
-	rule__DotDecimal__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-
-	'.' 
-
-{ after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-	RULE_INT
-{ after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__DecimalDot__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__0__Impl
-	rule__DecimalDot__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-(rule__DecimalDot__Alternatives_0)?
-{ after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__1__Impl
-	rule__DecimalDot__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-	RULE_INT
-{ after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-
-	'.' 
-
-{ after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
 rule__DecimalExp__Group__0
     @init {
 		int stackSize = keepStackSize();
@@ -9969,6 +9625,7 @@
     }
 :
 	rule__DecimalExp__Group__4__Impl
+	rule__DecimalExp__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -9980,9 +9637,9 @@
     }
 :
 (
-{ before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
-	RULE_EXP
-{ after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
+(rule__DecimalExp__Alternatives_4)
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
 )
 
 ;
@@ -9991,6 +9648,67 @@
 }
 
 
+rule__DecimalExp__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__5__Impl
+	rule__DecimalExp__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+(rule__DecimalExp__Alternatives_5)?
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DecimalExp__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+	RULE_INT
+{ after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
 
 
 
@@ -11834,15 +11552,13 @@
 }
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
 
 RULE_INT : ('0'..'9')+;
 
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
 
 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
 
diff --git a/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.tokens b/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.tokens
index 1d51ae1..31492e5 100644
--- a/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.tokens
+++ b/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.tokens
@@ -1,125 +1,128 @@
-T__68=68
-T__69=69
-RULE_EXP=7
-RULE_ID=4
-T__66=66
-T__67=67
-T__64=64
-T__29=29
-T__65=65
-T__28=28
-T__62=62
-T__27=27
-T__63=63
-T__26=26
-T__25=25
-T__24=24
-T__23=23
-T__22=22
-RULE_ANY_OTHER=12
-T__21=21
-T__20=20
-T__61=61
-T__60=60
-T__55=55
-T__56=56
-T__19=19
-T__57=57
+'('=58
+')'=59
+'+'=14
+','=60
+'-'=15
+'->'=44
+'.'=67
+'.*'=64
+':'=42
+'<'=54
+'='=62
+'>'=55
+'ChoicePoint'=40
+'E'=17
+'EntryPoint'=38
+'ExitPoint'=39
+'ModelComponent'=26
+'RefinedState'=36
+'RefinedTransition'=50
+'State'=31
+'StateMachine'=30
+'Transition'=41
+'TransitionPoint'=37
+'['=65
+']'=66
+'abstract'=68
+'action'=45
+'async'=20
+'attribute'=63
+'cond'=49
+'cp'=53
+'datadriven'=19
+'do'=34
+'e'=16
+'entry'=32
+'eventdriven'=18
+'exit'=33
+'extends'=27
+'false'=13
+'guard'=48
+'handler'=69
+'in'=57
+'initial'=43
+'mandatory'=12
+'my'=51
+'of'=52
+'optional'=70
+'or'=47
+'out'=61
+'ptBoolean'=22
+'ptCharacter'=25
+'ptInteger'=23
+'ptReal'=24
+'subgraph'=35
+'sync'=21
+'triggers'=46
+'true'=71
+'{'=28
+'|'=56
+'}'=29
+RULE_ANY_OTHER=11
 RULE_HEX=5
-T__58=58
-T__16=16
-T__51=51
-T__15=15
-T__52=52
-T__53=53
-T__18=18
-T__54=54
-T__17=17
-T__14=14
-T__13=13
-T__59=59
+RULE_ID=4
 RULE_INT=6
-T__50=50
-T__42=42
-T__43=43
-T__40=40
-T__41=41
-T__46=46
-T__47=47
-T__44=44
-T__45=45
-T__48=48
-T__49=49
-RULE_SL_COMMENT=10
-RULE_ML_COMMENT=9
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
+RULE_STRING=7
+RULE_WS=10
+T__12=12
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
+T__25=25
+T__26=26
+T__27=27
+T__28=28
+T__29=29
 T__30=30
 T__31=31
-RULE_STRING=8
 T__32=32
 T__33=33
 T__34=34
 T__35=35
-T__70=70
 T__36=36
 T__37=37
 T__38=38
 T__39=39
-RULE_WS=11
-'out'=60
-'ModelComponent'=25
-'RefinedTransition'=49
-'>'=54
-'sync'=20
-'Transition'=40
-'TransitionPoint'=36
-'+'=15
-'.'=66
-'true'=70
-'extends'=26
-'{'=27
-'action'=44
-'StateMachine'=29
-'ExitPoint'=38
-'ptCharacter'=24
-'my'=50
-'eventdriven'=17
-':'=41
-'('=57
-'exit'=32
-'-'=16
-'guard'=47
-'ptReal'=23
-'of'=51
-'cp'=52
-','=59
-'in'=56
-'ptBoolean'=21
-']'=65
-'async'=19
-'|'=55
-'State'=30
-'.*'=63
-'='=61
-'subgraph'=34
-')'=58
-'entry'=31
-'initial'=42
-'->'=43
-'do'=33
-'triggers'=45
-'}'=28
-'ChoicePoint'=39
-'abstract'=67
-'EntryPoint'=37
-'optional'=69
-'handler'=68
-'cond'=48
-'false'=14
-'<'=53
-'datadriven'=18
-'['=64
-'attribute'=62
-'RefinedState'=35
-'or'=46
-'mandatory'=13
-'ptInteger'=22
+T__40=40
+T__41=41
+T__42=42
+T__43=43
+T__44=44
+T__45=45
+T__46=46
+T__47=47
+T__48=48
+T__49=49
+T__50=50
+T__51=51
+T__52=52
+T__53=53
+T__54=54
+T__55=55
+T__56=56
+T__57=57
+T__58=58
+T__59=59
+T__60=60
+T__61=61
+T__62=62
+T__63=63
+T__64=64
+T__65=65
+T__66=66
+T__67=67
+T__68=68
+T__69=69
+T__70=70
+T__71=71
diff --git a/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSMLexer.java b/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSMLexer.java
index bdd7f63..b8892e6 100644
--- a/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSMLexer.java
+++ b/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSMLexer.java
@@ -12,74 +12,75 @@
 
 @SuppressWarnings("all")
 public class InternalFSMLexer extends Lexer {
-    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 RULE_EXP=7;
-    public static final int RULE_ID=4;
-    public static final int T__67=67;
-    public static final int T__29=29;
-    public static final int T__64=64;
-    public static final int T__28=28;
-    public static final int T__65=65;
-    public static final int T__27=27;
-    public static final int T__62=62;
-    public static final int T__26=26;
-    public static final int T__63=63;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__61=61;
-    public static final int EOF=-1;
-    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__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=5;
-    public static final int T__58=58;
-    public static final int T__16=16;
-    public static final int T__51=51;
+    public static final int T__50=50;
+    public static final int T__19=19;
     public static final int T__15=15;
+    public static final int T__59=59;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    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=8;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__67=67;
+    public static final int T__24=24;
+    public static final int T__68=68;
+    public static final int T__25=25;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__63=63;
+    public static final int T__20=20;
+    public static final int T__64=64;
+    public static final int T__21=21;
+    public static final int T__65=65;
+    public static final int T__70=70;
+    public static final int T__71=71;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__70=70;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -94,10 +95,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11:7: ( 'mandatory' )
             // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11:9: 'mandatory'
@@ -113,6 +114,27 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:12:7: ( 'false' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:12:9: 'false'
+            {
+            match("false"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -120,11 +142,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:12:7: ( 'false' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:12:9: 'false'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:13:7: ( '+' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:13:9: '+'
             {
-            match("false"); 
-
+            match('+'); 
 
             }
 
@@ -141,10 +162,10 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:13:7: ( '+' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:13:9: '+'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:14:7: ( '-' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:14:9: '-'
             {
-            match('+'); 
+            match('-'); 
 
             }
 
@@ -161,10 +182,10 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:14:7: ( '-' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:14:9: '-'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:15:7: ( 'e' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:15:9: 'e'
             {
-            match('-'); 
+            match('e'); 
 
             }
 
@@ -181,11 +202,10 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:15:7: ( 'eventdriven' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:15:9: 'eventdriven'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:16:7: ( 'E' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:16:9: 'E'
             {
-            match("eventdriven"); 
-
+            match('E'); 
 
             }
 
@@ -202,10 +222,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:16:7: ( 'datadriven' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:16:9: 'datadriven'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:17:7: ( 'eventdriven' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:17:9: 'eventdriven'
             {
-            match("datadriven"); 
+            match("eventdriven"); 
 
 
             }
@@ -223,10 +243,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:17:7: ( 'async' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:17:9: 'async'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:18:7: ( 'datadriven' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:18:9: 'datadriven'
             {
-            match("async"); 
+            match("datadriven"); 
 
 
             }
@@ -244,10 +264,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:18:7: ( 'sync' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:18:9: 'sync'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:19:7: ( 'async' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:19:9: 'async'
             {
-            match("sync"); 
+            match("async"); 
 
 
             }
@@ -265,10 +285,10 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:19:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:19:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:20:7: ( 'sync' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:20:9: 'sync'
             {
-            match("ptBoolean"); 
+            match("sync"); 
 
 
             }
@@ -286,10 +306,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:20:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:20:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:21:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:21:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -307,10 +327,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:21:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:21:9: 'ptReal'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:22:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:22:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -328,10 +348,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:22:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:22:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:23:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:23:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -349,10 +369,10 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:23:7: ( 'ModelComponent' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:23:9: 'ModelComponent'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:24:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:24:9: 'ptCharacter'
             {
-            match("ModelComponent"); 
+            match("ptCharacter"); 
 
 
             }
@@ -370,10 +390,10 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:24:7: ( 'extends' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:24:9: 'extends'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:25:7: ( 'ModelComponent' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:25:9: 'ModelComponent'
             {
-            match("extends"); 
+            match("ModelComponent"); 
 
 
             }
@@ -391,10 +411,11 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:25:7: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:25:9: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:26:7: ( 'extends' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:26:9: 'extends'
             {
-            match('{'); 
+            match("extends"); 
+
 
             }
 
@@ -411,10 +432,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:26:7: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:26:9: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:27:7: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:27:9: '{'
             {
-            match('}'); 
+            match('{'); 
 
             }
 
@@ -431,11 +452,10 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:27:7: ( 'StateMachine' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:27:9: 'StateMachine'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:28:7: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:28:9: '}'
             {
-            match("StateMachine"); 
-
+            match('}'); 
 
             }
 
@@ -452,10 +472,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:28:7: ( 'State' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:28:9: 'State'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:29:7: ( 'StateMachine' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:29:9: 'StateMachine'
             {
-            match("State"); 
+            match("StateMachine"); 
 
 
             }
@@ -473,10 +493,10 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:29:7: ( 'entry' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:29:9: 'entry'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:30:7: ( 'State' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:30:9: 'State'
             {
-            match("entry"); 
+            match("State"); 
 
 
             }
@@ -494,10 +514,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:30:7: ( 'exit' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:30:9: 'exit'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:31:7: ( 'entry' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:31:9: 'entry'
             {
-            match("exit"); 
+            match("entry"); 
 
 
             }
@@ -515,10 +535,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:31:7: ( 'do' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:31:9: 'do'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:32:7: ( 'exit' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:32:9: 'exit'
             {
-            match("do"); 
+            match("exit"); 
 
 
             }
@@ -536,10 +556,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:32:7: ( 'subgraph' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:32:9: 'subgraph'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:33:7: ( 'do' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:33:9: 'do'
             {
-            match("subgraph"); 
+            match("do"); 
 
 
             }
@@ -557,10 +577,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:33:7: ( 'RefinedState' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:33:9: 'RefinedState'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:34:7: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:34:9: 'subgraph'
             {
-            match("RefinedState"); 
+            match("subgraph"); 
 
 
             }
@@ -578,10 +598,10 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:34:7: ( 'TransitionPoint' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:34:9: 'TransitionPoint'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:35:7: ( 'RefinedState' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:35:9: 'RefinedState'
             {
-            match("TransitionPoint"); 
+            match("RefinedState"); 
 
 
             }
@@ -599,10 +619,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:35:7: ( 'EntryPoint' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:35:9: 'EntryPoint'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:36:7: ( 'TransitionPoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:36:9: 'TransitionPoint'
             {
-            match("EntryPoint"); 
+            match("TransitionPoint"); 
 
 
             }
@@ -620,10 +640,10 @@
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:36:7: ( 'ExitPoint' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:36:9: 'ExitPoint'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:37:7: ( 'EntryPoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:37:9: 'EntryPoint'
             {
-            match("ExitPoint"); 
+            match("EntryPoint"); 
 
 
             }
@@ -641,10 +661,10 @@
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:37:7: ( 'ChoicePoint' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:37:9: 'ChoicePoint'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:38:7: ( 'ExitPoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:38:9: 'ExitPoint'
             {
-            match("ChoicePoint"); 
+            match("ExitPoint"); 
 
 
             }
@@ -662,10 +682,10 @@
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:38:7: ( 'Transition' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:38:9: 'Transition'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:39:7: ( 'ChoicePoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:39:9: 'ChoicePoint'
             {
-            match("Transition"); 
+            match("ChoicePoint"); 
 
 
             }
@@ -683,10 +703,11 @@
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:39:7: ( ':' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:39:9: ':'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:40:7: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:40:9: 'Transition'
             {
-            match(':'); 
+            match("Transition"); 
+
 
             }
 
@@ -703,11 +724,10 @@
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:40:7: ( 'initial' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:40:9: 'initial'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:41:7: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:41:9: ':'
             {
-            match("initial"); 
-
+            match(':'); 
 
             }
 
@@ -724,10 +744,10 @@
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:41:7: ( '->' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:41:9: '->'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:42:7: ( 'initial' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:42:9: 'initial'
             {
-            match("->"); 
+            match("initial"); 
 
 
             }
@@ -745,10 +765,10 @@
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:42:7: ( 'action' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:42:9: 'action'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:43:7: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:43:9: '->'
             {
-            match("action"); 
+            match("->"); 
 
 
             }
@@ -766,10 +786,10 @@
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:43:7: ( 'triggers' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:43:9: 'triggers'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:44:7: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:44:9: 'action'
             {
-            match("triggers"); 
+            match("action"); 
 
 
             }
@@ -787,10 +807,10 @@
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:44:7: ( 'or' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:44:9: 'or'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:45:7: ( 'triggers' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:45:9: 'triggers'
             {
-            match("or"); 
+            match("triggers"); 
 
 
             }
@@ -808,10 +828,10 @@
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:45:7: ( 'guard' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:45:9: 'guard'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:46:7: ( 'or' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:46:9: 'or'
             {
-            match("guard"); 
+            match("or"); 
 
 
             }
@@ -829,10 +849,10 @@
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:46:7: ( 'cond' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:46:9: 'cond'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:47:7: ( 'guard' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:47:9: 'guard'
             {
-            match("cond"); 
+            match("guard"); 
 
 
             }
@@ -850,10 +870,10 @@
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:47:7: ( 'RefinedTransition' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:47:9: 'RefinedTransition'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:48:7: ( 'cond' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:48:9: 'cond'
             {
-            match("RefinedTransition"); 
+            match("cond"); 
 
 
             }
@@ -871,10 +891,10 @@
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:48:7: ( 'my' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:48:9: 'my'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:49:7: ( 'RefinedTransition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:49:9: 'RefinedTransition'
             {
-            match("my"); 
+            match("RefinedTransition"); 
 
 
             }
@@ -892,10 +912,10 @@
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:49:7: ( 'of' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:49:9: 'of'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:50:7: ( 'my' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:50:9: 'my'
             {
-            match("of"); 
+            match("my"); 
 
 
             }
@@ -913,10 +933,10 @@
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:50:7: ( 'cp' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:50:9: 'cp'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:51:7: ( 'of' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:51:9: 'of'
             {
-            match("cp"); 
+            match("of"); 
 
 
             }
@@ -934,10 +954,11 @@
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:51:7: ( '<' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:51:9: '<'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:52:7: ( 'cp' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:52:9: 'cp'
             {
-            match('<'); 
+            match("cp"); 
+
 
             }
 
@@ -954,10 +975,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:52:7: ( '>' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:52:9: '>'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:53:7: ( '<' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:53:9: '<'
             {
-            match('>'); 
+            match('<'); 
 
             }
 
@@ -974,10 +995,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:53:7: ( '|' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:53:9: '|'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:54:7: ( '>' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:54:9: '>'
             {
-            match('|'); 
+            match('>'); 
 
             }
 
@@ -994,11 +1015,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:54:7: ( 'in' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:54:9: 'in'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:55:7: ( '|' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:55:9: '|'
             {
-            match("in"); 
-
+            match('|'); 
 
             }
 
@@ -1015,10 +1035,11 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:55:7: ( '(' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:55:9: '('
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:56:7: ( 'in' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:56:9: 'in'
             {
-            match('('); 
+            match("in"); 
+
 
             }
 
@@ -1035,10 +1056,10 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:56:7: ( ')' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:56:9: ')'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:57:7: ( '(' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:57:9: '('
             {
-            match(')'); 
+            match('('); 
 
             }
 
@@ -1055,10 +1076,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:57:7: ( ',' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:57:9: ','
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:58:7: ( ')' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:58:9: ')'
             {
-            match(','); 
+            match(')'); 
 
             }
 
@@ -1075,11 +1096,10 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:58:7: ( 'out' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:58:9: 'out'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:59:7: ( ',' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:59:9: ','
             {
-            match("out"); 
-
+            match(','); 
 
             }
 
@@ -1096,10 +1116,11 @@
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:59:7: ( '=' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:59:9: '='
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:60:7: ( 'out' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:60:9: 'out'
             {
-            match('='); 
+            match("out"); 
+
 
             }
 
@@ -1116,11 +1137,10 @@
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:60:7: ( 'attribute' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:60:9: 'attribute'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:61:7: ( '=' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:61:9: '='
             {
-            match("attribute"); 
-
+            match('='); 
 
             }
 
@@ -1137,10 +1157,10 @@
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:61:7: ( '.*' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:61:9: '.*'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:62:7: ( 'attribute' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:62:9: 'attribute'
             {
-            match(".*"); 
+            match("attribute"); 
 
 
             }
@@ -1158,10 +1178,11 @@
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:62:7: ( '[' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:62:9: '['
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:63:7: ( '.*' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:63:9: '.*'
             {
-            match('['); 
+            match(".*"); 
+
 
             }
 
@@ -1178,10 +1199,10 @@
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:63:7: ( ']' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:63:9: ']'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:64:7: ( '[' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:64:9: '['
             {
-            match(']'); 
+            match('['); 
 
             }
 
@@ -1198,10 +1219,10 @@
         try {
             int _type = T__66;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:64:7: ( '.' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:64:9: '.'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:65:7: ( ']' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:65:9: ']'
             {
-            match('.'); 
+            match(']'); 
 
             }
 
@@ -1218,11 +1239,10 @@
         try {
             int _type = T__67;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:65:7: ( 'abstract' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:65:9: 'abstract'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:66:7: ( '.' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:66:9: '.'
             {
-            match("abstract"); 
-
+            match('.'); 
 
             }
 
@@ -1239,10 +1259,10 @@
         try {
             int _type = T__68;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:66:7: ( 'handler' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:66:9: 'handler'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:67:7: ( 'abstract' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:67:9: 'abstract'
             {
-            match("handler"); 
+            match("abstract"); 
 
 
             }
@@ -1260,10 +1280,10 @@
         try {
             int _type = T__69;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:67:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:67:9: 'optional'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:68:7: ( 'handler' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:68:9: 'handler'
             {
-            match("optional"); 
+            match("handler"); 
 
 
             }
@@ -1281,10 +1301,10 @@
         try {
             int _type = T__70;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:68:7: ( 'true' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:68:9: 'true'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:69:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:69:9: 'optional'
             {
-            match("true"); 
+            match("optional"); 
 
 
             }
@@ -1297,42 +1317,74 @@
     }
     // $ANTLR end "T__70"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__71"
+    public final void mT__71() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__71;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11837:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11837:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:70:7: ( 'true' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:70:9: 'true'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("true"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11837:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__71"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11555:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11555:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11555:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11555:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11555:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -1340,23 +1392,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11837:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11555:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11837:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -1379,109 +1439,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11839:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11839:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11839:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11839:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11839:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11839:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -1489,19 +1446,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11841:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11841:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11557:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11557:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11841:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11557:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11841:11: '^'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11557:11: '^'
                     {
                     match('^'); 
 
@@ -1519,18 +1476,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11841:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11557:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:
             	    {
@@ -1548,7 +1505,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -1568,24 +1525,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11843:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11843:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11559:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11559:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11843:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11559:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11843:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11559:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -1593,12 +1550,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -1617,63 +1574,55 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11845:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11845:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11561:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11561:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11845:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11561:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11845:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11561:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11845:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11561:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11845:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11561:21: '\\\\' .
                     	    {
                     	    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;}
-
+                    	    matchAny(); 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11845:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11561:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1689,7 +1638,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -1698,42 +1647,34 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11845:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11561:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11845:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11561:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11845:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11561:54: '\\\\' .
                     	    {
                     	    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;}
-
+                    	    matchAny(); 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11845:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11561:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1749,7 +1690,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -1776,37 +1717,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11847:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11847:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11563:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11563:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11847:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11563:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11847:52: .
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11563:52: .
             	    {
             	    matchAny(); 
 
@@ -1814,7 +1755,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -1836,25 +1777,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11849:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11849:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11565:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11565:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11849:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11565:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11849:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11565: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();
@@ -1870,31 +1811,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11849:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11565:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11849:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11565:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11849:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11565:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11849:41: '\\r'
+                            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11565:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1926,22 +1867,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11851:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11851:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11567:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11567:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11851:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11567:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:
             	    {
@@ -1959,12 +1900,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -1983,8 +1924,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11853:16: ( . )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11853:18: .
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11569:16: ( . )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11569:18: .
             {
             matchAny(); 
 
@@ -1999,474 +1940,481 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:8: ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=67;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:8: ( 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 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=68;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:10: T__13
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:148: T__36
+            case 25 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:154: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:154: T__37
+            case 26 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:160: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:160: T__38
+            case 27 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:166: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:166: T__39
+            case 28 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:172: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:172: T__40
+            case 29 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:178: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:178: T__41
+            case 30 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:184: T__41
                 {
                 mT__41(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:184: T__42
+            case 31 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:190: T__42
                 {
                 mT__42(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:190: T__43
+            case 32 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:196: T__43
                 {
                 mT__43(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:196: T__44
+            case 33 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:202: T__44
                 {
                 mT__44(); 
 
                 }
                 break;
-            case 33 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:202: T__45
+            case 34 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:208: T__45
                 {
                 mT__45(); 
 
                 }
                 break;
-            case 34 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:208: T__46
+            case 35 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:214: T__46
                 {
                 mT__46(); 
 
                 }
                 break;
-            case 35 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:214: T__47
+            case 36 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:220: T__47
                 {
                 mT__47(); 
 
                 }
                 break;
-            case 36 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:220: T__48
+            case 37 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:226: T__48
                 {
                 mT__48(); 
 
                 }
                 break;
-            case 37 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:226: T__49
+            case 38 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:232: T__49
                 {
                 mT__49(); 
 
                 }
                 break;
-            case 38 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:232: T__50
+            case 39 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:238: T__50
                 {
                 mT__50(); 
 
                 }
                 break;
-            case 39 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:238: T__51
+            case 40 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:244: T__51
                 {
                 mT__51(); 
 
                 }
                 break;
-            case 40 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:244: T__52
+            case 41 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:250: T__52
                 {
                 mT__52(); 
 
                 }
                 break;
-            case 41 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:250: T__53
+            case 42 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:256: T__53
                 {
                 mT__53(); 
 
                 }
                 break;
-            case 42 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:256: T__54
+            case 43 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:262: T__54
                 {
                 mT__54(); 
 
                 }
                 break;
-            case 43 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:262: T__55
+            case 44 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:268: T__55
                 {
                 mT__55(); 
 
                 }
                 break;
-            case 44 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:268: T__56
+            case 45 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:274: T__56
                 {
                 mT__56(); 
 
                 }
                 break;
-            case 45 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:274: T__57
+            case 46 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:280: T__57
                 {
                 mT__57(); 
 
                 }
                 break;
-            case 46 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:280: T__58
+            case 47 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:286: T__58
                 {
                 mT__58(); 
 
                 }
                 break;
-            case 47 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:286: T__59
+            case 48 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:292: T__59
                 {
                 mT__59(); 
 
                 }
                 break;
-            case 48 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:292: T__60
+            case 49 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:298: T__60
                 {
                 mT__60(); 
 
                 }
                 break;
-            case 49 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:298: T__61
+            case 50 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:304: T__61
                 {
                 mT__61(); 
 
                 }
                 break;
-            case 50 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:304: T__62
+            case 51 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:310: T__62
                 {
                 mT__62(); 
 
                 }
                 break;
-            case 51 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:310: T__63
+            case 52 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:316: T__63
                 {
                 mT__63(); 
 
                 }
                 break;
-            case 52 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:316: T__64
+            case 53 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:322: T__64
                 {
                 mT__64(); 
 
                 }
                 break;
-            case 53 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:322: T__65
+            case 54 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:328: T__65
                 {
                 mT__65(); 
 
                 }
                 break;
-            case 54 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:328: T__66
+            case 55 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:334: T__66
                 {
                 mT__66(); 
 
                 }
                 break;
-            case 55 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:334: T__67
+            case 56 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:340: T__67
                 {
                 mT__67(); 
 
                 }
                 break;
-            case 56 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:340: T__68
+            case 57 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:346: T__68
                 {
                 mT__68(); 
 
                 }
                 break;
-            case 57 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:346: T__69
+            case 58 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:352: T__69
                 {
                 mT__69(); 
 
                 }
                 break;
-            case 58 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:352: T__70
+            case 59 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:358: T__70
                 {
                 mT__70(); 
 
                 }
                 break;
-            case 59 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:358: RULE_EXP
+            case 60 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:364: T__71
                 {
-                mRULE_EXP(); 
+                mT__71(); 
 
                 }
                 break;
-            case 60 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:367: RULE_HEX
+            case 61 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:370: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 61 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:376: RULE_ID
+            case 62 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:379: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 62 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:384: RULE_INT
+            case 63 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:387: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 63 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:393: RULE_STRING
+            case 64 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:396: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 64 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:405: RULE_ML_COMMENT
+            case 65 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:408: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 65 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:421: RULE_SL_COMMENT
+            case 66 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:424: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 66 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:437: RULE_WS
+            case 67 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:440: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 67 :
-                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:445: RULE_ANY_OTHER
+            case 68 :
+                // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1:448: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -2478,125 +2426,126 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\1\uffff\2\56\1\uffff\1\62\6\56\2\uffff\5\56\1\uffff\5\56\7\uffff"+
-        "\1\134\2\uffff\1\56\1\141\1\53\2\uffff\3\53\2\uffff\1\56\1\147\1"+
-        "\uffff\1\56\3\uffff\3\56\1\67\1\uffff\1\56\1\156\10\56\2\uffff\6"+
-        "\56\1\uffff\1\u0081\1\56\1\u0084\1\u0085\4\56\1\u008a\13\uffff\1"+
-        "\56\6\uffff\1\56\1\uffff\6\56\1\uffff\22\56\1\uffff\2\56\2\uffff"+
-        "\1\u00a7\3\56\1\uffff\5\56\1\u00b0\6\56\1\u00b7\16\56\1\u00c6\1"+
-        "\uffff\2\56\1\u00c9\2\56\1\u00cc\2\56\1\uffff\1\u00cf\1\56\1\u00d1"+
-        "\3\56\1\uffff\6\56\1\u00dc\7\56\1\uffff\1\56\1\u00e5\1\uffff\2\56"+
-        "\1\uffff\2\56\1\uffff\1\56\1\uffff\1\u00eb\5\56\1\u00f1\3\56\1\uffff"+
-        "\10\56\1\uffff\3\56\1\u0100\1\56\1\uffff\5\56\1\uffff\10\56\1\u0110"+
-        "\2\56\1\u0113\2\56\1\uffff\2\56\1\u0118\1\u0119\13\56\1\uffff\1"+
-        "\u0125\1\u0126\1\uffff\1\u0127\2\56\1\u012a\2\uffff\1\u012b\1\u012c"+
-        "\7\56\1\u0134\1\56\3\uffff\1\56\1\u0137\3\uffff\5\56\1\u013e\1\u013f"+
-        "\1\uffff\1\56\1\u0141\1\uffff\1\u0142\5\56\2\uffff\1\u0148\2\uffff"+
-        "\1\56\1\u014a\1\u014b\2\56\1\uffff\1\56\2\uffff\2\56\1\u0151\2\56"+
-        "\1\uffff\1\56\1\u0155\1\56\1\uffff\1\u0157\1\uffff";
-    static final String DFA16_eofS =
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\1\uffff\2\56\1\uffff\1\62\1\66\1\71\5\56\2\uffff\4\56\1\uffff"+
+        "\5\56\7\uffff\1\134\2\uffff\1\56\1\141\1\53\2\uffff\3\53\2\uffff"+
+        "\1\56\1\147\1\uffff\1\56\3\uffff\3\56\1\uffff\2\56\1\uffff\1\56"+
+        "\1\160\10\56\2\uffff\4\56\1\uffff\1\u0081\1\56\1\u0084\1\u0085\4"+
+        "\56\1\u008a\13\uffff\1\56\6\uffff\1\56\1\uffff\10\56\1\uffff\20"+
+        "\56\1\uffff\2\56\2\uffff\1\u00a7\3\56\1\uffff\5\56\1\u00b0\10\56"+
+        "\1\u00b9\14\56\1\u00c6\1\uffff\2\56\1\u00c9\2\56\1\u00cc\2\56\1"+
+        "\uffff\1\u00cf\3\56\1\u00d3\3\56\1\uffff\6\56\1\u00de\5\56\1\uffff"+
+        "\1\56\1\u00e5\1\uffff\2\56\1\uffff\2\56\1\uffff\3\56\1\uffff\1\u00ed"+
+        "\5\56\1\u00f3\3\56\1\uffff\6\56\1\uffff\3\56\1\u0100\3\56\1\uffff"+
+        "\5\56\1\uffff\6\56\1\u0110\2\56\1\u0113\2\56\1\uffff\4\56\1\u011a"+
+        "\1\u011b\11\56\1\uffff\1\u0125\1\u0126\1\uffff\1\u0127\2\56\1\u012a"+
+        "\1\56\1\u012c\2\uffff\1\u012d\1\u012e\7\56\3\uffff\1\56\1\u0137"+
+        "\1\uffff\1\u0138\3\uffff\5\56\1\u013f\1\56\1\u0141\2\uffff\1\u0142"+
+        "\5\56\1\uffff\1\u0148\2\uffff\1\56\1\u014a\1\u014b\2\56\1\uffff"+
+        "\1\56\2\uffff\2\56\1\u0151\2\56\1\uffff\1\56\1\u0155\1\56\1\uffff"+
+        "\1\u0157\1\uffff";
+    static final String DFA14_eofS =
         "\u0158\uffff";
-    static final String DFA16_minS =
-        "\1\0\2\141\1\uffff\1\76\1\53\1\141\1\142\1\165\1\164\1\157\2\uffff"+
-        "\1\164\1\145\1\162\1\53\1\150\1\uffff\1\156\1\162\1\146\1\165\1"+
-        "\157\7\uffff\1\52\2\uffff\1\141\1\130\1\101\2\uffff\2\0\1\52\2\uffff"+
-        "\1\156\1\60\1\uffff\1\154\3\uffff\1\145\1\151\1\164\1\60\1\uffff"+
-        "\1\164\1\60\1\171\2\164\1\163\1\156\1\142\1\102\1\144\2\uffff\1"+
-        "\141\1\146\1\141\1\164\1\151\1\157\1\uffff\1\60\1\151\2\60\2\164"+
+    static final String DFA14_minS =
+        "\1\0\2\141\1\uffff\1\76\2\60\1\141\1\142\1\165\1\164\1\157\2\uffff"+
+        "\1\164\1\145\1\162\1\150\1\uffff\1\156\1\162\1\146\1\165\1\157\7"+
+        "\uffff\1\52\2\uffff\1\141\1\130\1\101\2\uffff\2\0\1\52\2\uffff\1"+
+        "\156\1\60\1\uffff\1\154\3\uffff\1\145\1\151\1\164\1\uffff\1\164"+
+        "\1\151\1\uffff\1\164\1\60\1\171\2\164\1\163\1\156\1\142\1\102\1"+
+        "\144\2\uffff\1\141\1\146\1\141\1\157\1\uffff\1\60\1\151\2\60\2\164"+
         "\1\141\1\156\1\60\13\uffff\1\156\6\uffff\1\144\1\uffff\1\163\1\156"+
-        "\1\145\1\164\1\162\1\141\1\uffff\1\156\1\151\1\162\1\164\1\143\1"+
-        "\147\1\157\1\156\1\145\1\150\1\145\1\164\1\151\1\156\1\162\1\164"+
-        "\1\151\1\164\1\uffff\1\147\1\145\2\uffff\1\60\1\151\1\162\1\144"+
-        "\1\uffff\1\144\1\141\1\145\1\164\1\156\1\60\1\171\1\144\1\143\1"+
-        "\157\1\151\1\162\1\60\1\162\1\157\1\164\2\141\1\154\1\145\1\156"+
-        "\1\163\1\171\1\120\1\143\1\151\1\147\1\60\1\uffff\1\157\1\144\1"+
-        "\60\1\154\1\164\1\60\2\144\1\uffff\1\60\1\162\1\60\1\156\1\142\1"+
-        "\141\1\uffff\1\141\1\154\1\145\1\154\1\162\1\103\1\60\1\145\1\151"+
-        "\1\120\1\157\1\145\1\141\1\145\1\uffff\1\156\1\60\1\uffff\1\145"+
-        "\1\157\1\uffff\1\162\1\163\1\uffff\1\151\1\uffff\1\60\1\165\1\143"+
-        "\1\160\1\145\1\147\1\60\1\141\1\157\1\141\1\uffff\1\144\1\164\1"+
-        "\157\1\151\1\120\1\154\1\162\1\141\1\uffff\2\162\1\151\1\60\1\166"+
-        "\1\uffff\2\164\1\150\1\141\1\145\1\uffff\1\143\1\155\1\143\1\123"+
-        "\2\151\1\156\1\157\1\60\1\163\1\154\1\60\1\171\1\166\1\uffff\2\145"+
-        "\2\60\1\156\1\162\1\164\1\160\1\150\1\164\1\162\1\157\1\156\1\164"+
-        "\1\151\1\uffff\2\60\1\uffff\1\60\1\145\1\156\1\60\2\uffff\2\60\1"+
-        "\145\1\157\1\151\2\141\1\156\1\164\1\60\1\156\3\uffff\1\156\1\60"+
-        "\3\uffff\1\162\2\156\1\164\1\156\2\60\1\uffff\1\164\1\60\1\uffff"+
-        "\1\60\3\145\1\163\1\157\2\uffff\1\60\2\uffff\1\156\2\60\2\151\1"+
-        "\uffff\1\164\2\uffff\1\164\1\156\1\60\1\151\1\164\1\uffff\1\157"+
-        "\1\60\1\156\1\uffff\1\60\1\uffff";
-    static final String DFA16_maxS =
-        "\1\uffff\1\171\1\141\1\uffff\1\76\1\170\1\157\1\164\1\171\1\164"+
-        "\1\157\2\uffff\1\164\1\145\1\162\1\170\1\150\1\uffff\1\156\1\162"+
-        "\2\165\1\160\7\uffff\1\52\2\uffff\1\141\1\170\1\172\2\uffff\2\uffff"+
-        "\1\57\2\uffff\1\156\1\172\1\uffff\1\154\3\uffff\1\145\2\164\1\172"+
-        "\1\uffff\1\164\1\172\1\171\2\164\1\163\1\156\1\142\1\122\1\144\2"+
-        "\uffff\1\141\1\146\1\141\1\164\1\151\1\157\1\uffff\1\172\1\165\2"+
+        "\1\145\1\164\2\162\1\164\1\141\1\uffff\1\156\1\151\1\162\1\164\1"+
+        "\143\1\147\1\157\1\156\1\145\1\150\1\145\1\164\1\151\1\156\1\151"+
+        "\1\164\1\uffff\1\147\1\145\2\uffff\1\60\1\151\1\162\1\144\1\uffff"+
+        "\1\144\1\141\1\145\1\164\1\156\1\60\2\171\1\120\1\144\1\143\1\157"+
+        "\1\151\1\162\1\60\1\162\1\157\1\164\2\141\1\154\1\145\1\156\1\163"+
+        "\1\143\1\151\1\147\1\60\1\uffff\1\157\1\144\1\60\1\154\1\164\1\60"+
+        "\2\144\1\uffff\1\60\1\120\1\157\1\162\1\60\1\156\1\142\1\141\1\uffff"+
+        "\1\141\1\154\1\145\1\154\1\162\1\103\1\60\1\145\1\151\1\145\1\141"+
+        "\1\145\1\uffff\1\156\1\60\1\uffff\1\145\1\157\1\uffff\1\162\1\163"+
+        "\1\uffff\1\157\2\151\1\uffff\1\60\1\165\1\143\1\160\1\145\1\147"+
+        "\1\60\1\141\1\157\1\141\1\uffff\1\144\1\164\1\120\1\154\1\162\1"+
+        "\141\1\uffff\2\162\1\151\1\60\1\151\1\156\1\166\1\uffff\2\164\1"+
+        "\150\1\141\1\145\1\uffff\1\143\1\155\1\143\1\123\1\151\1\157\1\60"+
+        "\1\163\1\154\1\60\1\171\1\166\1\uffff\1\156\1\164\2\145\2\60\1\156"+
+        "\1\162\1\164\1\160\1\150\1\164\1\162\1\157\1\151\1\uffff\2\60\1"+
+        "\uffff\1\60\1\145\1\164\1\60\1\156\1\60\2\uffff\2\60\1\145\1\157"+
+        "\1\151\2\141\2\156\3\uffff\1\156\1\60\1\uffff\1\60\3\uffff\1\162"+
+        "\2\156\1\164\1\156\1\60\1\164\1\60\2\uffff\1\60\3\145\1\163\1\157"+
+        "\1\uffff\1\60\2\uffff\1\156\2\60\2\151\1\uffff\1\164\2\uffff\1\164"+
+        "\1\156\1\60\1\151\1\164\1\uffff\1\157\1\60\1\156\1\uffff\1\60\1"+
+        "\uffff";
+    static final String DFA14_maxS =
+        "\1\uffff\1\171\1\141\1\uffff\1\76\2\172\1\157\1\164\1\171\1\164"+
+        "\1\157\2\uffff\1\164\1\145\1\162\1\150\1\uffff\1\156\1\162\2\165"+
+        "\1\160\7\uffff\1\52\2\uffff\1\141\1\170\1\172\2\uffff\2\uffff\1"+
+        "\57\2\uffff\1\156\1\172\1\uffff\1\154\3\uffff\1\145\2\164\1\uffff"+
+        "\1\164\1\151\1\uffff\1\164\1\172\1\171\2\164\1\163\1\156\1\142\1"+
+        "\122\1\144\2\uffff\1\141\1\146\1\141\1\157\1\uffff\1\172\1\165\2"+
         "\172\2\164\1\141\1\156\1\172\13\uffff\1\156\6\uffff\1\144\1\uffff"+
-        "\1\163\1\156\1\145\1\164\1\162\1\141\1\uffff\1\156\1\151\1\162\1"+
-        "\164\1\143\1\147\1\157\1\156\1\145\1\150\1\145\1\164\1\151\1\156"+
-        "\1\162\1\164\1\151\1\164\1\uffff\1\147\1\145\2\uffff\1\172\1\151"+
-        "\1\162\1\144\1\uffff\1\144\1\141\1\145\1\164\1\156\1\172\1\171\1"+
+        "\1\163\1\156\1\145\1\164\2\162\1\164\1\141\1\uffff\1\156\1\151\1"+
+        "\162\1\164\1\143\1\147\1\157\1\156\1\145\1\150\1\145\1\164\1\151"+
+        "\1\156\1\151\1\164\1\uffff\1\147\1\145\2\uffff\1\172\1\151\1\162"+
+        "\1\144\1\uffff\1\144\1\141\1\145\1\164\1\156\1\172\2\171\1\120\1"+
         "\144\1\143\1\157\1\151\1\162\1\172\1\162\1\157\1\164\2\141\1\154"+
-        "\1\145\1\156\1\163\1\171\1\120\1\143\1\151\1\147\1\172\1\uffff\1"+
-        "\157\1\144\1\172\1\154\1\164\1\172\2\144\1\uffff\1\172\1\162\1\172"+
+        "\1\145\1\156\1\163\1\143\1\151\1\147\1\172\1\uffff\1\157\1\144\1"+
+        "\172\1\154\1\164\1\172\2\144\1\uffff\1\172\1\120\1\157\1\162\1\172"+
         "\1\156\1\142\1\141\1\uffff\1\141\1\154\1\145\1\154\1\162\1\103\1"+
-        "\172\1\145\1\151\1\120\1\157\1\145\1\141\1\145\1\uffff\1\156\1\172"+
-        "\1\uffff\1\145\1\157\1\uffff\1\162\1\163\1\uffff\1\151\1\uffff\1"+
-        "\172\1\165\1\143\1\160\1\145\1\147\1\172\1\141\1\157\1\141\1\uffff"+
-        "\1\144\1\164\1\157\1\151\1\120\1\154\1\162\1\141\1\uffff\2\162\1"+
-        "\151\1\172\1\166\1\uffff\2\164\1\150\1\141\1\145\1\uffff\1\143\1"+
-        "\155\1\143\1\124\2\151\1\156\1\157\1\172\1\163\1\154\1\172\1\171"+
-        "\1\166\1\uffff\2\145\2\172\1\156\1\162\1\164\1\160\1\150\1\164\1"+
-        "\162\1\157\1\156\1\164\1\151\1\uffff\2\172\1\uffff\1\172\1\145\1"+
-        "\156\1\172\2\uffff\2\172\1\145\1\157\1\151\2\141\1\156\1\164\1\172"+
-        "\1\156\3\uffff\1\156\1\172\3\uffff\1\162\2\156\1\164\1\156\2\172"+
-        "\1\uffff\1\164\1\172\1\uffff\1\172\3\145\1\163\1\157\2\uffff\1\172"+
-        "\2\uffff\1\156\2\172\2\151\1\uffff\1\164\2\uffff\1\164\1\156\1\172"+
-        "\1\151\1\164\1\uffff\1\157\1\172\1\156\1\uffff\1\172\1\uffff";
-    static final String DFA16_acceptS =
-        "\3\uffff\1\3\7\uffff\1\17\1\20\5\uffff\1\35\5\uffff\1\51\1\52\1"+
-        "\53\1\55\1\56\1\57\1\61\1\uffff\1\64\1\65\3\uffff\1\75\1\76\3\uffff"+
-        "\1\102\1\103\2\uffff\1\75\1\uffff\1\3\1\37\1\4\4\uffff\1\73\12\uffff"+
-        "\1\17\1\20\6\uffff\1\35\11\uffff\1\51\1\52\1\53\1\55\1\56\1\57\1"+
-        "\61\1\63\1\66\1\64\1\65\1\uffff\1\74\1\76\1\77\1\100\1\101\1\102"+
-        "\1\uffff\1\46\6\uffff\1\25\22\uffff\1\54\2\uffff\1\42\1\47\4\uffff"+
-        "\1\50\34\uffff\1\60\10\uffff\1\24\6\uffff\1\10\16\uffff\1\72\2\uffff"+
-        "\1\44\2\uffff\1\2\2\uffff\1\23\1\uffff\1\7\12\uffff\1\22\10\uffff"+
-        "\1\43\5\uffff\1\40\5\uffff\1\13\16\uffff\1\16\17\uffff\1\36\2\uffff"+
-        "\1\70\4\uffff\1\67\1\26\13\uffff\1\41\1\71\1\1\2\uffff\1\62\1\11"+
-        "\1\12\7\uffff\1\32\2\uffff\1\6\6\uffff\1\34\1\31\1\uffff\1\5\1\14"+
-        "\5\uffff\1\33\1\uffff\1\21\1\27\5\uffff\1\15\3\uffff\1\30\1\uffff"+
-        "\1\45";
-    static final String DFA16_specialS =
-        "\1\2\46\uffff\1\0\1\1\u012f\uffff}>";
-    static final String[] DFA16_transitionS = {
+        "\172\1\145\1\151\1\145\1\141\1\145\1\uffff\1\156\1\172\1\uffff\1"+
+        "\145\1\157\1\uffff\1\162\1\163\1\uffff\1\157\2\151\1\uffff\1\172"+
+        "\1\165\1\143\1\160\1\145\1\147\1\172\1\141\1\157\1\141\1\uffff\1"+
+        "\144\1\164\1\120\1\154\1\162\1\141\1\uffff\2\162\1\151\1\172\1\151"+
+        "\1\156\1\166\1\uffff\2\164\1\150\1\141\1\145\1\uffff\1\143\1\155"+
+        "\1\143\1\124\1\151\1\157\1\172\1\163\1\154\1\172\1\171\1\166\1\uffff"+
+        "\1\156\1\164\2\145\2\172\1\156\1\162\1\164\1\160\1\150\1\164\1\162"+
+        "\1\157\1\151\1\uffff\2\172\1\uffff\1\172\1\145\1\164\1\172\1\156"+
+        "\1\172\2\uffff\2\172\1\145\1\157\1\151\2\141\2\156\3\uffff\1\156"+
+        "\1\172\1\uffff\1\172\3\uffff\1\162\2\156\1\164\1\156\1\172\1\164"+
+        "\1\172\2\uffff\1\172\3\145\1\163\1\157\1\uffff\1\172\2\uffff\1\156"+
+        "\2\172\2\151\1\uffff\1\164\2\uffff\1\164\1\156\1\172\1\151\1\164"+
+        "\1\uffff\1\157\1\172\1\156\1\uffff\1\172\1\uffff";
+    static final String DFA14_acceptS =
+        "\3\uffff\1\3\10\uffff\1\21\1\22\4\uffff\1\37\5\uffff\1\53\1\54"+
+        "\1\55\1\57\1\60\1\61\1\63\1\uffff\1\66\1\67\3\uffff\1\76\1\77\3"+
+        "\uffff\1\103\1\104\2\uffff\1\76\1\uffff\1\3\1\41\1\4\3\uffff\1\5"+
+        "\2\uffff\1\6\12\uffff\1\21\1\22\4\uffff\1\37\11\uffff\1\53\1\54"+
+        "\1\55\1\57\1\60\1\61\1\63\1\65\1\70\1\66\1\67\1\uffff\1\75\1\77"+
+        "\1\100\1\101\1\102\1\103\1\uffff\1\50\10\uffff\1\27\20\uffff\1\56"+
+        "\2\uffff\1\44\1\51\4\uffff\1\52\34\uffff\1\62\10\uffff\1\26\10\uffff"+
+        "\1\12\14\uffff\1\74\2\uffff\1\46\2\uffff\1\2\2\uffff\1\25\3\uffff"+
+        "\1\11\12\uffff\1\24\6\uffff\1\45\7\uffff\1\42\5\uffff\1\15\14\uffff"+
+        "\1\20\17\uffff\1\40\2\uffff\1\72\6\uffff\1\71\1\30\11\uffff\1\43"+
+        "\1\73\1\1\2\uffff\1\34\1\uffff\1\64\1\13\1\14\10\uffff\1\33\1\10"+
+        "\6\uffff\1\36\1\uffff\1\7\1\16\5\uffff\1\35\1\uffff\1\23\1\31\5"+
+        "\uffff\1\17\3\uffff\1\32\1\uffff\1\47";
+    static final String DFA14_specialS =
+        "\1\0\46\uffff\1\1\1\2\u012f\uffff}>";
+    static final String[] DFA14_transitionS = {
             "\11\53\2\52\2\53\1\52\22\53\1\52\1\53\1\47\4\53\1\50\1\33\1"+
             "\34\1\53\1\3\1\35\1\4\1\37\1\51\1\43\11\46\1\22\1\53\1\30\1"+
-            "\36\1\31\2\53\2\45\1\21\1\45\1\20\7\45\1\12\4\45\1\16\1\15\1"+
-            "\17\6\45\1\40\1\53\1\41\1\44\1\45\1\53\1\7\1\45\1\27\1\6\1\5"+
-            "\1\2\1\26\1\42\1\23\3\45\1\1\1\45\1\25\1\11\2\45\1\10\1\24\6"+
-            "\45\1\13\1\32\1\14\uff82\53",
+            "\36\1\31\2\53\2\45\1\21\1\45\1\6\7\45\1\13\4\45\1\17\1\16\1"+
+            "\20\6\45\1\40\1\53\1\41\1\44\1\45\1\53\1\10\1\45\1\27\1\7\1"+
+            "\5\1\2\1\26\1\42\1\23\3\45\1\1\1\45\1\25\1\12\2\45\1\11\1\24"+
+            "\6\45\1\14\1\32\1\15\uff82\53",
             "\1\54\27\uffff\1\55",
             "\1\57",
             "",
             "\1\61",
-            "\1\67\1\uffff\1\67\2\uffff\12\66\64\uffff\1\65\7\uffff\1\63"+
-            "\1\uffff\1\64",
-            "\1\70\15\uffff\1\71",
-            "\1\75\1\73\17\uffff\1\72\1\74",
-            "\1\77\3\uffff\1\76",
-            "\1\100",
-            "\1\101",
+            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\15\56\1\65\7\56"+
+            "\1\63\1\56\1\64\2\56",
+            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\15\56\1\67\11\56"+
+            "\1\70\2\56",
+            "\1\72\15\uffff\1\73",
+            "\1\77\1\75\17\uffff\1\74\1\76",
+            "\1\101\3\uffff\1\100",
+            "\1\102",
+            "\1\103",
             "",
             "",
-            "\1\104",
-            "\1\105",
             "\1\106",
-            "\1\67\1\uffff\1\67\2\uffff\12\66\64\uffff\1\107\11\uffff\1"+
-            "\110",
+            "\1\107",
+            "\1\110",
             "\1\111",
             "",
             "\1\113",
@@ -2634,22 +2583,22 @@
             "\1\151",
             "\1\153\12\uffff\1\152",
             "\1\154",
-            "\12\66\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
             "",
             "\1\155",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\156",
+            "",
             "\1\157",
-            "\1\160",
+            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
             "\1\161",
             "\1\162",
             "\1\163",
             "\1\164",
-            "\1\165\1\170\5\uffff\1\166\10\uffff\1\167",
-            "\1\171",
-            "",
-            "",
-            "\1\172",
+            "\1\165",
+            "\1\166",
+            "\1\167\1\172\5\uffff\1\170\10\uffff\1\171",
             "\1\173",
+            "",
+            "",
             "\1\174",
             "\1\175",
             "\1\176",
@@ -2691,9 +2640,9 @@
             "\1\u0090",
             "\1\u0091",
             "\1\u0092",
-            "",
             "\1\u0093",
             "\1\u0094",
+            "",
             "\1\u0095",
             "\1\u0096",
             "\1\u0097",
@@ -2732,9 +2681,9 @@
             "\1\u00b4",
             "\1\u00b5",
             "\1\u00b6",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u00b7",
             "\1\u00b8",
-            "\1\u00b9",
+            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
             "\1\u00ba",
             "\1\u00bb",
             "\1\u00bc",
@@ -2760,21 +2709,21 @@
             "",
             "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
             "\1\u00d0",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u00d1",
             "\1\u00d2",
-            "\1\u00d3",
+            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
             "\1\u00d4",
-            "",
             "\1\u00d5",
             "\1\u00d6",
+            "",
             "\1\u00d7",
             "\1\u00d8",
             "\1\u00d9",
             "\1\u00da",
-            "\12\56\7\uffff\14\56\1\u00db\15\56\4\uffff\1\56\1\uffff\32"+
+            "\1\u00db",
+            "\1\u00dc",
+            "\12\56\7\uffff\14\56\1\u00dd\15\56\4\uffff\1\56\1\uffff\32"+
             "\56",
-            "\1\u00dd",
-            "\1\u00de",
             "\1\u00df",
             "\1\u00e0",
             "\1\u00e1",
@@ -2791,20 +2740,20 @@
             "\1\u00e9",
             "",
             "\1\u00ea",
+            "\1\u00eb",
+            "\1\u00ec",
             "",
             "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "\1\u00ec",
-            "\1\u00ed",
             "\1\u00ee",
             "\1\u00ef",
             "\1\u00f0",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u00f1",
             "\1\u00f2",
-            "\1\u00f3",
+            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
             "\1\u00f4",
-            "",
             "\1\u00f5",
             "\1\u00f6",
+            "",
             "\1\u00f7",
             "\1\u00f8",
             "\1\u00f9",
@@ -2817,19 +2766,19 @@
             "\1\u00ff",
             "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
             "\1\u0101",
-            "",
             "\1\u0102",
             "\1\u0103",
+            "",
             "\1\u0104",
             "\1\u0105",
             "\1\u0106",
-            "",
             "\1\u0107",
             "\1\u0108",
+            "",
             "\1\u0109",
-            "\1\u010a\1\u010b",
-            "\1\u010c",
-            "\1\u010d",
+            "\1\u010a",
+            "\1\u010b",
+            "\1\u010c\1\u010d",
             "\1\u010e",
             "\1\u010f",
             "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
@@ -2841,10 +2790,10 @@
             "",
             "\1\u0116",
             "\1\u0117",
+            "\1\u0118",
+            "\1\u0119",
             "\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\u011a",
-            "\1\u011b",
             "\1\u011c",
             "\1\u011d",
             "\1\u011e",
@@ -2862,18 +2811,18 @@
             "\1\u0128",
             "\1\u0129",
             "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u012b",
+            "\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\u012d",
-            "\1\u012e",
             "\1\u012f",
             "\1\u0130",
             "\1\u0131",
             "\1\u0132",
             "\1\u0133",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+            "\1\u0134",
             "\1\u0135",
             "",
             "",
@@ -2881,20 +2830,21 @@
             "\1\u0136",
             "\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\u0138",
+            "",
             "\1\u0139",
             "\1\u013a",
             "\1\u013b",
             "\1\u013c",
-            "\12\56\7\uffff\17\56\1\u013d\12\56\4\uffff\1\56\1\uffff\32"+
+            "\1\u013d",
+            "\12\56\7\uffff\17\56\1\u013e\12\56\4\uffff\1\56\1\uffff\32"+
             "\56",
-            "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
-            "",
             "\1\u0140",
             "\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\u0143",
             "\1\u0144",
@@ -2902,7 +2852,6 @@
             "\1\u0146",
             "\1\u0147",
             "",
-            "",
             "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
             "",
             "",
@@ -2929,157 +2878,157 @@
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( 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 | RULE_HEX | 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 LA16_39 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_39>='\u0000' && LA16_39<='\uFFFF')) ) {s = 98;}
+                        if ( (LA14_0=='m') ) {s = 1;}
 
-                        else s = 43;
+                        else if ( (LA14_0=='f') ) {s = 2;}
+
+                        else if ( (LA14_0=='+') ) {s = 3;}
+
+                        else if ( (LA14_0=='-') ) {s = 4;}
+
+                        else if ( (LA14_0=='e') ) {s = 5;}
+
+                        else if ( (LA14_0=='E') ) {s = 6;}
+
+                        else if ( (LA14_0=='d') ) {s = 7;}
+
+                        else if ( (LA14_0=='a') ) {s = 8;}
+
+                        else if ( (LA14_0=='s') ) {s = 9;}
+
+                        else if ( (LA14_0=='p') ) {s = 10;}
+
+                        else if ( (LA14_0=='M') ) {s = 11;}
+
+                        else if ( (LA14_0=='{') ) {s = 12;}
+
+                        else if ( (LA14_0=='}') ) {s = 13;}
+
+                        else if ( (LA14_0=='S') ) {s = 14;}
+
+                        else if ( (LA14_0=='R') ) {s = 15;}
+
+                        else if ( (LA14_0=='T') ) {s = 16;}
+
+                        else if ( (LA14_0=='C') ) {s = 17;}
+
+                        else if ( (LA14_0==':') ) {s = 18;}
+
+                        else if ( (LA14_0=='i') ) {s = 19;}
+
+                        else if ( (LA14_0=='t') ) {s = 20;}
+
+                        else if ( (LA14_0=='o') ) {s = 21;}
+
+                        else if ( (LA14_0=='g') ) {s = 22;}
+
+                        else if ( (LA14_0=='c') ) {s = 23;}
+
+                        else if ( (LA14_0=='<') ) {s = 24;}
+
+                        else if ( (LA14_0=='>') ) {s = 25;}
+
+                        else if ( (LA14_0=='|') ) {s = 26;}
+
+                        else if ( (LA14_0=='(') ) {s = 27;}
+
+                        else if ( (LA14_0==')') ) {s = 28;}
+
+                        else if ( (LA14_0==',') ) {s = 29;}
+
+                        else if ( (LA14_0=='=') ) {s = 30;}
+
+                        else if ( (LA14_0=='.') ) {s = 31;}
+
+                        else if ( (LA14_0=='[') ) {s = 32;}
+
+                        else if ( (LA14_0==']') ) {s = 33;}
+
+                        else if ( (LA14_0=='h') ) {s = 34;}
+
+                        else if ( (LA14_0=='0') ) {s = 35;}
+
+                        else if ( (LA14_0=='^') ) {s = 36;}
+
+                        else if ( ((LA14_0>='A' && LA14_0<='B')||LA14_0=='D'||(LA14_0>='F' && LA14_0<='L')||(LA14_0>='N' && LA14_0<='Q')||(LA14_0>='U' && LA14_0<='Z')||LA14_0=='_'||LA14_0=='b'||(LA14_0>='j' && LA14_0<='l')||LA14_0=='n'||(LA14_0>='q' && LA14_0<='r')||(LA14_0>='u' && LA14_0<='z')) ) {s = 37;}
+
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 38;}
+
+                        else if ( (LA14_0=='\"') ) {s = 39;}
+
+                        else if ( (LA14_0=='\'') ) {s = 40;}
+
+                        else if ( (LA14_0=='/') ) {s = 41;}
+
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 42;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||LA14_0=='*'||LA14_0==';'||(LA14_0>='?' && LA14_0<='@')||LA14_0=='\\'||LA14_0=='`'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 43;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_40 = input.LA(1);
+                        int LA14_39 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_40>='\u0000' && LA16_40<='\uFFFF')) ) {s = 98;}
+                        if ( ((LA14_39>='\u0000' && LA14_39<='\uFFFF')) ) {s = 98;}
 
                         else s = 43;
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA16_0 = input.LA(1);
+                        int LA14_40 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='m') ) {s = 1;}
+                        if ( ((LA14_40>='\u0000' && LA14_40<='\uFFFF')) ) {s = 98;}
 
-                        else if ( (LA16_0=='f') ) {s = 2;}
-
-                        else if ( (LA16_0=='+') ) {s = 3;}
-
-                        else if ( (LA16_0=='-') ) {s = 4;}
-
-                        else if ( (LA16_0=='e') ) {s = 5;}
-
-                        else if ( (LA16_0=='d') ) {s = 6;}
-
-                        else if ( (LA16_0=='a') ) {s = 7;}
-
-                        else if ( (LA16_0=='s') ) {s = 8;}
-
-                        else if ( (LA16_0=='p') ) {s = 9;}
-
-                        else if ( (LA16_0=='M') ) {s = 10;}
-
-                        else if ( (LA16_0=='{') ) {s = 11;}
-
-                        else if ( (LA16_0=='}') ) {s = 12;}
-
-                        else if ( (LA16_0=='S') ) {s = 13;}
-
-                        else if ( (LA16_0=='R') ) {s = 14;}
-
-                        else if ( (LA16_0=='T') ) {s = 15;}
-
-                        else if ( (LA16_0=='E') ) {s = 16;}
-
-                        else if ( (LA16_0=='C') ) {s = 17;}
-
-                        else if ( (LA16_0==':') ) {s = 18;}
-
-                        else if ( (LA16_0=='i') ) {s = 19;}
-
-                        else if ( (LA16_0=='t') ) {s = 20;}
-
-                        else if ( (LA16_0=='o') ) {s = 21;}
-
-                        else if ( (LA16_0=='g') ) {s = 22;}
-
-                        else if ( (LA16_0=='c') ) {s = 23;}
-
-                        else if ( (LA16_0=='<') ) {s = 24;}
-
-                        else if ( (LA16_0=='>') ) {s = 25;}
-
-                        else if ( (LA16_0=='|') ) {s = 26;}
-
-                        else if ( (LA16_0=='(') ) {s = 27;}
-
-                        else if ( (LA16_0==')') ) {s = 28;}
-
-                        else if ( (LA16_0==',') ) {s = 29;}
-
-                        else if ( (LA16_0=='=') ) {s = 30;}
-
-                        else if ( (LA16_0=='.') ) {s = 31;}
-
-                        else if ( (LA16_0=='[') ) {s = 32;}
-
-                        else if ( (LA16_0==']') ) {s = 33;}
-
-                        else if ( (LA16_0=='h') ) {s = 34;}
-
-                        else if ( (LA16_0=='0') ) {s = 35;}
-
-                        else if ( (LA16_0=='^') ) {s = 36;}
-
-                        else if ( ((LA16_0>='A' && LA16_0<='B')||LA16_0=='D'||(LA16_0>='F' && LA16_0<='L')||(LA16_0>='N' && LA16_0<='Q')||(LA16_0>='U' && LA16_0<='Z')||LA16_0=='_'||LA16_0=='b'||(LA16_0>='j' && LA16_0<='l')||LA16_0=='n'||(LA16_0>='q' && LA16_0<='r')||(LA16_0>='u' && LA16_0<='z')) ) {s = 37;}
-
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 38;}
-
-                        else if ( (LA16_0=='\"') ) {s = 39;}
-
-                        else if ( (LA16_0=='\'') ) {s = 40;}
-
-                        else if ( (LA16_0=='/') ) {s = 41;}
-
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 42;}
-
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||LA16_0=='*'||LA16_0==';'||(LA16_0>='?' && LA16_0<='@')||LA16_0=='\\'||LA16_0=='`'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 43;}
+                        else s = 43;
 
                         if ( s>=0 ) return s;
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSMParser.java b/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSMParser.java
index 5a8f7f9..c99d3b4 100644
--- a/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSMParser.java
+++ b/plugins/org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSMParser.java
@@ -22,76 +22,77 @@
 @SuppressWarnings("all")
 public class InternalFSMParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_EXP", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'mandatory'", "'false'", "'+'", "'-'", "'eventdriven'", "'datadriven'", "'async'", "'sync'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'ModelComponent'", "'extends'", "'{'", "'}'", "'StateMachine'", "'State'", "'entry'", "'exit'", "'do'", "'subgraph'", "'RefinedState'", "'TransitionPoint'", "'EntryPoint'", "'ExitPoint'", "'ChoicePoint'", "'Transition'", "':'", "'initial'", "'->'", "'action'", "'triggers'", "'or'", "'guard'", "'cond'", "'RefinedTransition'", "'my'", "'of'", "'cp'", "'<'", "'>'", "'|'", "'in'", "'('", "')'", "','", "'out'", "'='", "'attribute'", "'.*'", "'['", "']'", "'.'", "'abstract'", "'handler'", "'optional'", "'true'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_HEX", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'mandatory'", "'false'", "'+'", "'-'", "'e'", "'E'", "'eventdriven'", "'datadriven'", "'async'", "'sync'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'ModelComponent'", "'extends'", "'{'", "'}'", "'StateMachine'", "'State'", "'entry'", "'exit'", "'do'", "'subgraph'", "'RefinedState'", "'TransitionPoint'", "'EntryPoint'", "'ExitPoint'", "'ChoicePoint'", "'Transition'", "':'", "'initial'", "'->'", "'action'", "'triggers'", "'or'", "'guard'", "'cond'", "'RefinedTransition'", "'my'", "'of'", "'cp'", "'<'", "'>'", "'|'", "'in'", "'('", "')'", "','", "'out'", "'='", "'attribute'", "'.*'", "'['", "']'", "'.'", "'abstract'", "'handler'", "'optional'", "'true'"
     };
-    public static final int T__68=68;
-    public static final int T__69=69;
-    public static final int RULE_EXP=7;
-    public static final int RULE_ID=4;
-    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__29=29;
-    public static final int T__65=65;
-    public static final int T__28=28;
-    public static final int T__62=62;
-    public static final int T__27=27;
-    public static final int T__63=63;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__61=61;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=5;
-    public static final int T__58=58;
-    public static final int T__16=16;
-    public static final int T__51=51;
+    public static final int T__50=50;
+    public static final int T__19=19;
     public static final int T__15=15;
+    public static final int T__59=59;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int RULE_STRING=8;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__67=67;
+    public static final int T__24=24;
+    public static final int T__68=68;
+    public static final int T__25=25;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__63=63;
+    public static final int T__20=20;
+    public static final int T__64=64;
+    public static final int T__21=21;
+    public static final int T__65=65;
     public static final int T__70=70;
-    public static final int T__36=36;
+    public static final int T__71=71;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
     public static final int T__37=37;
     public static final int T__38=38;
     public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int T__33=33;
+    public static final int T__34=34;
+    public static final int T__35=35;
+    public static final int T__36=36;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -180,7 +181,7 @@
                 int alt1=2;
                 int LA1_0 = input.LA(1);
 
-                if ( ((LA1_0>=17 && LA1_0<=20)||LA1_0==25||LA1_0==67) ) {
+                if ( ((LA1_0>=18 && LA1_0<=21)||LA1_0==26||LA1_0==68) ) {
                     alt1=1;
                 }
 
@@ -3834,181 +3835,21 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1420:1: entryRuleSignedInteger : ruleSignedInteger EOF ;
-    public final void entryRuleSignedInteger() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1424:1: ( ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1425:1: ruleSignedInteger EOF
-            {
-             before(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2962);
-            ruleSignedInteger();
-
-            state._fsp--;
-
-             after(grammarAccess.getSignedIntegerRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger2969); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1435:1: ruleSignedInteger : ( ( rule__SignedInteger__Group__0 ) ) ;
-    public final void ruleSignedInteger() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1440:2: ( ( ( rule__SignedInteger__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1441:1: ( ( rule__SignedInteger__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1441:1: ( ( rule__SignedInteger__Group__0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1442:1: ( rule__SignedInteger__Group__0 )
-            {
-             before(grammarAccess.getSignedIntegerAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1443:1: ( rule__SignedInteger__Group__0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1443:2: rule__SignedInteger__Group__0
-            {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger2999);
-            rule__SignedInteger__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSignedIntegerAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1456:1: entryRuleHexadecimal : ruleHexadecimal EOF ;
-    public final void entryRuleHexadecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1460:1: ( ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1461:1: ruleHexadecimal EOF
-            {
-             before(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal3031);
-            ruleHexadecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getHexadecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal3038); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1471:1: ruleHexadecimal : ( RULE_HEX ) ;
-    public final void ruleHexadecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1476:2: ( ( RULE_HEX ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1477:1: ( RULE_HEX )
-            {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1477:1: ( RULE_HEX )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1478:1: RULE_HEX
-            {
-             before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-            match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal3068); 
-             after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1492:1: entryRuleReal : ruleReal EOF ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1420:1: entryRuleReal : ruleReal EOF ;
     public final void entryRuleReal() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1493:1: ( ruleReal EOF )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1494:1: ruleReal EOF
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1421:1: ( ruleReal EOF )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1422:1: ruleReal EOF
             {
              before(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal3094);
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal2957);
             ruleReal();
 
             state._fsp--;
 
              after(grammarAccess.getRealRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal3101); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal2964); 
 
             }
 
@@ -4025,23 +3866,23 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1501:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1429:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
     public final void ruleReal() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1505:2: ( ( ( rule__Real__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1506:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1433:2: ( ( ( rule__Real__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1434:1: ( ( rule__Real__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1506:1: ( ( rule__Real__Alternatives ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1507:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1434:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1435:1: ( rule__Real__Alternatives )
             {
              before(grammarAccess.getRealAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1508:1: ( rule__Real__Alternatives )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1508:2: rule__Real__Alternatives
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1436:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1436:2: rule__Real__Alternatives
             {
-            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal3127);
+            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal2990);
             rule__Real__Alternatives();
 
             state._fsp--;
@@ -4072,23 +3913,23 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1520:1: entryRuleDecimal : ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1448:1: entryRuleDecimal : ruleDecimal EOF ;
     public final void entryRuleDecimal() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1524:1: ( ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1525:1: ruleDecimal EOF
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1452:1: ( ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1453:1: ruleDecimal EOF
             {
              before(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal3159);
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal3022);
             ruleDecimal();
 
             state._fsp--;
 
              after(grammarAccess.getDecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal3166); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal3029); 
 
             }
 
@@ -4108,24 +3949,24 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1535:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1463:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
     public final void ruleDecimal() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1540:2: ( ( ( rule__Decimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1541:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1468:2: ( ( ( rule__Decimal__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1469:1: ( ( rule__Decimal__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1541:1: ( ( rule__Decimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1542:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1469:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1470:1: ( rule__Decimal__Group__0 )
             {
              before(grammarAccess.getDecimalAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1543:1: ( rule__Decimal__Group__0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1543:2: rule__Decimal__Group__0
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1471:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1471:2: rule__Decimal__Group__0
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal3196);
+            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal3059);
             rule__Decimal__Group__0();
 
             state._fsp--;
@@ -4156,194 +3997,24 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1556:1: entryRuleDotDecimal : ruleDotDecimal EOF ;
-    public final void entryRuleDotDecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1560:1: ( ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1561:1: ruleDotDecimal EOF
-            {
-             before(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal3228);
-            ruleDotDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getDotDecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal3235); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1571:1: ruleDotDecimal : ( ( rule__DotDecimal__Group__0 ) ) ;
-    public final void ruleDotDecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1576:2: ( ( ( rule__DotDecimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1577:1: ( ( rule__DotDecimal__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1577:1: ( ( rule__DotDecimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1578:1: ( rule__DotDecimal__Group__0 )
-            {
-             before(grammarAccess.getDotDecimalAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1579:1: ( rule__DotDecimal__Group__0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1579:2: rule__DotDecimal__Group__0
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal3265);
-            rule__DotDecimal__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDotDecimalAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1592:1: entryRuleDecimalDot : ruleDecimalDot EOF ;
-    public final void entryRuleDecimalDot() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1596:1: ( ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1597:1: ruleDecimalDot EOF
-            {
-             before(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot3297);
-            ruleDecimalDot();
-
-            state._fsp--;
-
-             after(grammarAccess.getDecimalDotRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot3304); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1607:1: ruleDecimalDot : ( ( rule__DecimalDot__Group__0 ) ) ;
-    public final void ruleDecimalDot() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1612:2: ( ( ( rule__DecimalDot__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1613:1: ( ( rule__DecimalDot__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1613:1: ( ( rule__DecimalDot__Group__0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1614:1: ( rule__DecimalDot__Group__0 )
-            {
-             before(grammarAccess.getDecimalDotAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1615:1: ( rule__DecimalDot__Group__0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1615:2: rule__DecimalDot__Group__0
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot3334);
-            rule__DecimalDot__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDecimalDotAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1628:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1484:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
     public final void entryRuleDecimalExp() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1632:1: ( ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1633:1: ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1488:1: ( ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1489:1: ruleDecimalExp EOF
             {
              before(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3366);
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3091);
             ruleDecimalExp();
 
             state._fsp--;
 
              after(grammarAccess.getDecimalExpRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp3373); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp3098); 
 
             }
 
@@ -4363,24 +4034,24 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1643:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1499:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
     public final void ruleDecimalExp() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1648:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1649:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1504:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1505:1: ( ( rule__DecimalExp__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1649:1: ( ( rule__DecimalExp__Group__0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1650:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1505:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1506:1: ( rule__DecimalExp__Group__0 )
             {
              before(grammarAccess.getDecimalExpAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1651:1: ( rule__DecimalExp__Group__0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1651:2: rule__DecimalExp__Group__0
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1507:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1507:2: rule__DecimalExp__Group__0
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp3403);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp3128);
             rule__DecimalExp__Group__0();
 
             state._fsp--;
@@ -4412,20 +4083,20 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1664:1: entryRuleFQN : ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1520:1: entryRuleFQN : ruleFQN EOF ;
     public final void entryRuleFQN() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1665:1: ( ruleFQN EOF )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1666:1: ruleFQN EOF
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1521:1: ( ruleFQN EOF )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1522:1: ruleFQN EOF
             {
              before(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN3430);
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN3155);
             ruleFQN();
 
             state._fsp--;
 
              after(grammarAccess.getFQNRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN3437); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN3162); 
 
             }
 
@@ -4442,23 +4113,23 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1673:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1529:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
     public final void ruleFQN() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1677:2: ( ( ( rule__FQN__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1678:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1533:2: ( ( ( rule__FQN__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1534:1: ( ( rule__FQN__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1678:1: ( ( rule__FQN__Group__0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1679:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1534:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1535:1: ( rule__FQN__Group__0 )
             {
              before(grammarAccess.getFQNAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1680:1: ( rule__FQN__Group__0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1680:2: rule__FQN__Group__0
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1536:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1536:2: rule__FQN__Group__0
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN3463);
+            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN3188);
             rule__FQN__Group__0();
 
             state._fsp--;
@@ -4489,23 +4160,23 @@
 
 
     // $ANTLR start "ruleComponentCommunicationType"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1693:1: ruleComponentCommunicationType : ( ( rule__ComponentCommunicationType__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1549:1: ruleComponentCommunicationType : ( ( rule__ComponentCommunicationType__Alternatives ) ) ;
     public final void ruleComponentCommunicationType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1697:1: ( ( ( rule__ComponentCommunicationType__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1698:1: ( ( rule__ComponentCommunicationType__Alternatives ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1553:1: ( ( ( rule__ComponentCommunicationType__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1554:1: ( ( rule__ComponentCommunicationType__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1698:1: ( ( rule__ComponentCommunicationType__Alternatives ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1699:1: ( rule__ComponentCommunicationType__Alternatives )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1554:1: ( ( rule__ComponentCommunicationType__Alternatives ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1555:1: ( rule__ComponentCommunicationType__Alternatives )
             {
              before(grammarAccess.getComponentCommunicationTypeAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1700:1: ( rule__ComponentCommunicationType__Alternatives )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1700:2: rule__ComponentCommunicationType__Alternatives
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1556:1: ( rule__ComponentCommunicationType__Alternatives )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1556:2: rule__ComponentCommunicationType__Alternatives
             {
-            pushFollow(FOLLOW_rule__ComponentCommunicationType__Alternatives_in_ruleComponentCommunicationType3500);
+            pushFollow(FOLLOW_rule__ComponentCommunicationType__Alternatives_in_ruleComponentCommunicationType3225);
             rule__ComponentCommunicationType__Alternatives();
 
             state._fsp--;
@@ -4536,23 +4207,23 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1712:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1568:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
     public final void ruleLiteralType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1716:1: ( ( ( rule__LiteralType__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1717:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1572:1: ( ( ( rule__LiteralType__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1573:1: ( ( rule__LiteralType__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1717:1: ( ( rule__LiteralType__Alternatives ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1718:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1573:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1574:1: ( rule__LiteralType__Alternatives )
             {
              before(grammarAccess.getLiteralTypeAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1719:1: ( rule__LiteralType__Alternatives )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1719:2: rule__LiteralType__Alternatives
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1575:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1575:2: rule__LiteralType__Alternatives
             {
-            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType3536);
+            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType3261);
             rule__LiteralType__Alternatives();
 
             state._fsp--;
@@ -4583,30 +4254,30 @@
 
 
     // $ANTLR start "rule__StateGraphNode__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1730:1: rule__StateGraphNode__Alternatives : ( ( ruleState ) | ( ruleChoicePoint ) | ( ruleTrPoint ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1586:1: rule__StateGraphNode__Alternatives : ( ( ruleState ) | ( ruleChoicePoint ) | ( ruleTrPoint ) );
     public final void rule__StateGraphNode__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1734:1: ( ( ruleState ) | ( ruleChoicePoint ) | ( ruleTrPoint ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1590:1: ( ( ruleState ) | ( ruleChoicePoint ) | ( ruleTrPoint ) )
             int alt2=3;
             switch ( input.LA(1) ) {
-            case 30:
-            case 35:
+            case 31:
+            case 36:
                 {
                 alt2=1;
                 }
                 break;
-            case 39:
+            case 40:
                 {
                 alt2=2;
                 }
                 break;
-            case 36:
             case 37:
             case 38:
-            case 68:
+            case 39:
+            case 69:
                 {
                 alt2=3;
                 }
@@ -4620,13 +4291,13 @@
 
             switch (alt2) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1735:1: ( ruleState )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1591:1: ( ruleState )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1735:1: ( ruleState )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1736:1: ruleState
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1591:1: ( ruleState )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1592:1: ruleState
                     {
                      before(grammarAccess.getStateGraphNodeAccess().getStateParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleState_in_rule__StateGraphNode__Alternatives3571);
+                    pushFollow(FOLLOW_ruleState_in_rule__StateGraphNode__Alternatives3296);
                     ruleState();
 
                     state._fsp--;
@@ -4639,13 +4310,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1741:6: ( ruleChoicePoint )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1597:6: ( ruleChoicePoint )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1741:6: ( ruleChoicePoint )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1742:1: ruleChoicePoint
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1597:6: ( ruleChoicePoint )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1598:1: ruleChoicePoint
                     {
                      before(grammarAccess.getStateGraphNodeAccess().getChoicePointParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateGraphNode__Alternatives3588);
+                    pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateGraphNode__Alternatives3313);
                     ruleChoicePoint();
 
                     state._fsp--;
@@ -4658,13 +4329,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1747:6: ( ruleTrPoint )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1603:6: ( ruleTrPoint )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1747:6: ( ruleTrPoint )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1748:1: ruleTrPoint
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1603:6: ( ruleTrPoint )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1604:1: ruleTrPoint
                     {
                      before(grammarAccess.getStateGraphNodeAccess().getTrPointParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleTrPoint_in_rule__StateGraphNode__Alternatives3605);
+                    pushFollow(FOLLOW_ruleTrPoint_in_rule__StateGraphNode__Alternatives3330);
                     ruleTrPoint();
 
                     state._fsp--;
@@ -4694,40 +4365,40 @@
 
 
     // $ANTLR start "rule__StateGraph__Alternatives_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1759:1: rule__StateGraph__Alternatives_2 : ( ( ( rule__StateGraph__StatesAssignment_2_0 ) ) | ( ( rule__StateGraph__TrPointsAssignment_2_1 ) ) | ( ( rule__StateGraph__ChPointsAssignment_2_2 ) ) | ( ( rule__StateGraph__TransitionsAssignment_2_3 ) ) | ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1615:1: rule__StateGraph__Alternatives_2 : ( ( ( rule__StateGraph__StatesAssignment_2_0 ) ) | ( ( rule__StateGraph__TrPointsAssignment_2_1 ) ) | ( ( rule__StateGraph__ChPointsAssignment_2_2 ) ) | ( ( rule__StateGraph__TransitionsAssignment_2_3 ) ) | ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) ) );
     public final void rule__StateGraph__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1763:1: ( ( ( rule__StateGraph__StatesAssignment_2_0 ) ) | ( ( rule__StateGraph__TrPointsAssignment_2_1 ) ) | ( ( rule__StateGraph__ChPointsAssignment_2_2 ) ) | ( ( rule__StateGraph__TransitionsAssignment_2_3 ) ) | ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1619:1: ( ( ( rule__StateGraph__StatesAssignment_2_0 ) ) | ( ( rule__StateGraph__TrPointsAssignment_2_1 ) ) | ( ( rule__StateGraph__ChPointsAssignment_2_2 ) ) | ( ( rule__StateGraph__TransitionsAssignment_2_3 ) ) | ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) ) )
             int alt3=5;
             switch ( input.LA(1) ) {
-            case 30:
-            case 35:
+            case 31:
+            case 36:
                 {
                 alt3=1;
                 }
                 break;
-            case 36:
             case 37:
             case 38:
-            case 68:
+            case 39:
+            case 69:
                 {
                 alt3=2;
                 }
                 break;
-            case 39:
+            case 40:
                 {
                 alt3=3;
                 }
                 break;
-            case 40:
+            case 41:
                 {
                 alt3=4;
                 }
                 break;
-            case 49:
+            case 50:
                 {
                 alt3=5;
                 }
@@ -4741,16 +4412,16 @@
 
             switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1764:1: ( ( rule__StateGraph__StatesAssignment_2_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1620:1: ( ( rule__StateGraph__StatesAssignment_2_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1764:1: ( ( rule__StateGraph__StatesAssignment_2_0 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1765:1: ( rule__StateGraph__StatesAssignment_2_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1620:1: ( ( rule__StateGraph__StatesAssignment_2_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1621:1: ( rule__StateGraph__StatesAssignment_2_0 )
                     {
                      before(grammarAccess.getStateGraphAccess().getStatesAssignment_2_0()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1766:1: ( rule__StateGraph__StatesAssignment_2_0 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1766:2: rule__StateGraph__StatesAssignment_2_0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1622:1: ( rule__StateGraph__StatesAssignment_2_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1622:2: rule__StateGraph__StatesAssignment_2_0
                     {
-                    pushFollow(FOLLOW_rule__StateGraph__StatesAssignment_2_0_in_rule__StateGraph__Alternatives_23638);
+                    pushFollow(FOLLOW_rule__StateGraph__StatesAssignment_2_0_in_rule__StateGraph__Alternatives_23363);
                     rule__StateGraph__StatesAssignment_2_0();
 
                     state._fsp--;
@@ -4766,16 +4437,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1770:6: ( ( rule__StateGraph__TrPointsAssignment_2_1 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1626:6: ( ( rule__StateGraph__TrPointsAssignment_2_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1770:6: ( ( rule__StateGraph__TrPointsAssignment_2_1 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1771:1: ( rule__StateGraph__TrPointsAssignment_2_1 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1626:6: ( ( rule__StateGraph__TrPointsAssignment_2_1 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1627:1: ( rule__StateGraph__TrPointsAssignment_2_1 )
                     {
                      before(grammarAccess.getStateGraphAccess().getTrPointsAssignment_2_1()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1772:1: ( rule__StateGraph__TrPointsAssignment_2_1 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1772:2: rule__StateGraph__TrPointsAssignment_2_1
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1628:1: ( rule__StateGraph__TrPointsAssignment_2_1 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1628:2: rule__StateGraph__TrPointsAssignment_2_1
                     {
-                    pushFollow(FOLLOW_rule__StateGraph__TrPointsAssignment_2_1_in_rule__StateGraph__Alternatives_23656);
+                    pushFollow(FOLLOW_rule__StateGraph__TrPointsAssignment_2_1_in_rule__StateGraph__Alternatives_23381);
                     rule__StateGraph__TrPointsAssignment_2_1();
 
                     state._fsp--;
@@ -4791,16 +4462,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1776:6: ( ( rule__StateGraph__ChPointsAssignment_2_2 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1632:6: ( ( rule__StateGraph__ChPointsAssignment_2_2 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1776:6: ( ( rule__StateGraph__ChPointsAssignment_2_2 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1777:1: ( rule__StateGraph__ChPointsAssignment_2_2 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1632:6: ( ( rule__StateGraph__ChPointsAssignment_2_2 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1633:1: ( rule__StateGraph__ChPointsAssignment_2_2 )
                     {
                      before(grammarAccess.getStateGraphAccess().getChPointsAssignment_2_2()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1778:1: ( rule__StateGraph__ChPointsAssignment_2_2 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1778:2: rule__StateGraph__ChPointsAssignment_2_2
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1634:1: ( rule__StateGraph__ChPointsAssignment_2_2 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1634:2: rule__StateGraph__ChPointsAssignment_2_2
                     {
-                    pushFollow(FOLLOW_rule__StateGraph__ChPointsAssignment_2_2_in_rule__StateGraph__Alternatives_23674);
+                    pushFollow(FOLLOW_rule__StateGraph__ChPointsAssignment_2_2_in_rule__StateGraph__Alternatives_23399);
                     rule__StateGraph__ChPointsAssignment_2_2();
 
                     state._fsp--;
@@ -4816,16 +4487,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1782:6: ( ( rule__StateGraph__TransitionsAssignment_2_3 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1638:6: ( ( rule__StateGraph__TransitionsAssignment_2_3 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1782:6: ( ( rule__StateGraph__TransitionsAssignment_2_3 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1783:1: ( rule__StateGraph__TransitionsAssignment_2_3 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1638:6: ( ( rule__StateGraph__TransitionsAssignment_2_3 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1639:1: ( rule__StateGraph__TransitionsAssignment_2_3 )
                     {
                      before(grammarAccess.getStateGraphAccess().getTransitionsAssignment_2_3()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1784:1: ( rule__StateGraph__TransitionsAssignment_2_3 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1784:2: rule__StateGraph__TransitionsAssignment_2_3
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1640:1: ( rule__StateGraph__TransitionsAssignment_2_3 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1640:2: rule__StateGraph__TransitionsAssignment_2_3
                     {
-                    pushFollow(FOLLOW_rule__StateGraph__TransitionsAssignment_2_3_in_rule__StateGraph__Alternatives_23692);
+                    pushFollow(FOLLOW_rule__StateGraph__TransitionsAssignment_2_3_in_rule__StateGraph__Alternatives_23417);
                     rule__StateGraph__TransitionsAssignment_2_3();
 
                     state._fsp--;
@@ -4841,16 +4512,16 @@
                     }
                     break;
                 case 5 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1788:6: ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1644:6: ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1788:6: ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1789:1: ( rule__StateGraph__RefinedTransitionsAssignment_2_4 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1644:6: ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1645:1: ( rule__StateGraph__RefinedTransitionsAssignment_2_4 )
                     {
                      before(grammarAccess.getStateGraphAccess().getRefinedTransitionsAssignment_2_4()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1790:1: ( rule__StateGraph__RefinedTransitionsAssignment_2_4 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1790:2: rule__StateGraph__RefinedTransitionsAssignment_2_4
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1646:1: ( rule__StateGraph__RefinedTransitionsAssignment_2_4 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1646:2: rule__StateGraph__RefinedTransitionsAssignment_2_4
                     {
-                    pushFollow(FOLLOW_rule__StateGraph__RefinedTransitionsAssignment_2_4_in_rule__StateGraph__Alternatives_23710);
+                    pushFollow(FOLLOW_rule__StateGraph__RefinedTransitionsAssignment_2_4_in_rule__StateGraph__Alternatives_23435);
                     rule__StateGraph__RefinedTransitionsAssignment_2_4();
 
                     state._fsp--;
@@ -4883,40 +4554,40 @@
 
 
     // $ANTLR start "rule__StateMachine__Alternatives_3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1799:1: rule__StateMachine__Alternatives_3 : ( ( ( rule__StateMachine__StatesAssignment_3_0 ) ) | ( ( rule__StateMachine__TrPointsAssignment_3_1 ) ) | ( ( rule__StateMachine__ChPointsAssignment_3_2 ) ) | ( ( rule__StateMachine__TransitionsAssignment_3_3 ) ) | ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1655:1: rule__StateMachine__Alternatives_3 : ( ( ( rule__StateMachine__StatesAssignment_3_0 ) ) | ( ( rule__StateMachine__TrPointsAssignment_3_1 ) ) | ( ( rule__StateMachine__ChPointsAssignment_3_2 ) ) | ( ( rule__StateMachine__TransitionsAssignment_3_3 ) ) | ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) ) );
     public final void rule__StateMachine__Alternatives_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1803:1: ( ( ( rule__StateMachine__StatesAssignment_3_0 ) ) | ( ( rule__StateMachine__TrPointsAssignment_3_1 ) ) | ( ( rule__StateMachine__ChPointsAssignment_3_2 ) ) | ( ( rule__StateMachine__TransitionsAssignment_3_3 ) ) | ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1659:1: ( ( ( rule__StateMachine__StatesAssignment_3_0 ) ) | ( ( rule__StateMachine__TrPointsAssignment_3_1 ) ) | ( ( rule__StateMachine__ChPointsAssignment_3_2 ) ) | ( ( rule__StateMachine__TransitionsAssignment_3_3 ) ) | ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) ) )
             int alt4=5;
             switch ( input.LA(1) ) {
-            case 30:
-            case 35:
+            case 31:
+            case 36:
                 {
                 alt4=1;
                 }
                 break;
-            case 36:
             case 37:
             case 38:
-            case 68:
+            case 39:
+            case 69:
                 {
                 alt4=2;
                 }
                 break;
-            case 39:
+            case 40:
                 {
                 alt4=3;
                 }
                 break;
-            case 40:
+            case 41:
                 {
                 alt4=4;
                 }
                 break;
-            case 49:
+            case 50:
                 {
                 alt4=5;
                 }
@@ -4930,16 +4601,16 @@
 
             switch (alt4) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1804:1: ( ( rule__StateMachine__StatesAssignment_3_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1660:1: ( ( rule__StateMachine__StatesAssignment_3_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1804:1: ( ( rule__StateMachine__StatesAssignment_3_0 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1805:1: ( rule__StateMachine__StatesAssignment_3_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1660:1: ( ( rule__StateMachine__StatesAssignment_3_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1661:1: ( rule__StateMachine__StatesAssignment_3_0 )
                     {
                      before(grammarAccess.getStateMachineAccess().getStatesAssignment_3_0()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1806:1: ( rule__StateMachine__StatesAssignment_3_0 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1806:2: rule__StateMachine__StatesAssignment_3_0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1662:1: ( rule__StateMachine__StatesAssignment_3_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1662:2: rule__StateMachine__StatesAssignment_3_0
                     {
-                    pushFollow(FOLLOW_rule__StateMachine__StatesAssignment_3_0_in_rule__StateMachine__Alternatives_33743);
+                    pushFollow(FOLLOW_rule__StateMachine__StatesAssignment_3_0_in_rule__StateMachine__Alternatives_33468);
                     rule__StateMachine__StatesAssignment_3_0();
 
                     state._fsp--;
@@ -4955,16 +4626,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1810:6: ( ( rule__StateMachine__TrPointsAssignment_3_1 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1666:6: ( ( rule__StateMachine__TrPointsAssignment_3_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1810:6: ( ( rule__StateMachine__TrPointsAssignment_3_1 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1811:1: ( rule__StateMachine__TrPointsAssignment_3_1 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1666:6: ( ( rule__StateMachine__TrPointsAssignment_3_1 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1667:1: ( rule__StateMachine__TrPointsAssignment_3_1 )
                     {
                      before(grammarAccess.getStateMachineAccess().getTrPointsAssignment_3_1()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1812:1: ( rule__StateMachine__TrPointsAssignment_3_1 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1812:2: rule__StateMachine__TrPointsAssignment_3_1
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1668:1: ( rule__StateMachine__TrPointsAssignment_3_1 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1668:2: rule__StateMachine__TrPointsAssignment_3_1
                     {
-                    pushFollow(FOLLOW_rule__StateMachine__TrPointsAssignment_3_1_in_rule__StateMachine__Alternatives_33761);
+                    pushFollow(FOLLOW_rule__StateMachine__TrPointsAssignment_3_1_in_rule__StateMachine__Alternatives_33486);
                     rule__StateMachine__TrPointsAssignment_3_1();
 
                     state._fsp--;
@@ -4980,16 +4651,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1816:6: ( ( rule__StateMachine__ChPointsAssignment_3_2 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1672:6: ( ( rule__StateMachine__ChPointsAssignment_3_2 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1816:6: ( ( rule__StateMachine__ChPointsAssignment_3_2 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1817:1: ( rule__StateMachine__ChPointsAssignment_3_2 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1672:6: ( ( rule__StateMachine__ChPointsAssignment_3_2 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1673:1: ( rule__StateMachine__ChPointsAssignment_3_2 )
                     {
                      before(grammarAccess.getStateMachineAccess().getChPointsAssignment_3_2()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1818:1: ( rule__StateMachine__ChPointsAssignment_3_2 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1818:2: rule__StateMachine__ChPointsAssignment_3_2
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1674:1: ( rule__StateMachine__ChPointsAssignment_3_2 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1674:2: rule__StateMachine__ChPointsAssignment_3_2
                     {
-                    pushFollow(FOLLOW_rule__StateMachine__ChPointsAssignment_3_2_in_rule__StateMachine__Alternatives_33779);
+                    pushFollow(FOLLOW_rule__StateMachine__ChPointsAssignment_3_2_in_rule__StateMachine__Alternatives_33504);
                     rule__StateMachine__ChPointsAssignment_3_2();
 
                     state._fsp--;
@@ -5005,16 +4676,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1822:6: ( ( rule__StateMachine__TransitionsAssignment_3_3 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1678:6: ( ( rule__StateMachine__TransitionsAssignment_3_3 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1822:6: ( ( rule__StateMachine__TransitionsAssignment_3_3 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1823:1: ( rule__StateMachine__TransitionsAssignment_3_3 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1678:6: ( ( rule__StateMachine__TransitionsAssignment_3_3 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1679:1: ( rule__StateMachine__TransitionsAssignment_3_3 )
                     {
                      before(grammarAccess.getStateMachineAccess().getTransitionsAssignment_3_3()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1824:1: ( rule__StateMachine__TransitionsAssignment_3_3 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1824:2: rule__StateMachine__TransitionsAssignment_3_3
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1680:1: ( rule__StateMachine__TransitionsAssignment_3_3 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1680:2: rule__StateMachine__TransitionsAssignment_3_3
                     {
-                    pushFollow(FOLLOW_rule__StateMachine__TransitionsAssignment_3_3_in_rule__StateMachine__Alternatives_33797);
+                    pushFollow(FOLLOW_rule__StateMachine__TransitionsAssignment_3_3_in_rule__StateMachine__Alternatives_33522);
                     rule__StateMachine__TransitionsAssignment_3_3();
 
                     state._fsp--;
@@ -5030,16 +4701,16 @@
                     }
                     break;
                 case 5 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1828:6: ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1684:6: ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1828:6: ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1829:1: ( rule__StateMachine__RefinedTransitionsAssignment_3_4 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1684:6: ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1685:1: ( rule__StateMachine__RefinedTransitionsAssignment_3_4 )
                     {
                      before(grammarAccess.getStateMachineAccess().getRefinedTransitionsAssignment_3_4()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1830:1: ( rule__StateMachine__RefinedTransitionsAssignment_3_4 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1830:2: rule__StateMachine__RefinedTransitionsAssignment_3_4
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1686:1: ( rule__StateMachine__RefinedTransitionsAssignment_3_4 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1686:2: rule__StateMachine__RefinedTransitionsAssignment_3_4
                     {
-                    pushFollow(FOLLOW_rule__StateMachine__RefinedTransitionsAssignment_3_4_in_rule__StateMachine__Alternatives_33815);
+                    pushFollow(FOLLOW_rule__StateMachine__RefinedTransitionsAssignment_3_4_in_rule__StateMachine__Alternatives_33540);
                     rule__StateMachine__RefinedTransitionsAssignment_3_4();
 
                     state._fsp--;
@@ -5072,20 +4743,20 @@
 
 
     // $ANTLR start "rule__State__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1839:1: rule__State__Alternatives : ( ( ruleSimpleState ) | ( ruleRefinedState ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1695:1: rule__State__Alternatives : ( ( ruleSimpleState ) | ( ruleRefinedState ) );
     public final void rule__State__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1843:1: ( ( ruleSimpleState ) | ( ruleRefinedState ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1699:1: ( ( ruleSimpleState ) | ( ruleRefinedState ) )
             int alt5=2;
             int LA5_0 = input.LA(1);
 
-            if ( (LA5_0==30) ) {
+            if ( (LA5_0==31) ) {
                 alt5=1;
             }
-            else if ( (LA5_0==35) ) {
+            else if ( (LA5_0==36) ) {
                 alt5=2;
             }
             else {
@@ -5096,13 +4767,13 @@
             }
             switch (alt5) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1844:1: ( ruleSimpleState )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1700:1: ( ruleSimpleState )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1844:1: ( ruleSimpleState )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1845:1: ruleSimpleState
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1700:1: ( ruleSimpleState )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1701:1: ruleSimpleState
                     {
                      before(grammarAccess.getStateAccess().getSimpleStateParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSimpleState_in_rule__State__Alternatives3848);
+                    pushFollow(FOLLOW_ruleSimpleState_in_rule__State__Alternatives3573);
                     ruleSimpleState();
 
                     state._fsp--;
@@ -5115,13 +4786,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1850:6: ( ruleRefinedState )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1706:6: ( ruleRefinedState )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1850:6: ( ruleRefinedState )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1851:1: ruleRefinedState
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1706:6: ( ruleRefinedState )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1707:1: ruleRefinedState
                     {
                      before(grammarAccess.getStateAccess().getRefinedStateParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleRefinedState_in_rule__State__Alternatives3865);
+                    pushFollow(FOLLOW_ruleRefinedState_in_rule__State__Alternatives3590);
                     ruleRefinedState();
 
                     state._fsp--;
@@ -5151,27 +4822,27 @@
 
 
     // $ANTLR start "rule__TrPoint__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1861:1: rule__TrPoint__Alternatives : ( ( ruleTransitionPoint ) | ( ruleEntryPoint ) | ( ruleExitPoint ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1717:1: rule__TrPoint__Alternatives : ( ( ruleTransitionPoint ) | ( ruleEntryPoint ) | ( ruleExitPoint ) );
     public final void rule__TrPoint__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1865:1: ( ( ruleTransitionPoint ) | ( ruleEntryPoint ) | ( ruleExitPoint ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1721:1: ( ( ruleTransitionPoint ) | ( ruleEntryPoint ) | ( ruleExitPoint ) )
             int alt6=3;
             switch ( input.LA(1) ) {
-            case 36:
-            case 68:
+            case 37:
+            case 69:
                 {
                 alt6=1;
                 }
                 break;
-            case 37:
+            case 38:
                 {
                 alt6=2;
                 }
                 break;
-            case 38:
+            case 39:
                 {
                 alt6=3;
                 }
@@ -5185,13 +4856,13 @@
 
             switch (alt6) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1866:1: ( ruleTransitionPoint )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1722:1: ( ruleTransitionPoint )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1866:1: ( ruleTransitionPoint )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1867:1: ruleTransitionPoint
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1722:1: ( ruleTransitionPoint )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1723:1: ruleTransitionPoint
                     {
                      before(grammarAccess.getTrPointAccess().getTransitionPointParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleTransitionPoint_in_rule__TrPoint__Alternatives3897);
+                    pushFollow(FOLLOW_ruleTransitionPoint_in_rule__TrPoint__Alternatives3622);
                     ruleTransitionPoint();
 
                     state._fsp--;
@@ -5204,13 +4875,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1872:6: ( ruleEntryPoint )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1728:6: ( ruleEntryPoint )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1872:6: ( ruleEntryPoint )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1873:1: ruleEntryPoint
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1728:6: ( ruleEntryPoint )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1729:1: ruleEntryPoint
                     {
                      before(grammarAccess.getTrPointAccess().getEntryPointParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleEntryPoint_in_rule__TrPoint__Alternatives3914);
+                    pushFollow(FOLLOW_ruleEntryPoint_in_rule__TrPoint__Alternatives3639);
                     ruleEntryPoint();
 
                     state._fsp--;
@@ -5223,13 +4894,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1878:6: ( ruleExitPoint )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1734:6: ( ruleExitPoint )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1878:6: ( ruleExitPoint )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1879:1: ruleExitPoint
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1734:6: ( ruleExitPoint )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1735:1: ruleExitPoint
                     {
                      before(grammarAccess.getTrPointAccess().getExitPointParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleExitPoint_in_rule__TrPoint__Alternatives3931);
+                    pushFollow(FOLLOW_ruleExitPoint_in_rule__TrPoint__Alternatives3656);
                     ruleExitPoint();
 
                     state._fsp--;
@@ -5259,29 +4930,29 @@
 
 
     // $ANTLR start "rule__Transition__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1889:1: rule__Transition__Alternatives : ( ( ruleInitialTransition ) | ( ruleNonInitialTransition ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1745:1: rule__Transition__Alternatives : ( ( ruleInitialTransition ) | ( ruleNonInitialTransition ) );
     public final void rule__Transition__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1893:1: ( ( ruleInitialTransition ) | ( ruleNonInitialTransition ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1749:1: ( ( ruleInitialTransition ) | ( ruleNonInitialTransition ) )
             int alt7=2;
             int LA7_0 = input.LA(1);
 
-            if ( (LA7_0==40) ) {
+            if ( (LA7_0==41) ) {
                 int LA7_1 = input.LA(2);
 
                 if ( (LA7_1==RULE_ID) ) {
                     int LA7_2 = input.LA(3);
 
-                    if ( (LA7_2==41) ) {
+                    if ( (LA7_2==42) ) {
                         int LA7_3 = input.LA(4);
 
-                        if ( (LA7_3==RULE_ID||LA7_3==50||LA7_3==52) ) {
+                        if ( (LA7_3==RULE_ID||LA7_3==51||LA7_3==53) ) {
                             alt7=2;
                         }
-                        else if ( (LA7_3==42) ) {
+                        else if ( (LA7_3==43) ) {
                             alt7=1;
                         }
                         else {
@@ -5298,13 +4969,13 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA7_1==41) ) {
+                else if ( (LA7_1==42) ) {
                     int LA7_3 = input.LA(3);
 
-                    if ( (LA7_3==RULE_ID||LA7_3==50||LA7_3==52) ) {
+                    if ( (LA7_3==RULE_ID||LA7_3==51||LA7_3==53) ) {
                         alt7=2;
                     }
-                    else if ( (LA7_3==42) ) {
+                    else if ( (LA7_3==43) ) {
                         alt7=1;
                     }
                     else {
@@ -5329,13 +5000,13 @@
             }
             switch (alt7) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1894:1: ( ruleInitialTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1750:1: ( ruleInitialTransition )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1894:1: ( ruleInitialTransition )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1895:1: ruleInitialTransition
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1750:1: ( ruleInitialTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1751:1: ruleInitialTransition
                     {
                      before(grammarAccess.getTransitionAccess().getInitialTransitionParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleInitialTransition_in_rule__Transition__Alternatives3963);
+                    pushFollow(FOLLOW_ruleInitialTransition_in_rule__Transition__Alternatives3688);
                     ruleInitialTransition();
 
                     state._fsp--;
@@ -5348,13 +5019,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1900:6: ( ruleNonInitialTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1756:6: ( ruleNonInitialTransition )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1900:6: ( ruleNonInitialTransition )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1901:1: ruleNonInitialTransition
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1756:6: ( ruleNonInitialTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1757:1: ruleNonInitialTransition
                     {
                      before(grammarAccess.getTransitionAccess().getNonInitialTransitionParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleNonInitialTransition_in_rule__Transition__Alternatives3980);
+                    pushFollow(FOLLOW_ruleNonInitialTransition_in_rule__Transition__Alternatives3705);
                     ruleNonInitialTransition();
 
                     state._fsp--;
@@ -5384,24 +5055,24 @@
 
 
     // $ANTLR start "rule__NonInitialTransition__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1911:1: rule__NonInitialTransition__Alternatives : ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1767:1: rule__NonInitialTransition__Alternatives : ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) );
     public final void rule__NonInitialTransition__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1915:1: ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1771:1: ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) )
             int alt8=3;
             alt8 = dfa8.predict(input);
             switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1916:1: ( ruleTransitionChainStartTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1772:1: ( ruleTransitionChainStartTransition )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1916:1: ( ruleTransitionChainStartTransition )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1917:1: ruleTransitionChainStartTransition
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1772:1: ( ruleTransitionChainStartTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1773:1: ruleTransitionChainStartTransition
                     {
                      before(grammarAccess.getNonInitialTransitionAccess().getTransitionChainStartTransitionParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleTransitionChainStartTransition_in_rule__NonInitialTransition__Alternatives4012);
+                    pushFollow(FOLLOW_ruleTransitionChainStartTransition_in_rule__NonInitialTransition__Alternatives3737);
                     ruleTransitionChainStartTransition();
 
                     state._fsp--;
@@ -5414,13 +5085,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1922:6: ( ruleContinuationTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1778:6: ( ruleContinuationTransition )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1922:6: ( ruleContinuationTransition )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1923:1: ruleContinuationTransition
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1778:6: ( ruleContinuationTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1779:1: ruleContinuationTransition
                     {
                      before(grammarAccess.getNonInitialTransitionAccess().getContinuationTransitionParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleContinuationTransition_in_rule__NonInitialTransition__Alternatives4029);
+                    pushFollow(FOLLOW_ruleContinuationTransition_in_rule__NonInitialTransition__Alternatives3754);
                     ruleContinuationTransition();
 
                     state._fsp--;
@@ -5433,13 +5104,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1928:6: ( ruleCPBranchTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1784:6: ( ruleCPBranchTransition )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1928:6: ( ruleCPBranchTransition )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1929:1: ruleCPBranchTransition
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1784:6: ( ruleCPBranchTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1785:1: ruleCPBranchTransition
                     {
                      before(grammarAccess.getNonInitialTransitionAccess().getCPBranchTransitionParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleCPBranchTransition_in_rule__NonInitialTransition__Alternatives4046);
+                    pushFollow(FOLLOW_ruleCPBranchTransition_in_rule__NonInitialTransition__Alternatives3771);
                     ruleCPBranchTransition();
 
                     state._fsp--;
@@ -5469,24 +5140,24 @@
 
 
     // $ANTLR start "rule__TransitionChainStartTransition__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1939:1: rule__TransitionChainStartTransition__Alternatives : ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1795:1: rule__TransitionChainStartTransition__Alternatives : ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) );
     public final void rule__TransitionChainStartTransition__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1943:1: ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1799:1: ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) )
             int alt9=2;
             alt9 = dfa9.predict(input);
             switch (alt9) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1944:1: ( ruleTriggeredTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1800:1: ( ruleTriggeredTransition )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1944:1: ( ruleTriggeredTransition )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1945:1: ruleTriggeredTransition
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1800:1: ( ruleTriggeredTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1801:1: ruleTriggeredTransition
                     {
                      before(grammarAccess.getTransitionChainStartTransitionAccess().getTriggeredTransitionParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleTriggeredTransition_in_rule__TransitionChainStartTransition__Alternatives4078);
+                    pushFollow(FOLLOW_ruleTriggeredTransition_in_rule__TransitionChainStartTransition__Alternatives3803);
                     ruleTriggeredTransition();
 
                     state._fsp--;
@@ -5499,13 +5170,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1950:6: ( ruleGuardedTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1806:6: ( ruleGuardedTransition )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1950:6: ( ruleGuardedTransition )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1951:1: ruleGuardedTransition
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1806:6: ( ruleGuardedTransition )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1807:1: ruleGuardedTransition
                     {
                      before(grammarAccess.getTransitionChainStartTransitionAccess().getGuardedTransitionParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleGuardedTransition_in_rule__TransitionChainStartTransition__Alternatives4095);
+                    pushFollow(FOLLOW_ruleGuardedTransition_in_rule__TransitionChainStartTransition__Alternatives3820);
                     ruleGuardedTransition();
 
                     state._fsp--;
@@ -5535,25 +5206,25 @@
 
 
     // $ANTLR start "rule__TransitionTerminal__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1961:1: rule__TransitionTerminal__Alternatives : ( ( ruleStateTerminal ) | ( ruleTrPointTerminal ) | ( ruleSubStateTrPointTerminal ) | ( ruleChoicepointTerminal ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1817:1: rule__TransitionTerminal__Alternatives : ( ( ruleStateTerminal ) | ( ruleTrPointTerminal ) | ( ruleSubStateTrPointTerminal ) | ( ruleChoicepointTerminal ) );
     public final void rule__TransitionTerminal__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1965:1: ( ( ruleStateTerminal ) | ( ruleTrPointTerminal ) | ( ruleSubStateTrPointTerminal ) | ( ruleChoicepointTerminal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1821:1: ( ( ruleStateTerminal ) | ( ruleTrPointTerminal ) | ( ruleSubStateTrPointTerminal ) | ( ruleChoicepointTerminal ) )
             int alt10=4;
             switch ( input.LA(1) ) {
             case RULE_ID:
                 {
                 int LA10_1 = input.LA(2);
 
-                if ( (LA10_1==EOF||(LA10_1>=27 && LA10_1<=28)||LA10_1==30||(LA10_1>=35 && LA10_1<=40)||LA10_1==43||LA10_1==49||LA10_1==64||LA10_1==68) ) {
-                    alt10=1;
-                }
-                else if ( (LA10_1==51) ) {
+                if ( (LA10_1==52) ) {
                     alt10=3;
                 }
+                else if ( (LA10_1==EOF||(LA10_1>=28 && LA10_1<=29)||LA10_1==31||(LA10_1>=36 && LA10_1<=41)||LA10_1==44||LA10_1==50||LA10_1==65||LA10_1==69) ) {
+                    alt10=1;
+                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 10, 1, input);
@@ -5562,12 +5233,12 @@
                 }
                 }
                 break;
-            case 50:
+            case 51:
                 {
                 alt10=2;
                 }
                 break;
-            case 52:
+            case 53:
                 {
                 alt10=4;
                 }
@@ -5581,13 +5252,13 @@
 
             switch (alt10) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1966:1: ( ruleStateTerminal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1822:1: ( ruleStateTerminal )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1966:1: ( ruleStateTerminal )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1967:1: ruleStateTerminal
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1822:1: ( ruleStateTerminal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1823:1: ruleStateTerminal
                     {
                      before(grammarAccess.getTransitionTerminalAccess().getStateTerminalParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleStateTerminal_in_rule__TransitionTerminal__Alternatives4127);
+                    pushFollow(FOLLOW_ruleStateTerminal_in_rule__TransitionTerminal__Alternatives3852);
                     ruleStateTerminal();
 
                     state._fsp--;
@@ -5600,13 +5271,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1972:6: ( ruleTrPointTerminal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1828:6: ( ruleTrPointTerminal )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1972:6: ( ruleTrPointTerminal )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1973:1: ruleTrPointTerminal
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1828:6: ( ruleTrPointTerminal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1829:1: ruleTrPointTerminal
                     {
                      before(grammarAccess.getTransitionTerminalAccess().getTrPointTerminalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleTrPointTerminal_in_rule__TransitionTerminal__Alternatives4144);
+                    pushFollow(FOLLOW_ruleTrPointTerminal_in_rule__TransitionTerminal__Alternatives3869);
                     ruleTrPointTerminal();
 
                     state._fsp--;
@@ -5619,13 +5290,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1978:6: ( ruleSubStateTrPointTerminal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1834:6: ( ruleSubStateTrPointTerminal )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1978:6: ( ruleSubStateTrPointTerminal )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1979:1: ruleSubStateTrPointTerminal
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1834:6: ( ruleSubStateTrPointTerminal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1835:1: ruleSubStateTrPointTerminal
                     {
                      before(grammarAccess.getTransitionTerminalAccess().getSubStateTrPointTerminalParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleSubStateTrPointTerminal_in_rule__TransitionTerminal__Alternatives4161);
+                    pushFollow(FOLLOW_ruleSubStateTrPointTerminal_in_rule__TransitionTerminal__Alternatives3886);
                     ruleSubStateTrPointTerminal();
 
                     state._fsp--;
@@ -5638,13 +5309,13 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1984:6: ( ruleChoicepointTerminal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1840:6: ( ruleChoicepointTerminal )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1984:6: ( ruleChoicepointTerminal )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1985:1: ruleChoicepointTerminal
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1840:6: ( ruleChoicepointTerminal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1841:1: ruleChoicepointTerminal
                     {
                      before(grammarAccess.getTransitionTerminalAccess().getChoicepointTerminalParserRuleCall_3()); 
-                    pushFollow(FOLLOW_ruleChoicepointTerminal_in_rule__TransitionTerminal__Alternatives4178);
+                    pushFollow(FOLLOW_ruleChoicepointTerminal_in_rule__TransitionTerminal__Alternatives3903);
                     ruleChoicepointTerminal();
 
                     state._fsp--;
@@ -5674,20 +5345,20 @@
 
 
     // $ANTLR start "rule__SemanticsRule__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1995:1: rule__SemanticsRule__Alternatives : ( ( ruleInSemanticsRule ) | ( ruleOutSemanticsRule ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1851:1: rule__SemanticsRule__Alternatives : ( ( ruleInSemanticsRule ) | ( ruleOutSemanticsRule ) );
     public final void rule__SemanticsRule__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1999:1: ( ( ruleInSemanticsRule ) | ( ruleOutSemanticsRule ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1855:1: ( ( ruleInSemanticsRule ) | ( ruleOutSemanticsRule ) )
             int alt11=2;
             int LA11_0 = input.LA(1);
 
-            if ( (LA11_0==56) ) {
+            if ( (LA11_0==57) ) {
                 alt11=1;
             }
-            else if ( (LA11_0==60) ) {
+            else if ( (LA11_0==61) ) {
                 alt11=2;
             }
             else {
@@ -5698,13 +5369,13 @@
             }
             switch (alt11) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2000:1: ( ruleInSemanticsRule )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1856:1: ( ruleInSemanticsRule )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2000:1: ( ruleInSemanticsRule )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2001:1: ruleInSemanticsRule
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1856:1: ( ruleInSemanticsRule )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1857:1: ruleInSemanticsRule
                     {
                      before(grammarAccess.getSemanticsRuleAccess().getInSemanticsRuleParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleInSemanticsRule_in_rule__SemanticsRule__Alternatives4210);
+                    pushFollow(FOLLOW_ruleInSemanticsRule_in_rule__SemanticsRule__Alternatives3935);
                     ruleInSemanticsRule();
 
                     state._fsp--;
@@ -5717,13 +5388,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2006:6: ( ruleOutSemanticsRule )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1862:6: ( ruleOutSemanticsRule )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2006:6: ( ruleOutSemanticsRule )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2007:1: ruleOutSemanticsRule
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1862:6: ( ruleOutSemanticsRule )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1863:1: ruleOutSemanticsRule
                     {
                      before(grammarAccess.getSemanticsRuleAccess().getOutSemanticsRuleParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleOutSemanticsRule_in_rule__SemanticsRule__Alternatives4227);
+                    pushFollow(FOLLOW_ruleOutSemanticsRule_in_rule__SemanticsRule__Alternatives3952);
                     ruleOutSemanticsRule();
 
                     state._fsp--;
@@ -5753,20 +5424,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Alternatives_3_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2017:1: rule__InSemanticsRule__Alternatives_3_1 : ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__InSemanticsRule__Group_3_1_1__0 ) ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1873:1: rule__InSemanticsRule__Alternatives_3_1 : ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__InSemanticsRule__Group_3_1_1__0 ) ) );
     public final void rule__InSemanticsRule__Alternatives_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2021:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__InSemanticsRule__Group_3_1_1__0 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1877:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__InSemanticsRule__Group_3_1_1__0 ) ) )
             int alt12=2;
             int LA12_0 = input.LA(1);
 
-            if ( (LA12_0==56||LA12_0==60) ) {
+            if ( (LA12_0==57||LA12_0==61) ) {
                 alt12=1;
             }
-            else if ( (LA12_0==57) ) {
+            else if ( (LA12_0==58) ) {
                 alt12=2;
             }
             else {
@@ -5777,16 +5448,16 @@
             }
             switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2022:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1878:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2022:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2023:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1878:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1879:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 )
                     {
                      before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsAssignment_3_1_0()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2024:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2024:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1880:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1880:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_0
                     {
-                    pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__InSemanticsRule__Alternatives_3_14259);
+                    pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__InSemanticsRule__Alternatives_3_13984);
                     rule__InSemanticsRule__FollowUpsAssignment_3_1_0();
 
                     state._fsp--;
@@ -5802,16 +5473,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2028:6: ( ( rule__InSemanticsRule__Group_3_1_1__0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1884:6: ( ( rule__InSemanticsRule__Group_3_1_1__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2028:6: ( ( rule__InSemanticsRule__Group_3_1_1__0 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2029:1: ( rule__InSemanticsRule__Group_3_1_1__0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1884:6: ( ( rule__InSemanticsRule__Group_3_1_1__0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1885:1: ( rule__InSemanticsRule__Group_3_1_1__0 )
                     {
                      before(grammarAccess.getInSemanticsRuleAccess().getGroup_3_1_1()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2030:1: ( rule__InSemanticsRule__Group_3_1_1__0 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2030:2: rule__InSemanticsRule__Group_3_1_1__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1886:1: ( rule__InSemanticsRule__Group_3_1_1__0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1886:2: rule__InSemanticsRule__Group_3_1_1__0
                     {
-                    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__0_in_rule__InSemanticsRule__Alternatives_3_14277);
+                    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__0_in_rule__InSemanticsRule__Alternatives_3_14002);
                     rule__InSemanticsRule__Group_3_1_1__0();
 
                     state._fsp--;
@@ -5844,20 +5515,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Alternatives_3_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2039:1: rule__OutSemanticsRule__Alternatives_3_1 : ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1895:1: rule__OutSemanticsRule__Alternatives_3_1 : ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) ) );
     public final void rule__OutSemanticsRule__Alternatives_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2043:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1899:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) ) )
             int alt13=2;
             int LA13_0 = input.LA(1);
 
-            if ( (LA13_0==56||LA13_0==60) ) {
+            if ( (LA13_0==57||LA13_0==61) ) {
                 alt13=1;
             }
-            else if ( (LA13_0==57) ) {
+            else if ( (LA13_0==58) ) {
                 alt13=2;
             }
             else {
@@ -5868,16 +5539,16 @@
             }
             switch (alt13) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2044:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1900:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2044:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2045:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1900:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1901:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 )
                     {
                      before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsAssignment_3_1_0()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2046:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2046:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1902:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1902:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_0
                     {
-                    pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__OutSemanticsRule__Alternatives_3_14310);
+                    pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__OutSemanticsRule__Alternatives_3_14035);
                     rule__OutSemanticsRule__FollowUpsAssignment_3_1_0();
 
                     state._fsp--;
@@ -5893,16 +5564,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2050:6: ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1906:6: ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2050:6: ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2051:1: ( rule__OutSemanticsRule__Group_3_1_1__0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1906:6: ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1907:1: ( rule__OutSemanticsRule__Group_3_1_1__0 )
                     {
                      before(grammarAccess.getOutSemanticsRuleAccess().getGroup_3_1_1()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2052:1: ( rule__OutSemanticsRule__Group_3_1_1__0 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2052:2: rule__OutSemanticsRule__Group_3_1_1__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1908:1: ( rule__OutSemanticsRule__Group_3_1_1__0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1908:2: rule__OutSemanticsRule__Group_3_1_1__0
                     {
-                    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0_in_rule__OutSemanticsRule__Alternatives_3_14328);
+                    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0_in_rule__OutSemanticsRule__Alternatives_3_14053);
                     rule__OutSemanticsRule__Group_3_1_1__0();
 
                     state._fsp--;
@@ -5935,32 +5606,32 @@
 
 
     // $ANTLR start "rule__AnnotationAttribute__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2062:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1918:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
     public final void rule__AnnotationAttribute__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2066:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1922:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
             int alt14=2;
             int LA14_0 = input.LA(1);
 
-            if ( (LA14_0==69) ) {
+            if ( (LA14_0==70) ) {
                 int LA14_1 = input.LA(2);
 
-                if ( (LA14_1==62) ) {
+                if ( (LA14_1==63) ) {
                     int LA14_3 = input.LA(3);
 
                     if ( (LA14_3==RULE_ID) ) {
                         int LA14_4 = input.LA(4);
 
-                        if ( (LA14_4==41) ) {
+                        if ( (LA14_4==42) ) {
                             int LA14_5 = input.LA(5);
 
-                            if ( ((LA14_5>=21 && LA14_5<=24)) ) {
+                            if ( ((LA14_5>=22 && LA14_5<=25)) ) {
                                 alt14=1;
                             }
-                            else if ( (LA14_5==27) ) {
+                            else if ( (LA14_5==28) ) {
                                 alt14=2;
                             }
                             else {
@@ -5991,22 +5662,22 @@
                     throw nvae;
                 }
             }
-            else if ( (LA14_0==13) ) {
+            else if ( (LA14_0==12) ) {
                 int LA14_2 = input.LA(2);
 
-                if ( (LA14_2==62) ) {
+                if ( (LA14_2==63) ) {
                     int LA14_3 = input.LA(3);
 
                     if ( (LA14_3==RULE_ID) ) {
                         int LA14_4 = input.LA(4);
 
-                        if ( (LA14_4==41) ) {
+                        if ( (LA14_4==42) ) {
                             int LA14_5 = input.LA(5);
 
-                            if ( ((LA14_5>=21 && LA14_5<=24)) ) {
+                            if ( ((LA14_5>=22 && LA14_5<=25)) ) {
                                 alt14=1;
                             }
-                            else if ( (LA14_5==27) ) {
+                            else if ( (LA14_5==28) ) {
                                 alt14=2;
                             }
                             else {
@@ -6045,13 +5716,13 @@
             }
             switch (alt14) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2067:1: ( ruleSimpleAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1923:1: ( ruleSimpleAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2067:1: ( ruleSimpleAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2068:1: ruleSimpleAnnotationAttribute
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1923:1: ( ruleSimpleAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1924:1: ruleSimpleAnnotationAttribute
                     {
                      before(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives4362);
+                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives4087);
                     ruleSimpleAnnotationAttribute();
 
                     state._fsp--;
@@ -6064,13 +5735,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2073:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1929:6: ( ruleEnumAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2073:6: ( ruleEnumAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2074:1: ruleEnumAnnotationAttribute
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1929:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1930:1: ruleEnumAnnotationAttribute
                     {
                      before(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives4379);
+                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives4104);
                     ruleEnumAnnotationAttribute();
 
                     state._fsp--;
@@ -6100,20 +5771,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2084:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1940:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__SimpleAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2088:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1944:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
             int alt15=2;
             int LA15_0 = input.LA(1);
 
-            if ( (LA15_0==69) ) {
+            if ( (LA15_0==70) ) {
                 alt15=1;
             }
-            else if ( (LA15_0==13) ) {
+            else if ( (LA15_0==12) ) {
                 alt15=2;
             }
             else {
@@ -6124,16 +5795,16 @@
             }
             switch (alt15) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2089:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1945:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2089:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2090:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1945:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1946:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
                     {
                      before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2091:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2091:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1947:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1947:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_04411);
+                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_04136);
                     rule__SimpleAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
@@ -6149,13 +5820,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2095:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1951:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2095:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2096:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1951:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1952:1: 'mandatory'
                     {
                      before(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
-                    match(input,13,FOLLOW_13_in_rule__SimpleAnnotationAttribute__Alternatives_04430); 
+                    match(input,12,FOLLOW_12_in_rule__SimpleAnnotationAttribute__Alternatives_04155); 
                      after(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
 
                     }
@@ -6181,20 +5852,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2108:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1964:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__EnumAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2112:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1968:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
             int alt16=2;
             int LA16_0 = input.LA(1);
 
-            if ( (LA16_0==69) ) {
+            if ( (LA16_0==70) ) {
                 alt16=1;
             }
-            else if ( (LA16_0==13) ) {
+            else if ( (LA16_0==12) ) {
                 alt16=2;
             }
             else {
@@ -6205,16 +5876,16 @@
             }
             switch (alt16) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2113:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1969:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2113:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2114:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1969:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1970:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
                     {
                      before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2115:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2115:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1971:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1971:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_04464);
+                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_04189);
                     rule__EnumAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
@@ -6230,13 +5901,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2119:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1975:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2119:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2120:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1975:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1976:1: 'mandatory'
                     {
                      before(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
-                    match(input,13,FOLLOW_13_in_rule__EnumAnnotationAttribute__Alternatives_04483); 
+                    match(input,12,FOLLOW_12_in_rule__EnumAnnotationAttribute__Alternatives_04208); 
                      after(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
 
                     }
@@ -6262,26 +5933,25 @@
 
 
     // $ANTLR start "rule__Literal__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2134:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1990:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
     public final void rule__Literal__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2138:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1994:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
             int alt17=3;
             switch ( input.LA(1) ) {
-            case 14:
-            case 70:
+            case 13:
+            case 71:
                 {
                 alt17=1;
                 }
                 break;
             case RULE_HEX:
             case RULE_INT:
+            case 14:
             case 15:
-            case 16:
-            case 66:
                 {
                 alt17=2;
                 }
@@ -6300,13 +5970,13 @@
 
             switch (alt17) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2139:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1995:1: ( ruleBooleanLiteral )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2139:1: ( ruleBooleanLiteral )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2140:1: ruleBooleanLiteral
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1995:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:1996:1: ruleBooleanLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives4519);
+                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives4244);
                     ruleBooleanLiteral();
 
                     state._fsp--;
@@ -6319,13 +5989,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2145:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2001:6: ( ruleNumberLiteral )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2145:6: ( ruleNumberLiteral )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2146:1: ruleNumberLiteral
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2001:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2002:1: ruleNumberLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives4536);
+                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives4261);
                     ruleNumberLiteral();
 
                     state._fsp--;
@@ -6338,13 +6008,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2151:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2007:6: ( ruleStringLiteral )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2151:6: ( ruleStringLiteral )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2152:1: ruleStringLiteral
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2007:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2008:1: ruleStringLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives4553);
+                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives4278);
                     ruleStringLiteral();
 
                     state._fsp--;
@@ -6374,20 +6044,20 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Alternatives_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2162:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2018:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
     public final void rule__BooleanLiteral__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2166:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2022:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
             int alt18=2;
             int LA18_0 = input.LA(1);
 
-            if ( (LA18_0==14) ) {
+            if ( (LA18_0==13) ) {
                 alt18=1;
             }
-            else if ( (LA18_0==70) ) {
+            else if ( (LA18_0==71) ) {
                 alt18=2;
             }
             else {
@@ -6398,13 +6068,13 @@
             }
             switch (alt18) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2167:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2023:1: ( 'false' )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2167:1: ( 'false' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2168:1: 'false'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2023:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2024:1: 'false'
                     {
                      before(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
-                    match(input,14,FOLLOW_14_in_rule__BooleanLiteral__Alternatives_14586); 
+                    match(input,13,FOLLOW_13_in_rule__BooleanLiteral__Alternatives_14311); 
                      after(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
 
                     }
@@ -6413,16 +6083,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2175:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2031:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2175:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2176:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2031:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2032:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
                     {
                      before(grammarAccess.getBooleanLiteralAccess().getIsTrueAssignment_1_1()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2177:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2177:2: rule__BooleanLiteral__IsTrueAssignment_1_1
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2033:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2033:2: rule__BooleanLiteral__IsTrueAssignment_1_1
                     {
-                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_14605);
+                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_14330);
                     rule__BooleanLiteral__IsTrueAssignment_1_1();
 
                     state._fsp--;
@@ -6455,16 +6125,16 @@
 
 
     // $ANTLR start "rule__NumberLiteral__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2186:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2042:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
     public final void rule__NumberLiteral__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2190:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2046:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
             int alt19=2;
             switch ( input.LA(1) ) {
-            case 15:
+            case 14:
                 {
                 int LA19_1 = input.LA(2);
 
@@ -6474,7 +6144,7 @@
                     if ( (LA19_3==EOF) ) {
                         alt19=1;
                     }
-                    else if ( (LA19_3==66) ) {
+                    else if ( (LA19_3==67) ) {
                         alt19=2;
                     }
                     else {
@@ -6484,9 +6154,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA19_1==66) ) {
-                    alt19=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 19, 1, input);
@@ -6495,7 +6162,7 @@
                 }
                 }
                 break;
-            case 16:
+            case 15:
                 {
                 int LA19_2 = input.LA(2);
 
@@ -6505,7 +6172,7 @@
                     if ( (LA19_3==EOF) ) {
                         alt19=1;
                     }
-                    else if ( (LA19_3==66) ) {
+                    else if ( (LA19_3==67) ) {
                         alt19=2;
                     }
                     else {
@@ -6515,9 +6182,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA19_2==66) ) {
-                    alt19=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 19, 2, input);
@@ -6533,7 +6197,7 @@
                 if ( (LA19_3==EOF) ) {
                     alt19=1;
                 }
-                else if ( (LA19_3==66) ) {
+                else if ( (LA19_3==67) ) {
                     alt19=2;
                 }
                 else {
@@ -6549,11 +6213,6 @@
                 alt19=1;
                 }
                 break;
-            case 66:
-                {
-                alt19=2;
-                }
-                break;
             default:
                 NoViableAltException nvae =
                     new NoViableAltException("", 19, 0, input);
@@ -6563,13 +6222,13 @@
 
             switch (alt19) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2191:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2047:1: ( ruleIntLiteral )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2191:1: ( ruleIntLiteral )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2192:1: ruleIntLiteral
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2047:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2048:1: ruleIntLiteral
                     {
                      before(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives4638);
+                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives4363);
                     ruleIntLiteral();
 
                     state._fsp--;
@@ -6582,13 +6241,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2197:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2053:6: ( ruleRealLiteral )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2197:6: ( ruleRealLiteral )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2198:1: ruleRealLiteral
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2053:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2054:1: ruleRealLiteral
                     {
                      before(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives4655);
+                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives4380);
                     ruleRealLiteral();
 
                     state._fsp--;
@@ -6618,17 +6277,17 @@
 
 
     // $ANTLR start "rule__Integer__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2208:1: rule__Integer__Alternatives : ( ( ruleSignedInteger ) | ( ruleHexadecimal ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2064:1: rule__Integer__Alternatives : ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) );
     public final void rule__Integer__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2212:1: ( ( ruleSignedInteger ) | ( ruleHexadecimal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2068:1: ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) )
             int alt20=2;
             int LA20_0 = input.LA(1);
 
-            if ( (LA20_0==RULE_INT||(LA20_0>=15 && LA20_0<=16)) ) {
+            if ( (LA20_0==RULE_INT||(LA20_0>=14 && LA20_0<=15)) ) {
                 alt20=1;
             }
             else if ( (LA20_0==RULE_HEX) ) {
@@ -6642,18 +6301,24 @@
             }
             switch (alt20) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2213:1: ( ruleSignedInteger )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2069:1: ( ( rule__Integer__Group_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2213:1: ( ruleSignedInteger )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2214:1: ruleSignedInteger
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2069:1: ( ( rule__Integer__Group_0__0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2070:1: ( rule__Integer__Group_0__0 )
                     {
-                     before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives4687);
-                    ruleSignedInteger();
+                     before(grammarAccess.getIntegerAccess().getGroup_0()); 
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2071:1: ( rule__Integer__Group_0__0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2071:2: rule__Integer__Group_0__0
+                    {
+                    pushFollow(FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives4412);
+                    rule__Integer__Group_0__0();
 
                     state._fsp--;
 
-                     after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
+
+                    }
+
+                     after(grammarAccess.getIntegerAccess().getGroup_0()); 
 
                     }
 
@@ -6661,18 +6326,14 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2219:6: ( ruleHexadecimal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2075:6: ( RULE_HEX )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2219:6: ( ruleHexadecimal )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2220:1: ruleHexadecimal
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2075:6: ( RULE_HEX )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2076:1: RULE_HEX
                     {
-                     before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives4704);
-                    ruleHexadecimal();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
+                     before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
+                    match(input,RULE_HEX,FOLLOW_RULE_HEX_in_rule__Integer__Alternatives4430); 
+                     after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
 
                     }
 
@@ -6696,21 +6357,21 @@
     // $ANTLR end "rule__Integer__Alternatives"
 
 
-    // $ANTLR start "rule__SignedInteger__Alternatives_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2230:1: rule__SignedInteger__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__SignedInteger__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Alternatives_0_0"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2086:1: rule__Integer__Alternatives_0_0 : ( ( '+' ) | ( '-' ) );
+    public final void rule__Integer__Alternatives_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2234:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2090:1: ( ( '+' ) | ( '-' ) )
             int alt21=2;
             int LA21_0 = input.LA(1);
 
-            if ( (LA21_0==15) ) {
+            if ( (LA21_0==14) ) {
                 alt21=1;
             }
-            else if ( (LA21_0==16) ) {
+            else if ( (LA21_0==15) ) {
                 alt21=2;
             }
             else {
@@ -6721,14 +6382,14 @@
             }
             switch (alt21) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2235:1: ( '+' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2091:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2235:1: ( '+' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2236:1: '+'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2091:1: ( '+' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2092:1: '+'
                     {
-                     before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                    match(input,15,FOLLOW_15_in_rule__SignedInteger__Alternatives_04737); 
-                     after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+                     before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                    match(input,14,FOLLOW_14_in_rule__Integer__Alternatives_0_04463); 
+                     after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
 
                     }
 
@@ -6736,14 +6397,14 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2243:6: ( '-' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2099:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2243:6: ( '-' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2244:1: '-'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2099:6: ( '-' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2100:1: '-'
                     {
-                     before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__SignedInteger__Alternatives_04757); 
-                     after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+                     before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                    match(input,15,FOLLOW_15_in_rule__Integer__Alternatives_0_04483); 
+                     after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
 
                     }
 
@@ -6764,28 +6425,169 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Alternatives_0"
+    // $ANTLR end "rule__Integer__Alternatives_0_0"
 
 
     // $ANTLR start "rule__Real__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2256:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2112:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDecimalExp ) );
     public final void rule__Real__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2260:1: ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) )
-            int alt22=4;
-            alt22 = dfa22.predict(input);
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2116:1: ( ( ruleDecimal ) | ( ruleDecimalExp ) )
+            int alt22=2;
+            switch ( input.LA(1) ) {
+            case 14:
+                {
+                int LA22_1 = input.LA(2);
+
+                if ( (LA22_1==RULE_INT) ) {
+                    int LA22_3 = input.LA(3);
+
+                    if ( (LA22_3==67) ) {
+                        int LA22_4 = input.LA(4);
+
+                        if ( (LA22_4==RULE_INT) ) {
+                            int LA22_5 = input.LA(5);
+
+                            if ( (LA22_5==EOF) ) {
+                                alt22=1;
+                            }
+                            else if ( ((LA22_5>=16 && LA22_5<=17)) ) {
+                                alt22=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 22, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 22, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 22, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 22, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 15:
+                {
+                int LA22_2 = input.LA(2);
+
+                if ( (LA22_2==RULE_INT) ) {
+                    int LA22_3 = input.LA(3);
+
+                    if ( (LA22_3==67) ) {
+                        int LA22_4 = input.LA(4);
+
+                        if ( (LA22_4==RULE_INT) ) {
+                            int LA22_5 = input.LA(5);
+
+                            if ( (LA22_5==EOF) ) {
+                                alt22=1;
+                            }
+                            else if ( ((LA22_5>=16 && LA22_5<=17)) ) {
+                                alt22=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 22, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 22, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 22, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 22, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA22_3 = input.LA(2);
+
+                if ( (LA22_3==67) ) {
+                    int LA22_4 = input.LA(3);
+
+                    if ( (LA22_4==RULE_INT) ) {
+                        int LA22_5 = input.LA(4);
+
+                        if ( (LA22_5==EOF) ) {
+                            alt22=1;
+                        }
+                        else if ( ((LA22_5>=16 && LA22_5<=17)) ) {
+                            alt22=2;
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 22, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 22, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 22, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 22, 0, input);
+
+                throw nvae;
+            }
+
             switch (alt22) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2261:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2117:1: ( ruleDecimal )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2261:1: ( ruleDecimal )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2262:1: ruleDecimal
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2117:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2118:1: ruleDecimal
                     {
                      before(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives4791);
+                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives4517);
                     ruleDecimal();
 
                     state._fsp--;
@@ -6798,56 +6600,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2267:6: ( ruleDotDecimal )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2123:6: ( ruleDecimalExp )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2267:6: ( ruleDotDecimal )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2268:1: ruleDotDecimal
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2123:6: ( ruleDecimalExp )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2124:1: ruleDecimalExp
                     {
-                     before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives4808);
-                    ruleDotDecimal();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2273:6: ( ruleDecimalDot )
-                    {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2273:6: ( ruleDecimalDot )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2274:1: ruleDecimalDot
-                    {
-                     before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives4825);
-                    ruleDecimalDot();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2279:6: ( ruleDecimalExp )
-                    {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2279:6: ( ruleDecimalExp )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2280:1: ruleDecimalExp
-                    {
-                     before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives4842);
+                     before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
+                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives4534);
                     ruleDecimalExp();
 
                     state._fsp--;
 
-                     after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
+                     after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
 
                     }
 
@@ -6872,20 +6636,20 @@
 
 
     // $ANTLR start "rule__Decimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2290:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2134:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
     public final void rule__Decimal__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2294:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2138:1: ( ( '+' ) | ( '-' ) )
             int alt23=2;
             int LA23_0 = input.LA(1);
 
-            if ( (LA23_0==15) ) {
+            if ( (LA23_0==14) ) {
                 alt23=1;
             }
-            else if ( (LA23_0==16) ) {
+            else if ( (LA23_0==15) ) {
                 alt23=2;
             }
             else {
@@ -6896,13 +6660,13 @@
             }
             switch (alt23) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2295:1: ( '+' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2139:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2295:1: ( '+' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2296:1: '+'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2139:1: ( '+' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2140:1: '+'
                     {
                      before(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
-                    match(input,15,FOLLOW_15_in_rule__Decimal__Alternatives_04875); 
+                    match(input,14,FOLLOW_14_in_rule__Decimal__Alternatives_04567); 
                      after(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
 
                     }
@@ -6911,13 +6675,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2303:6: ( '-' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2147:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2303:6: ( '-' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2304:1: '-'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2147:6: ( '-' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2148:1: '-'
                     {
                      before(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__Decimal__Alternatives_04895); 
+                    match(input,15,FOLLOW_15_in_rule__Decimal__Alternatives_04587); 
                      after(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
 
                     }
@@ -6942,21 +6706,21 @@
     // $ANTLR end "rule__Decimal__Alternatives_0"
 
 
-    // $ANTLR start "rule__DotDecimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2316:1: rule__DotDecimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DotDecimal__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__DecimalExp__Alternatives_0"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2160:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    public final void rule__DecimalExp__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2320:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2164:1: ( ( '+' ) | ( '-' ) )
             int alt24=2;
             int LA24_0 = input.LA(1);
 
-            if ( (LA24_0==15) ) {
+            if ( (LA24_0==14) ) {
                 alt24=1;
             }
-            else if ( (LA24_0==16) ) {
+            else if ( (LA24_0==15) ) {
                 alt24=2;
             }
             else {
@@ -6967,155 +6731,13 @@
             }
             switch (alt24) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2321:1: ( '+' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2165:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2321:1: ( '+' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2322:1: '+'
-                    {
-                     before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                    match(input,15,FOLLOW_15_in_rule__DotDecimal__Alternatives_04930); 
-                     after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2329:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2329:6: ( '-' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2330:1: '-'
-                    {
-                     before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__DotDecimal__Alternatives_04950); 
-                     after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Alternatives_0"
-
-
-    // $ANTLR start "rule__DecimalDot__Alternatives_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2342:1: rule__DecimalDot__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DecimalDot__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2346:1: ( ( '+' ) | ( '-' ) )
-            int alt25=2;
-            int LA25_0 = input.LA(1);
-
-            if ( (LA25_0==15) ) {
-                alt25=1;
-            }
-            else if ( (LA25_0==16) ) {
-                alt25=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 25, 0, input);
-
-                throw nvae;
-            }
-            switch (alt25) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2347:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2347:1: ( '+' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2348:1: '+'
-                    {
-                     before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                    match(input,15,FOLLOW_15_in_rule__DecimalDot__Alternatives_04985); 
-                     after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2355:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2355:6: ( '-' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2356:1: '-'
-                    {
-                     before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__DecimalDot__Alternatives_05005); 
-                     after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Alternatives_0"
-
-
-    // $ANTLR start "rule__DecimalExp__Alternatives_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2368:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DecimalExp__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2372:1: ( ( '+' ) | ( '-' ) )
-            int alt26=2;
-            int LA26_0 = input.LA(1);
-
-            if ( (LA26_0==15) ) {
-                alt26=1;
-            }
-            else if ( (LA26_0==16) ) {
-                alt26=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 26, 0, input);
-
-                throw nvae;
-            }
-            switch (alt26) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2373:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2373:1: ( '+' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2374:1: '+'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2165:1: ( '+' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2166:1: '+'
                     {
                      before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
-                    match(input,15,FOLLOW_15_in_rule__DecimalExp__Alternatives_05040); 
+                    match(input,14,FOLLOW_14_in_rule__DecimalExp__Alternatives_04622); 
                      after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
 
                     }
@@ -7124,13 +6746,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2381:6: ( '-' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2173:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2381:6: ( '-' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2382:1: '-'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2173:6: ( '-' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2174:1: '-'
                     {
                      before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,16,FOLLOW_16_in_rule__DecimalExp__Alternatives_05060); 
+                    match(input,15,FOLLOW_15_in_rule__DecimalExp__Alternatives_04642); 
                      after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
 
                     }
@@ -7155,32 +6777,174 @@
     // $ANTLR end "rule__DecimalExp__Alternatives_0"
 
 
+    // $ANTLR start "rule__DecimalExp__Alternatives_4"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2186:1: rule__DecimalExp__Alternatives_4 : ( ( 'e' ) | ( 'E' ) );
+    public final void rule__DecimalExp__Alternatives_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2190:1: ( ( 'e' ) | ( 'E' ) )
+            int alt25=2;
+            int LA25_0 = input.LA(1);
+
+            if ( (LA25_0==16) ) {
+                alt25=1;
+            }
+            else if ( (LA25_0==17) ) {
+                alt25=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 25, 0, input);
+
+                throw nvae;
+            }
+            switch (alt25) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2191:1: ( 'e' )
+                    {
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2191:1: ( 'e' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2192:1: 'e'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                    match(input,16,FOLLOW_16_in_rule__DecimalExp__Alternatives_44677); 
+                     after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2199:6: ( 'E' )
+                    {
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2199:6: ( 'E' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2200:1: 'E'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                    match(input,17,FOLLOW_17_in_rule__DecimalExp__Alternatives_44697); 
+                     after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_4"
+
+
+    // $ANTLR start "rule__DecimalExp__Alternatives_5"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2212:1: rule__DecimalExp__Alternatives_5 : ( ( '+' ) | ( '-' ) );
+    public final void rule__DecimalExp__Alternatives_5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2216:1: ( ( '+' ) | ( '-' ) )
+            int alt26=2;
+            int LA26_0 = input.LA(1);
+
+            if ( (LA26_0==14) ) {
+                alt26=1;
+            }
+            else if ( (LA26_0==15) ) {
+                alt26=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 26, 0, input);
+
+                throw nvae;
+            }
+            switch (alt26) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2217:1: ( '+' )
+                    {
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2217:1: ( '+' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2218:1: '+'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                    match(input,14,FOLLOW_14_in_rule__DecimalExp__Alternatives_54732); 
+                     after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2225:6: ( '-' )
+                    {
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2225:6: ( '-' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2226:1: '-'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                    match(input,15,FOLLOW_15_in_rule__DecimalExp__Alternatives_54752); 
+                     after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_5"
+
+
     // $ANTLR start "rule__ComponentCommunicationType__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2394:1: rule__ComponentCommunicationType__Alternatives : ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'async' ) ) | ( ( 'sync' ) ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2238:1: rule__ComponentCommunicationType__Alternatives : ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'async' ) ) | ( ( 'sync' ) ) );
     public final void rule__ComponentCommunicationType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2398:1: ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'async' ) ) | ( ( 'sync' ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2242:1: ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'async' ) ) | ( ( 'sync' ) ) )
             int alt27=4;
             switch ( input.LA(1) ) {
-            case 17:
+            case 18:
                 {
                 alt27=1;
                 }
                 break;
-            case 18:
+            case 19:
                 {
                 alt27=2;
                 }
                 break;
-            case 19:
+            case 20:
                 {
                 alt27=3;
                 }
                 break;
-            case 20:
+            case 21:
                 {
                 alt27=4;
                 }
@@ -7194,16 +6958,16 @@
 
             switch (alt27) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2399:1: ( ( 'eventdriven' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2243:1: ( ( 'eventdriven' ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2399:1: ( ( 'eventdriven' ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2400:1: ( 'eventdriven' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2243:1: ( ( 'eventdriven' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2244:1: ( 'eventdriven' )
                     {
                      before(grammarAccess.getComponentCommunicationTypeAccess().getEVENT_DRIVENEnumLiteralDeclaration_0()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2401:1: ( 'eventdriven' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2401:3: 'eventdriven'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2245:1: ( 'eventdriven' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2245:3: 'eventdriven'
                     {
-                    match(input,17,FOLLOW_17_in_rule__ComponentCommunicationType__Alternatives5095); 
+                    match(input,18,FOLLOW_18_in_rule__ComponentCommunicationType__Alternatives4787); 
 
                     }
 
@@ -7215,16 +6979,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2406:6: ( ( 'datadriven' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2250:6: ( ( 'datadriven' ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2406:6: ( ( 'datadriven' ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2407:1: ( 'datadriven' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2250:6: ( ( 'datadriven' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2251:1: ( 'datadriven' )
                     {
                      before(grammarAccess.getComponentCommunicationTypeAccess().getDATA_DRIVENEnumLiteralDeclaration_1()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2408:1: ( 'datadriven' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2408:3: 'datadriven'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2252:1: ( 'datadriven' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2252:3: 'datadriven'
                     {
-                    match(input,18,FOLLOW_18_in_rule__ComponentCommunicationType__Alternatives5116); 
+                    match(input,19,FOLLOW_19_in_rule__ComponentCommunicationType__Alternatives4808); 
 
                     }
 
@@ -7236,16 +7000,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2413:6: ( ( 'async' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2257:6: ( ( 'async' ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2413:6: ( ( 'async' ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2414:1: ( 'async' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2257:6: ( ( 'async' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2258:1: ( 'async' )
                     {
                      before(grammarAccess.getComponentCommunicationTypeAccess().getASYNCHRONOUSEnumLiteralDeclaration_2()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2415:1: ( 'async' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2415:3: 'async'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2259:1: ( 'async' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2259:3: 'async'
                     {
-                    match(input,19,FOLLOW_19_in_rule__ComponentCommunicationType__Alternatives5137); 
+                    match(input,20,FOLLOW_20_in_rule__ComponentCommunicationType__Alternatives4829); 
 
                     }
 
@@ -7257,16 +7021,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2420:6: ( ( 'sync' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2264:6: ( ( 'sync' ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2420:6: ( ( 'sync' ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2421:1: ( 'sync' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2264:6: ( ( 'sync' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2265:1: ( 'sync' )
                     {
                      before(grammarAccess.getComponentCommunicationTypeAccess().getSYNCHRONOUSEnumLiteralDeclaration_3()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2422:1: ( 'sync' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2422:3: 'sync'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2266:1: ( 'sync' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2266:3: 'sync'
                     {
-                    match(input,20,FOLLOW_20_in_rule__ComponentCommunicationType__Alternatives5158); 
+                    match(input,21,FOLLOW_21_in_rule__ComponentCommunicationType__Alternatives4850); 
 
                     }
 
@@ -7295,31 +7059,31 @@
 
 
     // $ANTLR start "rule__LiteralType__Alternatives"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2432:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2276:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
     public final void rule__LiteralType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2436:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2280:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
             int alt28=4;
             switch ( input.LA(1) ) {
-            case 21:
+            case 22:
                 {
                 alt28=1;
                 }
                 break;
-            case 22:
+            case 23:
                 {
                 alt28=2;
                 }
                 break;
-            case 23:
+            case 24:
                 {
                 alt28=3;
                 }
                 break;
-            case 24:
+            case 25:
                 {
                 alt28=4;
                 }
@@ -7333,16 +7097,16 @@
 
             switch (alt28) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2437:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2281:1: ( ( 'ptBoolean' ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2437:1: ( ( 'ptBoolean' ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2438:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2281:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2282:1: ( 'ptBoolean' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2439:1: ( 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2439:3: 'ptBoolean'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2283:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2283:3: 'ptBoolean'
                     {
-                    match(input,21,FOLLOW_21_in_rule__LiteralType__Alternatives5194); 
+                    match(input,22,FOLLOW_22_in_rule__LiteralType__Alternatives4886); 
 
                     }
 
@@ -7354,16 +7118,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2444:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2288:6: ( ( 'ptInteger' ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2444:6: ( ( 'ptInteger' ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2445:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2288:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2289:1: ( 'ptInteger' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2446:1: ( 'ptInteger' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2446:3: 'ptInteger'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2290:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2290:3: 'ptInteger'
                     {
-                    match(input,22,FOLLOW_22_in_rule__LiteralType__Alternatives5215); 
+                    match(input,23,FOLLOW_23_in_rule__LiteralType__Alternatives4907); 
 
                     }
 
@@ -7375,16 +7139,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2451:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2295:6: ( ( 'ptReal' ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2451:6: ( ( 'ptReal' ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2452:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2295:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2296:1: ( 'ptReal' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2453:1: ( 'ptReal' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2453:3: 'ptReal'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2297:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2297:3: 'ptReal'
                     {
-                    match(input,23,FOLLOW_23_in_rule__LiteralType__Alternatives5236); 
+                    match(input,24,FOLLOW_24_in_rule__LiteralType__Alternatives4928); 
 
                     }
 
@@ -7396,16 +7160,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2458:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2302:6: ( ( 'ptCharacter' ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2458:6: ( ( 'ptCharacter' ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2459:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2302:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2303:1: ( 'ptCharacter' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2460:1: ( 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2460:3: 'ptCharacter'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2304:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2304:3: 'ptCharacter'
                     {
-                    match(input,24,FOLLOW_24_in_rule__LiteralType__Alternatives5257); 
+                    match(input,25,FOLLOW_25_in_rule__LiteralType__Alternatives4949); 
 
                     }
 
@@ -7434,21 +7198,21 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2472:1: rule__ModelComponent__Group__0 : rule__ModelComponent__Group__0__Impl rule__ModelComponent__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2316:1: rule__ModelComponent__Group__0 : rule__ModelComponent__Group__0__Impl rule__ModelComponent__Group__1 ;
     public final void rule__ModelComponent__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2476:1: ( rule__ModelComponent__Group__0__Impl rule__ModelComponent__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2477:2: rule__ModelComponent__Group__0__Impl rule__ModelComponent__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2320:1: ( rule__ModelComponent__Group__0__Impl rule__ModelComponent__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2321:2: rule__ModelComponent__Group__0__Impl rule__ModelComponent__Group__1
             {
-            pushFollow(FOLLOW_rule__ModelComponent__Group__0__Impl_in_rule__ModelComponent__Group__05290);
+            pushFollow(FOLLOW_rule__ModelComponent__Group__0__Impl_in_rule__ModelComponent__Group__04982);
             rule__ModelComponent__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ModelComponent__Group__1_in_rule__ModelComponent__Group__05293);
+            pushFollow(FOLLOW_rule__ModelComponent__Group__1_in_rule__ModelComponent__Group__04985);
             rule__ModelComponent__Group__1();
 
             state._fsp--;
@@ -7472,23 +7236,23 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2484:1: rule__ModelComponent__Group__0__Impl : ( ( rule__ModelComponent__UnorderedGroup_0 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2328:1: rule__ModelComponent__Group__0__Impl : ( ( rule__ModelComponent__UnorderedGroup_0 ) ) ;
     public final void rule__ModelComponent__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2488:1: ( ( ( rule__ModelComponent__UnorderedGroup_0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2489:1: ( ( rule__ModelComponent__UnorderedGroup_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2332:1: ( ( ( rule__ModelComponent__UnorderedGroup_0 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2333:1: ( ( rule__ModelComponent__UnorderedGroup_0 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2489:1: ( ( rule__ModelComponent__UnorderedGroup_0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2490:1: ( rule__ModelComponent__UnorderedGroup_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2333:1: ( ( rule__ModelComponent__UnorderedGroup_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2334:1: ( rule__ModelComponent__UnorderedGroup_0 )
             {
              before(grammarAccess.getModelComponentAccess().getUnorderedGroup_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2491:1: ( rule__ModelComponent__UnorderedGroup_0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2491:2: rule__ModelComponent__UnorderedGroup_0
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2335:1: ( rule__ModelComponent__UnorderedGroup_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2335:2: rule__ModelComponent__UnorderedGroup_0
             {
-            pushFollow(FOLLOW_rule__ModelComponent__UnorderedGroup_0_in_rule__ModelComponent__Group__0__Impl5320);
+            pushFollow(FOLLOW_rule__ModelComponent__UnorderedGroup_0_in_rule__ModelComponent__Group__0__Impl5012);
             rule__ModelComponent__UnorderedGroup_0();
 
             state._fsp--;
@@ -7519,21 +7283,21 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2501:1: rule__ModelComponent__Group__1 : rule__ModelComponent__Group__1__Impl rule__ModelComponent__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2345:1: rule__ModelComponent__Group__1 : rule__ModelComponent__Group__1__Impl rule__ModelComponent__Group__2 ;
     public final void rule__ModelComponent__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2505:1: ( rule__ModelComponent__Group__1__Impl rule__ModelComponent__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2506:2: rule__ModelComponent__Group__1__Impl rule__ModelComponent__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2349:1: ( rule__ModelComponent__Group__1__Impl rule__ModelComponent__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2350:2: rule__ModelComponent__Group__1__Impl rule__ModelComponent__Group__2
             {
-            pushFollow(FOLLOW_rule__ModelComponent__Group__1__Impl_in_rule__ModelComponent__Group__15350);
+            pushFollow(FOLLOW_rule__ModelComponent__Group__1__Impl_in_rule__ModelComponent__Group__15042);
             rule__ModelComponent__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ModelComponent__Group__2_in_rule__ModelComponent__Group__15353);
+            pushFollow(FOLLOW_rule__ModelComponent__Group__2_in_rule__ModelComponent__Group__15045);
             rule__ModelComponent__Group__2();
 
             state._fsp--;
@@ -7557,20 +7321,20 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2513:1: rule__ModelComponent__Group__1__Impl : ( 'ModelComponent' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2357:1: rule__ModelComponent__Group__1__Impl : ( 'ModelComponent' ) ;
     public final void rule__ModelComponent__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2517:1: ( ( 'ModelComponent' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2518:1: ( 'ModelComponent' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2361:1: ( ( 'ModelComponent' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2362:1: ( 'ModelComponent' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2518:1: ( 'ModelComponent' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2519:1: 'ModelComponent'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2362:1: ( 'ModelComponent' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2363:1: 'ModelComponent'
             {
              before(grammarAccess.getModelComponentAccess().getModelComponentKeyword_1()); 
-            match(input,25,FOLLOW_25_in_rule__ModelComponent__Group__1__Impl5381); 
+            match(input,26,FOLLOW_26_in_rule__ModelComponent__Group__1__Impl5073); 
              after(grammarAccess.getModelComponentAccess().getModelComponentKeyword_1()); 
 
             }
@@ -7594,21 +7358,21 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2532:1: rule__ModelComponent__Group__2 : rule__ModelComponent__Group__2__Impl rule__ModelComponent__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2376:1: rule__ModelComponent__Group__2 : rule__ModelComponent__Group__2__Impl rule__ModelComponent__Group__3 ;
     public final void rule__ModelComponent__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2536:1: ( rule__ModelComponent__Group__2__Impl rule__ModelComponent__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2537:2: rule__ModelComponent__Group__2__Impl rule__ModelComponent__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2380:1: ( rule__ModelComponent__Group__2__Impl rule__ModelComponent__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2381:2: rule__ModelComponent__Group__2__Impl rule__ModelComponent__Group__3
             {
-            pushFollow(FOLLOW_rule__ModelComponent__Group__2__Impl_in_rule__ModelComponent__Group__25412);
+            pushFollow(FOLLOW_rule__ModelComponent__Group__2__Impl_in_rule__ModelComponent__Group__25104);
             rule__ModelComponent__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ModelComponent__Group__3_in_rule__ModelComponent__Group__25415);
+            pushFollow(FOLLOW_rule__ModelComponent__Group__3_in_rule__ModelComponent__Group__25107);
             rule__ModelComponent__Group__3();
 
             state._fsp--;
@@ -7632,23 +7396,23 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2544:1: rule__ModelComponent__Group__2__Impl : ( ( rule__ModelComponent__ComponentNameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2388:1: rule__ModelComponent__Group__2__Impl : ( ( rule__ModelComponent__ComponentNameAssignment_2 ) ) ;
     public final void rule__ModelComponent__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2548:1: ( ( ( rule__ModelComponent__ComponentNameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2549:1: ( ( rule__ModelComponent__ComponentNameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2392:1: ( ( ( rule__ModelComponent__ComponentNameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2393:1: ( ( rule__ModelComponent__ComponentNameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2549:1: ( ( rule__ModelComponent__ComponentNameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2550:1: ( rule__ModelComponent__ComponentNameAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2393:1: ( ( rule__ModelComponent__ComponentNameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2394:1: ( rule__ModelComponent__ComponentNameAssignment_2 )
             {
              before(grammarAccess.getModelComponentAccess().getComponentNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2551:1: ( rule__ModelComponent__ComponentNameAssignment_2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2551:2: rule__ModelComponent__ComponentNameAssignment_2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2395:1: ( rule__ModelComponent__ComponentNameAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2395:2: rule__ModelComponent__ComponentNameAssignment_2
             {
-            pushFollow(FOLLOW_rule__ModelComponent__ComponentNameAssignment_2_in_rule__ModelComponent__Group__2__Impl5442);
+            pushFollow(FOLLOW_rule__ModelComponent__ComponentNameAssignment_2_in_rule__ModelComponent__Group__2__Impl5134);
             rule__ModelComponent__ComponentNameAssignment_2();
 
             state._fsp--;
@@ -7679,21 +7443,21 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2561:1: rule__ModelComponent__Group__3 : rule__ModelComponent__Group__3__Impl rule__ModelComponent__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2405:1: rule__ModelComponent__Group__3 : rule__ModelComponent__Group__3__Impl rule__ModelComponent__Group__4 ;
     public final void rule__ModelComponent__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2565:1: ( rule__ModelComponent__Group__3__Impl rule__ModelComponent__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2566:2: rule__ModelComponent__Group__3__Impl rule__ModelComponent__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2409:1: ( rule__ModelComponent__Group__3__Impl rule__ModelComponent__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2410:2: rule__ModelComponent__Group__3__Impl rule__ModelComponent__Group__4
             {
-            pushFollow(FOLLOW_rule__ModelComponent__Group__3__Impl_in_rule__ModelComponent__Group__35472);
+            pushFollow(FOLLOW_rule__ModelComponent__Group__3__Impl_in_rule__ModelComponent__Group__35164);
             rule__ModelComponent__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ModelComponent__Group__4_in_rule__ModelComponent__Group__35475);
+            pushFollow(FOLLOW_rule__ModelComponent__Group__4_in_rule__ModelComponent__Group__35167);
             rule__ModelComponent__Group__4();
 
             state._fsp--;
@@ -7717,31 +7481,31 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2573:1: rule__ModelComponent__Group__3__Impl : ( ( rule__ModelComponent__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2417:1: rule__ModelComponent__Group__3__Impl : ( ( rule__ModelComponent__Group_3__0 )? ) ;
     public final void rule__ModelComponent__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2577:1: ( ( ( rule__ModelComponent__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2578:1: ( ( rule__ModelComponent__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2421:1: ( ( ( rule__ModelComponent__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2422:1: ( ( rule__ModelComponent__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2578:1: ( ( rule__ModelComponent__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2579:1: ( rule__ModelComponent__Group_3__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2422:1: ( ( rule__ModelComponent__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2423:1: ( rule__ModelComponent__Group_3__0 )?
             {
              before(grammarAccess.getModelComponentAccess().getGroup_3()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2580:1: ( rule__ModelComponent__Group_3__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2424:1: ( rule__ModelComponent__Group_3__0 )?
             int alt29=2;
             int LA29_0 = input.LA(1);
 
-            if ( (LA29_0==26) ) {
+            if ( (LA29_0==27) ) {
                 alt29=1;
             }
             switch (alt29) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2580:2: rule__ModelComponent__Group_3__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2424:2: rule__ModelComponent__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__ModelComponent__Group_3__0_in_rule__ModelComponent__Group__3__Impl5502);
+                    pushFollow(FOLLOW_rule__ModelComponent__Group_3__0_in_rule__ModelComponent__Group__3__Impl5194);
                     rule__ModelComponent__Group_3__0();
 
                     state._fsp--;
@@ -7775,16 +7539,16 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2590:1: rule__ModelComponent__Group__4 : rule__ModelComponent__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2434:1: rule__ModelComponent__Group__4 : rule__ModelComponent__Group__4__Impl ;
     public final void rule__ModelComponent__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2594:1: ( rule__ModelComponent__Group__4__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2595:2: rule__ModelComponent__Group__4__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2438:1: ( rule__ModelComponent__Group__4__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2439:2: rule__ModelComponent__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__ModelComponent__Group__4__Impl_in_rule__ModelComponent__Group__45533);
+            pushFollow(FOLLOW_rule__ModelComponent__Group__4__Impl_in_rule__ModelComponent__Group__45225);
             rule__ModelComponent__Group__4__Impl();
 
             state._fsp--;
@@ -7808,23 +7572,23 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2601:1: rule__ModelComponent__Group__4__Impl : ( ( rule__ModelComponent__StateMachineAssignment_4 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2445:1: rule__ModelComponent__Group__4__Impl : ( ( rule__ModelComponent__StateMachineAssignment_4 ) ) ;
     public final void rule__ModelComponent__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2605:1: ( ( ( rule__ModelComponent__StateMachineAssignment_4 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2606:1: ( ( rule__ModelComponent__StateMachineAssignment_4 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2449:1: ( ( ( rule__ModelComponent__StateMachineAssignment_4 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2450:1: ( ( rule__ModelComponent__StateMachineAssignment_4 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2606:1: ( ( rule__ModelComponent__StateMachineAssignment_4 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2607:1: ( rule__ModelComponent__StateMachineAssignment_4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2450:1: ( ( rule__ModelComponent__StateMachineAssignment_4 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2451:1: ( rule__ModelComponent__StateMachineAssignment_4 )
             {
              before(grammarAccess.getModelComponentAccess().getStateMachineAssignment_4()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2608:1: ( rule__ModelComponent__StateMachineAssignment_4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2608:2: rule__ModelComponent__StateMachineAssignment_4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2452:1: ( rule__ModelComponent__StateMachineAssignment_4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2452:2: rule__ModelComponent__StateMachineAssignment_4
             {
-            pushFollow(FOLLOW_rule__ModelComponent__StateMachineAssignment_4_in_rule__ModelComponent__Group__4__Impl5560);
+            pushFollow(FOLLOW_rule__ModelComponent__StateMachineAssignment_4_in_rule__ModelComponent__Group__4__Impl5252);
             rule__ModelComponent__StateMachineAssignment_4();
 
             state._fsp--;
@@ -7855,21 +7619,21 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group_3__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2628:1: rule__ModelComponent__Group_3__0 : rule__ModelComponent__Group_3__0__Impl rule__ModelComponent__Group_3__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2472:1: rule__ModelComponent__Group_3__0 : rule__ModelComponent__Group_3__0__Impl rule__ModelComponent__Group_3__1 ;
     public final void rule__ModelComponent__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2632:1: ( rule__ModelComponent__Group_3__0__Impl rule__ModelComponent__Group_3__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2633:2: rule__ModelComponent__Group_3__0__Impl rule__ModelComponent__Group_3__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2476:1: ( rule__ModelComponent__Group_3__0__Impl rule__ModelComponent__Group_3__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2477:2: rule__ModelComponent__Group_3__0__Impl rule__ModelComponent__Group_3__1
             {
-            pushFollow(FOLLOW_rule__ModelComponent__Group_3__0__Impl_in_rule__ModelComponent__Group_3__05600);
+            pushFollow(FOLLOW_rule__ModelComponent__Group_3__0__Impl_in_rule__ModelComponent__Group_3__05292);
             rule__ModelComponent__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ModelComponent__Group_3__1_in_rule__ModelComponent__Group_3__05603);
+            pushFollow(FOLLOW_rule__ModelComponent__Group_3__1_in_rule__ModelComponent__Group_3__05295);
             rule__ModelComponent__Group_3__1();
 
             state._fsp--;
@@ -7893,20 +7657,20 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2640:1: rule__ModelComponent__Group_3__0__Impl : ( 'extends' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2484:1: rule__ModelComponent__Group_3__0__Impl : ( 'extends' ) ;
     public final void rule__ModelComponent__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2644:1: ( ( 'extends' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2645:1: ( 'extends' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2488:1: ( ( 'extends' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2489:1: ( 'extends' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2645:1: ( 'extends' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2646:1: 'extends'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2489:1: ( 'extends' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2490:1: 'extends'
             {
              before(grammarAccess.getModelComponentAccess().getExtendsKeyword_3_0()); 
-            match(input,26,FOLLOW_26_in_rule__ModelComponent__Group_3__0__Impl5631); 
+            match(input,27,FOLLOW_27_in_rule__ModelComponent__Group_3__0__Impl5323); 
              after(grammarAccess.getModelComponentAccess().getExtendsKeyword_3_0()); 
 
             }
@@ -7930,16 +7694,16 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group_3__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2659:1: rule__ModelComponent__Group_3__1 : rule__ModelComponent__Group_3__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2503:1: rule__ModelComponent__Group_3__1 : rule__ModelComponent__Group_3__1__Impl ;
     public final void rule__ModelComponent__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2663:1: ( rule__ModelComponent__Group_3__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2664:2: rule__ModelComponent__Group_3__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2507:1: ( rule__ModelComponent__Group_3__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2508:2: rule__ModelComponent__Group_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__ModelComponent__Group_3__1__Impl_in_rule__ModelComponent__Group_3__15662);
+            pushFollow(FOLLOW_rule__ModelComponent__Group_3__1__Impl_in_rule__ModelComponent__Group_3__15354);
             rule__ModelComponent__Group_3__1__Impl();
 
             state._fsp--;
@@ -7963,23 +7727,23 @@
 
 
     // $ANTLR start "rule__ModelComponent__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2670:1: rule__ModelComponent__Group_3__1__Impl : ( ( rule__ModelComponent__BaseAssignment_3_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2514:1: rule__ModelComponent__Group_3__1__Impl : ( ( rule__ModelComponent__BaseAssignment_3_1 ) ) ;
     public final void rule__ModelComponent__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2674:1: ( ( ( rule__ModelComponent__BaseAssignment_3_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2675:1: ( ( rule__ModelComponent__BaseAssignment_3_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2518:1: ( ( ( rule__ModelComponent__BaseAssignment_3_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2519:1: ( ( rule__ModelComponent__BaseAssignment_3_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2675:1: ( ( rule__ModelComponent__BaseAssignment_3_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2676:1: ( rule__ModelComponent__BaseAssignment_3_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2519:1: ( ( rule__ModelComponent__BaseAssignment_3_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2520:1: ( rule__ModelComponent__BaseAssignment_3_1 )
             {
              before(grammarAccess.getModelComponentAccess().getBaseAssignment_3_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2677:1: ( rule__ModelComponent__BaseAssignment_3_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2677:2: rule__ModelComponent__BaseAssignment_3_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2521:1: ( rule__ModelComponent__BaseAssignment_3_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2521:2: rule__ModelComponent__BaseAssignment_3_1
             {
-            pushFollow(FOLLOW_rule__ModelComponent__BaseAssignment_3_1_in_rule__ModelComponent__Group_3__1__Impl5689);
+            pushFollow(FOLLOW_rule__ModelComponent__BaseAssignment_3_1_in_rule__ModelComponent__Group_3__1__Impl5381);
             rule__ModelComponent__BaseAssignment_3_1();
 
             state._fsp--;
@@ -8010,21 +7774,21 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2691:1: rule__StateGraph__Group__0 : rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2535:1: rule__StateGraph__Group__0 : rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1 ;
     public final void rule__StateGraph__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2695:1: ( rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2696:2: rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2539:1: ( rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2540:2: rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1
             {
-            pushFollow(FOLLOW_rule__StateGraph__Group__0__Impl_in_rule__StateGraph__Group__05723);
+            pushFollow(FOLLOW_rule__StateGraph__Group__0__Impl_in_rule__StateGraph__Group__05415);
             rule__StateGraph__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateGraph__Group__1_in_rule__StateGraph__Group__05726);
+            pushFollow(FOLLOW_rule__StateGraph__Group__1_in_rule__StateGraph__Group__05418);
             rule__StateGraph__Group__1();
 
             state._fsp--;
@@ -8048,21 +7812,21 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2703:1: rule__StateGraph__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2547:1: rule__StateGraph__Group__0__Impl : ( () ) ;
     public final void rule__StateGraph__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2707:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2708:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2551:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2552:1: ( () )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2708:1: ( () )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2709:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2552:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2553:1: ()
             {
              before(grammarAccess.getStateGraphAccess().getStateGraphAction_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2710:1: ()
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2712:1: 
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2554:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2556:1: 
             {
             }
 
@@ -8085,21 +7849,21 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2722:1: rule__StateGraph__Group__1 : rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2566:1: rule__StateGraph__Group__1 : rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2 ;
     public final void rule__StateGraph__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2726:1: ( rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2727:2: rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2570:1: ( rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2571:2: rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2
             {
-            pushFollow(FOLLOW_rule__StateGraph__Group__1__Impl_in_rule__StateGraph__Group__15784);
+            pushFollow(FOLLOW_rule__StateGraph__Group__1__Impl_in_rule__StateGraph__Group__15476);
             rule__StateGraph__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateGraph__Group__2_in_rule__StateGraph__Group__15787);
+            pushFollow(FOLLOW_rule__StateGraph__Group__2_in_rule__StateGraph__Group__15479);
             rule__StateGraph__Group__2();
 
             state._fsp--;
@@ -8123,20 +7887,20 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2734:1: rule__StateGraph__Group__1__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2578:1: rule__StateGraph__Group__1__Impl : ( '{' ) ;
     public final void rule__StateGraph__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2738:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2739:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2582:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2583:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2739:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2740:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2583:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2584:1: '{'
             {
              before(grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,27,FOLLOW_27_in_rule__StateGraph__Group__1__Impl5815); 
+            match(input,28,FOLLOW_28_in_rule__StateGraph__Group__1__Impl5507); 
              after(grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_1()); 
 
             }
@@ -8160,21 +7924,21 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2753:1: rule__StateGraph__Group__2 : rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2597:1: rule__StateGraph__Group__2 : rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3 ;
     public final void rule__StateGraph__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2757:1: ( rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2758:2: rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2601:1: ( rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2602:2: rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3
             {
-            pushFollow(FOLLOW_rule__StateGraph__Group__2__Impl_in_rule__StateGraph__Group__25846);
+            pushFollow(FOLLOW_rule__StateGraph__Group__2__Impl_in_rule__StateGraph__Group__25538);
             rule__StateGraph__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateGraph__Group__3_in_rule__StateGraph__Group__25849);
+            pushFollow(FOLLOW_rule__StateGraph__Group__3_in_rule__StateGraph__Group__25541);
             rule__StateGraph__Group__3();
 
             state._fsp--;
@@ -8198,35 +7962,35 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2765:1: rule__StateGraph__Group__2__Impl : ( ( rule__StateGraph__Alternatives_2 )* ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2609:1: rule__StateGraph__Group__2__Impl : ( ( rule__StateGraph__Alternatives_2 )* ) ;
     public final void rule__StateGraph__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2769:1: ( ( ( rule__StateGraph__Alternatives_2 )* ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2770:1: ( ( rule__StateGraph__Alternatives_2 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2613:1: ( ( ( rule__StateGraph__Alternatives_2 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2614:1: ( ( rule__StateGraph__Alternatives_2 )* )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2770:1: ( ( rule__StateGraph__Alternatives_2 )* )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2771:1: ( rule__StateGraph__Alternatives_2 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2614:1: ( ( rule__StateGraph__Alternatives_2 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2615:1: ( rule__StateGraph__Alternatives_2 )*
             {
              before(grammarAccess.getStateGraphAccess().getAlternatives_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2772:1: ( rule__StateGraph__Alternatives_2 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2616:1: ( rule__StateGraph__Alternatives_2 )*
             loop30:
             do {
                 int alt30=2;
                 int LA30_0 = input.LA(1);
 
-                if ( (LA30_0==30||(LA30_0>=35 && LA30_0<=40)||LA30_0==49||LA30_0==68) ) {
+                if ( (LA30_0==31||(LA30_0>=36 && LA30_0<=41)||LA30_0==50||LA30_0==69) ) {
                     alt30=1;
                 }
 
 
                 switch (alt30) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2772:2: rule__StateGraph__Alternatives_2
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2616:2: rule__StateGraph__Alternatives_2
             	    {
-            	    pushFollow(FOLLOW_rule__StateGraph__Alternatives_2_in_rule__StateGraph__Group__2__Impl5876);
+            	    pushFollow(FOLLOW_rule__StateGraph__Alternatives_2_in_rule__StateGraph__Group__2__Impl5568);
             	    rule__StateGraph__Alternatives_2();
 
             	    state._fsp--;
@@ -8263,16 +8027,16 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2782:1: rule__StateGraph__Group__3 : rule__StateGraph__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2626:1: rule__StateGraph__Group__3 : rule__StateGraph__Group__3__Impl ;
     public final void rule__StateGraph__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2786:1: ( rule__StateGraph__Group__3__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2787:2: rule__StateGraph__Group__3__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2630:1: ( rule__StateGraph__Group__3__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2631:2: rule__StateGraph__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__StateGraph__Group__3__Impl_in_rule__StateGraph__Group__35907);
+            pushFollow(FOLLOW_rule__StateGraph__Group__3__Impl_in_rule__StateGraph__Group__35599);
             rule__StateGraph__Group__3__Impl();
 
             state._fsp--;
@@ -8296,20 +8060,20 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2793:1: rule__StateGraph__Group__3__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2637:1: rule__StateGraph__Group__3__Impl : ( '}' ) ;
     public final void rule__StateGraph__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2797:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2798:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2641:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2642:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2798:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2799:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2642:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2643:1: '}'
             {
              before(grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_3()); 
-            match(input,28,FOLLOW_28_in_rule__StateGraph__Group__3__Impl5935); 
+            match(input,29,FOLLOW_29_in_rule__StateGraph__Group__3__Impl5627); 
              after(grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_3()); 
 
             }
@@ -8333,21 +8097,21 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2820:1: rule__StateMachine__Group__0 : rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2664:1: rule__StateMachine__Group__0 : rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1 ;
     public final void rule__StateMachine__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2824:1: ( rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2825:2: rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2668:1: ( rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2669:2: rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1
             {
-            pushFollow(FOLLOW_rule__StateMachine__Group__0__Impl_in_rule__StateMachine__Group__05974);
+            pushFollow(FOLLOW_rule__StateMachine__Group__0__Impl_in_rule__StateMachine__Group__05666);
             rule__StateMachine__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateMachine__Group__1_in_rule__StateMachine__Group__05977);
+            pushFollow(FOLLOW_rule__StateMachine__Group__1_in_rule__StateMachine__Group__05669);
             rule__StateMachine__Group__1();
 
             state._fsp--;
@@ -8371,21 +8135,21 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2832:1: rule__StateMachine__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2676:1: rule__StateMachine__Group__0__Impl : ( () ) ;
     public final void rule__StateMachine__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2836:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2837:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2680:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2681:1: ( () )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2837:1: ( () )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2838:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2681:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2682:1: ()
             {
              before(grammarAccess.getStateMachineAccess().getStateGraphAction_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2839:1: ()
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2841:1: 
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2683:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2685:1: 
             {
             }
 
@@ -8408,21 +8172,21 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2851:1: rule__StateMachine__Group__1 : rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2695:1: rule__StateMachine__Group__1 : rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2 ;
     public final void rule__StateMachine__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2855:1: ( rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2856:2: rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2699:1: ( rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2700:2: rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2
             {
-            pushFollow(FOLLOW_rule__StateMachine__Group__1__Impl_in_rule__StateMachine__Group__16035);
+            pushFollow(FOLLOW_rule__StateMachine__Group__1__Impl_in_rule__StateMachine__Group__15727);
             rule__StateMachine__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateMachine__Group__2_in_rule__StateMachine__Group__16038);
+            pushFollow(FOLLOW_rule__StateMachine__Group__2_in_rule__StateMachine__Group__15730);
             rule__StateMachine__Group__2();
 
             state._fsp--;
@@ -8446,20 +8210,20 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2863:1: rule__StateMachine__Group__1__Impl : ( 'StateMachine' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2707:1: rule__StateMachine__Group__1__Impl : ( 'StateMachine' ) ;
     public final void rule__StateMachine__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2867:1: ( ( 'StateMachine' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2868:1: ( 'StateMachine' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2711:1: ( ( 'StateMachine' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2712:1: ( 'StateMachine' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2868:1: ( 'StateMachine' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2869:1: 'StateMachine'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2712:1: ( 'StateMachine' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2713:1: 'StateMachine'
             {
              before(grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); 
-            match(input,29,FOLLOW_29_in_rule__StateMachine__Group__1__Impl6066); 
+            match(input,30,FOLLOW_30_in_rule__StateMachine__Group__1__Impl5758); 
              after(grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); 
 
             }
@@ -8483,21 +8247,21 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2882:1: rule__StateMachine__Group__2 : rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2726:1: rule__StateMachine__Group__2 : rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3 ;
     public final void rule__StateMachine__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2886:1: ( rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2887:2: rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2730:1: ( rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2731:2: rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3
             {
-            pushFollow(FOLLOW_rule__StateMachine__Group__2__Impl_in_rule__StateMachine__Group__26097);
+            pushFollow(FOLLOW_rule__StateMachine__Group__2__Impl_in_rule__StateMachine__Group__25789);
             rule__StateMachine__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateMachine__Group__3_in_rule__StateMachine__Group__26100);
+            pushFollow(FOLLOW_rule__StateMachine__Group__3_in_rule__StateMachine__Group__25792);
             rule__StateMachine__Group__3();
 
             state._fsp--;
@@ -8521,20 +8285,20 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2894:1: rule__StateMachine__Group__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2738:1: rule__StateMachine__Group__2__Impl : ( '{' ) ;
     public final void rule__StateMachine__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2898:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2899:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2742:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2743:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2899:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2900:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2743:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2744:1: '{'
             {
              before(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,27,FOLLOW_27_in_rule__StateMachine__Group__2__Impl6128); 
+            match(input,28,FOLLOW_28_in_rule__StateMachine__Group__2__Impl5820); 
              after(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
@@ -8558,21 +8322,21 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2913:1: rule__StateMachine__Group__3 : rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2757:1: rule__StateMachine__Group__3 : rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4 ;
     public final void rule__StateMachine__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2917:1: ( rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2918:2: rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2761:1: ( rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2762:2: rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4
             {
-            pushFollow(FOLLOW_rule__StateMachine__Group__3__Impl_in_rule__StateMachine__Group__36159);
+            pushFollow(FOLLOW_rule__StateMachine__Group__3__Impl_in_rule__StateMachine__Group__35851);
             rule__StateMachine__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateMachine__Group__4_in_rule__StateMachine__Group__36162);
+            pushFollow(FOLLOW_rule__StateMachine__Group__4_in_rule__StateMachine__Group__35854);
             rule__StateMachine__Group__4();
 
             state._fsp--;
@@ -8596,35 +8360,35 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2925:1: rule__StateMachine__Group__3__Impl : ( ( rule__StateMachine__Alternatives_3 )* ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2769:1: rule__StateMachine__Group__3__Impl : ( ( rule__StateMachine__Alternatives_3 )* ) ;
     public final void rule__StateMachine__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2929:1: ( ( ( rule__StateMachine__Alternatives_3 )* ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2930:1: ( ( rule__StateMachine__Alternatives_3 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2773:1: ( ( ( rule__StateMachine__Alternatives_3 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2774:1: ( ( rule__StateMachine__Alternatives_3 )* )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2930:1: ( ( rule__StateMachine__Alternatives_3 )* )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2931:1: ( rule__StateMachine__Alternatives_3 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2774:1: ( ( rule__StateMachine__Alternatives_3 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2775:1: ( rule__StateMachine__Alternatives_3 )*
             {
              before(grammarAccess.getStateMachineAccess().getAlternatives_3()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2932:1: ( rule__StateMachine__Alternatives_3 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2776:1: ( rule__StateMachine__Alternatives_3 )*
             loop31:
             do {
                 int alt31=2;
                 int LA31_0 = input.LA(1);
 
-                if ( (LA31_0==30||(LA31_0>=35 && LA31_0<=40)||LA31_0==49||LA31_0==68) ) {
+                if ( (LA31_0==31||(LA31_0>=36 && LA31_0<=41)||LA31_0==50||LA31_0==69) ) {
                     alt31=1;
                 }
 
 
                 switch (alt31) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2932:2: rule__StateMachine__Alternatives_3
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2776:2: rule__StateMachine__Alternatives_3
             	    {
-            	    pushFollow(FOLLOW_rule__StateMachine__Alternatives_3_in_rule__StateMachine__Group__3__Impl6189);
+            	    pushFollow(FOLLOW_rule__StateMachine__Alternatives_3_in_rule__StateMachine__Group__3__Impl5881);
             	    rule__StateMachine__Alternatives_3();
 
             	    state._fsp--;
@@ -8661,16 +8425,16 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2942:1: rule__StateMachine__Group__4 : rule__StateMachine__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2786:1: rule__StateMachine__Group__4 : rule__StateMachine__Group__4__Impl ;
     public final void rule__StateMachine__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2946:1: ( rule__StateMachine__Group__4__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2947:2: rule__StateMachine__Group__4__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2790:1: ( rule__StateMachine__Group__4__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2791:2: rule__StateMachine__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__StateMachine__Group__4__Impl_in_rule__StateMachine__Group__46220);
+            pushFollow(FOLLOW_rule__StateMachine__Group__4__Impl_in_rule__StateMachine__Group__45912);
             rule__StateMachine__Group__4__Impl();
 
             state._fsp--;
@@ -8694,20 +8458,20 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2953:1: rule__StateMachine__Group__4__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2797:1: rule__StateMachine__Group__4__Impl : ( '}' ) ;
     public final void rule__StateMachine__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2957:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2958:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2801:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2802:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2958:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2959:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2802:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2803:1: '}'
             {
              before(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,28,FOLLOW_28_in_rule__StateMachine__Group__4__Impl6248); 
+            match(input,29,FOLLOW_29_in_rule__StateMachine__Group__4__Impl5940); 
              after(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_4()); 
 
             }
@@ -8731,21 +8495,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2982:1: rule__SimpleState__Group__0 : rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2826:1: rule__SimpleState__Group__0 : rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1 ;
     public final void rule__SimpleState__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2986:1: ( rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2987:2: rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2830:1: ( rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2831:2: rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group__0__Impl_in_rule__SimpleState__Group__06289);
+            pushFollow(FOLLOW_rule__SimpleState__Group__0__Impl_in_rule__SimpleState__Group__05981);
             rule__SimpleState__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group__1_in_rule__SimpleState__Group__06292);
+            pushFollow(FOLLOW_rule__SimpleState__Group__1_in_rule__SimpleState__Group__05984);
             rule__SimpleState__Group__1();
 
             state._fsp--;
@@ -8769,20 +8533,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2994:1: rule__SimpleState__Group__0__Impl : ( 'State' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2838:1: rule__SimpleState__Group__0__Impl : ( 'State' ) ;
     public final void rule__SimpleState__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2998:1: ( ( 'State' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2999:1: ( 'State' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2842:1: ( ( 'State' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2843:1: ( 'State' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2999:1: ( 'State' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3000:1: 'State'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2843:1: ( 'State' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2844:1: 'State'
             {
              before(grammarAccess.getSimpleStateAccess().getStateKeyword_0()); 
-            match(input,30,FOLLOW_30_in_rule__SimpleState__Group__0__Impl6320); 
+            match(input,31,FOLLOW_31_in_rule__SimpleState__Group__0__Impl6012); 
              after(grammarAccess.getSimpleStateAccess().getStateKeyword_0()); 
 
             }
@@ -8806,21 +8570,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3013:1: rule__SimpleState__Group__1 : rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2857:1: rule__SimpleState__Group__1 : rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2 ;
     public final void rule__SimpleState__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3017:1: ( rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3018:2: rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2861:1: ( rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2862:2: rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group__1__Impl_in_rule__SimpleState__Group__16351);
+            pushFollow(FOLLOW_rule__SimpleState__Group__1__Impl_in_rule__SimpleState__Group__16043);
             rule__SimpleState__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group__2_in_rule__SimpleState__Group__16354);
+            pushFollow(FOLLOW_rule__SimpleState__Group__2_in_rule__SimpleState__Group__16046);
             rule__SimpleState__Group__2();
 
             state._fsp--;
@@ -8844,23 +8608,23 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3025:1: rule__SimpleState__Group__1__Impl : ( ( rule__SimpleState__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2869:1: rule__SimpleState__Group__1__Impl : ( ( rule__SimpleState__NameAssignment_1 ) ) ;
     public final void rule__SimpleState__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3029:1: ( ( ( rule__SimpleState__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3030:1: ( ( rule__SimpleState__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2873:1: ( ( ( rule__SimpleState__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2874:1: ( ( rule__SimpleState__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3030:1: ( ( rule__SimpleState__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3031:1: ( rule__SimpleState__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2874:1: ( ( rule__SimpleState__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2875:1: ( rule__SimpleState__NameAssignment_1 )
             {
              before(grammarAccess.getSimpleStateAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3032:1: ( rule__SimpleState__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3032:2: rule__SimpleState__NameAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2876:1: ( rule__SimpleState__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2876:2: rule__SimpleState__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__SimpleState__NameAssignment_1_in_rule__SimpleState__Group__1__Impl6381);
+            pushFollow(FOLLOW_rule__SimpleState__NameAssignment_1_in_rule__SimpleState__Group__1__Impl6073);
             rule__SimpleState__NameAssignment_1();
 
             state._fsp--;
@@ -8891,21 +8655,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3042:1: rule__SimpleState__Group__2 : rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2886:1: rule__SimpleState__Group__2 : rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3 ;
     public final void rule__SimpleState__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3046:1: ( rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3047:2: rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2890:1: ( rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2891:2: rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group__2__Impl_in_rule__SimpleState__Group__26411);
+            pushFollow(FOLLOW_rule__SimpleState__Group__2__Impl_in_rule__SimpleState__Group__26103);
             rule__SimpleState__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group__3_in_rule__SimpleState__Group__26414);
+            pushFollow(FOLLOW_rule__SimpleState__Group__3_in_rule__SimpleState__Group__26106);
             rule__SimpleState__Group__3();
 
             state._fsp--;
@@ -8929,31 +8693,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3054:1: rule__SimpleState__Group__2__Impl : ( ( rule__SimpleState__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2898:1: rule__SimpleState__Group__2__Impl : ( ( rule__SimpleState__DocuAssignment_2 )? ) ;
     public final void rule__SimpleState__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3058:1: ( ( ( rule__SimpleState__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3059:1: ( ( rule__SimpleState__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2902:1: ( ( ( rule__SimpleState__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2903:1: ( ( rule__SimpleState__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3059:1: ( ( rule__SimpleState__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3060:1: ( rule__SimpleState__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2903:1: ( ( rule__SimpleState__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2904:1: ( rule__SimpleState__DocuAssignment_2 )?
             {
              before(grammarAccess.getSimpleStateAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3061:1: ( rule__SimpleState__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2905:1: ( rule__SimpleState__DocuAssignment_2 )?
             int alt32=2;
             int LA32_0 = input.LA(1);
 
-            if ( (LA32_0==64) ) {
+            if ( (LA32_0==65) ) {
                 alt32=1;
             }
             switch (alt32) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3061:2: rule__SimpleState__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2905:2: rule__SimpleState__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__DocuAssignment_2_in_rule__SimpleState__Group__2__Impl6441);
+                    pushFollow(FOLLOW_rule__SimpleState__DocuAssignment_2_in_rule__SimpleState__Group__2__Impl6133);
                     rule__SimpleState__DocuAssignment_2();
 
                     state._fsp--;
@@ -8987,16 +8751,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3071:1: rule__SimpleState__Group__3 : rule__SimpleState__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2915:1: rule__SimpleState__Group__3 : rule__SimpleState__Group__3__Impl ;
     public final void rule__SimpleState__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3075:1: ( rule__SimpleState__Group__3__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3076:2: rule__SimpleState__Group__3__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2919:1: ( rule__SimpleState__Group__3__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2920:2: rule__SimpleState__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group__3__Impl_in_rule__SimpleState__Group__36472);
+            pushFollow(FOLLOW_rule__SimpleState__Group__3__Impl_in_rule__SimpleState__Group__36164);
             rule__SimpleState__Group__3__Impl();
 
             state._fsp--;
@@ -9020,31 +8784,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3082:1: rule__SimpleState__Group__3__Impl : ( ( rule__SimpleState__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2926:1: rule__SimpleState__Group__3__Impl : ( ( rule__SimpleState__Group_3__0 )? ) ;
     public final void rule__SimpleState__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3086:1: ( ( ( rule__SimpleState__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3087:1: ( ( rule__SimpleState__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2930:1: ( ( ( rule__SimpleState__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2931:1: ( ( rule__SimpleState__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3087:1: ( ( rule__SimpleState__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3088:1: ( rule__SimpleState__Group_3__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2931:1: ( ( rule__SimpleState__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2932:1: ( rule__SimpleState__Group_3__0 )?
             {
              before(grammarAccess.getSimpleStateAccess().getGroup_3()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3089:1: ( rule__SimpleState__Group_3__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2933:1: ( rule__SimpleState__Group_3__0 )?
             int alt33=2;
             int LA33_0 = input.LA(1);
 
-            if ( (LA33_0==27) ) {
+            if ( (LA33_0==28) ) {
                 alt33=1;
             }
             switch (alt33) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3089:2: rule__SimpleState__Group_3__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2933:2: rule__SimpleState__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__Group_3__0_in_rule__SimpleState__Group__3__Impl6499);
+                    pushFollow(FOLLOW_rule__SimpleState__Group_3__0_in_rule__SimpleState__Group__3__Impl6191);
                     rule__SimpleState__Group_3__0();
 
                     state._fsp--;
@@ -9078,21 +8842,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3107:1: rule__SimpleState__Group_3__0 : rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2951:1: rule__SimpleState__Group_3__0 : rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1 ;
     public final void rule__SimpleState__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3111:1: ( rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3112:2: rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2955:1: ( rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2956:2: rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__0__Impl_in_rule__SimpleState__Group_3__06538);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__0__Impl_in_rule__SimpleState__Group_3__06230);
             rule__SimpleState__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__1_in_rule__SimpleState__Group_3__06541);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__1_in_rule__SimpleState__Group_3__06233);
             rule__SimpleState__Group_3__1();
 
             state._fsp--;
@@ -9116,20 +8880,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3119:1: rule__SimpleState__Group_3__0__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2963:1: rule__SimpleState__Group_3__0__Impl : ( '{' ) ;
     public final void rule__SimpleState__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3123:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3124:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2967:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2968:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3124:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3125:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2968:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2969:1: '{'
             {
              before(grammarAccess.getSimpleStateAccess().getLeftCurlyBracketKeyword_3_0()); 
-            match(input,27,FOLLOW_27_in_rule__SimpleState__Group_3__0__Impl6569); 
+            match(input,28,FOLLOW_28_in_rule__SimpleState__Group_3__0__Impl6261); 
              after(grammarAccess.getSimpleStateAccess().getLeftCurlyBracketKeyword_3_0()); 
 
             }
@@ -9153,21 +8917,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3138:1: rule__SimpleState__Group_3__1 : rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2982:1: rule__SimpleState__Group_3__1 : rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2 ;
     public final void rule__SimpleState__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3142:1: ( rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3143:2: rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2986:1: ( rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2987:2: rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__1__Impl_in_rule__SimpleState__Group_3__16600);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__1__Impl_in_rule__SimpleState__Group_3__16292);
             rule__SimpleState__Group_3__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__2_in_rule__SimpleState__Group_3__16603);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__2_in_rule__SimpleState__Group_3__16295);
             rule__SimpleState__Group_3__2();
 
             state._fsp--;
@@ -9191,31 +8955,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3150:1: rule__SimpleState__Group_3__1__Impl : ( ( rule__SimpleState__Group_3_1__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2994:1: rule__SimpleState__Group_3__1__Impl : ( ( rule__SimpleState__Group_3_1__0 )? ) ;
     public final void rule__SimpleState__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3154:1: ( ( ( rule__SimpleState__Group_3_1__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3155:1: ( ( rule__SimpleState__Group_3_1__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2998:1: ( ( ( rule__SimpleState__Group_3_1__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2999:1: ( ( rule__SimpleState__Group_3_1__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3155:1: ( ( rule__SimpleState__Group_3_1__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3156:1: ( rule__SimpleState__Group_3_1__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:2999:1: ( ( rule__SimpleState__Group_3_1__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3000:1: ( rule__SimpleState__Group_3_1__0 )?
             {
              before(grammarAccess.getSimpleStateAccess().getGroup_3_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3157:1: ( rule__SimpleState__Group_3_1__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3001:1: ( rule__SimpleState__Group_3_1__0 )?
             int alt34=2;
             int LA34_0 = input.LA(1);
 
-            if ( (LA34_0==31) ) {
+            if ( (LA34_0==32) ) {
                 alt34=1;
             }
             switch (alt34) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3157:2: rule__SimpleState__Group_3_1__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3001:2: rule__SimpleState__Group_3_1__0
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__Group_3_1__0_in_rule__SimpleState__Group_3__1__Impl6630);
+                    pushFollow(FOLLOW_rule__SimpleState__Group_3_1__0_in_rule__SimpleState__Group_3__1__Impl6322);
                     rule__SimpleState__Group_3_1__0();
 
                     state._fsp--;
@@ -9249,21 +9013,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3167:1: rule__SimpleState__Group_3__2 : rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3011:1: rule__SimpleState__Group_3__2 : rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3 ;
     public final void rule__SimpleState__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3171:1: ( rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3172:2: rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3015:1: ( rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3016:2: rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__2__Impl_in_rule__SimpleState__Group_3__26661);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__2__Impl_in_rule__SimpleState__Group_3__26353);
             rule__SimpleState__Group_3__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__3_in_rule__SimpleState__Group_3__26664);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__3_in_rule__SimpleState__Group_3__26356);
             rule__SimpleState__Group_3__3();
 
             state._fsp--;
@@ -9287,31 +9051,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3179:1: rule__SimpleState__Group_3__2__Impl : ( ( rule__SimpleState__Group_3_2__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3023:1: rule__SimpleState__Group_3__2__Impl : ( ( rule__SimpleState__Group_3_2__0 )? ) ;
     public final void rule__SimpleState__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3183:1: ( ( ( rule__SimpleState__Group_3_2__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3184:1: ( ( rule__SimpleState__Group_3_2__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3027:1: ( ( ( rule__SimpleState__Group_3_2__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3028:1: ( ( rule__SimpleState__Group_3_2__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3184:1: ( ( rule__SimpleState__Group_3_2__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3185:1: ( rule__SimpleState__Group_3_2__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3028:1: ( ( rule__SimpleState__Group_3_2__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3029:1: ( rule__SimpleState__Group_3_2__0 )?
             {
              before(grammarAccess.getSimpleStateAccess().getGroup_3_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3186:1: ( rule__SimpleState__Group_3_2__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3030:1: ( rule__SimpleState__Group_3_2__0 )?
             int alt35=2;
             int LA35_0 = input.LA(1);
 
-            if ( (LA35_0==32) ) {
+            if ( (LA35_0==33) ) {
                 alt35=1;
             }
             switch (alt35) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3186:2: rule__SimpleState__Group_3_2__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3030:2: rule__SimpleState__Group_3_2__0
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__Group_3_2__0_in_rule__SimpleState__Group_3__2__Impl6691);
+                    pushFollow(FOLLOW_rule__SimpleState__Group_3_2__0_in_rule__SimpleState__Group_3__2__Impl6383);
                     rule__SimpleState__Group_3_2__0();
 
                     state._fsp--;
@@ -9345,21 +9109,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3196:1: rule__SimpleState__Group_3__3 : rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3040:1: rule__SimpleState__Group_3__3 : rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4 ;
     public final void rule__SimpleState__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3200:1: ( rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3201:2: rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3044:1: ( rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3045:2: rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__3__Impl_in_rule__SimpleState__Group_3__36722);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__3__Impl_in_rule__SimpleState__Group_3__36414);
             rule__SimpleState__Group_3__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__4_in_rule__SimpleState__Group_3__36725);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__4_in_rule__SimpleState__Group_3__36417);
             rule__SimpleState__Group_3__4();
 
             state._fsp--;
@@ -9383,31 +9147,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3208:1: rule__SimpleState__Group_3__3__Impl : ( ( rule__SimpleState__Group_3_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3052:1: rule__SimpleState__Group_3__3__Impl : ( ( rule__SimpleState__Group_3_3__0 )? ) ;
     public final void rule__SimpleState__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3212:1: ( ( ( rule__SimpleState__Group_3_3__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3213:1: ( ( rule__SimpleState__Group_3_3__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3056:1: ( ( ( rule__SimpleState__Group_3_3__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3057:1: ( ( rule__SimpleState__Group_3_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3213:1: ( ( rule__SimpleState__Group_3_3__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3214:1: ( rule__SimpleState__Group_3_3__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3057:1: ( ( rule__SimpleState__Group_3_3__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3058:1: ( rule__SimpleState__Group_3_3__0 )?
             {
              before(grammarAccess.getSimpleStateAccess().getGroup_3_3()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3215:1: ( rule__SimpleState__Group_3_3__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3059:1: ( rule__SimpleState__Group_3_3__0 )?
             int alt36=2;
             int LA36_0 = input.LA(1);
 
-            if ( (LA36_0==33) ) {
+            if ( (LA36_0==34) ) {
                 alt36=1;
             }
             switch (alt36) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3215:2: rule__SimpleState__Group_3_3__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3059:2: rule__SimpleState__Group_3_3__0
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__Group_3_3__0_in_rule__SimpleState__Group_3__3__Impl6752);
+                    pushFollow(FOLLOW_rule__SimpleState__Group_3_3__0_in_rule__SimpleState__Group_3__3__Impl6444);
                     rule__SimpleState__Group_3_3__0();
 
                     state._fsp--;
@@ -9441,21 +9205,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3225:1: rule__SimpleState__Group_3__4 : rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3069:1: rule__SimpleState__Group_3__4 : rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5 ;
     public final void rule__SimpleState__Group_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3229:1: ( rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3230:2: rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3073:1: ( rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3074:2: rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__4__Impl_in_rule__SimpleState__Group_3__46783);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__4__Impl_in_rule__SimpleState__Group_3__46475);
             rule__SimpleState__Group_3__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__5_in_rule__SimpleState__Group_3__46786);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__5_in_rule__SimpleState__Group_3__46478);
             rule__SimpleState__Group_3__5();
 
             state._fsp--;
@@ -9479,31 +9243,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3237:1: rule__SimpleState__Group_3__4__Impl : ( ( rule__SimpleState__Group_3_4__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3081:1: rule__SimpleState__Group_3__4__Impl : ( ( rule__SimpleState__Group_3_4__0 )? ) ;
     public final void rule__SimpleState__Group_3__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3241:1: ( ( ( rule__SimpleState__Group_3_4__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3242:1: ( ( rule__SimpleState__Group_3_4__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3085:1: ( ( ( rule__SimpleState__Group_3_4__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3086:1: ( ( rule__SimpleState__Group_3_4__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3242:1: ( ( rule__SimpleState__Group_3_4__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3243:1: ( rule__SimpleState__Group_3_4__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3086:1: ( ( rule__SimpleState__Group_3_4__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3087:1: ( rule__SimpleState__Group_3_4__0 )?
             {
              before(grammarAccess.getSimpleStateAccess().getGroup_3_4()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3244:1: ( rule__SimpleState__Group_3_4__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3088:1: ( rule__SimpleState__Group_3_4__0 )?
             int alt37=2;
             int LA37_0 = input.LA(1);
 
-            if ( (LA37_0==34) ) {
+            if ( (LA37_0==35) ) {
                 alt37=1;
             }
             switch (alt37) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3244:2: rule__SimpleState__Group_3_4__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3088:2: rule__SimpleState__Group_3_4__0
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__Group_3_4__0_in_rule__SimpleState__Group_3__4__Impl6813);
+                    pushFollow(FOLLOW_rule__SimpleState__Group_3_4__0_in_rule__SimpleState__Group_3__4__Impl6505);
                     rule__SimpleState__Group_3_4__0();
 
                     state._fsp--;
@@ -9537,16 +9301,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3254:1: rule__SimpleState__Group_3__5 : rule__SimpleState__Group_3__5__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3098:1: rule__SimpleState__Group_3__5 : rule__SimpleState__Group_3__5__Impl ;
     public final void rule__SimpleState__Group_3__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3258:1: ( rule__SimpleState__Group_3__5__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3259:2: rule__SimpleState__Group_3__5__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3102:1: ( rule__SimpleState__Group_3__5__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3103:2: rule__SimpleState__Group_3__5__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__5__Impl_in_rule__SimpleState__Group_3__56844);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__5__Impl_in_rule__SimpleState__Group_3__56536);
             rule__SimpleState__Group_3__5__Impl();
 
             state._fsp--;
@@ -9570,20 +9334,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__5__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3265:1: rule__SimpleState__Group_3__5__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3109:1: rule__SimpleState__Group_3__5__Impl : ( '}' ) ;
     public final void rule__SimpleState__Group_3__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3269:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3270:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3113:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3114:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3270:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3271:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3114:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3115:1: '}'
             {
              before(grammarAccess.getSimpleStateAccess().getRightCurlyBracketKeyword_3_5()); 
-            match(input,28,FOLLOW_28_in_rule__SimpleState__Group_3__5__Impl6872); 
+            match(input,29,FOLLOW_29_in_rule__SimpleState__Group_3__5__Impl6564); 
              after(grammarAccess.getSimpleStateAccess().getRightCurlyBracketKeyword_3_5()); 
 
             }
@@ -9607,21 +9371,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_1__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3296:1: rule__SimpleState__Group_3_1__0 : rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3140:1: rule__SimpleState__Group_3_1__0 : rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1 ;
     public final void rule__SimpleState__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3300:1: ( rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3301:2: rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3144:1: ( rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3145:2: rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__0__Impl_in_rule__SimpleState__Group_3_1__06915);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__0__Impl_in_rule__SimpleState__Group_3_1__06607);
             rule__SimpleState__Group_3_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__1_in_rule__SimpleState__Group_3_1__06918);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__1_in_rule__SimpleState__Group_3_1__06610);
             rule__SimpleState__Group_3_1__1();
 
             state._fsp--;
@@ -9645,20 +9409,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_1__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3308:1: rule__SimpleState__Group_3_1__0__Impl : ( 'entry' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3152:1: rule__SimpleState__Group_3_1__0__Impl : ( 'entry' ) ;
     public final void rule__SimpleState__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3312:1: ( ( 'entry' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3313:1: ( 'entry' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3156:1: ( ( 'entry' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3157:1: ( 'entry' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3313:1: ( 'entry' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3314:1: 'entry'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3157:1: ( 'entry' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3158:1: 'entry'
             {
              before(grammarAccess.getSimpleStateAccess().getEntryKeyword_3_1_0()); 
-            match(input,31,FOLLOW_31_in_rule__SimpleState__Group_3_1__0__Impl6946); 
+            match(input,32,FOLLOW_32_in_rule__SimpleState__Group_3_1__0__Impl6638); 
              after(grammarAccess.getSimpleStateAccess().getEntryKeyword_3_1_0()); 
 
             }
@@ -9682,16 +9446,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_1__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3327:1: rule__SimpleState__Group_3_1__1 : rule__SimpleState__Group_3_1__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3171:1: rule__SimpleState__Group_3_1__1 : rule__SimpleState__Group_3_1__1__Impl ;
     public final void rule__SimpleState__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3331:1: ( rule__SimpleState__Group_3_1__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3332:2: rule__SimpleState__Group_3_1__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3175:1: ( rule__SimpleState__Group_3_1__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3176:2: rule__SimpleState__Group_3_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__1__Impl_in_rule__SimpleState__Group_3_1__16977);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__1__Impl_in_rule__SimpleState__Group_3_1__16669);
             rule__SimpleState__Group_3_1__1__Impl();
 
             state._fsp--;
@@ -9715,23 +9479,23 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_1__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3338:1: rule__SimpleState__Group_3_1__1__Impl : ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3182:1: rule__SimpleState__Group_3_1__1__Impl : ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) ) ;
     public final void rule__SimpleState__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3342:1: ( ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3343:1: ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3186:1: ( ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3187:1: ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3343:1: ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3344:1: ( rule__SimpleState__EntryCodeAssignment_3_1_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3187:1: ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3188:1: ( rule__SimpleState__EntryCodeAssignment_3_1_1 )
             {
              before(grammarAccess.getSimpleStateAccess().getEntryCodeAssignment_3_1_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3345:1: ( rule__SimpleState__EntryCodeAssignment_3_1_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3345:2: rule__SimpleState__EntryCodeAssignment_3_1_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3189:1: ( rule__SimpleState__EntryCodeAssignment_3_1_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3189:2: rule__SimpleState__EntryCodeAssignment_3_1_1
             {
-            pushFollow(FOLLOW_rule__SimpleState__EntryCodeAssignment_3_1_1_in_rule__SimpleState__Group_3_1__1__Impl7004);
+            pushFollow(FOLLOW_rule__SimpleState__EntryCodeAssignment_3_1_1_in_rule__SimpleState__Group_3_1__1__Impl6696);
             rule__SimpleState__EntryCodeAssignment_3_1_1();
 
             state._fsp--;
@@ -9762,21 +9526,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_2__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3359:1: rule__SimpleState__Group_3_2__0 : rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3203:1: rule__SimpleState__Group_3_2__0 : rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1 ;
     public final void rule__SimpleState__Group_3_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3363:1: ( rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3364:2: rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3207:1: ( rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3208:2: rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__0__Impl_in_rule__SimpleState__Group_3_2__07038);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__0__Impl_in_rule__SimpleState__Group_3_2__06730);
             rule__SimpleState__Group_3_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__1_in_rule__SimpleState__Group_3_2__07041);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__1_in_rule__SimpleState__Group_3_2__06733);
             rule__SimpleState__Group_3_2__1();
 
             state._fsp--;
@@ -9800,20 +9564,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_2__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3371:1: rule__SimpleState__Group_3_2__0__Impl : ( 'exit' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3215:1: rule__SimpleState__Group_3_2__0__Impl : ( 'exit' ) ;
     public final void rule__SimpleState__Group_3_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3375:1: ( ( 'exit' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3376:1: ( 'exit' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3219:1: ( ( 'exit' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3220:1: ( 'exit' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3376:1: ( 'exit' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3377:1: 'exit'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3220:1: ( 'exit' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3221:1: 'exit'
             {
              before(grammarAccess.getSimpleStateAccess().getExitKeyword_3_2_0()); 
-            match(input,32,FOLLOW_32_in_rule__SimpleState__Group_3_2__0__Impl7069); 
+            match(input,33,FOLLOW_33_in_rule__SimpleState__Group_3_2__0__Impl6761); 
              after(grammarAccess.getSimpleStateAccess().getExitKeyword_3_2_0()); 
 
             }
@@ -9837,16 +9601,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_2__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3390:1: rule__SimpleState__Group_3_2__1 : rule__SimpleState__Group_3_2__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3234:1: rule__SimpleState__Group_3_2__1 : rule__SimpleState__Group_3_2__1__Impl ;
     public final void rule__SimpleState__Group_3_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3394:1: ( rule__SimpleState__Group_3_2__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3395:2: rule__SimpleState__Group_3_2__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3238:1: ( rule__SimpleState__Group_3_2__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3239:2: rule__SimpleState__Group_3_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__1__Impl_in_rule__SimpleState__Group_3_2__17100);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__1__Impl_in_rule__SimpleState__Group_3_2__16792);
             rule__SimpleState__Group_3_2__1__Impl();
 
             state._fsp--;
@@ -9870,23 +9634,23 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_2__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3401:1: rule__SimpleState__Group_3_2__1__Impl : ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3245:1: rule__SimpleState__Group_3_2__1__Impl : ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) ) ;
     public final void rule__SimpleState__Group_3_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3405:1: ( ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3406:1: ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3249:1: ( ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3250:1: ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3406:1: ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3407:1: ( rule__SimpleState__ExitCodeAssignment_3_2_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3250:1: ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3251:1: ( rule__SimpleState__ExitCodeAssignment_3_2_1 )
             {
              before(grammarAccess.getSimpleStateAccess().getExitCodeAssignment_3_2_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3408:1: ( rule__SimpleState__ExitCodeAssignment_3_2_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3408:2: rule__SimpleState__ExitCodeAssignment_3_2_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3252:1: ( rule__SimpleState__ExitCodeAssignment_3_2_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3252:2: rule__SimpleState__ExitCodeAssignment_3_2_1
             {
-            pushFollow(FOLLOW_rule__SimpleState__ExitCodeAssignment_3_2_1_in_rule__SimpleState__Group_3_2__1__Impl7127);
+            pushFollow(FOLLOW_rule__SimpleState__ExitCodeAssignment_3_2_1_in_rule__SimpleState__Group_3_2__1__Impl6819);
             rule__SimpleState__ExitCodeAssignment_3_2_1();
 
             state._fsp--;
@@ -9917,21 +9681,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_3__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3422:1: rule__SimpleState__Group_3_3__0 : rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3266:1: rule__SimpleState__Group_3_3__0 : rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1 ;
     public final void rule__SimpleState__Group_3_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3426:1: ( rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3427:2: rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3270:1: ( rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3271:2: rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__0__Impl_in_rule__SimpleState__Group_3_3__07161);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__0__Impl_in_rule__SimpleState__Group_3_3__06853);
             rule__SimpleState__Group_3_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__1_in_rule__SimpleState__Group_3_3__07164);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__1_in_rule__SimpleState__Group_3_3__06856);
             rule__SimpleState__Group_3_3__1();
 
             state._fsp--;
@@ -9955,20 +9719,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_3__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3434:1: rule__SimpleState__Group_3_3__0__Impl : ( 'do' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3278:1: rule__SimpleState__Group_3_3__0__Impl : ( 'do' ) ;
     public final void rule__SimpleState__Group_3_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3438:1: ( ( 'do' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3439:1: ( 'do' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3282:1: ( ( 'do' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3283:1: ( 'do' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3439:1: ( 'do' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3440:1: 'do'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3283:1: ( 'do' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3284:1: 'do'
             {
              before(grammarAccess.getSimpleStateAccess().getDoKeyword_3_3_0()); 
-            match(input,33,FOLLOW_33_in_rule__SimpleState__Group_3_3__0__Impl7192); 
+            match(input,34,FOLLOW_34_in_rule__SimpleState__Group_3_3__0__Impl6884); 
              after(grammarAccess.getSimpleStateAccess().getDoKeyword_3_3_0()); 
 
             }
@@ -9992,16 +9756,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_3__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3453:1: rule__SimpleState__Group_3_3__1 : rule__SimpleState__Group_3_3__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3297:1: rule__SimpleState__Group_3_3__1 : rule__SimpleState__Group_3_3__1__Impl ;
     public final void rule__SimpleState__Group_3_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3457:1: ( rule__SimpleState__Group_3_3__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3458:2: rule__SimpleState__Group_3_3__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3301:1: ( rule__SimpleState__Group_3_3__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3302:2: rule__SimpleState__Group_3_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__1__Impl_in_rule__SimpleState__Group_3_3__17223);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__1__Impl_in_rule__SimpleState__Group_3_3__16915);
             rule__SimpleState__Group_3_3__1__Impl();
 
             state._fsp--;
@@ -10025,23 +9789,23 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_3__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3464:1: rule__SimpleState__Group_3_3__1__Impl : ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3308:1: rule__SimpleState__Group_3_3__1__Impl : ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) ) ;
     public final void rule__SimpleState__Group_3_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3468:1: ( ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3469:1: ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3312:1: ( ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3313:1: ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3469:1: ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3470:1: ( rule__SimpleState__DoCodeAssignment_3_3_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3313:1: ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3314:1: ( rule__SimpleState__DoCodeAssignment_3_3_1 )
             {
              before(grammarAccess.getSimpleStateAccess().getDoCodeAssignment_3_3_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3471:1: ( rule__SimpleState__DoCodeAssignment_3_3_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3471:2: rule__SimpleState__DoCodeAssignment_3_3_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3315:1: ( rule__SimpleState__DoCodeAssignment_3_3_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3315:2: rule__SimpleState__DoCodeAssignment_3_3_1
             {
-            pushFollow(FOLLOW_rule__SimpleState__DoCodeAssignment_3_3_1_in_rule__SimpleState__Group_3_3__1__Impl7250);
+            pushFollow(FOLLOW_rule__SimpleState__DoCodeAssignment_3_3_1_in_rule__SimpleState__Group_3_3__1__Impl6942);
             rule__SimpleState__DoCodeAssignment_3_3_1();
 
             state._fsp--;
@@ -10072,21 +9836,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_4__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3485:1: rule__SimpleState__Group_3_4__0 : rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3329:1: rule__SimpleState__Group_3_4__0 : rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1 ;
     public final void rule__SimpleState__Group_3_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3489:1: ( rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3490:2: rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3333:1: ( rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3334:2: rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__0__Impl_in_rule__SimpleState__Group_3_4__07284);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__0__Impl_in_rule__SimpleState__Group_3_4__06976);
             rule__SimpleState__Group_3_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__1_in_rule__SimpleState__Group_3_4__07287);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__1_in_rule__SimpleState__Group_3_4__06979);
             rule__SimpleState__Group_3_4__1();
 
             state._fsp--;
@@ -10110,20 +9874,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_4__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3497:1: rule__SimpleState__Group_3_4__0__Impl : ( 'subgraph' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3341:1: rule__SimpleState__Group_3_4__0__Impl : ( 'subgraph' ) ;
     public final void rule__SimpleState__Group_3_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3501:1: ( ( 'subgraph' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3502:1: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3345:1: ( ( 'subgraph' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3346:1: ( 'subgraph' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3502:1: ( 'subgraph' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3503:1: 'subgraph'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3346:1: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3347:1: 'subgraph'
             {
              before(grammarAccess.getSimpleStateAccess().getSubgraphKeyword_3_4_0()); 
-            match(input,34,FOLLOW_34_in_rule__SimpleState__Group_3_4__0__Impl7315); 
+            match(input,35,FOLLOW_35_in_rule__SimpleState__Group_3_4__0__Impl7007); 
              after(grammarAccess.getSimpleStateAccess().getSubgraphKeyword_3_4_0()); 
 
             }
@@ -10147,16 +9911,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_4__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3516:1: rule__SimpleState__Group_3_4__1 : rule__SimpleState__Group_3_4__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3360:1: rule__SimpleState__Group_3_4__1 : rule__SimpleState__Group_3_4__1__Impl ;
     public final void rule__SimpleState__Group_3_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3520:1: ( rule__SimpleState__Group_3_4__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3521:2: rule__SimpleState__Group_3_4__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3364:1: ( rule__SimpleState__Group_3_4__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3365:2: rule__SimpleState__Group_3_4__1__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__1__Impl_in_rule__SimpleState__Group_3_4__17346);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__1__Impl_in_rule__SimpleState__Group_3_4__17038);
             rule__SimpleState__Group_3_4__1__Impl();
 
             state._fsp--;
@@ -10180,23 +9944,23 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_4__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3527:1: rule__SimpleState__Group_3_4__1__Impl : ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3371:1: rule__SimpleState__Group_3_4__1__Impl : ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) ) ;
     public final void rule__SimpleState__Group_3_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3531:1: ( ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3532:1: ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3375:1: ( ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3376:1: ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3532:1: ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3533:1: ( rule__SimpleState__SubgraphAssignment_3_4_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3376:1: ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3377:1: ( rule__SimpleState__SubgraphAssignment_3_4_1 )
             {
              before(grammarAccess.getSimpleStateAccess().getSubgraphAssignment_3_4_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3534:1: ( rule__SimpleState__SubgraphAssignment_3_4_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3534:2: rule__SimpleState__SubgraphAssignment_3_4_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3378:1: ( rule__SimpleState__SubgraphAssignment_3_4_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3378:2: rule__SimpleState__SubgraphAssignment_3_4_1
             {
-            pushFollow(FOLLOW_rule__SimpleState__SubgraphAssignment_3_4_1_in_rule__SimpleState__Group_3_4__1__Impl7373);
+            pushFollow(FOLLOW_rule__SimpleState__SubgraphAssignment_3_4_1_in_rule__SimpleState__Group_3_4__1__Impl7065);
             rule__SimpleState__SubgraphAssignment_3_4_1();
 
             state._fsp--;
@@ -10227,21 +9991,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3548:1: rule__RefinedState__Group__0 : rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3392:1: rule__RefinedState__Group__0 : rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1 ;
     public final void rule__RefinedState__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3552:1: ( rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3553:2: rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3396:1: ( rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3397:2: rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__0__Impl_in_rule__RefinedState__Group__07407);
+            pushFollow(FOLLOW_rule__RefinedState__Group__0__Impl_in_rule__RefinedState__Group__07099);
             rule__RefinedState__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__1_in_rule__RefinedState__Group__07410);
+            pushFollow(FOLLOW_rule__RefinedState__Group__1_in_rule__RefinedState__Group__07102);
             rule__RefinedState__Group__1();
 
             state._fsp--;
@@ -10265,20 +10029,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3560:1: rule__RefinedState__Group__0__Impl : ( 'RefinedState' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3404:1: rule__RefinedState__Group__0__Impl : ( 'RefinedState' ) ;
     public final void rule__RefinedState__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3564:1: ( ( 'RefinedState' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3565:1: ( 'RefinedState' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3408:1: ( ( 'RefinedState' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3409:1: ( 'RefinedState' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3565:1: ( 'RefinedState' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3566:1: 'RefinedState'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3409:1: ( 'RefinedState' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3410:1: 'RefinedState'
             {
              before(grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0()); 
-            match(input,35,FOLLOW_35_in_rule__RefinedState__Group__0__Impl7438); 
+            match(input,36,FOLLOW_36_in_rule__RefinedState__Group__0__Impl7130); 
              after(grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0()); 
 
             }
@@ -10302,21 +10066,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3579:1: rule__RefinedState__Group__1 : rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3423:1: rule__RefinedState__Group__1 : rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2 ;
     public final void rule__RefinedState__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3583:1: ( rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3584:2: rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3427:1: ( rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3428:2: rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__1__Impl_in_rule__RefinedState__Group__17469);
+            pushFollow(FOLLOW_rule__RefinedState__Group__1__Impl_in_rule__RefinedState__Group__17161);
             rule__RefinedState__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__2_in_rule__RefinedState__Group__17472);
+            pushFollow(FOLLOW_rule__RefinedState__Group__2_in_rule__RefinedState__Group__17164);
             rule__RefinedState__Group__2();
 
             state._fsp--;
@@ -10340,23 +10104,23 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3591:1: rule__RefinedState__Group__1__Impl : ( ( rule__RefinedState__TargetAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3435:1: rule__RefinedState__Group__1__Impl : ( ( rule__RefinedState__TargetAssignment_1 ) ) ;
     public final void rule__RefinedState__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3595:1: ( ( ( rule__RefinedState__TargetAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3596:1: ( ( rule__RefinedState__TargetAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3439:1: ( ( ( rule__RefinedState__TargetAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3440:1: ( ( rule__RefinedState__TargetAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3596:1: ( ( rule__RefinedState__TargetAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3597:1: ( rule__RefinedState__TargetAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3440:1: ( ( rule__RefinedState__TargetAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3441:1: ( rule__RefinedState__TargetAssignment_1 )
             {
              before(grammarAccess.getRefinedStateAccess().getTargetAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3598:1: ( rule__RefinedState__TargetAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3598:2: rule__RefinedState__TargetAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3442:1: ( rule__RefinedState__TargetAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3442:2: rule__RefinedState__TargetAssignment_1
             {
-            pushFollow(FOLLOW_rule__RefinedState__TargetAssignment_1_in_rule__RefinedState__Group__1__Impl7499);
+            pushFollow(FOLLOW_rule__RefinedState__TargetAssignment_1_in_rule__RefinedState__Group__1__Impl7191);
             rule__RefinedState__TargetAssignment_1();
 
             state._fsp--;
@@ -10387,21 +10151,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3608:1: rule__RefinedState__Group__2 : rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3452:1: rule__RefinedState__Group__2 : rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3 ;
     public final void rule__RefinedState__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3612:1: ( rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3613:2: rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3456:1: ( rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3457:2: rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__2__Impl_in_rule__RefinedState__Group__27529);
+            pushFollow(FOLLOW_rule__RefinedState__Group__2__Impl_in_rule__RefinedState__Group__27221);
             rule__RefinedState__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__3_in_rule__RefinedState__Group__27532);
+            pushFollow(FOLLOW_rule__RefinedState__Group__3_in_rule__RefinedState__Group__27224);
             rule__RefinedState__Group__3();
 
             state._fsp--;
@@ -10425,31 +10189,31 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3620:1: rule__RefinedState__Group__2__Impl : ( ( rule__RefinedState__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3464:1: rule__RefinedState__Group__2__Impl : ( ( rule__RefinedState__DocuAssignment_2 )? ) ;
     public final void rule__RefinedState__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3624:1: ( ( ( rule__RefinedState__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3625:1: ( ( rule__RefinedState__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3468:1: ( ( ( rule__RefinedState__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3469:1: ( ( rule__RefinedState__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3625:1: ( ( rule__RefinedState__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3626:1: ( rule__RefinedState__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3469:1: ( ( rule__RefinedState__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3470:1: ( rule__RefinedState__DocuAssignment_2 )?
             {
              before(grammarAccess.getRefinedStateAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3627:1: ( rule__RefinedState__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3471:1: ( rule__RefinedState__DocuAssignment_2 )?
             int alt38=2;
             int LA38_0 = input.LA(1);
 
-            if ( (LA38_0==64) ) {
+            if ( (LA38_0==65) ) {
                 alt38=1;
             }
             switch (alt38) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3627:2: rule__RefinedState__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3471:2: rule__RefinedState__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__RefinedState__DocuAssignment_2_in_rule__RefinedState__Group__2__Impl7559);
+                    pushFollow(FOLLOW_rule__RefinedState__DocuAssignment_2_in_rule__RefinedState__Group__2__Impl7251);
                     rule__RefinedState__DocuAssignment_2();
 
                     state._fsp--;
@@ -10483,21 +10247,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3637:1: rule__RefinedState__Group__3 : rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3481:1: rule__RefinedState__Group__3 : rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4 ;
     public final void rule__RefinedState__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3641:1: ( rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3642:2: rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3485:1: ( rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3486:2: rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__3__Impl_in_rule__RefinedState__Group__37590);
+            pushFollow(FOLLOW_rule__RefinedState__Group__3__Impl_in_rule__RefinedState__Group__37282);
             rule__RefinedState__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__4_in_rule__RefinedState__Group__37593);
+            pushFollow(FOLLOW_rule__RefinedState__Group__4_in_rule__RefinedState__Group__37285);
             rule__RefinedState__Group__4();
 
             state._fsp--;
@@ -10521,20 +10285,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3649:1: rule__RefinedState__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3493:1: rule__RefinedState__Group__3__Impl : ( '{' ) ;
     public final void rule__RefinedState__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3653:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3654:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3497:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3498:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3654:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3655:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3498:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3499:1: '{'
             {
              before(grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,27,FOLLOW_27_in_rule__RefinedState__Group__3__Impl7621); 
+            match(input,28,FOLLOW_28_in_rule__RefinedState__Group__3__Impl7313); 
              after(grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_3()); 
 
             }
@@ -10558,21 +10322,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3668:1: rule__RefinedState__Group__4 : rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3512:1: rule__RefinedState__Group__4 : rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5 ;
     public final void rule__RefinedState__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3672:1: ( rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3673:2: rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3516:1: ( rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3517:2: rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__4__Impl_in_rule__RefinedState__Group__47652);
+            pushFollow(FOLLOW_rule__RefinedState__Group__4__Impl_in_rule__RefinedState__Group__47344);
             rule__RefinedState__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__5_in_rule__RefinedState__Group__47655);
+            pushFollow(FOLLOW_rule__RefinedState__Group__5_in_rule__RefinedState__Group__47347);
             rule__RefinedState__Group__5();
 
             state._fsp--;
@@ -10596,31 +10360,31 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3680:1: rule__RefinedState__Group__4__Impl : ( ( rule__RefinedState__Group_4__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3524:1: rule__RefinedState__Group__4__Impl : ( ( rule__RefinedState__Group_4__0 )? ) ;
     public final void rule__RefinedState__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3684:1: ( ( ( rule__RefinedState__Group_4__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3685:1: ( ( rule__RefinedState__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3528:1: ( ( ( rule__RefinedState__Group_4__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3529:1: ( ( rule__RefinedState__Group_4__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3685:1: ( ( rule__RefinedState__Group_4__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3686:1: ( rule__RefinedState__Group_4__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3529:1: ( ( rule__RefinedState__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3530:1: ( rule__RefinedState__Group_4__0 )?
             {
              before(grammarAccess.getRefinedStateAccess().getGroup_4()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3687:1: ( rule__RefinedState__Group_4__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3531:1: ( rule__RefinedState__Group_4__0 )?
             int alt39=2;
             int LA39_0 = input.LA(1);
 
-            if ( (LA39_0==31) ) {
+            if ( (LA39_0==32) ) {
                 alt39=1;
             }
             switch (alt39) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3687:2: rule__RefinedState__Group_4__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3531:2: rule__RefinedState__Group_4__0
                     {
-                    pushFollow(FOLLOW_rule__RefinedState__Group_4__0_in_rule__RefinedState__Group__4__Impl7682);
+                    pushFollow(FOLLOW_rule__RefinedState__Group_4__0_in_rule__RefinedState__Group__4__Impl7374);
                     rule__RefinedState__Group_4__0();
 
                     state._fsp--;
@@ -10654,21 +10418,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3697:1: rule__RefinedState__Group__5 : rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3541:1: rule__RefinedState__Group__5 : rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6 ;
     public final void rule__RefinedState__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3701:1: ( rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3702:2: rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3545:1: ( rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3546:2: rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__5__Impl_in_rule__RefinedState__Group__57713);
+            pushFollow(FOLLOW_rule__RefinedState__Group__5__Impl_in_rule__RefinedState__Group__57405);
             rule__RefinedState__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__6_in_rule__RefinedState__Group__57716);
+            pushFollow(FOLLOW_rule__RefinedState__Group__6_in_rule__RefinedState__Group__57408);
             rule__RefinedState__Group__6();
 
             state._fsp--;
@@ -10692,31 +10456,31 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__5__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3709:1: rule__RefinedState__Group__5__Impl : ( ( rule__RefinedState__Group_5__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3553:1: rule__RefinedState__Group__5__Impl : ( ( rule__RefinedState__Group_5__0 )? ) ;
     public final void rule__RefinedState__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3713:1: ( ( ( rule__RefinedState__Group_5__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3714:1: ( ( rule__RefinedState__Group_5__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3557:1: ( ( ( rule__RefinedState__Group_5__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3558:1: ( ( rule__RefinedState__Group_5__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3714:1: ( ( rule__RefinedState__Group_5__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3715:1: ( rule__RefinedState__Group_5__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3558:1: ( ( rule__RefinedState__Group_5__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3559:1: ( rule__RefinedState__Group_5__0 )?
             {
              before(grammarAccess.getRefinedStateAccess().getGroup_5()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3716:1: ( rule__RefinedState__Group_5__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3560:1: ( rule__RefinedState__Group_5__0 )?
             int alt40=2;
             int LA40_0 = input.LA(1);
 
-            if ( (LA40_0==32) ) {
+            if ( (LA40_0==33) ) {
                 alt40=1;
             }
             switch (alt40) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3716:2: rule__RefinedState__Group_5__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3560:2: rule__RefinedState__Group_5__0
                     {
-                    pushFollow(FOLLOW_rule__RefinedState__Group_5__0_in_rule__RefinedState__Group__5__Impl7743);
+                    pushFollow(FOLLOW_rule__RefinedState__Group_5__0_in_rule__RefinedState__Group__5__Impl7435);
                     rule__RefinedState__Group_5__0();
 
                     state._fsp--;
@@ -10750,21 +10514,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3726:1: rule__RefinedState__Group__6 : rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3570:1: rule__RefinedState__Group__6 : rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7 ;
     public final void rule__RefinedState__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3730:1: ( rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3731:2: rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3574:1: ( rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3575:2: rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__6__Impl_in_rule__RefinedState__Group__67774);
+            pushFollow(FOLLOW_rule__RefinedState__Group__6__Impl_in_rule__RefinedState__Group__67466);
             rule__RefinedState__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__7_in_rule__RefinedState__Group__67777);
+            pushFollow(FOLLOW_rule__RefinedState__Group__7_in_rule__RefinedState__Group__67469);
             rule__RefinedState__Group__7();
 
             state._fsp--;
@@ -10788,31 +10552,31 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__6__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3738:1: rule__RefinedState__Group__6__Impl : ( ( rule__RefinedState__Group_6__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3582:1: rule__RefinedState__Group__6__Impl : ( ( rule__RefinedState__Group_6__0 )? ) ;
     public final void rule__RefinedState__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3742:1: ( ( ( rule__RefinedState__Group_6__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3743:1: ( ( rule__RefinedState__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3586:1: ( ( ( rule__RefinedState__Group_6__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3587:1: ( ( rule__RefinedState__Group_6__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3743:1: ( ( rule__RefinedState__Group_6__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3744:1: ( rule__RefinedState__Group_6__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3587:1: ( ( rule__RefinedState__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3588:1: ( rule__RefinedState__Group_6__0 )?
             {
              before(grammarAccess.getRefinedStateAccess().getGroup_6()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3745:1: ( rule__RefinedState__Group_6__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3589:1: ( rule__RefinedState__Group_6__0 )?
             int alt41=2;
             int LA41_0 = input.LA(1);
 
-            if ( (LA41_0==33) ) {
+            if ( (LA41_0==34) ) {
                 alt41=1;
             }
             switch (alt41) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3745:2: rule__RefinedState__Group_6__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3589:2: rule__RefinedState__Group_6__0
                     {
-                    pushFollow(FOLLOW_rule__RefinedState__Group_6__0_in_rule__RefinedState__Group__6__Impl7804);
+                    pushFollow(FOLLOW_rule__RefinedState__Group_6__0_in_rule__RefinedState__Group__6__Impl7496);
                     rule__RefinedState__Group_6__0();
 
                     state._fsp--;
@@ -10846,21 +10610,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__7"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3755:1: rule__RefinedState__Group__7 : rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3599:1: rule__RefinedState__Group__7 : rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8 ;
     public final void rule__RefinedState__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3759:1: ( rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3760:2: rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3603:1: ( rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3604:2: rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__7__Impl_in_rule__RefinedState__Group__77835);
+            pushFollow(FOLLOW_rule__RefinedState__Group__7__Impl_in_rule__RefinedState__Group__77527);
             rule__RefinedState__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__8_in_rule__RefinedState__Group__77838);
+            pushFollow(FOLLOW_rule__RefinedState__Group__8_in_rule__RefinedState__Group__77530);
             rule__RefinedState__Group__8();
 
             state._fsp--;
@@ -10884,31 +10648,31 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__7__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3767:1: rule__RefinedState__Group__7__Impl : ( ( rule__RefinedState__Group_7__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3611:1: rule__RefinedState__Group__7__Impl : ( ( rule__RefinedState__Group_7__0 )? ) ;
     public final void rule__RefinedState__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3771:1: ( ( ( rule__RefinedState__Group_7__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3772:1: ( ( rule__RefinedState__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3615:1: ( ( ( rule__RefinedState__Group_7__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3616:1: ( ( rule__RefinedState__Group_7__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3772:1: ( ( rule__RefinedState__Group_7__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3773:1: ( rule__RefinedState__Group_7__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3616:1: ( ( rule__RefinedState__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3617:1: ( rule__RefinedState__Group_7__0 )?
             {
              before(grammarAccess.getRefinedStateAccess().getGroup_7()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3774:1: ( rule__RefinedState__Group_7__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3618:1: ( rule__RefinedState__Group_7__0 )?
             int alt42=2;
             int LA42_0 = input.LA(1);
 
-            if ( (LA42_0==34) ) {
+            if ( (LA42_0==35) ) {
                 alt42=1;
             }
             switch (alt42) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3774:2: rule__RefinedState__Group_7__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3618:2: rule__RefinedState__Group_7__0
                     {
-                    pushFollow(FOLLOW_rule__RefinedState__Group_7__0_in_rule__RefinedState__Group__7__Impl7865);
+                    pushFollow(FOLLOW_rule__RefinedState__Group_7__0_in_rule__RefinedState__Group__7__Impl7557);
                     rule__RefinedState__Group_7__0();
 
                     state._fsp--;
@@ -10942,16 +10706,16 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__8"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3784:1: rule__RefinedState__Group__8 : rule__RefinedState__Group__8__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3628:1: rule__RefinedState__Group__8 : rule__RefinedState__Group__8__Impl ;
     public final void rule__RefinedState__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3788:1: ( rule__RefinedState__Group__8__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3789:2: rule__RefinedState__Group__8__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3632:1: ( rule__RefinedState__Group__8__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3633:2: rule__RefinedState__Group__8__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__8__Impl_in_rule__RefinedState__Group__87896);
+            pushFollow(FOLLOW_rule__RefinedState__Group__8__Impl_in_rule__RefinedState__Group__87588);
             rule__RefinedState__Group__8__Impl();
 
             state._fsp--;
@@ -10975,20 +10739,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__8__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3795:1: rule__RefinedState__Group__8__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3639:1: rule__RefinedState__Group__8__Impl : ( '}' ) ;
     public final void rule__RefinedState__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3799:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3800:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3643:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3644:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3800:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3801:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3644:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3645:1: '}'
             {
              before(grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_8()); 
-            match(input,28,FOLLOW_28_in_rule__RefinedState__Group__8__Impl7924); 
+            match(input,29,FOLLOW_29_in_rule__RefinedState__Group__8__Impl7616); 
              after(grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_8()); 
 
             }
@@ -11012,21 +10776,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_4__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3832:1: rule__RefinedState__Group_4__0 : rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3676:1: rule__RefinedState__Group_4__0 : rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1 ;
     public final void rule__RefinedState__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3836:1: ( rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3837:2: rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3680:1: ( rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3681:2: rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_4__0__Impl_in_rule__RefinedState__Group_4__07973);
+            pushFollow(FOLLOW_rule__RefinedState__Group_4__0__Impl_in_rule__RefinedState__Group_4__07665);
             rule__RefinedState__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group_4__1_in_rule__RefinedState__Group_4__07976);
+            pushFollow(FOLLOW_rule__RefinedState__Group_4__1_in_rule__RefinedState__Group_4__07668);
             rule__RefinedState__Group_4__1();
 
             state._fsp--;
@@ -11050,20 +10814,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_4__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3844:1: rule__RefinedState__Group_4__0__Impl : ( 'entry' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3688:1: rule__RefinedState__Group_4__0__Impl : ( 'entry' ) ;
     public final void rule__RefinedState__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3848:1: ( ( 'entry' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3849:1: ( 'entry' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3692:1: ( ( 'entry' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3693:1: ( 'entry' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3849:1: ( 'entry' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3850:1: 'entry'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3693:1: ( 'entry' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3694:1: 'entry'
             {
              before(grammarAccess.getRefinedStateAccess().getEntryKeyword_4_0()); 
-            match(input,31,FOLLOW_31_in_rule__RefinedState__Group_4__0__Impl8004); 
+            match(input,32,FOLLOW_32_in_rule__RefinedState__Group_4__0__Impl7696); 
              after(grammarAccess.getRefinedStateAccess().getEntryKeyword_4_0()); 
 
             }
@@ -11087,16 +10851,16 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_4__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3863:1: rule__RefinedState__Group_4__1 : rule__RefinedState__Group_4__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3707:1: rule__RefinedState__Group_4__1 : rule__RefinedState__Group_4__1__Impl ;
     public final void rule__RefinedState__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3867:1: ( rule__RefinedState__Group_4__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3868:2: rule__RefinedState__Group_4__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3711:1: ( rule__RefinedState__Group_4__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3712:2: rule__RefinedState__Group_4__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_4__1__Impl_in_rule__RefinedState__Group_4__18035);
+            pushFollow(FOLLOW_rule__RefinedState__Group_4__1__Impl_in_rule__RefinedState__Group_4__17727);
             rule__RefinedState__Group_4__1__Impl();
 
             state._fsp--;
@@ -11120,23 +10884,23 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_4__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3874:1: rule__RefinedState__Group_4__1__Impl : ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3718:1: rule__RefinedState__Group_4__1__Impl : ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) ) ;
     public final void rule__RefinedState__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3878:1: ( ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3879:1: ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3722:1: ( ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3723:1: ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3879:1: ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3880:1: ( rule__RefinedState__EntryCodeAssignment_4_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3723:1: ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3724:1: ( rule__RefinedState__EntryCodeAssignment_4_1 )
             {
              before(grammarAccess.getRefinedStateAccess().getEntryCodeAssignment_4_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3881:1: ( rule__RefinedState__EntryCodeAssignment_4_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3881:2: rule__RefinedState__EntryCodeAssignment_4_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3725:1: ( rule__RefinedState__EntryCodeAssignment_4_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3725:2: rule__RefinedState__EntryCodeAssignment_4_1
             {
-            pushFollow(FOLLOW_rule__RefinedState__EntryCodeAssignment_4_1_in_rule__RefinedState__Group_4__1__Impl8062);
+            pushFollow(FOLLOW_rule__RefinedState__EntryCodeAssignment_4_1_in_rule__RefinedState__Group_4__1__Impl7754);
             rule__RefinedState__EntryCodeAssignment_4_1();
 
             state._fsp--;
@@ -11167,21 +10931,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_5__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3895:1: rule__RefinedState__Group_5__0 : rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3739:1: rule__RefinedState__Group_5__0 : rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1 ;
     public final void rule__RefinedState__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3899:1: ( rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3900:2: rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3743:1: ( rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3744:2: rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_5__0__Impl_in_rule__RefinedState__Group_5__08096);
+            pushFollow(FOLLOW_rule__RefinedState__Group_5__0__Impl_in_rule__RefinedState__Group_5__07788);
             rule__RefinedState__Group_5__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group_5__1_in_rule__RefinedState__Group_5__08099);
+            pushFollow(FOLLOW_rule__RefinedState__Group_5__1_in_rule__RefinedState__Group_5__07791);
             rule__RefinedState__Group_5__1();
 
             state._fsp--;
@@ -11205,20 +10969,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_5__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3907:1: rule__RefinedState__Group_5__0__Impl : ( 'exit' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3751:1: rule__RefinedState__Group_5__0__Impl : ( 'exit' ) ;
     public final void rule__RefinedState__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3911:1: ( ( 'exit' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3912:1: ( 'exit' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3755:1: ( ( 'exit' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3756:1: ( 'exit' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3912:1: ( 'exit' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3913:1: 'exit'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3756:1: ( 'exit' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3757:1: 'exit'
             {
              before(grammarAccess.getRefinedStateAccess().getExitKeyword_5_0()); 
-            match(input,32,FOLLOW_32_in_rule__RefinedState__Group_5__0__Impl8127); 
+            match(input,33,FOLLOW_33_in_rule__RefinedState__Group_5__0__Impl7819); 
              after(grammarAccess.getRefinedStateAccess().getExitKeyword_5_0()); 
 
             }
@@ -11242,16 +11006,16 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_5__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3926:1: rule__RefinedState__Group_5__1 : rule__RefinedState__Group_5__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3770:1: rule__RefinedState__Group_5__1 : rule__RefinedState__Group_5__1__Impl ;
     public final void rule__RefinedState__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3930:1: ( rule__RefinedState__Group_5__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3931:2: rule__RefinedState__Group_5__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3774:1: ( rule__RefinedState__Group_5__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3775:2: rule__RefinedState__Group_5__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_5__1__Impl_in_rule__RefinedState__Group_5__18158);
+            pushFollow(FOLLOW_rule__RefinedState__Group_5__1__Impl_in_rule__RefinedState__Group_5__17850);
             rule__RefinedState__Group_5__1__Impl();
 
             state._fsp--;
@@ -11275,23 +11039,23 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_5__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3937:1: rule__RefinedState__Group_5__1__Impl : ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3781:1: rule__RefinedState__Group_5__1__Impl : ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) ) ;
     public final void rule__RefinedState__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3941:1: ( ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3942:1: ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3785:1: ( ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3786:1: ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3942:1: ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3943:1: ( rule__RefinedState__ExitCodeAssignment_5_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3786:1: ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3787:1: ( rule__RefinedState__ExitCodeAssignment_5_1 )
             {
              before(grammarAccess.getRefinedStateAccess().getExitCodeAssignment_5_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3944:1: ( rule__RefinedState__ExitCodeAssignment_5_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3944:2: rule__RefinedState__ExitCodeAssignment_5_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3788:1: ( rule__RefinedState__ExitCodeAssignment_5_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3788:2: rule__RefinedState__ExitCodeAssignment_5_1
             {
-            pushFollow(FOLLOW_rule__RefinedState__ExitCodeAssignment_5_1_in_rule__RefinedState__Group_5__1__Impl8185);
+            pushFollow(FOLLOW_rule__RefinedState__ExitCodeAssignment_5_1_in_rule__RefinedState__Group_5__1__Impl7877);
             rule__RefinedState__ExitCodeAssignment_5_1();
 
             state._fsp--;
@@ -11322,21 +11086,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_6__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3958:1: rule__RefinedState__Group_6__0 : rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3802:1: rule__RefinedState__Group_6__0 : rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1 ;
     public final void rule__RefinedState__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3962:1: ( rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3963:2: rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3806:1: ( rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3807:2: rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_6__0__Impl_in_rule__RefinedState__Group_6__08219);
+            pushFollow(FOLLOW_rule__RefinedState__Group_6__0__Impl_in_rule__RefinedState__Group_6__07911);
             rule__RefinedState__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group_6__1_in_rule__RefinedState__Group_6__08222);
+            pushFollow(FOLLOW_rule__RefinedState__Group_6__1_in_rule__RefinedState__Group_6__07914);
             rule__RefinedState__Group_6__1();
 
             state._fsp--;
@@ -11360,20 +11124,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3970:1: rule__RefinedState__Group_6__0__Impl : ( 'do' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3814:1: rule__RefinedState__Group_6__0__Impl : ( 'do' ) ;
     public final void rule__RefinedState__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3974:1: ( ( 'do' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3975:1: ( 'do' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3818:1: ( ( 'do' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3819:1: ( 'do' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3975:1: ( 'do' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3976:1: 'do'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3819:1: ( 'do' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3820:1: 'do'
             {
              before(grammarAccess.getRefinedStateAccess().getDoKeyword_6_0()); 
-            match(input,33,FOLLOW_33_in_rule__RefinedState__Group_6__0__Impl8250); 
+            match(input,34,FOLLOW_34_in_rule__RefinedState__Group_6__0__Impl7942); 
              after(grammarAccess.getRefinedStateAccess().getDoKeyword_6_0()); 
 
             }
@@ -11397,16 +11161,16 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_6__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3989:1: rule__RefinedState__Group_6__1 : rule__RefinedState__Group_6__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3833:1: rule__RefinedState__Group_6__1 : rule__RefinedState__Group_6__1__Impl ;
     public final void rule__RefinedState__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3993:1: ( rule__RefinedState__Group_6__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3994:2: rule__RefinedState__Group_6__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3837:1: ( rule__RefinedState__Group_6__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3838:2: rule__RefinedState__Group_6__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_6__1__Impl_in_rule__RefinedState__Group_6__18281);
+            pushFollow(FOLLOW_rule__RefinedState__Group_6__1__Impl_in_rule__RefinedState__Group_6__17973);
             rule__RefinedState__Group_6__1__Impl();
 
             state._fsp--;
@@ -11430,23 +11194,23 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4000:1: rule__RefinedState__Group_6__1__Impl : ( ( rule__RefinedState__DoCodeAssignment_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3844:1: rule__RefinedState__Group_6__1__Impl : ( ( rule__RefinedState__DoCodeAssignment_6_1 ) ) ;
     public final void rule__RefinedState__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4004:1: ( ( ( rule__RefinedState__DoCodeAssignment_6_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4005:1: ( ( rule__RefinedState__DoCodeAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3848:1: ( ( ( rule__RefinedState__DoCodeAssignment_6_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3849:1: ( ( rule__RefinedState__DoCodeAssignment_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4005:1: ( ( rule__RefinedState__DoCodeAssignment_6_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4006:1: ( rule__RefinedState__DoCodeAssignment_6_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3849:1: ( ( rule__RefinedState__DoCodeAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3850:1: ( rule__RefinedState__DoCodeAssignment_6_1 )
             {
              before(grammarAccess.getRefinedStateAccess().getDoCodeAssignment_6_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4007:1: ( rule__RefinedState__DoCodeAssignment_6_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4007:2: rule__RefinedState__DoCodeAssignment_6_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3851:1: ( rule__RefinedState__DoCodeAssignment_6_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3851:2: rule__RefinedState__DoCodeAssignment_6_1
             {
-            pushFollow(FOLLOW_rule__RefinedState__DoCodeAssignment_6_1_in_rule__RefinedState__Group_6__1__Impl8308);
+            pushFollow(FOLLOW_rule__RefinedState__DoCodeAssignment_6_1_in_rule__RefinedState__Group_6__1__Impl8000);
             rule__RefinedState__DoCodeAssignment_6_1();
 
             state._fsp--;
@@ -11477,21 +11241,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_7__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4021:1: rule__RefinedState__Group_7__0 : rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3865:1: rule__RefinedState__Group_7__0 : rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1 ;
     public final void rule__RefinedState__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4025:1: ( rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4026:2: rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3869:1: ( rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3870:2: rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_7__0__Impl_in_rule__RefinedState__Group_7__08342);
+            pushFollow(FOLLOW_rule__RefinedState__Group_7__0__Impl_in_rule__RefinedState__Group_7__08034);
             rule__RefinedState__Group_7__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group_7__1_in_rule__RefinedState__Group_7__08345);
+            pushFollow(FOLLOW_rule__RefinedState__Group_7__1_in_rule__RefinedState__Group_7__08037);
             rule__RefinedState__Group_7__1();
 
             state._fsp--;
@@ -11515,20 +11279,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_7__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4033:1: rule__RefinedState__Group_7__0__Impl : ( 'subgraph' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3877:1: rule__RefinedState__Group_7__0__Impl : ( 'subgraph' ) ;
     public final void rule__RefinedState__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4037:1: ( ( 'subgraph' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4038:1: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3881:1: ( ( 'subgraph' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3882:1: ( 'subgraph' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4038:1: ( 'subgraph' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4039:1: 'subgraph'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3882:1: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3883:1: 'subgraph'
             {
              before(grammarAccess.getRefinedStateAccess().getSubgraphKeyword_7_0()); 
-            match(input,34,FOLLOW_34_in_rule__RefinedState__Group_7__0__Impl8373); 
+            match(input,35,FOLLOW_35_in_rule__RefinedState__Group_7__0__Impl8065); 
              after(grammarAccess.getRefinedStateAccess().getSubgraphKeyword_7_0()); 
 
             }
@@ -11552,16 +11316,16 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_7__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4052:1: rule__RefinedState__Group_7__1 : rule__RefinedState__Group_7__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3896:1: rule__RefinedState__Group_7__1 : rule__RefinedState__Group_7__1__Impl ;
     public final void rule__RefinedState__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4056:1: ( rule__RefinedState__Group_7__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4057:2: rule__RefinedState__Group_7__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3900:1: ( rule__RefinedState__Group_7__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3901:2: rule__RefinedState__Group_7__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_7__1__Impl_in_rule__RefinedState__Group_7__18404);
+            pushFollow(FOLLOW_rule__RefinedState__Group_7__1__Impl_in_rule__RefinedState__Group_7__18096);
             rule__RefinedState__Group_7__1__Impl();
 
             state._fsp--;
@@ -11585,23 +11349,23 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_7__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4063:1: rule__RefinedState__Group_7__1__Impl : ( ( rule__RefinedState__SubgraphAssignment_7_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3907:1: rule__RefinedState__Group_7__1__Impl : ( ( rule__RefinedState__SubgraphAssignment_7_1 ) ) ;
     public final void rule__RefinedState__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4067:1: ( ( ( rule__RefinedState__SubgraphAssignment_7_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4068:1: ( ( rule__RefinedState__SubgraphAssignment_7_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3911:1: ( ( ( rule__RefinedState__SubgraphAssignment_7_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3912:1: ( ( rule__RefinedState__SubgraphAssignment_7_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4068:1: ( ( rule__RefinedState__SubgraphAssignment_7_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4069:1: ( rule__RefinedState__SubgraphAssignment_7_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3912:1: ( ( rule__RefinedState__SubgraphAssignment_7_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3913:1: ( rule__RefinedState__SubgraphAssignment_7_1 )
             {
              before(grammarAccess.getRefinedStateAccess().getSubgraphAssignment_7_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4070:1: ( rule__RefinedState__SubgraphAssignment_7_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4070:2: rule__RefinedState__SubgraphAssignment_7_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3914:1: ( rule__RefinedState__SubgraphAssignment_7_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3914:2: rule__RefinedState__SubgraphAssignment_7_1
             {
-            pushFollow(FOLLOW_rule__RefinedState__SubgraphAssignment_7_1_in_rule__RefinedState__Group_7__1__Impl8431);
+            pushFollow(FOLLOW_rule__RefinedState__SubgraphAssignment_7_1_in_rule__RefinedState__Group_7__1__Impl8123);
             rule__RefinedState__SubgraphAssignment_7_1();
 
             state._fsp--;
@@ -11632,21 +11396,21 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4084:1: rule__DetailCode__Group__0 : rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3928:1: rule__DetailCode__Group__0 : rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1 ;
     public final void rule__DetailCode__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4088:1: ( rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4089:2: rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3932:1: ( rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3933:2: rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1
             {
-            pushFollow(FOLLOW_rule__DetailCode__Group__0__Impl_in_rule__DetailCode__Group__08465);
+            pushFollow(FOLLOW_rule__DetailCode__Group__0__Impl_in_rule__DetailCode__Group__08157);
             rule__DetailCode__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DetailCode__Group__1_in_rule__DetailCode__Group__08468);
+            pushFollow(FOLLOW_rule__DetailCode__Group__1_in_rule__DetailCode__Group__08160);
             rule__DetailCode__Group__1();
 
             state._fsp--;
@@ -11670,21 +11434,21 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4096:1: rule__DetailCode__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3940:1: rule__DetailCode__Group__0__Impl : ( () ) ;
     public final void rule__DetailCode__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4100:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4101:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3944:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3945:1: ( () )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4101:1: ( () )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4102:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3945:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3946:1: ()
             {
              before(grammarAccess.getDetailCodeAccess().getDetailCodeAction_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4103:1: ()
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4105:1: 
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3947:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3949:1: 
             {
             }
 
@@ -11707,21 +11471,21 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4115:1: rule__DetailCode__Group__1 : rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3959:1: rule__DetailCode__Group__1 : rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2 ;
     public final void rule__DetailCode__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4119:1: ( rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4120:2: rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3963:1: ( rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3964:2: rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2
             {
-            pushFollow(FOLLOW_rule__DetailCode__Group__1__Impl_in_rule__DetailCode__Group__18526);
+            pushFollow(FOLLOW_rule__DetailCode__Group__1__Impl_in_rule__DetailCode__Group__18218);
             rule__DetailCode__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DetailCode__Group__2_in_rule__DetailCode__Group__18529);
+            pushFollow(FOLLOW_rule__DetailCode__Group__2_in_rule__DetailCode__Group__18221);
             rule__DetailCode__Group__2();
 
             state._fsp--;
@@ -11745,23 +11509,23 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4127:1: rule__DetailCode__Group__1__Impl : ( ( rule__DetailCode__UsedAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3971:1: rule__DetailCode__Group__1__Impl : ( ( rule__DetailCode__UsedAssignment_1 ) ) ;
     public final void rule__DetailCode__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4131:1: ( ( ( rule__DetailCode__UsedAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4132:1: ( ( rule__DetailCode__UsedAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3975:1: ( ( ( rule__DetailCode__UsedAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3976:1: ( ( rule__DetailCode__UsedAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4132:1: ( ( rule__DetailCode__UsedAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4133:1: ( rule__DetailCode__UsedAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3976:1: ( ( rule__DetailCode__UsedAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3977:1: ( rule__DetailCode__UsedAssignment_1 )
             {
              before(grammarAccess.getDetailCodeAccess().getUsedAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4134:1: ( rule__DetailCode__UsedAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4134:2: rule__DetailCode__UsedAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3978:1: ( rule__DetailCode__UsedAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3978:2: rule__DetailCode__UsedAssignment_1
             {
-            pushFollow(FOLLOW_rule__DetailCode__UsedAssignment_1_in_rule__DetailCode__Group__1__Impl8556);
+            pushFollow(FOLLOW_rule__DetailCode__UsedAssignment_1_in_rule__DetailCode__Group__1__Impl8248);
             rule__DetailCode__UsedAssignment_1();
 
             state._fsp--;
@@ -11792,21 +11556,21 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4144:1: rule__DetailCode__Group__2 : rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3988:1: rule__DetailCode__Group__2 : rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3 ;
     public final void rule__DetailCode__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4148:1: ( rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4149:2: rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3992:1: ( rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:3993:2: rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3
             {
-            pushFollow(FOLLOW_rule__DetailCode__Group__2__Impl_in_rule__DetailCode__Group__28586);
+            pushFollow(FOLLOW_rule__DetailCode__Group__2__Impl_in_rule__DetailCode__Group__28278);
             rule__DetailCode__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DetailCode__Group__3_in_rule__DetailCode__Group__28589);
+            pushFollow(FOLLOW_rule__DetailCode__Group__3_in_rule__DetailCode__Group__28281);
             rule__DetailCode__Group__3();
 
             state._fsp--;
@@ -11830,20 +11594,20 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4156:1: rule__DetailCode__Group__2__Impl : ( ( rule__DetailCode__LinesAssignment_2 )* ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4000:1: rule__DetailCode__Group__2__Impl : ( ( rule__DetailCode__LinesAssignment_2 )* ) ;
     public final void rule__DetailCode__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4160:1: ( ( ( rule__DetailCode__LinesAssignment_2 )* ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4161:1: ( ( rule__DetailCode__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4004:1: ( ( ( rule__DetailCode__LinesAssignment_2 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4005:1: ( ( rule__DetailCode__LinesAssignment_2 )* )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4161:1: ( ( rule__DetailCode__LinesAssignment_2 )* )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4162:1: ( rule__DetailCode__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4005:1: ( ( rule__DetailCode__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4006:1: ( rule__DetailCode__LinesAssignment_2 )*
             {
              before(grammarAccess.getDetailCodeAccess().getLinesAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4163:1: ( rule__DetailCode__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4007:1: ( rule__DetailCode__LinesAssignment_2 )*
             loop43:
             do {
                 int alt43=2;
@@ -11856,9 +11620,9 @@
 
                 switch (alt43) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4163:2: rule__DetailCode__LinesAssignment_2
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4007:2: rule__DetailCode__LinesAssignment_2
             	    {
-            	    pushFollow(FOLLOW_rule__DetailCode__LinesAssignment_2_in_rule__DetailCode__Group__2__Impl8616);
+            	    pushFollow(FOLLOW_rule__DetailCode__LinesAssignment_2_in_rule__DetailCode__Group__2__Impl8308);
             	    rule__DetailCode__LinesAssignment_2();
 
             	    state._fsp--;
@@ -11895,16 +11659,16 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4173:1: rule__DetailCode__Group__3 : rule__DetailCode__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4017:1: rule__DetailCode__Group__3 : rule__DetailCode__Group__3__Impl ;
     public final void rule__DetailCode__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4177:1: ( rule__DetailCode__Group__3__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4178:2: rule__DetailCode__Group__3__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4021:1: ( rule__DetailCode__Group__3__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4022:2: rule__DetailCode__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__DetailCode__Group__3__Impl_in_rule__DetailCode__Group__38647);
+            pushFollow(FOLLOW_rule__DetailCode__Group__3__Impl_in_rule__DetailCode__Group__38339);
             rule__DetailCode__Group__3__Impl();
 
             state._fsp--;
@@ -11928,20 +11692,20 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4184:1: rule__DetailCode__Group__3__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4028:1: rule__DetailCode__Group__3__Impl : ( '}' ) ;
     public final void rule__DetailCode__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4188:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4189:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4032:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4033:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4189:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4190:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4033:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4034:1: '}'
             {
              before(grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_3()); 
-            match(input,28,FOLLOW_28_in_rule__DetailCode__Group__3__Impl8675); 
+            match(input,29,FOLLOW_29_in_rule__DetailCode__Group__3__Impl8367); 
              after(grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_3()); 
 
             }
@@ -11965,21 +11729,21 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4211:1: rule__TransitionPoint__Group__0 : rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4055:1: rule__TransitionPoint__Group__0 : rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1 ;
     public final void rule__TransitionPoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4215:1: ( rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4216:2: rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4059:1: ( rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4060:2: rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1
             {
-            pushFollow(FOLLOW_rule__TransitionPoint__Group__0__Impl_in_rule__TransitionPoint__Group__08714);
+            pushFollow(FOLLOW_rule__TransitionPoint__Group__0__Impl_in_rule__TransitionPoint__Group__08406);
             rule__TransitionPoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TransitionPoint__Group__1_in_rule__TransitionPoint__Group__08717);
+            pushFollow(FOLLOW_rule__TransitionPoint__Group__1_in_rule__TransitionPoint__Group__08409);
             rule__TransitionPoint__Group__1();
 
             state._fsp--;
@@ -12003,31 +11767,31 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4223:1: rule__TransitionPoint__Group__0__Impl : ( ( rule__TransitionPoint__HandlerAssignment_0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4067:1: rule__TransitionPoint__Group__0__Impl : ( ( rule__TransitionPoint__HandlerAssignment_0 )? ) ;
     public final void rule__TransitionPoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4227:1: ( ( ( rule__TransitionPoint__HandlerAssignment_0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4228:1: ( ( rule__TransitionPoint__HandlerAssignment_0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4071:1: ( ( ( rule__TransitionPoint__HandlerAssignment_0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4072:1: ( ( rule__TransitionPoint__HandlerAssignment_0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4228:1: ( ( rule__TransitionPoint__HandlerAssignment_0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4229:1: ( rule__TransitionPoint__HandlerAssignment_0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4072:1: ( ( rule__TransitionPoint__HandlerAssignment_0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4073:1: ( rule__TransitionPoint__HandlerAssignment_0 )?
             {
              before(grammarAccess.getTransitionPointAccess().getHandlerAssignment_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4230:1: ( rule__TransitionPoint__HandlerAssignment_0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4074:1: ( rule__TransitionPoint__HandlerAssignment_0 )?
             int alt44=2;
             int LA44_0 = input.LA(1);
 
-            if ( (LA44_0==68) ) {
+            if ( (LA44_0==69) ) {
                 alt44=1;
             }
             switch (alt44) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4230:2: rule__TransitionPoint__HandlerAssignment_0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4074:2: rule__TransitionPoint__HandlerAssignment_0
                     {
-                    pushFollow(FOLLOW_rule__TransitionPoint__HandlerAssignment_0_in_rule__TransitionPoint__Group__0__Impl8744);
+                    pushFollow(FOLLOW_rule__TransitionPoint__HandlerAssignment_0_in_rule__TransitionPoint__Group__0__Impl8436);
                     rule__TransitionPoint__HandlerAssignment_0();
 
                     state._fsp--;
@@ -12061,21 +11825,21 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4240:1: rule__TransitionPoint__Group__1 : rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4084:1: rule__TransitionPoint__Group__1 : rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2 ;
     public final void rule__TransitionPoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4244:1: ( rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4245:2: rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4088:1: ( rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4089:2: rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2
             {
-            pushFollow(FOLLOW_rule__TransitionPoint__Group__1__Impl_in_rule__TransitionPoint__Group__18775);
+            pushFollow(FOLLOW_rule__TransitionPoint__Group__1__Impl_in_rule__TransitionPoint__Group__18467);
             rule__TransitionPoint__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TransitionPoint__Group__2_in_rule__TransitionPoint__Group__18778);
+            pushFollow(FOLLOW_rule__TransitionPoint__Group__2_in_rule__TransitionPoint__Group__18470);
             rule__TransitionPoint__Group__2();
 
             state._fsp--;
@@ -12099,20 +11863,20 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4252:1: rule__TransitionPoint__Group__1__Impl : ( 'TransitionPoint' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4096:1: rule__TransitionPoint__Group__1__Impl : ( 'TransitionPoint' ) ;
     public final void rule__TransitionPoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4256:1: ( ( 'TransitionPoint' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4257:1: ( 'TransitionPoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4100:1: ( ( 'TransitionPoint' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4101:1: ( 'TransitionPoint' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4257:1: ( 'TransitionPoint' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4258:1: 'TransitionPoint'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4101:1: ( 'TransitionPoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4102:1: 'TransitionPoint'
             {
              before(grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1()); 
-            match(input,36,FOLLOW_36_in_rule__TransitionPoint__Group__1__Impl8806); 
+            match(input,37,FOLLOW_37_in_rule__TransitionPoint__Group__1__Impl8498); 
              after(grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1()); 
 
             }
@@ -12136,16 +11900,16 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4271:1: rule__TransitionPoint__Group__2 : rule__TransitionPoint__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4115:1: rule__TransitionPoint__Group__2 : rule__TransitionPoint__Group__2__Impl ;
     public final void rule__TransitionPoint__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4275:1: ( rule__TransitionPoint__Group__2__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4276:2: rule__TransitionPoint__Group__2__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4119:1: ( rule__TransitionPoint__Group__2__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4120:2: rule__TransitionPoint__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__TransitionPoint__Group__2__Impl_in_rule__TransitionPoint__Group__28837);
+            pushFollow(FOLLOW_rule__TransitionPoint__Group__2__Impl_in_rule__TransitionPoint__Group__28529);
             rule__TransitionPoint__Group__2__Impl();
 
             state._fsp--;
@@ -12169,23 +11933,23 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4282:1: rule__TransitionPoint__Group__2__Impl : ( ( rule__TransitionPoint__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4126:1: rule__TransitionPoint__Group__2__Impl : ( ( rule__TransitionPoint__NameAssignment_2 ) ) ;
     public final void rule__TransitionPoint__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4286:1: ( ( ( rule__TransitionPoint__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4287:1: ( ( rule__TransitionPoint__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4130:1: ( ( ( rule__TransitionPoint__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4131:1: ( ( rule__TransitionPoint__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4287:1: ( ( rule__TransitionPoint__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4288:1: ( rule__TransitionPoint__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4131:1: ( ( rule__TransitionPoint__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4132:1: ( rule__TransitionPoint__NameAssignment_2 )
             {
              before(grammarAccess.getTransitionPointAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4289:1: ( rule__TransitionPoint__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4289:2: rule__TransitionPoint__NameAssignment_2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4133:1: ( rule__TransitionPoint__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4133:2: rule__TransitionPoint__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__TransitionPoint__NameAssignment_2_in_rule__TransitionPoint__Group__2__Impl8864);
+            pushFollow(FOLLOW_rule__TransitionPoint__NameAssignment_2_in_rule__TransitionPoint__Group__2__Impl8556);
             rule__TransitionPoint__NameAssignment_2();
 
             state._fsp--;
@@ -12216,21 +11980,21 @@
 
 
     // $ANTLR start "rule__EntryPoint__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4305:1: rule__EntryPoint__Group__0 : rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4149:1: rule__EntryPoint__Group__0 : rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1 ;
     public final void rule__EntryPoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4309:1: ( rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4310:2: rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4153:1: ( rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4154:2: rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1
             {
-            pushFollow(FOLLOW_rule__EntryPoint__Group__0__Impl_in_rule__EntryPoint__Group__08900);
+            pushFollow(FOLLOW_rule__EntryPoint__Group__0__Impl_in_rule__EntryPoint__Group__08592);
             rule__EntryPoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EntryPoint__Group__1_in_rule__EntryPoint__Group__08903);
+            pushFollow(FOLLOW_rule__EntryPoint__Group__1_in_rule__EntryPoint__Group__08595);
             rule__EntryPoint__Group__1();
 
             state._fsp--;
@@ -12254,20 +12018,20 @@
 
 
     // $ANTLR start "rule__EntryPoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4317:1: rule__EntryPoint__Group__0__Impl : ( 'EntryPoint' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4161:1: rule__EntryPoint__Group__0__Impl : ( 'EntryPoint' ) ;
     public final void rule__EntryPoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4321:1: ( ( 'EntryPoint' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4322:1: ( 'EntryPoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4165:1: ( ( 'EntryPoint' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4166:1: ( 'EntryPoint' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4322:1: ( 'EntryPoint' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4323:1: 'EntryPoint'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4166:1: ( 'EntryPoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4167:1: 'EntryPoint'
             {
              before(grammarAccess.getEntryPointAccess().getEntryPointKeyword_0()); 
-            match(input,37,FOLLOW_37_in_rule__EntryPoint__Group__0__Impl8931); 
+            match(input,38,FOLLOW_38_in_rule__EntryPoint__Group__0__Impl8623); 
              after(grammarAccess.getEntryPointAccess().getEntryPointKeyword_0()); 
 
             }
@@ -12291,16 +12055,16 @@
 
 
     // $ANTLR start "rule__EntryPoint__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4336:1: rule__EntryPoint__Group__1 : rule__EntryPoint__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4180:1: rule__EntryPoint__Group__1 : rule__EntryPoint__Group__1__Impl ;
     public final void rule__EntryPoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4340:1: ( rule__EntryPoint__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4341:2: rule__EntryPoint__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4184:1: ( rule__EntryPoint__Group__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4185:2: rule__EntryPoint__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__EntryPoint__Group__1__Impl_in_rule__EntryPoint__Group__18962);
+            pushFollow(FOLLOW_rule__EntryPoint__Group__1__Impl_in_rule__EntryPoint__Group__18654);
             rule__EntryPoint__Group__1__Impl();
 
             state._fsp--;
@@ -12324,23 +12088,23 @@
 
 
     // $ANTLR start "rule__EntryPoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4347:1: rule__EntryPoint__Group__1__Impl : ( ( rule__EntryPoint__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4191:1: rule__EntryPoint__Group__1__Impl : ( ( rule__EntryPoint__NameAssignment_1 ) ) ;
     public final void rule__EntryPoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4351:1: ( ( ( rule__EntryPoint__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4352:1: ( ( rule__EntryPoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4195:1: ( ( ( rule__EntryPoint__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4196:1: ( ( rule__EntryPoint__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4352:1: ( ( rule__EntryPoint__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4353:1: ( rule__EntryPoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4196:1: ( ( rule__EntryPoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4197:1: ( rule__EntryPoint__NameAssignment_1 )
             {
              before(grammarAccess.getEntryPointAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4354:1: ( rule__EntryPoint__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4354:2: rule__EntryPoint__NameAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4198:1: ( rule__EntryPoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4198:2: rule__EntryPoint__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__EntryPoint__NameAssignment_1_in_rule__EntryPoint__Group__1__Impl8989);
+            pushFollow(FOLLOW_rule__EntryPoint__NameAssignment_1_in_rule__EntryPoint__Group__1__Impl8681);
             rule__EntryPoint__NameAssignment_1();
 
             state._fsp--;
@@ -12371,21 +12135,21 @@
 
 
     // $ANTLR start "rule__ExitPoint__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4368:1: rule__ExitPoint__Group__0 : rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4212:1: rule__ExitPoint__Group__0 : rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1 ;
     public final void rule__ExitPoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4372:1: ( rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4373:2: rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4216:1: ( rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4217:2: rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1
             {
-            pushFollow(FOLLOW_rule__ExitPoint__Group__0__Impl_in_rule__ExitPoint__Group__09023);
+            pushFollow(FOLLOW_rule__ExitPoint__Group__0__Impl_in_rule__ExitPoint__Group__08715);
             rule__ExitPoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ExitPoint__Group__1_in_rule__ExitPoint__Group__09026);
+            pushFollow(FOLLOW_rule__ExitPoint__Group__1_in_rule__ExitPoint__Group__08718);
             rule__ExitPoint__Group__1();
 
             state._fsp--;
@@ -12409,20 +12173,20 @@
 
 
     // $ANTLR start "rule__ExitPoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4380:1: rule__ExitPoint__Group__0__Impl : ( 'ExitPoint' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4224:1: rule__ExitPoint__Group__0__Impl : ( 'ExitPoint' ) ;
     public final void rule__ExitPoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4384:1: ( ( 'ExitPoint' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4385:1: ( 'ExitPoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4228:1: ( ( 'ExitPoint' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4229:1: ( 'ExitPoint' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4385:1: ( 'ExitPoint' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4386:1: 'ExitPoint'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4229:1: ( 'ExitPoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4230:1: 'ExitPoint'
             {
              before(grammarAccess.getExitPointAccess().getExitPointKeyword_0()); 
-            match(input,38,FOLLOW_38_in_rule__ExitPoint__Group__0__Impl9054); 
+            match(input,39,FOLLOW_39_in_rule__ExitPoint__Group__0__Impl8746); 
              after(grammarAccess.getExitPointAccess().getExitPointKeyword_0()); 
 
             }
@@ -12446,16 +12210,16 @@
 
 
     // $ANTLR start "rule__ExitPoint__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4399:1: rule__ExitPoint__Group__1 : rule__ExitPoint__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4243:1: rule__ExitPoint__Group__1 : rule__ExitPoint__Group__1__Impl ;
     public final void rule__ExitPoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4403:1: ( rule__ExitPoint__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4404:2: rule__ExitPoint__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4247:1: ( rule__ExitPoint__Group__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4248:2: rule__ExitPoint__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ExitPoint__Group__1__Impl_in_rule__ExitPoint__Group__19085);
+            pushFollow(FOLLOW_rule__ExitPoint__Group__1__Impl_in_rule__ExitPoint__Group__18777);
             rule__ExitPoint__Group__1__Impl();
 
             state._fsp--;
@@ -12479,23 +12243,23 @@
 
 
     // $ANTLR start "rule__ExitPoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4410:1: rule__ExitPoint__Group__1__Impl : ( ( rule__ExitPoint__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4254:1: rule__ExitPoint__Group__1__Impl : ( ( rule__ExitPoint__NameAssignment_1 ) ) ;
     public final void rule__ExitPoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4414:1: ( ( ( rule__ExitPoint__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4415:1: ( ( rule__ExitPoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4258:1: ( ( ( rule__ExitPoint__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4259:1: ( ( rule__ExitPoint__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4415:1: ( ( rule__ExitPoint__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4416:1: ( rule__ExitPoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4259:1: ( ( rule__ExitPoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4260:1: ( rule__ExitPoint__NameAssignment_1 )
             {
              before(grammarAccess.getExitPointAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4417:1: ( rule__ExitPoint__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4417:2: rule__ExitPoint__NameAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4261:1: ( rule__ExitPoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4261:2: rule__ExitPoint__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__ExitPoint__NameAssignment_1_in_rule__ExitPoint__Group__1__Impl9112);
+            pushFollow(FOLLOW_rule__ExitPoint__NameAssignment_1_in_rule__ExitPoint__Group__1__Impl8804);
             rule__ExitPoint__NameAssignment_1();
 
             state._fsp--;
@@ -12526,21 +12290,21 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4431:1: rule__ChoicePoint__Group__0 : rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4275:1: rule__ChoicePoint__Group__0 : rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1 ;
     public final void rule__ChoicePoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4435:1: ( rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4436:2: rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4279:1: ( rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4280:2: rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1
             {
-            pushFollow(FOLLOW_rule__ChoicePoint__Group__0__Impl_in_rule__ChoicePoint__Group__09146);
+            pushFollow(FOLLOW_rule__ChoicePoint__Group__0__Impl_in_rule__ChoicePoint__Group__08838);
             rule__ChoicePoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ChoicePoint__Group__1_in_rule__ChoicePoint__Group__09149);
+            pushFollow(FOLLOW_rule__ChoicePoint__Group__1_in_rule__ChoicePoint__Group__08841);
             rule__ChoicePoint__Group__1();
 
             state._fsp--;
@@ -12564,20 +12328,20 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4443:1: rule__ChoicePoint__Group__0__Impl : ( 'ChoicePoint' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4287:1: rule__ChoicePoint__Group__0__Impl : ( 'ChoicePoint' ) ;
     public final void rule__ChoicePoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4447:1: ( ( 'ChoicePoint' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4448:1: ( 'ChoicePoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4291:1: ( ( 'ChoicePoint' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4292:1: ( 'ChoicePoint' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4448:1: ( 'ChoicePoint' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4449:1: 'ChoicePoint'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4292:1: ( 'ChoicePoint' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4293:1: 'ChoicePoint'
             {
              before(grammarAccess.getChoicePointAccess().getChoicePointKeyword_0()); 
-            match(input,39,FOLLOW_39_in_rule__ChoicePoint__Group__0__Impl9177); 
+            match(input,40,FOLLOW_40_in_rule__ChoicePoint__Group__0__Impl8869); 
              after(grammarAccess.getChoicePointAccess().getChoicePointKeyword_0()); 
 
             }
@@ -12601,21 +12365,21 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4462:1: rule__ChoicePoint__Group__1 : rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4306:1: rule__ChoicePoint__Group__1 : rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2 ;
     public final void rule__ChoicePoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4466:1: ( rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4467:2: rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4310:1: ( rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4311:2: rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2
             {
-            pushFollow(FOLLOW_rule__ChoicePoint__Group__1__Impl_in_rule__ChoicePoint__Group__19208);
+            pushFollow(FOLLOW_rule__ChoicePoint__Group__1__Impl_in_rule__ChoicePoint__Group__18900);
             rule__ChoicePoint__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ChoicePoint__Group__2_in_rule__ChoicePoint__Group__19211);
+            pushFollow(FOLLOW_rule__ChoicePoint__Group__2_in_rule__ChoicePoint__Group__18903);
             rule__ChoicePoint__Group__2();
 
             state._fsp--;
@@ -12639,23 +12403,23 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4474:1: rule__ChoicePoint__Group__1__Impl : ( ( rule__ChoicePoint__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4318:1: rule__ChoicePoint__Group__1__Impl : ( ( rule__ChoicePoint__NameAssignment_1 ) ) ;
     public final void rule__ChoicePoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4478:1: ( ( ( rule__ChoicePoint__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4479:1: ( ( rule__ChoicePoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4322:1: ( ( ( rule__ChoicePoint__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4323:1: ( ( rule__ChoicePoint__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4479:1: ( ( rule__ChoicePoint__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4480:1: ( rule__ChoicePoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4323:1: ( ( rule__ChoicePoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4324:1: ( rule__ChoicePoint__NameAssignment_1 )
             {
              before(grammarAccess.getChoicePointAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4481:1: ( rule__ChoicePoint__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4481:2: rule__ChoicePoint__NameAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4325:1: ( rule__ChoicePoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4325:2: rule__ChoicePoint__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__ChoicePoint__NameAssignment_1_in_rule__ChoicePoint__Group__1__Impl9238);
+            pushFollow(FOLLOW_rule__ChoicePoint__NameAssignment_1_in_rule__ChoicePoint__Group__1__Impl8930);
             rule__ChoicePoint__NameAssignment_1();
 
             state._fsp--;
@@ -12686,16 +12450,16 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4491:1: rule__ChoicePoint__Group__2 : rule__ChoicePoint__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4335:1: rule__ChoicePoint__Group__2 : rule__ChoicePoint__Group__2__Impl ;
     public final void rule__ChoicePoint__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4495:1: ( rule__ChoicePoint__Group__2__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4496:2: rule__ChoicePoint__Group__2__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4339:1: ( rule__ChoicePoint__Group__2__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4340:2: rule__ChoicePoint__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__ChoicePoint__Group__2__Impl_in_rule__ChoicePoint__Group__29268);
+            pushFollow(FOLLOW_rule__ChoicePoint__Group__2__Impl_in_rule__ChoicePoint__Group__28960);
             rule__ChoicePoint__Group__2__Impl();
 
             state._fsp--;
@@ -12719,31 +12483,31 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4502:1: rule__ChoicePoint__Group__2__Impl : ( ( rule__ChoicePoint__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4346:1: rule__ChoicePoint__Group__2__Impl : ( ( rule__ChoicePoint__DocuAssignment_2 )? ) ;
     public final void rule__ChoicePoint__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4506:1: ( ( ( rule__ChoicePoint__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4507:1: ( ( rule__ChoicePoint__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4350:1: ( ( ( rule__ChoicePoint__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4351:1: ( ( rule__ChoicePoint__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4507:1: ( ( rule__ChoicePoint__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4508:1: ( rule__ChoicePoint__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4351:1: ( ( rule__ChoicePoint__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4352:1: ( rule__ChoicePoint__DocuAssignment_2 )?
             {
              before(grammarAccess.getChoicePointAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4509:1: ( rule__ChoicePoint__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4353:1: ( rule__ChoicePoint__DocuAssignment_2 )?
             int alt45=2;
             int LA45_0 = input.LA(1);
 
-            if ( (LA45_0==64) ) {
+            if ( (LA45_0==65) ) {
                 alt45=1;
             }
             switch (alt45) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4509:2: rule__ChoicePoint__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4353:2: rule__ChoicePoint__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__ChoicePoint__DocuAssignment_2_in_rule__ChoicePoint__Group__2__Impl9295);
+                    pushFollow(FOLLOW_rule__ChoicePoint__DocuAssignment_2_in_rule__ChoicePoint__Group__2__Impl8987);
                     rule__ChoicePoint__DocuAssignment_2();
 
                     state._fsp--;
@@ -12777,21 +12541,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4525:1: rule__InitialTransition__Group__0 : rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4369:1: rule__InitialTransition__Group__0 : rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1 ;
     public final void rule__InitialTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4529:1: ( rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4530:2: rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4373:1: ( rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4374:2: rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__0__Impl_in_rule__InitialTransition__Group__09332);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__0__Impl_in_rule__InitialTransition__Group__09024);
             rule__InitialTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__1_in_rule__InitialTransition__Group__09335);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__1_in_rule__InitialTransition__Group__09027);
             rule__InitialTransition__Group__1();
 
             state._fsp--;
@@ -12815,20 +12579,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4537:1: rule__InitialTransition__Group__0__Impl : ( 'Transition' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4381:1: rule__InitialTransition__Group__0__Impl : ( 'Transition' ) ;
     public final void rule__InitialTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4541:1: ( ( 'Transition' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4542:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4385:1: ( ( 'Transition' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4386:1: ( 'Transition' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4542:1: ( 'Transition' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4543:1: 'Transition'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4386:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4387:1: 'Transition'
             {
              before(grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0()); 
-            match(input,40,FOLLOW_40_in_rule__InitialTransition__Group__0__Impl9363); 
+            match(input,41,FOLLOW_41_in_rule__InitialTransition__Group__0__Impl9055); 
              after(grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0()); 
 
             }
@@ -12852,21 +12616,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4556:1: rule__InitialTransition__Group__1 : rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4400:1: rule__InitialTransition__Group__1 : rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2 ;
     public final void rule__InitialTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4560:1: ( rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4561:2: rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4404:1: ( rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4405:2: rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__1__Impl_in_rule__InitialTransition__Group__19394);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__1__Impl_in_rule__InitialTransition__Group__19086);
             rule__InitialTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__2_in_rule__InitialTransition__Group__19397);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__2_in_rule__InitialTransition__Group__19089);
             rule__InitialTransition__Group__2();
 
             state._fsp--;
@@ -12890,20 +12654,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4568:1: rule__InitialTransition__Group__1__Impl : ( ( rule__InitialTransition__NameAssignment_1 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4412:1: rule__InitialTransition__Group__1__Impl : ( ( rule__InitialTransition__NameAssignment_1 )? ) ;
     public final void rule__InitialTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4572:1: ( ( ( rule__InitialTransition__NameAssignment_1 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4573:1: ( ( rule__InitialTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4416:1: ( ( ( rule__InitialTransition__NameAssignment_1 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4417:1: ( ( rule__InitialTransition__NameAssignment_1 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4573:1: ( ( rule__InitialTransition__NameAssignment_1 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4574:1: ( rule__InitialTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4417:1: ( ( rule__InitialTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4418:1: ( rule__InitialTransition__NameAssignment_1 )?
             {
              before(grammarAccess.getInitialTransitionAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4575:1: ( rule__InitialTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4419:1: ( rule__InitialTransition__NameAssignment_1 )?
             int alt46=2;
             int LA46_0 = input.LA(1);
 
@@ -12912,9 +12676,9 @@
             }
             switch (alt46) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4575:2: rule__InitialTransition__NameAssignment_1
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4419:2: rule__InitialTransition__NameAssignment_1
                     {
-                    pushFollow(FOLLOW_rule__InitialTransition__NameAssignment_1_in_rule__InitialTransition__Group__1__Impl9424);
+                    pushFollow(FOLLOW_rule__InitialTransition__NameAssignment_1_in_rule__InitialTransition__Group__1__Impl9116);
                     rule__InitialTransition__NameAssignment_1();
 
                     state._fsp--;
@@ -12948,21 +12712,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4585:1: rule__InitialTransition__Group__2 : rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4429:1: rule__InitialTransition__Group__2 : rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3 ;
     public final void rule__InitialTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4589:1: ( rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4590:2: rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4433:1: ( rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4434:2: rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__2__Impl_in_rule__InitialTransition__Group__29455);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__2__Impl_in_rule__InitialTransition__Group__29147);
             rule__InitialTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__3_in_rule__InitialTransition__Group__29458);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__3_in_rule__InitialTransition__Group__29150);
             rule__InitialTransition__Group__3();
 
             state._fsp--;
@@ -12986,20 +12750,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4597:1: rule__InitialTransition__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4441:1: rule__InitialTransition__Group__2__Impl : ( ':' ) ;
     public final void rule__InitialTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4601:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4602:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4445:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4446:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4602:1: ( ':' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4603:1: ':'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4446:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4447:1: ':'
             {
              before(grammarAccess.getInitialTransitionAccess().getColonKeyword_2()); 
-            match(input,41,FOLLOW_41_in_rule__InitialTransition__Group__2__Impl9486); 
+            match(input,42,FOLLOW_42_in_rule__InitialTransition__Group__2__Impl9178); 
              after(grammarAccess.getInitialTransitionAccess().getColonKeyword_2()); 
 
             }
@@ -13023,21 +12787,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4616:1: rule__InitialTransition__Group__3 : rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4460:1: rule__InitialTransition__Group__3 : rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4 ;
     public final void rule__InitialTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4620:1: ( rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4621:2: rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4464:1: ( rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4465:2: rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__3__Impl_in_rule__InitialTransition__Group__39517);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__3__Impl_in_rule__InitialTransition__Group__39209);
             rule__InitialTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__4_in_rule__InitialTransition__Group__39520);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__4_in_rule__InitialTransition__Group__39212);
             rule__InitialTransition__Group__4();
 
             state._fsp--;
@@ -13061,20 +12825,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4628:1: rule__InitialTransition__Group__3__Impl : ( 'initial' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4472:1: rule__InitialTransition__Group__3__Impl : ( 'initial' ) ;
     public final void rule__InitialTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4632:1: ( ( 'initial' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4633:1: ( 'initial' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4476:1: ( ( 'initial' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4477:1: ( 'initial' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4633:1: ( 'initial' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4634:1: 'initial'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4477:1: ( 'initial' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4478:1: 'initial'
             {
              before(grammarAccess.getInitialTransitionAccess().getInitialKeyword_3()); 
-            match(input,42,FOLLOW_42_in_rule__InitialTransition__Group__3__Impl9548); 
+            match(input,43,FOLLOW_43_in_rule__InitialTransition__Group__3__Impl9240); 
              after(grammarAccess.getInitialTransitionAccess().getInitialKeyword_3()); 
 
             }
@@ -13098,21 +12862,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4647:1: rule__InitialTransition__Group__4 : rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4491:1: rule__InitialTransition__Group__4 : rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5 ;
     public final void rule__InitialTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4651:1: ( rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4652:2: rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4495:1: ( rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4496:2: rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__4__Impl_in_rule__InitialTransition__Group__49579);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__4__Impl_in_rule__InitialTransition__Group__49271);
             rule__InitialTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__5_in_rule__InitialTransition__Group__49582);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__5_in_rule__InitialTransition__Group__49274);
             rule__InitialTransition__Group__5();
 
             state._fsp--;
@@ -13136,20 +12900,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4659:1: rule__InitialTransition__Group__4__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4503:1: rule__InitialTransition__Group__4__Impl : ( '->' ) ;
     public final void rule__InitialTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4663:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4664:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4507:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4508:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4664:1: ( '->' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4665:1: '->'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4508:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4509:1: '->'
             {
              before(grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
-            match(input,43,FOLLOW_43_in_rule__InitialTransition__Group__4__Impl9610); 
+            match(input,44,FOLLOW_44_in_rule__InitialTransition__Group__4__Impl9302); 
              after(grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
 
             }
@@ -13173,21 +12937,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4678:1: rule__InitialTransition__Group__5 : rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4522:1: rule__InitialTransition__Group__5 : rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6 ;
     public final void rule__InitialTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4682:1: ( rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4683:2: rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4526:1: ( rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4527:2: rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__5__Impl_in_rule__InitialTransition__Group__59641);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__5__Impl_in_rule__InitialTransition__Group__59333);
             rule__InitialTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__6_in_rule__InitialTransition__Group__59644);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__6_in_rule__InitialTransition__Group__59336);
             rule__InitialTransition__Group__6();
 
             state._fsp--;
@@ -13211,23 +12975,23 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4690:1: rule__InitialTransition__Group__5__Impl : ( ( rule__InitialTransition__ToAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4534:1: rule__InitialTransition__Group__5__Impl : ( ( rule__InitialTransition__ToAssignment_5 ) ) ;
     public final void rule__InitialTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4694:1: ( ( ( rule__InitialTransition__ToAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4695:1: ( ( rule__InitialTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4538:1: ( ( ( rule__InitialTransition__ToAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4539:1: ( ( rule__InitialTransition__ToAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4695:1: ( ( rule__InitialTransition__ToAssignment_5 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4696:1: ( rule__InitialTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4539:1: ( ( rule__InitialTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4540:1: ( rule__InitialTransition__ToAssignment_5 )
             {
              before(grammarAccess.getInitialTransitionAccess().getToAssignment_5()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4697:1: ( rule__InitialTransition__ToAssignment_5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4697:2: rule__InitialTransition__ToAssignment_5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4541:1: ( rule__InitialTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4541:2: rule__InitialTransition__ToAssignment_5
             {
-            pushFollow(FOLLOW_rule__InitialTransition__ToAssignment_5_in_rule__InitialTransition__Group__5__Impl9671);
+            pushFollow(FOLLOW_rule__InitialTransition__ToAssignment_5_in_rule__InitialTransition__Group__5__Impl9363);
             rule__InitialTransition__ToAssignment_5();
 
             state._fsp--;
@@ -13258,21 +13022,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4707:1: rule__InitialTransition__Group__6 : rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4551:1: rule__InitialTransition__Group__6 : rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7 ;
     public final void rule__InitialTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4711:1: ( rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4712:2: rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4555:1: ( rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4556:2: rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__6__Impl_in_rule__InitialTransition__Group__69701);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__6__Impl_in_rule__InitialTransition__Group__69393);
             rule__InitialTransition__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__7_in_rule__InitialTransition__Group__69704);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__7_in_rule__InitialTransition__Group__69396);
             rule__InitialTransition__Group__7();
 
             state._fsp--;
@@ -13296,31 +13060,31 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4719:1: rule__InitialTransition__Group__6__Impl : ( ( rule__InitialTransition__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4563:1: rule__InitialTransition__Group__6__Impl : ( ( rule__InitialTransition__DocuAssignment_6 )? ) ;
     public final void rule__InitialTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4723:1: ( ( ( rule__InitialTransition__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4724:1: ( ( rule__InitialTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4567:1: ( ( ( rule__InitialTransition__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4568:1: ( ( rule__InitialTransition__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4724:1: ( ( rule__InitialTransition__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4725:1: ( rule__InitialTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4568:1: ( ( rule__InitialTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4569:1: ( rule__InitialTransition__DocuAssignment_6 )?
             {
              before(grammarAccess.getInitialTransitionAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4726:1: ( rule__InitialTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4570:1: ( rule__InitialTransition__DocuAssignment_6 )?
             int alt47=2;
             int LA47_0 = input.LA(1);
 
-            if ( (LA47_0==64) ) {
+            if ( (LA47_0==65) ) {
                 alt47=1;
             }
             switch (alt47) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4726:2: rule__InitialTransition__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4570:2: rule__InitialTransition__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__InitialTransition__DocuAssignment_6_in_rule__InitialTransition__Group__6__Impl9731);
+                    pushFollow(FOLLOW_rule__InitialTransition__DocuAssignment_6_in_rule__InitialTransition__Group__6__Impl9423);
                     rule__InitialTransition__DocuAssignment_6();
 
                     state._fsp--;
@@ -13354,16 +13118,16 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__7"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4736:1: rule__InitialTransition__Group__7 : rule__InitialTransition__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4580:1: rule__InitialTransition__Group__7 : rule__InitialTransition__Group__7__Impl ;
     public final void rule__InitialTransition__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4740:1: ( rule__InitialTransition__Group__7__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4741:2: rule__InitialTransition__Group__7__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4584:1: ( rule__InitialTransition__Group__7__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4585:2: rule__InitialTransition__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__7__Impl_in_rule__InitialTransition__Group__79762);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__7__Impl_in_rule__InitialTransition__Group__79454);
             rule__InitialTransition__Group__7__Impl();
 
             state._fsp--;
@@ -13387,31 +13151,31 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__7__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4747:1: rule__InitialTransition__Group__7__Impl : ( ( rule__InitialTransition__Group_7__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4591:1: rule__InitialTransition__Group__7__Impl : ( ( rule__InitialTransition__Group_7__0 )? ) ;
     public final void rule__InitialTransition__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4751:1: ( ( ( rule__InitialTransition__Group_7__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4752:1: ( ( rule__InitialTransition__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4595:1: ( ( ( rule__InitialTransition__Group_7__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4596:1: ( ( rule__InitialTransition__Group_7__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4752:1: ( ( rule__InitialTransition__Group_7__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4753:1: ( rule__InitialTransition__Group_7__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4596:1: ( ( rule__InitialTransition__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4597:1: ( rule__InitialTransition__Group_7__0 )?
             {
              before(grammarAccess.getInitialTransitionAccess().getGroup_7()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4754:1: ( rule__InitialTransition__Group_7__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4598:1: ( rule__InitialTransition__Group_7__0 )?
             int alt48=2;
             int LA48_0 = input.LA(1);
 
-            if ( (LA48_0==27) ) {
+            if ( (LA48_0==28) ) {
                 alt48=1;
             }
             switch (alt48) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4754:2: rule__InitialTransition__Group_7__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4598:2: rule__InitialTransition__Group_7__0
                     {
-                    pushFollow(FOLLOW_rule__InitialTransition__Group_7__0_in_rule__InitialTransition__Group__7__Impl9789);
+                    pushFollow(FOLLOW_rule__InitialTransition__Group_7__0_in_rule__InitialTransition__Group__7__Impl9481);
                     rule__InitialTransition__Group_7__0();
 
                     state._fsp--;
@@ -13445,21 +13209,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4780:1: rule__InitialTransition__Group_7__0 : rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4624:1: rule__InitialTransition__Group_7__0 : rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1 ;
     public final void rule__InitialTransition__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4784:1: ( rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4785:2: rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4628:1: ( rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4629:2: rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7__0__Impl_in_rule__InitialTransition__Group_7__09836);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7__0__Impl_in_rule__InitialTransition__Group_7__09528);
             rule__InitialTransition__Group_7__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7__1_in_rule__InitialTransition__Group_7__09839);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7__1_in_rule__InitialTransition__Group_7__09531);
             rule__InitialTransition__Group_7__1();
 
             state._fsp--;
@@ -13483,20 +13247,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4792:1: rule__InitialTransition__Group_7__0__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4636:1: rule__InitialTransition__Group_7__0__Impl : ( '{' ) ;
     public final void rule__InitialTransition__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4796:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4797:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4640:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4641:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4797:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4798:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4641:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4642:1: '{'
             {
              before(grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_7_0()); 
-            match(input,27,FOLLOW_27_in_rule__InitialTransition__Group_7__0__Impl9867); 
+            match(input,28,FOLLOW_28_in_rule__InitialTransition__Group_7__0__Impl9559); 
              after(grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_7_0()); 
 
             }
@@ -13520,21 +13284,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4811:1: rule__InitialTransition__Group_7__1 : rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4655:1: rule__InitialTransition__Group_7__1 : rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2 ;
     public final void rule__InitialTransition__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4815:1: ( rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4816:2: rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4659:1: ( rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4660:2: rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7__1__Impl_in_rule__InitialTransition__Group_7__19898);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7__1__Impl_in_rule__InitialTransition__Group_7__19590);
             rule__InitialTransition__Group_7__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7__2_in_rule__InitialTransition__Group_7__19901);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7__2_in_rule__InitialTransition__Group_7__19593);
             rule__InitialTransition__Group_7__2();
 
             state._fsp--;
@@ -13558,31 +13322,31 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4823:1: rule__InitialTransition__Group_7__1__Impl : ( ( rule__InitialTransition__Group_7_1__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4667:1: rule__InitialTransition__Group_7__1__Impl : ( ( rule__InitialTransition__Group_7_1__0 )? ) ;
     public final void rule__InitialTransition__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4827:1: ( ( ( rule__InitialTransition__Group_7_1__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4828:1: ( ( rule__InitialTransition__Group_7_1__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4671:1: ( ( ( rule__InitialTransition__Group_7_1__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4672:1: ( ( rule__InitialTransition__Group_7_1__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4828:1: ( ( rule__InitialTransition__Group_7_1__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4829:1: ( rule__InitialTransition__Group_7_1__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4672:1: ( ( rule__InitialTransition__Group_7_1__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4673:1: ( rule__InitialTransition__Group_7_1__0 )?
             {
              before(grammarAccess.getInitialTransitionAccess().getGroup_7_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4830:1: ( rule__InitialTransition__Group_7_1__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4674:1: ( rule__InitialTransition__Group_7_1__0 )?
             int alt49=2;
             int LA49_0 = input.LA(1);
 
-            if ( (LA49_0==44) ) {
+            if ( (LA49_0==45) ) {
                 alt49=1;
             }
             switch (alt49) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4830:2: rule__InitialTransition__Group_7_1__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4674:2: rule__InitialTransition__Group_7_1__0
                     {
-                    pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__0_in_rule__InitialTransition__Group_7__1__Impl9928);
+                    pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__0_in_rule__InitialTransition__Group_7__1__Impl9620);
                     rule__InitialTransition__Group_7_1__0();
 
                     state._fsp--;
@@ -13616,16 +13380,16 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4840:1: rule__InitialTransition__Group_7__2 : rule__InitialTransition__Group_7__2__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4684:1: rule__InitialTransition__Group_7__2 : rule__InitialTransition__Group_7__2__Impl ;
     public final void rule__InitialTransition__Group_7__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4844:1: ( rule__InitialTransition__Group_7__2__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4845:2: rule__InitialTransition__Group_7__2__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4688:1: ( rule__InitialTransition__Group_7__2__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4689:2: rule__InitialTransition__Group_7__2__Impl
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7__2__Impl_in_rule__InitialTransition__Group_7__29959);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7__2__Impl_in_rule__InitialTransition__Group_7__29651);
             rule__InitialTransition__Group_7__2__Impl();
 
             state._fsp--;
@@ -13649,20 +13413,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4851:1: rule__InitialTransition__Group_7__2__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4695:1: rule__InitialTransition__Group_7__2__Impl : ( '}' ) ;
     public final void rule__InitialTransition__Group_7__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4855:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4856:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4699:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4700:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4856:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4857:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4700:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4701:1: '}'
             {
              before(grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_7_2()); 
-            match(input,28,FOLLOW_28_in_rule__InitialTransition__Group_7__2__Impl9987); 
+            match(input,29,FOLLOW_29_in_rule__InitialTransition__Group_7__2__Impl9679); 
              after(grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_7_2()); 
 
             }
@@ -13686,21 +13450,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7_1__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4876:1: rule__InitialTransition__Group_7_1__0 : rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4720:1: rule__InitialTransition__Group_7_1__0 : rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1 ;
     public final void rule__InitialTransition__Group_7_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4880:1: ( rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4881:2: rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4724:1: ( rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4725:2: rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__0__Impl_in_rule__InitialTransition__Group_7_1__010024);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__0__Impl_in_rule__InitialTransition__Group_7_1__09716);
             rule__InitialTransition__Group_7_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__1_in_rule__InitialTransition__Group_7_1__010027);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__1_in_rule__InitialTransition__Group_7_1__09719);
             rule__InitialTransition__Group_7_1__1();
 
             state._fsp--;
@@ -13724,20 +13488,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7_1__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4888:1: rule__InitialTransition__Group_7_1__0__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4732:1: rule__InitialTransition__Group_7_1__0__Impl : ( 'action' ) ;
     public final void rule__InitialTransition__Group_7_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4892:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4893:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4736:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4737:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4893:1: ( 'action' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4894:1: 'action'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4737:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4738:1: 'action'
             {
              before(grammarAccess.getInitialTransitionAccess().getActionKeyword_7_1_0()); 
-            match(input,44,FOLLOW_44_in_rule__InitialTransition__Group_7_1__0__Impl10055); 
+            match(input,45,FOLLOW_45_in_rule__InitialTransition__Group_7_1__0__Impl9747); 
              after(grammarAccess.getInitialTransitionAccess().getActionKeyword_7_1_0()); 
 
             }
@@ -13761,16 +13525,16 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7_1__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4907:1: rule__InitialTransition__Group_7_1__1 : rule__InitialTransition__Group_7_1__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4751:1: rule__InitialTransition__Group_7_1__1 : rule__InitialTransition__Group_7_1__1__Impl ;
     public final void rule__InitialTransition__Group_7_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4911:1: ( rule__InitialTransition__Group_7_1__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4912:2: rule__InitialTransition__Group_7_1__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4755:1: ( rule__InitialTransition__Group_7_1__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4756:2: rule__InitialTransition__Group_7_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__1__Impl_in_rule__InitialTransition__Group_7_1__110086);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__1__Impl_in_rule__InitialTransition__Group_7_1__19778);
             rule__InitialTransition__Group_7_1__1__Impl();
 
             state._fsp--;
@@ -13794,23 +13558,23 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7_1__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4918:1: rule__InitialTransition__Group_7_1__1__Impl : ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4762:1: rule__InitialTransition__Group_7_1__1__Impl : ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) ) ;
     public final void rule__InitialTransition__Group_7_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4922:1: ( ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4923:1: ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4766:1: ( ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4767:1: ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4923:1: ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4924:1: ( rule__InitialTransition__ActionAssignment_7_1_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4767:1: ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4768:1: ( rule__InitialTransition__ActionAssignment_7_1_1 )
             {
              before(grammarAccess.getInitialTransitionAccess().getActionAssignment_7_1_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4925:1: ( rule__InitialTransition__ActionAssignment_7_1_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4925:2: rule__InitialTransition__ActionAssignment_7_1_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4769:1: ( rule__InitialTransition__ActionAssignment_7_1_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4769:2: rule__InitialTransition__ActionAssignment_7_1_1
             {
-            pushFollow(FOLLOW_rule__InitialTransition__ActionAssignment_7_1_1_in_rule__InitialTransition__Group_7_1__1__Impl10113);
+            pushFollow(FOLLOW_rule__InitialTransition__ActionAssignment_7_1_1_in_rule__InitialTransition__Group_7_1__1__Impl9805);
             rule__InitialTransition__ActionAssignment_7_1_1();
 
             state._fsp--;
@@ -13841,21 +13605,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4939:1: rule__ContinuationTransition__Group__0 : rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4783:1: rule__ContinuationTransition__Group__0 : rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1 ;
     public final void rule__ContinuationTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4943:1: ( rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4944:2: rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4787:1: ( rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4788:2: rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__0__Impl_in_rule__ContinuationTransition__Group__010147);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__0__Impl_in_rule__ContinuationTransition__Group__09839);
             rule__ContinuationTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__1_in_rule__ContinuationTransition__Group__010150);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__1_in_rule__ContinuationTransition__Group__09842);
             rule__ContinuationTransition__Group__1();
 
             state._fsp--;
@@ -13879,20 +13643,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4951:1: rule__ContinuationTransition__Group__0__Impl : ( 'Transition' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4795:1: rule__ContinuationTransition__Group__0__Impl : ( 'Transition' ) ;
     public final void rule__ContinuationTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4955:1: ( ( 'Transition' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4956:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4799:1: ( ( 'Transition' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4800:1: ( 'Transition' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4956:1: ( 'Transition' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4957:1: 'Transition'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4800:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4801:1: 'Transition'
             {
              before(grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0()); 
-            match(input,40,FOLLOW_40_in_rule__ContinuationTransition__Group__0__Impl10178); 
+            match(input,41,FOLLOW_41_in_rule__ContinuationTransition__Group__0__Impl9870); 
              after(grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0()); 
 
             }
@@ -13916,21 +13680,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4970:1: rule__ContinuationTransition__Group__1 : rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4814:1: rule__ContinuationTransition__Group__1 : rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2 ;
     public final void rule__ContinuationTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4974:1: ( rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4975:2: rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4818:1: ( rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4819:2: rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__1__Impl_in_rule__ContinuationTransition__Group__110209);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__1__Impl_in_rule__ContinuationTransition__Group__19901);
             rule__ContinuationTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__2_in_rule__ContinuationTransition__Group__110212);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__2_in_rule__ContinuationTransition__Group__19904);
             rule__ContinuationTransition__Group__2();
 
             state._fsp--;
@@ -13954,20 +13718,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4982:1: rule__ContinuationTransition__Group__1__Impl : ( ( rule__ContinuationTransition__NameAssignment_1 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4826:1: rule__ContinuationTransition__Group__1__Impl : ( ( rule__ContinuationTransition__NameAssignment_1 )? ) ;
     public final void rule__ContinuationTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4986:1: ( ( ( rule__ContinuationTransition__NameAssignment_1 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4987:1: ( ( rule__ContinuationTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4830:1: ( ( ( rule__ContinuationTransition__NameAssignment_1 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4831:1: ( ( rule__ContinuationTransition__NameAssignment_1 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4987:1: ( ( rule__ContinuationTransition__NameAssignment_1 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4988:1: ( rule__ContinuationTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4831:1: ( ( rule__ContinuationTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4832:1: ( rule__ContinuationTransition__NameAssignment_1 )?
             {
              before(grammarAccess.getContinuationTransitionAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4989:1: ( rule__ContinuationTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4833:1: ( rule__ContinuationTransition__NameAssignment_1 )?
             int alt50=2;
             int LA50_0 = input.LA(1);
 
@@ -13976,9 +13740,9 @@
             }
             switch (alt50) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4989:2: rule__ContinuationTransition__NameAssignment_1
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4833:2: rule__ContinuationTransition__NameAssignment_1
                     {
-                    pushFollow(FOLLOW_rule__ContinuationTransition__NameAssignment_1_in_rule__ContinuationTransition__Group__1__Impl10239);
+                    pushFollow(FOLLOW_rule__ContinuationTransition__NameAssignment_1_in_rule__ContinuationTransition__Group__1__Impl9931);
                     rule__ContinuationTransition__NameAssignment_1();
 
                     state._fsp--;
@@ -14012,21 +13776,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4999:1: rule__ContinuationTransition__Group__2 : rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4843:1: rule__ContinuationTransition__Group__2 : rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3 ;
     public final void rule__ContinuationTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5003:1: ( rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5004:2: rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4847:1: ( rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4848:2: rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__2__Impl_in_rule__ContinuationTransition__Group__210270);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__2__Impl_in_rule__ContinuationTransition__Group__29962);
             rule__ContinuationTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__3_in_rule__ContinuationTransition__Group__210273);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__3_in_rule__ContinuationTransition__Group__29965);
             rule__ContinuationTransition__Group__3();
 
             state._fsp--;
@@ -14050,20 +13814,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5011:1: rule__ContinuationTransition__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4855:1: rule__ContinuationTransition__Group__2__Impl : ( ':' ) ;
     public final void rule__ContinuationTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5015:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5016:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4859:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4860:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5016:1: ( ':' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5017:1: ':'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4860:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4861:1: ':'
             {
              before(grammarAccess.getContinuationTransitionAccess().getColonKeyword_2()); 
-            match(input,41,FOLLOW_41_in_rule__ContinuationTransition__Group__2__Impl10301); 
+            match(input,42,FOLLOW_42_in_rule__ContinuationTransition__Group__2__Impl9993); 
              after(grammarAccess.getContinuationTransitionAccess().getColonKeyword_2()); 
 
             }
@@ -14087,21 +13851,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5030:1: rule__ContinuationTransition__Group__3 : rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4874:1: rule__ContinuationTransition__Group__3 : rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4 ;
     public final void rule__ContinuationTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5034:1: ( rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5035:2: rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4878:1: ( rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4879:2: rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__3__Impl_in_rule__ContinuationTransition__Group__310332);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__3__Impl_in_rule__ContinuationTransition__Group__310024);
             rule__ContinuationTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__4_in_rule__ContinuationTransition__Group__310335);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__4_in_rule__ContinuationTransition__Group__310027);
             rule__ContinuationTransition__Group__4();
 
             state._fsp--;
@@ -14125,23 +13889,23 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5042:1: rule__ContinuationTransition__Group__3__Impl : ( ( rule__ContinuationTransition__FromAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4886:1: rule__ContinuationTransition__Group__3__Impl : ( ( rule__ContinuationTransition__FromAssignment_3 ) ) ;
     public final void rule__ContinuationTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5046:1: ( ( ( rule__ContinuationTransition__FromAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5047:1: ( ( rule__ContinuationTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4890:1: ( ( ( rule__ContinuationTransition__FromAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4891:1: ( ( rule__ContinuationTransition__FromAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5047:1: ( ( rule__ContinuationTransition__FromAssignment_3 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5048:1: ( rule__ContinuationTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4891:1: ( ( rule__ContinuationTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4892:1: ( rule__ContinuationTransition__FromAssignment_3 )
             {
              before(grammarAccess.getContinuationTransitionAccess().getFromAssignment_3()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5049:1: ( rule__ContinuationTransition__FromAssignment_3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5049:2: rule__ContinuationTransition__FromAssignment_3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4893:1: ( rule__ContinuationTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4893:2: rule__ContinuationTransition__FromAssignment_3
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__FromAssignment_3_in_rule__ContinuationTransition__Group__3__Impl10362);
+            pushFollow(FOLLOW_rule__ContinuationTransition__FromAssignment_3_in_rule__ContinuationTransition__Group__3__Impl10054);
             rule__ContinuationTransition__FromAssignment_3();
 
             state._fsp--;
@@ -14172,21 +13936,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5059:1: rule__ContinuationTransition__Group__4 : rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4903:1: rule__ContinuationTransition__Group__4 : rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5 ;
     public final void rule__ContinuationTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5063:1: ( rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5064:2: rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4907:1: ( rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4908:2: rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__4__Impl_in_rule__ContinuationTransition__Group__410392);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__4__Impl_in_rule__ContinuationTransition__Group__410084);
             rule__ContinuationTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__5_in_rule__ContinuationTransition__Group__410395);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__5_in_rule__ContinuationTransition__Group__410087);
             rule__ContinuationTransition__Group__5();
 
             state._fsp--;
@@ -14210,20 +13974,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5071:1: rule__ContinuationTransition__Group__4__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4915:1: rule__ContinuationTransition__Group__4__Impl : ( '->' ) ;
     public final void rule__ContinuationTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5075:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5076:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4919:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4920:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5076:1: ( '->' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5077:1: '->'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4920:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4921:1: '->'
             {
              before(grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
-            match(input,43,FOLLOW_43_in_rule__ContinuationTransition__Group__4__Impl10423); 
+            match(input,44,FOLLOW_44_in_rule__ContinuationTransition__Group__4__Impl10115); 
              after(grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
 
             }
@@ -14247,21 +14011,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5090:1: rule__ContinuationTransition__Group__5 : rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4934:1: rule__ContinuationTransition__Group__5 : rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6 ;
     public final void rule__ContinuationTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5094:1: ( rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5095:2: rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4938:1: ( rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4939:2: rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__5__Impl_in_rule__ContinuationTransition__Group__510454);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__5__Impl_in_rule__ContinuationTransition__Group__510146);
             rule__ContinuationTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__6_in_rule__ContinuationTransition__Group__510457);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__6_in_rule__ContinuationTransition__Group__510149);
             rule__ContinuationTransition__Group__6();
 
             state._fsp--;
@@ -14285,23 +14049,23 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5102:1: rule__ContinuationTransition__Group__5__Impl : ( ( rule__ContinuationTransition__ToAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4946:1: rule__ContinuationTransition__Group__5__Impl : ( ( rule__ContinuationTransition__ToAssignment_5 ) ) ;
     public final void rule__ContinuationTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5106:1: ( ( ( rule__ContinuationTransition__ToAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5107:1: ( ( rule__ContinuationTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4950:1: ( ( ( rule__ContinuationTransition__ToAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4951:1: ( ( rule__ContinuationTransition__ToAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5107:1: ( ( rule__ContinuationTransition__ToAssignment_5 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5108:1: ( rule__ContinuationTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4951:1: ( ( rule__ContinuationTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4952:1: ( rule__ContinuationTransition__ToAssignment_5 )
             {
              before(grammarAccess.getContinuationTransitionAccess().getToAssignment_5()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5109:1: ( rule__ContinuationTransition__ToAssignment_5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5109:2: rule__ContinuationTransition__ToAssignment_5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4953:1: ( rule__ContinuationTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4953:2: rule__ContinuationTransition__ToAssignment_5
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__ToAssignment_5_in_rule__ContinuationTransition__Group__5__Impl10484);
+            pushFollow(FOLLOW_rule__ContinuationTransition__ToAssignment_5_in_rule__ContinuationTransition__Group__5__Impl10176);
             rule__ContinuationTransition__ToAssignment_5();
 
             state._fsp--;
@@ -14332,21 +14096,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5119:1: rule__ContinuationTransition__Group__6 : rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4963:1: rule__ContinuationTransition__Group__6 : rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7 ;
     public final void rule__ContinuationTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5123:1: ( rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5124:2: rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4967:1: ( rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4968:2: rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__6__Impl_in_rule__ContinuationTransition__Group__610514);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__6__Impl_in_rule__ContinuationTransition__Group__610206);
             rule__ContinuationTransition__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__7_in_rule__ContinuationTransition__Group__610517);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__7_in_rule__ContinuationTransition__Group__610209);
             rule__ContinuationTransition__Group__7();
 
             state._fsp--;
@@ -14370,31 +14134,31 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5131:1: rule__ContinuationTransition__Group__6__Impl : ( ( rule__ContinuationTransition__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4975:1: rule__ContinuationTransition__Group__6__Impl : ( ( rule__ContinuationTransition__DocuAssignment_6 )? ) ;
     public final void rule__ContinuationTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5135:1: ( ( ( rule__ContinuationTransition__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5136:1: ( ( rule__ContinuationTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4979:1: ( ( ( rule__ContinuationTransition__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4980:1: ( ( rule__ContinuationTransition__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5136:1: ( ( rule__ContinuationTransition__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5137:1: ( rule__ContinuationTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4980:1: ( ( rule__ContinuationTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4981:1: ( rule__ContinuationTransition__DocuAssignment_6 )?
             {
              before(grammarAccess.getContinuationTransitionAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5138:1: ( rule__ContinuationTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4982:1: ( rule__ContinuationTransition__DocuAssignment_6 )?
             int alt51=2;
             int LA51_0 = input.LA(1);
 
-            if ( (LA51_0==64) ) {
+            if ( (LA51_0==65) ) {
                 alt51=1;
             }
             switch (alt51) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5138:2: rule__ContinuationTransition__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4982:2: rule__ContinuationTransition__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__ContinuationTransition__DocuAssignment_6_in_rule__ContinuationTransition__Group__6__Impl10544);
+                    pushFollow(FOLLOW_rule__ContinuationTransition__DocuAssignment_6_in_rule__ContinuationTransition__Group__6__Impl10236);
                     rule__ContinuationTransition__DocuAssignment_6();
 
                     state._fsp--;
@@ -14428,16 +14192,16 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__7"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5148:1: rule__ContinuationTransition__Group__7 : rule__ContinuationTransition__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4992:1: rule__ContinuationTransition__Group__7 : rule__ContinuationTransition__Group__7__Impl ;
     public final void rule__ContinuationTransition__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5152:1: ( rule__ContinuationTransition__Group__7__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5153:2: rule__ContinuationTransition__Group__7__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4996:1: ( rule__ContinuationTransition__Group__7__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:4997:2: rule__ContinuationTransition__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__7__Impl_in_rule__ContinuationTransition__Group__710575);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__7__Impl_in_rule__ContinuationTransition__Group__710267);
             rule__ContinuationTransition__Group__7__Impl();
 
             state._fsp--;
@@ -14461,31 +14225,31 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__7__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5159:1: rule__ContinuationTransition__Group__7__Impl : ( ( rule__ContinuationTransition__Group_7__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5003:1: rule__ContinuationTransition__Group__7__Impl : ( ( rule__ContinuationTransition__Group_7__0 )? ) ;
     public final void rule__ContinuationTransition__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5163:1: ( ( ( rule__ContinuationTransition__Group_7__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5164:1: ( ( rule__ContinuationTransition__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5007:1: ( ( ( rule__ContinuationTransition__Group_7__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5008:1: ( ( rule__ContinuationTransition__Group_7__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5164:1: ( ( rule__ContinuationTransition__Group_7__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5165:1: ( rule__ContinuationTransition__Group_7__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5008:1: ( ( rule__ContinuationTransition__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5009:1: ( rule__ContinuationTransition__Group_7__0 )?
             {
              before(grammarAccess.getContinuationTransitionAccess().getGroup_7()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5166:1: ( rule__ContinuationTransition__Group_7__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5010:1: ( rule__ContinuationTransition__Group_7__0 )?
             int alt52=2;
             int LA52_0 = input.LA(1);
 
-            if ( (LA52_0==27) ) {
+            if ( (LA52_0==28) ) {
                 alt52=1;
             }
             switch (alt52) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5166:2: rule__ContinuationTransition__Group_7__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5010:2: rule__ContinuationTransition__Group_7__0
                     {
-                    pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__0_in_rule__ContinuationTransition__Group__7__Impl10602);
+                    pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__0_in_rule__ContinuationTransition__Group__7__Impl10294);
                     rule__ContinuationTransition__Group_7__0();
 
                     state._fsp--;
@@ -14519,21 +14283,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5192:1: rule__ContinuationTransition__Group_7__0 : rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5036:1: rule__ContinuationTransition__Group_7__0 : rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1 ;
     public final void rule__ContinuationTransition__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5196:1: ( rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5197:2: rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5040:1: ( rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5041:2: rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__0__Impl_in_rule__ContinuationTransition__Group_7__010649);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__0__Impl_in_rule__ContinuationTransition__Group_7__010341);
             rule__ContinuationTransition__Group_7__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__1_in_rule__ContinuationTransition__Group_7__010652);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__1_in_rule__ContinuationTransition__Group_7__010344);
             rule__ContinuationTransition__Group_7__1();
 
             state._fsp--;
@@ -14557,20 +14321,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5204:1: rule__ContinuationTransition__Group_7__0__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5048:1: rule__ContinuationTransition__Group_7__0__Impl : ( '{' ) ;
     public final void rule__ContinuationTransition__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5208:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5209:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5052:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5053:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5209:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5210:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5053:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5054:1: '{'
             {
              before(grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_7_0()); 
-            match(input,27,FOLLOW_27_in_rule__ContinuationTransition__Group_7__0__Impl10680); 
+            match(input,28,FOLLOW_28_in_rule__ContinuationTransition__Group_7__0__Impl10372); 
              after(grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_7_0()); 
 
             }
@@ -14594,21 +14358,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5223:1: rule__ContinuationTransition__Group_7__1 : rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5067:1: rule__ContinuationTransition__Group_7__1 : rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2 ;
     public final void rule__ContinuationTransition__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5227:1: ( rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5228:2: rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5071:1: ( rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5072:2: rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__1__Impl_in_rule__ContinuationTransition__Group_7__110711);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__1__Impl_in_rule__ContinuationTransition__Group_7__110403);
             rule__ContinuationTransition__Group_7__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__2_in_rule__ContinuationTransition__Group_7__110714);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__2_in_rule__ContinuationTransition__Group_7__110406);
             rule__ContinuationTransition__Group_7__2();
 
             state._fsp--;
@@ -14632,31 +14396,31 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5235:1: rule__ContinuationTransition__Group_7__1__Impl : ( ( rule__ContinuationTransition__Group_7_1__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5079:1: rule__ContinuationTransition__Group_7__1__Impl : ( ( rule__ContinuationTransition__Group_7_1__0 )? ) ;
     public final void rule__ContinuationTransition__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5239:1: ( ( ( rule__ContinuationTransition__Group_7_1__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5240:1: ( ( rule__ContinuationTransition__Group_7_1__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5083:1: ( ( ( rule__ContinuationTransition__Group_7_1__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5084:1: ( ( rule__ContinuationTransition__Group_7_1__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5240:1: ( ( rule__ContinuationTransition__Group_7_1__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5241:1: ( rule__ContinuationTransition__Group_7_1__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5084:1: ( ( rule__ContinuationTransition__Group_7_1__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5085:1: ( rule__ContinuationTransition__Group_7_1__0 )?
             {
              before(grammarAccess.getContinuationTransitionAccess().getGroup_7_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5242:1: ( rule__ContinuationTransition__Group_7_1__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5086:1: ( rule__ContinuationTransition__Group_7_1__0 )?
             int alt53=2;
             int LA53_0 = input.LA(1);
 
-            if ( (LA53_0==44) ) {
+            if ( (LA53_0==45) ) {
                 alt53=1;
             }
             switch (alt53) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5242:2: rule__ContinuationTransition__Group_7_1__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5086:2: rule__ContinuationTransition__Group_7_1__0
                     {
-                    pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__0_in_rule__ContinuationTransition__Group_7__1__Impl10741);
+                    pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__0_in_rule__ContinuationTransition__Group_7__1__Impl10433);
                     rule__ContinuationTransition__Group_7_1__0();
 
                     state._fsp--;
@@ -14690,16 +14454,16 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5252:1: rule__ContinuationTransition__Group_7__2 : rule__ContinuationTransition__Group_7__2__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5096:1: rule__ContinuationTransition__Group_7__2 : rule__ContinuationTransition__Group_7__2__Impl ;
     public final void rule__ContinuationTransition__Group_7__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5256:1: ( rule__ContinuationTransition__Group_7__2__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5257:2: rule__ContinuationTransition__Group_7__2__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5100:1: ( rule__ContinuationTransition__Group_7__2__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5101:2: rule__ContinuationTransition__Group_7__2__Impl
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__2__Impl_in_rule__ContinuationTransition__Group_7__210772);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__2__Impl_in_rule__ContinuationTransition__Group_7__210464);
             rule__ContinuationTransition__Group_7__2__Impl();
 
             state._fsp--;
@@ -14723,20 +14487,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5263:1: rule__ContinuationTransition__Group_7__2__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5107:1: rule__ContinuationTransition__Group_7__2__Impl : ( '}' ) ;
     public final void rule__ContinuationTransition__Group_7__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5267:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5268:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5111:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5112:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5268:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5269:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5112:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5113:1: '}'
             {
              before(grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_7_2()); 
-            match(input,28,FOLLOW_28_in_rule__ContinuationTransition__Group_7__2__Impl10800); 
+            match(input,29,FOLLOW_29_in_rule__ContinuationTransition__Group_7__2__Impl10492); 
              after(grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_7_2()); 
 
             }
@@ -14760,21 +14524,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7_1__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5288:1: rule__ContinuationTransition__Group_7_1__0 : rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5132:1: rule__ContinuationTransition__Group_7_1__0 : rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1 ;
     public final void rule__ContinuationTransition__Group_7_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5292:1: ( rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5293:2: rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5136:1: ( rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5137:2: rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__0__Impl_in_rule__ContinuationTransition__Group_7_1__010837);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__0__Impl_in_rule__ContinuationTransition__Group_7_1__010529);
             rule__ContinuationTransition__Group_7_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__1_in_rule__ContinuationTransition__Group_7_1__010840);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__1_in_rule__ContinuationTransition__Group_7_1__010532);
             rule__ContinuationTransition__Group_7_1__1();
 
             state._fsp--;
@@ -14798,20 +14562,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7_1__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5300:1: rule__ContinuationTransition__Group_7_1__0__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5144:1: rule__ContinuationTransition__Group_7_1__0__Impl : ( 'action' ) ;
     public final void rule__ContinuationTransition__Group_7_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5304:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5305:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5148:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5149:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5305:1: ( 'action' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5306:1: 'action'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5149:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5150:1: 'action'
             {
              before(grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_1_0()); 
-            match(input,44,FOLLOW_44_in_rule__ContinuationTransition__Group_7_1__0__Impl10868); 
+            match(input,45,FOLLOW_45_in_rule__ContinuationTransition__Group_7_1__0__Impl10560); 
              after(grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_1_0()); 
 
             }
@@ -14835,16 +14599,16 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7_1__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5319:1: rule__ContinuationTransition__Group_7_1__1 : rule__ContinuationTransition__Group_7_1__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5163:1: rule__ContinuationTransition__Group_7_1__1 : rule__ContinuationTransition__Group_7_1__1__Impl ;
     public final void rule__ContinuationTransition__Group_7_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5323:1: ( rule__ContinuationTransition__Group_7_1__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5324:2: rule__ContinuationTransition__Group_7_1__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5167:1: ( rule__ContinuationTransition__Group_7_1__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5168:2: rule__ContinuationTransition__Group_7_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__1__Impl_in_rule__ContinuationTransition__Group_7_1__110899);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__1__Impl_in_rule__ContinuationTransition__Group_7_1__110591);
             rule__ContinuationTransition__Group_7_1__1__Impl();
 
             state._fsp--;
@@ -14868,23 +14632,23 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7_1__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5330:1: rule__ContinuationTransition__Group_7_1__1__Impl : ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5174:1: rule__ContinuationTransition__Group_7_1__1__Impl : ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) ) ;
     public final void rule__ContinuationTransition__Group_7_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5334:1: ( ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5335:1: ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5178:1: ( ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5179:1: ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5335:1: ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5336:1: ( rule__ContinuationTransition__ActionAssignment_7_1_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5179:1: ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5180:1: ( rule__ContinuationTransition__ActionAssignment_7_1_1 )
             {
              before(grammarAccess.getContinuationTransitionAccess().getActionAssignment_7_1_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5337:1: ( rule__ContinuationTransition__ActionAssignment_7_1_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5337:2: rule__ContinuationTransition__ActionAssignment_7_1_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5181:1: ( rule__ContinuationTransition__ActionAssignment_7_1_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5181:2: rule__ContinuationTransition__ActionAssignment_7_1_1
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__ActionAssignment_7_1_1_in_rule__ContinuationTransition__Group_7_1__1__Impl10926);
+            pushFollow(FOLLOW_rule__ContinuationTransition__ActionAssignment_7_1_1_in_rule__ContinuationTransition__Group_7_1__1__Impl10618);
             rule__ContinuationTransition__ActionAssignment_7_1_1();
 
             state._fsp--;
@@ -14915,21 +14679,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5351:1: rule__TriggeredTransition__Group__0 : rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5195:1: rule__TriggeredTransition__Group__0 : rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1 ;
     public final void rule__TriggeredTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5355:1: ( rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5356:2: rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5199:1: ( rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5200:2: rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__0__Impl_in_rule__TriggeredTransition__Group__010960);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__0__Impl_in_rule__TriggeredTransition__Group__010652);
             rule__TriggeredTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__1_in_rule__TriggeredTransition__Group__010963);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__1_in_rule__TriggeredTransition__Group__010655);
             rule__TriggeredTransition__Group__1();
 
             state._fsp--;
@@ -14953,20 +14717,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5363:1: rule__TriggeredTransition__Group__0__Impl : ( 'Transition' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5207:1: rule__TriggeredTransition__Group__0__Impl : ( 'Transition' ) ;
     public final void rule__TriggeredTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5367:1: ( ( 'Transition' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5368:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5211:1: ( ( 'Transition' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5212:1: ( 'Transition' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5368:1: ( 'Transition' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5369:1: 'Transition'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5212:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5213:1: 'Transition'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0()); 
-            match(input,40,FOLLOW_40_in_rule__TriggeredTransition__Group__0__Impl10991); 
+            match(input,41,FOLLOW_41_in_rule__TriggeredTransition__Group__0__Impl10683); 
              after(grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0()); 
 
             }
@@ -14990,21 +14754,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5382:1: rule__TriggeredTransition__Group__1 : rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5226:1: rule__TriggeredTransition__Group__1 : rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2 ;
     public final void rule__TriggeredTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5386:1: ( rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5387:2: rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5230:1: ( rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5231:2: rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__1__Impl_in_rule__TriggeredTransition__Group__111022);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__1__Impl_in_rule__TriggeredTransition__Group__110714);
             rule__TriggeredTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__2_in_rule__TriggeredTransition__Group__111025);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__2_in_rule__TriggeredTransition__Group__110717);
             rule__TriggeredTransition__Group__2();
 
             state._fsp--;
@@ -15028,20 +14792,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5394:1: rule__TriggeredTransition__Group__1__Impl : ( ( rule__TriggeredTransition__NameAssignment_1 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5238:1: rule__TriggeredTransition__Group__1__Impl : ( ( rule__TriggeredTransition__NameAssignment_1 )? ) ;
     public final void rule__TriggeredTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5398:1: ( ( ( rule__TriggeredTransition__NameAssignment_1 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5399:1: ( ( rule__TriggeredTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5242:1: ( ( ( rule__TriggeredTransition__NameAssignment_1 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5243:1: ( ( rule__TriggeredTransition__NameAssignment_1 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5399:1: ( ( rule__TriggeredTransition__NameAssignment_1 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5400:1: ( rule__TriggeredTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5243:1: ( ( rule__TriggeredTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5244:1: ( rule__TriggeredTransition__NameAssignment_1 )?
             {
              before(grammarAccess.getTriggeredTransitionAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5401:1: ( rule__TriggeredTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5245:1: ( rule__TriggeredTransition__NameAssignment_1 )?
             int alt54=2;
             int LA54_0 = input.LA(1);
 
@@ -15050,9 +14814,9 @@
             }
             switch (alt54) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5401:2: rule__TriggeredTransition__NameAssignment_1
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5245:2: rule__TriggeredTransition__NameAssignment_1
                     {
-                    pushFollow(FOLLOW_rule__TriggeredTransition__NameAssignment_1_in_rule__TriggeredTransition__Group__1__Impl11052);
+                    pushFollow(FOLLOW_rule__TriggeredTransition__NameAssignment_1_in_rule__TriggeredTransition__Group__1__Impl10744);
                     rule__TriggeredTransition__NameAssignment_1();
 
                     state._fsp--;
@@ -15086,21 +14850,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5411:1: rule__TriggeredTransition__Group__2 : rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5255:1: rule__TriggeredTransition__Group__2 : rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3 ;
     public final void rule__TriggeredTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5415:1: ( rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5416:2: rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5259:1: ( rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5260:2: rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__2__Impl_in_rule__TriggeredTransition__Group__211083);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__2__Impl_in_rule__TriggeredTransition__Group__210775);
             rule__TriggeredTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__3_in_rule__TriggeredTransition__Group__211086);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__3_in_rule__TriggeredTransition__Group__210778);
             rule__TriggeredTransition__Group__3();
 
             state._fsp--;
@@ -15124,20 +14888,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5423:1: rule__TriggeredTransition__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5267:1: rule__TriggeredTransition__Group__2__Impl : ( ':' ) ;
     public final void rule__TriggeredTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5427:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5428:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5271:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5272:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5428:1: ( ':' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5429:1: ':'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5272:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5273:1: ':'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2()); 
-            match(input,41,FOLLOW_41_in_rule__TriggeredTransition__Group__2__Impl11114); 
+            match(input,42,FOLLOW_42_in_rule__TriggeredTransition__Group__2__Impl10806); 
              after(grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2()); 
 
             }
@@ -15161,21 +14925,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5442:1: rule__TriggeredTransition__Group__3 : rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5286:1: rule__TriggeredTransition__Group__3 : rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4 ;
     public final void rule__TriggeredTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5446:1: ( rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5447:2: rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5290:1: ( rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5291:2: rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__3__Impl_in_rule__TriggeredTransition__Group__311145);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__3__Impl_in_rule__TriggeredTransition__Group__310837);
             rule__TriggeredTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__4_in_rule__TriggeredTransition__Group__311148);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__4_in_rule__TriggeredTransition__Group__310840);
             rule__TriggeredTransition__Group__4();
 
             state._fsp--;
@@ -15199,23 +14963,23 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5454:1: rule__TriggeredTransition__Group__3__Impl : ( ( rule__TriggeredTransition__FromAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5298:1: rule__TriggeredTransition__Group__3__Impl : ( ( rule__TriggeredTransition__FromAssignment_3 ) ) ;
     public final void rule__TriggeredTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5458:1: ( ( ( rule__TriggeredTransition__FromAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5459:1: ( ( rule__TriggeredTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5302:1: ( ( ( rule__TriggeredTransition__FromAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5303:1: ( ( rule__TriggeredTransition__FromAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5459:1: ( ( rule__TriggeredTransition__FromAssignment_3 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5460:1: ( rule__TriggeredTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5303:1: ( ( rule__TriggeredTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5304:1: ( rule__TriggeredTransition__FromAssignment_3 )
             {
              before(grammarAccess.getTriggeredTransitionAccess().getFromAssignment_3()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5461:1: ( rule__TriggeredTransition__FromAssignment_3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5461:2: rule__TriggeredTransition__FromAssignment_3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5305:1: ( rule__TriggeredTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5305:2: rule__TriggeredTransition__FromAssignment_3
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__FromAssignment_3_in_rule__TriggeredTransition__Group__3__Impl11175);
+            pushFollow(FOLLOW_rule__TriggeredTransition__FromAssignment_3_in_rule__TriggeredTransition__Group__3__Impl10867);
             rule__TriggeredTransition__FromAssignment_3();
 
             state._fsp--;
@@ -15246,21 +15010,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5471:1: rule__TriggeredTransition__Group__4 : rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5315:1: rule__TriggeredTransition__Group__4 : rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5 ;
     public final void rule__TriggeredTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5475:1: ( rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5476:2: rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5319:1: ( rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5320:2: rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__4__Impl_in_rule__TriggeredTransition__Group__411205);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__4__Impl_in_rule__TriggeredTransition__Group__410897);
             rule__TriggeredTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__5_in_rule__TriggeredTransition__Group__411208);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__5_in_rule__TriggeredTransition__Group__410900);
             rule__TriggeredTransition__Group__5();
 
             state._fsp--;
@@ -15284,20 +15048,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5483:1: rule__TriggeredTransition__Group__4__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5327:1: rule__TriggeredTransition__Group__4__Impl : ( '->' ) ;
     public final void rule__TriggeredTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5487:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5488:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5331:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5332:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5488:1: ( '->' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5489:1: '->'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5332:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5333:1: '->'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
-            match(input,43,FOLLOW_43_in_rule__TriggeredTransition__Group__4__Impl11236); 
+            match(input,44,FOLLOW_44_in_rule__TriggeredTransition__Group__4__Impl10928); 
              after(grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
 
             }
@@ -15321,21 +15085,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5502:1: rule__TriggeredTransition__Group__5 : rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5346:1: rule__TriggeredTransition__Group__5 : rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6 ;
     public final void rule__TriggeredTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5506:1: ( rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5507:2: rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5350:1: ( rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5351:2: rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__5__Impl_in_rule__TriggeredTransition__Group__511267);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__5__Impl_in_rule__TriggeredTransition__Group__510959);
             rule__TriggeredTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__6_in_rule__TriggeredTransition__Group__511270);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__6_in_rule__TriggeredTransition__Group__510962);
             rule__TriggeredTransition__Group__6();
 
             state._fsp--;
@@ -15359,23 +15123,23 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5514:1: rule__TriggeredTransition__Group__5__Impl : ( ( rule__TriggeredTransition__ToAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5358:1: rule__TriggeredTransition__Group__5__Impl : ( ( rule__TriggeredTransition__ToAssignment_5 ) ) ;
     public final void rule__TriggeredTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5518:1: ( ( ( rule__TriggeredTransition__ToAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5519:1: ( ( rule__TriggeredTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5362:1: ( ( ( rule__TriggeredTransition__ToAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5363:1: ( ( rule__TriggeredTransition__ToAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5519:1: ( ( rule__TriggeredTransition__ToAssignment_5 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5520:1: ( rule__TriggeredTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5363:1: ( ( rule__TriggeredTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5364:1: ( rule__TriggeredTransition__ToAssignment_5 )
             {
              before(grammarAccess.getTriggeredTransitionAccess().getToAssignment_5()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5521:1: ( rule__TriggeredTransition__ToAssignment_5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5521:2: rule__TriggeredTransition__ToAssignment_5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5365:1: ( rule__TriggeredTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5365:2: rule__TriggeredTransition__ToAssignment_5
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__ToAssignment_5_in_rule__TriggeredTransition__Group__5__Impl11297);
+            pushFollow(FOLLOW_rule__TriggeredTransition__ToAssignment_5_in_rule__TriggeredTransition__Group__5__Impl10989);
             rule__TriggeredTransition__ToAssignment_5();
 
             state._fsp--;
@@ -15406,21 +15170,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5531:1: rule__TriggeredTransition__Group__6 : rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5375:1: rule__TriggeredTransition__Group__6 : rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7 ;
     public final void rule__TriggeredTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5535:1: ( rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5536:2: rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5379:1: ( rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5380:2: rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__6__Impl_in_rule__TriggeredTransition__Group__611327);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__6__Impl_in_rule__TriggeredTransition__Group__611019);
             rule__TriggeredTransition__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__7_in_rule__TriggeredTransition__Group__611330);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__7_in_rule__TriggeredTransition__Group__611022);
             rule__TriggeredTransition__Group__7();
 
             state._fsp--;
@@ -15444,31 +15208,31 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5543:1: rule__TriggeredTransition__Group__6__Impl : ( ( rule__TriggeredTransition__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5387:1: rule__TriggeredTransition__Group__6__Impl : ( ( rule__TriggeredTransition__DocuAssignment_6 )? ) ;
     public final void rule__TriggeredTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5547:1: ( ( ( rule__TriggeredTransition__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5548:1: ( ( rule__TriggeredTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5391:1: ( ( ( rule__TriggeredTransition__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5392:1: ( ( rule__TriggeredTransition__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5548:1: ( ( rule__TriggeredTransition__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5549:1: ( rule__TriggeredTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5392:1: ( ( rule__TriggeredTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5393:1: ( rule__TriggeredTransition__DocuAssignment_6 )?
             {
              before(grammarAccess.getTriggeredTransitionAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5550:1: ( rule__TriggeredTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5394:1: ( rule__TriggeredTransition__DocuAssignment_6 )?
             int alt55=2;
             int LA55_0 = input.LA(1);
 
-            if ( (LA55_0==64) ) {
+            if ( (LA55_0==65) ) {
                 alt55=1;
             }
             switch (alt55) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5550:2: rule__TriggeredTransition__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5394:2: rule__TriggeredTransition__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__TriggeredTransition__DocuAssignment_6_in_rule__TriggeredTransition__Group__6__Impl11357);
+                    pushFollow(FOLLOW_rule__TriggeredTransition__DocuAssignment_6_in_rule__TriggeredTransition__Group__6__Impl11049);
                     rule__TriggeredTransition__DocuAssignment_6();
 
                     state._fsp--;
@@ -15502,21 +15266,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__7"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5560:1: rule__TriggeredTransition__Group__7 : rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5404:1: rule__TriggeredTransition__Group__7 : rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8 ;
     public final void rule__TriggeredTransition__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5564:1: ( rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5565:2: rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5408:1: ( rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5409:2: rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__7__Impl_in_rule__TriggeredTransition__Group__711388);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__7__Impl_in_rule__TriggeredTransition__Group__711080);
             rule__TriggeredTransition__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__8_in_rule__TriggeredTransition__Group__711391);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__8_in_rule__TriggeredTransition__Group__711083);
             rule__TriggeredTransition__Group__8();
 
             state._fsp--;
@@ -15540,20 +15304,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__7__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5572:1: rule__TriggeredTransition__Group__7__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5416:1: rule__TriggeredTransition__Group__7__Impl : ( '{' ) ;
     public final void rule__TriggeredTransition__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5576:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5577:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5420:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5421:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5577:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5578:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5421:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5422:1: '{'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_7()); 
-            match(input,27,FOLLOW_27_in_rule__TriggeredTransition__Group__7__Impl11419); 
+            match(input,28,FOLLOW_28_in_rule__TriggeredTransition__Group__7__Impl11111); 
              after(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_7()); 
 
             }
@@ -15577,21 +15341,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__8"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5591:1: rule__TriggeredTransition__Group__8 : rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5435:1: rule__TriggeredTransition__Group__8 : rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9 ;
     public final void rule__TriggeredTransition__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5595:1: ( rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5596:2: rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5439:1: ( rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5440:2: rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__8__Impl_in_rule__TriggeredTransition__Group__811450);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__8__Impl_in_rule__TriggeredTransition__Group__811142);
             rule__TriggeredTransition__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__9_in_rule__TriggeredTransition__Group__811453);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__9_in_rule__TriggeredTransition__Group__811145);
             rule__TriggeredTransition__Group__9();
 
             state._fsp--;
@@ -15615,20 +15379,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__8__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5603:1: rule__TriggeredTransition__Group__8__Impl : ( 'triggers' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5447:1: rule__TriggeredTransition__Group__8__Impl : ( 'triggers' ) ;
     public final void rule__TriggeredTransition__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5607:1: ( ( 'triggers' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5608:1: ( 'triggers' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5451:1: ( ( 'triggers' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5452:1: ( 'triggers' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5608:1: ( 'triggers' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5609:1: 'triggers'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5452:1: ( 'triggers' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5453:1: 'triggers'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_8()); 
-            match(input,45,FOLLOW_45_in_rule__TriggeredTransition__Group__8__Impl11481); 
+            match(input,46,FOLLOW_46_in_rule__TriggeredTransition__Group__8__Impl11173); 
              after(grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_8()); 
 
             }
@@ -15652,21 +15416,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__9"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5622:1: rule__TriggeredTransition__Group__9 : rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5466:1: rule__TriggeredTransition__Group__9 : rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10 ;
     public final void rule__TriggeredTransition__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5626:1: ( rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5627:2: rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5470:1: ( rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5471:2: rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__9__Impl_in_rule__TriggeredTransition__Group__911512);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__9__Impl_in_rule__TriggeredTransition__Group__911204);
             rule__TriggeredTransition__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__10_in_rule__TriggeredTransition__Group__911515);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__10_in_rule__TriggeredTransition__Group__911207);
             rule__TriggeredTransition__Group__10();
 
             state._fsp--;
@@ -15690,20 +15454,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__9__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5634:1: rule__TriggeredTransition__Group__9__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5478:1: rule__TriggeredTransition__Group__9__Impl : ( '{' ) ;
     public final void rule__TriggeredTransition__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5638:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5639:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5482:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5483:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5639:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5640:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5483:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5484:1: '{'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_9()); 
-            match(input,27,FOLLOW_27_in_rule__TriggeredTransition__Group__9__Impl11543); 
+            match(input,28,FOLLOW_28_in_rule__TriggeredTransition__Group__9__Impl11235); 
              after(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_9()); 
 
             }
@@ -15727,21 +15491,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__10"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5653:1: rule__TriggeredTransition__Group__10 : rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5497:1: rule__TriggeredTransition__Group__10 : rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11 ;
     public final void rule__TriggeredTransition__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5657:1: ( rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5658:2: rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5501:1: ( rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5502:2: rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__10__Impl_in_rule__TriggeredTransition__Group__1011574);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__10__Impl_in_rule__TriggeredTransition__Group__1011266);
             rule__TriggeredTransition__Group__10__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__11_in_rule__TriggeredTransition__Group__1011577);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__11_in_rule__TriggeredTransition__Group__1011269);
             rule__TriggeredTransition__Group__11();
 
             state._fsp--;
@@ -15765,23 +15529,23 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__10__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5665:1: rule__TriggeredTransition__Group__10__Impl : ( ( rule__TriggeredTransition__TriggersAssignment_10 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5509:1: rule__TriggeredTransition__Group__10__Impl : ( ( rule__TriggeredTransition__TriggersAssignment_10 ) ) ;
     public final void rule__TriggeredTransition__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5669:1: ( ( ( rule__TriggeredTransition__TriggersAssignment_10 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5670:1: ( ( rule__TriggeredTransition__TriggersAssignment_10 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5513:1: ( ( ( rule__TriggeredTransition__TriggersAssignment_10 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5514:1: ( ( rule__TriggeredTransition__TriggersAssignment_10 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5670:1: ( ( rule__TriggeredTransition__TriggersAssignment_10 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5671:1: ( rule__TriggeredTransition__TriggersAssignment_10 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5514:1: ( ( rule__TriggeredTransition__TriggersAssignment_10 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5515:1: ( rule__TriggeredTransition__TriggersAssignment_10 )
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_10()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5672:1: ( rule__TriggeredTransition__TriggersAssignment_10 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5672:2: rule__TriggeredTransition__TriggersAssignment_10
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5516:1: ( rule__TriggeredTransition__TriggersAssignment_10 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5516:2: rule__TriggeredTransition__TriggersAssignment_10
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__TriggersAssignment_10_in_rule__TriggeredTransition__Group__10__Impl11604);
+            pushFollow(FOLLOW_rule__TriggeredTransition__TriggersAssignment_10_in_rule__TriggeredTransition__Group__10__Impl11296);
             rule__TriggeredTransition__TriggersAssignment_10();
 
             state._fsp--;
@@ -15812,21 +15576,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__11"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5682:1: rule__TriggeredTransition__Group__11 : rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5526:1: rule__TriggeredTransition__Group__11 : rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12 ;
     public final void rule__TriggeredTransition__Group__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5686:1: ( rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5687:2: rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5530:1: ( rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5531:2: rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__11__Impl_in_rule__TriggeredTransition__Group__1111634);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__11__Impl_in_rule__TriggeredTransition__Group__1111326);
             rule__TriggeredTransition__Group__11__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__12_in_rule__TriggeredTransition__Group__1111637);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__12_in_rule__TriggeredTransition__Group__1111329);
             rule__TriggeredTransition__Group__12();
 
             state._fsp--;
@@ -15850,35 +15614,35 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__11__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5694:1: rule__TriggeredTransition__Group__11__Impl : ( ( rule__TriggeredTransition__Group_11__0 )* ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5538:1: rule__TriggeredTransition__Group__11__Impl : ( ( rule__TriggeredTransition__Group_11__0 )* ) ;
     public final void rule__TriggeredTransition__Group__11__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5698:1: ( ( ( rule__TriggeredTransition__Group_11__0 )* ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5699:1: ( ( rule__TriggeredTransition__Group_11__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5542:1: ( ( ( rule__TriggeredTransition__Group_11__0 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5543:1: ( ( rule__TriggeredTransition__Group_11__0 )* )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5699:1: ( ( rule__TriggeredTransition__Group_11__0 )* )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5700:1: ( rule__TriggeredTransition__Group_11__0 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5543:1: ( ( rule__TriggeredTransition__Group_11__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5544:1: ( rule__TriggeredTransition__Group_11__0 )*
             {
              before(grammarAccess.getTriggeredTransitionAccess().getGroup_11()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5701:1: ( rule__TriggeredTransition__Group_11__0 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5545:1: ( rule__TriggeredTransition__Group_11__0 )*
             loop56:
             do {
                 int alt56=2;
                 int LA56_0 = input.LA(1);
 
-                if ( (LA56_0==46) ) {
+                if ( (LA56_0==47) ) {
                     alt56=1;
                 }
 
 
                 switch (alt56) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5701:2: rule__TriggeredTransition__Group_11__0
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5545:2: rule__TriggeredTransition__Group_11__0
             	    {
-            	    pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__0_in_rule__TriggeredTransition__Group__11__Impl11664);
+            	    pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__0_in_rule__TriggeredTransition__Group__11__Impl11356);
             	    rule__TriggeredTransition__Group_11__0();
 
             	    state._fsp--;
@@ -15915,21 +15679,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__12"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5711:1: rule__TriggeredTransition__Group__12 : rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5555:1: rule__TriggeredTransition__Group__12 : rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13 ;
     public final void rule__TriggeredTransition__Group__12() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5715:1: ( rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5716:2: rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5559:1: ( rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5560:2: rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__12__Impl_in_rule__TriggeredTransition__Group__1211695);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__12__Impl_in_rule__TriggeredTransition__Group__1211387);
             rule__TriggeredTransition__Group__12__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__13_in_rule__TriggeredTransition__Group__1211698);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__13_in_rule__TriggeredTransition__Group__1211390);
             rule__TriggeredTransition__Group__13();
 
             state._fsp--;
@@ -15953,20 +15717,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__12__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5723:1: rule__TriggeredTransition__Group__12__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5567:1: rule__TriggeredTransition__Group__12__Impl : ( '}' ) ;
     public final void rule__TriggeredTransition__Group__12__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5727:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5728:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5571:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5572:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5728:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5729:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5572:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5573:1: '}'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_12()); 
-            match(input,28,FOLLOW_28_in_rule__TriggeredTransition__Group__12__Impl11726); 
+            match(input,29,FOLLOW_29_in_rule__TriggeredTransition__Group__12__Impl11418); 
              after(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_12()); 
 
             }
@@ -15990,21 +15754,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__13"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5742:1: rule__TriggeredTransition__Group__13 : rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5586:1: rule__TriggeredTransition__Group__13 : rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14 ;
     public final void rule__TriggeredTransition__Group__13() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5746:1: ( rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5747:2: rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5590:1: ( rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5591:2: rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__13__Impl_in_rule__TriggeredTransition__Group__1311757);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__13__Impl_in_rule__TriggeredTransition__Group__1311449);
             rule__TriggeredTransition__Group__13__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__14_in_rule__TriggeredTransition__Group__1311760);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__14_in_rule__TriggeredTransition__Group__1311452);
             rule__TriggeredTransition__Group__14();
 
             state._fsp--;
@@ -16028,31 +15792,31 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__13__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5754:1: rule__TriggeredTransition__Group__13__Impl : ( ( rule__TriggeredTransition__Group_13__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5598:1: rule__TriggeredTransition__Group__13__Impl : ( ( rule__TriggeredTransition__Group_13__0 )? ) ;
     public final void rule__TriggeredTransition__Group__13__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5758:1: ( ( ( rule__TriggeredTransition__Group_13__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5759:1: ( ( rule__TriggeredTransition__Group_13__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5602:1: ( ( ( rule__TriggeredTransition__Group_13__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5603:1: ( ( rule__TriggeredTransition__Group_13__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5759:1: ( ( rule__TriggeredTransition__Group_13__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5760:1: ( rule__TriggeredTransition__Group_13__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5603:1: ( ( rule__TriggeredTransition__Group_13__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5604:1: ( rule__TriggeredTransition__Group_13__0 )?
             {
              before(grammarAccess.getTriggeredTransitionAccess().getGroup_13()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5761:1: ( rule__TriggeredTransition__Group_13__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5605:1: ( rule__TriggeredTransition__Group_13__0 )?
             int alt57=2;
             int LA57_0 = input.LA(1);
 
-            if ( (LA57_0==44) ) {
+            if ( (LA57_0==45) ) {
                 alt57=1;
             }
             switch (alt57) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5761:2: rule__TriggeredTransition__Group_13__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5605:2: rule__TriggeredTransition__Group_13__0
                     {
-                    pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__0_in_rule__TriggeredTransition__Group__13__Impl11787);
+                    pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__0_in_rule__TriggeredTransition__Group__13__Impl11479);
                     rule__TriggeredTransition__Group_13__0();
 
                     state._fsp--;
@@ -16086,16 +15850,16 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__14"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5771:1: rule__TriggeredTransition__Group__14 : rule__TriggeredTransition__Group__14__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5615:1: rule__TriggeredTransition__Group__14 : rule__TriggeredTransition__Group__14__Impl ;
     public final void rule__TriggeredTransition__Group__14() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5775:1: ( rule__TriggeredTransition__Group__14__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5776:2: rule__TriggeredTransition__Group__14__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5619:1: ( rule__TriggeredTransition__Group__14__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5620:2: rule__TriggeredTransition__Group__14__Impl
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__14__Impl_in_rule__TriggeredTransition__Group__1411818);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__14__Impl_in_rule__TriggeredTransition__Group__1411510);
             rule__TriggeredTransition__Group__14__Impl();
 
             state._fsp--;
@@ -16119,20 +15883,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__14__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5782:1: rule__TriggeredTransition__Group__14__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5626:1: rule__TriggeredTransition__Group__14__Impl : ( '}' ) ;
     public final void rule__TriggeredTransition__Group__14__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5786:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5787:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5630:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5631:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5787:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5788:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5631:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5632:1: '}'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_14()); 
-            match(input,28,FOLLOW_28_in_rule__TriggeredTransition__Group__14__Impl11846); 
+            match(input,29,FOLLOW_29_in_rule__TriggeredTransition__Group__14__Impl11538); 
              after(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_14()); 
 
             }
@@ -16156,21 +15920,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_11__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5831:1: rule__TriggeredTransition__Group_11__0 : rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5675:1: rule__TriggeredTransition__Group_11__0 : rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1 ;
     public final void rule__TriggeredTransition__Group_11__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5835:1: ( rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5836:2: rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5679:1: ( rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5680:2: rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__0__Impl_in_rule__TriggeredTransition__Group_11__011907);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__0__Impl_in_rule__TriggeredTransition__Group_11__011599);
             rule__TriggeredTransition__Group_11__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__1_in_rule__TriggeredTransition__Group_11__011910);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__1_in_rule__TriggeredTransition__Group_11__011602);
             rule__TriggeredTransition__Group_11__1();
 
             state._fsp--;
@@ -16194,20 +15958,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_11__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5843:1: rule__TriggeredTransition__Group_11__0__Impl : ( 'or' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5687:1: rule__TriggeredTransition__Group_11__0__Impl : ( 'or' ) ;
     public final void rule__TriggeredTransition__Group_11__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5847:1: ( ( 'or' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5848:1: ( 'or' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5691:1: ( ( 'or' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5692:1: ( 'or' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5848:1: ( 'or' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5849:1: 'or'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5692:1: ( 'or' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5693:1: 'or'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getOrKeyword_11_0()); 
-            match(input,46,FOLLOW_46_in_rule__TriggeredTransition__Group_11__0__Impl11938); 
+            match(input,47,FOLLOW_47_in_rule__TriggeredTransition__Group_11__0__Impl11630); 
              after(grammarAccess.getTriggeredTransitionAccess().getOrKeyword_11_0()); 
 
             }
@@ -16231,16 +15995,16 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_11__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5862:1: rule__TriggeredTransition__Group_11__1 : rule__TriggeredTransition__Group_11__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5706:1: rule__TriggeredTransition__Group_11__1 : rule__TriggeredTransition__Group_11__1__Impl ;
     public final void rule__TriggeredTransition__Group_11__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5866:1: ( rule__TriggeredTransition__Group_11__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5867:2: rule__TriggeredTransition__Group_11__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5710:1: ( rule__TriggeredTransition__Group_11__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5711:2: rule__TriggeredTransition__Group_11__1__Impl
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__1__Impl_in_rule__TriggeredTransition__Group_11__111969);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__1__Impl_in_rule__TriggeredTransition__Group_11__111661);
             rule__TriggeredTransition__Group_11__1__Impl();
 
             state._fsp--;
@@ -16264,23 +16028,23 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_11__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5873:1: rule__TriggeredTransition__Group_11__1__Impl : ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5717:1: rule__TriggeredTransition__Group_11__1__Impl : ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) ) ;
     public final void rule__TriggeredTransition__Group_11__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5877:1: ( ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5878:1: ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5721:1: ( ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5722:1: ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5878:1: ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5879:1: ( rule__TriggeredTransition__TriggersAssignment_11_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5722:1: ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5723:1: ( rule__TriggeredTransition__TriggersAssignment_11_1 )
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_11_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5880:1: ( rule__TriggeredTransition__TriggersAssignment_11_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5880:2: rule__TriggeredTransition__TriggersAssignment_11_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5724:1: ( rule__TriggeredTransition__TriggersAssignment_11_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5724:2: rule__TriggeredTransition__TriggersAssignment_11_1
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__TriggersAssignment_11_1_in_rule__TriggeredTransition__Group_11__1__Impl11996);
+            pushFollow(FOLLOW_rule__TriggeredTransition__TriggersAssignment_11_1_in_rule__TriggeredTransition__Group_11__1__Impl11688);
             rule__TriggeredTransition__TriggersAssignment_11_1();
 
             state._fsp--;
@@ -16311,21 +16075,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_13__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5894:1: rule__TriggeredTransition__Group_13__0 : rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5738:1: rule__TriggeredTransition__Group_13__0 : rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1 ;
     public final void rule__TriggeredTransition__Group_13__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5898:1: ( rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5899:2: rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5742:1: ( rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5743:2: rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__0__Impl_in_rule__TriggeredTransition__Group_13__012030);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__0__Impl_in_rule__TriggeredTransition__Group_13__011722);
             rule__TriggeredTransition__Group_13__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__1_in_rule__TriggeredTransition__Group_13__012033);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__1_in_rule__TriggeredTransition__Group_13__011725);
             rule__TriggeredTransition__Group_13__1();
 
             state._fsp--;
@@ -16349,20 +16113,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_13__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5906:1: rule__TriggeredTransition__Group_13__0__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5750:1: rule__TriggeredTransition__Group_13__0__Impl : ( 'action' ) ;
     public final void rule__TriggeredTransition__Group_13__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5910:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5911:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5754:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5755:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5911:1: ( 'action' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5912:1: 'action'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5755:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5756:1: 'action'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getActionKeyword_13_0()); 
-            match(input,44,FOLLOW_44_in_rule__TriggeredTransition__Group_13__0__Impl12061); 
+            match(input,45,FOLLOW_45_in_rule__TriggeredTransition__Group_13__0__Impl11753); 
              after(grammarAccess.getTriggeredTransitionAccess().getActionKeyword_13_0()); 
 
             }
@@ -16386,16 +16150,16 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_13__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5925:1: rule__TriggeredTransition__Group_13__1 : rule__TriggeredTransition__Group_13__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5769:1: rule__TriggeredTransition__Group_13__1 : rule__TriggeredTransition__Group_13__1__Impl ;
     public final void rule__TriggeredTransition__Group_13__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5929:1: ( rule__TriggeredTransition__Group_13__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5930:2: rule__TriggeredTransition__Group_13__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5773:1: ( rule__TriggeredTransition__Group_13__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5774:2: rule__TriggeredTransition__Group_13__1__Impl
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__1__Impl_in_rule__TriggeredTransition__Group_13__112092);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__1__Impl_in_rule__TriggeredTransition__Group_13__111784);
             rule__TriggeredTransition__Group_13__1__Impl();
 
             state._fsp--;
@@ -16419,23 +16183,23 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_13__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5936:1: rule__TriggeredTransition__Group_13__1__Impl : ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5780:1: rule__TriggeredTransition__Group_13__1__Impl : ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) ) ;
     public final void rule__TriggeredTransition__Group_13__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5940:1: ( ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5941:1: ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5784:1: ( ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5785:1: ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5941:1: ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5942:1: ( rule__TriggeredTransition__ActionAssignment_13_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5785:1: ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5786:1: ( rule__TriggeredTransition__ActionAssignment_13_1 )
             {
              before(grammarAccess.getTriggeredTransitionAccess().getActionAssignment_13_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5943:1: ( rule__TriggeredTransition__ActionAssignment_13_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5943:2: rule__TriggeredTransition__ActionAssignment_13_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5787:1: ( rule__TriggeredTransition__ActionAssignment_13_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5787:2: rule__TriggeredTransition__ActionAssignment_13_1
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__ActionAssignment_13_1_in_rule__TriggeredTransition__Group_13__1__Impl12119);
+            pushFollow(FOLLOW_rule__TriggeredTransition__ActionAssignment_13_1_in_rule__TriggeredTransition__Group_13__1__Impl11811);
             rule__TriggeredTransition__ActionAssignment_13_1();
 
             state._fsp--;
@@ -16466,21 +16230,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5957:1: rule__GuardedTransition__Group__0 : rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5801:1: rule__GuardedTransition__Group__0 : rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1 ;
     public final void rule__GuardedTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5961:1: ( rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5962:2: rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5805:1: ( rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5806:2: rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__0__Impl_in_rule__GuardedTransition__Group__012153);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__0__Impl_in_rule__GuardedTransition__Group__011845);
             rule__GuardedTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__1_in_rule__GuardedTransition__Group__012156);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__1_in_rule__GuardedTransition__Group__011848);
             rule__GuardedTransition__Group__1();
 
             state._fsp--;
@@ -16504,20 +16268,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5969:1: rule__GuardedTransition__Group__0__Impl : ( 'Transition' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5813:1: rule__GuardedTransition__Group__0__Impl : ( 'Transition' ) ;
     public final void rule__GuardedTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5973:1: ( ( 'Transition' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5974:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5817:1: ( ( 'Transition' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5818:1: ( 'Transition' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5974:1: ( 'Transition' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5975:1: 'Transition'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5818:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5819:1: 'Transition'
             {
              before(grammarAccess.getGuardedTransitionAccess().getTransitionKeyword_0()); 
-            match(input,40,FOLLOW_40_in_rule__GuardedTransition__Group__0__Impl12184); 
+            match(input,41,FOLLOW_41_in_rule__GuardedTransition__Group__0__Impl11876); 
              after(grammarAccess.getGuardedTransitionAccess().getTransitionKeyword_0()); 
 
             }
@@ -16541,21 +16305,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5988:1: rule__GuardedTransition__Group__1 : rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5832:1: rule__GuardedTransition__Group__1 : rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2 ;
     public final void rule__GuardedTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5992:1: ( rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5993:2: rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5836:1: ( rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5837:2: rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__1__Impl_in_rule__GuardedTransition__Group__112215);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__1__Impl_in_rule__GuardedTransition__Group__111907);
             rule__GuardedTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__2_in_rule__GuardedTransition__Group__112218);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__2_in_rule__GuardedTransition__Group__111910);
             rule__GuardedTransition__Group__2();
 
             state._fsp--;
@@ -16579,20 +16343,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6000:1: rule__GuardedTransition__Group__1__Impl : ( ( rule__GuardedTransition__NameAssignment_1 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5844:1: rule__GuardedTransition__Group__1__Impl : ( ( rule__GuardedTransition__NameAssignment_1 )? ) ;
     public final void rule__GuardedTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6004:1: ( ( ( rule__GuardedTransition__NameAssignment_1 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6005:1: ( ( rule__GuardedTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5848:1: ( ( ( rule__GuardedTransition__NameAssignment_1 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5849:1: ( ( rule__GuardedTransition__NameAssignment_1 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6005:1: ( ( rule__GuardedTransition__NameAssignment_1 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6006:1: ( rule__GuardedTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5849:1: ( ( rule__GuardedTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5850:1: ( rule__GuardedTransition__NameAssignment_1 )?
             {
              before(grammarAccess.getGuardedTransitionAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6007:1: ( rule__GuardedTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5851:1: ( rule__GuardedTransition__NameAssignment_1 )?
             int alt58=2;
             int LA58_0 = input.LA(1);
 
@@ -16601,9 +16365,9 @@
             }
             switch (alt58) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6007:2: rule__GuardedTransition__NameAssignment_1
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5851:2: rule__GuardedTransition__NameAssignment_1
                     {
-                    pushFollow(FOLLOW_rule__GuardedTransition__NameAssignment_1_in_rule__GuardedTransition__Group__1__Impl12245);
+                    pushFollow(FOLLOW_rule__GuardedTransition__NameAssignment_1_in_rule__GuardedTransition__Group__1__Impl11937);
                     rule__GuardedTransition__NameAssignment_1();
 
                     state._fsp--;
@@ -16637,21 +16401,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6017:1: rule__GuardedTransition__Group__2 : rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5861:1: rule__GuardedTransition__Group__2 : rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3 ;
     public final void rule__GuardedTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6021:1: ( rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6022:2: rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5865:1: ( rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5866:2: rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__2__Impl_in_rule__GuardedTransition__Group__212276);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__2__Impl_in_rule__GuardedTransition__Group__211968);
             rule__GuardedTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__3_in_rule__GuardedTransition__Group__212279);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__3_in_rule__GuardedTransition__Group__211971);
             rule__GuardedTransition__Group__3();
 
             state._fsp--;
@@ -16675,20 +16439,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6029:1: rule__GuardedTransition__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5873:1: rule__GuardedTransition__Group__2__Impl : ( ':' ) ;
     public final void rule__GuardedTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6033:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6034:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5877:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5878:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6034:1: ( ':' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6035:1: ':'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5878:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5879:1: ':'
             {
              before(grammarAccess.getGuardedTransitionAccess().getColonKeyword_2()); 
-            match(input,41,FOLLOW_41_in_rule__GuardedTransition__Group__2__Impl12307); 
+            match(input,42,FOLLOW_42_in_rule__GuardedTransition__Group__2__Impl11999); 
              after(grammarAccess.getGuardedTransitionAccess().getColonKeyword_2()); 
 
             }
@@ -16712,21 +16476,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6048:1: rule__GuardedTransition__Group__3 : rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5892:1: rule__GuardedTransition__Group__3 : rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4 ;
     public final void rule__GuardedTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6052:1: ( rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6053:2: rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5896:1: ( rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5897:2: rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__3__Impl_in_rule__GuardedTransition__Group__312338);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__3__Impl_in_rule__GuardedTransition__Group__312030);
             rule__GuardedTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__4_in_rule__GuardedTransition__Group__312341);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__4_in_rule__GuardedTransition__Group__312033);
             rule__GuardedTransition__Group__4();
 
             state._fsp--;
@@ -16750,23 +16514,23 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6060:1: rule__GuardedTransition__Group__3__Impl : ( ( rule__GuardedTransition__FromAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5904:1: rule__GuardedTransition__Group__3__Impl : ( ( rule__GuardedTransition__FromAssignment_3 ) ) ;
     public final void rule__GuardedTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6064:1: ( ( ( rule__GuardedTransition__FromAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6065:1: ( ( rule__GuardedTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5908:1: ( ( ( rule__GuardedTransition__FromAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5909:1: ( ( rule__GuardedTransition__FromAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6065:1: ( ( rule__GuardedTransition__FromAssignment_3 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6066:1: ( rule__GuardedTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5909:1: ( ( rule__GuardedTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5910:1: ( rule__GuardedTransition__FromAssignment_3 )
             {
              before(grammarAccess.getGuardedTransitionAccess().getFromAssignment_3()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6067:1: ( rule__GuardedTransition__FromAssignment_3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6067:2: rule__GuardedTransition__FromAssignment_3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5911:1: ( rule__GuardedTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5911:2: rule__GuardedTransition__FromAssignment_3
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__FromAssignment_3_in_rule__GuardedTransition__Group__3__Impl12368);
+            pushFollow(FOLLOW_rule__GuardedTransition__FromAssignment_3_in_rule__GuardedTransition__Group__3__Impl12060);
             rule__GuardedTransition__FromAssignment_3();
 
             state._fsp--;
@@ -16797,21 +16561,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6077:1: rule__GuardedTransition__Group__4 : rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5921:1: rule__GuardedTransition__Group__4 : rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5 ;
     public final void rule__GuardedTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6081:1: ( rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6082:2: rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5925:1: ( rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5926:2: rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__4__Impl_in_rule__GuardedTransition__Group__412398);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__4__Impl_in_rule__GuardedTransition__Group__412090);
             rule__GuardedTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__5_in_rule__GuardedTransition__Group__412401);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__5_in_rule__GuardedTransition__Group__412093);
             rule__GuardedTransition__Group__5();
 
             state._fsp--;
@@ -16835,20 +16599,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6089:1: rule__GuardedTransition__Group__4__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5933:1: rule__GuardedTransition__Group__4__Impl : ( '->' ) ;
     public final void rule__GuardedTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6093:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6094:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5937:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5938:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6094:1: ( '->' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6095:1: '->'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5938:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5939:1: '->'
             {
              before(grammarAccess.getGuardedTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
-            match(input,43,FOLLOW_43_in_rule__GuardedTransition__Group__4__Impl12429); 
+            match(input,44,FOLLOW_44_in_rule__GuardedTransition__Group__4__Impl12121); 
              after(grammarAccess.getGuardedTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
 
             }
@@ -16872,21 +16636,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6108:1: rule__GuardedTransition__Group__5 : rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5952:1: rule__GuardedTransition__Group__5 : rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6 ;
     public final void rule__GuardedTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6112:1: ( rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6113:2: rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5956:1: ( rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5957:2: rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__5__Impl_in_rule__GuardedTransition__Group__512460);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__5__Impl_in_rule__GuardedTransition__Group__512152);
             rule__GuardedTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__6_in_rule__GuardedTransition__Group__512463);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__6_in_rule__GuardedTransition__Group__512155);
             rule__GuardedTransition__Group__6();
 
             state._fsp--;
@@ -16910,23 +16674,23 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6120:1: rule__GuardedTransition__Group__5__Impl : ( ( rule__GuardedTransition__ToAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5964:1: rule__GuardedTransition__Group__5__Impl : ( ( rule__GuardedTransition__ToAssignment_5 ) ) ;
     public final void rule__GuardedTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6124:1: ( ( ( rule__GuardedTransition__ToAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6125:1: ( ( rule__GuardedTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5968:1: ( ( ( rule__GuardedTransition__ToAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5969:1: ( ( rule__GuardedTransition__ToAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6125:1: ( ( rule__GuardedTransition__ToAssignment_5 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6126:1: ( rule__GuardedTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5969:1: ( ( rule__GuardedTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5970:1: ( rule__GuardedTransition__ToAssignment_5 )
             {
              before(grammarAccess.getGuardedTransitionAccess().getToAssignment_5()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6127:1: ( rule__GuardedTransition__ToAssignment_5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6127:2: rule__GuardedTransition__ToAssignment_5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5971:1: ( rule__GuardedTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5971:2: rule__GuardedTransition__ToAssignment_5
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__ToAssignment_5_in_rule__GuardedTransition__Group__5__Impl12490);
+            pushFollow(FOLLOW_rule__GuardedTransition__ToAssignment_5_in_rule__GuardedTransition__Group__5__Impl12182);
             rule__GuardedTransition__ToAssignment_5();
 
             state._fsp--;
@@ -16957,21 +16721,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6137:1: rule__GuardedTransition__Group__6 : rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5981:1: rule__GuardedTransition__Group__6 : rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7 ;
     public final void rule__GuardedTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6141:1: ( rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6142:2: rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5985:1: ( rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5986:2: rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__6__Impl_in_rule__GuardedTransition__Group__612520);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__6__Impl_in_rule__GuardedTransition__Group__612212);
             rule__GuardedTransition__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__7_in_rule__GuardedTransition__Group__612523);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__7_in_rule__GuardedTransition__Group__612215);
             rule__GuardedTransition__Group__7();
 
             state._fsp--;
@@ -16995,31 +16759,31 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6149:1: rule__GuardedTransition__Group__6__Impl : ( ( rule__GuardedTransition__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5993:1: rule__GuardedTransition__Group__6__Impl : ( ( rule__GuardedTransition__DocuAssignment_6 )? ) ;
     public final void rule__GuardedTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6153:1: ( ( ( rule__GuardedTransition__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6154:1: ( ( rule__GuardedTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5997:1: ( ( ( rule__GuardedTransition__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5998:1: ( ( rule__GuardedTransition__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6154:1: ( ( rule__GuardedTransition__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6155:1: ( rule__GuardedTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5998:1: ( ( rule__GuardedTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:5999:1: ( rule__GuardedTransition__DocuAssignment_6 )?
             {
              before(grammarAccess.getGuardedTransitionAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6156:1: ( rule__GuardedTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6000:1: ( rule__GuardedTransition__DocuAssignment_6 )?
             int alt59=2;
             int LA59_0 = input.LA(1);
 
-            if ( (LA59_0==64) ) {
+            if ( (LA59_0==65) ) {
                 alt59=1;
             }
             switch (alt59) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6156:2: rule__GuardedTransition__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6000:2: rule__GuardedTransition__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__GuardedTransition__DocuAssignment_6_in_rule__GuardedTransition__Group__6__Impl12550);
+                    pushFollow(FOLLOW_rule__GuardedTransition__DocuAssignment_6_in_rule__GuardedTransition__Group__6__Impl12242);
                     rule__GuardedTransition__DocuAssignment_6();
 
                     state._fsp--;
@@ -17053,21 +16817,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__7"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6166:1: rule__GuardedTransition__Group__7 : rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6010:1: rule__GuardedTransition__Group__7 : rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8 ;
     public final void rule__GuardedTransition__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6170:1: ( rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6171:2: rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6014:1: ( rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6015:2: rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__7__Impl_in_rule__GuardedTransition__Group__712581);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__7__Impl_in_rule__GuardedTransition__Group__712273);
             rule__GuardedTransition__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__8_in_rule__GuardedTransition__Group__712584);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__8_in_rule__GuardedTransition__Group__712276);
             rule__GuardedTransition__Group__8();
 
             state._fsp--;
@@ -17091,20 +16855,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__7__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6178:1: rule__GuardedTransition__Group__7__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6022:1: rule__GuardedTransition__Group__7__Impl : ( '{' ) ;
     public final void rule__GuardedTransition__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6182:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6183:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6026:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6027:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6183:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6184:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6027:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6028:1: '{'
             {
              before(grammarAccess.getGuardedTransitionAccess().getLeftCurlyBracketKeyword_7()); 
-            match(input,27,FOLLOW_27_in_rule__GuardedTransition__Group__7__Impl12612); 
+            match(input,28,FOLLOW_28_in_rule__GuardedTransition__Group__7__Impl12304); 
              after(grammarAccess.getGuardedTransitionAccess().getLeftCurlyBracketKeyword_7()); 
 
             }
@@ -17128,21 +16892,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__8"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6197:1: rule__GuardedTransition__Group__8 : rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6041:1: rule__GuardedTransition__Group__8 : rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9 ;
     public final void rule__GuardedTransition__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6201:1: ( rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6202:2: rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6045:1: ( rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6046:2: rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__8__Impl_in_rule__GuardedTransition__Group__812643);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__8__Impl_in_rule__GuardedTransition__Group__812335);
             rule__GuardedTransition__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__9_in_rule__GuardedTransition__Group__812646);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__9_in_rule__GuardedTransition__Group__812338);
             rule__GuardedTransition__Group__9();
 
             state._fsp--;
@@ -17166,20 +16930,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__8__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6209:1: rule__GuardedTransition__Group__8__Impl : ( 'guard' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6053:1: rule__GuardedTransition__Group__8__Impl : ( 'guard' ) ;
     public final void rule__GuardedTransition__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6213:1: ( ( 'guard' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6214:1: ( 'guard' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6057:1: ( ( 'guard' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6058:1: ( 'guard' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6214:1: ( 'guard' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6215:1: 'guard'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6058:1: ( 'guard' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6059:1: 'guard'
             {
              before(grammarAccess.getGuardedTransitionAccess().getGuardKeyword_8()); 
-            match(input,47,FOLLOW_47_in_rule__GuardedTransition__Group__8__Impl12674); 
+            match(input,48,FOLLOW_48_in_rule__GuardedTransition__Group__8__Impl12366); 
              after(grammarAccess.getGuardedTransitionAccess().getGuardKeyword_8()); 
 
             }
@@ -17203,21 +16967,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__9"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6228:1: rule__GuardedTransition__Group__9 : rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6072:1: rule__GuardedTransition__Group__9 : rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10 ;
     public final void rule__GuardedTransition__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6232:1: ( rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6233:2: rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6076:1: ( rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6077:2: rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__9__Impl_in_rule__GuardedTransition__Group__912705);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__9__Impl_in_rule__GuardedTransition__Group__912397);
             rule__GuardedTransition__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__10_in_rule__GuardedTransition__Group__912708);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__10_in_rule__GuardedTransition__Group__912400);
             rule__GuardedTransition__Group__10();
 
             state._fsp--;
@@ -17241,23 +17005,23 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__9__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6240:1: rule__GuardedTransition__Group__9__Impl : ( ( rule__GuardedTransition__GuardAssignment_9 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6084:1: rule__GuardedTransition__Group__9__Impl : ( ( rule__GuardedTransition__GuardAssignment_9 ) ) ;
     public final void rule__GuardedTransition__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6244:1: ( ( ( rule__GuardedTransition__GuardAssignment_9 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6245:1: ( ( rule__GuardedTransition__GuardAssignment_9 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6088:1: ( ( ( rule__GuardedTransition__GuardAssignment_9 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6089:1: ( ( rule__GuardedTransition__GuardAssignment_9 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6245:1: ( ( rule__GuardedTransition__GuardAssignment_9 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6246:1: ( rule__GuardedTransition__GuardAssignment_9 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6089:1: ( ( rule__GuardedTransition__GuardAssignment_9 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6090:1: ( rule__GuardedTransition__GuardAssignment_9 )
             {
              before(grammarAccess.getGuardedTransitionAccess().getGuardAssignment_9()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6247:1: ( rule__GuardedTransition__GuardAssignment_9 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6247:2: rule__GuardedTransition__GuardAssignment_9
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6091:1: ( rule__GuardedTransition__GuardAssignment_9 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6091:2: rule__GuardedTransition__GuardAssignment_9
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__GuardAssignment_9_in_rule__GuardedTransition__Group__9__Impl12735);
+            pushFollow(FOLLOW_rule__GuardedTransition__GuardAssignment_9_in_rule__GuardedTransition__Group__9__Impl12427);
             rule__GuardedTransition__GuardAssignment_9();
 
             state._fsp--;
@@ -17288,21 +17052,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__10"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6257:1: rule__GuardedTransition__Group__10 : rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6101:1: rule__GuardedTransition__Group__10 : rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11 ;
     public final void rule__GuardedTransition__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6261:1: ( rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6262:2: rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6105:1: ( rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6106:2: rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__10__Impl_in_rule__GuardedTransition__Group__1012765);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__10__Impl_in_rule__GuardedTransition__Group__1012457);
             rule__GuardedTransition__Group__10__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__11_in_rule__GuardedTransition__Group__1012768);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__11_in_rule__GuardedTransition__Group__1012460);
             rule__GuardedTransition__Group__11();
 
             state._fsp--;
@@ -17326,31 +17090,31 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__10__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6269:1: rule__GuardedTransition__Group__10__Impl : ( ( rule__GuardedTransition__Group_10__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6113:1: rule__GuardedTransition__Group__10__Impl : ( ( rule__GuardedTransition__Group_10__0 )? ) ;
     public final void rule__GuardedTransition__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6273:1: ( ( ( rule__GuardedTransition__Group_10__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6274:1: ( ( rule__GuardedTransition__Group_10__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6117:1: ( ( ( rule__GuardedTransition__Group_10__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6118:1: ( ( rule__GuardedTransition__Group_10__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6274:1: ( ( rule__GuardedTransition__Group_10__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6275:1: ( rule__GuardedTransition__Group_10__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6118:1: ( ( rule__GuardedTransition__Group_10__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6119:1: ( rule__GuardedTransition__Group_10__0 )?
             {
              before(grammarAccess.getGuardedTransitionAccess().getGroup_10()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6276:1: ( rule__GuardedTransition__Group_10__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6120:1: ( rule__GuardedTransition__Group_10__0 )?
             int alt60=2;
             int LA60_0 = input.LA(1);
 
-            if ( (LA60_0==44) ) {
+            if ( (LA60_0==45) ) {
                 alt60=1;
             }
             switch (alt60) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6276:2: rule__GuardedTransition__Group_10__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6120:2: rule__GuardedTransition__Group_10__0
                     {
-                    pushFollow(FOLLOW_rule__GuardedTransition__Group_10__0_in_rule__GuardedTransition__Group__10__Impl12795);
+                    pushFollow(FOLLOW_rule__GuardedTransition__Group_10__0_in_rule__GuardedTransition__Group__10__Impl12487);
                     rule__GuardedTransition__Group_10__0();
 
                     state._fsp--;
@@ -17384,16 +17148,16 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__11"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6286:1: rule__GuardedTransition__Group__11 : rule__GuardedTransition__Group__11__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6130:1: rule__GuardedTransition__Group__11 : rule__GuardedTransition__Group__11__Impl ;
     public final void rule__GuardedTransition__Group__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6290:1: ( rule__GuardedTransition__Group__11__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6291:2: rule__GuardedTransition__Group__11__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6134:1: ( rule__GuardedTransition__Group__11__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6135:2: rule__GuardedTransition__Group__11__Impl
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__11__Impl_in_rule__GuardedTransition__Group__1112826);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__11__Impl_in_rule__GuardedTransition__Group__1112518);
             rule__GuardedTransition__Group__11__Impl();
 
             state._fsp--;
@@ -17417,20 +17181,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__11__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6297:1: rule__GuardedTransition__Group__11__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6141:1: rule__GuardedTransition__Group__11__Impl : ( '}' ) ;
     public final void rule__GuardedTransition__Group__11__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6301:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6302:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6145:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6146:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6302:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6303:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6146:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6147:1: '}'
             {
              before(grammarAccess.getGuardedTransitionAccess().getRightCurlyBracketKeyword_11()); 
-            match(input,28,FOLLOW_28_in_rule__GuardedTransition__Group__11__Impl12854); 
+            match(input,29,FOLLOW_29_in_rule__GuardedTransition__Group__11__Impl12546); 
              after(grammarAccess.getGuardedTransitionAccess().getRightCurlyBracketKeyword_11()); 
 
             }
@@ -17454,21 +17218,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group_10__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6340:1: rule__GuardedTransition__Group_10__0 : rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6184:1: rule__GuardedTransition__Group_10__0 : rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1 ;
     public final void rule__GuardedTransition__Group_10__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6344:1: ( rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6345:2: rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6188:1: ( rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6189:2: rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__0__Impl_in_rule__GuardedTransition__Group_10__012909);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__0__Impl_in_rule__GuardedTransition__Group_10__012601);
             rule__GuardedTransition__Group_10__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__1_in_rule__GuardedTransition__Group_10__012912);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__1_in_rule__GuardedTransition__Group_10__012604);
             rule__GuardedTransition__Group_10__1();
 
             state._fsp--;
@@ -17492,20 +17256,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group_10__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6352:1: rule__GuardedTransition__Group_10__0__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6196:1: rule__GuardedTransition__Group_10__0__Impl : ( 'action' ) ;
     public final void rule__GuardedTransition__Group_10__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6356:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6357:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6200:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6201:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6357:1: ( 'action' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6358:1: 'action'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6201:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6202:1: 'action'
             {
              before(grammarAccess.getGuardedTransitionAccess().getActionKeyword_10_0()); 
-            match(input,44,FOLLOW_44_in_rule__GuardedTransition__Group_10__0__Impl12940); 
+            match(input,45,FOLLOW_45_in_rule__GuardedTransition__Group_10__0__Impl12632); 
              after(grammarAccess.getGuardedTransitionAccess().getActionKeyword_10_0()); 
 
             }
@@ -17529,16 +17293,16 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group_10__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6371:1: rule__GuardedTransition__Group_10__1 : rule__GuardedTransition__Group_10__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6215:1: rule__GuardedTransition__Group_10__1 : rule__GuardedTransition__Group_10__1__Impl ;
     public final void rule__GuardedTransition__Group_10__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6375:1: ( rule__GuardedTransition__Group_10__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6376:2: rule__GuardedTransition__Group_10__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6219:1: ( rule__GuardedTransition__Group_10__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6220:2: rule__GuardedTransition__Group_10__1__Impl
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__1__Impl_in_rule__GuardedTransition__Group_10__112971);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__1__Impl_in_rule__GuardedTransition__Group_10__112663);
             rule__GuardedTransition__Group_10__1__Impl();
 
             state._fsp--;
@@ -17562,23 +17326,23 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group_10__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6382:1: rule__GuardedTransition__Group_10__1__Impl : ( ( rule__GuardedTransition__ActionAssignment_10_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6226:1: rule__GuardedTransition__Group_10__1__Impl : ( ( rule__GuardedTransition__ActionAssignment_10_1 ) ) ;
     public final void rule__GuardedTransition__Group_10__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6386:1: ( ( ( rule__GuardedTransition__ActionAssignment_10_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6387:1: ( ( rule__GuardedTransition__ActionAssignment_10_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6230:1: ( ( ( rule__GuardedTransition__ActionAssignment_10_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6231:1: ( ( rule__GuardedTransition__ActionAssignment_10_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6387:1: ( ( rule__GuardedTransition__ActionAssignment_10_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6388:1: ( rule__GuardedTransition__ActionAssignment_10_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6231:1: ( ( rule__GuardedTransition__ActionAssignment_10_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6232:1: ( rule__GuardedTransition__ActionAssignment_10_1 )
             {
              before(grammarAccess.getGuardedTransitionAccess().getActionAssignment_10_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6389:1: ( rule__GuardedTransition__ActionAssignment_10_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6389:2: rule__GuardedTransition__ActionAssignment_10_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6233:1: ( rule__GuardedTransition__ActionAssignment_10_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6233:2: rule__GuardedTransition__ActionAssignment_10_1
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__ActionAssignment_10_1_in_rule__GuardedTransition__Group_10__1__Impl12998);
+            pushFollow(FOLLOW_rule__GuardedTransition__ActionAssignment_10_1_in_rule__GuardedTransition__Group_10__1__Impl12690);
             rule__GuardedTransition__ActionAssignment_10_1();
 
             state._fsp--;
@@ -17609,21 +17373,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6403:1: rule__CPBranchTransition__Group__0 : rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6247:1: rule__CPBranchTransition__Group__0 : rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1 ;
     public final void rule__CPBranchTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6407:1: ( rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6408:2: rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6251:1: ( rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6252:2: rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__0__Impl_in_rule__CPBranchTransition__Group__013032);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__0__Impl_in_rule__CPBranchTransition__Group__012724);
             rule__CPBranchTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__1_in_rule__CPBranchTransition__Group__013035);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__1_in_rule__CPBranchTransition__Group__012727);
             rule__CPBranchTransition__Group__1();
 
             state._fsp--;
@@ -17647,20 +17411,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6415:1: rule__CPBranchTransition__Group__0__Impl : ( 'Transition' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6259:1: rule__CPBranchTransition__Group__0__Impl : ( 'Transition' ) ;
     public final void rule__CPBranchTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6419:1: ( ( 'Transition' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6420:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6263:1: ( ( 'Transition' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6264:1: ( 'Transition' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6420:1: ( 'Transition' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6421:1: 'Transition'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6264:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6265:1: 'Transition'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0()); 
-            match(input,40,FOLLOW_40_in_rule__CPBranchTransition__Group__0__Impl13063); 
+            match(input,41,FOLLOW_41_in_rule__CPBranchTransition__Group__0__Impl12755); 
              after(grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0()); 
 
             }
@@ -17684,21 +17448,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6434:1: rule__CPBranchTransition__Group__1 : rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6278:1: rule__CPBranchTransition__Group__1 : rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2 ;
     public final void rule__CPBranchTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6438:1: ( rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6439:2: rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6282:1: ( rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6283:2: rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__1__Impl_in_rule__CPBranchTransition__Group__113094);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__1__Impl_in_rule__CPBranchTransition__Group__112786);
             rule__CPBranchTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__2_in_rule__CPBranchTransition__Group__113097);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__2_in_rule__CPBranchTransition__Group__112789);
             rule__CPBranchTransition__Group__2();
 
             state._fsp--;
@@ -17722,20 +17486,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6446:1: rule__CPBranchTransition__Group__1__Impl : ( ( rule__CPBranchTransition__NameAssignment_1 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6290:1: rule__CPBranchTransition__Group__1__Impl : ( ( rule__CPBranchTransition__NameAssignment_1 )? ) ;
     public final void rule__CPBranchTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6450:1: ( ( ( rule__CPBranchTransition__NameAssignment_1 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6451:1: ( ( rule__CPBranchTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6294:1: ( ( ( rule__CPBranchTransition__NameAssignment_1 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6295:1: ( ( rule__CPBranchTransition__NameAssignment_1 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6451:1: ( ( rule__CPBranchTransition__NameAssignment_1 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6452:1: ( rule__CPBranchTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6295:1: ( ( rule__CPBranchTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6296:1: ( rule__CPBranchTransition__NameAssignment_1 )?
             {
              before(grammarAccess.getCPBranchTransitionAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6453:1: ( rule__CPBranchTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6297:1: ( rule__CPBranchTransition__NameAssignment_1 )?
             int alt61=2;
             int LA61_0 = input.LA(1);
 
@@ -17744,9 +17508,9 @@
             }
             switch (alt61) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6453:2: rule__CPBranchTransition__NameAssignment_1
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6297:2: rule__CPBranchTransition__NameAssignment_1
                     {
-                    pushFollow(FOLLOW_rule__CPBranchTransition__NameAssignment_1_in_rule__CPBranchTransition__Group__1__Impl13124);
+                    pushFollow(FOLLOW_rule__CPBranchTransition__NameAssignment_1_in_rule__CPBranchTransition__Group__1__Impl12816);
                     rule__CPBranchTransition__NameAssignment_1();
 
                     state._fsp--;
@@ -17780,21 +17544,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6463:1: rule__CPBranchTransition__Group__2 : rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6307:1: rule__CPBranchTransition__Group__2 : rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3 ;
     public final void rule__CPBranchTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6467:1: ( rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6468:2: rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6311:1: ( rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6312:2: rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__2__Impl_in_rule__CPBranchTransition__Group__213155);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__2__Impl_in_rule__CPBranchTransition__Group__212847);
             rule__CPBranchTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__3_in_rule__CPBranchTransition__Group__213158);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__3_in_rule__CPBranchTransition__Group__212850);
             rule__CPBranchTransition__Group__3();
 
             state._fsp--;
@@ -17818,20 +17582,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6475:1: rule__CPBranchTransition__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6319:1: rule__CPBranchTransition__Group__2__Impl : ( ':' ) ;
     public final void rule__CPBranchTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6479:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6480:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6323:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6324:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6480:1: ( ':' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6481:1: ':'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6324:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6325:1: ':'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2()); 
-            match(input,41,FOLLOW_41_in_rule__CPBranchTransition__Group__2__Impl13186); 
+            match(input,42,FOLLOW_42_in_rule__CPBranchTransition__Group__2__Impl12878); 
              after(grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2()); 
 
             }
@@ -17855,21 +17619,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6494:1: rule__CPBranchTransition__Group__3 : rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6338:1: rule__CPBranchTransition__Group__3 : rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4 ;
     public final void rule__CPBranchTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6498:1: ( rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6499:2: rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6342:1: ( rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6343:2: rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__3__Impl_in_rule__CPBranchTransition__Group__313217);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__3__Impl_in_rule__CPBranchTransition__Group__312909);
             rule__CPBranchTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__4_in_rule__CPBranchTransition__Group__313220);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__4_in_rule__CPBranchTransition__Group__312912);
             rule__CPBranchTransition__Group__4();
 
             state._fsp--;
@@ -17893,23 +17657,23 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6506:1: rule__CPBranchTransition__Group__3__Impl : ( ( rule__CPBranchTransition__FromAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6350:1: rule__CPBranchTransition__Group__3__Impl : ( ( rule__CPBranchTransition__FromAssignment_3 ) ) ;
     public final void rule__CPBranchTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6510:1: ( ( ( rule__CPBranchTransition__FromAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6511:1: ( ( rule__CPBranchTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6354:1: ( ( ( rule__CPBranchTransition__FromAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6355:1: ( ( rule__CPBranchTransition__FromAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6511:1: ( ( rule__CPBranchTransition__FromAssignment_3 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6512:1: ( rule__CPBranchTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6355:1: ( ( rule__CPBranchTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6356:1: ( rule__CPBranchTransition__FromAssignment_3 )
             {
              before(grammarAccess.getCPBranchTransitionAccess().getFromAssignment_3()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6513:1: ( rule__CPBranchTransition__FromAssignment_3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6513:2: rule__CPBranchTransition__FromAssignment_3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6357:1: ( rule__CPBranchTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6357:2: rule__CPBranchTransition__FromAssignment_3
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__FromAssignment_3_in_rule__CPBranchTransition__Group__3__Impl13247);
+            pushFollow(FOLLOW_rule__CPBranchTransition__FromAssignment_3_in_rule__CPBranchTransition__Group__3__Impl12939);
             rule__CPBranchTransition__FromAssignment_3();
 
             state._fsp--;
@@ -17940,21 +17704,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6523:1: rule__CPBranchTransition__Group__4 : rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6367:1: rule__CPBranchTransition__Group__4 : rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5 ;
     public final void rule__CPBranchTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6527:1: ( rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6528:2: rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6371:1: ( rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6372:2: rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__4__Impl_in_rule__CPBranchTransition__Group__413277);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__4__Impl_in_rule__CPBranchTransition__Group__412969);
             rule__CPBranchTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__5_in_rule__CPBranchTransition__Group__413280);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__5_in_rule__CPBranchTransition__Group__412972);
             rule__CPBranchTransition__Group__5();
 
             state._fsp--;
@@ -17978,20 +17742,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6535:1: rule__CPBranchTransition__Group__4__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6379:1: rule__CPBranchTransition__Group__4__Impl : ( '->' ) ;
     public final void rule__CPBranchTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6539:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6540:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6383:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6384:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6540:1: ( '->' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6541:1: '->'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6384:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6385:1: '->'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
-            match(input,43,FOLLOW_43_in_rule__CPBranchTransition__Group__4__Impl13308); 
+            match(input,44,FOLLOW_44_in_rule__CPBranchTransition__Group__4__Impl13000); 
              after(grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
 
             }
@@ -18015,21 +17779,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6554:1: rule__CPBranchTransition__Group__5 : rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6398:1: rule__CPBranchTransition__Group__5 : rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6 ;
     public final void rule__CPBranchTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6558:1: ( rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6559:2: rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6402:1: ( rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6403:2: rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__5__Impl_in_rule__CPBranchTransition__Group__513339);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__5__Impl_in_rule__CPBranchTransition__Group__513031);
             rule__CPBranchTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__6_in_rule__CPBranchTransition__Group__513342);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__6_in_rule__CPBranchTransition__Group__513034);
             rule__CPBranchTransition__Group__6();
 
             state._fsp--;
@@ -18053,23 +17817,23 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6566:1: rule__CPBranchTransition__Group__5__Impl : ( ( rule__CPBranchTransition__ToAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6410:1: rule__CPBranchTransition__Group__5__Impl : ( ( rule__CPBranchTransition__ToAssignment_5 ) ) ;
     public final void rule__CPBranchTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6570:1: ( ( ( rule__CPBranchTransition__ToAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6571:1: ( ( rule__CPBranchTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6414:1: ( ( ( rule__CPBranchTransition__ToAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6415:1: ( ( rule__CPBranchTransition__ToAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6571:1: ( ( rule__CPBranchTransition__ToAssignment_5 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6572:1: ( rule__CPBranchTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6415:1: ( ( rule__CPBranchTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6416:1: ( rule__CPBranchTransition__ToAssignment_5 )
             {
              before(grammarAccess.getCPBranchTransitionAccess().getToAssignment_5()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6573:1: ( rule__CPBranchTransition__ToAssignment_5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6573:2: rule__CPBranchTransition__ToAssignment_5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6417:1: ( rule__CPBranchTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6417:2: rule__CPBranchTransition__ToAssignment_5
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__ToAssignment_5_in_rule__CPBranchTransition__Group__5__Impl13369);
+            pushFollow(FOLLOW_rule__CPBranchTransition__ToAssignment_5_in_rule__CPBranchTransition__Group__5__Impl13061);
             rule__CPBranchTransition__ToAssignment_5();
 
             state._fsp--;
@@ -18100,21 +17864,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6583:1: rule__CPBranchTransition__Group__6 : rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6427:1: rule__CPBranchTransition__Group__6 : rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7 ;
     public final void rule__CPBranchTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6587:1: ( rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6588:2: rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6431:1: ( rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6432:2: rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__6__Impl_in_rule__CPBranchTransition__Group__613399);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__6__Impl_in_rule__CPBranchTransition__Group__613091);
             rule__CPBranchTransition__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__7_in_rule__CPBranchTransition__Group__613402);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__7_in_rule__CPBranchTransition__Group__613094);
             rule__CPBranchTransition__Group__7();
 
             state._fsp--;
@@ -18138,31 +17902,31 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6595:1: rule__CPBranchTransition__Group__6__Impl : ( ( rule__CPBranchTransition__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6439:1: rule__CPBranchTransition__Group__6__Impl : ( ( rule__CPBranchTransition__DocuAssignment_6 )? ) ;
     public final void rule__CPBranchTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6599:1: ( ( ( rule__CPBranchTransition__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6600:1: ( ( rule__CPBranchTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6443:1: ( ( ( rule__CPBranchTransition__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6444:1: ( ( rule__CPBranchTransition__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6600:1: ( ( rule__CPBranchTransition__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6601:1: ( rule__CPBranchTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6444:1: ( ( rule__CPBranchTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6445:1: ( rule__CPBranchTransition__DocuAssignment_6 )?
             {
              before(grammarAccess.getCPBranchTransitionAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6602:1: ( rule__CPBranchTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6446:1: ( rule__CPBranchTransition__DocuAssignment_6 )?
             int alt62=2;
             int LA62_0 = input.LA(1);
 
-            if ( (LA62_0==64) ) {
+            if ( (LA62_0==65) ) {
                 alt62=1;
             }
             switch (alt62) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6602:2: rule__CPBranchTransition__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6446:2: rule__CPBranchTransition__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__CPBranchTransition__DocuAssignment_6_in_rule__CPBranchTransition__Group__6__Impl13429);
+                    pushFollow(FOLLOW_rule__CPBranchTransition__DocuAssignment_6_in_rule__CPBranchTransition__Group__6__Impl13121);
                     rule__CPBranchTransition__DocuAssignment_6();
 
                     state._fsp--;
@@ -18196,21 +17960,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__7"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6612:1: rule__CPBranchTransition__Group__7 : rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6456:1: rule__CPBranchTransition__Group__7 : rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8 ;
     public final void rule__CPBranchTransition__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6616:1: ( rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6617:2: rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6460:1: ( rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6461:2: rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__7__Impl_in_rule__CPBranchTransition__Group__713460);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__7__Impl_in_rule__CPBranchTransition__Group__713152);
             rule__CPBranchTransition__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__8_in_rule__CPBranchTransition__Group__713463);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__8_in_rule__CPBranchTransition__Group__713155);
             rule__CPBranchTransition__Group__8();
 
             state._fsp--;
@@ -18234,20 +17998,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__7__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6624:1: rule__CPBranchTransition__Group__7__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6468:1: rule__CPBranchTransition__Group__7__Impl : ( '{' ) ;
     public final void rule__CPBranchTransition__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6628:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6629:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6472:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6473:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6629:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6630:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6473:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6474:1: '{'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_7()); 
-            match(input,27,FOLLOW_27_in_rule__CPBranchTransition__Group__7__Impl13491); 
+            match(input,28,FOLLOW_28_in_rule__CPBranchTransition__Group__7__Impl13183); 
              after(grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_7()); 
 
             }
@@ -18271,21 +18035,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__8"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6643:1: rule__CPBranchTransition__Group__8 : rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6487:1: rule__CPBranchTransition__Group__8 : rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9 ;
     public final void rule__CPBranchTransition__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6647:1: ( rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6648:2: rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6491:1: ( rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6492:2: rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__8__Impl_in_rule__CPBranchTransition__Group__813522);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__8__Impl_in_rule__CPBranchTransition__Group__813214);
             rule__CPBranchTransition__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__9_in_rule__CPBranchTransition__Group__813525);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__9_in_rule__CPBranchTransition__Group__813217);
             rule__CPBranchTransition__Group__9();
 
             state._fsp--;
@@ -18309,20 +18073,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__8__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6655:1: rule__CPBranchTransition__Group__8__Impl : ( 'cond' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6499:1: rule__CPBranchTransition__Group__8__Impl : ( 'cond' ) ;
     public final void rule__CPBranchTransition__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6659:1: ( ( 'cond' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6660:1: ( 'cond' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6503:1: ( ( 'cond' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6504:1: ( 'cond' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6660:1: ( 'cond' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6661:1: 'cond'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6504:1: ( 'cond' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6505:1: 'cond'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getCondKeyword_8()); 
-            match(input,48,FOLLOW_48_in_rule__CPBranchTransition__Group__8__Impl13553); 
+            match(input,49,FOLLOW_49_in_rule__CPBranchTransition__Group__8__Impl13245); 
              after(grammarAccess.getCPBranchTransitionAccess().getCondKeyword_8()); 
 
             }
@@ -18346,21 +18110,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__9"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6674:1: rule__CPBranchTransition__Group__9 : rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6518:1: rule__CPBranchTransition__Group__9 : rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10 ;
     public final void rule__CPBranchTransition__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6678:1: ( rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6679:2: rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6522:1: ( rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6523:2: rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__9__Impl_in_rule__CPBranchTransition__Group__913584);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__9__Impl_in_rule__CPBranchTransition__Group__913276);
             rule__CPBranchTransition__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__10_in_rule__CPBranchTransition__Group__913587);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__10_in_rule__CPBranchTransition__Group__913279);
             rule__CPBranchTransition__Group__10();
 
             state._fsp--;
@@ -18384,23 +18148,23 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__9__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6686:1: rule__CPBranchTransition__Group__9__Impl : ( ( rule__CPBranchTransition__ConditionAssignment_9 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6530:1: rule__CPBranchTransition__Group__9__Impl : ( ( rule__CPBranchTransition__ConditionAssignment_9 ) ) ;
     public final void rule__CPBranchTransition__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6690:1: ( ( ( rule__CPBranchTransition__ConditionAssignment_9 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6691:1: ( ( rule__CPBranchTransition__ConditionAssignment_9 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6534:1: ( ( ( rule__CPBranchTransition__ConditionAssignment_9 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6535:1: ( ( rule__CPBranchTransition__ConditionAssignment_9 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6691:1: ( ( rule__CPBranchTransition__ConditionAssignment_9 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6692:1: ( rule__CPBranchTransition__ConditionAssignment_9 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6535:1: ( ( rule__CPBranchTransition__ConditionAssignment_9 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6536:1: ( rule__CPBranchTransition__ConditionAssignment_9 )
             {
              before(grammarAccess.getCPBranchTransitionAccess().getConditionAssignment_9()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6693:1: ( rule__CPBranchTransition__ConditionAssignment_9 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6693:2: rule__CPBranchTransition__ConditionAssignment_9
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6537:1: ( rule__CPBranchTransition__ConditionAssignment_9 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6537:2: rule__CPBranchTransition__ConditionAssignment_9
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__ConditionAssignment_9_in_rule__CPBranchTransition__Group__9__Impl13614);
+            pushFollow(FOLLOW_rule__CPBranchTransition__ConditionAssignment_9_in_rule__CPBranchTransition__Group__9__Impl13306);
             rule__CPBranchTransition__ConditionAssignment_9();
 
             state._fsp--;
@@ -18431,21 +18195,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__10"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6703:1: rule__CPBranchTransition__Group__10 : rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6547:1: rule__CPBranchTransition__Group__10 : rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11 ;
     public final void rule__CPBranchTransition__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6707:1: ( rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6708:2: rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6551:1: ( rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6552:2: rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__10__Impl_in_rule__CPBranchTransition__Group__1013644);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__10__Impl_in_rule__CPBranchTransition__Group__1013336);
             rule__CPBranchTransition__Group__10__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__11_in_rule__CPBranchTransition__Group__1013647);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__11_in_rule__CPBranchTransition__Group__1013339);
             rule__CPBranchTransition__Group__11();
 
             state._fsp--;
@@ -18469,31 +18233,31 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__10__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6715:1: rule__CPBranchTransition__Group__10__Impl : ( ( rule__CPBranchTransition__Group_10__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6559:1: rule__CPBranchTransition__Group__10__Impl : ( ( rule__CPBranchTransition__Group_10__0 )? ) ;
     public final void rule__CPBranchTransition__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6719:1: ( ( ( rule__CPBranchTransition__Group_10__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6720:1: ( ( rule__CPBranchTransition__Group_10__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6563:1: ( ( ( rule__CPBranchTransition__Group_10__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6564:1: ( ( rule__CPBranchTransition__Group_10__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6720:1: ( ( rule__CPBranchTransition__Group_10__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6721:1: ( rule__CPBranchTransition__Group_10__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6564:1: ( ( rule__CPBranchTransition__Group_10__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6565:1: ( rule__CPBranchTransition__Group_10__0 )?
             {
              before(grammarAccess.getCPBranchTransitionAccess().getGroup_10()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6722:1: ( rule__CPBranchTransition__Group_10__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6566:1: ( rule__CPBranchTransition__Group_10__0 )?
             int alt63=2;
             int LA63_0 = input.LA(1);
 
-            if ( (LA63_0==44) ) {
+            if ( (LA63_0==45) ) {
                 alt63=1;
             }
             switch (alt63) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6722:2: rule__CPBranchTransition__Group_10__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6566:2: rule__CPBranchTransition__Group_10__0
                     {
-                    pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__0_in_rule__CPBranchTransition__Group__10__Impl13674);
+                    pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__0_in_rule__CPBranchTransition__Group__10__Impl13366);
                     rule__CPBranchTransition__Group_10__0();
 
                     state._fsp--;
@@ -18527,16 +18291,16 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__11"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6732:1: rule__CPBranchTransition__Group__11 : rule__CPBranchTransition__Group__11__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6576:1: rule__CPBranchTransition__Group__11 : rule__CPBranchTransition__Group__11__Impl ;
     public final void rule__CPBranchTransition__Group__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6736:1: ( rule__CPBranchTransition__Group__11__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6737:2: rule__CPBranchTransition__Group__11__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6580:1: ( rule__CPBranchTransition__Group__11__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6581:2: rule__CPBranchTransition__Group__11__Impl
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__11__Impl_in_rule__CPBranchTransition__Group__1113705);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__11__Impl_in_rule__CPBranchTransition__Group__1113397);
             rule__CPBranchTransition__Group__11__Impl();
 
             state._fsp--;
@@ -18560,20 +18324,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__11__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6743:1: rule__CPBranchTransition__Group__11__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6587:1: rule__CPBranchTransition__Group__11__Impl : ( '}' ) ;
     public final void rule__CPBranchTransition__Group__11__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6747:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6748:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6591:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6592:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6748:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6749:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6592:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6593:1: '}'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_11()); 
-            match(input,28,FOLLOW_28_in_rule__CPBranchTransition__Group__11__Impl13733); 
+            match(input,29,FOLLOW_29_in_rule__CPBranchTransition__Group__11__Impl13425); 
              after(grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_11()); 
 
             }
@@ -18597,21 +18361,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group_10__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6786:1: rule__CPBranchTransition__Group_10__0 : rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6630:1: rule__CPBranchTransition__Group_10__0 : rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1 ;
     public final void rule__CPBranchTransition__Group_10__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6790:1: ( rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6791:2: rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6634:1: ( rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6635:2: rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__0__Impl_in_rule__CPBranchTransition__Group_10__013788);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__0__Impl_in_rule__CPBranchTransition__Group_10__013480);
             rule__CPBranchTransition__Group_10__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__1_in_rule__CPBranchTransition__Group_10__013791);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__1_in_rule__CPBranchTransition__Group_10__013483);
             rule__CPBranchTransition__Group_10__1();
 
             state._fsp--;
@@ -18635,20 +18399,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group_10__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6798:1: rule__CPBranchTransition__Group_10__0__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6642:1: rule__CPBranchTransition__Group_10__0__Impl : ( 'action' ) ;
     public final void rule__CPBranchTransition__Group_10__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6802:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6803:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6646:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6647:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6803:1: ( 'action' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6804:1: 'action'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6647:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6648:1: 'action'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getActionKeyword_10_0()); 
-            match(input,44,FOLLOW_44_in_rule__CPBranchTransition__Group_10__0__Impl13819); 
+            match(input,45,FOLLOW_45_in_rule__CPBranchTransition__Group_10__0__Impl13511); 
              after(grammarAccess.getCPBranchTransitionAccess().getActionKeyword_10_0()); 
 
             }
@@ -18672,16 +18436,16 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group_10__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6817:1: rule__CPBranchTransition__Group_10__1 : rule__CPBranchTransition__Group_10__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6661:1: rule__CPBranchTransition__Group_10__1 : rule__CPBranchTransition__Group_10__1__Impl ;
     public final void rule__CPBranchTransition__Group_10__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6821:1: ( rule__CPBranchTransition__Group_10__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6822:2: rule__CPBranchTransition__Group_10__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6665:1: ( rule__CPBranchTransition__Group_10__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6666:2: rule__CPBranchTransition__Group_10__1__Impl
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__1__Impl_in_rule__CPBranchTransition__Group_10__113850);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__1__Impl_in_rule__CPBranchTransition__Group_10__113542);
             rule__CPBranchTransition__Group_10__1__Impl();
 
             state._fsp--;
@@ -18705,23 +18469,23 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group_10__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6828:1: rule__CPBranchTransition__Group_10__1__Impl : ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6672:1: rule__CPBranchTransition__Group_10__1__Impl : ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) ) ;
     public final void rule__CPBranchTransition__Group_10__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6832:1: ( ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6833:1: ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6676:1: ( ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6677:1: ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6833:1: ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6834:1: ( rule__CPBranchTransition__ActionAssignment_10_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6677:1: ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6678:1: ( rule__CPBranchTransition__ActionAssignment_10_1 )
             {
              before(grammarAccess.getCPBranchTransitionAccess().getActionAssignment_10_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6835:1: ( rule__CPBranchTransition__ActionAssignment_10_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6835:2: rule__CPBranchTransition__ActionAssignment_10_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6679:1: ( rule__CPBranchTransition__ActionAssignment_10_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6679:2: rule__CPBranchTransition__ActionAssignment_10_1
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__ActionAssignment_10_1_in_rule__CPBranchTransition__Group_10__1__Impl13877);
+            pushFollow(FOLLOW_rule__CPBranchTransition__ActionAssignment_10_1_in_rule__CPBranchTransition__Group_10__1__Impl13569);
             rule__CPBranchTransition__ActionAssignment_10_1();
 
             state._fsp--;
@@ -18752,21 +18516,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6849:1: rule__RefinedTransition__Group__0 : rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6693:1: rule__RefinedTransition__Group__0 : rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1 ;
     public final void rule__RefinedTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6853:1: ( rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6854:2: rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6697:1: ( rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6698:2: rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__0__Impl_in_rule__RefinedTransition__Group__013911);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__0__Impl_in_rule__RefinedTransition__Group__013603);
             rule__RefinedTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__1_in_rule__RefinedTransition__Group__013914);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__1_in_rule__RefinedTransition__Group__013606);
             rule__RefinedTransition__Group__1();
 
             state._fsp--;
@@ -18790,20 +18554,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6861:1: rule__RefinedTransition__Group__0__Impl : ( 'RefinedTransition' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6705:1: rule__RefinedTransition__Group__0__Impl : ( 'RefinedTransition' ) ;
     public final void rule__RefinedTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6865:1: ( ( 'RefinedTransition' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6866:1: ( 'RefinedTransition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6709:1: ( ( 'RefinedTransition' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6710:1: ( 'RefinedTransition' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6866:1: ( 'RefinedTransition' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6867:1: 'RefinedTransition'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6710:1: ( 'RefinedTransition' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6711:1: 'RefinedTransition'
             {
              before(grammarAccess.getRefinedTransitionAccess().getRefinedTransitionKeyword_0()); 
-            match(input,49,FOLLOW_49_in_rule__RefinedTransition__Group__0__Impl13942); 
+            match(input,50,FOLLOW_50_in_rule__RefinedTransition__Group__0__Impl13634); 
              after(grammarAccess.getRefinedTransitionAccess().getRefinedTransitionKeyword_0()); 
 
             }
@@ -18827,21 +18591,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6880:1: rule__RefinedTransition__Group__1 : rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6724:1: rule__RefinedTransition__Group__1 : rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2 ;
     public final void rule__RefinedTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6884:1: ( rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6885:2: rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6728:1: ( rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6729:2: rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__1__Impl_in_rule__RefinedTransition__Group__113973);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__1__Impl_in_rule__RefinedTransition__Group__113665);
             rule__RefinedTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__2_in_rule__RefinedTransition__Group__113976);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__2_in_rule__RefinedTransition__Group__113668);
             rule__RefinedTransition__Group__2();
 
             state._fsp--;
@@ -18865,23 +18629,23 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6892:1: rule__RefinedTransition__Group__1__Impl : ( ( rule__RefinedTransition__TargetAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6736:1: rule__RefinedTransition__Group__1__Impl : ( ( rule__RefinedTransition__TargetAssignment_1 ) ) ;
     public final void rule__RefinedTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6896:1: ( ( ( rule__RefinedTransition__TargetAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6897:1: ( ( rule__RefinedTransition__TargetAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6740:1: ( ( ( rule__RefinedTransition__TargetAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6741:1: ( ( rule__RefinedTransition__TargetAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6897:1: ( ( rule__RefinedTransition__TargetAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6898:1: ( rule__RefinedTransition__TargetAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6741:1: ( ( rule__RefinedTransition__TargetAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6742:1: ( rule__RefinedTransition__TargetAssignment_1 )
             {
              before(grammarAccess.getRefinedTransitionAccess().getTargetAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6899:1: ( rule__RefinedTransition__TargetAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6899:2: rule__RefinedTransition__TargetAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6743:1: ( rule__RefinedTransition__TargetAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6743:2: rule__RefinedTransition__TargetAssignment_1
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__TargetAssignment_1_in_rule__RefinedTransition__Group__1__Impl14003);
+            pushFollow(FOLLOW_rule__RefinedTransition__TargetAssignment_1_in_rule__RefinedTransition__Group__1__Impl13695);
             rule__RefinedTransition__TargetAssignment_1();
 
             state._fsp--;
@@ -18912,21 +18676,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6909:1: rule__RefinedTransition__Group__2 : rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6753:1: rule__RefinedTransition__Group__2 : rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3 ;
     public final void rule__RefinedTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6913:1: ( rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6914:2: rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6757:1: ( rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6758:2: rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__2__Impl_in_rule__RefinedTransition__Group__214033);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__2__Impl_in_rule__RefinedTransition__Group__213725);
             rule__RefinedTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__3_in_rule__RefinedTransition__Group__214036);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__3_in_rule__RefinedTransition__Group__213728);
             rule__RefinedTransition__Group__3();
 
             state._fsp--;
@@ -18950,31 +18714,31 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6921:1: rule__RefinedTransition__Group__2__Impl : ( ( rule__RefinedTransition__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6765:1: rule__RefinedTransition__Group__2__Impl : ( ( rule__RefinedTransition__DocuAssignment_2 )? ) ;
     public final void rule__RefinedTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6925:1: ( ( ( rule__RefinedTransition__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6926:1: ( ( rule__RefinedTransition__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6769:1: ( ( ( rule__RefinedTransition__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6770:1: ( ( rule__RefinedTransition__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6926:1: ( ( rule__RefinedTransition__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6927:1: ( rule__RefinedTransition__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6770:1: ( ( rule__RefinedTransition__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6771:1: ( rule__RefinedTransition__DocuAssignment_2 )?
             {
              before(grammarAccess.getRefinedTransitionAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6928:1: ( rule__RefinedTransition__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6772:1: ( rule__RefinedTransition__DocuAssignment_2 )?
             int alt64=2;
             int LA64_0 = input.LA(1);
 
-            if ( (LA64_0==64) ) {
+            if ( (LA64_0==65) ) {
                 alt64=1;
             }
             switch (alt64) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6928:2: rule__RefinedTransition__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6772:2: rule__RefinedTransition__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__RefinedTransition__DocuAssignment_2_in_rule__RefinedTransition__Group__2__Impl14063);
+                    pushFollow(FOLLOW_rule__RefinedTransition__DocuAssignment_2_in_rule__RefinedTransition__Group__2__Impl13755);
                     rule__RefinedTransition__DocuAssignment_2();
 
                     state._fsp--;
@@ -19008,21 +18772,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6938:1: rule__RefinedTransition__Group__3 : rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6782:1: rule__RefinedTransition__Group__3 : rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4 ;
     public final void rule__RefinedTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6942:1: ( rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6943:2: rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6786:1: ( rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6787:2: rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__3__Impl_in_rule__RefinedTransition__Group__314094);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__3__Impl_in_rule__RefinedTransition__Group__313786);
             rule__RefinedTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__4_in_rule__RefinedTransition__Group__314097);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__4_in_rule__RefinedTransition__Group__313789);
             rule__RefinedTransition__Group__4();
 
             state._fsp--;
@@ -19046,20 +18810,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6950:1: rule__RefinedTransition__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6794:1: rule__RefinedTransition__Group__3__Impl : ( '{' ) ;
     public final void rule__RefinedTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6954:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6955:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6798:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6799:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6955:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6956:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6799:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6800:1: '{'
             {
              before(grammarAccess.getRefinedTransitionAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,27,FOLLOW_27_in_rule__RefinedTransition__Group__3__Impl14125); 
+            match(input,28,FOLLOW_28_in_rule__RefinedTransition__Group__3__Impl13817); 
              after(grammarAccess.getRefinedTransitionAccess().getLeftCurlyBracketKeyword_3()); 
 
             }
@@ -19083,21 +18847,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6969:1: rule__RefinedTransition__Group__4 : rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6813:1: rule__RefinedTransition__Group__4 : rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5 ;
     public final void rule__RefinedTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6973:1: ( rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6974:2: rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6817:1: ( rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6818:2: rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__4__Impl_in_rule__RefinedTransition__Group__414156);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__4__Impl_in_rule__RefinedTransition__Group__413848);
             rule__RefinedTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__5_in_rule__RefinedTransition__Group__414159);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__5_in_rule__RefinedTransition__Group__413851);
             rule__RefinedTransition__Group__5();
 
             state._fsp--;
@@ -19121,20 +18885,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6981:1: rule__RefinedTransition__Group__4__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6825:1: rule__RefinedTransition__Group__4__Impl : ( 'action' ) ;
     public final void rule__RefinedTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6985:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6986:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6829:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6830:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6986:1: ( 'action' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6987:1: 'action'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6830:1: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6831:1: 'action'
             {
              before(grammarAccess.getRefinedTransitionAccess().getActionKeyword_4()); 
-            match(input,44,FOLLOW_44_in_rule__RefinedTransition__Group__4__Impl14187); 
+            match(input,45,FOLLOW_45_in_rule__RefinedTransition__Group__4__Impl13879); 
              after(grammarAccess.getRefinedTransitionAccess().getActionKeyword_4()); 
 
             }
@@ -19158,21 +18922,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7000:1: rule__RefinedTransition__Group__5 : rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6844:1: rule__RefinedTransition__Group__5 : rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6 ;
     public final void rule__RefinedTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7004:1: ( rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7005:2: rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6848:1: ( rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6849:2: rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__5__Impl_in_rule__RefinedTransition__Group__514218);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__5__Impl_in_rule__RefinedTransition__Group__513910);
             rule__RefinedTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__6_in_rule__RefinedTransition__Group__514221);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__6_in_rule__RefinedTransition__Group__513913);
             rule__RefinedTransition__Group__6();
 
             state._fsp--;
@@ -19196,23 +18960,23 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7012:1: rule__RefinedTransition__Group__5__Impl : ( ( rule__RefinedTransition__ActionAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6856:1: rule__RefinedTransition__Group__5__Impl : ( ( rule__RefinedTransition__ActionAssignment_5 ) ) ;
     public final void rule__RefinedTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7016:1: ( ( ( rule__RefinedTransition__ActionAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7017:1: ( ( rule__RefinedTransition__ActionAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6860:1: ( ( ( rule__RefinedTransition__ActionAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6861:1: ( ( rule__RefinedTransition__ActionAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7017:1: ( ( rule__RefinedTransition__ActionAssignment_5 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7018:1: ( rule__RefinedTransition__ActionAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6861:1: ( ( rule__RefinedTransition__ActionAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6862:1: ( rule__RefinedTransition__ActionAssignment_5 )
             {
              before(grammarAccess.getRefinedTransitionAccess().getActionAssignment_5()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7019:1: ( rule__RefinedTransition__ActionAssignment_5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7019:2: rule__RefinedTransition__ActionAssignment_5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6863:1: ( rule__RefinedTransition__ActionAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6863:2: rule__RefinedTransition__ActionAssignment_5
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__ActionAssignment_5_in_rule__RefinedTransition__Group__5__Impl14248);
+            pushFollow(FOLLOW_rule__RefinedTransition__ActionAssignment_5_in_rule__RefinedTransition__Group__5__Impl13940);
             rule__RefinedTransition__ActionAssignment_5();
 
             state._fsp--;
@@ -19243,16 +19007,16 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7029:1: rule__RefinedTransition__Group__6 : rule__RefinedTransition__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6873:1: rule__RefinedTransition__Group__6 : rule__RefinedTransition__Group__6__Impl ;
     public final void rule__RefinedTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7033:1: ( rule__RefinedTransition__Group__6__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7034:2: rule__RefinedTransition__Group__6__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6877:1: ( rule__RefinedTransition__Group__6__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6878:2: rule__RefinedTransition__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__6__Impl_in_rule__RefinedTransition__Group__614278);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__6__Impl_in_rule__RefinedTransition__Group__613970);
             rule__RefinedTransition__Group__6__Impl();
 
             state._fsp--;
@@ -19276,20 +19040,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7040:1: rule__RefinedTransition__Group__6__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6884:1: rule__RefinedTransition__Group__6__Impl : ( '}' ) ;
     public final void rule__RefinedTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7044:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7045:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6888:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6889:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7045:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7046:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6889:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6890:1: '}'
             {
              before(grammarAccess.getRefinedTransitionAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,28,FOLLOW_28_in_rule__RefinedTransition__Group__6__Impl14306); 
+            match(input,29,FOLLOW_29_in_rule__RefinedTransition__Group__6__Impl13998); 
              after(grammarAccess.getRefinedTransitionAccess().getRightCurlyBracketKeyword_6()); 
 
             }
@@ -19313,21 +19077,21 @@
 
 
     // $ANTLR start "rule__TrPointTerminal__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7073:1: rule__TrPointTerminal__Group__0 : rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6917:1: rule__TrPointTerminal__Group__0 : rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1 ;
     public final void rule__TrPointTerminal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7077:1: ( rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7078:2: rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6921:1: ( rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6922:2: rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1
             {
-            pushFollow(FOLLOW_rule__TrPointTerminal__Group__0__Impl_in_rule__TrPointTerminal__Group__014351);
+            pushFollow(FOLLOW_rule__TrPointTerminal__Group__0__Impl_in_rule__TrPointTerminal__Group__014043);
             rule__TrPointTerminal__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TrPointTerminal__Group__1_in_rule__TrPointTerminal__Group__014354);
+            pushFollow(FOLLOW_rule__TrPointTerminal__Group__1_in_rule__TrPointTerminal__Group__014046);
             rule__TrPointTerminal__Group__1();
 
             state._fsp--;
@@ -19351,20 +19115,20 @@
 
 
     // $ANTLR start "rule__TrPointTerminal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7085:1: rule__TrPointTerminal__Group__0__Impl : ( 'my' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6929:1: rule__TrPointTerminal__Group__0__Impl : ( 'my' ) ;
     public final void rule__TrPointTerminal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7089:1: ( ( 'my' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7090:1: ( 'my' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6933:1: ( ( 'my' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6934:1: ( 'my' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7090:1: ( 'my' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7091:1: 'my'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6934:1: ( 'my' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6935:1: 'my'
             {
              before(grammarAccess.getTrPointTerminalAccess().getMyKeyword_0()); 
-            match(input,50,FOLLOW_50_in_rule__TrPointTerminal__Group__0__Impl14382); 
+            match(input,51,FOLLOW_51_in_rule__TrPointTerminal__Group__0__Impl14074); 
              after(grammarAccess.getTrPointTerminalAccess().getMyKeyword_0()); 
 
             }
@@ -19388,16 +19152,16 @@
 
 
     // $ANTLR start "rule__TrPointTerminal__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7104:1: rule__TrPointTerminal__Group__1 : rule__TrPointTerminal__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6948:1: rule__TrPointTerminal__Group__1 : rule__TrPointTerminal__Group__1__Impl ;
     public final void rule__TrPointTerminal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7108:1: ( rule__TrPointTerminal__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7109:2: rule__TrPointTerminal__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6952:1: ( rule__TrPointTerminal__Group__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6953:2: rule__TrPointTerminal__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__TrPointTerminal__Group__1__Impl_in_rule__TrPointTerminal__Group__114413);
+            pushFollow(FOLLOW_rule__TrPointTerminal__Group__1__Impl_in_rule__TrPointTerminal__Group__114105);
             rule__TrPointTerminal__Group__1__Impl();
 
             state._fsp--;
@@ -19421,23 +19185,23 @@
 
 
     // $ANTLR start "rule__TrPointTerminal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7115:1: rule__TrPointTerminal__Group__1__Impl : ( ( rule__TrPointTerminal__TrPointAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6959:1: rule__TrPointTerminal__Group__1__Impl : ( ( rule__TrPointTerminal__TrPointAssignment_1 ) ) ;
     public final void rule__TrPointTerminal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7119:1: ( ( ( rule__TrPointTerminal__TrPointAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7120:1: ( ( rule__TrPointTerminal__TrPointAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6963:1: ( ( ( rule__TrPointTerminal__TrPointAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6964:1: ( ( rule__TrPointTerminal__TrPointAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7120:1: ( ( rule__TrPointTerminal__TrPointAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7121:1: ( rule__TrPointTerminal__TrPointAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6964:1: ( ( rule__TrPointTerminal__TrPointAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6965:1: ( rule__TrPointTerminal__TrPointAssignment_1 )
             {
              before(grammarAccess.getTrPointTerminalAccess().getTrPointAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7122:1: ( rule__TrPointTerminal__TrPointAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7122:2: rule__TrPointTerminal__TrPointAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6966:1: ( rule__TrPointTerminal__TrPointAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6966:2: rule__TrPointTerminal__TrPointAssignment_1
             {
-            pushFollow(FOLLOW_rule__TrPointTerminal__TrPointAssignment_1_in_rule__TrPointTerminal__Group__1__Impl14440);
+            pushFollow(FOLLOW_rule__TrPointTerminal__TrPointAssignment_1_in_rule__TrPointTerminal__Group__1__Impl14132);
             rule__TrPointTerminal__TrPointAssignment_1();
 
             state._fsp--;
@@ -19468,21 +19232,21 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7136:1: rule__SubStateTrPointTerminal__Group__0 : rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6980:1: rule__SubStateTrPointTerminal__Group__0 : rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1 ;
     public final void rule__SubStateTrPointTerminal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7140:1: ( rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7141:2: rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6984:1: ( rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6985:2: rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1
             {
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__0__Impl_in_rule__SubStateTrPointTerminal__Group__014474);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__0__Impl_in_rule__SubStateTrPointTerminal__Group__014166);
             rule__SubStateTrPointTerminal__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__1_in_rule__SubStateTrPointTerminal__Group__014477);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__1_in_rule__SubStateTrPointTerminal__Group__014169);
             rule__SubStateTrPointTerminal__Group__1();
 
             state._fsp--;
@@ -19506,23 +19270,23 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7148:1: rule__SubStateTrPointTerminal__Group__0__Impl : ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6992:1: rule__SubStateTrPointTerminal__Group__0__Impl : ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) ) ;
     public final void rule__SubStateTrPointTerminal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7152:1: ( ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7153:1: ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6996:1: ( ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6997:1: ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7153:1: ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7154:1: ( rule__SubStateTrPointTerminal__TrPointAssignment_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6997:1: ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6998:1: ( rule__SubStateTrPointTerminal__TrPointAssignment_0 )
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointAssignment_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7155:1: ( rule__SubStateTrPointTerminal__TrPointAssignment_0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7155:2: rule__SubStateTrPointTerminal__TrPointAssignment_0
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6999:1: ( rule__SubStateTrPointTerminal__TrPointAssignment_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:6999:2: rule__SubStateTrPointTerminal__TrPointAssignment_0
             {
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__TrPointAssignment_0_in_rule__SubStateTrPointTerminal__Group__0__Impl14504);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__TrPointAssignment_0_in_rule__SubStateTrPointTerminal__Group__0__Impl14196);
             rule__SubStateTrPointTerminal__TrPointAssignment_0();
 
             state._fsp--;
@@ -19553,21 +19317,21 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7165:1: rule__SubStateTrPointTerminal__Group__1 : rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7009:1: rule__SubStateTrPointTerminal__Group__1 : rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2 ;
     public final void rule__SubStateTrPointTerminal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7169:1: ( rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7170:2: rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7013:1: ( rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7014:2: rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2
             {
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__1__Impl_in_rule__SubStateTrPointTerminal__Group__114534);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__1__Impl_in_rule__SubStateTrPointTerminal__Group__114226);
             rule__SubStateTrPointTerminal__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__2_in_rule__SubStateTrPointTerminal__Group__114537);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__2_in_rule__SubStateTrPointTerminal__Group__114229);
             rule__SubStateTrPointTerminal__Group__2();
 
             state._fsp--;
@@ -19591,20 +19355,20 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7177:1: rule__SubStateTrPointTerminal__Group__1__Impl : ( 'of' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7021:1: rule__SubStateTrPointTerminal__Group__1__Impl : ( 'of' ) ;
     public final void rule__SubStateTrPointTerminal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7181:1: ( ( 'of' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7182:1: ( 'of' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7025:1: ( ( 'of' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7026:1: ( 'of' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7182:1: ( 'of' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7183:1: 'of'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7026:1: ( 'of' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7027:1: 'of'
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1()); 
-            match(input,51,FOLLOW_51_in_rule__SubStateTrPointTerminal__Group__1__Impl14565); 
+            match(input,52,FOLLOW_52_in_rule__SubStateTrPointTerminal__Group__1__Impl14257); 
              after(grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1()); 
 
             }
@@ -19628,16 +19392,16 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7196:1: rule__SubStateTrPointTerminal__Group__2 : rule__SubStateTrPointTerminal__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7040:1: rule__SubStateTrPointTerminal__Group__2 : rule__SubStateTrPointTerminal__Group__2__Impl ;
     public final void rule__SubStateTrPointTerminal__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7200:1: ( rule__SubStateTrPointTerminal__Group__2__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7201:2: rule__SubStateTrPointTerminal__Group__2__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7044:1: ( rule__SubStateTrPointTerminal__Group__2__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7045:2: rule__SubStateTrPointTerminal__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__2__Impl_in_rule__SubStateTrPointTerminal__Group__214596);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__2__Impl_in_rule__SubStateTrPointTerminal__Group__214288);
             rule__SubStateTrPointTerminal__Group__2__Impl();
 
             state._fsp--;
@@ -19661,23 +19425,23 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7207:1: rule__SubStateTrPointTerminal__Group__2__Impl : ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7051:1: rule__SubStateTrPointTerminal__Group__2__Impl : ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) ) ;
     public final void rule__SubStateTrPointTerminal__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7211:1: ( ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7212:1: ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7055:1: ( ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7056:1: ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7212:1: ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7213:1: ( rule__SubStateTrPointTerminal__StateAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7056:1: ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7057:1: ( rule__SubStateTrPointTerminal__StateAssignment_2 )
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getStateAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7214:1: ( rule__SubStateTrPointTerminal__StateAssignment_2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7214:2: rule__SubStateTrPointTerminal__StateAssignment_2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7058:1: ( rule__SubStateTrPointTerminal__StateAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7058:2: rule__SubStateTrPointTerminal__StateAssignment_2
             {
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__StateAssignment_2_in_rule__SubStateTrPointTerminal__Group__2__Impl14623);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__StateAssignment_2_in_rule__SubStateTrPointTerminal__Group__2__Impl14315);
             rule__SubStateTrPointTerminal__StateAssignment_2();
 
             state._fsp--;
@@ -19708,21 +19472,21 @@
 
 
     // $ANTLR start "rule__ChoicepointTerminal__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7230:1: rule__ChoicepointTerminal__Group__0 : rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7074:1: rule__ChoicepointTerminal__Group__0 : rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1 ;
     public final void rule__ChoicepointTerminal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7234:1: ( rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7235:2: rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7078:1: ( rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7079:2: rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1
             {
-            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__0__Impl_in_rule__ChoicepointTerminal__Group__014659);
+            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__0__Impl_in_rule__ChoicepointTerminal__Group__014351);
             rule__ChoicepointTerminal__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__1_in_rule__ChoicepointTerminal__Group__014662);
+            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__1_in_rule__ChoicepointTerminal__Group__014354);
             rule__ChoicepointTerminal__Group__1();
 
             state._fsp--;
@@ -19746,20 +19510,20 @@
 
 
     // $ANTLR start "rule__ChoicepointTerminal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7242:1: rule__ChoicepointTerminal__Group__0__Impl : ( 'cp' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7086:1: rule__ChoicepointTerminal__Group__0__Impl : ( 'cp' ) ;
     public final void rule__ChoicepointTerminal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7246:1: ( ( 'cp' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7247:1: ( 'cp' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7090:1: ( ( 'cp' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7091:1: ( 'cp' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7247:1: ( 'cp' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7248:1: 'cp'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7091:1: ( 'cp' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7092:1: 'cp'
             {
              before(grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0()); 
-            match(input,52,FOLLOW_52_in_rule__ChoicepointTerminal__Group__0__Impl14690); 
+            match(input,53,FOLLOW_53_in_rule__ChoicepointTerminal__Group__0__Impl14382); 
              after(grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0()); 
 
             }
@@ -19783,16 +19547,16 @@
 
 
     // $ANTLR start "rule__ChoicepointTerminal__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7261:1: rule__ChoicepointTerminal__Group__1 : rule__ChoicepointTerminal__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7105:1: rule__ChoicepointTerminal__Group__1 : rule__ChoicepointTerminal__Group__1__Impl ;
     public final void rule__ChoicepointTerminal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7265:1: ( rule__ChoicepointTerminal__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7266:2: rule__ChoicepointTerminal__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7109:1: ( rule__ChoicepointTerminal__Group__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7110:2: rule__ChoicepointTerminal__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__1__Impl_in_rule__ChoicepointTerminal__Group__114721);
+            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__1__Impl_in_rule__ChoicepointTerminal__Group__114413);
             rule__ChoicepointTerminal__Group__1__Impl();
 
             state._fsp--;
@@ -19816,23 +19580,23 @@
 
 
     // $ANTLR start "rule__ChoicepointTerminal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7272:1: rule__ChoicepointTerminal__Group__1__Impl : ( ( rule__ChoicepointTerminal__CpAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7116:1: rule__ChoicepointTerminal__Group__1__Impl : ( ( rule__ChoicepointTerminal__CpAssignment_1 ) ) ;
     public final void rule__ChoicepointTerminal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7276:1: ( ( ( rule__ChoicepointTerminal__CpAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7277:1: ( ( rule__ChoicepointTerminal__CpAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7120:1: ( ( ( rule__ChoicepointTerminal__CpAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7121:1: ( ( rule__ChoicepointTerminal__CpAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7277:1: ( ( rule__ChoicepointTerminal__CpAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7278:1: ( rule__ChoicepointTerminal__CpAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7121:1: ( ( rule__ChoicepointTerminal__CpAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7122:1: ( rule__ChoicepointTerminal__CpAssignment_1 )
             {
              before(grammarAccess.getChoicepointTerminalAccess().getCpAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7279:1: ( rule__ChoicepointTerminal__CpAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7279:2: rule__ChoicepointTerminal__CpAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7123:1: ( rule__ChoicepointTerminal__CpAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7123:2: rule__ChoicepointTerminal__CpAssignment_1
             {
-            pushFollow(FOLLOW_rule__ChoicepointTerminal__CpAssignment_1_in_rule__ChoicepointTerminal__Group__1__Impl14748);
+            pushFollow(FOLLOW_rule__ChoicepointTerminal__CpAssignment_1_in_rule__ChoicepointTerminal__Group__1__Impl14440);
             rule__ChoicepointTerminal__CpAssignment_1();
 
             state._fsp--;
@@ -19863,21 +19627,21 @@
 
 
     // $ANTLR start "rule__Trigger__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7293:1: rule__Trigger__Group__0 : rule__Trigger__Group__0__Impl rule__Trigger__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7137:1: rule__Trigger__Group__0 : rule__Trigger__Group__0__Impl rule__Trigger__Group__1 ;
     public final void rule__Trigger__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7297:1: ( rule__Trigger__Group__0__Impl rule__Trigger__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7298:2: rule__Trigger__Group__0__Impl rule__Trigger__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7141:1: ( rule__Trigger__Group__0__Impl rule__Trigger__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7142:2: rule__Trigger__Group__0__Impl rule__Trigger__Group__1
             {
-            pushFollow(FOLLOW_rule__Trigger__Group__0__Impl_in_rule__Trigger__Group__014782);
+            pushFollow(FOLLOW_rule__Trigger__Group__0__Impl_in_rule__Trigger__Group__014474);
             rule__Trigger__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Trigger__Group__1_in_rule__Trigger__Group__014785);
+            pushFollow(FOLLOW_rule__Trigger__Group__1_in_rule__Trigger__Group__014477);
             rule__Trigger__Group__1();
 
             state._fsp--;
@@ -19901,20 +19665,20 @@
 
 
     // $ANTLR start "rule__Trigger__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7305:1: rule__Trigger__Group__0__Impl : ( '<' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7149:1: rule__Trigger__Group__0__Impl : ( '<' ) ;
     public final void rule__Trigger__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7309:1: ( ( '<' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7310:1: ( '<' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7153:1: ( ( '<' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7154:1: ( '<' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7310:1: ( '<' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7311:1: '<'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7154:1: ( '<' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7155:1: '<'
             {
              before(grammarAccess.getTriggerAccess().getLessThanSignKeyword_0()); 
-            match(input,53,FOLLOW_53_in_rule__Trigger__Group__0__Impl14813); 
+            match(input,54,FOLLOW_54_in_rule__Trigger__Group__0__Impl14505); 
              after(grammarAccess.getTriggerAccess().getLessThanSignKeyword_0()); 
 
             }
@@ -19938,21 +19702,21 @@
 
 
     // $ANTLR start "rule__Trigger__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7324:1: rule__Trigger__Group__1 : rule__Trigger__Group__1__Impl rule__Trigger__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7168:1: rule__Trigger__Group__1 : rule__Trigger__Group__1__Impl rule__Trigger__Group__2 ;
     public final void rule__Trigger__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7328:1: ( rule__Trigger__Group__1__Impl rule__Trigger__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7329:2: rule__Trigger__Group__1__Impl rule__Trigger__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7172:1: ( rule__Trigger__Group__1__Impl rule__Trigger__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7173:2: rule__Trigger__Group__1__Impl rule__Trigger__Group__2
             {
-            pushFollow(FOLLOW_rule__Trigger__Group__1__Impl_in_rule__Trigger__Group__114844);
+            pushFollow(FOLLOW_rule__Trigger__Group__1__Impl_in_rule__Trigger__Group__114536);
             rule__Trigger__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Trigger__Group__2_in_rule__Trigger__Group__114847);
+            pushFollow(FOLLOW_rule__Trigger__Group__2_in_rule__Trigger__Group__114539);
             rule__Trigger__Group__2();
 
             state._fsp--;
@@ -19976,23 +19740,23 @@
 
 
     // $ANTLR start "rule__Trigger__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7336:1: rule__Trigger__Group__1__Impl : ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7180:1: rule__Trigger__Group__1__Impl : ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) ) ;
     public final void rule__Trigger__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7340:1: ( ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7341:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7184:1: ( ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7185:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7341:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7342:1: ( rule__Trigger__MsgFromIfPairsAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7185:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7186:1: ( rule__Trigger__MsgFromIfPairsAssignment_1 )
             {
              before(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7343:1: ( rule__Trigger__MsgFromIfPairsAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7343:2: rule__Trigger__MsgFromIfPairsAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7187:1: ( rule__Trigger__MsgFromIfPairsAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7187:2: rule__Trigger__MsgFromIfPairsAssignment_1
             {
-            pushFollow(FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_1_in_rule__Trigger__Group__1__Impl14874);
+            pushFollow(FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_1_in_rule__Trigger__Group__1__Impl14566);
             rule__Trigger__MsgFromIfPairsAssignment_1();
 
             state._fsp--;
@@ -20023,21 +19787,21 @@
 
 
     // $ANTLR start "rule__Trigger__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7353:1: rule__Trigger__Group__2 : rule__Trigger__Group__2__Impl rule__Trigger__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7197:1: rule__Trigger__Group__2 : rule__Trigger__Group__2__Impl rule__Trigger__Group__3 ;
     public final void rule__Trigger__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7357:1: ( rule__Trigger__Group__2__Impl rule__Trigger__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7358:2: rule__Trigger__Group__2__Impl rule__Trigger__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7201:1: ( rule__Trigger__Group__2__Impl rule__Trigger__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7202:2: rule__Trigger__Group__2__Impl rule__Trigger__Group__3
             {
-            pushFollow(FOLLOW_rule__Trigger__Group__2__Impl_in_rule__Trigger__Group__214904);
+            pushFollow(FOLLOW_rule__Trigger__Group__2__Impl_in_rule__Trigger__Group__214596);
             rule__Trigger__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Trigger__Group__3_in_rule__Trigger__Group__214907);
+            pushFollow(FOLLOW_rule__Trigger__Group__3_in_rule__Trigger__Group__214599);
             rule__Trigger__Group__3();
 
             state._fsp--;
@@ -20061,35 +19825,35 @@
 
 
     // $ANTLR start "rule__Trigger__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7365:1: rule__Trigger__Group__2__Impl : ( ( rule__Trigger__Group_2__0 )* ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7209:1: rule__Trigger__Group__2__Impl : ( ( rule__Trigger__Group_2__0 )* ) ;
     public final void rule__Trigger__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7369:1: ( ( ( rule__Trigger__Group_2__0 )* ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7370:1: ( ( rule__Trigger__Group_2__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7213:1: ( ( ( rule__Trigger__Group_2__0 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7214:1: ( ( rule__Trigger__Group_2__0 )* )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7370:1: ( ( rule__Trigger__Group_2__0 )* )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7371:1: ( rule__Trigger__Group_2__0 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7214:1: ( ( rule__Trigger__Group_2__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7215:1: ( rule__Trigger__Group_2__0 )*
             {
              before(grammarAccess.getTriggerAccess().getGroup_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7372:1: ( rule__Trigger__Group_2__0 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7216:1: ( rule__Trigger__Group_2__0 )*
             loop65:
             do {
                 int alt65=2;
                 int LA65_0 = input.LA(1);
 
-                if ( (LA65_0==55) ) {
+                if ( (LA65_0==56) ) {
                     alt65=1;
                 }
 
 
                 switch (alt65) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7372:2: rule__Trigger__Group_2__0
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7216:2: rule__Trigger__Group_2__0
             	    {
-            	    pushFollow(FOLLOW_rule__Trigger__Group_2__0_in_rule__Trigger__Group__2__Impl14934);
+            	    pushFollow(FOLLOW_rule__Trigger__Group_2__0_in_rule__Trigger__Group__2__Impl14626);
             	    rule__Trigger__Group_2__0();
 
             	    state._fsp--;
@@ -20126,21 +19890,21 @@
 
 
     // $ANTLR start "rule__Trigger__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7382:1: rule__Trigger__Group__3 : rule__Trigger__Group__3__Impl rule__Trigger__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7226:1: rule__Trigger__Group__3 : rule__Trigger__Group__3__Impl rule__Trigger__Group__4 ;
     public final void rule__Trigger__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7386:1: ( rule__Trigger__Group__3__Impl rule__Trigger__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7387:2: rule__Trigger__Group__3__Impl rule__Trigger__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7230:1: ( rule__Trigger__Group__3__Impl rule__Trigger__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7231:2: rule__Trigger__Group__3__Impl rule__Trigger__Group__4
             {
-            pushFollow(FOLLOW_rule__Trigger__Group__3__Impl_in_rule__Trigger__Group__314965);
+            pushFollow(FOLLOW_rule__Trigger__Group__3__Impl_in_rule__Trigger__Group__314657);
             rule__Trigger__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Trigger__Group__4_in_rule__Trigger__Group__314968);
+            pushFollow(FOLLOW_rule__Trigger__Group__4_in_rule__Trigger__Group__314660);
             rule__Trigger__Group__4();
 
             state._fsp--;
@@ -20164,31 +19928,31 @@
 
 
     // $ANTLR start "rule__Trigger__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7394:1: rule__Trigger__Group__3__Impl : ( ( rule__Trigger__GuardAssignment_3 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7238:1: rule__Trigger__Group__3__Impl : ( ( rule__Trigger__GuardAssignment_3 )? ) ;
     public final void rule__Trigger__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7398:1: ( ( ( rule__Trigger__GuardAssignment_3 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7399:1: ( ( rule__Trigger__GuardAssignment_3 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7242:1: ( ( ( rule__Trigger__GuardAssignment_3 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7243:1: ( ( rule__Trigger__GuardAssignment_3 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7399:1: ( ( rule__Trigger__GuardAssignment_3 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7400:1: ( rule__Trigger__GuardAssignment_3 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7243:1: ( ( rule__Trigger__GuardAssignment_3 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7244:1: ( rule__Trigger__GuardAssignment_3 )?
             {
              before(grammarAccess.getTriggerAccess().getGuardAssignment_3()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7401:1: ( rule__Trigger__GuardAssignment_3 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7245:1: ( rule__Trigger__GuardAssignment_3 )?
             int alt66=2;
             int LA66_0 = input.LA(1);
 
-            if ( (LA66_0==47) ) {
+            if ( (LA66_0==48) ) {
                 alt66=1;
             }
             switch (alt66) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7401:2: rule__Trigger__GuardAssignment_3
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7245:2: rule__Trigger__GuardAssignment_3
                     {
-                    pushFollow(FOLLOW_rule__Trigger__GuardAssignment_3_in_rule__Trigger__Group__3__Impl14995);
+                    pushFollow(FOLLOW_rule__Trigger__GuardAssignment_3_in_rule__Trigger__Group__3__Impl14687);
                     rule__Trigger__GuardAssignment_3();
 
                     state._fsp--;
@@ -20222,16 +19986,16 @@
 
 
     // $ANTLR start "rule__Trigger__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7411:1: rule__Trigger__Group__4 : rule__Trigger__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7255:1: rule__Trigger__Group__4 : rule__Trigger__Group__4__Impl ;
     public final void rule__Trigger__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7415:1: ( rule__Trigger__Group__4__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7416:2: rule__Trigger__Group__4__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7259:1: ( rule__Trigger__Group__4__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7260:2: rule__Trigger__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__Trigger__Group__4__Impl_in_rule__Trigger__Group__415026);
+            pushFollow(FOLLOW_rule__Trigger__Group__4__Impl_in_rule__Trigger__Group__414718);
             rule__Trigger__Group__4__Impl();
 
             state._fsp--;
@@ -20255,20 +20019,20 @@
 
 
     // $ANTLR start "rule__Trigger__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7422:1: rule__Trigger__Group__4__Impl : ( '>' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7266:1: rule__Trigger__Group__4__Impl : ( '>' ) ;
     public final void rule__Trigger__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7426:1: ( ( '>' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7427:1: ( '>' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7270:1: ( ( '>' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7271:1: ( '>' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7427:1: ( '>' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7428:1: '>'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7271:1: ( '>' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7272:1: '>'
             {
              before(grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4()); 
-            match(input,54,FOLLOW_54_in_rule__Trigger__Group__4__Impl15054); 
+            match(input,55,FOLLOW_55_in_rule__Trigger__Group__4__Impl14746); 
              after(grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4()); 
 
             }
@@ -20292,21 +20056,21 @@
 
 
     // $ANTLR start "rule__Trigger__Group_2__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7451:1: rule__Trigger__Group_2__0 : rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7295:1: rule__Trigger__Group_2__0 : rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1 ;
     public final void rule__Trigger__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7455:1: ( rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7456:2: rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7299:1: ( rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7300:2: rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1
             {
-            pushFollow(FOLLOW_rule__Trigger__Group_2__0__Impl_in_rule__Trigger__Group_2__015095);
+            pushFollow(FOLLOW_rule__Trigger__Group_2__0__Impl_in_rule__Trigger__Group_2__014787);
             rule__Trigger__Group_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Trigger__Group_2__1_in_rule__Trigger__Group_2__015098);
+            pushFollow(FOLLOW_rule__Trigger__Group_2__1_in_rule__Trigger__Group_2__014790);
             rule__Trigger__Group_2__1();
 
             state._fsp--;
@@ -20330,20 +20094,20 @@
 
 
     // $ANTLR start "rule__Trigger__Group_2__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7463:1: rule__Trigger__Group_2__0__Impl : ( '|' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7307:1: rule__Trigger__Group_2__0__Impl : ( '|' ) ;
     public final void rule__Trigger__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7467:1: ( ( '|' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7468:1: ( '|' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7311:1: ( ( '|' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7312:1: ( '|' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7468:1: ( '|' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7469:1: '|'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7312:1: ( '|' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7313:1: '|'
             {
              before(grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0()); 
-            match(input,55,FOLLOW_55_in_rule__Trigger__Group_2__0__Impl15126); 
+            match(input,56,FOLLOW_56_in_rule__Trigger__Group_2__0__Impl14818); 
              after(grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0()); 
 
             }
@@ -20367,16 +20131,16 @@
 
 
     // $ANTLR start "rule__Trigger__Group_2__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7482:1: rule__Trigger__Group_2__1 : rule__Trigger__Group_2__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7326:1: rule__Trigger__Group_2__1 : rule__Trigger__Group_2__1__Impl ;
     public final void rule__Trigger__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7486:1: ( rule__Trigger__Group_2__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7487:2: rule__Trigger__Group_2__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7330:1: ( rule__Trigger__Group_2__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7331:2: rule__Trigger__Group_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__Trigger__Group_2__1__Impl_in_rule__Trigger__Group_2__115157);
+            pushFollow(FOLLOW_rule__Trigger__Group_2__1__Impl_in_rule__Trigger__Group_2__114849);
             rule__Trigger__Group_2__1__Impl();
 
             state._fsp--;
@@ -20400,23 +20164,23 @@
 
 
     // $ANTLR start "rule__Trigger__Group_2__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7493:1: rule__Trigger__Group_2__1__Impl : ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7337:1: rule__Trigger__Group_2__1__Impl : ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) ) ;
     public final void rule__Trigger__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7497:1: ( ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7498:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7341:1: ( ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7342:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7498:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7499:1: ( rule__Trigger__MsgFromIfPairsAssignment_2_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7342:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7343:1: ( rule__Trigger__MsgFromIfPairsAssignment_2_1 )
             {
              before(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_2_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7500:1: ( rule__Trigger__MsgFromIfPairsAssignment_2_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7500:2: rule__Trigger__MsgFromIfPairsAssignment_2_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7344:1: ( rule__Trigger__MsgFromIfPairsAssignment_2_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7344:2: rule__Trigger__MsgFromIfPairsAssignment_2_1
             {
-            pushFollow(FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_2_1_in_rule__Trigger__Group_2__1__Impl15184);
+            pushFollow(FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_2_1_in_rule__Trigger__Group_2__1__Impl14876);
             rule__Trigger__MsgFromIfPairsAssignment_2_1();
 
             state._fsp--;
@@ -20447,21 +20211,21 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7514:1: rule__MessageFromIf__Group__0 : rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7358:1: rule__MessageFromIf__Group__0 : rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1 ;
     public final void rule__MessageFromIf__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7518:1: ( rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7519:2: rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7362:1: ( rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7363:2: rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1
             {
-            pushFollow(FOLLOW_rule__MessageFromIf__Group__0__Impl_in_rule__MessageFromIf__Group__015218);
+            pushFollow(FOLLOW_rule__MessageFromIf__Group__0__Impl_in_rule__MessageFromIf__Group__014910);
             rule__MessageFromIf__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__MessageFromIf__Group__1_in_rule__MessageFromIf__Group__015221);
+            pushFollow(FOLLOW_rule__MessageFromIf__Group__1_in_rule__MessageFromIf__Group__014913);
             rule__MessageFromIf__Group__1();
 
             state._fsp--;
@@ -20485,23 +20249,23 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7526:1: rule__MessageFromIf__Group__0__Impl : ( ( rule__MessageFromIf__MessageAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7370:1: rule__MessageFromIf__Group__0__Impl : ( ( rule__MessageFromIf__MessageAssignment_0 ) ) ;
     public final void rule__MessageFromIf__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7530:1: ( ( ( rule__MessageFromIf__MessageAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7531:1: ( ( rule__MessageFromIf__MessageAssignment_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7374:1: ( ( ( rule__MessageFromIf__MessageAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7375:1: ( ( rule__MessageFromIf__MessageAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7531:1: ( ( rule__MessageFromIf__MessageAssignment_0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7532:1: ( rule__MessageFromIf__MessageAssignment_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7375:1: ( ( rule__MessageFromIf__MessageAssignment_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7376:1: ( rule__MessageFromIf__MessageAssignment_0 )
             {
              before(grammarAccess.getMessageFromIfAccess().getMessageAssignment_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7533:1: ( rule__MessageFromIf__MessageAssignment_0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7533:2: rule__MessageFromIf__MessageAssignment_0
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7377:1: ( rule__MessageFromIf__MessageAssignment_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7377:2: rule__MessageFromIf__MessageAssignment_0
             {
-            pushFollow(FOLLOW_rule__MessageFromIf__MessageAssignment_0_in_rule__MessageFromIf__Group__0__Impl15248);
+            pushFollow(FOLLOW_rule__MessageFromIf__MessageAssignment_0_in_rule__MessageFromIf__Group__0__Impl14940);
             rule__MessageFromIf__MessageAssignment_0();
 
             state._fsp--;
@@ -20532,21 +20296,21 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7543:1: rule__MessageFromIf__Group__1 : rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7387:1: rule__MessageFromIf__Group__1 : rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2 ;
     public final void rule__MessageFromIf__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7547:1: ( rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7548:2: rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7391:1: ( rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7392:2: rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2
             {
-            pushFollow(FOLLOW_rule__MessageFromIf__Group__1__Impl_in_rule__MessageFromIf__Group__115278);
+            pushFollow(FOLLOW_rule__MessageFromIf__Group__1__Impl_in_rule__MessageFromIf__Group__114970);
             rule__MessageFromIf__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__MessageFromIf__Group__2_in_rule__MessageFromIf__Group__115281);
+            pushFollow(FOLLOW_rule__MessageFromIf__Group__2_in_rule__MessageFromIf__Group__114973);
             rule__MessageFromIf__Group__2();
 
             state._fsp--;
@@ -20570,20 +20334,20 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7555:1: rule__MessageFromIf__Group__1__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7399:1: rule__MessageFromIf__Group__1__Impl : ( ':' ) ;
     public final void rule__MessageFromIf__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7559:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7560:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7403:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7404:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7560:1: ( ':' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7561:1: ':'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7404:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7405:1: ':'
             {
              before(grammarAccess.getMessageFromIfAccess().getColonKeyword_1()); 
-            match(input,41,FOLLOW_41_in_rule__MessageFromIf__Group__1__Impl15309); 
+            match(input,42,FOLLOW_42_in_rule__MessageFromIf__Group__1__Impl15001); 
              after(grammarAccess.getMessageFromIfAccess().getColonKeyword_1()); 
 
             }
@@ -20607,16 +20371,16 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7574:1: rule__MessageFromIf__Group__2 : rule__MessageFromIf__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7418:1: rule__MessageFromIf__Group__2 : rule__MessageFromIf__Group__2__Impl ;
     public final void rule__MessageFromIf__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7578:1: ( rule__MessageFromIf__Group__2__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7579:2: rule__MessageFromIf__Group__2__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7422:1: ( rule__MessageFromIf__Group__2__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7423:2: rule__MessageFromIf__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__MessageFromIf__Group__2__Impl_in_rule__MessageFromIf__Group__215340);
+            pushFollow(FOLLOW_rule__MessageFromIf__Group__2__Impl_in_rule__MessageFromIf__Group__215032);
             rule__MessageFromIf__Group__2__Impl();
 
             state._fsp--;
@@ -20640,23 +20404,23 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7585:1: rule__MessageFromIf__Group__2__Impl : ( ( rule__MessageFromIf__FromAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7429:1: rule__MessageFromIf__Group__2__Impl : ( ( rule__MessageFromIf__FromAssignment_2 ) ) ;
     public final void rule__MessageFromIf__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7589:1: ( ( ( rule__MessageFromIf__FromAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7590:1: ( ( rule__MessageFromIf__FromAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7433:1: ( ( ( rule__MessageFromIf__FromAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7434:1: ( ( rule__MessageFromIf__FromAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7590:1: ( ( rule__MessageFromIf__FromAssignment_2 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7591:1: ( rule__MessageFromIf__FromAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7434:1: ( ( rule__MessageFromIf__FromAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7435:1: ( rule__MessageFromIf__FromAssignment_2 )
             {
              before(grammarAccess.getMessageFromIfAccess().getFromAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7592:1: ( rule__MessageFromIf__FromAssignment_2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7592:2: rule__MessageFromIf__FromAssignment_2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7436:1: ( rule__MessageFromIf__FromAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7436:2: rule__MessageFromIf__FromAssignment_2
             {
-            pushFollow(FOLLOW_rule__MessageFromIf__FromAssignment_2_in_rule__MessageFromIf__Group__2__Impl15367);
+            pushFollow(FOLLOW_rule__MessageFromIf__FromAssignment_2_in_rule__MessageFromIf__Group__2__Impl15059);
             rule__MessageFromIf__FromAssignment_2();
 
             state._fsp--;
@@ -20687,21 +20451,21 @@
 
 
     // $ANTLR start "rule__Guard__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7608:1: rule__Guard__Group__0 : rule__Guard__Group__0__Impl rule__Guard__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7452:1: rule__Guard__Group__0 : rule__Guard__Group__0__Impl rule__Guard__Group__1 ;
     public final void rule__Guard__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7612:1: ( rule__Guard__Group__0__Impl rule__Guard__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7613:2: rule__Guard__Group__0__Impl rule__Guard__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7456:1: ( rule__Guard__Group__0__Impl rule__Guard__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7457:2: rule__Guard__Group__0__Impl rule__Guard__Group__1
             {
-            pushFollow(FOLLOW_rule__Guard__Group__0__Impl_in_rule__Guard__Group__015403);
+            pushFollow(FOLLOW_rule__Guard__Group__0__Impl_in_rule__Guard__Group__015095);
             rule__Guard__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Guard__Group__1_in_rule__Guard__Group__015406);
+            pushFollow(FOLLOW_rule__Guard__Group__1_in_rule__Guard__Group__015098);
             rule__Guard__Group__1();
 
             state._fsp--;
@@ -20725,20 +20489,20 @@
 
 
     // $ANTLR start "rule__Guard__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7620:1: rule__Guard__Group__0__Impl : ( 'guard' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7464:1: rule__Guard__Group__0__Impl : ( 'guard' ) ;
     public final void rule__Guard__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7624:1: ( ( 'guard' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7625:1: ( 'guard' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7468:1: ( ( 'guard' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7469:1: ( 'guard' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7625:1: ( 'guard' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7626:1: 'guard'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7469:1: ( 'guard' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7470:1: 'guard'
             {
              before(grammarAccess.getGuardAccess().getGuardKeyword_0()); 
-            match(input,47,FOLLOW_47_in_rule__Guard__Group__0__Impl15434); 
+            match(input,48,FOLLOW_48_in_rule__Guard__Group__0__Impl15126); 
              after(grammarAccess.getGuardAccess().getGuardKeyword_0()); 
 
             }
@@ -20762,16 +20526,16 @@
 
 
     // $ANTLR start "rule__Guard__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7639:1: rule__Guard__Group__1 : rule__Guard__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7483:1: rule__Guard__Group__1 : rule__Guard__Group__1__Impl ;
     public final void rule__Guard__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7643:1: ( rule__Guard__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7644:2: rule__Guard__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7487:1: ( rule__Guard__Group__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7488:2: rule__Guard__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__Guard__Group__1__Impl_in_rule__Guard__Group__115465);
+            pushFollow(FOLLOW_rule__Guard__Group__1__Impl_in_rule__Guard__Group__115157);
             rule__Guard__Group__1__Impl();
 
             state._fsp--;
@@ -20795,23 +20559,23 @@
 
 
     // $ANTLR start "rule__Guard__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7650:1: rule__Guard__Group__1__Impl : ( ( rule__Guard__GuardAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7494:1: rule__Guard__Group__1__Impl : ( ( rule__Guard__GuardAssignment_1 ) ) ;
     public final void rule__Guard__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7654:1: ( ( ( rule__Guard__GuardAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7655:1: ( ( rule__Guard__GuardAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7498:1: ( ( ( rule__Guard__GuardAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7499:1: ( ( rule__Guard__GuardAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7655:1: ( ( rule__Guard__GuardAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7656:1: ( rule__Guard__GuardAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7499:1: ( ( rule__Guard__GuardAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7500:1: ( rule__Guard__GuardAssignment_1 )
             {
              before(grammarAccess.getGuardAccess().getGuardAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7657:1: ( rule__Guard__GuardAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7657:2: rule__Guard__GuardAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7501:1: ( rule__Guard__GuardAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7501:2: rule__Guard__GuardAssignment_1
             {
-            pushFollow(FOLLOW_rule__Guard__GuardAssignment_1_in_rule__Guard__Group__1__Impl15492);
+            pushFollow(FOLLOW_rule__Guard__GuardAssignment_1_in_rule__Guard__Group__1__Impl15184);
             rule__Guard__GuardAssignment_1();
 
             state._fsp--;
@@ -20842,21 +20606,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7672:1: rule__InSemanticsRule__Group__0 : rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7516:1: rule__InSemanticsRule__Group__0 : rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1 ;
     public final void rule__InSemanticsRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7676:1: ( rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7677:2: rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7520:1: ( rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7521:2: rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__0__Impl_in_rule__InSemanticsRule__Group__015527);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__0__Impl_in_rule__InSemanticsRule__Group__015219);
             rule__InSemanticsRule__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__1_in_rule__InSemanticsRule__Group__015530);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__1_in_rule__InSemanticsRule__Group__015222);
             rule__InSemanticsRule__Group__1();
 
             state._fsp--;
@@ -20880,20 +20644,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7684:1: rule__InSemanticsRule__Group__0__Impl : ( 'in' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7528:1: rule__InSemanticsRule__Group__0__Impl : ( 'in' ) ;
     public final void rule__InSemanticsRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7688:1: ( ( 'in' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7689:1: ( 'in' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7532:1: ( ( 'in' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7533:1: ( 'in' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7689:1: ( 'in' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7690:1: 'in'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7533:1: ( 'in' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7534:1: 'in'
             {
              before(grammarAccess.getInSemanticsRuleAccess().getInKeyword_0()); 
-            match(input,56,FOLLOW_56_in_rule__InSemanticsRule__Group__0__Impl15558); 
+            match(input,57,FOLLOW_57_in_rule__InSemanticsRule__Group__0__Impl15250); 
              after(grammarAccess.getInSemanticsRuleAccess().getInKeyword_0()); 
 
             }
@@ -20917,21 +20681,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7703:1: rule__InSemanticsRule__Group__1 : rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7547:1: rule__InSemanticsRule__Group__1 : rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2 ;
     public final void rule__InSemanticsRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7707:1: ( rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7708:2: rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7551:1: ( rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7552:2: rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__1__Impl_in_rule__InSemanticsRule__Group__115589);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__1__Impl_in_rule__InSemanticsRule__Group__115281);
             rule__InSemanticsRule__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__2_in_rule__InSemanticsRule__Group__115592);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__2_in_rule__InSemanticsRule__Group__115284);
             rule__InSemanticsRule__Group__2();
 
             state._fsp--;
@@ -20955,20 +20719,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7715:1: rule__InSemanticsRule__Group__1__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7559:1: rule__InSemanticsRule__Group__1__Impl : ( ':' ) ;
     public final void rule__InSemanticsRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7719:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7720:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7563:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7564:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7720:1: ( ':' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7721:1: ':'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7564:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7565:1: ':'
             {
              before(grammarAccess.getInSemanticsRuleAccess().getColonKeyword_1()); 
-            match(input,41,FOLLOW_41_in_rule__InSemanticsRule__Group__1__Impl15620); 
+            match(input,42,FOLLOW_42_in_rule__InSemanticsRule__Group__1__Impl15312); 
              after(grammarAccess.getInSemanticsRuleAccess().getColonKeyword_1()); 
 
             }
@@ -20992,21 +20756,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7734:1: rule__InSemanticsRule__Group__2 : rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7578:1: rule__InSemanticsRule__Group__2 : rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3 ;
     public final void rule__InSemanticsRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7738:1: ( rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7739:2: rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7582:1: ( rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7583:2: rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__2__Impl_in_rule__InSemanticsRule__Group__215651);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__2__Impl_in_rule__InSemanticsRule__Group__215343);
             rule__InSemanticsRule__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__3_in_rule__InSemanticsRule__Group__215654);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__3_in_rule__InSemanticsRule__Group__215346);
             rule__InSemanticsRule__Group__3();
 
             state._fsp--;
@@ -21030,23 +20794,23 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7746:1: rule__InSemanticsRule__Group__2__Impl : ( ( rule__InSemanticsRule__MsgAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7590:1: rule__InSemanticsRule__Group__2__Impl : ( ( rule__InSemanticsRule__MsgAssignment_2 ) ) ;
     public final void rule__InSemanticsRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7750:1: ( ( ( rule__InSemanticsRule__MsgAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7751:1: ( ( rule__InSemanticsRule__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7594:1: ( ( ( rule__InSemanticsRule__MsgAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7595:1: ( ( rule__InSemanticsRule__MsgAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7751:1: ( ( rule__InSemanticsRule__MsgAssignment_2 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7752:1: ( rule__InSemanticsRule__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7595:1: ( ( rule__InSemanticsRule__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7596:1: ( rule__InSemanticsRule__MsgAssignment_2 )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getMsgAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7753:1: ( rule__InSemanticsRule__MsgAssignment_2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7753:2: rule__InSemanticsRule__MsgAssignment_2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7597:1: ( rule__InSemanticsRule__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7597:2: rule__InSemanticsRule__MsgAssignment_2
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__MsgAssignment_2_in_rule__InSemanticsRule__Group__2__Impl15681);
+            pushFollow(FOLLOW_rule__InSemanticsRule__MsgAssignment_2_in_rule__InSemanticsRule__Group__2__Impl15373);
             rule__InSemanticsRule__MsgAssignment_2();
 
             state._fsp--;
@@ -21077,16 +20841,16 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7763:1: rule__InSemanticsRule__Group__3 : rule__InSemanticsRule__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7607:1: rule__InSemanticsRule__Group__3 : rule__InSemanticsRule__Group__3__Impl ;
     public final void rule__InSemanticsRule__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7767:1: ( rule__InSemanticsRule__Group__3__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7768:2: rule__InSemanticsRule__Group__3__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7611:1: ( rule__InSemanticsRule__Group__3__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7612:2: rule__InSemanticsRule__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__3__Impl_in_rule__InSemanticsRule__Group__315711);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__3__Impl_in_rule__InSemanticsRule__Group__315403);
             rule__InSemanticsRule__Group__3__Impl();
 
             state._fsp--;
@@ -21110,31 +20874,31 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7774:1: rule__InSemanticsRule__Group__3__Impl : ( ( rule__InSemanticsRule__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7618:1: rule__InSemanticsRule__Group__3__Impl : ( ( rule__InSemanticsRule__Group_3__0 )? ) ;
     public final void rule__InSemanticsRule__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7778:1: ( ( ( rule__InSemanticsRule__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7779:1: ( ( rule__InSemanticsRule__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7622:1: ( ( ( rule__InSemanticsRule__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7623:1: ( ( rule__InSemanticsRule__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7779:1: ( ( rule__InSemanticsRule__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7780:1: ( rule__InSemanticsRule__Group_3__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7623:1: ( ( rule__InSemanticsRule__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7624:1: ( rule__InSemanticsRule__Group_3__0 )?
             {
              before(grammarAccess.getInSemanticsRuleAccess().getGroup_3()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7781:1: ( rule__InSemanticsRule__Group_3__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7625:1: ( rule__InSemanticsRule__Group_3__0 )?
             int alt67=2;
             int LA67_0 = input.LA(1);
 
-            if ( (LA67_0==43) ) {
+            if ( (LA67_0==44) ) {
                 alt67=1;
             }
             switch (alt67) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7781:2: rule__InSemanticsRule__Group_3__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7625:2: rule__InSemanticsRule__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__0_in_rule__InSemanticsRule__Group__3__Impl15738);
+                    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__0_in_rule__InSemanticsRule__Group__3__Impl15430);
                     rule__InSemanticsRule__Group_3__0();
 
                     state._fsp--;
@@ -21168,21 +20932,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7799:1: rule__InSemanticsRule__Group_3__0 : rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7643:1: rule__InSemanticsRule__Group_3__0 : rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1 ;
     public final void rule__InSemanticsRule__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7803:1: ( rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7804:2: rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7647:1: ( rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7648:2: rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__0__Impl_in_rule__InSemanticsRule__Group_3__015777);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__0__Impl_in_rule__InSemanticsRule__Group_3__015469);
             rule__InSemanticsRule__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__1_in_rule__InSemanticsRule__Group_3__015780);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__1_in_rule__InSemanticsRule__Group_3__015472);
             rule__InSemanticsRule__Group_3__1();
 
             state._fsp--;
@@ -21206,20 +20970,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7811:1: rule__InSemanticsRule__Group_3__0__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7655:1: rule__InSemanticsRule__Group_3__0__Impl : ( '->' ) ;
     public final void rule__InSemanticsRule__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7815:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7816:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7659:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7660:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7816:1: ( '->' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7817:1: '->'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7660:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7661:1: '->'
             {
              before(grammarAccess.getInSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0()); 
-            match(input,43,FOLLOW_43_in_rule__InSemanticsRule__Group_3__0__Impl15808); 
+            match(input,44,FOLLOW_44_in_rule__InSemanticsRule__Group_3__0__Impl15500); 
              after(grammarAccess.getInSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0()); 
 
             }
@@ -21243,16 +21007,16 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7830:1: rule__InSemanticsRule__Group_3__1 : rule__InSemanticsRule__Group_3__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7674:1: rule__InSemanticsRule__Group_3__1 : rule__InSemanticsRule__Group_3__1__Impl ;
     public final void rule__InSemanticsRule__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7834:1: ( rule__InSemanticsRule__Group_3__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7835:2: rule__InSemanticsRule__Group_3__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7678:1: ( rule__InSemanticsRule__Group_3__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7679:2: rule__InSemanticsRule__Group_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__1__Impl_in_rule__InSemanticsRule__Group_3__115839);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__1__Impl_in_rule__InSemanticsRule__Group_3__115531);
             rule__InSemanticsRule__Group_3__1__Impl();
 
             state._fsp--;
@@ -21276,23 +21040,23 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7841:1: rule__InSemanticsRule__Group_3__1__Impl : ( ( rule__InSemanticsRule__Alternatives_3_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7685:1: rule__InSemanticsRule__Group_3__1__Impl : ( ( rule__InSemanticsRule__Alternatives_3_1 ) ) ;
     public final void rule__InSemanticsRule__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7845:1: ( ( ( rule__InSemanticsRule__Alternatives_3_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7846:1: ( ( rule__InSemanticsRule__Alternatives_3_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7689:1: ( ( ( rule__InSemanticsRule__Alternatives_3_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7690:1: ( ( rule__InSemanticsRule__Alternatives_3_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7846:1: ( ( rule__InSemanticsRule__Alternatives_3_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7847:1: ( rule__InSemanticsRule__Alternatives_3_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7690:1: ( ( rule__InSemanticsRule__Alternatives_3_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7691:1: ( rule__InSemanticsRule__Alternatives_3_1 )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getAlternatives_3_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7848:1: ( rule__InSemanticsRule__Alternatives_3_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7848:2: rule__InSemanticsRule__Alternatives_3_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7692:1: ( rule__InSemanticsRule__Alternatives_3_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7692:2: rule__InSemanticsRule__Alternatives_3_1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Alternatives_3_1_in_rule__InSemanticsRule__Group_3__1__Impl15866);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Alternatives_3_1_in_rule__InSemanticsRule__Group_3__1__Impl15558);
             rule__InSemanticsRule__Alternatives_3_1();
 
             state._fsp--;
@@ -21323,21 +21087,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7862:1: rule__InSemanticsRule__Group_3_1_1__0 : rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7706:1: rule__InSemanticsRule__Group_3_1_1__0 : rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1 ;
     public final void rule__InSemanticsRule__Group_3_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7866:1: ( rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7867:2: rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7710:1: ( rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7711:2: rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__0__Impl_in_rule__InSemanticsRule__Group_3_1_1__015900);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__0__Impl_in_rule__InSemanticsRule__Group_3_1_1__015592);
             rule__InSemanticsRule__Group_3_1_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__1_in_rule__InSemanticsRule__Group_3_1_1__015903);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__1_in_rule__InSemanticsRule__Group_3_1_1__015595);
             rule__InSemanticsRule__Group_3_1_1__1();
 
             state._fsp--;
@@ -21361,20 +21125,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7874:1: rule__InSemanticsRule__Group_3_1_1__0__Impl : ( '(' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7718:1: rule__InSemanticsRule__Group_3_1_1__0__Impl : ( '(' ) ;
     public final void rule__InSemanticsRule__Group_3_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7878:1: ( ( '(' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7879:1: ( '(' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7722:1: ( ( '(' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7723:1: ( '(' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7879:1: ( '(' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7880:1: '('
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7723:1: ( '(' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7724:1: '('
             {
              before(grammarAccess.getInSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0()); 
-            match(input,57,FOLLOW_57_in_rule__InSemanticsRule__Group_3_1_1__0__Impl15931); 
+            match(input,58,FOLLOW_58_in_rule__InSemanticsRule__Group_3_1_1__0__Impl15623); 
              after(grammarAccess.getInSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0()); 
 
             }
@@ -21398,21 +21162,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7893:1: rule__InSemanticsRule__Group_3_1_1__1 : rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7737:1: rule__InSemanticsRule__Group_3_1_1__1 : rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2 ;
     public final void rule__InSemanticsRule__Group_3_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7897:1: ( rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7898:2: rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7741:1: ( rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7742:2: rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__1__Impl_in_rule__InSemanticsRule__Group_3_1_1__115962);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__1__Impl_in_rule__InSemanticsRule__Group_3_1_1__115654);
             rule__InSemanticsRule__Group_3_1_1__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__2_in_rule__InSemanticsRule__Group_3_1_1__115965);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__2_in_rule__InSemanticsRule__Group_3_1_1__115657);
             rule__InSemanticsRule__Group_3_1_1__2();
 
             state._fsp--;
@@ -21436,23 +21200,23 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7905:1: rule__InSemanticsRule__Group_3_1_1__1__Impl : ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7749:1: rule__InSemanticsRule__Group_3_1_1__1__Impl : ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) ;
     public final void rule__InSemanticsRule__Group_3_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7909:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7910:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7753:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7754:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7910:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7911:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7754:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7755:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsAssignment_3_1_1_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7912:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7912:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7756:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7756:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__InSemanticsRule__Group_3_1_1__1__Impl15992);
+            pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__InSemanticsRule__Group_3_1_1__1__Impl15684);
             rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1();
 
             state._fsp--;
@@ -21483,21 +21247,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7922:1: rule__InSemanticsRule__Group_3_1_1__2 : rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7766:1: rule__InSemanticsRule__Group_3_1_1__2 : rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3 ;
     public final void rule__InSemanticsRule__Group_3_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7926:1: ( rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7927:2: rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7770:1: ( rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7771:2: rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__2__Impl_in_rule__InSemanticsRule__Group_3_1_1__216022);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__2__Impl_in_rule__InSemanticsRule__Group_3_1_1__215714);
             rule__InSemanticsRule__Group_3_1_1__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__3_in_rule__InSemanticsRule__Group_3_1_1__216025);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__3_in_rule__InSemanticsRule__Group_3_1_1__215717);
             rule__InSemanticsRule__Group_3_1_1__3();
 
             state._fsp--;
@@ -21521,26 +21285,26 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7934:1: rule__InSemanticsRule__Group_3_1_1__2__Impl : ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7778:1: rule__InSemanticsRule__Group_3_1_1__2__Impl : ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) ) ;
     public final void rule__InSemanticsRule__Group_3_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7938:1: ( ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7939:1: ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7782:1: ( ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7783:1: ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7939:1: ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7940:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7783:1: ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7784:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7940:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7941:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7784:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7785:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getGroup_3_1_1_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7942:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7942:2: rule__InSemanticsRule__Group_3_1_1_2__0
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7786:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7786:2: rule__InSemanticsRule__Group_3_1_1_2__0
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl16054);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl15746);
             rule__InSemanticsRule__Group_3_1_1_2__0();
 
             state._fsp--;
@@ -21552,26 +21316,26 @@
 
             }
 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7945:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7946:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7789:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7790:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )*
             {
              before(grammarAccess.getInSemanticsRuleAccess().getGroup_3_1_1_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7947:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7791:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )*
             loop68:
             do {
                 int alt68=2;
                 int LA68_0 = input.LA(1);
 
-                if ( (LA68_0==59) ) {
+                if ( (LA68_0==60) ) {
                     alt68=1;
                 }
 
 
                 switch (alt68) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7947:2: rule__InSemanticsRule__Group_3_1_1_2__0
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7791:2: rule__InSemanticsRule__Group_3_1_1_2__0
             	    {
-            	    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl16066);
+            	    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl15758);
             	    rule__InSemanticsRule__Group_3_1_1_2__0();
 
             	    state._fsp--;
@@ -21611,16 +21375,16 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7958:1: rule__InSemanticsRule__Group_3_1_1__3 : rule__InSemanticsRule__Group_3_1_1__3__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7802:1: rule__InSemanticsRule__Group_3_1_1__3 : rule__InSemanticsRule__Group_3_1_1__3__Impl ;
     public final void rule__InSemanticsRule__Group_3_1_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7962:1: ( rule__InSemanticsRule__Group_3_1_1__3__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7963:2: rule__InSemanticsRule__Group_3_1_1__3__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7806:1: ( rule__InSemanticsRule__Group_3_1_1__3__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7807:2: rule__InSemanticsRule__Group_3_1_1__3__Impl
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__3__Impl_in_rule__InSemanticsRule__Group_3_1_1__316099);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__3__Impl_in_rule__InSemanticsRule__Group_3_1_1__315791);
             rule__InSemanticsRule__Group_3_1_1__3__Impl();
 
             state._fsp--;
@@ -21644,20 +21408,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7969:1: rule__InSemanticsRule__Group_3_1_1__3__Impl : ( ')' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7813:1: rule__InSemanticsRule__Group_3_1_1__3__Impl : ( ')' ) ;
     public final void rule__InSemanticsRule__Group_3_1_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7973:1: ( ( ')' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7974:1: ( ')' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7817:1: ( ( ')' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7818:1: ( ')' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7974:1: ( ')' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7975:1: ')'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7818:1: ( ')' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7819:1: ')'
             {
              before(grammarAccess.getInSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3()); 
-            match(input,58,FOLLOW_58_in_rule__InSemanticsRule__Group_3_1_1__3__Impl16127); 
+            match(input,59,FOLLOW_59_in_rule__InSemanticsRule__Group_3_1_1__3__Impl15819); 
              after(grammarAccess.getInSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3()); 
 
             }
@@ -21681,21 +21445,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1_2__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7996:1: rule__InSemanticsRule__Group_3_1_1_2__0 : rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7840:1: rule__InSemanticsRule__Group_3_1_1_2__0 : rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1 ;
     public final void rule__InSemanticsRule__Group_3_1_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8000:1: ( rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8001:2: rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7844:1: ( rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7845:2: rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__016166);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__015858);
             rule__InSemanticsRule__Group_3_1_1_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1_in_rule__InSemanticsRule__Group_3_1_1_2__016169);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1_in_rule__InSemanticsRule__Group_3_1_1_2__015861);
             rule__InSemanticsRule__Group_3_1_1_2__1();
 
             state._fsp--;
@@ -21719,20 +21483,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1_2__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8008:1: rule__InSemanticsRule__Group_3_1_1_2__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7852:1: rule__InSemanticsRule__Group_3_1_1_2__0__Impl : ( ',' ) ;
     public final void rule__InSemanticsRule__Group_3_1_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8012:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8013:1: ( ',' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7856:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7857:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8013:1: ( ',' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8014:1: ','
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7857:1: ( ',' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7858:1: ','
             {
              before(grammarAccess.getInSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0()); 
-            match(input,59,FOLLOW_59_in_rule__InSemanticsRule__Group_3_1_1_2__0__Impl16197); 
+            match(input,60,FOLLOW_60_in_rule__InSemanticsRule__Group_3_1_1_2__0__Impl15889); 
              after(grammarAccess.getInSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0()); 
 
             }
@@ -21756,16 +21520,16 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1_2__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8027:1: rule__InSemanticsRule__Group_3_1_1_2__1 : rule__InSemanticsRule__Group_3_1_1_2__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7871:1: rule__InSemanticsRule__Group_3_1_1_2__1 : rule__InSemanticsRule__Group_3_1_1_2__1__Impl ;
     public final void rule__InSemanticsRule__Group_3_1_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8031:1: ( rule__InSemanticsRule__Group_3_1_1_2__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8032:2: rule__InSemanticsRule__Group_3_1_1_2__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7875:1: ( rule__InSemanticsRule__Group_3_1_1_2__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7876:2: rule__InSemanticsRule__Group_3_1_1_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__116228);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__115920);
             rule__InSemanticsRule__Group_3_1_1_2__1__Impl();
 
             state._fsp--;
@@ -21789,23 +21553,23 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1_2__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8038:1: rule__InSemanticsRule__Group_3_1_1_2__1__Impl : ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7882:1: rule__InSemanticsRule__Group_3_1_1_2__1__Impl : ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) ;
     public final void rule__InSemanticsRule__Group_3_1_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8042:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8043:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7886:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7887:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8043:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8044:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7887:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7888:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsAssignment_3_1_1_2_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8045:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8045:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7889:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7889:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__InSemanticsRule__Group_3_1_1_2__1__Impl16255);
+            pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__InSemanticsRule__Group_3_1_1_2__1__Impl15947);
             rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1();
 
             state._fsp--;
@@ -21836,21 +21600,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8059:1: rule__OutSemanticsRule__Group__0 : rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7903:1: rule__OutSemanticsRule__Group__0 : rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1 ;
     public final void rule__OutSemanticsRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8063:1: ( rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8064:2: rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7907:1: ( rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7908:2: rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__0__Impl_in_rule__OutSemanticsRule__Group__016289);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__0__Impl_in_rule__OutSemanticsRule__Group__015981);
             rule__OutSemanticsRule__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__1_in_rule__OutSemanticsRule__Group__016292);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__1_in_rule__OutSemanticsRule__Group__015984);
             rule__OutSemanticsRule__Group__1();
 
             state._fsp--;
@@ -21874,20 +21638,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8071:1: rule__OutSemanticsRule__Group__0__Impl : ( 'out' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7915:1: rule__OutSemanticsRule__Group__0__Impl : ( 'out' ) ;
     public final void rule__OutSemanticsRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8075:1: ( ( 'out' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8076:1: ( 'out' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7919:1: ( ( 'out' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7920:1: ( 'out' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8076:1: ( 'out' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8077:1: 'out'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7920:1: ( 'out' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7921:1: 'out'
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getOutKeyword_0()); 
-            match(input,60,FOLLOW_60_in_rule__OutSemanticsRule__Group__0__Impl16320); 
+            match(input,61,FOLLOW_61_in_rule__OutSemanticsRule__Group__0__Impl16012); 
              after(grammarAccess.getOutSemanticsRuleAccess().getOutKeyword_0()); 
 
             }
@@ -21911,21 +21675,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8090:1: rule__OutSemanticsRule__Group__1 : rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7934:1: rule__OutSemanticsRule__Group__1 : rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2 ;
     public final void rule__OutSemanticsRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8094:1: ( rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8095:2: rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7938:1: ( rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7939:2: rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__1__Impl_in_rule__OutSemanticsRule__Group__116351);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__1__Impl_in_rule__OutSemanticsRule__Group__116043);
             rule__OutSemanticsRule__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__2_in_rule__OutSemanticsRule__Group__116354);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__2_in_rule__OutSemanticsRule__Group__116046);
             rule__OutSemanticsRule__Group__2();
 
             state._fsp--;
@@ -21949,20 +21713,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8102:1: rule__OutSemanticsRule__Group__1__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7946:1: rule__OutSemanticsRule__Group__1__Impl : ( ':' ) ;
     public final void rule__OutSemanticsRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8106:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8107:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7950:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7951:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8107:1: ( ':' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8108:1: ':'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7951:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7952:1: ':'
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getColonKeyword_1()); 
-            match(input,41,FOLLOW_41_in_rule__OutSemanticsRule__Group__1__Impl16382); 
+            match(input,42,FOLLOW_42_in_rule__OutSemanticsRule__Group__1__Impl16074); 
              after(grammarAccess.getOutSemanticsRuleAccess().getColonKeyword_1()); 
 
             }
@@ -21986,21 +21750,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8121:1: rule__OutSemanticsRule__Group__2 : rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7965:1: rule__OutSemanticsRule__Group__2 : rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3 ;
     public final void rule__OutSemanticsRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8125:1: ( rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8126:2: rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7969:1: ( rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7970:2: rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__2__Impl_in_rule__OutSemanticsRule__Group__216413);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__2__Impl_in_rule__OutSemanticsRule__Group__216105);
             rule__OutSemanticsRule__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__3_in_rule__OutSemanticsRule__Group__216416);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__3_in_rule__OutSemanticsRule__Group__216108);
             rule__OutSemanticsRule__Group__3();
 
             state._fsp--;
@@ -22024,23 +21788,23 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8133:1: rule__OutSemanticsRule__Group__2__Impl : ( ( rule__OutSemanticsRule__MsgAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7977:1: rule__OutSemanticsRule__Group__2__Impl : ( ( rule__OutSemanticsRule__MsgAssignment_2 ) ) ;
     public final void rule__OutSemanticsRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8137:1: ( ( ( rule__OutSemanticsRule__MsgAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8138:1: ( ( rule__OutSemanticsRule__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7981:1: ( ( ( rule__OutSemanticsRule__MsgAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7982:1: ( ( rule__OutSemanticsRule__MsgAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8138:1: ( ( rule__OutSemanticsRule__MsgAssignment_2 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8139:1: ( rule__OutSemanticsRule__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7982:1: ( ( rule__OutSemanticsRule__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7983:1: ( rule__OutSemanticsRule__MsgAssignment_2 )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getMsgAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8140:1: ( rule__OutSemanticsRule__MsgAssignment_2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8140:2: rule__OutSemanticsRule__MsgAssignment_2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7984:1: ( rule__OutSemanticsRule__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7984:2: rule__OutSemanticsRule__MsgAssignment_2
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__MsgAssignment_2_in_rule__OutSemanticsRule__Group__2__Impl16443);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__MsgAssignment_2_in_rule__OutSemanticsRule__Group__2__Impl16135);
             rule__OutSemanticsRule__MsgAssignment_2();
 
             state._fsp--;
@@ -22071,16 +21835,16 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8150:1: rule__OutSemanticsRule__Group__3 : rule__OutSemanticsRule__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7994:1: rule__OutSemanticsRule__Group__3 : rule__OutSemanticsRule__Group__3__Impl ;
     public final void rule__OutSemanticsRule__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8154:1: ( rule__OutSemanticsRule__Group__3__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8155:2: rule__OutSemanticsRule__Group__3__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7998:1: ( rule__OutSemanticsRule__Group__3__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:7999:2: rule__OutSemanticsRule__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__3__Impl_in_rule__OutSemanticsRule__Group__316473);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__3__Impl_in_rule__OutSemanticsRule__Group__316165);
             rule__OutSemanticsRule__Group__3__Impl();
 
             state._fsp--;
@@ -22104,31 +21868,31 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8161:1: rule__OutSemanticsRule__Group__3__Impl : ( ( rule__OutSemanticsRule__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8005:1: rule__OutSemanticsRule__Group__3__Impl : ( ( rule__OutSemanticsRule__Group_3__0 )? ) ;
     public final void rule__OutSemanticsRule__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8165:1: ( ( ( rule__OutSemanticsRule__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8166:1: ( ( rule__OutSemanticsRule__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8009:1: ( ( ( rule__OutSemanticsRule__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8010:1: ( ( rule__OutSemanticsRule__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8166:1: ( ( rule__OutSemanticsRule__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8167:1: ( rule__OutSemanticsRule__Group_3__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8010:1: ( ( rule__OutSemanticsRule__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8011:1: ( rule__OutSemanticsRule__Group_3__0 )?
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getGroup_3()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8168:1: ( rule__OutSemanticsRule__Group_3__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8012:1: ( rule__OutSemanticsRule__Group_3__0 )?
             int alt69=2;
             int LA69_0 = input.LA(1);
 
-            if ( (LA69_0==43) ) {
+            if ( (LA69_0==44) ) {
                 alt69=1;
             }
             switch (alt69) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8168:2: rule__OutSemanticsRule__Group_3__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8012:2: rule__OutSemanticsRule__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__0_in_rule__OutSemanticsRule__Group__3__Impl16500);
+                    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__0_in_rule__OutSemanticsRule__Group__3__Impl16192);
                     rule__OutSemanticsRule__Group_3__0();
 
                     state._fsp--;
@@ -22162,21 +21926,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8186:1: rule__OutSemanticsRule__Group_3__0 : rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8030:1: rule__OutSemanticsRule__Group_3__0 : rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1 ;
     public final void rule__OutSemanticsRule__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8190:1: ( rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8191:2: rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8034:1: ( rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8035:2: rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__0__Impl_in_rule__OutSemanticsRule__Group_3__016539);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__0__Impl_in_rule__OutSemanticsRule__Group_3__016231);
             rule__OutSemanticsRule__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__1_in_rule__OutSemanticsRule__Group_3__016542);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__1_in_rule__OutSemanticsRule__Group_3__016234);
             rule__OutSemanticsRule__Group_3__1();
 
             state._fsp--;
@@ -22200,20 +21964,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8198:1: rule__OutSemanticsRule__Group_3__0__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8042:1: rule__OutSemanticsRule__Group_3__0__Impl : ( '->' ) ;
     public final void rule__OutSemanticsRule__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8202:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8203:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8046:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8047:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8203:1: ( '->' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8204:1: '->'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8047:1: ( '->' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8048:1: '->'
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0()); 
-            match(input,43,FOLLOW_43_in_rule__OutSemanticsRule__Group_3__0__Impl16570); 
+            match(input,44,FOLLOW_44_in_rule__OutSemanticsRule__Group_3__0__Impl16262); 
              after(grammarAccess.getOutSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0()); 
 
             }
@@ -22237,16 +22001,16 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8217:1: rule__OutSemanticsRule__Group_3__1 : rule__OutSemanticsRule__Group_3__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8061:1: rule__OutSemanticsRule__Group_3__1 : rule__OutSemanticsRule__Group_3__1__Impl ;
     public final void rule__OutSemanticsRule__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8221:1: ( rule__OutSemanticsRule__Group_3__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8222:2: rule__OutSemanticsRule__Group_3__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8065:1: ( rule__OutSemanticsRule__Group_3__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8066:2: rule__OutSemanticsRule__Group_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__1__Impl_in_rule__OutSemanticsRule__Group_3__116601);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__1__Impl_in_rule__OutSemanticsRule__Group_3__116293);
             rule__OutSemanticsRule__Group_3__1__Impl();
 
             state._fsp--;
@@ -22270,23 +22034,23 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8228:1: rule__OutSemanticsRule__Group_3__1__Impl : ( ( rule__OutSemanticsRule__Alternatives_3_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8072:1: rule__OutSemanticsRule__Group_3__1__Impl : ( ( rule__OutSemanticsRule__Alternatives_3_1 ) ) ;
     public final void rule__OutSemanticsRule__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8232:1: ( ( ( rule__OutSemanticsRule__Alternatives_3_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8233:1: ( ( rule__OutSemanticsRule__Alternatives_3_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8076:1: ( ( ( rule__OutSemanticsRule__Alternatives_3_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8077:1: ( ( rule__OutSemanticsRule__Alternatives_3_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8233:1: ( ( rule__OutSemanticsRule__Alternatives_3_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8234:1: ( rule__OutSemanticsRule__Alternatives_3_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8077:1: ( ( rule__OutSemanticsRule__Alternatives_3_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8078:1: ( rule__OutSemanticsRule__Alternatives_3_1 )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getAlternatives_3_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8235:1: ( rule__OutSemanticsRule__Alternatives_3_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8235:2: rule__OutSemanticsRule__Alternatives_3_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8079:1: ( rule__OutSemanticsRule__Alternatives_3_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8079:2: rule__OutSemanticsRule__Alternatives_3_1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Alternatives_3_1_in_rule__OutSemanticsRule__Group_3__1__Impl16628);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Alternatives_3_1_in_rule__OutSemanticsRule__Group_3__1__Impl16320);
             rule__OutSemanticsRule__Alternatives_3_1();
 
             state._fsp--;
@@ -22317,21 +22081,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8249:1: rule__OutSemanticsRule__Group_3_1_1__0 : rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8093:1: rule__OutSemanticsRule__Group_3_1_1__0 : rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1 ;
     public final void rule__OutSemanticsRule__Group_3_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8253:1: ( rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8254:2: rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8097:1: ( rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8098:2: rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1__016662);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1__016354);
             rule__OutSemanticsRule__Group_3_1_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1_in_rule__OutSemanticsRule__Group_3_1_1__016665);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1_in_rule__OutSemanticsRule__Group_3_1_1__016357);
             rule__OutSemanticsRule__Group_3_1_1__1();
 
             state._fsp--;
@@ -22355,20 +22119,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8261:1: rule__OutSemanticsRule__Group_3_1_1__0__Impl : ( '(' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8105:1: rule__OutSemanticsRule__Group_3_1_1__0__Impl : ( '(' ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8265:1: ( ( '(' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8266:1: ( '(' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8109:1: ( ( '(' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8110:1: ( '(' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8266:1: ( '(' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8267:1: '('
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8110:1: ( '(' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8111:1: '('
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0()); 
-            match(input,57,FOLLOW_57_in_rule__OutSemanticsRule__Group_3_1_1__0__Impl16693); 
+            match(input,58,FOLLOW_58_in_rule__OutSemanticsRule__Group_3_1_1__0__Impl16385); 
              after(grammarAccess.getOutSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0()); 
 
             }
@@ -22392,21 +22156,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8280:1: rule__OutSemanticsRule__Group_3_1_1__1 : rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8124:1: rule__OutSemanticsRule__Group_3_1_1__1 : rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2 ;
     public final void rule__OutSemanticsRule__Group_3_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8284:1: ( rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8285:2: rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8128:1: ( rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8129:2: rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1__116724);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1__116416);
             rule__OutSemanticsRule__Group_3_1_1__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2_in_rule__OutSemanticsRule__Group_3_1_1__116727);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2_in_rule__OutSemanticsRule__Group_3_1_1__116419);
             rule__OutSemanticsRule__Group_3_1_1__2();
 
             state._fsp--;
@@ -22430,23 +22194,23 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8292:1: rule__OutSemanticsRule__Group_3_1_1__1__Impl : ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8136:1: rule__OutSemanticsRule__Group_3_1_1__1__Impl : ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8296:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8297:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8140:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8141:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8297:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8298:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8141:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8142:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsAssignment_3_1_1_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8299:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8299:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8143:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8143:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__OutSemanticsRule__Group_3_1_1__1__Impl16754);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__OutSemanticsRule__Group_3_1_1__1__Impl16446);
             rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1();
 
             state._fsp--;
@@ -22477,21 +22241,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8309:1: rule__OutSemanticsRule__Group_3_1_1__2 : rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8153:1: rule__OutSemanticsRule__Group_3_1_1__2 : rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3 ;
     public final void rule__OutSemanticsRule__Group_3_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8313:1: ( rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8314:2: rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8157:1: ( rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8158:2: rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2__Impl_in_rule__OutSemanticsRule__Group_3_1_1__216784);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2__Impl_in_rule__OutSemanticsRule__Group_3_1_1__216476);
             rule__OutSemanticsRule__Group_3_1_1__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3_in_rule__OutSemanticsRule__Group_3_1_1__216787);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3_in_rule__OutSemanticsRule__Group_3_1_1__216479);
             rule__OutSemanticsRule__Group_3_1_1__3();
 
             state._fsp--;
@@ -22515,26 +22279,26 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8321:1: rule__OutSemanticsRule__Group_3_1_1__2__Impl : ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8165:1: rule__OutSemanticsRule__Group_3_1_1__2__Impl : ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8325:1: ( ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8326:1: ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8169:1: ( ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8170:1: ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8326:1: ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8327:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8170:1: ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8171:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8327:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8328:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8171:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8172:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getGroup_3_1_1_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8329:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8329:2: rule__OutSemanticsRule__Group_3_1_1_2__0
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8173:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8173:2: rule__OutSemanticsRule__Group_3_1_1_2__0
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl16816);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl16508);
             rule__OutSemanticsRule__Group_3_1_1_2__0();
 
             state._fsp--;
@@ -22546,26 +22310,26 @@
 
             }
 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8332:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8333:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8176:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8177:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )*
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getGroup_3_1_1_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8334:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8178:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )*
             loop70:
             do {
                 int alt70=2;
                 int LA70_0 = input.LA(1);
 
-                if ( (LA70_0==59) ) {
+                if ( (LA70_0==60) ) {
                     alt70=1;
                 }
 
 
                 switch (alt70) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8334:2: rule__OutSemanticsRule__Group_3_1_1_2__0
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8178:2: rule__OutSemanticsRule__Group_3_1_1_2__0
             	    {
-            	    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl16828);
+            	    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl16520);
             	    rule__OutSemanticsRule__Group_3_1_1_2__0();
 
             	    state._fsp--;
@@ -22605,16 +22369,16 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8345:1: rule__OutSemanticsRule__Group_3_1_1__3 : rule__OutSemanticsRule__Group_3_1_1__3__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8189:1: rule__OutSemanticsRule__Group_3_1_1__3 : rule__OutSemanticsRule__Group_3_1_1__3__Impl ;
     public final void rule__OutSemanticsRule__Group_3_1_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8349:1: ( rule__OutSemanticsRule__Group_3_1_1__3__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8350:2: rule__OutSemanticsRule__Group_3_1_1__3__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8193:1: ( rule__OutSemanticsRule__Group_3_1_1__3__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8194:2: rule__OutSemanticsRule__Group_3_1_1__3__Impl
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3__Impl_in_rule__OutSemanticsRule__Group_3_1_1__316861);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3__Impl_in_rule__OutSemanticsRule__Group_3_1_1__316553);
             rule__OutSemanticsRule__Group_3_1_1__3__Impl();
 
             state._fsp--;
@@ -22638,20 +22402,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8356:1: rule__OutSemanticsRule__Group_3_1_1__3__Impl : ( ')' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8200:1: rule__OutSemanticsRule__Group_3_1_1__3__Impl : ( ')' ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8360:1: ( ( ')' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8361:1: ( ')' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8204:1: ( ( ')' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8205:1: ( ')' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8361:1: ( ')' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8362:1: ')'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8205:1: ( ')' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8206:1: ')'
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3()); 
-            match(input,58,FOLLOW_58_in_rule__OutSemanticsRule__Group_3_1_1__3__Impl16889); 
+            match(input,59,FOLLOW_59_in_rule__OutSemanticsRule__Group_3_1_1__3__Impl16581); 
              after(grammarAccess.getOutSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3()); 
 
             }
@@ -22675,21 +22439,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1_2__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8383:1: rule__OutSemanticsRule__Group_3_1_1_2__0 : rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8227:1: rule__OutSemanticsRule__Group_3_1_1_2__0 : rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1 ;
     public final void rule__OutSemanticsRule__Group_3_1_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8387:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8388:2: rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8231:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8232:2: rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__016928);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__016620);
             rule__OutSemanticsRule__Group_3_1_1_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1_in_rule__OutSemanticsRule__Group_3_1_1_2__016931);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1_in_rule__OutSemanticsRule__Group_3_1_1_2__016623);
             rule__OutSemanticsRule__Group_3_1_1_2__1();
 
             state._fsp--;
@@ -22713,20 +22477,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1_2__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8395:1: rule__OutSemanticsRule__Group_3_1_1_2__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8239:1: rule__OutSemanticsRule__Group_3_1_1_2__0__Impl : ( ',' ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8399:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8400:1: ( ',' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8243:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8244:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8400:1: ( ',' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8401:1: ','
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8244:1: ( ',' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8245:1: ','
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0()); 
-            match(input,59,FOLLOW_59_in_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl16959); 
+            match(input,60,FOLLOW_60_in_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl16651); 
              after(grammarAccess.getOutSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0()); 
 
             }
@@ -22750,16 +22514,16 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1_2__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8414:1: rule__OutSemanticsRule__Group_3_1_1_2__1 : rule__OutSemanticsRule__Group_3_1_1_2__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8258:1: rule__OutSemanticsRule__Group_3_1_1_2__1 : rule__OutSemanticsRule__Group_3_1_1_2__1__Impl ;
     public final void rule__OutSemanticsRule__Group_3_1_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8418:1: ( rule__OutSemanticsRule__Group_3_1_1_2__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8419:2: rule__OutSemanticsRule__Group_3_1_1_2__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8262:1: ( rule__OutSemanticsRule__Group_3_1_1_2__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8263:2: rule__OutSemanticsRule__Group_3_1_1_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__116990);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__116682);
             rule__OutSemanticsRule__Group_3_1_1_2__1__Impl();
 
             state._fsp--;
@@ -22783,23 +22547,23 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1_2__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8425:1: rule__OutSemanticsRule__Group_3_1_1_2__1__Impl : ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8269:1: rule__OutSemanticsRule__Group_3_1_1_2__1__Impl : ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8429:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8430:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8273:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8274:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8430:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8431:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8274:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8275:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsAssignment_3_1_1_2_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8432:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8432:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8276:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8276:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl17017);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl16709);
             rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1();
 
             state._fsp--;
@@ -22830,21 +22594,21 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8449:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8293:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
     public final void rule__KeyValue__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8453:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8454:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8297:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8298:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__017054);
+            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__016746);
             rule__KeyValue__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__017057);
+            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__016749);
             rule__KeyValue__Group__1();
 
             state._fsp--;
@@ -22868,23 +22632,23 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8461:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8305:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
     public final void rule__KeyValue__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8465:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8466:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8309:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8310:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8466:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8467:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8310:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8311:1: ( rule__KeyValue__KeyAssignment_0 )
             {
              before(grammarAccess.getKeyValueAccess().getKeyAssignment_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8468:1: ( rule__KeyValue__KeyAssignment_0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8468:2: rule__KeyValue__KeyAssignment_0
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8312:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8312:2: rule__KeyValue__KeyAssignment_0
             {
-            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl17084);
+            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl16776);
             rule__KeyValue__KeyAssignment_0();
 
             state._fsp--;
@@ -22915,21 +22679,21 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8478:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8322:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
     public final void rule__KeyValue__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8482:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8483:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8326:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8327:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__117114);
+            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__116806);
             rule__KeyValue__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__117117);
+            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__116809);
             rule__KeyValue__Group__2();
 
             state._fsp--;
@@ -22953,20 +22717,20 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8490:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8334:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
     public final void rule__KeyValue__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8494:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8495:1: ( '=' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8338:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8339:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8495:1: ( '=' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8496:1: '='
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8339:1: ( '=' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8340:1: '='
             {
              before(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
-            match(input,61,FOLLOW_61_in_rule__KeyValue__Group__1__Impl17145); 
+            match(input,62,FOLLOW_62_in_rule__KeyValue__Group__1__Impl16837); 
              after(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
 
             }
@@ -22990,16 +22754,16 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8509:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8353:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
     public final void rule__KeyValue__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8513:1: ( rule__KeyValue__Group__2__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8514:2: rule__KeyValue__Group__2__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8357:1: ( rule__KeyValue__Group__2__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8358:2: rule__KeyValue__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__217176);
+            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__216868);
             rule__KeyValue__Group__2__Impl();
 
             state._fsp--;
@@ -23023,23 +22787,23 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8520:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8364:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
     public final void rule__KeyValue__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8524:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8525:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8368:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8369:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8525:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8526:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8369:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8370:1: ( rule__KeyValue__ValueAssignment_2 )
             {
              before(grammarAccess.getKeyValueAccess().getValueAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8527:1: ( rule__KeyValue__ValueAssignment_2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8527:2: rule__KeyValue__ValueAssignment_2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8371:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8371:2: rule__KeyValue__ValueAssignment_2
             {
-            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl17203);
+            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl16895);
             rule__KeyValue__ValueAssignment_2();
 
             state._fsp--;
@@ -23070,21 +22834,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8546:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8390:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
     public final void rule__SimpleAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8550:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8551:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8394:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8395:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__017242);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__016934);
             rule__SimpleAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__017245);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__016937);
             rule__SimpleAnnotationAttribute__Group__1();
 
             state._fsp--;
@@ -23108,23 +22872,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8558:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8402:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8562:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8563:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8406:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8407:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8563:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8564:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8407:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8408:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8565:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8565:2: rule__SimpleAnnotationAttribute__Alternatives_0
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8409:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8409:2: rule__SimpleAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl17272);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl16964);
             rule__SimpleAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
@@ -23155,21 +22919,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8575:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8419:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
     public final void rule__SimpleAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8579:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8580:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8423:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8424:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__117302);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__116994);
             rule__SimpleAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__117305);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__116997);
             rule__SimpleAnnotationAttribute__Group__2();
 
             state._fsp--;
@@ -23193,20 +22957,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8587:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8431:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8591:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8592:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8435:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8436:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8592:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8593:1: 'attribute'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8436:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8437:1: 'attribute'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
-            match(input,62,FOLLOW_62_in_rule__SimpleAnnotationAttribute__Group__1__Impl17333); 
+            match(input,63,FOLLOW_63_in_rule__SimpleAnnotationAttribute__Group__1__Impl17025); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
 
             }
@@ -23230,21 +22994,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8606:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8450:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
     public final void rule__SimpleAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8610:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8611:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8454:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8455:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__217364);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__217056);
             rule__SimpleAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__217367);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__217059);
             rule__SimpleAnnotationAttribute__Group__3();
 
             state._fsp--;
@@ -23268,23 +23032,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8618:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8462:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8622:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8623:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8466:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8467:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8623:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8624:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8467:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8468:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8625:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8625:2: rule__SimpleAnnotationAttribute__NameAssignment_2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8469:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8469:2: rule__SimpleAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl17394);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl17086);
             rule__SimpleAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
@@ -23315,21 +23079,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8635:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8479:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
     public final void rule__SimpleAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8639:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8640:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8483:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8484:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__317424);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__317116);
             rule__SimpleAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__317427);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__317119);
             rule__SimpleAnnotationAttribute__Group__4();
 
             state._fsp--;
@@ -23353,20 +23117,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8647:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8491:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8651:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8652:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8495:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8496:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8652:1: ( ':' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8653:1: ':'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8496:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8497:1: ':'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
-            match(input,41,FOLLOW_41_in_rule__SimpleAnnotationAttribute__Group__3__Impl17455); 
+            match(input,42,FOLLOW_42_in_rule__SimpleAnnotationAttribute__Group__3__Impl17147); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
 
             }
@@ -23390,16 +23154,16 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8666:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8510:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
     public final void rule__SimpleAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8670:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8671:2: rule__SimpleAnnotationAttribute__Group__4__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8514:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8515:2: rule__SimpleAnnotationAttribute__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__417486);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__417178);
             rule__SimpleAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
@@ -23423,23 +23187,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8677:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8521:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8681:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8682:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8525:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8526:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8682:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8683:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8526:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8527:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeAssignment_4()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8684:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8684:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8528:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8528:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl17513);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl17205);
             rule__SimpleAnnotationAttribute__TypeAssignment_4();
 
             state._fsp--;
@@ -23470,21 +23234,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8704:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8548:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
     public final void rule__EnumAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8708:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8709:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8552:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8553:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__017553);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__017245);
             rule__EnumAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__017556);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__017248);
             rule__EnumAnnotationAttribute__Group__1();
 
             state._fsp--;
@@ -23508,23 +23272,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8716:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8560:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8720:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8721:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8564:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8565:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8721:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8722:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8565:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8566:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8723:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8723:2: rule__EnumAnnotationAttribute__Alternatives_0
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8567:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8567:2: rule__EnumAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl17583);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl17275);
             rule__EnumAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
@@ -23555,21 +23319,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8733:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8577:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
     public final void rule__EnumAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8737:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8738:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8581:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8582:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__117613);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__117305);
             rule__EnumAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__117616);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__117308);
             rule__EnumAnnotationAttribute__Group__2();
 
             state._fsp--;
@@ -23593,20 +23357,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8745:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8589:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__EnumAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8749:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8750:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8593:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8594:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8750:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8751:1: 'attribute'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8594:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8595:1: 'attribute'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
-            match(input,62,FOLLOW_62_in_rule__EnumAnnotationAttribute__Group__1__Impl17644); 
+            match(input,63,FOLLOW_63_in_rule__EnumAnnotationAttribute__Group__1__Impl17336); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
 
             }
@@ -23630,21 +23394,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8764:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8608:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
     public final void rule__EnumAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8768:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8769:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8612:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8613:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__217675);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__217367);
             rule__EnumAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__217678);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__217370);
             rule__EnumAnnotationAttribute__Group__3();
 
             state._fsp--;
@@ -23668,23 +23432,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8776:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8620:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8780:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8781:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8624:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8625:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8781:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8782:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8625:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8626:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8783:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8783:2: rule__EnumAnnotationAttribute__NameAssignment_2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8627:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8627:2: rule__EnumAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl17705);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl17397);
             rule__EnumAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
@@ -23715,21 +23479,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8793:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8637:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
     public final void rule__EnumAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8797:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8798:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8641:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8642:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__317735);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__317427);
             rule__EnumAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__317738);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__317430);
             rule__EnumAnnotationAttribute__Group__4();
 
             state._fsp--;
@@ -23753,20 +23517,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8805:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8649:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__EnumAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8809:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8810:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8653:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8654:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8810:1: ( ':' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8811:1: ':'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8654:1: ( ':' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8655:1: ':'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
-            match(input,41,FOLLOW_41_in_rule__EnumAnnotationAttribute__Group__3__Impl17766); 
+            match(input,42,FOLLOW_42_in_rule__EnumAnnotationAttribute__Group__3__Impl17458); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
 
             }
@@ -23790,21 +23554,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8824:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8668:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
     public final void rule__EnumAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8828:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8829:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8672:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8673:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__417797);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__417489);
             rule__EnumAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__417800);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__417492);
             rule__EnumAnnotationAttribute__Group__5();
 
             state._fsp--;
@@ -23828,20 +23592,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8836:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8680:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
     public final void rule__EnumAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8840:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8841:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8684:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8685:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8841:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8842:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8685:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8686:1: '{'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
-            match(input,27,FOLLOW_27_in_rule__EnumAnnotationAttribute__Group__4__Impl17828); 
+            match(input,28,FOLLOW_28_in_rule__EnumAnnotationAttribute__Group__4__Impl17520); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
 
             }
@@ -23865,21 +23629,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8855:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8699:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
     public final void rule__EnumAnnotationAttribute__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8859:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8860:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8703:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8704:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__517859);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__517551);
             rule__EnumAnnotationAttribute__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__517862);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__517554);
             rule__EnumAnnotationAttribute__Group__6();
 
             state._fsp--;
@@ -23903,23 +23667,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8867:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8711:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8871:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8872:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8715:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8716:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8872:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8873:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8716:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8717:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_5()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8874:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8874:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8718:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8718:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl17889);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl17581);
             rule__EnumAnnotationAttribute__ValuesAssignment_5();
 
             state._fsp--;
@@ -23950,21 +23714,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8884:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8728:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
     public final void rule__EnumAnnotationAttribute__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8888:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8889:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8732:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8733:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__617919);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__617611);
             rule__EnumAnnotationAttribute__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__617922);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__617614);
             rule__EnumAnnotationAttribute__Group__7();
 
             state._fsp--;
@@ -23988,35 +23752,35 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8896:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8740:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
     public final void rule__EnumAnnotationAttribute__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8900:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8901:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8744:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8745:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8901:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8902:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8745:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8746:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getGroup_6()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8903:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8747:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
             loop71:
             do {
                 int alt71=2;
                 int LA71_0 = input.LA(1);
 
-                if ( (LA71_0==59) ) {
+                if ( (LA71_0==60) ) {
                     alt71=1;
                 }
 
 
                 switch (alt71) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8903:2: rule__EnumAnnotationAttribute__Group_6__0
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8747:2: rule__EnumAnnotationAttribute__Group_6__0
             	    {
-            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl17949);
+            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl17641);
             	    rule__EnumAnnotationAttribute__Group_6__0();
 
             	    state._fsp--;
@@ -24053,16 +23817,16 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8913:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8757:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
     public final void rule__EnumAnnotationAttribute__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8917:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8918:2: rule__EnumAnnotationAttribute__Group__7__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8761:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8762:2: rule__EnumAnnotationAttribute__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__717980);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__717672);
             rule__EnumAnnotationAttribute__Group__7__Impl();
 
             state._fsp--;
@@ -24086,20 +23850,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8924:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8768:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
     public final void rule__EnumAnnotationAttribute__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8928:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8929:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8772:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8773:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8929:1: ( '}' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8930:1: '}'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8773:1: ( '}' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8774:1: '}'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
-            match(input,28,FOLLOW_28_in_rule__EnumAnnotationAttribute__Group__7__Impl18008); 
+            match(input,29,FOLLOW_29_in_rule__EnumAnnotationAttribute__Group__7__Impl17700); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
 
             }
@@ -24123,21 +23887,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8959:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8803:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
     public final void rule__EnumAnnotationAttribute__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8963:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8964:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8807:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8808:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__018055);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__017747);
             rule__EnumAnnotationAttribute__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__018058);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__017750);
             rule__EnumAnnotationAttribute__Group_6__1();
 
             state._fsp--;
@@ -24161,20 +23925,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8971:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8815:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8975:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8976:1: ( ',' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8819:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8820:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8976:1: ( ',' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8977:1: ','
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8820:1: ( ',' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8821:1: ','
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
-            match(input,59,FOLLOW_59_in_rule__EnumAnnotationAttribute__Group_6__0__Impl18086); 
+            match(input,60,FOLLOW_60_in_rule__EnumAnnotationAttribute__Group_6__0__Impl17778); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
 
             }
@@ -24198,16 +23962,16 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8990:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8834:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
     public final void rule__EnumAnnotationAttribute__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8994:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8995:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8838:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8839:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__118117);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__117809);
             rule__EnumAnnotationAttribute__Group_6__1__Impl();
 
             state._fsp--;
@@ -24231,23 +23995,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9001:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8845:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9005:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9006:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8849:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8850:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9006:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9007:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8850:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8851:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_6_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9008:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9008:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8852:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8852:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl18144);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl17836);
             rule__EnumAnnotationAttribute__ValuesAssignment_6_1();
 
             state._fsp--;
@@ -24278,21 +24042,21 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9024:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8868:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
     public final void rule__ImportedFQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9028:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9029:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8872:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8873:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__018180);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__017872);
             rule__ImportedFQN__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__018183);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__017875);
             rule__ImportedFQN__Group__1();
 
             state._fsp--;
@@ -24316,20 +24080,20 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9036:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8880:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
     public final void rule__ImportedFQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9040:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9041:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8884:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8885:1: ( ruleFQN )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9041:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9042:1: ruleFQN
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8885:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8886:1: ruleFQN
             {
              before(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl18210);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl17902);
             ruleFQN();
 
             state._fsp--;
@@ -24357,16 +24121,16 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9053:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8897:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
     public final void rule__ImportedFQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9057:1: ( rule__ImportedFQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9058:2: rule__ImportedFQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8901:1: ( rule__ImportedFQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8902:2: rule__ImportedFQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__118239);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__117931);
             rule__ImportedFQN__Group__1__Impl();
 
             state._fsp--;
@@ -24390,31 +24154,31 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9064:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8908:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
     public final void rule__ImportedFQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9068:1: ( ( ( '.*' )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9069:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8912:1: ( ( ( '.*' )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8913:1: ( ( '.*' )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9069:1: ( ( '.*' )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9070:1: ( '.*' )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8913:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8914:1: ( '.*' )?
             {
              before(grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9071:1: ( '.*' )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8915:1: ( '.*' )?
             int alt72=2;
             int LA72_0 = input.LA(1);
 
-            if ( (LA72_0==63) ) {
+            if ( (LA72_0==64) ) {
                 alt72=1;
             }
             switch (alt72) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9072:2: '.*'
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8916:2: '.*'
                     {
-                    match(input,63,FOLLOW_63_in_rule__ImportedFQN__Group__1__Impl18268); 
+                    match(input,64,FOLLOW_64_in_rule__ImportedFQN__Group__1__Impl17960); 
 
                     }
                     break;
@@ -24444,21 +24208,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9087:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8931:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
     public final void rule__Documentation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9091:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9092:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8935:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8936:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__018305);
+            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__017997);
             rule__Documentation__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__018308);
+            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__018000);
             rule__Documentation__Group__1();
 
             state._fsp--;
@@ -24482,21 +24246,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9099:1: rule__Documentation__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8943:1: rule__Documentation__Group__0__Impl : ( () ) ;
     public final void rule__Documentation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9103:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9104:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8947:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8948:1: ( () )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9104:1: ( () )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9105:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8948:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8949:1: ()
             {
              before(grammarAccess.getDocumentationAccess().getDocumentationAction_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9106:1: ()
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9108:1: 
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8950:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8952:1: 
             {
             }
 
@@ -24519,21 +24283,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9118:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8962:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
     public final void rule__Documentation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9122:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9123:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8966:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8967:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__118366);
+            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__118058);
             rule__Documentation__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__118369);
+            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__118061);
             rule__Documentation__Group__2();
 
             state._fsp--;
@@ -24557,20 +24321,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9130:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8974:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
     public final void rule__Documentation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9134:1: ( ( '[' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9135:1: ( '[' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8978:1: ( ( '[' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8979:1: ( '[' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9135:1: ( '[' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9136:1: '['
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8979:1: ( '[' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8980:1: '['
             {
              before(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
-            match(input,64,FOLLOW_64_in_rule__Documentation__Group__1__Impl18397); 
+            match(input,65,FOLLOW_65_in_rule__Documentation__Group__1__Impl18089); 
              after(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
 
             }
@@ -24594,21 +24358,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9149:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8993:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
     public final void rule__Documentation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9153:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9154:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8997:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:8998:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__218428);
+            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__218120);
             rule__Documentation__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__218431);
+            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__218123);
             rule__Documentation__Group__3();
 
             state._fsp--;
@@ -24632,20 +24396,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9161:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9005:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
     public final void rule__Documentation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9165:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9166:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9009:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9010:1: ( ( rule__Documentation__LinesAssignment_2 )* )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9166:1: ( ( rule__Documentation__LinesAssignment_2 )* )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9167:1: ( rule__Documentation__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9010:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9011:1: ( rule__Documentation__LinesAssignment_2 )*
             {
              before(grammarAccess.getDocumentationAccess().getLinesAssignment_2()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9168:1: ( rule__Documentation__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9012:1: ( rule__Documentation__LinesAssignment_2 )*
             loop73:
             do {
                 int alt73=2;
@@ -24658,9 +24422,9 @@
 
                 switch (alt73) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9168:2: rule__Documentation__LinesAssignment_2
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9012:2: rule__Documentation__LinesAssignment_2
             	    {
-            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl18458);
+            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl18150);
             	    rule__Documentation__LinesAssignment_2();
 
             	    state._fsp--;
@@ -24697,16 +24461,16 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9178:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9022:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
     public final void rule__Documentation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9182:1: ( rule__Documentation__Group__3__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9183:2: rule__Documentation__Group__3__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9026:1: ( rule__Documentation__Group__3__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9027:2: rule__Documentation__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__318489);
+            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__318181);
             rule__Documentation__Group__3__Impl();
 
             state._fsp--;
@@ -24730,20 +24494,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9189:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9033:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
     public final void rule__Documentation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9193:1: ( ( ']' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9194:1: ( ']' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9037:1: ( ( ']' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9038:1: ( ']' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9194:1: ( ']' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9195:1: ']'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9038:1: ( ']' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9039:1: ']'
             {
              before(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
-            match(input,65,FOLLOW_65_in_rule__Documentation__Group__3__Impl18517); 
+            match(input,66,FOLLOW_66_in_rule__Documentation__Group__3__Impl18209); 
              after(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
 
             }
@@ -24767,21 +24531,21 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9222:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9066:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
     public final void rule__BooleanLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9226:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9227:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9070:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9071:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__018562);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__018254);
             rule__BooleanLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__018565);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__018257);
             rule__BooleanLiteral__Group__1();
 
             state._fsp--;
@@ -24805,21 +24569,21 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9234:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9078:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
     public final void rule__BooleanLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9238:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9239:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9082:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9083:1: ( () )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9239:1: ( () )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9240:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9083:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9084:1: ()
             {
              before(grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9241:1: ()
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9243:1: 
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9085:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9087:1: 
             {
             }
 
@@ -24842,16 +24606,16 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9253:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9097:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
     public final void rule__BooleanLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9257:1: ( rule__BooleanLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9258:2: rule__BooleanLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9101:1: ( rule__BooleanLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9102:2: rule__BooleanLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__118623);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__118315);
             rule__BooleanLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -24875,23 +24639,23 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9264:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9108:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
     public final void rule__BooleanLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9268:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9269:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9112:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9113:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9269:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9270:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9113:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9114:1: ( rule__BooleanLiteral__Alternatives_1 )
             {
              before(grammarAccess.getBooleanLiteralAccess().getAlternatives_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9271:1: ( rule__BooleanLiteral__Alternatives_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9271:2: rule__BooleanLiteral__Alternatives_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9115:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9115:2: rule__BooleanLiteral__Alternatives_1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl18650);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl18342);
             rule__BooleanLiteral__Alternatives_1();
 
             state._fsp--;
@@ -24922,21 +24686,21 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9285:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9129:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
     public final void rule__RealLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9289:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9290:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9133:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9134:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__018684);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__018376);
             rule__RealLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__018687);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__018379);
             rule__RealLiteral__Group__1();
 
             state._fsp--;
@@ -24960,21 +24724,21 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9297:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9141:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
     public final void rule__RealLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9301:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9302:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9145:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9146:1: ( () )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9302:1: ( () )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9303:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9146:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9147:1: ()
             {
              before(grammarAccess.getRealLiteralAccess().getRealLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9304:1: ()
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9306:1: 
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9148:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9150:1: 
             {
             }
 
@@ -24997,16 +24761,16 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9316:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9160:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
     public final void rule__RealLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9320:1: ( rule__RealLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9321:2: rule__RealLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9164:1: ( rule__RealLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9165:2: rule__RealLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__118745);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__118437);
             rule__RealLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -25030,23 +24794,23 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9327:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9171:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
     public final void rule__RealLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9331:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9332:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9175:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9176:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9332:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9333:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9176:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9177:1: ( rule__RealLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getRealLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9334:1: ( rule__RealLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9334:2: rule__RealLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9178:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9178:2: rule__RealLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl18772);
+            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl18464);
             rule__RealLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -25077,21 +24841,21 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9348:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9192:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
     public final void rule__IntLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9352:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9353:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9196:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9197:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__018806);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__018498);
             rule__IntLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__018809);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__018501);
             rule__IntLiteral__Group__1();
 
             state._fsp--;
@@ -25115,21 +24879,21 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9360:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9204:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
     public final void rule__IntLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9364:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9365:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9208:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9209:1: ( () )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9365:1: ( () )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9366:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9209:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9210:1: ()
             {
              before(grammarAccess.getIntLiteralAccess().getIntLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9367:1: ()
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9369:1: 
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9211:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9213:1: 
             {
             }
 
@@ -25152,16 +24916,16 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9379:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9223:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
     public final void rule__IntLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9383:1: ( rule__IntLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9384:2: rule__IntLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9227:1: ( rule__IntLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9228:2: rule__IntLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__118867);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__118559);
             rule__IntLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -25185,23 +24949,23 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9390:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9234:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
     public final void rule__IntLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9394:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9395:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9238:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9239:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9395:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9396:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9239:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9240:1: ( rule__IntLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getIntLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9397:1: ( rule__IntLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9397:2: rule__IntLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9241:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9241:2: rule__IntLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl18894);
+            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl18586);
             rule__IntLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -25232,21 +24996,21 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9411:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9255:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
     public final void rule__StringLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9415:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9416:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9259:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9260:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__018928);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__018620);
             rule__StringLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__018931);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__018623);
             rule__StringLiteral__Group__1();
 
             state._fsp--;
@@ -25270,21 +25034,21 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9423:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9267:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
     public final void rule__StringLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9427:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9428:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9271:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9272:1: ( () )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9428:1: ( () )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9429:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9272:1: ( () )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9273:1: ()
             {
              before(grammarAccess.getStringLiteralAccess().getStringLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9430:1: ()
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9432:1: 
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9274:1: ()
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9276:1: 
             {
             }
 
@@ -25307,16 +25071,16 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9442:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9286:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
     public final void rule__StringLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9446:1: ( rule__StringLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9447:2: rule__StringLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9290:1: ( rule__StringLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9291:2: rule__StringLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__118989);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__118681);
             rule__StringLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -25340,23 +25104,23 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9453:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9297:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
     public final void rule__StringLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9457:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9458:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9301:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9302:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9458:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9459:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9302:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9303:1: ( rule__StringLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getStringLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9460:1: ( rule__StringLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9460:2: rule__StringLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9304:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9304:2: rule__StringLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl19016);
+            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl18708);
             rule__StringLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -25386,23 +25150,23 @@
     // $ANTLR end "rule__StringLiteral__Group__1__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9474:1: rule__SignedInteger__Group__0 : rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 ;
-    public final void rule__SignedInteger__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9318:1: rule__Integer__Group_0__0 : rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 ;
+    public final void rule__Integer__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9478:1: ( rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9479:2: rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9322:1: ( rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9323:2: rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__019050);
-            rule__SignedInteger__Group__0__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__018742);
+            rule__Integer__Group_0__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__019053);
-            rule__SignedInteger__Group__1();
+            pushFollow(FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__018745);
+            rule__Integer__Group_0__1();
 
             state._fsp--;
 
@@ -25421,36 +25185,36 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0"
+    // $ANTLR end "rule__Integer__Group_0__0"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9486:1: rule__SignedInteger__Group__0__Impl : ( ( rule__SignedInteger__Alternatives_0 )? ) ;
-    public final void rule__SignedInteger__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0__Impl"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9330:1: rule__Integer__Group_0__0__Impl : ( ( rule__Integer__Alternatives_0_0 )? ) ;
+    public final void rule__Integer__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9490:1: ( ( ( rule__SignedInteger__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9491:1: ( ( rule__SignedInteger__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9334:1: ( ( ( rule__Integer__Alternatives_0_0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9335:1: ( ( rule__Integer__Alternatives_0_0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9491:1: ( ( rule__SignedInteger__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9492:1: ( rule__SignedInteger__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9335:1: ( ( rule__Integer__Alternatives_0_0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9336:1: ( rule__Integer__Alternatives_0_0 )?
             {
-             before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9493:1: ( rule__SignedInteger__Alternatives_0 )?
+             before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9337:1: ( rule__Integer__Alternatives_0_0 )?
             int alt74=2;
             int LA74_0 = input.LA(1);
 
-            if ( ((LA74_0>=15 && LA74_0<=16)) ) {
+            if ( ((LA74_0>=14 && LA74_0<=15)) ) {
                 alt74=1;
             }
             switch (alt74) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9493:2: rule__SignedInteger__Alternatives_0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9337:2: rule__Integer__Alternatives_0_0
                     {
-                    pushFollow(FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl19080);
-                    rule__SignedInteger__Alternatives_0();
+                    pushFollow(FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl18772);
+                    rule__Integer__Alternatives_0_0();
 
                     state._fsp--;
 
@@ -25460,7 +25224,7 @@
 
             }
 
-             after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
+             after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
 
             }
 
@@ -25479,21 +25243,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0__Impl"
+    // $ANTLR end "rule__Integer__Group_0__0__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9503:1: rule__SignedInteger__Group__1 : rule__SignedInteger__Group__1__Impl ;
-    public final void rule__SignedInteger__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9347:1: rule__Integer__Group_0__1 : rule__Integer__Group_0__1__Impl ;
+    public final void rule__Integer__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9507:1: ( rule__SignedInteger__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9508:2: rule__SignedInteger__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9351:1: ( rule__Integer__Group_0__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9352:2: rule__Integer__Group_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__119111);
-            rule__SignedInteger__Group__1__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__118803);
+            rule__Integer__Group_0__1__Impl();
 
             state._fsp--;
 
@@ -25512,25 +25276,25 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1"
+    // $ANTLR end "rule__Integer__Group_0__1"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9514:1: rule__SignedInteger__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__SignedInteger__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1__Impl"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9358:1: rule__Integer__Group_0__1__Impl : ( RULE_INT ) ;
+    public final void rule__Integer__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9518:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9519:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9362:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9363:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9519:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9520:1: RULE_INT
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9363:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9364:1: RULE_INT
             {
-             before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl19138); 
-             after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+             before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl18830); 
+             after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
 
             }
 
@@ -25549,25 +25313,25 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1__Impl"
+    // $ANTLR end "rule__Integer__Group_0__1__Impl"
 
 
     // $ANTLR start "rule__Decimal__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9535:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9379:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
     public final void rule__Decimal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9539:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9540:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9383:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9384:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__019171);
+            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__018863);
             rule__Decimal__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__019174);
+            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__018866);
             rule__Decimal__Group__1();
 
             state._fsp--;
@@ -25591,31 +25355,31 @@
 
 
     // $ANTLR start "rule__Decimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9547:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9391:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
     public final void rule__Decimal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9551:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9552:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9395:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9396:1: ( ( rule__Decimal__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9552:1: ( ( rule__Decimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9553:1: ( rule__Decimal__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9396:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9397:1: ( rule__Decimal__Alternatives_0 )?
             {
              before(grammarAccess.getDecimalAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9554:1: ( rule__Decimal__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9398:1: ( rule__Decimal__Alternatives_0 )?
             int alt75=2;
             int LA75_0 = input.LA(1);
 
-            if ( ((LA75_0>=15 && LA75_0<=16)) ) {
+            if ( ((LA75_0>=14 && LA75_0<=15)) ) {
                 alt75=1;
             }
             switch (alt75) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9554:2: rule__Decimal__Alternatives_0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9398:2: rule__Decimal__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl19201);
+                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl18893);
                     rule__Decimal__Alternatives_0();
 
                     state._fsp--;
@@ -25649,21 +25413,21 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9564:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9408:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
     public final void rule__Decimal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9568:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9569:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9412:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9413:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__119232);
+            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__118924);
             rule__Decimal__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__119235);
+            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__118927);
             rule__Decimal__Group__2();
 
             state._fsp--;
@@ -25687,20 +25451,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9576:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9420:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9580:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9581:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9424:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9425:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9581:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9582:1: RULE_INT
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9425:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9426:1: RULE_INT
             {
              before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl19262); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl18954); 
              after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
 
             }
@@ -25724,21 +25488,21 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9593:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9437:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
     public final void rule__Decimal__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9597:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9598:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9441:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9442:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__219291);
+            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__218983);
             rule__Decimal__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__219294);
+            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__218986);
             rule__Decimal__Group__3();
 
             state._fsp--;
@@ -25762,20 +25526,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9605:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9449:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
     public final void rule__Decimal__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9609:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9610:1: ( '.' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9453:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9454:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9610:1: ( '.' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9611:1: '.'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9454:1: ( '.' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9455:1: '.'
             {
              before(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
-            match(input,66,FOLLOW_66_in_rule__Decimal__Group__2__Impl19322); 
+            match(input,67,FOLLOW_67_in_rule__Decimal__Group__2__Impl19014); 
              after(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
 
             }
@@ -25799,16 +25563,16 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9624:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9468:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
     public final void rule__Decimal__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9628:1: ( rule__Decimal__Group__3__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9629:2: rule__Decimal__Group__3__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9472:1: ( rule__Decimal__Group__3__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9473:2: rule__Decimal__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__319353);
+            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__319045);
             rule__Decimal__Group__3__Impl();
 
             state._fsp--;
@@ -25832,20 +25596,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9635:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9479:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9639:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9640:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9483:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9484:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9640:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9641:1: RULE_INT
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9484:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9485:1: RULE_INT
             {
              before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl19380); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl19072); 
              after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
 
             }
@@ -25868,504 +25632,22 @@
     // $ANTLR end "rule__Decimal__Group__3__Impl"
 
 
-    // $ANTLR start "rule__DotDecimal__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9660:1: rule__DotDecimal__Group__0 : rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 ;
-    public final void rule__DotDecimal__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9664:1: ( rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9665:2: rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__019417);
-            rule__DotDecimal__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__019420);
-            rule__DotDecimal__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9672:1: rule__DotDecimal__Group__0__Impl : ( ( rule__DotDecimal__Alternatives_0 )? ) ;
-    public final void rule__DotDecimal__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9676:1: ( ( ( rule__DotDecimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9677:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9677:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9678:1: ( rule__DotDecimal__Alternatives_0 )?
-            {
-             before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9679:1: ( rule__DotDecimal__Alternatives_0 )?
-            int alt76=2;
-            int LA76_0 = input.LA(1);
-
-            if ( ((LA76_0>=15 && LA76_0<=16)) ) {
-                alt76=1;
-            }
-            switch (alt76) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9679:2: rule__DotDecimal__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl19447);
-                    rule__DotDecimal__Alternatives_0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9689:1: rule__DotDecimal__Group__1 : rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 ;
-    public final void rule__DotDecimal__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9693:1: ( rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9694:2: rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__119478);
-            rule__DotDecimal__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__119481);
-            rule__DotDecimal__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9701:1: rule__DotDecimal__Group__1__Impl : ( '.' ) ;
-    public final void rule__DotDecimal__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9705:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9706:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9706:1: ( '.' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9707:1: '.'
-            {
-             before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-            match(input,66,FOLLOW_66_in_rule__DotDecimal__Group__1__Impl19509); 
-             after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9720:1: rule__DotDecimal__Group__2 : rule__DotDecimal__Group__2__Impl ;
-    public final void rule__DotDecimal__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9724:1: ( rule__DotDecimal__Group__2__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9725:2: rule__DotDecimal__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__219540);
-            rule__DotDecimal__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9731:1: rule__DotDecimal__Group__2__Impl : ( RULE_INT ) ;
-    public final void rule__DotDecimal__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9735:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9736:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9736:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9737:1: RULE_INT
-            {
-             before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl19567); 
-             after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9754:1: rule__DecimalDot__Group__0 : rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 ;
-    public final void rule__DecimalDot__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9758:1: ( rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9759:2: rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__019602);
-            rule__DecimalDot__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__019605);
-            rule__DecimalDot__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9766:1: rule__DecimalDot__Group__0__Impl : ( ( rule__DecimalDot__Alternatives_0 )? ) ;
-    public final void rule__DecimalDot__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9770:1: ( ( ( rule__DecimalDot__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9771:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9771:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9772:1: ( rule__DecimalDot__Alternatives_0 )?
-            {
-             before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9773:1: ( rule__DecimalDot__Alternatives_0 )?
-            int alt77=2;
-            int LA77_0 = input.LA(1);
-
-            if ( ((LA77_0>=15 && LA77_0<=16)) ) {
-                alt77=1;
-            }
-            switch (alt77) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9773:2: rule__DecimalDot__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl19632);
-                    rule__DecimalDot__Alternatives_0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9783:1: rule__DecimalDot__Group__1 : rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 ;
-    public final void rule__DecimalDot__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9787:1: ( rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9788:2: rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__119663);
-            rule__DecimalDot__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__119666);
-            rule__DecimalDot__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9795:1: rule__DecimalDot__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__DecimalDot__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9799:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9800:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9800:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9801:1: RULE_INT
-            {
-             before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl19693); 
-             after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9812:1: rule__DecimalDot__Group__2 : rule__DecimalDot__Group__2__Impl ;
-    public final void rule__DecimalDot__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9816:1: ( rule__DecimalDot__Group__2__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9817:2: rule__DecimalDot__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__219722);
-            rule__DecimalDot__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9823:1: rule__DecimalDot__Group__2__Impl : ( '.' ) ;
-    public final void rule__DecimalDot__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9827:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9828:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9828:1: ( '.' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9829:1: '.'
-            {
-             before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-            match(input,66,FOLLOW_66_in_rule__DecimalDot__Group__2__Impl19750); 
-             after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2__Impl"
-
-
     // $ANTLR start "rule__DecimalExp__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9848:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9504:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
     public final void rule__DecimalExp__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9852:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9853:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9508:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9509:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__019787);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__019109);
             rule__DecimalExp__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__019790);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__019112);
             rule__DecimalExp__Group__1();
 
             state._fsp--;
@@ -26389,31 +25671,31 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9860:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9516:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
     public final void rule__DecimalExp__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9864:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9865:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9520:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9521:1: ( ( rule__DecimalExp__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9865:1: ( ( rule__DecimalExp__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9866:1: ( rule__DecimalExp__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9521:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9522:1: ( rule__DecimalExp__Alternatives_0 )?
             {
              before(grammarAccess.getDecimalExpAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9867:1: ( rule__DecimalExp__Alternatives_0 )?
-            int alt78=2;
-            int LA78_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9523:1: ( rule__DecimalExp__Alternatives_0 )?
+            int alt76=2;
+            int LA76_0 = input.LA(1);
 
-            if ( ((LA78_0>=15 && LA78_0<=16)) ) {
-                alt78=1;
+            if ( ((LA76_0>=14 && LA76_0<=15)) ) {
+                alt76=1;
             }
-            switch (alt78) {
+            switch (alt76) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9867:2: rule__DecimalExp__Alternatives_0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9523:2: rule__DecimalExp__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl19817);
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl19139);
                     rule__DecimalExp__Alternatives_0();
 
                     state._fsp--;
@@ -26447,21 +25729,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9877:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9533:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
     public final void rule__DecimalExp__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9881:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9882:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9537:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9538:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__119848);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__119170);
             rule__DecimalExp__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__119851);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__119173);
             rule__DecimalExp__Group__2();
 
             state._fsp--;
@@ -26485,20 +25767,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9889:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9545:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9893:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9894:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9549:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9550:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9894:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9895:1: RULE_INT
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9550:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9551:1: RULE_INT
             {
              before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl19878); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl19200); 
              after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
 
             }
@@ -26522,21 +25804,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9906:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9562:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
     public final void rule__DecimalExp__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9910:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9911:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9566:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9567:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__219907);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__219229);
             rule__DecimalExp__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__219910);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__219232);
             rule__DecimalExp__Group__3();
 
             state._fsp--;
@@ -26560,20 +25842,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9918:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9574:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
     public final void rule__DecimalExp__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9922:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9923:1: ( '.' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9578:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9579:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9923:1: ( '.' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9924:1: '.'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9579:1: ( '.' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9580:1: '.'
             {
              before(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
-            match(input,66,FOLLOW_66_in_rule__DecimalExp__Group__2__Impl19938); 
+            match(input,67,FOLLOW_67_in_rule__DecimalExp__Group__2__Impl19260); 
              after(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
 
             }
@@ -26597,21 +25879,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9937:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9593:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
     public final void rule__DecimalExp__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9941:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9942:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9597:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9598:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__319969);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__319291);
             rule__DecimalExp__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__319972);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__319294);
             rule__DecimalExp__Group__4();
 
             state._fsp--;
@@ -26635,20 +25917,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9949:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9605:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9953:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9954:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9609:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9610:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9954:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9955:1: RULE_INT
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9610:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9611:1: RULE_INT
             {
              before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl19999); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl19321); 
              after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
 
             }
@@ -26672,20 +25954,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9966:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9622:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 ;
     public final void rule__DecimalExp__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9970:1: ( rule__DecimalExp__Group__4__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9971:2: rule__DecimalExp__Group__4__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9626:1: ( rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9627:2: rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__420028);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__419350);
             rule__DecimalExp__Group__4__Impl();
 
             state._fsp--;
 
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__419353);
+            rule__DecimalExp__Group__5();
+
+            state._fsp--;
+
 
             }
 
@@ -26705,21 +25992,31 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9977:1: rule__DecimalExp__Group__4__Impl : ( RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9634:1: rule__DecimalExp__Group__4__Impl : ( ( rule__DecimalExp__Alternatives_4 ) ) ;
     public final void rule__DecimalExp__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9981:1: ( ( RULE_EXP ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9982:1: ( RULE_EXP )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9638:1: ( ( ( rule__DecimalExp__Alternatives_4 ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9639:1: ( ( rule__DecimalExp__Alternatives_4 ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9982:1: ( RULE_EXP )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9983:1: RULE_EXP
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9639:1: ( ( rule__DecimalExp__Alternatives_4 ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9640:1: ( rule__DecimalExp__Alternatives_4 )
             {
-             before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
-            match(input,RULE_EXP,FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl20055); 
-             after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+             before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9641:1: ( rule__DecimalExp__Alternatives_4 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9641:2: rule__DecimalExp__Alternatives_4
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl19380);
+            rule__DecimalExp__Alternatives_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
 
             }
 
@@ -26741,22 +26038,188 @@
     // $ANTLR end "rule__DecimalExp__Group__4__Impl"
 
 
+    // $ANTLR start "rule__DecimalExp__Group__5"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9651:1: rule__DecimalExp__Group__5 : rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 ;
+    public final void rule__DecimalExp__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9655:1: ( rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9656:2: rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__519410);
+            rule__DecimalExp__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__519413);
+            rule__DecimalExp__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__5__Impl"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9663:1: rule__DecimalExp__Group__5__Impl : ( ( rule__DecimalExp__Alternatives_5 )? ) ;
+    public final void rule__DecimalExp__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9667:1: ( ( ( rule__DecimalExp__Alternatives_5 )? ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9668:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            {
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9668:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9669:1: ( rule__DecimalExp__Alternatives_5 )?
+            {
+             before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9670:1: ( rule__DecimalExp__Alternatives_5 )?
+            int alt77=2;
+            int LA77_0 = input.LA(1);
+
+            if ( ((LA77_0>=14 && LA77_0<=15)) ) {
+                alt77=1;
+            }
+            switch (alt77) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9670:2: rule__DecimalExp__Alternatives_5
+                    {
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl19440);
+                    rule__DecimalExp__Alternatives_5();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5__Impl"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9680:1: rule__DecimalExp__Group__6 : rule__DecimalExp__Group__6__Impl ;
+    public final void rule__DecimalExp__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9684:1: ( rule__DecimalExp__Group__6__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9685:2: rule__DecimalExp__Group__6__Impl
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__619471);
+            rule__DecimalExp__Group__6__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6__Impl"
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9691:1: rule__DecimalExp__Group__6__Impl : ( RULE_INT ) ;
+    public final void rule__DecimalExp__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9695:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9696:1: ( RULE_INT )
+            {
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9696:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9697:1: RULE_INT
+            {
+             before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl19498); 
+             after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6__Impl"
+
+
     // $ANTLR start "rule__FQN__Group__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10004:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9722:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
     public final void rule__FQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10008:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10009:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9726:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9727:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__020094);
+            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__019541);
             rule__FQN__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__020097);
+            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__019544);
             rule__FQN__Group__1();
 
             state._fsp--;
@@ -26780,20 +26243,20 @@
 
 
     // $ANTLR start "rule__FQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10016:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9734:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10020:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10021:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9738:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9739:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10021:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10022:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9739:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9740:1: RULE_ID
             {
              before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl20124); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl19571); 
              after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
 
             }
@@ -26817,16 +26280,16 @@
 
 
     // $ANTLR start "rule__FQN__Group__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10033:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9751:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
     public final void rule__FQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10037:1: ( rule__FQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10038:2: rule__FQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9755:1: ( rule__FQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9756:2: rule__FQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__120153);
+            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__119600);
             rule__FQN__Group__1__Impl();
 
             state._fsp--;
@@ -26850,35 +26313,35 @@
 
 
     // $ANTLR start "rule__FQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10044:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9762:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
     public final void rule__FQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10048:1: ( ( ( rule__FQN__Group_1__0 )* ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10049:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9766:1: ( ( ( rule__FQN__Group_1__0 )* ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9767:1: ( ( rule__FQN__Group_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10049:1: ( ( rule__FQN__Group_1__0 )* )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10050:1: ( rule__FQN__Group_1__0 )*
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9767:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9768:1: ( rule__FQN__Group_1__0 )*
             {
              before(grammarAccess.getFQNAccess().getGroup_1()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10051:1: ( rule__FQN__Group_1__0 )*
-            loop79:
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9769:1: ( rule__FQN__Group_1__0 )*
+            loop78:
             do {
-                int alt79=2;
-                int LA79_0 = input.LA(1);
+                int alt78=2;
+                int LA78_0 = input.LA(1);
 
-                if ( (LA79_0==66) ) {
-                    alt79=1;
+                if ( (LA78_0==67) ) {
+                    alt78=1;
                 }
 
 
-                switch (alt79) {
+                switch (alt78) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10051:2: rule__FQN__Group_1__0
+            	    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9769:2: rule__FQN__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl20180);
+            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl19627);
             	    rule__FQN__Group_1__0();
 
             	    state._fsp--;
@@ -26888,7 +26351,7 @@
             	    break;
 
             	default :
-            	    break loop79;
+            	    break loop78;
                 }
             } while (true);
 
@@ -26915,21 +26378,21 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10065:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9783:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
     public final void rule__FQN__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10069:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10070:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9787:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9788:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__020215);
+            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__019662);
             rule__FQN__Group_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__020218);
+            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__019665);
             rule__FQN__Group_1__1();
 
             state._fsp--;
@@ -26953,20 +26416,20 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10077:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9795:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
     public final void rule__FQN__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10081:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10082:1: ( '.' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9799:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9800:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10082:1: ( '.' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10083:1: '.'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9800:1: ( '.' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9801:1: '.'
             {
              before(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
-            match(input,66,FOLLOW_66_in_rule__FQN__Group_1__0__Impl20246); 
+            match(input,67,FOLLOW_67_in_rule__FQN__Group_1__0__Impl19693); 
              after(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
 
             }
@@ -26990,16 +26453,16 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10096:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9814:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
     public final void rule__FQN__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10100:1: ( rule__FQN__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10101:2: rule__FQN__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9818:1: ( rule__FQN__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9819:2: rule__FQN__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__120277);
+            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__119724);
             rule__FQN__Group_1__1__Impl();
 
             state._fsp--;
@@ -27023,20 +26486,20 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10107:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9825:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10111:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10112:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9829:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9830:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10112:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10113:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9830:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9831:1: RULE_ID
             {
              before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl20304); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl19751); 
              after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
 
             }
@@ -27060,31 +26523,31 @@
 
 
     // $ANTLR start "rule__ModelComponent__UnorderedGroup_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10129:1: rule__ModelComponent__UnorderedGroup_0 : ( rule__ModelComponent__UnorderedGroup_0__0 )? ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9847:1: rule__ModelComponent__UnorderedGroup_0 : ( rule__ModelComponent__UnorderedGroup_0__0 )? ;
     public final void rule__ModelComponent__UnorderedGroup_0() throws RecognitionException {
 
             	int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getModelComponentAccess().getUnorderedGroup_0());
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10134:1: ( ( rule__ModelComponent__UnorderedGroup_0__0 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10135:2: ( rule__ModelComponent__UnorderedGroup_0__0 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9852:1: ( ( rule__ModelComponent__UnorderedGroup_0__0 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9853:2: ( rule__ModelComponent__UnorderedGroup_0__0 )?
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10135:2: ( rule__ModelComponent__UnorderedGroup_0__0 )?
-            int alt80=2;
-            int LA80_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9853:2: ( rule__ModelComponent__UnorderedGroup_0__0 )?
+            int alt79=2;
+            int LA79_0 = input.LA(1);
 
-            if ( LA80_0 ==67 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 0) ) {
-                alt80=1;
+            if ( LA79_0 ==68 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 0) ) {
+                alt79=1;
             }
-            else if ( LA80_0 >=17 && LA80_0<=20 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 1) ) {
-                alt80=1;
+            else if ( LA79_0 >=18 && LA79_0<=21 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 1) ) {
+                alt79=1;
             }
-            switch (alt80) {
+            switch (alt79) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10135:2: rule__ModelComponent__UnorderedGroup_0__0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9853:2: rule__ModelComponent__UnorderedGroup_0__0
                     {
-                    pushFollow(FOLLOW_rule__ModelComponent__UnorderedGroup_0__0_in_rule__ModelComponent__UnorderedGroup_020338);
+                    pushFollow(FOLLOW_rule__ModelComponent__UnorderedGroup_0__0_in_rule__ModelComponent__UnorderedGroup_019785);
                     rule__ModelComponent__UnorderedGroup_0__0();
 
                     state._fsp--;
@@ -27115,44 +26578,44 @@
 
 
     // $ANTLR start "rule__ModelComponent__UnorderedGroup_0__Impl"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10145:1: rule__ModelComponent__UnorderedGroup_0__Impl : ( ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9863:1: rule__ModelComponent__UnorderedGroup_0__Impl : ( ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) ) ) ;
     public final void rule__ModelComponent__UnorderedGroup_0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10150:1: ( ( ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10151:3: ( ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9868:1: ( ( ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9869:3: ( ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10151:3: ( ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) ) )
-            int alt81=2;
-            int LA81_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9869:3: ( ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) ) )
+            int alt80=2;
+            int LA80_0 = input.LA(1);
 
-            if ( LA81_0 ==67 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 0) ) {
-                alt81=1;
+            if ( LA80_0 ==68 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 0) ) {
+                alt80=1;
             }
-            else if ( LA81_0 >=17 && LA81_0<=20 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 1) ) {
-                alt81=2;
+            else if ( LA80_0 >=18 && LA80_0<=21 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 1) ) {
+                alt80=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 81, 0, input);
+                    new NoViableAltException("", 80, 0, input);
 
                 throw nvae;
             }
-            switch (alt81) {
+            switch (alt80) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10153:4: ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9871:4: ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10153:4: ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10154:5: {...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9871:4: ({...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9872:5: {...}? => ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 0) ) {
                         throw new FailedPredicateException(input, "rule__ModelComponent__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 0)");
                     }
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10154:111: ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10155:6: ( ( rule__ModelComponent__AbstractAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9872:111: ( ( ( rule__ModelComponent__AbstractAssignment_0_0 ) ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9873:6: ( ( rule__ModelComponent__AbstractAssignment_0_0 ) )
                     {
                      
                     	 				  getUnorderedGroupHelper().select(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 0);
@@ -27160,14 +26623,14 @@
 
                     	 				  selected = true;
                     	 				
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10161:6: ( ( rule__ModelComponent__AbstractAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10163:7: ( rule__ModelComponent__AbstractAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9879:6: ( ( rule__ModelComponent__AbstractAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9881:7: ( rule__ModelComponent__AbstractAssignment_0_0 )
                     {
                      before(grammarAccess.getModelComponentAccess().getAbstractAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10164:7: ( rule__ModelComponent__AbstractAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10164:8: rule__ModelComponent__AbstractAssignment_0_0
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9882:7: ( rule__ModelComponent__AbstractAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9882:8: rule__ModelComponent__AbstractAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__ModelComponent__AbstractAssignment_0_0_in_rule__ModelComponent__UnorderedGroup_0__Impl20425);
+                    pushFollow(FOLLOW_rule__ModelComponent__AbstractAssignment_0_0_in_rule__ModelComponent__UnorderedGroup_0__Impl19872);
                     rule__ModelComponent__AbstractAssignment_0_0();
 
                     state._fsp--;
@@ -27189,16 +26652,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10170:4: ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9888:4: ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10170:4: ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10171:5: {...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9888:4: ({...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9889:5: {...}? => ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 1) ) {
                         throw new FailedPredicateException(input, "rule__ModelComponent__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 1)");
                     }
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10171:111: ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10172:6: ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9889:111: ( ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9890:6: ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) )
                     {
                      
                     	 				  getUnorderedGroupHelper().select(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 1);
@@ -27206,14 +26669,14 @@
 
                     	 				  selected = true;
                     	 				
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10178:6: ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10180:7: ( rule__ModelComponent__CommTypeAssignment_0_1 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9896:6: ( ( rule__ModelComponent__CommTypeAssignment_0_1 ) )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9898:7: ( rule__ModelComponent__CommTypeAssignment_0_1 )
                     {
                      before(grammarAccess.getModelComponentAccess().getCommTypeAssignment_0_1()); 
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10181:7: ( rule__ModelComponent__CommTypeAssignment_0_1 )
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10181:8: rule__ModelComponent__CommTypeAssignment_0_1
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9899:7: ( rule__ModelComponent__CommTypeAssignment_0_1 )
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9899:8: rule__ModelComponent__CommTypeAssignment_0_1
                     {
-                    pushFollow(FOLLOW_rule__ModelComponent__CommTypeAssignment_0_1_in_rule__ModelComponent__UnorderedGroup_0__Impl20516);
+                    pushFollow(FOLLOW_rule__ModelComponent__CommTypeAssignment_0_1_in_rule__ModelComponent__UnorderedGroup_0__Impl19963);
                     rule__ModelComponent__CommTypeAssignment_0_1();
 
                     state._fsp--;
@@ -27258,35 +26721,35 @@
 
 
     // $ANTLR start "rule__ModelComponent__UnorderedGroup_0__0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10196:1: rule__ModelComponent__UnorderedGroup_0__0 : rule__ModelComponent__UnorderedGroup_0__Impl ( rule__ModelComponent__UnorderedGroup_0__1 )? ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9914:1: rule__ModelComponent__UnorderedGroup_0__0 : rule__ModelComponent__UnorderedGroup_0__Impl ( rule__ModelComponent__UnorderedGroup_0__1 )? ;
     public final void rule__ModelComponent__UnorderedGroup_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10200:1: ( rule__ModelComponent__UnorderedGroup_0__Impl ( rule__ModelComponent__UnorderedGroup_0__1 )? )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10201:2: rule__ModelComponent__UnorderedGroup_0__Impl ( rule__ModelComponent__UnorderedGroup_0__1 )?
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9918:1: ( rule__ModelComponent__UnorderedGroup_0__Impl ( rule__ModelComponent__UnorderedGroup_0__1 )? )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9919:2: rule__ModelComponent__UnorderedGroup_0__Impl ( rule__ModelComponent__UnorderedGroup_0__1 )?
             {
-            pushFollow(FOLLOW_rule__ModelComponent__UnorderedGroup_0__Impl_in_rule__ModelComponent__UnorderedGroup_0__020575);
+            pushFollow(FOLLOW_rule__ModelComponent__UnorderedGroup_0__Impl_in_rule__ModelComponent__UnorderedGroup_0__020022);
             rule__ModelComponent__UnorderedGroup_0__Impl();
 
             state._fsp--;
 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10202:2: ( rule__ModelComponent__UnorderedGroup_0__1 )?
-            int alt82=2;
-            int LA82_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9920:2: ( rule__ModelComponent__UnorderedGroup_0__1 )?
+            int alt81=2;
+            int LA81_0 = input.LA(1);
 
-            if ( LA82_0 ==67 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 0) ) {
-                alt82=1;
+            if ( LA81_0 ==68 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 0) ) {
+                alt81=1;
             }
-            else if ( LA82_0 >=17 && LA82_0<=20 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 1) ) {
-                alt82=1;
+            else if ( LA81_0 >=18 && LA81_0<=21 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 1) ) {
+                alt81=1;
             }
-            switch (alt82) {
+            switch (alt81) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10202:2: rule__ModelComponent__UnorderedGroup_0__1
+                    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9920:2: rule__ModelComponent__UnorderedGroup_0__1
                     {
-                    pushFollow(FOLLOW_rule__ModelComponent__UnorderedGroup_0__1_in_rule__ModelComponent__UnorderedGroup_0__020578);
+                    pushFollow(FOLLOW_rule__ModelComponent__UnorderedGroup_0__1_in_rule__ModelComponent__UnorderedGroup_0__020025);
                     rule__ModelComponent__UnorderedGroup_0__1();
 
                     state._fsp--;
@@ -27316,16 +26779,16 @@
 
 
     // $ANTLR start "rule__ModelComponent__UnorderedGroup_0__1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10209:1: rule__ModelComponent__UnorderedGroup_0__1 : rule__ModelComponent__UnorderedGroup_0__Impl ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9927:1: rule__ModelComponent__UnorderedGroup_0__1 : rule__ModelComponent__UnorderedGroup_0__Impl ;
     public final void rule__ModelComponent__UnorderedGroup_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10213:1: ( rule__ModelComponent__UnorderedGroup_0__Impl )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10214:2: rule__ModelComponent__UnorderedGroup_0__Impl
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9931:1: ( rule__ModelComponent__UnorderedGroup_0__Impl )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9932:2: rule__ModelComponent__UnorderedGroup_0__Impl
             {
-            pushFollow(FOLLOW_rule__ModelComponent__UnorderedGroup_0__Impl_in_rule__ModelComponent__UnorderedGroup_0__120603);
+            pushFollow(FOLLOW_rule__ModelComponent__UnorderedGroup_0__Impl_in_rule__ModelComponent__UnorderedGroup_0__120050);
             rule__ModelComponent__UnorderedGroup_0__Impl();
 
             state._fsp--;
@@ -27349,20 +26812,20 @@
 
 
     // $ANTLR start "rule__FSMModel__ComponentsAssignment"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10225:1: rule__FSMModel__ComponentsAssignment : ( ruleModelComponent ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9943:1: rule__FSMModel__ComponentsAssignment : ( ruleModelComponent ) ;
     public final void rule__FSMModel__ComponentsAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10229:1: ( ( ruleModelComponent ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10230:1: ( ruleModelComponent )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9947:1: ( ( ruleModelComponent ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9948:1: ( ruleModelComponent )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10230:1: ( ruleModelComponent )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10231:1: ruleModelComponent
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9948:1: ( ruleModelComponent )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9949:1: ruleModelComponent
             {
              before(grammarAccess.getFSMModelAccess().getComponentsModelComponentParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleModelComponent_in_rule__FSMModel__ComponentsAssignment20635);
+            pushFollow(FOLLOW_ruleModelComponent_in_rule__FSMModel__ComponentsAssignment20082);
             ruleModelComponent();
 
             state._fsp--;
@@ -27390,24 +26853,24 @@
 
 
     // $ANTLR start "rule__ModelComponent__AbstractAssignment_0_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10240:1: rule__ModelComponent__AbstractAssignment_0_0 : ( ( 'abstract' ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9958:1: rule__ModelComponent__AbstractAssignment_0_0 : ( ( 'abstract' ) ) ;
     public final void rule__ModelComponent__AbstractAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10244:1: ( ( ( 'abstract' ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10245:1: ( ( 'abstract' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9962:1: ( ( ( 'abstract' ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9963:1: ( ( 'abstract' ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10245:1: ( ( 'abstract' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10246:1: ( 'abstract' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9963:1: ( ( 'abstract' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9964:1: ( 'abstract' )
             {
              before(grammarAccess.getModelComponentAccess().getAbstractAbstractKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10247:1: ( 'abstract' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10248:1: 'abstract'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9965:1: ( 'abstract' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9966:1: 'abstract'
             {
              before(grammarAccess.getModelComponentAccess().getAbstractAbstractKeyword_0_0_0()); 
-            match(input,67,FOLLOW_67_in_rule__ModelComponent__AbstractAssignment_0_020671); 
+            match(input,68,FOLLOW_68_in_rule__ModelComponent__AbstractAssignment_0_020118); 
              after(grammarAccess.getModelComponentAccess().getAbstractAbstractKeyword_0_0_0()); 
 
             }
@@ -27435,20 +26898,20 @@
 
 
     // $ANTLR start "rule__ModelComponent__CommTypeAssignment_0_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10263:1: rule__ModelComponent__CommTypeAssignment_0_1 : ( ruleComponentCommunicationType ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9981:1: rule__ModelComponent__CommTypeAssignment_0_1 : ( ruleComponentCommunicationType ) ;
     public final void rule__ModelComponent__CommTypeAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10267:1: ( ( ruleComponentCommunicationType ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10268:1: ( ruleComponentCommunicationType )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9985:1: ( ( ruleComponentCommunicationType ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9986:1: ( ruleComponentCommunicationType )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10268:1: ( ruleComponentCommunicationType )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10269:1: ruleComponentCommunicationType
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9986:1: ( ruleComponentCommunicationType )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9987:1: ruleComponentCommunicationType
             {
              before(grammarAccess.getModelComponentAccess().getCommTypeComponentCommunicationTypeEnumRuleCall_0_1_0()); 
-            pushFollow(FOLLOW_ruleComponentCommunicationType_in_rule__ModelComponent__CommTypeAssignment_0_120710);
+            pushFollow(FOLLOW_ruleComponentCommunicationType_in_rule__ModelComponent__CommTypeAssignment_0_120157);
             ruleComponentCommunicationType();
 
             state._fsp--;
@@ -27476,20 +26939,20 @@
 
 
     // $ANTLR start "rule__ModelComponent__ComponentNameAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10278:1: rule__ModelComponent__ComponentNameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:9996:1: rule__ModelComponent__ComponentNameAssignment_2 : ( RULE_ID ) ;
     public final void rule__ModelComponent__ComponentNameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10282:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10283:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10000:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10001:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10283:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10284:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10001:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10002:1: RULE_ID
             {
              before(grammarAccess.getModelComponentAccess().getComponentNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ModelComponent__ComponentNameAssignment_220741); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ModelComponent__ComponentNameAssignment_220188); 
              after(grammarAccess.getModelComponentAccess().getComponentNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -27513,24 +26976,24 @@
 
 
     // $ANTLR start "rule__ModelComponent__BaseAssignment_3_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10293:1: rule__ModelComponent__BaseAssignment_3_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10011:1: rule__ModelComponent__BaseAssignment_3_1 : ( ( ruleFQN ) ) ;
     public final void rule__ModelComponent__BaseAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10297:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10298:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10015:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10016:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10298:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10299:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10016:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10017:1: ( ruleFQN )
             {
              before(grammarAccess.getModelComponentAccess().getBaseModelComponentCrossReference_3_1_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10300:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10301:1: ruleFQN
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10018:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10019:1: ruleFQN
             {
              before(grammarAccess.getModelComponentAccess().getBaseModelComponentFQNParserRuleCall_3_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__ModelComponent__BaseAssignment_3_120776);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ModelComponent__BaseAssignment_3_120223);
             ruleFQN();
 
             state._fsp--;
@@ -27562,20 +27025,20 @@
 
 
     // $ANTLR start "rule__ModelComponent__StateMachineAssignment_4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10312:1: rule__ModelComponent__StateMachineAssignment_4 : ( ruleStateMachine ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10030:1: rule__ModelComponent__StateMachineAssignment_4 : ( ruleStateMachine ) ;
     public final void rule__ModelComponent__StateMachineAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10316:1: ( ( ruleStateMachine ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10317:1: ( ruleStateMachine )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10034:1: ( ( ruleStateMachine ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10035:1: ( ruleStateMachine )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10317:1: ( ruleStateMachine )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10318:1: ruleStateMachine
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10035:1: ( ruleStateMachine )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10036:1: ruleStateMachine
             {
              before(grammarAccess.getModelComponentAccess().getStateMachineStateMachineParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleStateMachine_in_rule__ModelComponent__StateMachineAssignment_420811);
+            pushFollow(FOLLOW_ruleStateMachine_in_rule__ModelComponent__StateMachineAssignment_420258);
             ruleStateMachine();
 
             state._fsp--;
@@ -27603,20 +27066,20 @@
 
 
     // $ANTLR start "rule__StateGraph__StatesAssignment_2_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10327:1: rule__StateGraph__StatesAssignment_2_0 : ( ruleState ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10045:1: rule__StateGraph__StatesAssignment_2_0 : ( ruleState ) ;
     public final void rule__StateGraph__StatesAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10331:1: ( ( ruleState ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10332:1: ( ruleState )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10049:1: ( ( ruleState ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10050:1: ( ruleState )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10332:1: ( ruleState )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10333:1: ruleState
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10050:1: ( ruleState )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10051:1: ruleState
             {
              before(grammarAccess.getStateGraphAccess().getStatesStateParserRuleCall_2_0_0()); 
-            pushFollow(FOLLOW_ruleState_in_rule__StateGraph__StatesAssignment_2_020842);
+            pushFollow(FOLLOW_ruleState_in_rule__StateGraph__StatesAssignment_2_020289);
             ruleState();
 
             state._fsp--;
@@ -27644,20 +27107,20 @@
 
 
     // $ANTLR start "rule__StateGraph__TrPointsAssignment_2_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10342:1: rule__StateGraph__TrPointsAssignment_2_1 : ( ruleTrPoint ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10060:1: rule__StateGraph__TrPointsAssignment_2_1 : ( ruleTrPoint ) ;
     public final void rule__StateGraph__TrPointsAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10346:1: ( ( ruleTrPoint ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10347:1: ( ruleTrPoint )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10064:1: ( ( ruleTrPoint ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10065:1: ( ruleTrPoint )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10347:1: ( ruleTrPoint )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10348:1: ruleTrPoint
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10065:1: ( ruleTrPoint )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10066:1: ruleTrPoint
             {
              before(grammarAccess.getStateGraphAccess().getTrPointsTrPointParserRuleCall_2_1_0()); 
-            pushFollow(FOLLOW_ruleTrPoint_in_rule__StateGraph__TrPointsAssignment_2_120873);
+            pushFollow(FOLLOW_ruleTrPoint_in_rule__StateGraph__TrPointsAssignment_2_120320);
             ruleTrPoint();
 
             state._fsp--;
@@ -27685,20 +27148,20 @@
 
 
     // $ANTLR start "rule__StateGraph__ChPointsAssignment_2_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10357:1: rule__StateGraph__ChPointsAssignment_2_2 : ( ruleChoicePoint ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10075:1: rule__StateGraph__ChPointsAssignment_2_2 : ( ruleChoicePoint ) ;
     public final void rule__StateGraph__ChPointsAssignment_2_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10361:1: ( ( ruleChoicePoint ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10362:1: ( ruleChoicePoint )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10079:1: ( ( ruleChoicePoint ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10080:1: ( ruleChoicePoint )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10362:1: ( ruleChoicePoint )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10363:1: ruleChoicePoint
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10080:1: ( ruleChoicePoint )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10081:1: ruleChoicePoint
             {
              before(grammarAccess.getStateGraphAccess().getChPointsChoicePointParserRuleCall_2_2_0()); 
-            pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateGraph__ChPointsAssignment_2_220904);
+            pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateGraph__ChPointsAssignment_2_220351);
             ruleChoicePoint();
 
             state._fsp--;
@@ -27726,20 +27189,20 @@
 
 
     // $ANTLR start "rule__StateGraph__TransitionsAssignment_2_3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10372:1: rule__StateGraph__TransitionsAssignment_2_3 : ( ruleTransition ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10090:1: rule__StateGraph__TransitionsAssignment_2_3 : ( ruleTransition ) ;
     public final void rule__StateGraph__TransitionsAssignment_2_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10376:1: ( ( ruleTransition ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10377:1: ( ruleTransition )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10094:1: ( ( ruleTransition ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10095:1: ( ruleTransition )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10377:1: ( ruleTransition )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10378:1: ruleTransition
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10095:1: ( ruleTransition )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10096:1: ruleTransition
             {
              before(grammarAccess.getStateGraphAccess().getTransitionsTransitionParserRuleCall_2_3_0()); 
-            pushFollow(FOLLOW_ruleTransition_in_rule__StateGraph__TransitionsAssignment_2_320935);
+            pushFollow(FOLLOW_ruleTransition_in_rule__StateGraph__TransitionsAssignment_2_320382);
             ruleTransition();
 
             state._fsp--;
@@ -27767,20 +27230,20 @@
 
 
     // $ANTLR start "rule__StateGraph__RefinedTransitionsAssignment_2_4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10387:1: rule__StateGraph__RefinedTransitionsAssignment_2_4 : ( ruleRefinedTransition ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10105:1: rule__StateGraph__RefinedTransitionsAssignment_2_4 : ( ruleRefinedTransition ) ;
     public final void rule__StateGraph__RefinedTransitionsAssignment_2_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10391:1: ( ( ruleRefinedTransition ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10392:1: ( ruleRefinedTransition )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10109:1: ( ( ruleRefinedTransition ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10110:1: ( ruleRefinedTransition )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10392:1: ( ruleRefinedTransition )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10393:1: ruleRefinedTransition
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10110:1: ( ruleRefinedTransition )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10111:1: ruleRefinedTransition
             {
              before(grammarAccess.getStateGraphAccess().getRefinedTransitionsRefinedTransitionParserRuleCall_2_4_0()); 
-            pushFollow(FOLLOW_ruleRefinedTransition_in_rule__StateGraph__RefinedTransitionsAssignment_2_420966);
+            pushFollow(FOLLOW_ruleRefinedTransition_in_rule__StateGraph__RefinedTransitionsAssignment_2_420413);
             ruleRefinedTransition();
 
             state._fsp--;
@@ -27808,20 +27271,20 @@
 
 
     // $ANTLR start "rule__StateMachine__StatesAssignment_3_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10402:1: rule__StateMachine__StatesAssignment_3_0 : ( ruleState ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10120:1: rule__StateMachine__StatesAssignment_3_0 : ( ruleState ) ;
     public final void rule__StateMachine__StatesAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10406:1: ( ( ruleState ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10407:1: ( ruleState )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10124:1: ( ( ruleState ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10125:1: ( ruleState )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10407:1: ( ruleState )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10408:1: ruleState
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10125:1: ( ruleState )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10126:1: ruleState
             {
              before(grammarAccess.getStateMachineAccess().getStatesStateParserRuleCall_3_0_0()); 
-            pushFollow(FOLLOW_ruleState_in_rule__StateMachine__StatesAssignment_3_020997);
+            pushFollow(FOLLOW_ruleState_in_rule__StateMachine__StatesAssignment_3_020444);
             ruleState();
 
             state._fsp--;
@@ -27849,20 +27312,20 @@
 
 
     // $ANTLR start "rule__StateMachine__TrPointsAssignment_3_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10417:1: rule__StateMachine__TrPointsAssignment_3_1 : ( ruleTrPoint ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10135:1: rule__StateMachine__TrPointsAssignment_3_1 : ( ruleTrPoint ) ;
     public final void rule__StateMachine__TrPointsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10421:1: ( ( ruleTrPoint ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10422:1: ( ruleTrPoint )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10139:1: ( ( ruleTrPoint ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10140:1: ( ruleTrPoint )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10422:1: ( ruleTrPoint )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10423:1: ruleTrPoint
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10140:1: ( ruleTrPoint )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10141:1: ruleTrPoint
             {
              before(grammarAccess.getStateMachineAccess().getTrPointsTrPointParserRuleCall_3_1_0()); 
-            pushFollow(FOLLOW_ruleTrPoint_in_rule__StateMachine__TrPointsAssignment_3_121028);
+            pushFollow(FOLLOW_ruleTrPoint_in_rule__StateMachine__TrPointsAssignment_3_120475);
             ruleTrPoint();
 
             state._fsp--;
@@ -27890,20 +27353,20 @@
 
 
     // $ANTLR start "rule__StateMachine__ChPointsAssignment_3_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10432:1: rule__StateMachine__ChPointsAssignment_3_2 : ( ruleChoicePoint ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10150:1: rule__StateMachine__ChPointsAssignment_3_2 : ( ruleChoicePoint ) ;
     public final void rule__StateMachine__ChPointsAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10436:1: ( ( ruleChoicePoint ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10437:1: ( ruleChoicePoint )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10154:1: ( ( ruleChoicePoint ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10155:1: ( ruleChoicePoint )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10437:1: ( ruleChoicePoint )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10438:1: ruleChoicePoint
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10155:1: ( ruleChoicePoint )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10156:1: ruleChoicePoint
             {
              before(grammarAccess.getStateMachineAccess().getChPointsChoicePointParserRuleCall_3_2_0()); 
-            pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateMachine__ChPointsAssignment_3_221059);
+            pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateMachine__ChPointsAssignment_3_220506);
             ruleChoicePoint();
 
             state._fsp--;
@@ -27931,20 +27394,20 @@
 
 
     // $ANTLR start "rule__StateMachine__TransitionsAssignment_3_3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10447:1: rule__StateMachine__TransitionsAssignment_3_3 : ( ruleTransition ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10165:1: rule__StateMachine__TransitionsAssignment_3_3 : ( ruleTransition ) ;
     public final void rule__StateMachine__TransitionsAssignment_3_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10451:1: ( ( ruleTransition ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10452:1: ( ruleTransition )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10169:1: ( ( ruleTransition ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10170:1: ( ruleTransition )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10452:1: ( ruleTransition )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10453:1: ruleTransition
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10170:1: ( ruleTransition )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10171:1: ruleTransition
             {
              before(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_3_3_0()); 
-            pushFollow(FOLLOW_ruleTransition_in_rule__StateMachine__TransitionsAssignment_3_321090);
+            pushFollow(FOLLOW_ruleTransition_in_rule__StateMachine__TransitionsAssignment_3_320537);
             ruleTransition();
 
             state._fsp--;
@@ -27972,20 +27435,20 @@
 
 
     // $ANTLR start "rule__StateMachine__RefinedTransitionsAssignment_3_4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10462:1: rule__StateMachine__RefinedTransitionsAssignment_3_4 : ( ruleRefinedTransition ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10180:1: rule__StateMachine__RefinedTransitionsAssignment_3_4 : ( ruleRefinedTransition ) ;
     public final void rule__StateMachine__RefinedTransitionsAssignment_3_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10466:1: ( ( ruleRefinedTransition ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10467:1: ( ruleRefinedTransition )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10184:1: ( ( ruleRefinedTransition ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10185:1: ( ruleRefinedTransition )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10467:1: ( ruleRefinedTransition )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10468:1: ruleRefinedTransition
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10185:1: ( ruleRefinedTransition )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10186:1: ruleRefinedTransition
             {
              before(grammarAccess.getStateMachineAccess().getRefinedTransitionsRefinedTransitionParserRuleCall_3_4_0()); 
-            pushFollow(FOLLOW_ruleRefinedTransition_in_rule__StateMachine__RefinedTransitionsAssignment_3_421121);
+            pushFollow(FOLLOW_ruleRefinedTransition_in_rule__StateMachine__RefinedTransitionsAssignment_3_420568);
             ruleRefinedTransition();
 
             state._fsp--;
@@ -28013,20 +27476,20 @@
 
 
     // $ANTLR start "rule__SimpleState__NameAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10477:1: rule__SimpleState__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10195:1: rule__SimpleState__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__SimpleState__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10481:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10482:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10199:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10200:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10482:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10483:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10200:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10201:1: RULE_ID
             {
              before(grammarAccess.getSimpleStateAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleState__NameAssignment_121152); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleState__NameAssignment_120599); 
              after(grammarAccess.getSimpleStateAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -28050,20 +27513,20 @@
 
 
     // $ANTLR start "rule__SimpleState__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10492:1: rule__SimpleState__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10210:1: rule__SimpleState__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__SimpleState__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10496:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10497:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10214:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10215:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10497:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10498:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10215:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10216:1: ruleDocumentation
             {
              before(grammarAccess.getSimpleStateAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__SimpleState__DocuAssignment_221183);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__SimpleState__DocuAssignment_220630);
             ruleDocumentation();
 
             state._fsp--;
@@ -28091,20 +27554,20 @@
 
 
     // $ANTLR start "rule__SimpleState__EntryCodeAssignment_3_1_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10507:1: rule__SimpleState__EntryCodeAssignment_3_1_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10225:1: rule__SimpleState__EntryCodeAssignment_3_1_1 : ( ruleDetailCode ) ;
     public final void rule__SimpleState__EntryCodeAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10511:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10512:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10229:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10230:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10512:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10513:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10230:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10231:1: ruleDetailCode
             {
              before(grammarAccess.getSimpleStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__EntryCodeAssignment_3_1_121214);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__EntryCodeAssignment_3_1_120661);
             ruleDetailCode();
 
             state._fsp--;
@@ -28132,20 +27595,20 @@
 
 
     // $ANTLR start "rule__SimpleState__ExitCodeAssignment_3_2_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10522:1: rule__SimpleState__ExitCodeAssignment_3_2_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10240:1: rule__SimpleState__ExitCodeAssignment_3_2_1 : ( ruleDetailCode ) ;
     public final void rule__SimpleState__ExitCodeAssignment_3_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10526:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10527:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10244:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10245:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10527:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10528:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10245:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10246:1: ruleDetailCode
             {
              before(grammarAccess.getSimpleStateAccess().getExitCodeDetailCodeParserRuleCall_3_2_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__ExitCodeAssignment_3_2_121245);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__ExitCodeAssignment_3_2_120692);
             ruleDetailCode();
 
             state._fsp--;
@@ -28173,20 +27636,20 @@
 
 
     // $ANTLR start "rule__SimpleState__DoCodeAssignment_3_3_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10537:1: rule__SimpleState__DoCodeAssignment_3_3_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10255:1: rule__SimpleState__DoCodeAssignment_3_3_1 : ( ruleDetailCode ) ;
     public final void rule__SimpleState__DoCodeAssignment_3_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10541:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10542:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10259:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10260:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10542:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10543:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10260:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10261:1: ruleDetailCode
             {
              before(grammarAccess.getSimpleStateAccess().getDoCodeDetailCodeParserRuleCall_3_3_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__DoCodeAssignment_3_3_121276);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__DoCodeAssignment_3_3_120723);
             ruleDetailCode();
 
             state._fsp--;
@@ -28214,20 +27677,20 @@
 
 
     // $ANTLR start "rule__SimpleState__SubgraphAssignment_3_4_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10552:1: rule__SimpleState__SubgraphAssignment_3_4_1 : ( ruleStateGraph ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10270:1: rule__SimpleState__SubgraphAssignment_3_4_1 : ( ruleStateGraph ) ;
     public final void rule__SimpleState__SubgraphAssignment_3_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10556:1: ( ( ruleStateGraph ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10557:1: ( ruleStateGraph )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10274:1: ( ( ruleStateGraph ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10275:1: ( ruleStateGraph )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10557:1: ( ruleStateGraph )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10558:1: ruleStateGraph
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10275:1: ( ruleStateGraph )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10276:1: ruleStateGraph
             {
              before(grammarAccess.getSimpleStateAccess().getSubgraphStateGraphParserRuleCall_3_4_1_0()); 
-            pushFollow(FOLLOW_ruleStateGraph_in_rule__SimpleState__SubgraphAssignment_3_4_121307);
+            pushFollow(FOLLOW_ruleStateGraph_in_rule__SimpleState__SubgraphAssignment_3_4_120754);
             ruleStateGraph();
 
             state._fsp--;
@@ -28255,24 +27718,24 @@
 
 
     // $ANTLR start "rule__RefinedState__TargetAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10567:1: rule__RefinedState__TargetAssignment_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10285:1: rule__RefinedState__TargetAssignment_1 : ( ( ruleFQN ) ) ;
     public final void rule__RefinedState__TargetAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10571:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10572:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10289:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10290:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10572:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10573:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10290:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10291:1: ( ruleFQN )
             {
              before(grammarAccess.getRefinedStateAccess().getTargetStateCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10574:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10575:1: ruleFQN
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10292:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10293:1: ruleFQN
             {
              before(grammarAccess.getRefinedStateAccess().getTargetStateFQNParserRuleCall_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__RefinedState__TargetAssignment_121342);
+            pushFollow(FOLLOW_ruleFQN_in_rule__RefinedState__TargetAssignment_120789);
             ruleFQN();
 
             state._fsp--;
@@ -28304,20 +27767,20 @@
 
 
     // $ANTLR start "rule__RefinedState__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10586:1: rule__RefinedState__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10304:1: rule__RefinedState__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__RefinedState__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10590:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10591:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10308:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10309:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10591:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10592:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10309:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10310:1: ruleDocumentation
             {
              before(grammarAccess.getRefinedStateAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__RefinedState__DocuAssignment_221377);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__RefinedState__DocuAssignment_220824);
             ruleDocumentation();
 
             state._fsp--;
@@ -28345,20 +27808,20 @@
 
 
     // $ANTLR start "rule__RefinedState__EntryCodeAssignment_4_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10601:1: rule__RefinedState__EntryCodeAssignment_4_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10319:1: rule__RefinedState__EntryCodeAssignment_4_1 : ( ruleDetailCode ) ;
     public final void rule__RefinedState__EntryCodeAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10605:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10606:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10323:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10324:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10606:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10607:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10324:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10325:1: ruleDetailCode
             {
              before(grammarAccess.getRefinedStateAccess().getEntryCodeDetailCodeParserRuleCall_4_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__EntryCodeAssignment_4_121408);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__EntryCodeAssignment_4_120855);
             ruleDetailCode();
 
             state._fsp--;
@@ -28386,20 +27849,20 @@
 
 
     // $ANTLR start "rule__RefinedState__ExitCodeAssignment_5_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10616:1: rule__RefinedState__ExitCodeAssignment_5_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10334:1: rule__RefinedState__ExitCodeAssignment_5_1 : ( ruleDetailCode ) ;
     public final void rule__RefinedState__ExitCodeAssignment_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10620:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10621:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10338:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10339:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10621:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10622:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10339:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10340:1: ruleDetailCode
             {
              before(grammarAccess.getRefinedStateAccess().getExitCodeDetailCodeParserRuleCall_5_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__ExitCodeAssignment_5_121439);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__ExitCodeAssignment_5_120886);
             ruleDetailCode();
 
             state._fsp--;
@@ -28427,20 +27890,20 @@
 
 
     // $ANTLR start "rule__RefinedState__DoCodeAssignment_6_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10631:1: rule__RefinedState__DoCodeAssignment_6_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10349:1: rule__RefinedState__DoCodeAssignment_6_1 : ( ruleDetailCode ) ;
     public final void rule__RefinedState__DoCodeAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10635:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10636:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10353:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10354:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10636:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10637:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10354:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10355:1: ruleDetailCode
             {
              before(grammarAccess.getRefinedStateAccess().getDoCodeDetailCodeParserRuleCall_6_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__DoCodeAssignment_6_121470);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__DoCodeAssignment_6_120917);
             ruleDetailCode();
 
             state._fsp--;
@@ -28468,20 +27931,20 @@
 
 
     // $ANTLR start "rule__RefinedState__SubgraphAssignment_7_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10646:1: rule__RefinedState__SubgraphAssignment_7_1 : ( ruleStateGraph ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10364:1: rule__RefinedState__SubgraphAssignment_7_1 : ( ruleStateGraph ) ;
     public final void rule__RefinedState__SubgraphAssignment_7_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10650:1: ( ( ruleStateGraph ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10651:1: ( ruleStateGraph )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10368:1: ( ( ruleStateGraph ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10369:1: ( ruleStateGraph )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10651:1: ( ruleStateGraph )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10652:1: ruleStateGraph
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10369:1: ( ruleStateGraph )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10370:1: ruleStateGraph
             {
              before(grammarAccess.getRefinedStateAccess().getSubgraphStateGraphParserRuleCall_7_1_0()); 
-            pushFollow(FOLLOW_ruleStateGraph_in_rule__RefinedState__SubgraphAssignment_7_121501);
+            pushFollow(FOLLOW_ruleStateGraph_in_rule__RefinedState__SubgraphAssignment_7_120948);
             ruleStateGraph();
 
             state._fsp--;
@@ -28509,24 +27972,24 @@
 
 
     // $ANTLR start "rule__DetailCode__UsedAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10661:1: rule__DetailCode__UsedAssignment_1 : ( ( '{' ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10379:1: rule__DetailCode__UsedAssignment_1 : ( ( '{' ) ) ;
     public final void rule__DetailCode__UsedAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10665:1: ( ( ( '{' ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10666:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10383:1: ( ( ( '{' ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10384:1: ( ( '{' ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10666:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10667:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10384:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10385:1: ( '{' )
             {
              before(grammarAccess.getDetailCodeAccess().getUsedLeftCurlyBracketKeyword_1_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10668:1: ( '{' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10669:1: '{'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10386:1: ( '{' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10387:1: '{'
             {
              before(grammarAccess.getDetailCodeAccess().getUsedLeftCurlyBracketKeyword_1_0()); 
-            match(input,27,FOLLOW_27_in_rule__DetailCode__UsedAssignment_121537); 
+            match(input,28,FOLLOW_28_in_rule__DetailCode__UsedAssignment_120984); 
              after(grammarAccess.getDetailCodeAccess().getUsedLeftCurlyBracketKeyword_1_0()); 
 
             }
@@ -28554,20 +28017,20 @@
 
 
     // $ANTLR start "rule__DetailCode__LinesAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10684:1: rule__DetailCode__LinesAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10402:1: rule__DetailCode__LinesAssignment_2 : ( RULE_STRING ) ;
     public final void rule__DetailCode__LinesAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10688:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10689:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10406:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10407:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10689:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10690:1: RULE_STRING
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10407:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10408:1: RULE_STRING
             {
              before(grammarAccess.getDetailCodeAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__DetailCode__LinesAssignment_221576); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__DetailCode__LinesAssignment_221023); 
              after(grammarAccess.getDetailCodeAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
 
             }
@@ -28591,24 +28054,24 @@
 
 
     // $ANTLR start "rule__TransitionPoint__HandlerAssignment_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10699:1: rule__TransitionPoint__HandlerAssignment_0 : ( ( 'handler' ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10417:1: rule__TransitionPoint__HandlerAssignment_0 : ( ( 'handler' ) ) ;
     public final void rule__TransitionPoint__HandlerAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10703:1: ( ( ( 'handler' ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10704:1: ( ( 'handler' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10421:1: ( ( ( 'handler' ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10422:1: ( ( 'handler' ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10704:1: ( ( 'handler' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10705:1: ( 'handler' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10422:1: ( ( 'handler' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10423:1: ( 'handler' )
             {
              before(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10706:1: ( 'handler' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10707:1: 'handler'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10424:1: ( 'handler' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10425:1: 'handler'
             {
              before(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); 
-            match(input,68,FOLLOW_68_in_rule__TransitionPoint__HandlerAssignment_021612); 
+            match(input,69,FOLLOW_69_in_rule__TransitionPoint__HandlerAssignment_021059); 
              after(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); 
 
             }
@@ -28636,20 +28099,20 @@
 
 
     // $ANTLR start "rule__TransitionPoint__NameAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10722:1: rule__TransitionPoint__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10440:1: rule__TransitionPoint__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__TransitionPoint__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10726:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10727:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10444:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10445:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10727:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10728:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10445:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10446:1: RULE_ID
             {
              before(grammarAccess.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TransitionPoint__NameAssignment_221651); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TransitionPoint__NameAssignment_221098); 
              after(grammarAccess.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -28673,20 +28136,20 @@
 
 
     // $ANTLR start "rule__EntryPoint__NameAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10737:1: rule__EntryPoint__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10455:1: rule__EntryPoint__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__EntryPoint__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10741:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10742:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10459:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10460:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10742:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10743:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10460:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10461:1: RULE_ID
             {
              before(grammarAccess.getEntryPointAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EntryPoint__NameAssignment_121682); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EntryPoint__NameAssignment_121129); 
              after(grammarAccess.getEntryPointAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -28710,20 +28173,20 @@
 
 
     // $ANTLR start "rule__ExitPoint__NameAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10752:1: rule__ExitPoint__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10470:1: rule__ExitPoint__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__ExitPoint__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10756:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10757:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10474:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10475:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10757:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10758:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10475:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10476:1: RULE_ID
             {
              before(grammarAccess.getExitPointAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExitPoint__NameAssignment_121713); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExitPoint__NameAssignment_121160); 
              after(grammarAccess.getExitPointAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -28747,20 +28210,20 @@
 
 
     // $ANTLR start "rule__ChoicePoint__NameAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10767:1: rule__ChoicePoint__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10485:1: rule__ChoicePoint__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__ChoicePoint__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10771:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10772:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10489:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10490:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10772:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10773:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10490:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10491:1: RULE_ID
             {
              before(grammarAccess.getChoicePointAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ChoicePoint__NameAssignment_121744); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ChoicePoint__NameAssignment_121191); 
              after(grammarAccess.getChoicePointAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -28784,20 +28247,20 @@
 
 
     // $ANTLR start "rule__ChoicePoint__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10782:1: rule__ChoicePoint__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10500:1: rule__ChoicePoint__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__ChoicePoint__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10786:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10787:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10504:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10505:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10787:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10788:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10505:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10506:1: ruleDocumentation
             {
              before(grammarAccess.getChoicePointAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__ChoicePoint__DocuAssignment_221775);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__ChoicePoint__DocuAssignment_221222);
             ruleDocumentation();
 
             state._fsp--;
@@ -28825,20 +28288,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__NameAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10797:1: rule__InitialTransition__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10515:1: rule__InitialTransition__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__InitialTransition__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10801:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10802:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10519:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10520:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10802:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10803:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10520:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10521:1: RULE_ID
             {
              before(grammarAccess.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__InitialTransition__NameAssignment_121806); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__InitialTransition__NameAssignment_121253); 
              after(grammarAccess.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -28862,20 +28325,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__ToAssignment_5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10812:1: rule__InitialTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10530:1: rule__InitialTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
     public final void rule__InitialTransition__ToAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10816:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10817:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10534:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10535:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10817:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10818:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10535:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10536:1: ruleTransitionTerminal
             {
              before(grammarAccess.getInitialTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__InitialTransition__ToAssignment_521837);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__InitialTransition__ToAssignment_521284);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -28903,20 +28366,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10827:1: rule__InitialTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10545:1: rule__InitialTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__InitialTransition__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10831:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10832:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10549:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10550:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10832:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10833:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10550:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10551:1: ruleDocumentation
             {
              before(grammarAccess.getInitialTransitionAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__InitialTransition__DocuAssignment_621868);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__InitialTransition__DocuAssignment_621315);
             ruleDocumentation();
 
             state._fsp--;
@@ -28944,20 +28407,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__ActionAssignment_7_1_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10842:1: rule__InitialTransition__ActionAssignment_7_1_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10560:1: rule__InitialTransition__ActionAssignment_7_1_1 : ( ruleDetailCode ) ;
     public final void rule__InitialTransition__ActionAssignment_7_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10846:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10847:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10564:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10565:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10847:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10848:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10565:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10566:1: ruleDetailCode
             {
              before(grammarAccess.getInitialTransitionAccess().getActionDetailCodeParserRuleCall_7_1_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__InitialTransition__ActionAssignment_7_1_121899);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__InitialTransition__ActionAssignment_7_1_121346);
             ruleDetailCode();
 
             state._fsp--;
@@ -28985,20 +28448,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__NameAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10857:1: rule__ContinuationTransition__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10575:1: rule__ContinuationTransition__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__ContinuationTransition__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10861:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10862:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10579:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10580:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10862:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10863:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10580:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10581:1: RULE_ID
             {
              before(grammarAccess.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ContinuationTransition__NameAssignment_121930); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ContinuationTransition__NameAssignment_121377); 
              after(grammarAccess.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -29022,20 +28485,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__FromAssignment_3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10872:1: rule__ContinuationTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10590:1: rule__ContinuationTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
     public final void rule__ContinuationTransition__FromAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10876:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10877:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10594:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10595:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10877:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10878:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10595:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10596:1: ruleTransitionTerminal
             {
              before(grammarAccess.getContinuationTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__FromAssignment_321961);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__FromAssignment_321408);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -29063,20 +28526,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__ToAssignment_5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10887:1: rule__ContinuationTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10605:1: rule__ContinuationTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
     public final void rule__ContinuationTransition__ToAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10891:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10892:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10609:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10610:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10892:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10893:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10610:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10611:1: ruleTransitionTerminal
             {
              before(grammarAccess.getContinuationTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__ToAssignment_521992);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__ToAssignment_521439);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -29104,20 +28567,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10902:1: rule__ContinuationTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10620:1: rule__ContinuationTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__ContinuationTransition__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10906:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10907:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10624:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10625:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10907:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10908:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10625:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10626:1: ruleDocumentation
             {
              before(grammarAccess.getContinuationTransitionAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__ContinuationTransition__DocuAssignment_622023);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__ContinuationTransition__DocuAssignment_621470);
             ruleDocumentation();
 
             state._fsp--;
@@ -29145,20 +28608,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__ActionAssignment_7_1_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10917:1: rule__ContinuationTransition__ActionAssignment_7_1_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10635:1: rule__ContinuationTransition__ActionAssignment_7_1_1 : ( ruleDetailCode ) ;
     public final void rule__ContinuationTransition__ActionAssignment_7_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10921:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10922:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10639:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10640:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10922:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10923:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10640:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10641:1: ruleDetailCode
             {
              before(grammarAccess.getContinuationTransitionAccess().getActionDetailCodeParserRuleCall_7_1_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__ContinuationTransition__ActionAssignment_7_1_122054);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__ContinuationTransition__ActionAssignment_7_1_121501);
             ruleDetailCode();
 
             state._fsp--;
@@ -29186,20 +28649,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__NameAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10932:1: rule__TriggeredTransition__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10650:1: rule__TriggeredTransition__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__TriggeredTransition__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10936:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10937:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10654:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10655:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10937:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10938:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10655:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10656:1: RULE_ID
             {
              before(grammarAccess.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TriggeredTransition__NameAssignment_122085); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TriggeredTransition__NameAssignment_121532); 
              after(grammarAccess.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -29223,20 +28686,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__FromAssignment_3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10947:1: rule__TriggeredTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10665:1: rule__TriggeredTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
     public final void rule__TriggeredTransition__FromAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10951:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10952:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10669:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10670:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10952:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10953:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10670:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10671:1: ruleTransitionTerminal
             {
              before(grammarAccess.getTriggeredTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__FromAssignment_322116);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__FromAssignment_321563);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -29264,20 +28727,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__ToAssignment_5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10962:1: rule__TriggeredTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10680:1: rule__TriggeredTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
     public final void rule__TriggeredTransition__ToAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10966:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10967:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10684:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10685:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10967:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10968:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10685:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10686:1: ruleTransitionTerminal
             {
              before(grammarAccess.getTriggeredTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__ToAssignment_522147);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__ToAssignment_521594);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -29305,20 +28768,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10977:1: rule__TriggeredTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10695:1: rule__TriggeredTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__TriggeredTransition__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10981:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10982:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10699:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10700:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10982:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10983:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10700:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10701:1: ruleDocumentation
             {
              before(grammarAccess.getTriggeredTransitionAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__TriggeredTransition__DocuAssignment_622178);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__TriggeredTransition__DocuAssignment_621625);
             ruleDocumentation();
 
             state._fsp--;
@@ -29346,20 +28809,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__TriggersAssignment_10"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10992:1: rule__TriggeredTransition__TriggersAssignment_10 : ( ruleTrigger ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10710:1: rule__TriggeredTransition__TriggersAssignment_10 : ( ruleTrigger ) ;
     public final void rule__TriggeredTransition__TriggersAssignment_10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10996:1: ( ( ruleTrigger ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10997:1: ( ruleTrigger )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10714:1: ( ( ruleTrigger ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10715:1: ( ruleTrigger )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10997:1: ( ruleTrigger )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10998:1: ruleTrigger
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10715:1: ( ruleTrigger )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10716:1: ruleTrigger
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_10_0()); 
-            pushFollow(FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_1022209);
+            pushFollow(FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_1021656);
             ruleTrigger();
 
             state._fsp--;
@@ -29387,20 +28850,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__TriggersAssignment_11_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11007:1: rule__TriggeredTransition__TriggersAssignment_11_1 : ( ruleTrigger ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10725:1: rule__TriggeredTransition__TriggersAssignment_11_1 : ( ruleTrigger ) ;
     public final void rule__TriggeredTransition__TriggersAssignment_11_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11011:1: ( ( ruleTrigger ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11012:1: ( ruleTrigger )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10729:1: ( ( ruleTrigger ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10730:1: ( ruleTrigger )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11012:1: ( ruleTrigger )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11013:1: ruleTrigger
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10730:1: ( ruleTrigger )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10731:1: ruleTrigger
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_11_1_0()); 
-            pushFollow(FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_11_122240);
+            pushFollow(FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_11_121687);
             ruleTrigger();
 
             state._fsp--;
@@ -29428,20 +28891,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__ActionAssignment_13_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11022:1: rule__TriggeredTransition__ActionAssignment_13_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10740:1: rule__TriggeredTransition__ActionAssignment_13_1 : ( ruleDetailCode ) ;
     public final void rule__TriggeredTransition__ActionAssignment_13_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11026:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11027:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10744:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10745:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11027:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11028:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10745:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10746:1: ruleDetailCode
             {
              before(grammarAccess.getTriggeredTransitionAccess().getActionDetailCodeParserRuleCall_13_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__TriggeredTransition__ActionAssignment_13_122271);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__TriggeredTransition__ActionAssignment_13_121718);
             ruleDetailCode();
 
             state._fsp--;
@@ -29469,20 +28932,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__NameAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11037:1: rule__GuardedTransition__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10755:1: rule__GuardedTransition__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__GuardedTransition__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11041:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11042:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10759:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10760:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11042:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11043:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10760:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10761:1: RULE_ID
             {
              before(grammarAccess.getGuardedTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GuardedTransition__NameAssignment_122302); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GuardedTransition__NameAssignment_121749); 
              after(grammarAccess.getGuardedTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -29506,20 +28969,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__FromAssignment_3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11052:1: rule__GuardedTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10770:1: rule__GuardedTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
     public final void rule__GuardedTransition__FromAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11056:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11057:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10774:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10775:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11057:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11058:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10775:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10776:1: ruleTransitionTerminal
             {
              before(grammarAccess.getGuardedTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__FromAssignment_322333);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__FromAssignment_321780);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -29547,20 +29010,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__ToAssignment_5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11067:1: rule__GuardedTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10785:1: rule__GuardedTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
     public final void rule__GuardedTransition__ToAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11071:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11072:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10789:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10790:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11072:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11073:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10790:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10791:1: ruleTransitionTerminal
             {
              before(grammarAccess.getGuardedTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__ToAssignment_522364);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__ToAssignment_521811);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -29588,20 +29051,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11082:1: rule__GuardedTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10800:1: rule__GuardedTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__GuardedTransition__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11086:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11087:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10804:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10805:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11087:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11088:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10805:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10806:1: ruleDocumentation
             {
              before(grammarAccess.getGuardedTransitionAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__GuardedTransition__DocuAssignment_622395);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__GuardedTransition__DocuAssignment_621842);
             ruleDocumentation();
 
             state._fsp--;
@@ -29629,20 +29092,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__GuardAssignment_9"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11097:1: rule__GuardedTransition__GuardAssignment_9 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10815:1: rule__GuardedTransition__GuardAssignment_9 : ( ruleDetailCode ) ;
     public final void rule__GuardedTransition__GuardAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11101:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11102:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10819:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10820:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11102:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11103:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10820:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10821:1: ruleDetailCode
             {
              before(grammarAccess.getGuardedTransitionAccess().getGuardDetailCodeParserRuleCall_9_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__GuardedTransition__GuardAssignment_922426);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__GuardedTransition__GuardAssignment_921873);
             ruleDetailCode();
 
             state._fsp--;
@@ -29670,20 +29133,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__ActionAssignment_10_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11112:1: rule__GuardedTransition__ActionAssignment_10_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10830:1: rule__GuardedTransition__ActionAssignment_10_1 : ( ruleDetailCode ) ;
     public final void rule__GuardedTransition__ActionAssignment_10_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11116:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11117:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10834:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10835:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11117:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11118:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10835:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10836:1: ruleDetailCode
             {
              before(grammarAccess.getGuardedTransitionAccess().getActionDetailCodeParserRuleCall_10_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__GuardedTransition__ActionAssignment_10_122457);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__GuardedTransition__ActionAssignment_10_121904);
             ruleDetailCode();
 
             state._fsp--;
@@ -29711,20 +29174,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__NameAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11127:1: rule__CPBranchTransition__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10845:1: rule__CPBranchTransition__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__CPBranchTransition__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11131:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11132:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10849:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10850:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11132:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11133:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10850:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10851:1: RULE_ID
             {
              before(grammarAccess.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__CPBranchTransition__NameAssignment_122488); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__CPBranchTransition__NameAssignment_121935); 
              after(grammarAccess.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -29748,20 +29211,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__FromAssignment_3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11142:1: rule__CPBranchTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10860:1: rule__CPBranchTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
     public final void rule__CPBranchTransition__FromAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11146:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11147:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10864:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10865:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11147:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11148:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10865:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10866:1: ruleTransitionTerminal
             {
              before(grammarAccess.getCPBranchTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__FromAssignment_322519);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__FromAssignment_321966);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -29789,20 +29252,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__ToAssignment_5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11157:1: rule__CPBranchTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10875:1: rule__CPBranchTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
     public final void rule__CPBranchTransition__ToAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11161:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11162:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10879:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10880:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11162:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11163:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10880:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10881:1: ruleTransitionTerminal
             {
              before(grammarAccess.getCPBranchTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__ToAssignment_522550);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__ToAssignment_521997);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -29830,20 +29293,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11172:1: rule__CPBranchTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10890:1: rule__CPBranchTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__CPBranchTransition__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11176:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11177:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10894:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10895:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11177:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11178:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10895:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10896:1: ruleDocumentation
             {
              before(grammarAccess.getCPBranchTransitionAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__CPBranchTransition__DocuAssignment_622581);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__CPBranchTransition__DocuAssignment_622028);
             ruleDocumentation();
 
             state._fsp--;
@@ -29871,20 +29334,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__ConditionAssignment_9"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11187:1: rule__CPBranchTransition__ConditionAssignment_9 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10905:1: rule__CPBranchTransition__ConditionAssignment_9 : ( ruleDetailCode ) ;
     public final void rule__CPBranchTransition__ConditionAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11191:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11192:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10909:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10910:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11192:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11193:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10910:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10911:1: ruleDetailCode
             {
              before(grammarAccess.getCPBranchTransitionAccess().getConditionDetailCodeParserRuleCall_9_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ConditionAssignment_922612);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ConditionAssignment_922059);
             ruleDetailCode();
 
             state._fsp--;
@@ -29912,20 +29375,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__ActionAssignment_10_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11202:1: rule__CPBranchTransition__ActionAssignment_10_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10920:1: rule__CPBranchTransition__ActionAssignment_10_1 : ( ruleDetailCode ) ;
     public final void rule__CPBranchTransition__ActionAssignment_10_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11206:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11207:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10924:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10925:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11207:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11208:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10925:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10926:1: ruleDetailCode
             {
              before(grammarAccess.getCPBranchTransitionAccess().getActionDetailCodeParserRuleCall_10_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ActionAssignment_10_122643);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ActionAssignment_10_122090);
             ruleDetailCode();
 
             state._fsp--;
@@ -29953,24 +29416,24 @@
 
 
     // $ANTLR start "rule__RefinedTransition__TargetAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11217:1: rule__RefinedTransition__TargetAssignment_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10935:1: rule__RefinedTransition__TargetAssignment_1 : ( ( ruleFQN ) ) ;
     public final void rule__RefinedTransition__TargetAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11221:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11222:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10939:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10940:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11222:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11223:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10940:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10941:1: ( ruleFQN )
             {
              before(grammarAccess.getRefinedTransitionAccess().getTargetTransitionCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11224:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11225:1: ruleFQN
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10942:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10943:1: ruleFQN
             {
              before(grammarAccess.getRefinedTransitionAccess().getTargetTransitionFQNParserRuleCall_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__RefinedTransition__TargetAssignment_122678);
+            pushFollow(FOLLOW_ruleFQN_in_rule__RefinedTransition__TargetAssignment_122125);
             ruleFQN();
 
             state._fsp--;
@@ -30002,20 +29465,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11236:1: rule__RefinedTransition__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10954:1: rule__RefinedTransition__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__RefinedTransition__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11240:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11241:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10958:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10959:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11241:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11242:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10959:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10960:1: ruleDocumentation
             {
              before(grammarAccess.getRefinedTransitionAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__RefinedTransition__DocuAssignment_222713);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__RefinedTransition__DocuAssignment_222160);
             ruleDocumentation();
 
             state._fsp--;
@@ -30043,20 +29506,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__ActionAssignment_5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11251:1: rule__RefinedTransition__ActionAssignment_5 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10969:1: rule__RefinedTransition__ActionAssignment_5 : ( ruleDetailCode ) ;
     public final void rule__RefinedTransition__ActionAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11255:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11256:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10973:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10974:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11256:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11257:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10974:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10975:1: ruleDetailCode
             {
              before(grammarAccess.getRefinedTransitionAccess().getActionDetailCodeParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedTransition__ActionAssignment_522744);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedTransition__ActionAssignment_522191);
             ruleDetailCode();
 
             state._fsp--;
@@ -30084,24 +29547,24 @@
 
 
     // $ANTLR start "rule__StateTerminal__StateAssignment"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11266:1: rule__StateTerminal__StateAssignment : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10984:1: rule__StateTerminal__StateAssignment : ( ( RULE_ID ) ) ;
     public final void rule__StateTerminal__StateAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11270:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11271:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10988:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10989:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11271:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11272:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10989:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10990:1: ( RULE_ID )
             {
              before(grammarAccess.getStateTerminalAccess().getStateStateCrossReference_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11273:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11274:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10991:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:10992:1: RULE_ID
             {
              before(grammarAccess.getStateTerminalAccess().getStateStateIDTerminalRuleCall_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__StateTerminal__StateAssignment22779); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__StateTerminal__StateAssignment22226); 
              after(grammarAccess.getStateTerminalAccess().getStateStateIDTerminalRuleCall_0_1()); 
 
             }
@@ -30129,24 +29592,24 @@
 
 
     // $ANTLR start "rule__TrPointTerminal__TrPointAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11285:1: rule__TrPointTerminal__TrPointAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11003:1: rule__TrPointTerminal__TrPointAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__TrPointTerminal__TrPointAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11289:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11290:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11007:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11008:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11290:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11291:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11008:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11009:1: ( RULE_ID )
             {
              before(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11292:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11293:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11010:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11011:1: RULE_ID
             {
              before(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TrPointTerminal__TrPointAssignment_122818); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TrPointTerminal__TrPointAssignment_122265); 
              after(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_1_0_1()); 
 
             }
@@ -30174,24 +29637,24 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__TrPointAssignment_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11304:1: rule__SubStateTrPointTerminal__TrPointAssignment_0 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11022:1: rule__SubStateTrPointTerminal__TrPointAssignment_0 : ( ( RULE_ID ) ) ;
     public final void rule__SubStateTrPointTerminal__TrPointAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11308:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11309:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11026:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11027:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11309:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11310:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11027:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11028:1: ( RULE_ID )
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointCrossReference_0_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11311:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11312:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11029:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11030:1: RULE_ID
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_0_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__TrPointAssignment_022857); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__TrPointAssignment_022304); 
              after(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_0_0_1()); 
 
             }
@@ -30219,24 +29682,24 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__StateAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11323:1: rule__SubStateTrPointTerminal__StateAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11041:1: rule__SubStateTrPointTerminal__StateAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__SubStateTrPointTerminal__StateAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11327:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11328:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11045:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11046:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11328:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11329:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11046:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11047:1: ( RULE_ID )
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getStateStateCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11330:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11331:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11048:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11049:1: RULE_ID
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getStateStateIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__StateAssignment_222896); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__StateAssignment_222343); 
              after(grammarAccess.getSubStateTrPointTerminalAccess().getStateStateIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -30264,24 +29727,24 @@
 
 
     // $ANTLR start "rule__ChoicepointTerminal__CpAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11342:1: rule__ChoicepointTerminal__CpAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11060:1: rule__ChoicepointTerminal__CpAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__ChoicepointTerminal__CpAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11346:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11347:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11064:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11065:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11347:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11348:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11065:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11066:1: ( RULE_ID )
             {
              before(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11349:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11350:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11067:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11068:1: RULE_ID
             {
              before(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointIDTerminalRuleCall_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ChoicepointTerminal__CpAssignment_122935); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ChoicepointTerminal__CpAssignment_122382); 
              after(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointIDTerminalRuleCall_1_0_1()); 
 
             }
@@ -30309,20 +29772,20 @@
 
 
     // $ANTLR start "rule__Trigger__MsgFromIfPairsAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11361:1: rule__Trigger__MsgFromIfPairsAssignment_1 : ( ruleMessageFromIf ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11079:1: rule__Trigger__MsgFromIfPairsAssignment_1 : ( ruleMessageFromIf ) ;
     public final void rule__Trigger__MsgFromIfPairsAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11365:1: ( ( ruleMessageFromIf ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11366:1: ( ruleMessageFromIf )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11083:1: ( ( ruleMessageFromIf ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11084:1: ( ruleMessageFromIf )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11366:1: ( ruleMessageFromIf )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11367:1: ruleMessageFromIf
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11084:1: ( ruleMessageFromIf )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11085:1: ruleMessageFromIf
             {
              before(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_122970);
+            pushFollow(FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_122417);
             ruleMessageFromIf();
 
             state._fsp--;
@@ -30350,20 +29813,20 @@
 
 
     // $ANTLR start "rule__Trigger__MsgFromIfPairsAssignment_2_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11376:1: rule__Trigger__MsgFromIfPairsAssignment_2_1 : ( ruleMessageFromIf ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11094:1: rule__Trigger__MsgFromIfPairsAssignment_2_1 : ( ruleMessageFromIf ) ;
     public final void rule__Trigger__MsgFromIfPairsAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11380:1: ( ( ruleMessageFromIf ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11381:1: ( ruleMessageFromIf )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11098:1: ( ( ruleMessageFromIf ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11099:1: ( ruleMessageFromIf )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11381:1: ( ruleMessageFromIf )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11382:1: ruleMessageFromIf
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11099:1: ( ruleMessageFromIf )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11100:1: ruleMessageFromIf
             {
              before(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0()); 
-            pushFollow(FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_2_123001);
+            pushFollow(FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_2_122448);
             ruleMessageFromIf();
 
             state._fsp--;
@@ -30391,20 +29854,20 @@
 
 
     // $ANTLR start "rule__Trigger__GuardAssignment_3"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11391:1: rule__Trigger__GuardAssignment_3 : ( ruleGuard ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11109:1: rule__Trigger__GuardAssignment_3 : ( ruleGuard ) ;
     public final void rule__Trigger__GuardAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11395:1: ( ( ruleGuard ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11396:1: ( ruleGuard )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11113:1: ( ( ruleGuard ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11114:1: ( ruleGuard )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11396:1: ( ruleGuard )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11397:1: ruleGuard
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11114:1: ( ruleGuard )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11115:1: ruleGuard
             {
              before(grammarAccess.getTriggerAccess().getGuardGuardParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleGuard_in_rule__Trigger__GuardAssignment_323032);
+            pushFollow(FOLLOW_ruleGuard_in_rule__Trigger__GuardAssignment_322479);
             ruleGuard();
 
             state._fsp--;
@@ -30432,24 +29895,24 @@
 
 
     // $ANTLR start "rule__MessageFromIf__MessageAssignment_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11406:1: rule__MessageFromIf__MessageAssignment_0 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11124:1: rule__MessageFromIf__MessageAssignment_0 : ( ( RULE_ID ) ) ;
     public final void rule__MessageFromIf__MessageAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11410:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11411:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11128:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11129:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11411:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11412:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11129:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11130:1: ( RULE_ID )
             {
              before(grammarAccess.getMessageFromIfAccess().getMessageEObjectCrossReference_0_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11413:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11414:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11131:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11132:1: RULE_ID
             {
              before(grammarAccess.getMessageFromIfAccess().getMessageEObjectIDTerminalRuleCall_0_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__MessageFromIf__MessageAssignment_023067); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__MessageFromIf__MessageAssignment_022514); 
              after(grammarAccess.getMessageFromIfAccess().getMessageEObjectIDTerminalRuleCall_0_0_1()); 
 
             }
@@ -30477,24 +29940,24 @@
 
 
     // $ANTLR start "rule__MessageFromIf__FromAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11425:1: rule__MessageFromIf__FromAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11143:1: rule__MessageFromIf__FromAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__MessageFromIf__FromAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11429:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11430:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11147:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11148:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11430:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11431:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11148:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11149:1: ( RULE_ID )
             {
              before(grammarAccess.getMessageFromIfAccess().getFromAbstractInterfaceItemCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11432:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11433:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11150:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11151:1: RULE_ID
             {
              before(grammarAccess.getMessageFromIfAccess().getFromAbstractInterfaceItemIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__MessageFromIf__FromAssignment_223106); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__MessageFromIf__FromAssignment_222553); 
              after(grammarAccess.getMessageFromIfAccess().getFromAbstractInterfaceItemIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -30522,20 +29985,20 @@
 
 
     // $ANTLR start "rule__Guard__GuardAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11445:1: rule__Guard__GuardAssignment_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11163:1: rule__Guard__GuardAssignment_1 : ( ruleDetailCode ) ;
     public final void rule__Guard__GuardAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11449:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11450:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11167:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11168:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11450:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11451:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11168:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11169:1: ruleDetailCode
             {
              before(grammarAccess.getGuardAccess().getGuardDetailCodeParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__Guard__GuardAssignment_123142);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__Guard__GuardAssignment_122589);
             ruleDetailCode();
 
             state._fsp--;
@@ -30563,24 +30026,24 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__MsgAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11461:1: rule__InSemanticsRule__MsgAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11179:1: rule__InSemanticsRule__MsgAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__InSemanticsRule__MsgAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11465:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11466:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11183:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11184:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11466:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11467:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11184:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11185:1: ( RULE_ID )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getMsgEObjectCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11468:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11469:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11186:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11187:1: RULE_ID
             {
              before(grammarAccess.getInSemanticsRuleAccess().getMsgEObjectIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__InSemanticsRule__MsgAssignment_223178); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__InSemanticsRule__MsgAssignment_222625); 
              after(grammarAccess.getInSemanticsRuleAccess().getMsgEObjectIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -30608,20 +30071,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__FollowUpsAssignment_3_1_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11480:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_0 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11198:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_0 : ( ruleSemanticsRule ) ;
     public final void rule__InSemanticsRule__FollowUpsAssignment_3_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11484:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11485:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11202:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11203:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11485:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11486:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11203:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11204:1: ruleSemanticsRule
             {
              before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_0_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_023213);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_022660);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -30649,20 +30112,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11495:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11213:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 : ( ruleSemanticsRule ) ;
     public final void rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11499:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11500:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11217:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11218:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11500:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11501:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11218:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11219:1: ruleSemanticsRule
             {
              before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_1_1_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_123244);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_122691);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -30690,20 +30153,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11510:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11228:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 : ( ruleSemanticsRule ) ;
     public final void rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11514:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11515:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11232:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11233:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11515:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11516:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11233:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11234:1: ruleSemanticsRule
             {
              before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_1_2_1_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_123275);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_122722);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -30731,24 +30194,24 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__MsgAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11525:1: rule__OutSemanticsRule__MsgAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11243:1: rule__OutSemanticsRule__MsgAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__OutSemanticsRule__MsgAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11529:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11530:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11247:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11248:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11530:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11531:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11248:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11249:1: ( RULE_ID )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getMsgEObjectCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11532:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11533:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11250:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11251:1: RULE_ID
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getMsgEObjectIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__OutSemanticsRule__MsgAssignment_223310); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__OutSemanticsRule__MsgAssignment_222757); 
              after(grammarAccess.getOutSemanticsRuleAccess().getMsgEObjectIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -30776,20 +30239,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__FollowUpsAssignment_3_1_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11544:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11262:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 : ( ruleSemanticsRule ) ;
     public final void rule__OutSemanticsRule__FollowUpsAssignment_3_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11548:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11549:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11266:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11267:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11549:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11550:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11267:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11268:1: ruleSemanticsRule
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_0_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_023345);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_022792);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -30817,20 +30280,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11559:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11277:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 : ( ruleSemanticsRule ) ;
     public final void rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11563:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11564:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11281:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11282:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11564:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11565:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11282:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11283:1: ruleSemanticsRule
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_1_1_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_123376);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_122823);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -30858,20 +30321,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11574:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11292:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 : ( ruleSemanticsRule ) ;
     public final void rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11578:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11579:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11296:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11297:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11579:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11580:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11297:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11298:1: ruleSemanticsRule
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_1_2_1_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_123407);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_122854);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -30899,20 +30362,20 @@
 
 
     // $ANTLR start "rule__KeyValue__KeyAssignment_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11592:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11310:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
     public final void rule__KeyValue__KeyAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11596:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11597:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11314:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11315:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11597:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11598:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11315:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11316:1: RULE_ID
             {
              before(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_023441); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_022888); 
              after(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
 
             }
@@ -30936,20 +30399,20 @@
 
 
     // $ANTLR start "rule__KeyValue__ValueAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11607:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11325:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
     public final void rule__KeyValue__ValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11611:1: ( ( ruleLiteral ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11612:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11329:1: ( ( ruleLiteral ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11330:1: ( ruleLiteral )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11612:1: ( ruleLiteral )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11613:1: ruleLiteral
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11330:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11331:1: ruleLiteral
             {
              before(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_223472);
+            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_222919);
             ruleLiteral();
 
             state._fsp--;
@@ -30977,24 +30440,24 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11628:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11346:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__SimpleAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11632:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11633:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11350:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11351:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11633:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11634:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11351:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11352:1: ( 'optional' )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11635:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11636:1: 'optional'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11353:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11354:1: 'optional'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            match(input,69,FOLLOW_69_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_023514); 
+            match(input,70,FOLLOW_70_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_022961); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
 
             }
@@ -31022,20 +30485,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11651:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11369:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__SimpleAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11655:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11656:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11373:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11374:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11656:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11657:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11374:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11375:1: RULE_ID
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_223553); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_223000); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -31059,20 +30522,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__TypeAssignment_4"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11666:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11384:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
     public final void rule__SimpleAnnotationAttribute__TypeAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11670:1: ( ( ruleLiteralType ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11671:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11388:1: ( ( ruleLiteralType ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11389:1: ( ruleLiteralType )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11671:1: ( ruleLiteralType )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11672:1: ruleLiteralType
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11389:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11390:1: ruleLiteralType
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_423584);
+            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_423031);
             ruleLiteralType();
 
             state._fsp--;
@@ -31100,24 +30563,24 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11681:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11399:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__EnumAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11685:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11686:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11403:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11404:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11686:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11687:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11404:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11405:1: ( 'optional' )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11688:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11689:1: 'optional'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11406:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11407:1: 'optional'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            match(input,69,FOLLOW_69_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_023620); 
+            match(input,70,FOLLOW_70_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_023067); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
 
             }
@@ -31145,20 +30608,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11704:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11422:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__EnumAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11708:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11709:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11426:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11427:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11709:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11710:1: RULE_ID
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11427:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11428:1: RULE_ID
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_223659); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_223106); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -31182,20 +30645,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_5"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11719:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11437:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11723:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11724:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11441:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11442:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11724:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11725:1: RULE_STRING
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11442:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11443:1: RULE_STRING
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_523690); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_523137); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
 
             }
@@ -31219,20 +30682,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_6_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11734:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11452:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11738:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11739:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11456:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11457:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11739:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11740:1: RULE_STRING
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11457:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11458:1: RULE_STRING
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_123721); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_123168); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
 
             }
@@ -31256,20 +30719,20 @@
 
 
     // $ANTLR start "rule__Documentation__LinesAssignment_2"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11751:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11469:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
     public final void rule__Documentation__LinesAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11755:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11756:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11473:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11474:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11756:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11757:1: RULE_STRING
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11474:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11475:1: RULE_STRING
             {
              before(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_223754); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_223201); 
              after(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
 
             }
@@ -31293,24 +30756,24 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__IsTrueAssignment_1_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11768:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11486:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
     public final void rule__BooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11772:1: ( ( ( 'true' ) ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11773:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11490:1: ( ( ( 'true' ) ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11491:1: ( ( 'true' ) )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11773:1: ( ( 'true' ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11774:1: ( 'true' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11491:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11492:1: ( 'true' )
             {
              before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11775:1: ( 'true' )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11776:1: 'true'
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11493:1: ( 'true' )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11494:1: 'true'
             {
              before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
-            match(input,70,FOLLOW_70_in_rule__BooleanLiteral__IsTrueAssignment_1_123792); 
+            match(input,71,FOLLOW_71_in_rule__BooleanLiteral__IsTrueAssignment_1_123239); 
              after(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
 
             }
@@ -31338,20 +30801,20 @@
 
 
     // $ANTLR start "rule__RealLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11791:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11509:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
     public final void rule__RealLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11795:1: ( ( ruleReal ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11796:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11513:1: ( ( ruleReal ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11514:1: ( ruleReal )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11796:1: ( ruleReal )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11797:1: ruleReal
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11514:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11515:1: ruleReal
             {
              before(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_123831);
+            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_123278);
             ruleReal();
 
             state._fsp--;
@@ -31379,20 +30842,20 @@
 
 
     // $ANTLR start "rule__IntLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11806:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11524:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
     public final void rule__IntLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11810:1: ( ( ruleInteger ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11811:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11528:1: ( ( ruleInteger ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11529:1: ( ruleInteger )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11811:1: ( ruleInteger )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11812:1: ruleInteger
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11529:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11530:1: ruleInteger
             {
              before(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_123862);
+            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_123309);
             ruleInteger();
 
             state._fsp--;
@@ -31420,20 +30883,20 @@
 
 
     // $ANTLR start "rule__StringLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11821:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11539:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
     public final void rule__StringLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11825:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11826:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11543:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11544:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11826:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11827:1: RULE_STRING
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11544:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.fsm.ui/src-gen/org/eclipse/etrice/core/fsm/ui/contentassist/antlr/internal/InternalFSM.g:11545:1: RULE_STRING
             {
              before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_123893); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_123340); 
              after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
 
             }
@@ -31460,53 +30923,52 @@
 
     protected DFA8 dfa8 = new DFA8(this);
     protected DFA9 dfa9 = new DFA9(this);
-    protected DFA22 dfa22 = new DFA22(this);
     static final String DFA8_eotS =
         "\32\uffff";
     static final String DFA8_eofS =
-        "\14\uffff\1\22\6\uffff\3\22\1\uffff\1\22\2\uffff";
+        "\13\uffff\1\22\7\uffff\2\22\1\uffff\1\22\2\uffff\1\22";
     static final String DFA8_minS =
-        "\1\50\1\4\1\51\1\4\1\53\4\4\3\53\1\33\3\4\1\10\1\34\1\uffff\3\33"+
-        "\1\10\1\33\2\uffff";
+        "\1\51\1\4\1\52\1\4\1\54\4\4\2\54\1\34\2\4\1\54\1\7\1\35\1\4\1\uffff"+
+        "\2\34\1\7\1\34\2\uffff\1\34";
     static final String DFA8_maxS =
-        "\1\50\2\51\1\64\1\63\3\4\1\64\3\53\1\104\3\4\1\101\1\60\1\uffff"+
-        "\3\104\1\101\1\104\2\uffff";
+        "\1\51\2\52\1\65\1\64\2\4\1\65\1\4\2\54\1\105\2\4\1\54\1\102\1\61"+
+        "\1\4\1\uffff\2\105\1\102\1\105\2\uffff\1\105";
     static final String DFA8_acceptS =
-        "\22\uffff\1\2\5\uffff\1\3\1\1";
+        "\22\uffff\1\2\4\uffff\1\3\1\1\1\uffff";
     static final String DFA8_specialS =
         "\32\uffff}>";
     static final String[] DFA8_transitionS = {
             "\1\1",
-            "\1\2\44\uffff\1\3",
+            "\1\2\45\uffff\1\3",
             "\1\3",
-            "\1\4\55\uffff\1\5\1\uffff\1\6",
-            "\1\10\7\uffff\1\7",
+            "\1\4\56\uffff\1\5\1\uffff\1\6",
+            "\1\7\7\uffff\1\10",
             "\1\11",
             "\1\12",
-            "\1\13",
-            "\1\14\55\uffff\1\15\1\uffff\1\16",
-            "\1\10",
-            "\1\10",
-            "\1\10",
-            "\1\21\1\22\1\uffff\1\22\4\uffff\6\22\10\uffff\1\22\1\uffff"+
-            "\1\17\14\uffff\1\20\3\uffff\1\22",
+            "\1\13\56\uffff\1\14\1\uffff\1\15",
+            "\1\16",
+            "\1\7",
+            "\1\7",
+            "\1\20\1\22\1\uffff\1\22\4\uffff\6\22\10\uffff\1\22\1\uffff"+
+            "\1\21\14\uffff\1\17\3\uffff\1\22",
             "\1\23",
             "\1\24",
-            "\1\25",
-            "\1\26\70\uffff\1\27",
-            "\1\22\17\uffff\1\22\1\31\1\uffff\1\31\1\30",
+            "\1\7",
+            "\1\25\72\uffff\1\26",
+            "\1\22\17\uffff\1\22\1\30\1\uffff\1\30\1\27",
+            "\1\31",
             "",
-            "\1\21\1\22\1\uffff\1\22\4\uffff\6\22\10\uffff\1\22\16\uffff"+
-            "\1\20\3\uffff\1\22",
-            "\1\21\1\22\1\uffff\1\22\4\uffff\6\22\10\uffff\1\22\16\uffff"+
-            "\1\20\3\uffff\1\22",
-            "\1\21\1\22\1\uffff\1\22\4\uffff\6\22\10\uffff\1\22\16\uffff"+
-            "\1\20\3\uffff\1\22",
-            "\1\26\70\uffff\1\27",
-            "\1\21\1\22\1\uffff\1\22\4\uffff\6\22\10\uffff\1\22\22\uffff"+
+            "\1\20\1\22\1\uffff\1\22\4\uffff\6\22\10\uffff\1\22\16\uffff"+
+            "\1\17\3\uffff\1\22",
+            "\1\20\1\22\1\uffff\1\22\4\uffff\6\22\10\uffff\1\22\16\uffff"+
+            "\1\17\3\uffff\1\22",
+            "\1\25\72\uffff\1\26",
+            "\1\20\1\22\1\uffff\1\22\4\uffff\6\22\10\uffff\1\22\22\uffff"+
             "\1\22",
             "",
-            ""
+            "",
+            "\1\20\1\22\1\uffff\1\22\4\uffff\6\22\10\uffff\1\22\16\uffff"+
+            "\1\17\3\uffff\1\22"
     };
 
     static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
@@ -31539,7 +31001,7 @@
             this.transition = DFA8_transition;
         }
         public String getDescription() {
-            return "1911:1: rule__NonInitialTransition__Alternatives : ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) );";
+            return "1767:1: rule__NonInitialTransition__Alternatives : ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) );";
         }
     }
     static final String DFA9_eotS =
@@ -31547,37 +31009,37 @@
     static final String DFA9_eofS =
         "\31\uffff";
     static final String DFA9_minS =
-        "\1\50\1\4\1\51\1\4\1\53\4\4\2\53\1\33\2\4\1\53\1\10\1\55\1\4\2\33"+
-        "\1\10\1\33\2\uffff\1\33";
+        "\1\51\1\4\1\52\1\4\1\54\4\4\3\54\1\34\2\4\1\7\1\56\1\4\2\34\1\7"+
+        "\1\34\2\uffff\1\34";
     static final String DFA9_maxS =
-        "\1\50\2\51\1\64\1\63\2\4\1\64\1\4\2\53\1\100\2\4\1\53\1\101\1\57"+
-        "\1\4\2\100\1\101\1\33\2\uffff\1\100";
+        "\1\51\2\52\1\65\1\64\3\4\1\65\3\54\1\101\2\4\1\102\1\60\1\4\2\101"+
+        "\1\102\1\34\2\uffff\1\101";
     static final String DFA9_acceptS =
-        "\26\uffff\1\2\1\1\1\uffff";
+        "\26\uffff\1\1\1\2\1\uffff";
     static final String DFA9_specialS =
         "\31\uffff}>";
     static final String[] DFA9_transitionS = {
             "\1\1",
-            "\1\2\44\uffff\1\3",
+            "\1\2\45\uffff\1\3",
             "\1\3",
-            "\1\4\55\uffff\1\5\1\uffff\1\6",
-            "\1\7\7\uffff\1\10",
+            "\1\4\56\uffff\1\5\1\uffff\1\6",
+            "\1\10\7\uffff\1\7",
             "\1\11",
             "\1\12",
-            "\1\13\55\uffff\1\14\1\uffff\1\15",
-            "\1\16",
-            "\1\7",
-            "\1\7",
+            "\1\13",
+            "\1\14\56\uffff\1\15\1\uffff\1\16",
+            "\1\10",
+            "\1\10",
+            "\1\10",
             "\1\20\27\uffff\1\21\14\uffff\1\17",
             "\1\22",
             "\1\23",
-            "\1\7",
-            "\1\24\70\uffff\1\25",
-            "\1\27\1\uffff\1\26",
+            "\1\24\72\uffff\1\25",
+            "\1\26\1\uffff\1\27",
             "\1\30",
             "\1\20\44\uffff\1\17",
             "\1\20\44\uffff\1\17",
-            "\1\24\70\uffff\1\25",
+            "\1\24\72\uffff\1\25",
             "\1\20",
             "",
             "",
@@ -31614,72 +31076,14 @@
             this.transition = DFA9_transition;
         }
         public String getDescription() {
-            return "1939:1: rule__TransitionChainStartTransition__Alternatives : ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) );";
-        }
-    }
-    static final String DFA22_eotS =
-        "\12\uffff";
-    static final String DFA22_eofS =
-        "\5\uffff\1\6\1\uffff\1\10\2\uffff";
-    static final String DFA22_minS =
-        "\3\6\1\102\1\uffff\1\6\1\uffff\1\7\2\uffff";
-    static final String DFA22_maxS =
-        "\4\102\1\uffff\1\6\1\uffff\1\7\2\uffff";
-    static final String DFA22_acceptS =
-        "\4\uffff\1\2\1\uffff\1\3\1\uffff\1\1\1\4";
-    static final String DFA22_specialS =
-        "\12\uffff}>";
-    static final String[] DFA22_transitionS = {
-            "\1\3\10\uffff\1\1\1\2\61\uffff\1\4",
-            "\1\3\73\uffff\1\4",
-            "\1\3\73\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\7",
-            "",
-            "\1\11",
-            "",
-            ""
-    };
-
-    static final short[] DFA22_eot = DFA.unpackEncodedString(DFA22_eotS);
-    static final short[] DFA22_eof = DFA.unpackEncodedString(DFA22_eofS);
-    static final char[] DFA22_min = DFA.unpackEncodedStringToUnsignedChars(DFA22_minS);
-    static final char[] DFA22_max = DFA.unpackEncodedStringToUnsignedChars(DFA22_maxS);
-    static final short[] DFA22_accept = DFA.unpackEncodedString(DFA22_acceptS);
-    static final short[] DFA22_special = DFA.unpackEncodedString(DFA22_specialS);
-    static final short[][] DFA22_transition;
-
-    static {
-        int numStates = DFA22_transitionS.length;
-        DFA22_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA22_transition[i] = DFA.unpackEncodedString(DFA22_transitionS[i]);
-        }
-    }
-
-    class DFA22 extends DFA {
-
-        public DFA22(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 22;
-            this.eot = DFA22_eot;
-            this.eof = DFA22_eof;
-            this.min = DFA22_min;
-            this.max = DFA22_max;
-            this.accept = DFA22_accept;
-            this.special = DFA22_special;
-            this.transition = DFA22_transition;
-        }
-        public String getDescription() {
-            return "2256:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );";
+            return "1795:1: rule__TransitionChainStartTransition__Alternatives : ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) );";
         }
     }
  
 
     public static final BitSet FOLLOW_ruleFSMModel_in_entryRuleFSMModel61 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleFSMModel68 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FSMModel__ComponentsAssignment_in_ruleFSMModel94 = new BitSet(new long[]{0x00000000001E0002L,0x0000000000000008L});
+    public static final BitSet FOLLOW_rule__FSMModel__ComponentsAssignment_in_ruleFSMModel94 = new BitSet(new long[]{0x00000000003C0002L,0x0000000000000010L});
     public static final BitSet FOLLOW_ruleModelComponent_in_entryRuleModelComponent122 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleModelComponent129 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rule__ModelComponent__Group__0_in_ruleModelComponent155 = new BitSet(new long[]{0x0000000000000002L});
@@ -31821,860 +31225,836 @@
     public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger2897 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInteger2904 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rule__Integer__Alternatives_in_ruleInteger2930 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger2962 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger2969 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger2999 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal3031 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal3038 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal3068 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal3094 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal3101 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal3127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal3159 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal3166 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal3196 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal3228 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal3235 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal3265 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot3297 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot3304 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot3334 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3366 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp3373 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp3403 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN3430 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN3437 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN3463 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ComponentCommunicationType__Alternatives_in_ruleComponentCommunicationType3500 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType3536 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleState_in_rule__StateGraphNode__Alternatives3571 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateGraphNode__Alternatives3588 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateGraphNode__Alternatives3605 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__StatesAssignment_2_0_in_rule__StateGraph__Alternatives_23638 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__TrPointsAssignment_2_1_in_rule__StateGraph__Alternatives_23656 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__ChPointsAssignment_2_2_in_rule__StateGraph__Alternatives_23674 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__TransitionsAssignment_2_3_in_rule__StateGraph__Alternatives_23692 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__RefinedTransitionsAssignment_2_4_in_rule__StateGraph__Alternatives_23710 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__StatesAssignment_3_0_in_rule__StateMachine__Alternatives_33743 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__TrPointsAssignment_3_1_in_rule__StateMachine__Alternatives_33761 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__ChPointsAssignment_3_2_in_rule__StateMachine__Alternatives_33779 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__TransitionsAssignment_3_3_in_rule__StateMachine__Alternatives_33797 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__RefinedTransitionsAssignment_3_4_in_rule__StateMachine__Alternatives_33815 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleState_in_rule__State__Alternatives3848 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefinedState_in_rule__State__Alternatives3865 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionPoint_in_rule__TrPoint__Alternatives3897 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEntryPoint_in_rule__TrPoint__Alternatives3914 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleExitPoint_in_rule__TrPoint__Alternatives3931 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInitialTransition_in_rule__Transition__Alternatives3963 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNonInitialTransition_in_rule__Transition__Alternatives3980 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionChainStartTransition_in_rule__NonInitialTransition__Alternatives4012 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleContinuationTransition_in_rule__NonInitialTransition__Alternatives4029 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleCPBranchTransition_in_rule__NonInitialTransition__Alternatives4046 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTriggeredTransition_in_rule__TransitionChainStartTransition__Alternatives4078 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleGuardedTransition_in_rule__TransitionChainStartTransition__Alternatives4095 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStateTerminal_in_rule__TransitionTerminal__Alternatives4127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrPointTerminal_in_rule__TransitionTerminal__Alternatives4144 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSubStateTrPointTerminal_in_rule__TransitionTerminal__Alternatives4161 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleChoicepointTerminal_in_rule__TransitionTerminal__Alternatives4178 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInSemanticsRule_in_rule__SemanticsRule__Alternatives4210 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleOutSemanticsRule_in_rule__SemanticsRule__Alternatives4227 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__InSemanticsRule__Alternatives_3_14259 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__0_in_rule__InSemanticsRule__Alternatives_3_14277 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__OutSemanticsRule__Alternatives_3_14310 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0_in_rule__OutSemanticsRule__Alternatives_3_14328 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives4362 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives4379 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_04411 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rule__SimpleAnnotationAttribute__Alternatives_04430 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_04464 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rule__EnumAnnotationAttribute__Alternatives_04483 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives4519 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives4536 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives4553 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__BooleanLiteral__Alternatives_14586 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_14605 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives4638 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives4655 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives4687 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives4704 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__SignedInteger__Alternatives_04737 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__SignedInteger__Alternatives_04757 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives4791 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives4808 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives4825 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives4842 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__Decimal__Alternatives_04875 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__Decimal__Alternatives_04895 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__DotDecimal__Alternatives_04930 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__DotDecimal__Alternatives_04950 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__DecimalDot__Alternatives_04985 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__DecimalDot__Alternatives_05005 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__DecimalExp__Alternatives_05040 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__DecimalExp__Alternatives_05060 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__ComponentCommunicationType__Alternatives5095 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_rule__ComponentCommunicationType__Alternatives5116 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__ComponentCommunicationType__Alternatives5137 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__ComponentCommunicationType__Alternatives5158 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_21_in_rule__LiteralType__Alternatives5194 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_22_in_rule__LiteralType__Alternatives5215 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_rule__LiteralType__Alternatives5236 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__LiteralType__Alternatives5257 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group__0__Impl_in_rule__ModelComponent__Group__05290 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group__1_in_rule__ModelComponent__Group__05293 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__UnorderedGroup_0_in_rule__ModelComponent__Group__0__Impl5320 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group__1__Impl_in_rule__ModelComponent__Group__15350 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group__2_in_rule__ModelComponent__Group__15353 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_rule__ModelComponent__Group__1__Impl5381 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group__2__Impl_in_rule__ModelComponent__Group__25412 = new BitSet(new long[]{0x0000000024000000L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group__3_in_rule__ModelComponent__Group__25415 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__ComponentNameAssignment_2_in_rule__ModelComponent__Group__2__Impl5442 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group__3__Impl_in_rule__ModelComponent__Group__35472 = new BitSet(new long[]{0x0000000024000000L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group__4_in_rule__ModelComponent__Group__35475 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group_3__0_in_rule__ModelComponent__Group__3__Impl5502 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group__4__Impl_in_rule__ModelComponent__Group__45533 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__StateMachineAssignment_4_in_rule__ModelComponent__Group__4__Impl5560 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group_3__0__Impl_in_rule__ModelComponent__Group_3__05600 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group_3__1_in_rule__ModelComponent__Group_3__05603 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__ModelComponent__Group_3__0__Impl5631 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__Group_3__1__Impl_in_rule__ModelComponent__Group_3__15662 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__BaseAssignment_3_1_in_rule__ModelComponent__Group_3__1__Impl5689 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__0__Impl_in_rule__StateGraph__Group__05723 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__1_in_rule__StateGraph__Group__05726 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__1__Impl_in_rule__StateGraph__Group__15784 = new BitSet(new long[]{0x000201F850000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__2_in_rule__StateGraph__Group__15787 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__StateGraph__Group__1__Impl5815 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__2__Impl_in_rule__StateGraph__Group__25846 = new BitSet(new long[]{0x000201F850000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__3_in_rule__StateGraph__Group__25849 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__Alternatives_2_in_rule__StateGraph__Group__2__Impl5876 = new BitSet(new long[]{0x000201F840000002L,0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__3__Impl_in_rule__StateGraph__Group__35907 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__StateGraph__Group__3__Impl5935 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__0__Impl_in_rule__StateMachine__Group__05974 = new BitSet(new long[]{0x0000000024000000L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__1_in_rule__StateMachine__Group__05977 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__1__Impl_in_rule__StateMachine__Group__16035 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__2_in_rule__StateMachine__Group__16038 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__StateMachine__Group__1__Impl6066 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__2__Impl_in_rule__StateMachine__Group__26097 = new BitSet(new long[]{0x000201F850000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__3_in_rule__StateMachine__Group__26100 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__StateMachine__Group__2__Impl6128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__3__Impl_in_rule__StateMachine__Group__36159 = new BitSet(new long[]{0x000201F850000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__4_in_rule__StateMachine__Group__36162 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Alternatives_3_in_rule__StateMachine__Group__3__Impl6189 = new BitSet(new long[]{0x000201F840000002L,0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__4__Impl_in_rule__StateMachine__Group__46220 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__StateMachine__Group__4__Impl6248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__0__Impl_in_rule__SimpleState__Group__06289 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__1_in_rule__SimpleState__Group__06292 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__SimpleState__Group__0__Impl6320 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__1__Impl_in_rule__SimpleState__Group__16351 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__2_in_rule__SimpleState__Group__16354 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__NameAssignment_1_in_rule__SimpleState__Group__1__Impl6381 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__2__Impl_in_rule__SimpleState__Group__26411 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__3_in_rule__SimpleState__Group__26414 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__DocuAssignment_2_in_rule__SimpleState__Group__2__Impl6441 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__3__Impl_in_rule__SimpleState__Group__36472 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__0_in_rule__SimpleState__Group__3__Impl6499 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__0__Impl_in_rule__SimpleState__Group_3__06538 = new BitSet(new long[]{0x0000000790000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__1_in_rule__SimpleState__Group_3__06541 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__SimpleState__Group_3__0__Impl6569 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__1__Impl_in_rule__SimpleState__Group_3__16600 = new BitSet(new long[]{0x0000000790000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__2_in_rule__SimpleState__Group_3__16603 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__0_in_rule__SimpleState__Group_3__1__Impl6630 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__2__Impl_in_rule__SimpleState__Group_3__26661 = new BitSet(new long[]{0x0000000790000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__3_in_rule__SimpleState__Group_3__26664 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__0_in_rule__SimpleState__Group_3__2__Impl6691 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__3__Impl_in_rule__SimpleState__Group_3__36722 = new BitSet(new long[]{0x0000000790000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__4_in_rule__SimpleState__Group_3__36725 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__0_in_rule__SimpleState__Group_3__3__Impl6752 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__4__Impl_in_rule__SimpleState__Group_3__46783 = new BitSet(new long[]{0x0000000790000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__5_in_rule__SimpleState__Group_3__46786 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__0_in_rule__SimpleState__Group_3__4__Impl6813 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__5__Impl_in_rule__SimpleState__Group_3__56844 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__SimpleState__Group_3__5__Impl6872 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__0__Impl_in_rule__SimpleState__Group_3_1__06915 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__1_in_rule__SimpleState__Group_3_1__06918 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_rule__SimpleState__Group_3_1__0__Impl6946 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__1__Impl_in_rule__SimpleState__Group_3_1__16977 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__EntryCodeAssignment_3_1_1_in_rule__SimpleState__Group_3_1__1__Impl7004 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__0__Impl_in_rule__SimpleState__Group_3_2__07038 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__1_in_rule__SimpleState__Group_3_2__07041 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_rule__SimpleState__Group_3_2__0__Impl7069 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__1__Impl_in_rule__SimpleState__Group_3_2__17100 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__ExitCodeAssignment_3_2_1_in_rule__SimpleState__Group_3_2__1__Impl7127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__0__Impl_in_rule__SimpleState__Group_3_3__07161 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__1_in_rule__SimpleState__Group_3_3__07164 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__SimpleState__Group_3_3__0__Impl7192 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__1__Impl_in_rule__SimpleState__Group_3_3__17223 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__DoCodeAssignment_3_3_1_in_rule__SimpleState__Group_3_3__1__Impl7250 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__0__Impl_in_rule__SimpleState__Group_3_4__07284 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__1_in_rule__SimpleState__Group_3_4__07287 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_rule__SimpleState__Group_3_4__0__Impl7315 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__1__Impl_in_rule__SimpleState__Group_3_4__17346 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__SubgraphAssignment_3_4_1_in_rule__SimpleState__Group_3_4__1__Impl7373 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__0__Impl_in_rule__RefinedState__Group__07407 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__1_in_rule__RefinedState__Group__07410 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_rule__RefinedState__Group__0__Impl7438 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__1__Impl_in_rule__RefinedState__Group__17469 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__2_in_rule__RefinedState__Group__17472 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__TargetAssignment_1_in_rule__RefinedState__Group__1__Impl7499 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__2__Impl_in_rule__RefinedState__Group__27529 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__3_in_rule__RefinedState__Group__27532 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__DocuAssignment_2_in_rule__RefinedState__Group__2__Impl7559 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__3__Impl_in_rule__RefinedState__Group__37590 = new BitSet(new long[]{0x0000000790000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__4_in_rule__RefinedState__Group__37593 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__RefinedState__Group__3__Impl7621 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__4__Impl_in_rule__RefinedState__Group__47652 = new BitSet(new long[]{0x0000000790000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__5_in_rule__RefinedState__Group__47655 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_4__0_in_rule__RefinedState__Group__4__Impl7682 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__5__Impl_in_rule__RefinedState__Group__57713 = new BitSet(new long[]{0x0000000790000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__6_in_rule__RefinedState__Group__57716 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_5__0_in_rule__RefinedState__Group__5__Impl7743 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__6__Impl_in_rule__RefinedState__Group__67774 = new BitSet(new long[]{0x0000000790000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__7_in_rule__RefinedState__Group__67777 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_6__0_in_rule__RefinedState__Group__6__Impl7804 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__7__Impl_in_rule__RefinedState__Group__77835 = new BitSet(new long[]{0x0000000790000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__8_in_rule__RefinedState__Group__77838 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_7__0_in_rule__RefinedState__Group__7__Impl7865 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__8__Impl_in_rule__RefinedState__Group__87896 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__RefinedState__Group__8__Impl7924 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_4__0__Impl_in_rule__RefinedState__Group_4__07973 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_4__1_in_rule__RefinedState__Group_4__07976 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_rule__RefinedState__Group_4__0__Impl8004 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_4__1__Impl_in_rule__RefinedState__Group_4__18035 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__EntryCodeAssignment_4_1_in_rule__RefinedState__Group_4__1__Impl8062 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_5__0__Impl_in_rule__RefinedState__Group_5__08096 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_5__1_in_rule__RefinedState__Group_5__08099 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_rule__RefinedState__Group_5__0__Impl8127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_5__1__Impl_in_rule__RefinedState__Group_5__18158 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__ExitCodeAssignment_5_1_in_rule__RefinedState__Group_5__1__Impl8185 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_6__0__Impl_in_rule__RefinedState__Group_6__08219 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_6__1_in_rule__RefinedState__Group_6__08222 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__RefinedState__Group_6__0__Impl8250 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_6__1__Impl_in_rule__RefinedState__Group_6__18281 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__DoCodeAssignment_6_1_in_rule__RefinedState__Group_6__1__Impl8308 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_7__0__Impl_in_rule__RefinedState__Group_7__08342 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_7__1_in_rule__RefinedState__Group_7__08345 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_rule__RefinedState__Group_7__0__Impl8373 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_7__1__Impl_in_rule__RefinedState__Group_7__18404 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__SubgraphAssignment_7_1_in_rule__RefinedState__Group_7__1__Impl8431 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__0__Impl_in_rule__DetailCode__Group__08465 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__1_in_rule__DetailCode__Group__08468 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__1__Impl_in_rule__DetailCode__Group__18526 = new BitSet(new long[]{0x0000000010000100L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__2_in_rule__DetailCode__Group__18529 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DetailCode__UsedAssignment_1_in_rule__DetailCode__Group__1__Impl8556 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__2__Impl_in_rule__DetailCode__Group__28586 = new BitSet(new long[]{0x0000000010000100L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__3_in_rule__DetailCode__Group__28589 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DetailCode__LinesAssignment_2_in_rule__DetailCode__Group__2__Impl8616 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__3__Impl_in_rule__DetailCode__Group__38647 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__DetailCode__Group__3__Impl8675 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__Group__0__Impl_in_rule__TransitionPoint__Group__08714 = new BitSet(new long[]{0x0000001000000000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__Group__1_in_rule__TransitionPoint__Group__08717 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__HandlerAssignment_0_in_rule__TransitionPoint__Group__0__Impl8744 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__Group__1__Impl_in_rule__TransitionPoint__Group__18775 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__Group__2_in_rule__TransitionPoint__Group__18778 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__TransitionPoint__Group__1__Impl8806 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__Group__2__Impl_in_rule__TransitionPoint__Group__28837 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__NameAssignment_2_in_rule__TransitionPoint__Group__2__Impl8864 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EntryPoint__Group__0__Impl_in_rule__EntryPoint__Group__08900 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__EntryPoint__Group__1_in_rule__EntryPoint__Group__08903 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_rule__EntryPoint__Group__0__Impl8931 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EntryPoint__Group__1__Impl_in_rule__EntryPoint__Group__18962 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EntryPoint__NameAssignment_1_in_rule__EntryPoint__Group__1__Impl8989 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExitPoint__Group__0__Impl_in_rule__ExitPoint__Group__09023 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ExitPoint__Group__1_in_rule__ExitPoint__Group__09026 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_38_in_rule__ExitPoint__Group__0__Impl9054 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExitPoint__Group__1__Impl_in_rule__ExitPoint__Group__19085 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExitPoint__NameAssignment_1_in_rule__ExitPoint__Group__1__Impl9112 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__Group__0__Impl_in_rule__ChoicePoint__Group__09146 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__Group__1_in_rule__ChoicePoint__Group__09149 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_39_in_rule__ChoicePoint__Group__0__Impl9177 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__Group__1__Impl_in_rule__ChoicePoint__Group__19208 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__Group__2_in_rule__ChoicePoint__Group__19211 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__NameAssignment_1_in_rule__ChoicePoint__Group__1__Impl9238 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__Group__2__Impl_in_rule__ChoicePoint__Group__29268 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__DocuAssignment_2_in_rule__ChoicePoint__Group__2__Impl9295 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__0__Impl_in_rule__InitialTransition__Group__09332 = new BitSet(new long[]{0x0000020000000010L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__1_in_rule__InitialTransition__Group__09335 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__InitialTransition__Group__0__Impl9363 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__1__Impl_in_rule__InitialTransition__Group__19394 = new BitSet(new long[]{0x0000020000000010L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__2_in_rule__InitialTransition__Group__19397 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__NameAssignment_1_in_rule__InitialTransition__Group__1__Impl9424 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__2__Impl_in_rule__InitialTransition__Group__29455 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__3_in_rule__InitialTransition__Group__29458 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__InitialTransition__Group__2__Impl9486 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__3__Impl_in_rule__InitialTransition__Group__39517 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__4_in_rule__InitialTransition__Group__39520 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__InitialTransition__Group__3__Impl9548 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__4__Impl_in_rule__InitialTransition__Group__49579 = new BitSet(new long[]{0x0014000000000010L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__5_in_rule__InitialTransition__Group__49582 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_rule__InitialTransition__Group__4__Impl9610 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__5__Impl_in_rule__InitialTransition__Group__59641 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__6_in_rule__InitialTransition__Group__59644 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__ToAssignment_5_in_rule__InitialTransition__Group__5__Impl9671 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__6__Impl_in_rule__InitialTransition__Group__69701 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__7_in_rule__InitialTransition__Group__69704 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__DocuAssignment_6_in_rule__InitialTransition__Group__6__Impl9731 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__7__Impl_in_rule__InitialTransition__Group__79762 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__0_in_rule__InitialTransition__Group__7__Impl9789 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__0__Impl_in_rule__InitialTransition__Group_7__09836 = new BitSet(new long[]{0x0000100010000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__1_in_rule__InitialTransition__Group_7__09839 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__InitialTransition__Group_7__0__Impl9867 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__1__Impl_in_rule__InitialTransition__Group_7__19898 = new BitSet(new long[]{0x0000100010000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__2_in_rule__InitialTransition__Group_7__19901 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__0_in_rule__InitialTransition__Group_7__1__Impl9928 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__2__Impl_in_rule__InitialTransition__Group_7__29959 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__InitialTransition__Group_7__2__Impl9987 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__0__Impl_in_rule__InitialTransition__Group_7_1__010024 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__1_in_rule__InitialTransition__Group_7_1__010027 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__InitialTransition__Group_7_1__0__Impl10055 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__1__Impl_in_rule__InitialTransition__Group_7_1__110086 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__ActionAssignment_7_1_1_in_rule__InitialTransition__Group_7_1__1__Impl10113 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__0__Impl_in_rule__ContinuationTransition__Group__010147 = new BitSet(new long[]{0x0000020000000010L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__1_in_rule__ContinuationTransition__Group__010150 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__ContinuationTransition__Group__0__Impl10178 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__1__Impl_in_rule__ContinuationTransition__Group__110209 = new BitSet(new long[]{0x0000020000000010L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__2_in_rule__ContinuationTransition__Group__110212 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__NameAssignment_1_in_rule__ContinuationTransition__Group__1__Impl10239 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__2__Impl_in_rule__ContinuationTransition__Group__210270 = new BitSet(new long[]{0x0014000000000010L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__3_in_rule__ContinuationTransition__Group__210273 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__ContinuationTransition__Group__2__Impl10301 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__3__Impl_in_rule__ContinuationTransition__Group__310332 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__4_in_rule__ContinuationTransition__Group__310335 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__FromAssignment_3_in_rule__ContinuationTransition__Group__3__Impl10362 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__4__Impl_in_rule__ContinuationTransition__Group__410392 = new BitSet(new long[]{0x0014000000000010L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__5_in_rule__ContinuationTransition__Group__410395 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_rule__ContinuationTransition__Group__4__Impl10423 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__5__Impl_in_rule__ContinuationTransition__Group__510454 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__6_in_rule__ContinuationTransition__Group__510457 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__ToAssignment_5_in_rule__ContinuationTransition__Group__5__Impl10484 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__6__Impl_in_rule__ContinuationTransition__Group__610514 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__7_in_rule__ContinuationTransition__Group__610517 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__DocuAssignment_6_in_rule__ContinuationTransition__Group__6__Impl10544 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__7__Impl_in_rule__ContinuationTransition__Group__710575 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__0_in_rule__ContinuationTransition__Group__7__Impl10602 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__0__Impl_in_rule__ContinuationTransition__Group_7__010649 = new BitSet(new long[]{0x0000100010000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__1_in_rule__ContinuationTransition__Group_7__010652 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__ContinuationTransition__Group_7__0__Impl10680 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__1__Impl_in_rule__ContinuationTransition__Group_7__110711 = new BitSet(new long[]{0x0000100010000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__2_in_rule__ContinuationTransition__Group_7__110714 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__0_in_rule__ContinuationTransition__Group_7__1__Impl10741 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__2__Impl_in_rule__ContinuationTransition__Group_7__210772 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__ContinuationTransition__Group_7__2__Impl10800 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__0__Impl_in_rule__ContinuationTransition__Group_7_1__010837 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__1_in_rule__ContinuationTransition__Group_7_1__010840 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__ContinuationTransition__Group_7_1__0__Impl10868 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__1__Impl_in_rule__ContinuationTransition__Group_7_1__110899 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__ActionAssignment_7_1_1_in_rule__ContinuationTransition__Group_7_1__1__Impl10926 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__0__Impl_in_rule__TriggeredTransition__Group__010960 = new BitSet(new long[]{0x0000020000000010L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__1_in_rule__TriggeredTransition__Group__010963 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__TriggeredTransition__Group__0__Impl10991 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__1__Impl_in_rule__TriggeredTransition__Group__111022 = new BitSet(new long[]{0x0000020000000010L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__2_in_rule__TriggeredTransition__Group__111025 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__NameAssignment_1_in_rule__TriggeredTransition__Group__1__Impl11052 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__2__Impl_in_rule__TriggeredTransition__Group__211083 = new BitSet(new long[]{0x0014000000000010L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__3_in_rule__TriggeredTransition__Group__211086 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__TriggeredTransition__Group__2__Impl11114 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__3__Impl_in_rule__TriggeredTransition__Group__311145 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__4_in_rule__TriggeredTransition__Group__311148 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__FromAssignment_3_in_rule__TriggeredTransition__Group__3__Impl11175 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__4__Impl_in_rule__TriggeredTransition__Group__411205 = new BitSet(new long[]{0x0014000000000010L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__5_in_rule__TriggeredTransition__Group__411208 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_rule__TriggeredTransition__Group__4__Impl11236 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__5__Impl_in_rule__TriggeredTransition__Group__511267 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__6_in_rule__TriggeredTransition__Group__511270 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__ToAssignment_5_in_rule__TriggeredTransition__Group__5__Impl11297 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__6__Impl_in_rule__TriggeredTransition__Group__611327 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__7_in_rule__TriggeredTransition__Group__611330 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__DocuAssignment_6_in_rule__TriggeredTransition__Group__6__Impl11357 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__7__Impl_in_rule__TriggeredTransition__Group__711388 = new BitSet(new long[]{0x0000200000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__8_in_rule__TriggeredTransition__Group__711391 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__TriggeredTransition__Group__7__Impl11419 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__8__Impl_in_rule__TriggeredTransition__Group__811450 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__9_in_rule__TriggeredTransition__Group__811453 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_45_in_rule__TriggeredTransition__Group__8__Impl11481 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__9__Impl_in_rule__TriggeredTransition__Group__911512 = new BitSet(new long[]{0x0020000000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__10_in_rule__TriggeredTransition__Group__911515 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__TriggeredTransition__Group__9__Impl11543 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__10__Impl_in_rule__TriggeredTransition__Group__1011574 = new BitSet(new long[]{0x0000400010000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__11_in_rule__TriggeredTransition__Group__1011577 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__TriggersAssignment_10_in_rule__TriggeredTransition__Group__10__Impl11604 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__11__Impl_in_rule__TriggeredTransition__Group__1111634 = new BitSet(new long[]{0x0000400010000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__12_in_rule__TriggeredTransition__Group__1111637 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__0_in_rule__TriggeredTransition__Group__11__Impl11664 = new BitSet(new long[]{0x0000400000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__12__Impl_in_rule__TriggeredTransition__Group__1211695 = new BitSet(new long[]{0x0000100010000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__13_in_rule__TriggeredTransition__Group__1211698 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__TriggeredTransition__Group__12__Impl11726 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__13__Impl_in_rule__TriggeredTransition__Group__1311757 = new BitSet(new long[]{0x0000100010000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__14_in_rule__TriggeredTransition__Group__1311760 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__0_in_rule__TriggeredTransition__Group__13__Impl11787 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__14__Impl_in_rule__TriggeredTransition__Group__1411818 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__TriggeredTransition__Group__14__Impl11846 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__0__Impl_in_rule__TriggeredTransition__Group_11__011907 = new BitSet(new long[]{0x0020000000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__1_in_rule__TriggeredTransition__Group_11__011910 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__TriggeredTransition__Group_11__0__Impl11938 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__1__Impl_in_rule__TriggeredTransition__Group_11__111969 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__TriggersAssignment_11_1_in_rule__TriggeredTransition__Group_11__1__Impl11996 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__0__Impl_in_rule__TriggeredTransition__Group_13__012030 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__1_in_rule__TriggeredTransition__Group_13__012033 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__TriggeredTransition__Group_13__0__Impl12061 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__1__Impl_in_rule__TriggeredTransition__Group_13__112092 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__ActionAssignment_13_1_in_rule__TriggeredTransition__Group_13__1__Impl12119 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__0__Impl_in_rule__GuardedTransition__Group__012153 = new BitSet(new long[]{0x0000020000000010L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__1_in_rule__GuardedTransition__Group__012156 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__GuardedTransition__Group__0__Impl12184 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__1__Impl_in_rule__GuardedTransition__Group__112215 = new BitSet(new long[]{0x0000020000000010L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__2_in_rule__GuardedTransition__Group__112218 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__NameAssignment_1_in_rule__GuardedTransition__Group__1__Impl12245 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__2__Impl_in_rule__GuardedTransition__Group__212276 = new BitSet(new long[]{0x0014000000000010L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__3_in_rule__GuardedTransition__Group__212279 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__GuardedTransition__Group__2__Impl12307 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__3__Impl_in_rule__GuardedTransition__Group__312338 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__4_in_rule__GuardedTransition__Group__312341 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__FromAssignment_3_in_rule__GuardedTransition__Group__3__Impl12368 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__4__Impl_in_rule__GuardedTransition__Group__412398 = new BitSet(new long[]{0x0014000000000010L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__5_in_rule__GuardedTransition__Group__412401 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_rule__GuardedTransition__Group__4__Impl12429 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__5__Impl_in_rule__GuardedTransition__Group__512460 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__6_in_rule__GuardedTransition__Group__512463 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__ToAssignment_5_in_rule__GuardedTransition__Group__5__Impl12490 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__6__Impl_in_rule__GuardedTransition__Group__612520 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__7_in_rule__GuardedTransition__Group__612523 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__DocuAssignment_6_in_rule__GuardedTransition__Group__6__Impl12550 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__7__Impl_in_rule__GuardedTransition__Group__712581 = new BitSet(new long[]{0x0000800000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__8_in_rule__GuardedTransition__Group__712584 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__GuardedTransition__Group__7__Impl12612 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__8__Impl_in_rule__GuardedTransition__Group__812643 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__9_in_rule__GuardedTransition__Group__812646 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__GuardedTransition__Group__8__Impl12674 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__9__Impl_in_rule__GuardedTransition__Group__912705 = new BitSet(new long[]{0x0000100010000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__10_in_rule__GuardedTransition__Group__912708 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__GuardAssignment_9_in_rule__GuardedTransition__Group__9__Impl12735 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__10__Impl_in_rule__GuardedTransition__Group__1012765 = new BitSet(new long[]{0x0000100010000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__11_in_rule__GuardedTransition__Group__1012768 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__0_in_rule__GuardedTransition__Group__10__Impl12795 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__11__Impl_in_rule__GuardedTransition__Group__1112826 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__GuardedTransition__Group__11__Impl12854 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__0__Impl_in_rule__GuardedTransition__Group_10__012909 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__1_in_rule__GuardedTransition__Group_10__012912 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__GuardedTransition__Group_10__0__Impl12940 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__1__Impl_in_rule__GuardedTransition__Group_10__112971 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__ActionAssignment_10_1_in_rule__GuardedTransition__Group_10__1__Impl12998 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__0__Impl_in_rule__CPBranchTransition__Group__013032 = new BitSet(new long[]{0x0000020000000010L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__1_in_rule__CPBranchTransition__Group__013035 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__CPBranchTransition__Group__0__Impl13063 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__1__Impl_in_rule__CPBranchTransition__Group__113094 = new BitSet(new long[]{0x0000020000000010L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__2_in_rule__CPBranchTransition__Group__113097 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__NameAssignment_1_in_rule__CPBranchTransition__Group__1__Impl13124 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__2__Impl_in_rule__CPBranchTransition__Group__213155 = new BitSet(new long[]{0x0014000000000010L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__3_in_rule__CPBranchTransition__Group__213158 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__CPBranchTransition__Group__2__Impl13186 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__3__Impl_in_rule__CPBranchTransition__Group__313217 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__4_in_rule__CPBranchTransition__Group__313220 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__FromAssignment_3_in_rule__CPBranchTransition__Group__3__Impl13247 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__4__Impl_in_rule__CPBranchTransition__Group__413277 = new BitSet(new long[]{0x0014000000000010L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__5_in_rule__CPBranchTransition__Group__413280 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_rule__CPBranchTransition__Group__4__Impl13308 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__5__Impl_in_rule__CPBranchTransition__Group__513339 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__6_in_rule__CPBranchTransition__Group__513342 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__ToAssignment_5_in_rule__CPBranchTransition__Group__5__Impl13369 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__6__Impl_in_rule__CPBranchTransition__Group__613399 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__7_in_rule__CPBranchTransition__Group__613402 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__DocuAssignment_6_in_rule__CPBranchTransition__Group__6__Impl13429 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__7__Impl_in_rule__CPBranchTransition__Group__713460 = new BitSet(new long[]{0x0001000000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__8_in_rule__CPBranchTransition__Group__713463 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__CPBranchTransition__Group__7__Impl13491 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__8__Impl_in_rule__CPBranchTransition__Group__813522 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__9_in_rule__CPBranchTransition__Group__813525 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_48_in_rule__CPBranchTransition__Group__8__Impl13553 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__9__Impl_in_rule__CPBranchTransition__Group__913584 = new BitSet(new long[]{0x0000100010000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__10_in_rule__CPBranchTransition__Group__913587 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__ConditionAssignment_9_in_rule__CPBranchTransition__Group__9__Impl13614 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__10__Impl_in_rule__CPBranchTransition__Group__1013644 = new BitSet(new long[]{0x0000100010000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__11_in_rule__CPBranchTransition__Group__1013647 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__0_in_rule__CPBranchTransition__Group__10__Impl13674 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__11__Impl_in_rule__CPBranchTransition__Group__1113705 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__CPBranchTransition__Group__11__Impl13733 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__0__Impl_in_rule__CPBranchTransition__Group_10__013788 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__1_in_rule__CPBranchTransition__Group_10__013791 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__CPBranchTransition__Group_10__0__Impl13819 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__1__Impl_in_rule__CPBranchTransition__Group_10__113850 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__ActionAssignment_10_1_in_rule__CPBranchTransition__Group_10__1__Impl13877 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__0__Impl_in_rule__RefinedTransition__Group__013911 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__1_in_rule__RefinedTransition__Group__013914 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_49_in_rule__RefinedTransition__Group__0__Impl13942 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__1__Impl_in_rule__RefinedTransition__Group__113973 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__2_in_rule__RefinedTransition__Group__113976 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__TargetAssignment_1_in_rule__RefinedTransition__Group__1__Impl14003 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__2__Impl_in_rule__RefinedTransition__Group__214033 = new BitSet(new long[]{0x0000000008000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__3_in_rule__RefinedTransition__Group__214036 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__DocuAssignment_2_in_rule__RefinedTransition__Group__2__Impl14063 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__3__Impl_in_rule__RefinedTransition__Group__314094 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__4_in_rule__RefinedTransition__Group__314097 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__RefinedTransition__Group__3__Impl14125 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__4__Impl_in_rule__RefinedTransition__Group__414156 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__5_in_rule__RefinedTransition__Group__414159 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__RefinedTransition__Group__4__Impl14187 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__5__Impl_in_rule__RefinedTransition__Group__514218 = new BitSet(new long[]{0x0000000010000000L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__6_in_rule__RefinedTransition__Group__514221 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__ActionAssignment_5_in_rule__RefinedTransition__Group__5__Impl14248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__6__Impl_in_rule__RefinedTransition__Group__614278 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__RefinedTransition__Group__6__Impl14306 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__0__Impl_in_rule__TrPointTerminal__Group__014351 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__1_in_rule__TrPointTerminal__Group__014354 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_rule__TrPointTerminal__Group__0__Impl14382 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__1__Impl_in_rule__TrPointTerminal__Group__114413 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TrPointTerminal__TrPointAssignment_1_in_rule__TrPointTerminal__Group__1__Impl14440 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__0__Impl_in_rule__SubStateTrPointTerminal__Group__014474 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__1_in_rule__SubStateTrPointTerminal__Group__014477 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__TrPointAssignment_0_in_rule__SubStateTrPointTerminal__Group__0__Impl14504 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__1__Impl_in_rule__SubStateTrPointTerminal__Group__114534 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__2_in_rule__SubStateTrPointTerminal__Group__114537 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_51_in_rule__SubStateTrPointTerminal__Group__1__Impl14565 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__2__Impl_in_rule__SubStateTrPointTerminal__Group__214596 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__StateAssignment_2_in_rule__SubStateTrPointTerminal__Group__2__Impl14623 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__0__Impl_in_rule__ChoicepointTerminal__Group__014659 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__1_in_rule__ChoicepointTerminal__Group__014662 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_52_in_rule__ChoicepointTerminal__Group__0__Impl14690 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__1__Impl_in_rule__ChoicepointTerminal__Group__114721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicepointTerminal__CpAssignment_1_in_rule__ChoicepointTerminal__Group__1__Impl14748 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__0__Impl_in_rule__Trigger__Group__014782 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__1_in_rule__Trigger__Group__014785 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_53_in_rule__Trigger__Group__0__Impl14813 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__1__Impl_in_rule__Trigger__Group__114844 = new BitSet(new long[]{0x00C0800000000000L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__2_in_rule__Trigger__Group__114847 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_1_in_rule__Trigger__Group__1__Impl14874 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__2__Impl_in_rule__Trigger__Group__214904 = new BitSet(new long[]{0x00C0800000000000L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__3_in_rule__Trigger__Group__214907 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group_2__0_in_rule__Trigger__Group__2__Impl14934 = new BitSet(new long[]{0x0080000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__3__Impl_in_rule__Trigger__Group__314965 = new BitSet(new long[]{0x00C0800000000000L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__4_in_rule__Trigger__Group__314968 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__GuardAssignment_3_in_rule__Trigger__Group__3__Impl14995 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__4__Impl_in_rule__Trigger__Group__415026 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_54_in_rule__Trigger__Group__4__Impl15054 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group_2__0__Impl_in_rule__Trigger__Group_2__015095 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__Trigger__Group_2__1_in_rule__Trigger__Group_2__015098 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_rule__Trigger__Group_2__0__Impl15126 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group_2__1__Impl_in_rule__Trigger__Group_2__115157 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_2_1_in_rule__Trigger__Group_2__1__Impl15184 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__Group__0__Impl_in_rule__MessageFromIf__Group__015218 = new BitSet(new long[]{0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__Group__1_in_rule__MessageFromIf__Group__015221 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__MessageAssignment_0_in_rule__MessageFromIf__Group__0__Impl15248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__Group__1__Impl_in_rule__MessageFromIf__Group__115278 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__Group__2_in_rule__MessageFromIf__Group__115281 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__MessageFromIf__Group__1__Impl15309 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__Group__2__Impl_in_rule__MessageFromIf__Group__215340 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__FromAssignment_2_in_rule__MessageFromIf__Group__2__Impl15367 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Guard__Group__0__Impl_in_rule__Guard__Group__015403 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__Guard__Group__1_in_rule__Guard__Group__015406 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__Guard__Group__0__Impl15434 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Guard__Group__1__Impl_in_rule__Guard__Group__115465 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Guard__GuardAssignment_1_in_rule__Guard__Group__1__Impl15492 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__0__Impl_in_rule__InSemanticsRule__Group__015527 = new BitSet(new long[]{0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__1_in_rule__InSemanticsRule__Group__015530 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_56_in_rule__InSemanticsRule__Group__0__Impl15558 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__1__Impl_in_rule__InSemanticsRule__Group__115589 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__2_in_rule__InSemanticsRule__Group__115592 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__InSemanticsRule__Group__1__Impl15620 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__2__Impl_in_rule__InSemanticsRule__Group__215651 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__3_in_rule__InSemanticsRule__Group__215654 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__MsgAssignment_2_in_rule__InSemanticsRule__Group__2__Impl15681 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__3__Impl_in_rule__InSemanticsRule__Group__315711 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__0_in_rule__InSemanticsRule__Group__3__Impl15738 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__0__Impl_in_rule__InSemanticsRule__Group_3__015777 = new BitSet(new long[]{0x1300000000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__1_in_rule__InSemanticsRule__Group_3__015780 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_rule__InSemanticsRule__Group_3__0__Impl15808 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__1__Impl_in_rule__InSemanticsRule__Group_3__115839 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Alternatives_3_1_in_rule__InSemanticsRule__Group_3__1__Impl15866 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__0__Impl_in_rule__InSemanticsRule__Group_3_1_1__015900 = new BitSet(new long[]{0x1100000000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__1_in_rule__InSemanticsRule__Group_3_1_1__015903 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_57_in_rule__InSemanticsRule__Group_3_1_1__0__Impl15931 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__1__Impl_in_rule__InSemanticsRule__Group_3_1_1__115962 = new BitSet(new long[]{0x0800000000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__2_in_rule__InSemanticsRule__Group_3_1_1__115965 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__InSemanticsRule__Group_3_1_1__1__Impl15992 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__2__Impl_in_rule__InSemanticsRule__Group_3_1_1__216022 = new BitSet(new long[]{0x0400000000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__3_in_rule__InSemanticsRule__Group_3_1_1__216025 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl16054 = new BitSet(new long[]{0x0800000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl16066 = new BitSet(new long[]{0x0800000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__3__Impl_in_rule__InSemanticsRule__Group_3_1_1__316099 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_58_in_rule__InSemanticsRule__Group_3_1_1__3__Impl16127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__016166 = new BitSet(new long[]{0x1100000000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1_in_rule__InSemanticsRule__Group_3_1_1_2__016169 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_rule__InSemanticsRule__Group_3_1_1_2__0__Impl16197 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__116228 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__InSemanticsRule__Group_3_1_1_2__1__Impl16255 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__0__Impl_in_rule__OutSemanticsRule__Group__016289 = new BitSet(new long[]{0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__1_in_rule__OutSemanticsRule__Group__016292 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_rule__OutSemanticsRule__Group__0__Impl16320 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__1__Impl_in_rule__OutSemanticsRule__Group__116351 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__2_in_rule__OutSemanticsRule__Group__116354 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__OutSemanticsRule__Group__1__Impl16382 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__2__Impl_in_rule__OutSemanticsRule__Group__216413 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__3_in_rule__OutSemanticsRule__Group__216416 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__MsgAssignment_2_in_rule__OutSemanticsRule__Group__2__Impl16443 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__3__Impl_in_rule__OutSemanticsRule__Group__316473 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__0_in_rule__OutSemanticsRule__Group__3__Impl16500 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__0__Impl_in_rule__OutSemanticsRule__Group_3__016539 = new BitSet(new long[]{0x1300000000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__1_in_rule__OutSemanticsRule__Group_3__016542 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_rule__OutSemanticsRule__Group_3__0__Impl16570 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__1__Impl_in_rule__OutSemanticsRule__Group_3__116601 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Alternatives_3_1_in_rule__OutSemanticsRule__Group_3__1__Impl16628 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1__016662 = new BitSet(new long[]{0x1100000000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1_in_rule__OutSemanticsRule__Group_3_1_1__016665 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_57_in_rule__OutSemanticsRule__Group_3_1_1__0__Impl16693 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1__116724 = new BitSet(new long[]{0x0800000000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2_in_rule__OutSemanticsRule__Group_3_1_1__116727 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__OutSemanticsRule__Group_3_1_1__1__Impl16754 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2__Impl_in_rule__OutSemanticsRule__Group_3_1_1__216784 = new BitSet(new long[]{0x0400000000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3_in_rule__OutSemanticsRule__Group_3_1_1__216787 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl16816 = new BitSet(new long[]{0x0800000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl16828 = new BitSet(new long[]{0x0800000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3__Impl_in_rule__OutSemanticsRule__Group_3_1_1__316861 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_58_in_rule__OutSemanticsRule__Group_3_1_1__3__Impl16889 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__016928 = new BitSet(new long[]{0x1100000000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1_in_rule__OutSemanticsRule__Group_3_1_1_2__016931 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl16959 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__116990 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl17017 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__017054 = new BitSet(new long[]{0x2000000000000000L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__017057 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl17084 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__117114 = new BitSet(new long[]{0x000000000001C160L,0x0000000000000044L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__117117 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_61_in_rule__KeyValue__Group__1__Impl17145 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__217176 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl17203 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__017242 = new BitSet(new long[]{0x4000000000000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__017245 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl17272 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__117302 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__117305 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_62_in_rule__SimpleAnnotationAttribute__Group__1__Impl17333 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__217364 = new BitSet(new long[]{0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__217367 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl17394 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__317424 = new BitSet(new long[]{0x0000000001E00000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__317427 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__SimpleAnnotationAttribute__Group__3__Impl17455 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__417486 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl17513 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__017553 = new BitSet(new long[]{0x4000000000000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__017556 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl17583 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__117613 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__117616 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_62_in_rule__EnumAnnotationAttribute__Group__1__Impl17644 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__217675 = new BitSet(new long[]{0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__217678 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl17705 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__317735 = new BitSet(new long[]{0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__317738 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__EnumAnnotationAttribute__Group__3__Impl17766 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__417797 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__417800 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__EnumAnnotationAttribute__Group__4__Impl17828 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__517859 = new BitSet(new long[]{0x0800000010000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__517862 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl17889 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__617919 = new BitSet(new long[]{0x0800000010000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__617922 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl17949 = new BitSet(new long[]{0x0800000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__717980 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__EnumAnnotationAttribute__Group__7__Impl18008 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__018055 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__018058 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_rule__EnumAnnotationAttribute__Group_6__0__Impl18086 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__118117 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl18144 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__018180 = new BitSet(new long[]{0x8000000000000000L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__018183 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl18210 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__118239 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_63_in_rule__ImportedFQN__Group__1__Impl18268 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__018305 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__018308 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__118366 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__118369 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_64_in_rule__Documentation__Group__1__Impl18397 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__218428 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__218431 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl18458 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__318489 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_rule__Documentation__Group__3__Impl18517 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__018562 = new BitSet(new long[]{0x0000000000004000L,0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__018565 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__118623 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl18650 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__018684 = new BitSet(new long[]{0x0000000000018060L,0x0000000000000004L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__018687 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__118745 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl18772 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__018806 = new BitSet(new long[]{0x0000000000018060L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__018809 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__118867 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl18894 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__018928 = new BitSet(new long[]{0x000000000001C160L,0x0000000000000044L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__018931 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__118989 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl19016 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__019050 = new BitSet(new long[]{0x0000000000018040L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__019053 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl19080 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__119111 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl19138 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__019171 = new BitSet(new long[]{0x0000000000018040L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__019174 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl19201 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__119232 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__119235 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl19262 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__219291 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__219294 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_66_in_rule__Decimal__Group__2__Impl19322 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__319353 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl19380 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__019417 = new BitSet(new long[]{0x0000000000018000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__019420 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl19447 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__119478 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__119481 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_66_in_rule__DotDecimal__Group__1__Impl19509 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__219540 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl19567 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__019602 = new BitSet(new long[]{0x0000000000018040L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__019605 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl19632 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__119663 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__119666 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl19693 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__219722 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_66_in_rule__DecimalDot__Group__2__Impl19750 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__019787 = new BitSet(new long[]{0x0000000000018060L,0x0000000000000004L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__019790 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl19817 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__119848 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__119851 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl19878 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__219907 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__219910 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_66_in_rule__DecimalExp__Group__2__Impl19938 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__319969 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__319972 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl19999 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__420028 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl20055 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__020094 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__020097 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl20124 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__120153 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl20180 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__020215 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__020218 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_66_in_rule__FQN__Group_1__0__Impl20246 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__120277 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl20304 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__UnorderedGroup_0__0_in_rule__ModelComponent__UnorderedGroup_020338 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__AbstractAssignment_0_0_in_rule__ModelComponent__UnorderedGroup_0__Impl20425 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__CommTypeAssignment_0_1_in_rule__ModelComponent__UnorderedGroup_0__Impl20516 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__UnorderedGroup_0__Impl_in_rule__ModelComponent__UnorderedGroup_0__020575 = new BitSet(new long[]{0x00000000001E0002L,0x0000000000000008L});
-    public static final BitSet FOLLOW_rule__ModelComponent__UnorderedGroup_0__1_in_rule__ModelComponent__UnorderedGroup_0__020578 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ModelComponent__UnorderedGroup_0__Impl_in_rule__ModelComponent__UnorderedGroup_0__120603 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleModelComponent_in_rule__FSMModel__ComponentsAssignment20635 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_67_in_rule__ModelComponent__AbstractAssignment_0_020671 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleComponentCommunicationType_in_rule__ModelComponent__CommTypeAssignment_0_120710 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ModelComponent__ComponentNameAssignment_220741 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ModelComponent__BaseAssignment_3_120776 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStateMachine_in_rule__ModelComponent__StateMachineAssignment_420811 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleState_in_rule__StateGraph__StatesAssignment_2_020842 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateGraph__TrPointsAssignment_2_120873 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateGraph__ChPointsAssignment_2_220904 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransition_in_rule__StateGraph__TransitionsAssignment_2_320935 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefinedTransition_in_rule__StateGraph__RefinedTransitionsAssignment_2_420966 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleState_in_rule__StateMachine__StatesAssignment_3_020997 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateMachine__TrPointsAssignment_3_121028 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateMachine__ChPointsAssignment_3_221059 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransition_in_rule__StateMachine__TransitionsAssignment_3_321090 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefinedTransition_in_rule__StateMachine__RefinedTransitionsAssignment_3_421121 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleState__NameAssignment_121152 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__SimpleState__DocuAssignment_221183 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__EntryCodeAssignment_3_1_121214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__ExitCodeAssignment_3_2_121245 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__DoCodeAssignment_3_3_121276 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStateGraph_in_rule__SimpleState__SubgraphAssignment_3_4_121307 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__RefinedState__TargetAssignment_121342 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RefinedState__DocuAssignment_221377 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__EntryCodeAssignment_4_121408 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__ExitCodeAssignment_5_121439 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__DoCodeAssignment_6_121470 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStateGraph_in_rule__RefinedState__SubgraphAssignment_7_121501 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__DetailCode__UsedAssignment_121537 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__DetailCode__LinesAssignment_221576 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_68_in_rule__TransitionPoint__HandlerAssignment_021612 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__TransitionPoint__NameAssignment_221651 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EntryPoint__NameAssignment_121682 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ExitPoint__NameAssignment_121713 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ChoicePoint__NameAssignment_121744 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ChoicePoint__DocuAssignment_221775 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__InitialTransition__NameAssignment_121806 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__InitialTransition__ToAssignment_521837 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__InitialTransition__DocuAssignment_621868 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__InitialTransition__ActionAssignment_7_1_121899 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ContinuationTransition__NameAssignment_121930 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__FromAssignment_321961 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__ToAssignment_521992 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ContinuationTransition__DocuAssignment_622023 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ContinuationTransition__ActionAssignment_7_1_122054 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__TriggeredTransition__NameAssignment_122085 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__FromAssignment_322116 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__ToAssignment_522147 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__TriggeredTransition__DocuAssignment_622178 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_1022209 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_11_122240 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__TriggeredTransition__ActionAssignment_13_122271 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__GuardedTransition__NameAssignment_122302 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__FromAssignment_322333 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__ToAssignment_522364 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__GuardedTransition__DocuAssignment_622395 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__GuardedTransition__GuardAssignment_922426 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__GuardedTransition__ActionAssignment_10_122457 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__CPBranchTransition__NameAssignment_122488 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__FromAssignment_322519 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__ToAssignment_522550 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__CPBranchTransition__DocuAssignment_622581 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ConditionAssignment_922612 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ActionAssignment_10_122643 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__RefinedTransition__TargetAssignment_122678 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RefinedTransition__DocuAssignment_222713 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedTransition__ActionAssignment_522744 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__StateTerminal__StateAssignment22779 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__TrPointTerminal__TrPointAssignment_122818 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__TrPointAssignment_022857 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__StateAssignment_222896 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ChoicepointTerminal__CpAssignment_122935 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_122970 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_2_123001 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleGuard_in_rule__Trigger__GuardAssignment_323032 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__MessageFromIf__MessageAssignment_023067 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__MessageFromIf__FromAssignment_223106 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__Guard__GuardAssignment_123142 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__InSemanticsRule__MsgAssignment_223178 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_023213 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_123244 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_123275 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__OutSemanticsRule__MsgAssignment_223310 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_023345 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_123376 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_123407 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_023441 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_223472 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_69_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_023514 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_223553 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_423584 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_69_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_023620 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_223659 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_523690 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_123721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_223754 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_70_in_rule__BooleanLiteral__IsTrueAssignment_1_123792 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_123831 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_123862 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_123893 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal2957 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal2964 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal2990 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal3022 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal3029 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal3059 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp3091 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp3098 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp3128 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN3155 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN3162 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN3188 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ComponentCommunicationType__Alternatives_in_ruleComponentCommunicationType3225 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType3261 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleState_in_rule__StateGraphNode__Alternatives3296 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateGraphNode__Alternatives3313 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateGraphNode__Alternatives3330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__StatesAssignment_2_0_in_rule__StateGraph__Alternatives_23363 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__TrPointsAssignment_2_1_in_rule__StateGraph__Alternatives_23381 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__ChPointsAssignment_2_2_in_rule__StateGraph__Alternatives_23399 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__TransitionsAssignment_2_3_in_rule__StateGraph__Alternatives_23417 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__RefinedTransitionsAssignment_2_4_in_rule__StateGraph__Alternatives_23435 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__StatesAssignment_3_0_in_rule__StateMachine__Alternatives_33468 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__TrPointsAssignment_3_1_in_rule__StateMachine__Alternatives_33486 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__ChPointsAssignment_3_2_in_rule__StateMachine__Alternatives_33504 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__TransitionsAssignment_3_3_in_rule__StateMachine__Alternatives_33522 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__RefinedTransitionsAssignment_3_4_in_rule__StateMachine__Alternatives_33540 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleState_in_rule__State__Alternatives3573 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefinedState_in_rule__State__Alternatives3590 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionPoint_in_rule__TrPoint__Alternatives3622 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEntryPoint_in_rule__TrPoint__Alternatives3639 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleExitPoint_in_rule__TrPoint__Alternatives3656 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInitialTransition_in_rule__Transition__Alternatives3688 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNonInitialTransition_in_rule__Transition__Alternatives3705 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionChainStartTransition_in_rule__NonInitialTransition__Alternatives3737 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleContinuationTransition_in_rule__NonInitialTransition__Alternatives3754 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleCPBranchTransition_in_rule__NonInitialTransition__Alternatives3771 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTriggeredTransition_in_rule__TransitionChainStartTransition__Alternatives3803 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleGuardedTransition_in_rule__TransitionChainStartTransition__Alternatives3820 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStateTerminal_in_rule__TransitionTerminal__Alternatives3852 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrPointTerminal_in_rule__TransitionTerminal__Alternatives3869 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSubStateTrPointTerminal_in_rule__TransitionTerminal__Alternatives3886 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleChoicepointTerminal_in_rule__TransitionTerminal__Alternatives3903 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInSemanticsRule_in_rule__SemanticsRule__Alternatives3935 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleOutSemanticsRule_in_rule__SemanticsRule__Alternatives3952 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__InSemanticsRule__Alternatives_3_13984 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__0_in_rule__InSemanticsRule__Alternatives_3_14002 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__OutSemanticsRule__Alternatives_3_14035 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0_in_rule__OutSemanticsRule__Alternatives_3_14053 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives4087 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives4104 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_04136 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_rule__SimpleAnnotationAttribute__Alternatives_04155 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_04189 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_rule__EnumAnnotationAttribute__Alternatives_04208 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives4244 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives4261 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives4278 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_13_in_rule__BooleanLiteral__Alternatives_14311 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_14330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives4363 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives4380 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives4412 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_rule__Integer__Alternatives4430 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__Integer__Alternatives_0_04463 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__Integer__Alternatives_0_04483 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives4517 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives4534 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__Decimal__Alternatives_04567 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__Decimal__Alternatives_04587 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__DecimalExp__Alternatives_04622 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__DecimalExp__Alternatives_04642 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__DecimalExp__Alternatives_44677 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_rule__DecimalExp__Alternatives_44697 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__DecimalExp__Alternatives_54732 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__DecimalExp__Alternatives_54752 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_18_in_rule__ComponentCommunicationType__Alternatives4787 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_rule__ComponentCommunicationType__Alternatives4808 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_20_in_rule__ComponentCommunicationType__Alternatives4829 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_21_in_rule__ComponentCommunicationType__Alternatives4850 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_22_in_rule__LiteralType__Alternatives4886 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_23_in_rule__LiteralType__Alternatives4907 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_24_in_rule__LiteralType__Alternatives4928 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_25_in_rule__LiteralType__Alternatives4949 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group__0__Impl_in_rule__ModelComponent__Group__04982 = new BitSet(new long[]{0x0000000004000000L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group__1_in_rule__ModelComponent__Group__04985 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__UnorderedGroup_0_in_rule__ModelComponent__Group__0__Impl5012 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group__1__Impl_in_rule__ModelComponent__Group__15042 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group__2_in_rule__ModelComponent__Group__15045 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_26_in_rule__ModelComponent__Group__1__Impl5073 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group__2__Impl_in_rule__ModelComponent__Group__25104 = new BitSet(new long[]{0x0000000048000000L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group__3_in_rule__ModelComponent__Group__25107 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__ComponentNameAssignment_2_in_rule__ModelComponent__Group__2__Impl5134 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group__3__Impl_in_rule__ModelComponent__Group__35164 = new BitSet(new long[]{0x0000000048000000L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group__4_in_rule__ModelComponent__Group__35167 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group_3__0_in_rule__ModelComponent__Group__3__Impl5194 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group__4__Impl_in_rule__ModelComponent__Group__45225 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__StateMachineAssignment_4_in_rule__ModelComponent__Group__4__Impl5252 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group_3__0__Impl_in_rule__ModelComponent__Group_3__05292 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group_3__1_in_rule__ModelComponent__Group_3__05295 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__ModelComponent__Group_3__0__Impl5323 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__Group_3__1__Impl_in_rule__ModelComponent__Group_3__15354 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__BaseAssignment_3_1_in_rule__ModelComponent__Group_3__1__Impl5381 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__0__Impl_in_rule__StateGraph__Group__05415 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__1_in_rule__StateGraph__Group__05418 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__1__Impl_in_rule__StateGraph__Group__15476 = new BitSet(new long[]{0x000403F0A0000000L,0x0000000000000020L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__2_in_rule__StateGraph__Group__15479 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__StateGraph__Group__1__Impl5507 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__2__Impl_in_rule__StateGraph__Group__25538 = new BitSet(new long[]{0x000403F0A0000000L,0x0000000000000020L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__3_in_rule__StateGraph__Group__25541 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__Alternatives_2_in_rule__StateGraph__Group__2__Impl5568 = new BitSet(new long[]{0x000403F080000002L,0x0000000000000020L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__3__Impl_in_rule__StateGraph__Group__35599 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__StateGraph__Group__3__Impl5627 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__0__Impl_in_rule__StateMachine__Group__05666 = new BitSet(new long[]{0x0000000048000000L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__1_in_rule__StateMachine__Group__05669 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__1__Impl_in_rule__StateMachine__Group__15727 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__2_in_rule__StateMachine__Group__15730 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__StateMachine__Group__1__Impl5758 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__2__Impl_in_rule__StateMachine__Group__25789 = new BitSet(new long[]{0x000403F0A0000000L,0x0000000000000020L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__3_in_rule__StateMachine__Group__25792 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__StateMachine__Group__2__Impl5820 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__3__Impl_in_rule__StateMachine__Group__35851 = new BitSet(new long[]{0x000403F0A0000000L,0x0000000000000020L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__4_in_rule__StateMachine__Group__35854 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__Alternatives_3_in_rule__StateMachine__Group__3__Impl5881 = new BitSet(new long[]{0x000403F080000002L,0x0000000000000020L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__4__Impl_in_rule__StateMachine__Group__45912 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__StateMachine__Group__4__Impl5940 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__0__Impl_in_rule__SimpleState__Group__05981 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__1_in_rule__SimpleState__Group__05984 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__SimpleState__Group__0__Impl6012 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__1__Impl_in_rule__SimpleState__Group__16043 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__2_in_rule__SimpleState__Group__16046 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__NameAssignment_1_in_rule__SimpleState__Group__1__Impl6073 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__2__Impl_in_rule__SimpleState__Group__26103 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__3_in_rule__SimpleState__Group__26106 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__DocuAssignment_2_in_rule__SimpleState__Group__2__Impl6133 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__3__Impl_in_rule__SimpleState__Group__36164 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__0_in_rule__SimpleState__Group__3__Impl6191 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__0__Impl_in_rule__SimpleState__Group_3__06230 = new BitSet(new long[]{0x0000000F20000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__1_in_rule__SimpleState__Group_3__06233 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__SimpleState__Group_3__0__Impl6261 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__1__Impl_in_rule__SimpleState__Group_3__16292 = new BitSet(new long[]{0x0000000F20000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__2_in_rule__SimpleState__Group_3__16295 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__0_in_rule__SimpleState__Group_3__1__Impl6322 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__2__Impl_in_rule__SimpleState__Group_3__26353 = new BitSet(new long[]{0x0000000F20000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__3_in_rule__SimpleState__Group_3__26356 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__0_in_rule__SimpleState__Group_3__2__Impl6383 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__3__Impl_in_rule__SimpleState__Group_3__36414 = new BitSet(new long[]{0x0000000F20000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__4_in_rule__SimpleState__Group_3__36417 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__0_in_rule__SimpleState__Group_3__3__Impl6444 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__4__Impl_in_rule__SimpleState__Group_3__46475 = new BitSet(new long[]{0x0000000F20000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__5_in_rule__SimpleState__Group_3__46478 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__0_in_rule__SimpleState__Group_3__4__Impl6505 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__5__Impl_in_rule__SimpleState__Group_3__56536 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__SimpleState__Group_3__5__Impl6564 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__0__Impl_in_rule__SimpleState__Group_3_1__06607 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__1_in_rule__SimpleState__Group_3_1__06610 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_32_in_rule__SimpleState__Group_3_1__0__Impl6638 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__1__Impl_in_rule__SimpleState__Group_3_1__16669 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__EntryCodeAssignment_3_1_1_in_rule__SimpleState__Group_3_1__1__Impl6696 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__0__Impl_in_rule__SimpleState__Group_3_2__06730 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__1_in_rule__SimpleState__Group_3_2__06733 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_rule__SimpleState__Group_3_2__0__Impl6761 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__1__Impl_in_rule__SimpleState__Group_3_2__16792 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__ExitCodeAssignment_3_2_1_in_rule__SimpleState__Group_3_2__1__Impl6819 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__0__Impl_in_rule__SimpleState__Group_3_3__06853 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__1_in_rule__SimpleState__Group_3_3__06856 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__SimpleState__Group_3_3__0__Impl6884 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__1__Impl_in_rule__SimpleState__Group_3_3__16915 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__DoCodeAssignment_3_3_1_in_rule__SimpleState__Group_3_3__1__Impl6942 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__0__Impl_in_rule__SimpleState__Group_3_4__06976 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__1_in_rule__SimpleState__Group_3_4__06979 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_rule__SimpleState__Group_3_4__0__Impl7007 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__1__Impl_in_rule__SimpleState__Group_3_4__17038 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__SubgraphAssignment_3_4_1_in_rule__SimpleState__Group_3_4__1__Impl7065 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__0__Impl_in_rule__RefinedState__Group__07099 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__1_in_rule__RefinedState__Group__07102 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_36_in_rule__RefinedState__Group__0__Impl7130 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__1__Impl_in_rule__RefinedState__Group__17161 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__2_in_rule__RefinedState__Group__17164 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__TargetAssignment_1_in_rule__RefinedState__Group__1__Impl7191 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__2__Impl_in_rule__RefinedState__Group__27221 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__3_in_rule__RefinedState__Group__27224 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__DocuAssignment_2_in_rule__RefinedState__Group__2__Impl7251 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__3__Impl_in_rule__RefinedState__Group__37282 = new BitSet(new long[]{0x0000000F20000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__4_in_rule__RefinedState__Group__37285 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__RefinedState__Group__3__Impl7313 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__4__Impl_in_rule__RefinedState__Group__47344 = new BitSet(new long[]{0x0000000F20000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__5_in_rule__RefinedState__Group__47347 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_4__0_in_rule__RefinedState__Group__4__Impl7374 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__5__Impl_in_rule__RefinedState__Group__57405 = new BitSet(new long[]{0x0000000F20000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__6_in_rule__RefinedState__Group__57408 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_5__0_in_rule__RefinedState__Group__5__Impl7435 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__6__Impl_in_rule__RefinedState__Group__67466 = new BitSet(new long[]{0x0000000F20000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__7_in_rule__RefinedState__Group__67469 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_6__0_in_rule__RefinedState__Group__6__Impl7496 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__7__Impl_in_rule__RefinedState__Group__77527 = new BitSet(new long[]{0x0000000F20000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__8_in_rule__RefinedState__Group__77530 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_7__0_in_rule__RefinedState__Group__7__Impl7557 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__8__Impl_in_rule__RefinedState__Group__87588 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__RefinedState__Group__8__Impl7616 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_4__0__Impl_in_rule__RefinedState__Group_4__07665 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_4__1_in_rule__RefinedState__Group_4__07668 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_32_in_rule__RefinedState__Group_4__0__Impl7696 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_4__1__Impl_in_rule__RefinedState__Group_4__17727 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__EntryCodeAssignment_4_1_in_rule__RefinedState__Group_4__1__Impl7754 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_5__0__Impl_in_rule__RefinedState__Group_5__07788 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_5__1_in_rule__RefinedState__Group_5__07791 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_rule__RefinedState__Group_5__0__Impl7819 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_5__1__Impl_in_rule__RefinedState__Group_5__17850 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__ExitCodeAssignment_5_1_in_rule__RefinedState__Group_5__1__Impl7877 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_6__0__Impl_in_rule__RefinedState__Group_6__07911 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_6__1_in_rule__RefinedState__Group_6__07914 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__RefinedState__Group_6__0__Impl7942 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_6__1__Impl_in_rule__RefinedState__Group_6__17973 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__DoCodeAssignment_6_1_in_rule__RefinedState__Group_6__1__Impl8000 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_7__0__Impl_in_rule__RefinedState__Group_7__08034 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_7__1_in_rule__RefinedState__Group_7__08037 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_rule__RefinedState__Group_7__0__Impl8065 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_7__1__Impl_in_rule__RefinedState__Group_7__18096 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__SubgraphAssignment_7_1_in_rule__RefinedState__Group_7__1__Impl8123 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__0__Impl_in_rule__DetailCode__Group__08157 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__1_in_rule__DetailCode__Group__08160 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__1__Impl_in_rule__DetailCode__Group__18218 = new BitSet(new long[]{0x0000000020000080L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__2_in_rule__DetailCode__Group__18221 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DetailCode__UsedAssignment_1_in_rule__DetailCode__Group__1__Impl8248 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__2__Impl_in_rule__DetailCode__Group__28278 = new BitSet(new long[]{0x0000000020000080L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__3_in_rule__DetailCode__Group__28281 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DetailCode__LinesAssignment_2_in_rule__DetailCode__Group__2__Impl8308 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__3__Impl_in_rule__DetailCode__Group__38339 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__DetailCode__Group__3__Impl8367 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__Group__0__Impl_in_rule__TransitionPoint__Group__08406 = new BitSet(new long[]{0x0000002000000000L,0x0000000000000020L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__Group__1_in_rule__TransitionPoint__Group__08409 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__HandlerAssignment_0_in_rule__TransitionPoint__Group__0__Impl8436 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__Group__1__Impl_in_rule__TransitionPoint__Group__18467 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__Group__2_in_rule__TransitionPoint__Group__18470 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__TransitionPoint__Group__1__Impl8498 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__Group__2__Impl_in_rule__TransitionPoint__Group__28529 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__NameAssignment_2_in_rule__TransitionPoint__Group__2__Impl8556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EntryPoint__Group__0__Impl_in_rule__EntryPoint__Group__08592 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__EntryPoint__Group__1_in_rule__EntryPoint__Group__08595 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_38_in_rule__EntryPoint__Group__0__Impl8623 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EntryPoint__Group__1__Impl_in_rule__EntryPoint__Group__18654 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EntryPoint__NameAssignment_1_in_rule__EntryPoint__Group__1__Impl8681 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExitPoint__Group__0__Impl_in_rule__ExitPoint__Group__08715 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ExitPoint__Group__1_in_rule__ExitPoint__Group__08718 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_39_in_rule__ExitPoint__Group__0__Impl8746 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExitPoint__Group__1__Impl_in_rule__ExitPoint__Group__18777 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExitPoint__NameAssignment_1_in_rule__ExitPoint__Group__1__Impl8804 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__Group__0__Impl_in_rule__ChoicePoint__Group__08838 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__Group__1_in_rule__ChoicePoint__Group__08841 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_40_in_rule__ChoicePoint__Group__0__Impl8869 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__Group__1__Impl_in_rule__ChoicePoint__Group__18900 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__Group__2_in_rule__ChoicePoint__Group__18903 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__NameAssignment_1_in_rule__ChoicePoint__Group__1__Impl8930 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__Group__2__Impl_in_rule__ChoicePoint__Group__28960 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__DocuAssignment_2_in_rule__ChoicePoint__Group__2__Impl8987 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__0__Impl_in_rule__InitialTransition__Group__09024 = new BitSet(new long[]{0x0000040000000010L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__1_in_rule__InitialTransition__Group__09027 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__InitialTransition__Group__0__Impl9055 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__1__Impl_in_rule__InitialTransition__Group__19086 = new BitSet(new long[]{0x0000040000000010L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__2_in_rule__InitialTransition__Group__19089 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__NameAssignment_1_in_rule__InitialTransition__Group__1__Impl9116 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__2__Impl_in_rule__InitialTransition__Group__29147 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__3_in_rule__InitialTransition__Group__29150 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__InitialTransition__Group__2__Impl9178 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__3__Impl_in_rule__InitialTransition__Group__39209 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__4_in_rule__InitialTransition__Group__39212 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__InitialTransition__Group__3__Impl9240 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__4__Impl_in_rule__InitialTransition__Group__49271 = new BitSet(new long[]{0x0028000000000010L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__5_in_rule__InitialTransition__Group__49274 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_rule__InitialTransition__Group__4__Impl9302 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__5__Impl_in_rule__InitialTransition__Group__59333 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__6_in_rule__InitialTransition__Group__59336 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__ToAssignment_5_in_rule__InitialTransition__Group__5__Impl9363 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__6__Impl_in_rule__InitialTransition__Group__69393 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__7_in_rule__InitialTransition__Group__69396 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__DocuAssignment_6_in_rule__InitialTransition__Group__6__Impl9423 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__7__Impl_in_rule__InitialTransition__Group__79454 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__0_in_rule__InitialTransition__Group__7__Impl9481 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__0__Impl_in_rule__InitialTransition__Group_7__09528 = new BitSet(new long[]{0x0000200020000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__1_in_rule__InitialTransition__Group_7__09531 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__InitialTransition__Group_7__0__Impl9559 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__1__Impl_in_rule__InitialTransition__Group_7__19590 = new BitSet(new long[]{0x0000200020000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__2_in_rule__InitialTransition__Group_7__19593 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__0_in_rule__InitialTransition__Group_7__1__Impl9620 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__2__Impl_in_rule__InitialTransition__Group_7__29651 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__InitialTransition__Group_7__2__Impl9679 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__0__Impl_in_rule__InitialTransition__Group_7_1__09716 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__1_in_rule__InitialTransition__Group_7_1__09719 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__InitialTransition__Group_7_1__0__Impl9747 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__1__Impl_in_rule__InitialTransition__Group_7_1__19778 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__ActionAssignment_7_1_1_in_rule__InitialTransition__Group_7_1__1__Impl9805 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__0__Impl_in_rule__ContinuationTransition__Group__09839 = new BitSet(new long[]{0x0000040000000010L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__1_in_rule__ContinuationTransition__Group__09842 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__ContinuationTransition__Group__0__Impl9870 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__1__Impl_in_rule__ContinuationTransition__Group__19901 = new BitSet(new long[]{0x0000040000000010L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__2_in_rule__ContinuationTransition__Group__19904 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__NameAssignment_1_in_rule__ContinuationTransition__Group__1__Impl9931 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__2__Impl_in_rule__ContinuationTransition__Group__29962 = new BitSet(new long[]{0x0028000000000010L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__3_in_rule__ContinuationTransition__Group__29965 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__ContinuationTransition__Group__2__Impl9993 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__3__Impl_in_rule__ContinuationTransition__Group__310024 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__4_in_rule__ContinuationTransition__Group__310027 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__FromAssignment_3_in_rule__ContinuationTransition__Group__3__Impl10054 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__4__Impl_in_rule__ContinuationTransition__Group__410084 = new BitSet(new long[]{0x0028000000000010L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__5_in_rule__ContinuationTransition__Group__410087 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_rule__ContinuationTransition__Group__4__Impl10115 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__5__Impl_in_rule__ContinuationTransition__Group__510146 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__6_in_rule__ContinuationTransition__Group__510149 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__ToAssignment_5_in_rule__ContinuationTransition__Group__5__Impl10176 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__6__Impl_in_rule__ContinuationTransition__Group__610206 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__7_in_rule__ContinuationTransition__Group__610209 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__DocuAssignment_6_in_rule__ContinuationTransition__Group__6__Impl10236 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__7__Impl_in_rule__ContinuationTransition__Group__710267 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__0_in_rule__ContinuationTransition__Group__7__Impl10294 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__0__Impl_in_rule__ContinuationTransition__Group_7__010341 = new BitSet(new long[]{0x0000200020000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__1_in_rule__ContinuationTransition__Group_7__010344 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__ContinuationTransition__Group_7__0__Impl10372 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__1__Impl_in_rule__ContinuationTransition__Group_7__110403 = new BitSet(new long[]{0x0000200020000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__2_in_rule__ContinuationTransition__Group_7__110406 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__0_in_rule__ContinuationTransition__Group_7__1__Impl10433 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__2__Impl_in_rule__ContinuationTransition__Group_7__210464 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__ContinuationTransition__Group_7__2__Impl10492 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__0__Impl_in_rule__ContinuationTransition__Group_7_1__010529 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__1_in_rule__ContinuationTransition__Group_7_1__010532 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__ContinuationTransition__Group_7_1__0__Impl10560 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__1__Impl_in_rule__ContinuationTransition__Group_7_1__110591 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__ActionAssignment_7_1_1_in_rule__ContinuationTransition__Group_7_1__1__Impl10618 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__0__Impl_in_rule__TriggeredTransition__Group__010652 = new BitSet(new long[]{0x0000040000000010L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__1_in_rule__TriggeredTransition__Group__010655 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__TriggeredTransition__Group__0__Impl10683 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__1__Impl_in_rule__TriggeredTransition__Group__110714 = new BitSet(new long[]{0x0000040000000010L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__2_in_rule__TriggeredTransition__Group__110717 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__NameAssignment_1_in_rule__TriggeredTransition__Group__1__Impl10744 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__2__Impl_in_rule__TriggeredTransition__Group__210775 = new BitSet(new long[]{0x0028000000000010L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__3_in_rule__TriggeredTransition__Group__210778 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__TriggeredTransition__Group__2__Impl10806 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__3__Impl_in_rule__TriggeredTransition__Group__310837 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__4_in_rule__TriggeredTransition__Group__310840 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__FromAssignment_3_in_rule__TriggeredTransition__Group__3__Impl10867 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__4__Impl_in_rule__TriggeredTransition__Group__410897 = new BitSet(new long[]{0x0028000000000010L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__5_in_rule__TriggeredTransition__Group__410900 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_rule__TriggeredTransition__Group__4__Impl10928 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__5__Impl_in_rule__TriggeredTransition__Group__510959 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__6_in_rule__TriggeredTransition__Group__510962 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__ToAssignment_5_in_rule__TriggeredTransition__Group__5__Impl10989 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__6__Impl_in_rule__TriggeredTransition__Group__611019 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__7_in_rule__TriggeredTransition__Group__611022 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__DocuAssignment_6_in_rule__TriggeredTransition__Group__6__Impl11049 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__7__Impl_in_rule__TriggeredTransition__Group__711080 = new BitSet(new long[]{0x0000400000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__8_in_rule__TriggeredTransition__Group__711083 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__TriggeredTransition__Group__7__Impl11111 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__8__Impl_in_rule__TriggeredTransition__Group__811142 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__9_in_rule__TriggeredTransition__Group__811145 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_46_in_rule__TriggeredTransition__Group__8__Impl11173 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__9__Impl_in_rule__TriggeredTransition__Group__911204 = new BitSet(new long[]{0x0040000000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__10_in_rule__TriggeredTransition__Group__911207 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__TriggeredTransition__Group__9__Impl11235 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__10__Impl_in_rule__TriggeredTransition__Group__1011266 = new BitSet(new long[]{0x0000800020000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__11_in_rule__TriggeredTransition__Group__1011269 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__TriggersAssignment_10_in_rule__TriggeredTransition__Group__10__Impl11296 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__11__Impl_in_rule__TriggeredTransition__Group__1111326 = new BitSet(new long[]{0x0000800020000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__12_in_rule__TriggeredTransition__Group__1111329 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__0_in_rule__TriggeredTransition__Group__11__Impl11356 = new BitSet(new long[]{0x0000800000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__12__Impl_in_rule__TriggeredTransition__Group__1211387 = new BitSet(new long[]{0x0000200020000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__13_in_rule__TriggeredTransition__Group__1211390 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__TriggeredTransition__Group__12__Impl11418 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__13__Impl_in_rule__TriggeredTransition__Group__1311449 = new BitSet(new long[]{0x0000200020000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__14_in_rule__TriggeredTransition__Group__1311452 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__0_in_rule__TriggeredTransition__Group__13__Impl11479 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__14__Impl_in_rule__TriggeredTransition__Group__1411510 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__TriggeredTransition__Group__14__Impl11538 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__0__Impl_in_rule__TriggeredTransition__Group_11__011599 = new BitSet(new long[]{0x0040000000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__1_in_rule__TriggeredTransition__Group_11__011602 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__TriggeredTransition__Group_11__0__Impl11630 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__1__Impl_in_rule__TriggeredTransition__Group_11__111661 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__TriggersAssignment_11_1_in_rule__TriggeredTransition__Group_11__1__Impl11688 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__0__Impl_in_rule__TriggeredTransition__Group_13__011722 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__1_in_rule__TriggeredTransition__Group_13__011725 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__TriggeredTransition__Group_13__0__Impl11753 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__1__Impl_in_rule__TriggeredTransition__Group_13__111784 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__ActionAssignment_13_1_in_rule__TriggeredTransition__Group_13__1__Impl11811 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__0__Impl_in_rule__GuardedTransition__Group__011845 = new BitSet(new long[]{0x0000040000000010L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__1_in_rule__GuardedTransition__Group__011848 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__GuardedTransition__Group__0__Impl11876 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__1__Impl_in_rule__GuardedTransition__Group__111907 = new BitSet(new long[]{0x0000040000000010L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__2_in_rule__GuardedTransition__Group__111910 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__NameAssignment_1_in_rule__GuardedTransition__Group__1__Impl11937 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__2__Impl_in_rule__GuardedTransition__Group__211968 = new BitSet(new long[]{0x0028000000000010L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__3_in_rule__GuardedTransition__Group__211971 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__GuardedTransition__Group__2__Impl11999 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__3__Impl_in_rule__GuardedTransition__Group__312030 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__4_in_rule__GuardedTransition__Group__312033 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__FromAssignment_3_in_rule__GuardedTransition__Group__3__Impl12060 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__4__Impl_in_rule__GuardedTransition__Group__412090 = new BitSet(new long[]{0x0028000000000010L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__5_in_rule__GuardedTransition__Group__412093 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_rule__GuardedTransition__Group__4__Impl12121 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__5__Impl_in_rule__GuardedTransition__Group__512152 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__6_in_rule__GuardedTransition__Group__512155 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__ToAssignment_5_in_rule__GuardedTransition__Group__5__Impl12182 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__6__Impl_in_rule__GuardedTransition__Group__612212 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__7_in_rule__GuardedTransition__Group__612215 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__DocuAssignment_6_in_rule__GuardedTransition__Group__6__Impl12242 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__7__Impl_in_rule__GuardedTransition__Group__712273 = new BitSet(new long[]{0x0001000000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__8_in_rule__GuardedTransition__Group__712276 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__GuardedTransition__Group__7__Impl12304 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__8__Impl_in_rule__GuardedTransition__Group__812335 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__9_in_rule__GuardedTransition__Group__812338 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__GuardedTransition__Group__8__Impl12366 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__9__Impl_in_rule__GuardedTransition__Group__912397 = new BitSet(new long[]{0x0000200020000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__10_in_rule__GuardedTransition__Group__912400 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__GuardAssignment_9_in_rule__GuardedTransition__Group__9__Impl12427 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__10__Impl_in_rule__GuardedTransition__Group__1012457 = new BitSet(new long[]{0x0000200020000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__11_in_rule__GuardedTransition__Group__1012460 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__0_in_rule__GuardedTransition__Group__10__Impl12487 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__11__Impl_in_rule__GuardedTransition__Group__1112518 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__GuardedTransition__Group__11__Impl12546 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__0__Impl_in_rule__GuardedTransition__Group_10__012601 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__1_in_rule__GuardedTransition__Group_10__012604 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__GuardedTransition__Group_10__0__Impl12632 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__1__Impl_in_rule__GuardedTransition__Group_10__112663 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__ActionAssignment_10_1_in_rule__GuardedTransition__Group_10__1__Impl12690 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__0__Impl_in_rule__CPBranchTransition__Group__012724 = new BitSet(new long[]{0x0000040000000010L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__1_in_rule__CPBranchTransition__Group__012727 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__CPBranchTransition__Group__0__Impl12755 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__1__Impl_in_rule__CPBranchTransition__Group__112786 = new BitSet(new long[]{0x0000040000000010L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__2_in_rule__CPBranchTransition__Group__112789 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__NameAssignment_1_in_rule__CPBranchTransition__Group__1__Impl12816 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__2__Impl_in_rule__CPBranchTransition__Group__212847 = new BitSet(new long[]{0x0028000000000010L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__3_in_rule__CPBranchTransition__Group__212850 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__CPBranchTransition__Group__2__Impl12878 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__3__Impl_in_rule__CPBranchTransition__Group__312909 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__4_in_rule__CPBranchTransition__Group__312912 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__FromAssignment_3_in_rule__CPBranchTransition__Group__3__Impl12939 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__4__Impl_in_rule__CPBranchTransition__Group__412969 = new BitSet(new long[]{0x0028000000000010L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__5_in_rule__CPBranchTransition__Group__412972 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_rule__CPBranchTransition__Group__4__Impl13000 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__5__Impl_in_rule__CPBranchTransition__Group__513031 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__6_in_rule__CPBranchTransition__Group__513034 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__ToAssignment_5_in_rule__CPBranchTransition__Group__5__Impl13061 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__6__Impl_in_rule__CPBranchTransition__Group__613091 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__7_in_rule__CPBranchTransition__Group__613094 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__DocuAssignment_6_in_rule__CPBranchTransition__Group__6__Impl13121 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__7__Impl_in_rule__CPBranchTransition__Group__713152 = new BitSet(new long[]{0x0002000000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__8_in_rule__CPBranchTransition__Group__713155 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__CPBranchTransition__Group__7__Impl13183 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__8__Impl_in_rule__CPBranchTransition__Group__813214 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__9_in_rule__CPBranchTransition__Group__813217 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_49_in_rule__CPBranchTransition__Group__8__Impl13245 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__9__Impl_in_rule__CPBranchTransition__Group__913276 = new BitSet(new long[]{0x0000200020000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__10_in_rule__CPBranchTransition__Group__913279 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__ConditionAssignment_9_in_rule__CPBranchTransition__Group__9__Impl13306 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__10__Impl_in_rule__CPBranchTransition__Group__1013336 = new BitSet(new long[]{0x0000200020000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__11_in_rule__CPBranchTransition__Group__1013339 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__0_in_rule__CPBranchTransition__Group__10__Impl13366 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__11__Impl_in_rule__CPBranchTransition__Group__1113397 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__CPBranchTransition__Group__11__Impl13425 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__0__Impl_in_rule__CPBranchTransition__Group_10__013480 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__1_in_rule__CPBranchTransition__Group_10__013483 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__CPBranchTransition__Group_10__0__Impl13511 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__1__Impl_in_rule__CPBranchTransition__Group_10__113542 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__ActionAssignment_10_1_in_rule__CPBranchTransition__Group_10__1__Impl13569 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__0__Impl_in_rule__RefinedTransition__Group__013603 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__1_in_rule__RefinedTransition__Group__013606 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_50_in_rule__RefinedTransition__Group__0__Impl13634 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__1__Impl_in_rule__RefinedTransition__Group__113665 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__2_in_rule__RefinedTransition__Group__113668 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__TargetAssignment_1_in_rule__RefinedTransition__Group__1__Impl13695 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__2__Impl_in_rule__RefinedTransition__Group__213725 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__3_in_rule__RefinedTransition__Group__213728 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__DocuAssignment_2_in_rule__RefinedTransition__Group__2__Impl13755 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__3__Impl_in_rule__RefinedTransition__Group__313786 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__4_in_rule__RefinedTransition__Group__313789 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__RefinedTransition__Group__3__Impl13817 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__4__Impl_in_rule__RefinedTransition__Group__413848 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__5_in_rule__RefinedTransition__Group__413851 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__RefinedTransition__Group__4__Impl13879 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__5__Impl_in_rule__RefinedTransition__Group__513910 = new BitSet(new long[]{0x0000000020000000L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__6_in_rule__RefinedTransition__Group__513913 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__ActionAssignment_5_in_rule__RefinedTransition__Group__5__Impl13940 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__6__Impl_in_rule__RefinedTransition__Group__613970 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__RefinedTransition__Group__6__Impl13998 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__0__Impl_in_rule__TrPointTerminal__Group__014043 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__1_in_rule__TrPointTerminal__Group__014046 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_rule__TrPointTerminal__Group__0__Impl14074 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__1__Impl_in_rule__TrPointTerminal__Group__114105 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TrPointTerminal__TrPointAssignment_1_in_rule__TrPointTerminal__Group__1__Impl14132 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__0__Impl_in_rule__SubStateTrPointTerminal__Group__014166 = new BitSet(new long[]{0x0010000000000000L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__1_in_rule__SubStateTrPointTerminal__Group__014169 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__TrPointAssignment_0_in_rule__SubStateTrPointTerminal__Group__0__Impl14196 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__1__Impl_in_rule__SubStateTrPointTerminal__Group__114226 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__2_in_rule__SubStateTrPointTerminal__Group__114229 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_52_in_rule__SubStateTrPointTerminal__Group__1__Impl14257 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__2__Impl_in_rule__SubStateTrPointTerminal__Group__214288 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__StateAssignment_2_in_rule__SubStateTrPointTerminal__Group__2__Impl14315 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__0__Impl_in_rule__ChoicepointTerminal__Group__014351 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__1_in_rule__ChoicepointTerminal__Group__014354 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_53_in_rule__ChoicepointTerminal__Group__0__Impl14382 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__1__Impl_in_rule__ChoicepointTerminal__Group__114413 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicepointTerminal__CpAssignment_1_in_rule__ChoicepointTerminal__Group__1__Impl14440 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__0__Impl_in_rule__Trigger__Group__014474 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__1_in_rule__Trigger__Group__014477 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_54_in_rule__Trigger__Group__0__Impl14505 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__1__Impl_in_rule__Trigger__Group__114536 = new BitSet(new long[]{0x0181000000000000L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__2_in_rule__Trigger__Group__114539 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_1_in_rule__Trigger__Group__1__Impl14566 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__2__Impl_in_rule__Trigger__Group__214596 = new BitSet(new long[]{0x0181000000000000L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__3_in_rule__Trigger__Group__214599 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group_2__0_in_rule__Trigger__Group__2__Impl14626 = new BitSet(new long[]{0x0100000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__3__Impl_in_rule__Trigger__Group__314657 = new BitSet(new long[]{0x0181000000000000L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__4_in_rule__Trigger__Group__314660 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__GuardAssignment_3_in_rule__Trigger__Group__3__Impl14687 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__4__Impl_in_rule__Trigger__Group__414718 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_55_in_rule__Trigger__Group__4__Impl14746 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group_2__0__Impl_in_rule__Trigger__Group_2__014787 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__Trigger__Group_2__1_in_rule__Trigger__Group_2__014790 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_56_in_rule__Trigger__Group_2__0__Impl14818 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group_2__1__Impl_in_rule__Trigger__Group_2__114849 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_2_1_in_rule__Trigger__Group_2__1__Impl14876 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__Group__0__Impl_in_rule__MessageFromIf__Group__014910 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__Group__1_in_rule__MessageFromIf__Group__014913 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__MessageAssignment_0_in_rule__MessageFromIf__Group__0__Impl14940 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__Group__1__Impl_in_rule__MessageFromIf__Group__114970 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__Group__2_in_rule__MessageFromIf__Group__114973 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__MessageFromIf__Group__1__Impl15001 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__Group__2__Impl_in_rule__MessageFromIf__Group__215032 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__FromAssignment_2_in_rule__MessageFromIf__Group__2__Impl15059 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Guard__Group__0__Impl_in_rule__Guard__Group__015095 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__Guard__Group__1_in_rule__Guard__Group__015098 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__Guard__Group__0__Impl15126 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Guard__Group__1__Impl_in_rule__Guard__Group__115157 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Guard__GuardAssignment_1_in_rule__Guard__Group__1__Impl15184 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__0__Impl_in_rule__InSemanticsRule__Group__015219 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__1_in_rule__InSemanticsRule__Group__015222 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_57_in_rule__InSemanticsRule__Group__0__Impl15250 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__1__Impl_in_rule__InSemanticsRule__Group__115281 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__2_in_rule__InSemanticsRule__Group__115284 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__InSemanticsRule__Group__1__Impl15312 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__2__Impl_in_rule__InSemanticsRule__Group__215343 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__3_in_rule__InSemanticsRule__Group__215346 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__MsgAssignment_2_in_rule__InSemanticsRule__Group__2__Impl15373 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__3__Impl_in_rule__InSemanticsRule__Group__315403 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__0_in_rule__InSemanticsRule__Group__3__Impl15430 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__0__Impl_in_rule__InSemanticsRule__Group_3__015469 = new BitSet(new long[]{0x2600000000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__1_in_rule__InSemanticsRule__Group_3__015472 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_rule__InSemanticsRule__Group_3__0__Impl15500 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__1__Impl_in_rule__InSemanticsRule__Group_3__115531 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Alternatives_3_1_in_rule__InSemanticsRule__Group_3__1__Impl15558 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__0__Impl_in_rule__InSemanticsRule__Group_3_1_1__015592 = new BitSet(new long[]{0x2200000000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__1_in_rule__InSemanticsRule__Group_3_1_1__015595 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_58_in_rule__InSemanticsRule__Group_3_1_1__0__Impl15623 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__1__Impl_in_rule__InSemanticsRule__Group_3_1_1__115654 = new BitSet(new long[]{0x1000000000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__2_in_rule__InSemanticsRule__Group_3_1_1__115657 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__InSemanticsRule__Group_3_1_1__1__Impl15684 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__2__Impl_in_rule__InSemanticsRule__Group_3_1_1__215714 = new BitSet(new long[]{0x0800000000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__3_in_rule__InSemanticsRule__Group_3_1_1__215717 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl15746 = new BitSet(new long[]{0x1000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl15758 = new BitSet(new long[]{0x1000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__3__Impl_in_rule__InSemanticsRule__Group_3_1_1__315791 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_rule__InSemanticsRule__Group_3_1_1__3__Impl15819 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__015858 = new BitSet(new long[]{0x2200000000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1_in_rule__InSemanticsRule__Group_3_1_1_2__015861 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_rule__InSemanticsRule__Group_3_1_1_2__0__Impl15889 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__115920 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__InSemanticsRule__Group_3_1_1_2__1__Impl15947 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__0__Impl_in_rule__OutSemanticsRule__Group__015981 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__1_in_rule__OutSemanticsRule__Group__015984 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_61_in_rule__OutSemanticsRule__Group__0__Impl16012 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__1__Impl_in_rule__OutSemanticsRule__Group__116043 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__2_in_rule__OutSemanticsRule__Group__116046 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__OutSemanticsRule__Group__1__Impl16074 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__2__Impl_in_rule__OutSemanticsRule__Group__216105 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__3_in_rule__OutSemanticsRule__Group__216108 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__MsgAssignment_2_in_rule__OutSemanticsRule__Group__2__Impl16135 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__3__Impl_in_rule__OutSemanticsRule__Group__316165 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__0_in_rule__OutSemanticsRule__Group__3__Impl16192 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__0__Impl_in_rule__OutSemanticsRule__Group_3__016231 = new BitSet(new long[]{0x2600000000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__1_in_rule__OutSemanticsRule__Group_3__016234 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_rule__OutSemanticsRule__Group_3__0__Impl16262 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__1__Impl_in_rule__OutSemanticsRule__Group_3__116293 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Alternatives_3_1_in_rule__OutSemanticsRule__Group_3__1__Impl16320 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1__016354 = new BitSet(new long[]{0x2200000000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1_in_rule__OutSemanticsRule__Group_3_1_1__016357 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_58_in_rule__OutSemanticsRule__Group_3_1_1__0__Impl16385 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1__116416 = new BitSet(new long[]{0x1000000000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2_in_rule__OutSemanticsRule__Group_3_1_1__116419 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__OutSemanticsRule__Group_3_1_1__1__Impl16446 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2__Impl_in_rule__OutSemanticsRule__Group_3_1_1__216476 = new BitSet(new long[]{0x0800000000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3_in_rule__OutSemanticsRule__Group_3_1_1__216479 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl16508 = new BitSet(new long[]{0x1000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl16520 = new BitSet(new long[]{0x1000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3__Impl_in_rule__OutSemanticsRule__Group_3_1_1__316553 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_rule__OutSemanticsRule__Group_3_1_1__3__Impl16581 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__016620 = new BitSet(new long[]{0x2200000000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1_in_rule__OutSemanticsRule__Group_3_1_1_2__016623 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl16651 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__116682 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl16709 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__016746 = new BitSet(new long[]{0x4000000000000000L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__016749 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl16776 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__116806 = new BitSet(new long[]{0x000000000000E0E0L,0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__116809 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_62_in_rule__KeyValue__Group__1__Impl16837 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__216868 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl16895 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__016934 = new BitSet(new long[]{0x8000000000000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__016937 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl16964 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__116994 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__116997 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_63_in_rule__SimpleAnnotationAttribute__Group__1__Impl17025 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__217056 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__217059 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl17086 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__317116 = new BitSet(new long[]{0x0000000003C00000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__317119 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__SimpleAnnotationAttribute__Group__3__Impl17147 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__417178 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl17205 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__017245 = new BitSet(new long[]{0x8000000000000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__017248 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl17275 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__117305 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__117308 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_63_in_rule__EnumAnnotationAttribute__Group__1__Impl17336 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__217367 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__217370 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl17397 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__317427 = new BitSet(new long[]{0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__317430 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__EnumAnnotationAttribute__Group__3__Impl17458 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__417489 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__417492 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__EnumAnnotationAttribute__Group__4__Impl17520 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__517551 = new BitSet(new long[]{0x1000000020000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__517554 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl17581 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__617611 = new BitSet(new long[]{0x1000000020000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__617614 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl17641 = new BitSet(new long[]{0x1000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__717672 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__EnumAnnotationAttribute__Group__7__Impl17700 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__017747 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__017750 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_rule__EnumAnnotationAttribute__Group_6__0__Impl17778 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__117809 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl17836 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__017872 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__017875 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl17902 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__117931 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_64_in_rule__ImportedFQN__Group__1__Impl17960 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__017997 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__018000 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__118058 = new BitSet(new long[]{0x0000000000000080L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__118061 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_65_in_rule__Documentation__Group__1__Impl18089 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__218120 = new BitSet(new long[]{0x0000000000000080L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__218123 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl18150 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__318181 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_66_in_rule__Documentation__Group__3__Impl18209 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__018254 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__018257 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__118315 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl18342 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__018376 = new BitSet(new long[]{0x000000000000C060L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__018379 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__118437 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl18464 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__018498 = new BitSet(new long[]{0x000000000000C060L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__018501 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__118559 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl18586 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__018620 = new BitSet(new long[]{0x000000000000E0E0L,0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__018623 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__118681 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl18708 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__018742 = new BitSet(new long[]{0x000000000000C040L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__018745 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl18772 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__118803 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl18830 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__018863 = new BitSet(new long[]{0x000000000000C040L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__018866 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl18893 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__118924 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__118927 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl18954 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__218983 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__218986 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_67_in_rule__Decimal__Group__2__Impl19014 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__319045 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl19072 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__019109 = new BitSet(new long[]{0x000000000000C060L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__019112 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl19139 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__119170 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__119173 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl19200 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__219229 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__219232 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_67_in_rule__DecimalExp__Group__2__Impl19260 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__319291 = new BitSet(new long[]{0x0000000000030000L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__319294 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl19321 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__419350 = new BitSet(new long[]{0x000000000000C040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__419353 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl19380 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__519410 = new BitSet(new long[]{0x000000000000C040L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__519413 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl19440 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__619471 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl19498 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__019541 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__019544 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl19571 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__119600 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl19627 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__019662 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__019665 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_67_in_rule__FQN__Group_1__0__Impl19693 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__119724 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl19751 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__UnorderedGroup_0__0_in_rule__ModelComponent__UnorderedGroup_019785 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__AbstractAssignment_0_0_in_rule__ModelComponent__UnorderedGroup_0__Impl19872 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__CommTypeAssignment_0_1_in_rule__ModelComponent__UnorderedGroup_0__Impl19963 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__UnorderedGroup_0__Impl_in_rule__ModelComponent__UnorderedGroup_0__020022 = new BitSet(new long[]{0x00000000003C0002L,0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__ModelComponent__UnorderedGroup_0__1_in_rule__ModelComponent__UnorderedGroup_0__020025 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ModelComponent__UnorderedGroup_0__Impl_in_rule__ModelComponent__UnorderedGroup_0__120050 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleModelComponent_in_rule__FSMModel__ComponentsAssignment20082 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_68_in_rule__ModelComponent__AbstractAssignment_0_020118 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleComponentCommunicationType_in_rule__ModelComponent__CommTypeAssignment_0_120157 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ModelComponent__ComponentNameAssignment_220188 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ModelComponent__BaseAssignment_3_120223 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStateMachine_in_rule__ModelComponent__StateMachineAssignment_420258 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleState_in_rule__StateGraph__StatesAssignment_2_020289 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateGraph__TrPointsAssignment_2_120320 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateGraph__ChPointsAssignment_2_220351 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransition_in_rule__StateGraph__TransitionsAssignment_2_320382 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefinedTransition_in_rule__StateGraph__RefinedTransitionsAssignment_2_420413 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleState_in_rule__StateMachine__StatesAssignment_3_020444 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateMachine__TrPointsAssignment_3_120475 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateMachine__ChPointsAssignment_3_220506 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransition_in_rule__StateMachine__TransitionsAssignment_3_320537 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefinedTransition_in_rule__StateMachine__RefinedTransitionsAssignment_3_420568 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleState__NameAssignment_120599 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__SimpleState__DocuAssignment_220630 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__EntryCodeAssignment_3_1_120661 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__ExitCodeAssignment_3_2_120692 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__DoCodeAssignment_3_3_120723 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStateGraph_in_rule__SimpleState__SubgraphAssignment_3_4_120754 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__RefinedState__TargetAssignment_120789 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RefinedState__DocuAssignment_220824 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__EntryCodeAssignment_4_120855 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__ExitCodeAssignment_5_120886 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__DoCodeAssignment_6_120917 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStateGraph_in_rule__RefinedState__SubgraphAssignment_7_120948 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__DetailCode__UsedAssignment_120984 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__DetailCode__LinesAssignment_221023 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_69_in_rule__TransitionPoint__HandlerAssignment_021059 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__TransitionPoint__NameAssignment_221098 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EntryPoint__NameAssignment_121129 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ExitPoint__NameAssignment_121160 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ChoicePoint__NameAssignment_121191 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ChoicePoint__DocuAssignment_221222 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__InitialTransition__NameAssignment_121253 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__InitialTransition__ToAssignment_521284 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__InitialTransition__DocuAssignment_621315 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__InitialTransition__ActionAssignment_7_1_121346 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ContinuationTransition__NameAssignment_121377 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__FromAssignment_321408 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__ToAssignment_521439 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ContinuationTransition__DocuAssignment_621470 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ContinuationTransition__ActionAssignment_7_1_121501 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__TriggeredTransition__NameAssignment_121532 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__FromAssignment_321563 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__ToAssignment_521594 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__TriggeredTransition__DocuAssignment_621625 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_1021656 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_11_121687 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__TriggeredTransition__ActionAssignment_13_121718 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__GuardedTransition__NameAssignment_121749 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__FromAssignment_321780 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__ToAssignment_521811 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__GuardedTransition__DocuAssignment_621842 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__GuardedTransition__GuardAssignment_921873 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__GuardedTransition__ActionAssignment_10_121904 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__CPBranchTransition__NameAssignment_121935 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__FromAssignment_321966 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__ToAssignment_521997 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__CPBranchTransition__DocuAssignment_622028 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ConditionAssignment_922059 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ActionAssignment_10_122090 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__RefinedTransition__TargetAssignment_122125 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RefinedTransition__DocuAssignment_222160 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedTransition__ActionAssignment_522191 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__StateTerminal__StateAssignment22226 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__TrPointTerminal__TrPointAssignment_122265 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__TrPointAssignment_022304 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__StateAssignment_222343 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ChoicepointTerminal__CpAssignment_122382 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_122417 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_2_122448 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleGuard_in_rule__Trigger__GuardAssignment_322479 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__MessageFromIf__MessageAssignment_022514 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__MessageFromIf__FromAssignment_222553 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__Guard__GuardAssignment_122589 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__InSemanticsRule__MsgAssignment_222625 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_022660 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_122691 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_122722 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__OutSemanticsRule__MsgAssignment_222757 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_022792 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_122823 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_122854 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_022888 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_222919 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_70_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_022961 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_223000 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_423031 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_70_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_023067 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_223106 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_523137 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_123168 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_223201 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_71_in_rule__BooleanLiteral__IsTrueAssignment_1_123239 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_123278 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_123309 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_123340 = new BitSet(new long[]{0x0000000000000002L});
 
 }
diff --git "a/plugins/org.eclipse.etrice.core.fsm/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.fsm\051.launch" "b/plugins/org.eclipse.etrice.core.fsm/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.fsm\051.launch"
index 62ebfea..76f635b 100644
--- "a/plugins/org.eclipse.etrice.core.fsm/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.fsm\051.launch"
+++ "b/plugins/org.eclipse.etrice.core.fsm/.launch/Generate Language Infrastructure \050org.eclipse.etrice.core.fsm\051.launch"
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.fsm&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.fsm.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.fsm.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.etrice.core.fsm.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;resources&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.fsm&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.fsm.generator&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.fsm.tests&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;item path=&quot;/org.eclipse.etrice.core.fsm.ui&quot; type=&quot;4&quot;/&gt;&#13;&#10;&lt;/resources&gt;}"/>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
 <listEntry value="/org.eclipse.etrice.core.fsm"/>
 </listAttribute>
@@ -11,6 +11,7 @@
 <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
 <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
 </listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/etrice/core/fsm/GenerateFSM.mwe2"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.core.fsm"/>
diff --git a/plugins/org.eclipse.etrice.core.fsm/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.fsm/META-INF/MANIFEST.MF
index b2ddd4e..9e8dbcb 100644
--- a/plugins/org.eclipse.etrice.core.fsm/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.fsm/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: FSM DSL
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.fsm; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.1.0",
  org.eclipse.xtext;bundle-version="2.6.0";visibility:=reexport,
  org.eclipse.xtext.xbase;bundle-version="2.6.0";resolution:=optional;visibility:=reexport,
  org.eclipse.xtext.generator;bundle-version="2.6.0";resolution:=optional,
@@ -19,7 +19,8 @@
  org.eclipse.emf.common,
  org.antlr.runtime,
  org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional,
- com.google.guava;bundle-version="8.0.0"
+ com.google.guava;bundle-version="8.0.0",
+ org.eclipse.xtext.xbase.lib
 Import-Package: org.apache.log4j,
  org.eclipse.xtext.xbase.lib
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
@@ -37,3 +38,4 @@
  org.eclipse.etrice.core.fsm.services,
  org.eclipse.etrice.core.fsm.util,
  org.eclipse.etrice.core.fsm.validation
+
diff --git a/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore b/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore
index 631bfa5..654a0ab 100644
--- a/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore
+++ b/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore
@@ -21,427 +21,432 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="StateGraphNode" eSuperTypes="#//StateGraphItem">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The super class of&#xA;&lt;ul>&#xA;  &lt;li>{@link State}&lt;/li>&#xA;  &lt;li>{@link ChoicePoint}&lt;/li>&#xA;  &lt;li>{@link TrPoint}&lt;/li>&#xA;&lt;/ul>&#xA;"/>
+      <details key="documentation" value="&lt;br>The super class of&#xD;&#xA;&lt;ul>&#xD;&#xA;  &lt;li>{@link State}&lt;/li>&#xD;&#xA;  &lt;li>{@link ChoicePoint}&lt;/li>&#xD;&#xA;  &lt;li>{@link TrPoint}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
     </eAnnotations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="StateGraphItem">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The super class of&#xA;&lt;ul>&#xA;  &lt;li>{@link StateGraphNode}&lt;/li>&#xA;  &lt;li>{@link Transition}&lt;/li>&#xA;&lt;/ul>&#xA;"/>
+      <details key="documentation" value="&lt;br>The super class of&#xD;&#xA;&lt;ul>&#xD;&#xA;  &lt;li>{@link StateGraphNode}&lt;/li>&#xD;&#xA;  &lt;li>{@link Transition}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
     </eAnnotations>
     <eOperations name="getName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="body" value="if (this instanceof &lt;%org.eclipse.etrice.core.fsm.fSM.State%>) &#xA;&#x9;return ((State)this).getName();&#xA;else if (this instanceof &lt;%org.eclipse.etrice.core.fsm.fSM.TrPoint%>)&#xA;&#x9;return ((TrPoint)this).getName();&#xA;else if (this instanceof &lt;%org.eclipse.etrice.core.fsm.fSM.ChoicePoint%>)&#xA;&#x9;return ((ChoicePoint)this).getName();&#xA;else if (this instanceof &lt;%org.eclipse.etrice.core.fsm.fSM.Transition%>)&#xA;&#x9;return ((Transition)this).getName();&#xA;return &quot;&quot;;&#xA;"/>
+        <details key="body" value="if (this instanceof &lt;%org.eclipse.etrice.core.fsm.fSM.State%>) &#xD;&#xA;&#x9;return ((State)this).getName();&#xD;&#xA;else if (this instanceof &lt;%org.eclipse.etrice.core.fsm.fSM.TrPoint%>)&#xD;&#xA;&#x9;return ((TrPoint)this).getName();&#xD;&#xA;else if (this instanceof &lt;%org.eclipse.etrice.core.fsm.fSM.ChoicePoint%>)&#xD;&#xA;&#x9;return ((ChoicePoint)this).getName();&#xD;&#xA;else if (this instanceof &lt;%org.eclipse.etrice.core.fsm.fSM.Transition%>)&#xD;&#xA;&#x9;return ((Transition)this).getName();&#xD;&#xA;return &quot;&quot;;&#xD;&#xA;"/>
       </eAnnotations>
     </eOperations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="StateGraph">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>A state graph is a directed graph composed of&#xA;{@link StateGraphNode}s as nodes and {@link Transition}s as edges.&#xA;"/>
+      <details key="documentation" value="&lt;br>A state graph is a directed graph composed of&#xD;&#xA;{@link StateGraphNode}s as nodes and {@link Transition}s as edges.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="states" upperBound="-1"
         eType="#//State" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is a list of all states of this state graph.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is a list of all states of this state graph.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="trPoints" upperBound="-1"
         eType="#//TrPoint" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is a list of all transition, entry and exit points of this state graph.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is a list of all transition, entry and exit points of this state graph.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="chPoints" upperBound="-1"
         eType="#//ChoicePoint" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is a list of all choice points of this state graph.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is a list of all choice points of this state graph.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="transitions" upperBound="-1"
         eType="#//Transition" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is a list of all transitions of this state graph.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is a list of all transitions of this state graph.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="refinedTransitions" upperBound="-1"
         eType="#//RefinedTransition" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is a list of all refined transitions of this state graph.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is a list of all refined transitions of this state graph.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//StateGraphNode">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The super class of&#xA;&lt;ul>&#xA;  &lt;li>{@link SimpleState}&lt;/li>&#xA;  &lt;li>{@link RefinedState}&lt;/li>&#xA;&lt;/ul>&#xA;"/>
+      <details key="documentation" value="&lt;br>The super class of&#xD;&#xA;&lt;ul>&#xD;&#xA;  &lt;li>{@link SimpleState}&lt;/li>&#xD;&#xA;  &lt;li>{@link RefinedState}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
     </eAnnotations>
     <eOperations name="getName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="body" value="return (this instanceof &lt;%org.eclipse.etrice.core.fsm.fSM.SimpleState%>)? ((SimpleState)this).getName() :(this instanceof &lt;%org.eclipse.etrice.core.fsm.fSM.RefinedState%>)? (((RefinedState)this).getTarget()==null? &quot;&quot;:((RefinedState)this).getTarget().getName()) :&quot;&quot;;"/>
       </eAnnotations>
     </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional documentation.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional documentation.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="entryCode" eType="#//DetailCode"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional entry code written in the code generator's target language.&#xA;It is executed when the state is entered.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional entry code written in the code generator's target language.&#xD;&#xA;It is executed when the state is entered.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="exitCode" eType="#//DetailCode"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional entry code written in the code generator's target language.&#xA;It is executed when the state is left.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional entry code written in the code generator's target language.&#xD;&#xA;It is executed when the state is left.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="doCode" eType="#//DetailCode"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional do code written in the code generator's target language.&#xA;It is executed whenever the actor instance is polled (applies only to&#xA;data driven and sync actor classes).&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional do code written in the code generator's target language.&#xD;&#xA;It is executed whenever the actor instance is polled (applies only to&#xD;&#xA;data driven and sync actor classes).&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="subgraph" eType="#//StateGraph"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional sub state graph of this state.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional sub state graph of this state.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="SimpleState" eSuperTypes="#//State">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>A simple state is the standard case of a @link State}.&#xA;It comprises and &lt;em>entry&lt;/em>, &lt;em>exit&lt;/em> and &lt;em>do&lt;/em> code&#xA;and it can contain another {@link StateGraph} as sub state&#xA;graph.&#xA;"/>
+      <details key="documentation" value="&lt;br>A simple state is the standard case of a @link State}.&#xD;&#xA;It comprises and &lt;em>entry&lt;/em>, &lt;em>exit&lt;/em> and &lt;em>do&lt;/em> code&#xD;&#xA;and it can contain another {@link StateGraph} as sub state&#xD;&#xA;graph.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>By this name the state is referred to in the model.&#xA;"/>
+        <details key="documentation" value="&lt;br>By this name the state is referred to in the model.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="RefinedState" eSuperTypes="#//State">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>A refined state can be used only in a derived {@link ActorClass}.&#xA;It refers to a {@link State} in the inherited state machine&#xA;which is refined by adding detail code and/or&#xA;{@link StateGraphItem}s in the sub state graph.&#xA;"/>
+      <details key="documentation" value="&lt;br>A refined state can be used only in a derived {@link ActorClass}.&#xD;&#xA;It refers to a {@link State} in the inherited state machine&#xD;&#xA;which is refined by adding detail code and/or&#xD;&#xA;{@link StateGraphItem}s in the sub state graph.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//State">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the referenced state in the base class state machine.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the referenced state in the base class state machine.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="DetailCode">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The detail code contains a list of strings which&#xA;are considered verbatim code of the code generator&#xA;target language.&#xA;&#xA;&lt;p>&#xA;The detail code is parsed by the {@link org.eclipse.etrice.generator.base.DetailCodeTranslator}&#xA;which replaces certain frequent constructs like access of members&#xA;and sending a message via a port by target language specific code.&#xA;&lt;/p>&#xA;"/>
+      <details key="documentation" value="&lt;br>The detail code contains a list of strings which&#xD;&#xA;are considered verbatim code of the code generator&#xD;&#xA;target language.&#xD;&#xA;&#xD;&#xA;&lt;p>&#xD;&#xA;The detail code is parsed by the {@link org.eclipse.etrice.generator.base.DetailCodeTranslator}&#xD;&#xA;which replaces certain frequent constructs like access of members&#xD;&#xA;and sending a message via a port by target language specific code.&#xD;&#xA;&lt;/p>&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="used" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="lines" unique="false" upperBound="-1"
         eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is a list of commands in the code generator's target language.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is a list of commands in the code generator's target language.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="TrPoint" eSuperTypes="#//StateGraphNode">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The super class of&#xA;&lt;ul>&#xA;  &lt;li>{@link TransitionPoint}&lt;/li>&#xA;  &lt;li>{@link EntryPoint}&lt;/li>&#xA;  &lt;li>{@link ExitPoint}&lt;/li>&#xA;&lt;/ul>&#xA;"/>
+      <details key="documentation" value="&lt;br>The super class of&#xD;&#xA;&lt;ul>&#xD;&#xA;  &lt;li>{@link TransitionPoint}&lt;/li>&#xD;&#xA;  &lt;li>{@link EntryPoint}&lt;/li>&#xD;&#xA;  &lt;li>{@link ExitPoint}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>By this name the transition, entry or exit point is referred to in the model.&#xA;"/>
+        <details key="documentation" value="&lt;br>By this name the transition, entry or exit point is referred to in the model.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="TransitionPoint" eSuperTypes="#//TrPoint">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>A transition point is located at the border of a {@link State}&#xA;and is not visible or accessible outside. It is used&#xA;to globally handle messages. If a {@link Transition} starting&#xA;at a transition point triggers then exit and entry codes&#xA;are executed as usual as long as the handler flag of the&#xA;transition point isn't set.&#xA;"/>
+      <details key="documentation" value="&lt;br>A transition point is located at the border of a {@link State}&#xD;&#xA;and is not visible or accessible outside. It is used&#xD;&#xA;to globally handle messages. If a {@link Transition} starting&#xD;&#xA;at a transition point triggers then exit and entry codes&#xD;&#xA;are executed as usual as long as the handler flag of the&#xD;&#xA;transition point isn't set.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="handler" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>If this flag is {@code true} then for a transition triggerd from this point&#xA;no exit and entry codes of the states left and entered are executed.&#xA;"/>
+        <details key="documentation" value="&lt;br>If this flag is {@code true} then for a transition triggerd from this point&#xD;&#xA;no exit and entry codes of the states left and entered are executed.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="EntryPoint" eSuperTypes="#//TrPoint">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>An entry point is located at the border of a {@link State}&#xA;and is visible and accessible outside. Outside&#xA;it can be the target of a {@link Transition} and inside the source.&#xA;If it is not connected in the interior then it is a&#xA;&lt;em>transition to history&lt;/em>.&#xA;"/>
+      <details key="documentation" value="&lt;br>An entry point is located at the border of a {@link State}&#xD;&#xA;and is visible and accessible outside. Outside&#xD;&#xA;it can be the target of a {@link Transition} and inside the source.&#xD;&#xA;If it is not connected in the interior then it is a&#xD;&#xA;&lt;em>transition to history&lt;/em>.&#xD;&#xA;"/>
     </eAnnotations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ExitPoint" eSuperTypes="#//TrPoint">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>An exit point is located at the border of a {@link State}&#xA;and is visible and accessible outside. Outside&#xA;it can be the source of a {@link Transition} and inside the target.&#xA;If it is not connected in the interior then it is a&#xA;&lt;em>group transition&lt;/em>.&#xA;"/>
+      <details key="documentation" value="&lt;br>An exit point is located at the border of a {@link State}&#xD;&#xA;and is visible and accessible outside. Outside&#xD;&#xA;it can be the source of a {@link Transition} and inside the target.&#xD;&#xA;If it is not connected in the interior then it is a&#xD;&#xA;&lt;em>group transition&lt;/em>.&#xD;&#xA;"/>
     </eAnnotations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ChoicePoint" eSuperTypes="#//StateGraphNode">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>A choice point corresponds to an {@code if else} construct.&#xA;It is the target of one or more {@link Transition}s and the&#xA;source of several {@link Transition}s.&#xA;One outgoing transitions must be a {@link ContinuationTransition}&#xA;and corresponds to the final else. It is called the&#xA;&lt;em>default branch&lt;/em> of the choice point.&#xA;All other outgoing transitions have to be {@link CPBranchTransition}s.&#xA;"/>
+      <details key="documentation" value="&lt;br>A choice point corresponds to an {@code if else} construct.&#xD;&#xA;It is the target of one or more {@link Transition}s and the&#xD;&#xA;source of several {@link Transition}s.&#xD;&#xA;One outgoing transitions must be a {@link ContinuationTransition}&#xD;&#xA;and corresponds to the final else. It is called the&#xD;&#xA;&lt;em>default branch&lt;/em> of the choice point.&#xD;&#xA;All other outgoing transitions have to be {@link CPBranchTransition}s.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>By this name the choice point is referred to in the model.&#xA;"/>
+        <details key="documentation" value="&lt;br>By this name the choice point is referred to in the model.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional documentation.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional documentation.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//StateGraphItem">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The super class of&#xA;&lt;ul>&#xA;  &lt;li>{@link InitialTransition}&lt;/li>&#xA;  &lt;li>{@link NonInitialTransition}&lt;/li>&#xA;&lt;/ul>&#xA;"/>
+      <details key="documentation" value="&lt;br>The super class of&#xD;&#xA;&lt;ul>&#xD;&#xA;  &lt;li>{@link InitialTransition}&lt;/li>&#xD;&#xA;  &lt;li>{@link NonInitialTransition}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional name of the transition.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional name of the transition.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="to" eType="#//TransitionTerminal"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the target node of the transition.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the target node of the transition.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional documentation.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional documentation.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="action" eType="#//DetailCode"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional code in the code generator's target language.&#xA;It is execute when the transition fires.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional code in the code generator's target language.&#xD;&#xA;It is execute when the transition fires.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="NonInitialTransition" eSuperTypes="#//Transition">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The super class of&#xA;&lt;ul>&#xA;  &lt;li>{@link TransitionChainStartTransition}&lt;/li>&#xA;  &lt;li>{@link ContinuationTransition}&lt;/li>&#xA;  &lt;li>{@link CPBranchTransition}&lt;/li>&#xA;&lt;/ul>&#xA;"/>
+      <details key="documentation" value="&lt;br>The super class of&#xD;&#xA;&lt;ul>&#xD;&#xA;  &lt;li>{@link TransitionChainStartTransition}&lt;/li>&#xD;&#xA;  &lt;li>{@link ContinuationTransition}&lt;/li>&#xD;&#xA;  &lt;li>{@link CPBranchTransition}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="from" eType="#//TransitionTerminal"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the source node of the transition.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the source node of the transition.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="TransitionChainStartTransition" eSuperTypes="#//NonInitialTransition">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The super class of&#xA;&lt;ul>&#xA;  &lt;li>{@link TriggeredTransition}&lt;/li>&#xA;  &lt;li>{@link GuardedTransition}&lt;/li>&#xA;&lt;/ul>&#xA;"/>
+      <details key="documentation" value="&lt;br>The super class of&#xD;&#xA;&lt;ul>&#xD;&#xA;  &lt;li>{@link TriggeredTransition}&lt;/li>&#xD;&#xA;  &lt;li>{@link GuardedTransition}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
     </eAnnotations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="InitialTransition" eSuperTypes="#//Transition">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>There can be at most one initial transition in a {@link StateGraph}.&#xA;It defines the starting point of the state graph and is traversed&#xA;exactly once when the state graph is accessed for the first time.&#xA;"/>
+      <details key="documentation" value="&lt;br>There can be at most one initial transition in a {@link StateGraph}.&#xD;&#xA;It defines the starting point of the state graph and is traversed&#xD;&#xA;exactly once when the state graph is accessed for the first time.&#xD;&#xA;"/>
     </eAnnotations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ContinuationTransition" eSuperTypes="#//NonInitialTransition">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>Continuation transitions start at entry or exit points&#xA;({@link EntryPoint}s or {@link ExitPoint}s) or form&#xA;the default branch of a {@link ChoicePoint}.&#xA;"/>
+      <details key="documentation" value="&lt;br>Continuation transitions start at entry or exit points&#xD;&#xA;({@link EntryPoint}s or {@link ExitPoint}s) or form&#xD;&#xA;the default branch of a {@link ChoicePoint}.&#xD;&#xA;"/>
     </eAnnotations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="TriggeredTransition" eSuperTypes="#//TransitionChainStartTransition">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>Triggered transitions start at a {@link State} or a {@link TransitionPoint}.&#xA;It defines a list of {@link Trigger}s that specify the conditions&#xA;when the transition fires and is traversed. This kind of&#xA;transition is only allowed in event driven and mixed (async) state&#xA;machines.&#xA;"/>
+      <details key="documentation" value="&lt;br>Triggered transitions start at a {@link State} or a {@link TransitionPoint}.&#xD;&#xA;It defines a list of {@link Trigger}s that specify the conditions&#xD;&#xA;when the transition fires and is traversed. This kind of&#xD;&#xA;transition is only allowed in event driven and mixed (async) state&#xD;&#xA;machines.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="triggers" upperBound="-1"
         eType="#//Trigger" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is a list of all triggers of the transition.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is a list of all triggers of the transition.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="GuardedTransition" eSuperTypes="#//TransitionChainStartTransition">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>A guarded transition is very similar to a {@link CPBranchTransition}.&#xA;It defines a guard condition which lets the transition fire if&#xA;evaluated to {@code true}. This kind of transition is only&#xA;allowed in data driven or moixed (async) state machines.&#xA;"/>
+      <details key="documentation" value="&lt;br>A guarded transition is very similar to a {@link CPBranchTransition}.&#xD;&#xA;It defines a guard condition which lets the transition fire if&#xD;&#xA;evaluated to {@code true}. This kind of transition is only&#xD;&#xA;allowed in data driven or moixed (async) state machines.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//DetailCode"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the guard condition of the transition specified in the code generator's target language.&#xA;It has to evaluate to a boolean value.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the guard condition of the transition specified in the code generator's target language.&#xD;&#xA;It has to evaluate to a boolean value.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="CPBranchTransition" eSuperTypes="#//NonInitialTransition">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The choice point branch transitions is allowed only as outgoing&#xA;transition of {@link ChoicePoint}s.&#xA;"/>
+      <details key="documentation" value="&lt;br>The choice point branch transitions is allowed only as outgoing&#xD;&#xA;transition of {@link ChoicePoint}s.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//DetailCode"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the condition of the choice point branch specified in the code generator's target language.&#xA;It has to evaluate to a boolean value.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the condition of the choice point branch specified in the code generator's target language.&#xD;&#xA;It has to evaluate to a boolean value.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="RefinedTransition">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The refined transition is only allowed in {@link StateGraph}s&#xA;of derived {@link ActorClass}es. It targets a {@link Transition}&#xA;of the base class state machine.&#xA;"/>
+      <details key="documentation" value="&lt;br>The refined transition is only allowed in {@link StateGraph}s&#xD;&#xA;of derived {@link ActorClass}es. It targets a {@link Transition}&#xD;&#xA;of the base class state machine.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Transition">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the referenced transition in the base class state machine.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the referenced transition in the base class state machine.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional documentation.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional documentation.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="action" eType="#//DetailCode"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional code in the code generator's target language.&#xA;It is execute when the transition fires.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional code in the code generator's target language.&#xD;&#xA;It is execute when the transition fires.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="TransitionTerminal">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The super class of&#xA;&lt;ul>&#xA;  &lt;li>{@link StateTerminal}&lt;/li>&#xA;  &lt;li>{@link TrPointTerminal}&lt;/li>&#xA;  &lt;li>{@link SubStateTrPointTerminal}&lt;/li>&#xA;  &lt;li>{@link ChoicepointTerminal}&lt;/li>&#xA;&lt;/ul>&#xA;"/>
+      <details key="documentation" value="&lt;br>The super class of&#xD;&#xA;&lt;ul>&#xD;&#xA;  &lt;li>{@link StateTerminal}&lt;/li>&#xD;&#xA;  &lt;li>{@link TrPointTerminal}&lt;/li>&#xD;&#xA;  &lt;li>{@link SubStateTrPointTerminal}&lt;/li>&#xD;&#xA;  &lt;li>{@link ChoicepointTerminal}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
     </eAnnotations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="StateTerminal" eSuperTypes="#//TransitionTerminal">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The terminal point (source or target) of a transition ending&#xA;at a {@link State}.&#xA;"/>
+      <details key="documentation" value="&lt;br>The terminal point (source or target) of a transition ending&#xD;&#xA;at a {@link State}.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//State">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the target state.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the target state.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="TrPointTerminal" eSuperTypes="#//TransitionTerminal">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The terminal point (source or target) of a transition ending&#xA;at a local {@link TrPoint}.&#xA;"/>
+      <details key="documentation" value="&lt;br>The terminal point (source or target) of a transition ending&#xD;&#xA;at a local {@link TrPoint}.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="trPoint" eType="#//TrPoint">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the target transition, entry or exit point.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the target transition, entry or exit point.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="SubStateTrPointTerminal" eSuperTypes="#//TransitionTerminal">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The terminal point (source or target) of a transition ending&#xA;at a {@link TrPoint} of a sub {@link State}.&#xA;"/>
+      <details key="documentation" value="&lt;br>The terminal point (source or target) of a transition ending&#xD;&#xA;at a {@link TrPoint} of a sub {@link State}.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="trPoint" eType="#//TrPoint">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the target entry or exit point contained in the target state.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the target entry or exit point contained in the target state.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//State">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the target state.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the target state.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ChoicepointTerminal" eSuperTypes="#//TransitionTerminal">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The terminal point (source or target) of a transition ending&#xA;at a {@link ChoicepointTerminal}.&#xA;"/>
+      <details key="documentation" value="&lt;br>The terminal point (source or target) of a transition ending&#xD;&#xA;at a {@link ChoicepointTerminal}.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="cp" eType="#//ChoicePoint">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the target choice point.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the target choice point.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Trigger">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>A transition trigger is a list of {@link MessageFromIf} pairs&#xA;and an optional {@link Guard}.&#xA;"/>
+      <details key="documentation" value="&lt;br>A transition trigger is a list of {@link MessageFromIf} pairs&#xD;&#xA;and an optional {@link Guard}.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="msgFromIfPairs" upperBound="-1"
         eType="#//MessageFromIf" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is a list of message/interface item pairs.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is a list of message/interface item pairs.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//Guard"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is an optional guard condition of the trigger specified in the code generator's target language.&#xA;It has to evaluate to a boolean value.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is an optional guard condition of the trigger specified in the code generator's target language.&#xD;&#xA;It has to evaluate to a boolean value.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="MessageFromIf">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>A pair consisting of a {@link Message} arising from an&#xA;{@link InterfaceItem}.&#xA;"/>
+      <details key="documentation" value="&lt;br>A pair consisting of a {@link Message} arising from an&#xD;&#xA;{@link InterfaceItem}.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="message" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the triggerering message (or event).&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the triggerering message (or event).&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="from" eType="#//AbstractInterfaceItem">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is the interface item where the message occurred.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is the interface item where the message occurred.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="AbstractInterfaceItem">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>An abstract interface item to be overridden in derived grammars.&#xA;"/>
+      <details key="documentation" value="&lt;br>An abstract interface item to be overridden in derived grammars.&#xD;&#xA;"/>
     </eAnnotations>
     <eOperations name="getDisplayName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="body" value="return getName();&#xA;"/>
+        <details key="body" value="return getName();&#xD;&#xA;"/>
       </eAnnotations>
     </eOperations>
     <eOperations name="getSemantics" eType="#//ProtocolSemantics"/>
     <eOperations name="getAllIncomingAbstractMessages" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
     <eOperations name="getAllOutgoingAbstractMessages" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+    <eOperations name="isEventDriven" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="body" value="return true;"/>
+      </eAnnotations>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>By this name the interface item is referred to in the model.&#xA;"/>
+        <details key="documentation" value="&lt;br>By this name the interface item is referred to in the model.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Guard">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>A detail code that evaluates to a boolean in the target&#xA;language.&#xA;"/>
+      <details key="documentation" value="&lt;br>A detail code that evaluates to a boolean in the target&#xD;&#xA;language.&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//DetailCode"
         containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is a guard condition specified in the code generator's target language.&#xA;It has to evaluate to a boolean value.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is a guard condition specified in the code generator's target language.&#xD;&#xA;It has to evaluate to a boolean value.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ProtocolSemantics">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>An optional semantics specification as part of a {@link ProtocolClass}.&#xA;The semantic is defined as a &lt;em>legal execution tree&lt;/em>.&#xA;This tree is composed of incoming and outgoing messages and each path through&#xA;this tree is a valid sequence of messages exchanged through a port instance.&#xA;&#xA;&lt;p>&#xA;The semantics are composed using {@link SemanticsRule}s.&#xA;&lt;/p>&#xA;"/>
+      <details key="documentation" value="&lt;br>An optional semantics specification as part of a {@link ProtocolClass}.&#xD;&#xA;The semantic is defined as a &lt;em>legal execution tree&lt;/em>.&#xD;&#xA;This tree is composed of incoming and outgoing messages and each path through&#xD;&#xA;this tree is a valid sequence of messages exchanged through a port instance.&#xD;&#xA;&#xD;&#xA;&lt;p>&#xD;&#xA;The semantics are composed using {@link SemanticsRule}s.&#xD;&#xA;&lt;/p>&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="rules" upperBound="-1"
         eType="#//SemanticsRule" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>This is a list of semantic rules.&#xA;"/>
+        <details key="documentation" value="&lt;br>This is a list of semantic rules.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="SemanticsRule">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>The super class of&#xA;&lt;ul>&#xA;  &lt;li>{@link InSemanticsRule}&lt;/li>&#xA;  &lt;li>{@link OutSemanticsRule}&lt;/li>&#xA;&lt;/ul>&#xA;"/>
+      <details key="documentation" value="&lt;br>The super class of&#xD;&#xA;&lt;ul>&#xD;&#xA;  &lt;li>{@link InSemanticsRule}&lt;/li>&#xD;&#xA;  &lt;li>{@link OutSemanticsRule}&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;"/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="msg" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>The message to which this rule applies.&#xA;"/>
+        <details key="documentation" value="&lt;br>The message to which this rule applies.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="followUps" upperBound="-1"
         eType="#//SemanticsRule" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="&lt;br>The possible follow up rules.&#xA;"/>
+        <details key="documentation" value="&lt;br>The possible follow up rules.&#xD;&#xA;"/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="InSemanticsRule" eSuperTypes="#//SemanticsRule">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>A {@link SemanticsRule} for incoming messages.&#xA;The rule points to an incoming messages and allows follow-up rules.&#xA;"/>
+      <details key="documentation" value="&lt;br>A {@link SemanticsRule} for incoming messages.&#xD;&#xA;The rule points to an incoming messages and allows follow-up rules.&#xD;&#xA;"/>
     </eAnnotations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="OutSemanticsRule" eSuperTypes="#//SemanticsRule">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="&lt;br>A {@link SemanticsRule} for outgoing messages.&#xA;The rule points to an outgoing messages and allows follow-up rules.&#xA;"/>
+      <details key="documentation" value="&lt;br>A {@link SemanticsRule} for outgoing messages.&#xD;&#xA;The rule points to an outgoing messages and allows follow-up rules.&#xD;&#xA;"/>
     </eAnnotations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="IInterfaceItemOwner" abstract="true"
diff --git a/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.genmodel b/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.genmodel
index edc632e..a1f8af8 100644
--- a/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.genmodel
+++ b/plugins/org.eclipse.etrice.core.fsm/model/generated/FSM.genmodel
@@ -118,6 +118,7 @@
       <genOperations ecoreOperation="FSM.ecore#//AbstractInterfaceItem/getSemantics"/>
       <genOperations ecoreOperation="FSM.ecore#//AbstractInterfaceItem/getAllIncomingAbstractMessages"/>
       <genOperations ecoreOperation="FSM.ecore#//AbstractInterfaceItem/getAllOutgoingAbstractMessages"/>
+      <genOperations ecoreOperation="FSM.ecore#//AbstractInterfaceItem/isEventDriven"/>
     </genClasses>
     <genClasses ecoreClass="FSM.ecore#//Guard">
       <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSM.ecore#//Guard/guard"/>
diff --git a/plugins/org.eclipse.etrice.core.fsm/pom.xml b/plugins/org.eclipse.etrice.core.fsm/pom.xml
index 66b2986..09e05ac 100644
--- a/plugins/org.eclipse.etrice.core.fsm/pom.xml
+++ b/plugins/org.eclipse.etrice.core.fsm/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/AbstractFSMRuntimeModule.java b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/AbstractFSMRuntimeModule.java
index 379fd13..35382ba 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/AbstractFSMRuntimeModule.java
+++ b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/AbstractFSMRuntimeModule.java
@@ -144,6 +144,11 @@
 		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
 	}
 
+	// contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+	public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) {
+		binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+	}
+
 	// contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
 	public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
 		return org.eclipse.etrice.core.fsm.generator.FSMGenerator.class;
diff --git a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/FSM.xtextbin b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/FSM.xtextbin
index 5f0281f..0f044e7 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/FSM.xtextbin
+++ b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/FSM.xtextbin
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/fSM/AbstractInterfaceItem.java b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/fSM/AbstractInterfaceItem.java
index 0c28be6..455b1d3 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/fSM/AbstractInterfaceItem.java
+++ b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/fSM/AbstractInterfaceItem.java
@@ -59,7 +59,7 @@
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @model kind="operation"
-   *        annotation="http://www.eclipse.org/emf/2002/GenModel body='return getName();\n'"
+   *        annotation="http://www.eclipse.org/emf/2002/GenModel body='return getName();\r\n'"
    * @generated
    */
   String getDisplayName();
diff --git a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/fSM/StateGraphItem.java b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/fSM/StateGraphItem.java
index 2392af5..5612c02 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/fSM/StateGraphItem.java
+++ b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/fSM/StateGraphItem.java
@@ -29,7 +29,7 @@
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @model kind="operation"
-   *        annotation="http://www.eclipse.org/emf/2002/GenModel body='if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.State%>) \n\treturn ((State)this).getName();\nelse if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.TrPoint%>)\n\treturn ((TrPoint)this).getName();\nelse if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.ChoicePoint%>)\n\treturn ((ChoicePoint)this).getName();\nelse if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.Transition%>)\n\treturn ((Transition)this).getName();\nreturn \"\";\n'"
+   *        annotation="http://www.eclipse.org/emf/2002/GenModel body='if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.State%>) \r\n\treturn ((State)this).getName();\r\nelse if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.TrPoint%>)\r\n\treturn ((TrPoint)this).getName();\r\nelse if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.ChoicePoint%>)\r\n\treturn ((ChoicePoint)this).getName();\r\nelse if (this instanceof <%org.eclipse.etrice.core.fsm.fSM.Transition%>)\r\n\treturn ((Transition)this).getName();\r\nreturn \"\";\r\n'"
    * @generated
    */
   String getName();
diff --git a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g
index 2353b85..4db24b6 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g
+++ b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g
@@ -3603,120 +3603,36 @@
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-    }
-    this_SignedInteger_0=ruleSignedInteger    {
-		$current.merge(this_SignedInteger_0);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-    }
-    this_Hexadecimal_1=ruleHexadecimal    {
-		$current.merge(this_Hexadecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getSignedIntegerRule()); } 
-	 iv_ruleSignedInteger=ruleSignedInteger 
-	 { $current=$iv_ruleSignedInteger.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
+(((
 	kw='+' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
     }
 
     |
 	kw='-' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
     }
 )?    this_INT_2=RULE_INT    {
 		$current.merge(this_INT_2);
     }
 
     { 
-    newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+    newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
     }
 )
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getHexadecimalRule()); } 
-	 iv_ruleHexadecimal=ruleHexadecimal 
-	 { $current=$iv_ruleHexadecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-    this_HEX_0=RULE_HEX    {
-		$current.merge(this_HEX_0);
+    |    this_HEX_3=RULE_HEX    {
+		$current.merge(this_HEX_3);
     }
 
     { 
-    newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
+    newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
     }
-
+)
     ;
-finally {
-	myHiddenTokenState.restore();
-}
 
 
 
@@ -3750,34 +3666,10 @@
 
     |
     { 
-        newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
     }
-    this_DotDecimal_1=ruleDotDecimal    {
-		$current.merge(this_DotDecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-    }
-    this_DecimalDot_2=ruleDecimalDot    {
-		$current.merge(this_DecimalDot_2);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-    }
-    this_DecimalExp_3=ruleDecimalExp    {
-		$current.merge(this_DecimalExp_3);
+    this_DecimalExp_1=ruleDecimalExp    {
+		$current.merge(this_DecimalExp_1);
     }
 
     { 
@@ -3854,120 +3746,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDotDecimalRule()); } 
-	 iv_ruleDotDecimal=ruleDotDecimal 
-	 { $current=$iv_ruleDotDecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-    }
-    this_INT_3=RULE_INT    {
-		$current.merge(this_INT_3);
-    }
-
-    { 
-    newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDecimalDotRule()); } 
-	 iv_ruleDecimalDot=ruleDecimalDot 
-	 { $current=$iv_ruleDecimalDot.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?    this_INT_2=RULE_INT    {
-		$current.merge(this_INT_2);
-    }
-
-    { 
-    newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-    }
-
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp returns [String current=null] 
 	@init { 
@@ -4022,12 +3800,38 @@
     { 
     newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
     }
-    this_EXP_5=RULE_EXP    {
-		$current.merge(this_EXP_5);
+(
+	kw='e' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+    }
+
+    |
+	kw='E' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+    }
+)(
+	kw='+' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+    }
+
+    |
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+    }
+)?    this_INT_9=RULE_INT    {
+		$current.merge(this_INT_9);
     }
 
     { 
-    newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+    newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
     }
 )
     ;
@@ -4142,15 +3946,13 @@
 
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
 
 RULE_INT : ('0'..'9')+;
 
-RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\'');
 
 RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
 
diff --git a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.tokens b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.tokens
index 421183d..f987c22 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.tokens
+++ b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.tokens
@@ -1,125 +1,128 @@
-T__68=68
-T__69=69
-RULE_EXP=8
-RULE_ID=4
-T__66=66
-T__67=67
-T__64=64
-T__29=29
-T__65=65
-T__28=28
-T__62=62
-T__27=27
-T__63=63
-T__26=26
-T__25=25
-T__24=24
-T__23=23
-T__22=22
-RULE_ANY_OTHER=12
-T__21=21
-T__20=20
-T__61=61
-T__60=60
-T__55=55
-T__56=56
-T__19=19
-T__57=57
+'('=46
+')'=48
+'+'=59
+','=47
+'-'=60
+'->'=32
+'.'=61
+'.*'=54
+':'=30
+'<'=42
+'='=50
+'>'=44
+'ChoicePoint'=28
+'E'=63
+'EntryPoint'=26
+'ExitPoint'=27
+'ModelComponent'=13
+'RefinedState'=23
+'RefinedTransition'=38
+'State'=18
+'StateMachine'=17
+'Transition'=29
+'TransitionPoint'=25
+'['=55
+']'=56
+'abstract'=12
+'action'=33
+'async'=66
+'attribute'=53
+'cond'=37
+'cp'=41
+'datadriven'=65
+'do'=21
+'e'=62
+'entry'=19
+'eventdriven'=64
+'exit'=20
+'extends'=14
+'false'=57
+'guard'=36
+'handler'=24
+'in'=45
+'initial'=31
+'mandatory'=52
+'my'=39
+'of'=40
+'optional'=51
+'or'=35
+'out'=49
+'ptBoolean'=68
+'ptCharacter'=71
+'ptInteger'=69
+'ptReal'=70
+'subgraph'=22
+'sync'=67
+'triggers'=34
+'true'=58
+'{'=15
+'|'=43
+'}'=16
+RULE_ANY_OTHER=11
 RULE_HEX=7
-T__58=58
-T__16=16
-T__51=51
-T__15=15
-T__52=52
-T__53=53
-T__18=18
-T__54=54
-T__17=17
-T__14=14
-T__13=13
-T__59=59
+RULE_ID=4
 RULE_INT=6
-T__50=50
-T__42=42
-T__43=43
-T__40=40
-T__41=41
-T__46=46
-T__47=47
-T__44=44
-T__45=45
-T__48=48
-T__49=49
-RULE_SL_COMMENT=10
-RULE_ML_COMMENT=9
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
+RULE_STRING=5
+RULE_WS=10
+T__12=12
+T__13=13
+T__14=14
+T__15=15
+T__16=16
+T__17=17
+T__18=18
+T__19=19
+T__20=20
+T__21=21
+T__22=22
+T__23=23
+T__24=24
+T__25=25
+T__26=26
+T__27=27
+T__28=28
+T__29=29
 T__30=30
 T__31=31
-RULE_STRING=5
 T__32=32
 T__33=33
 T__34=34
 T__35=35
-T__70=70
 T__36=36
 T__37=37
 T__38=38
 T__39=39
-RULE_WS=11
-'out'=50
-'ModelComponent'=14
-'RefinedTransition'=39
-'>'=45
-'sync'=66
-'Transition'=30
-'TransitionPoint'=26
-'+'=60
-'.'=62
-'true'=59
-'extends'=15
-'action'=34
-'{'=16
-'StateMachine'=18
-'ExitPoint'=28
-'ptCharacter'=70
-'my'=40
-'eventdriven'=63
-':'=31
-'('=47
-'guard'=37
-'exit'=21
-'-'=61
-'ptReal'=69
-'of'=41
-'cp'=42
-','=48
-'in'=46
-'ptBoolean'=67
-']'=57
-'async'=65
-'|'=44
-'State'=19
-'.*'=55
-'='=51
-'subgraph'=23
-')'=49
-'initial'=32
-'entry'=20
-'->'=33
-'do'=22
-'triggers'=35
-'ChoicePoint'=29
-'}'=17
-'abstract'=13
-'EntryPoint'=27
-'optional'=52
-'handler'=25
-'cond'=38
-'false'=58
-'<'=43
-'datadriven'=64
-'or'=36
-'RefinedState'=24
-'attribute'=54
-'['=56
-'ptInteger'=68
-'mandatory'=53
+T__40=40
+T__41=41
+T__42=42
+T__43=43
+T__44=44
+T__45=45
+T__46=46
+T__47=47
+T__48=48
+T__49=49
+T__50=50
+T__51=51
+T__52=52
+T__53=53
+T__54=54
+T__55=55
+T__56=56
+T__57=57
+T__58=58
+T__59=59
+T__60=60
+T__61=61
+T__62=62
+T__63=63
+T__64=64
+T__65=65
+T__66=66
+T__67=67
+T__68=68
+T__69=69
+T__70=70
+T__71=71
diff --git a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSMLexer.java b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSMLexer.java
index cd982ab..107c35a 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSMLexer.java
+++ b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSMLexer.java
@@ -12,74 +12,75 @@
 
 @SuppressWarnings("all")
 public class InternalFSMLexer extends Lexer {
-    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 RULE_EXP=8;
-    public static final int RULE_ID=4;
-    public static final int T__67=67;
-    public static final int T__29=29;
-    public static final int T__64=64;
-    public static final int T__28=28;
-    public static final int T__65=65;
-    public static final int T__27=27;
-    public static final int T__62=62;
-    public static final int T__26=26;
-    public static final int T__63=63;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__61=61;
-    public static final int EOF=-1;
-    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__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=7;
-    public static final int T__58=58;
-    public static final int T__16=16;
-    public static final int T__51=51;
+    public static final int T__50=50;
+    public static final int T__19=19;
     public static final int T__15=15;
+    public static final int T__59=59;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__67=67;
+    public static final int T__24=24;
+    public static final int T__68=68;
+    public static final int T__25=25;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__63=63;
+    public static final int T__20=20;
+    public static final int T__64=64;
+    public static final int T__21=21;
+    public static final int T__65=65;
+    public static final int T__70=70;
+    public static final int T__71=71;
     public static final int RULE_STRING=5;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__70=70;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -94,10 +95,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:11:7: ( 'abstract' )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:11:9: 'abstract'
@@ -113,6 +114,27 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:12:7: ( 'ModelComponent' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:12:9: 'ModelComponent'
+            {
+            match("ModelComponent"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -120,10 +142,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:12:7: ( 'ModelComponent' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:12:9: 'ModelComponent'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:13:7: ( 'extends' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:13:9: 'extends'
             {
-            match("ModelComponent"); 
+            match("extends"); 
 
 
             }
@@ -141,11 +163,10 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:13:7: ( 'extends' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:13:9: 'extends'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:14:7: ( '{' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:14:9: '{'
             {
-            match("extends"); 
-
+            match('{'); 
 
             }
 
@@ -162,10 +183,10 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:14:7: ( '{' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:14:9: '{'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:15:7: ( '}' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:15:9: '}'
             {
-            match('{'); 
+            match('}'); 
 
             }
 
@@ -182,10 +203,11 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:15:7: ( '}' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:15:9: '}'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:16:7: ( 'StateMachine' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:16:9: 'StateMachine'
             {
-            match('}'); 
+            match("StateMachine"); 
+
 
             }
 
@@ -202,10 +224,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:16:7: ( 'StateMachine' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:16:9: 'StateMachine'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:17:7: ( 'State' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:17:9: 'State'
             {
-            match("StateMachine"); 
+            match("State"); 
 
 
             }
@@ -223,10 +245,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:17:7: ( 'State' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:17:9: 'State'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:18:7: ( 'entry' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:18:9: 'entry'
             {
-            match("State"); 
+            match("entry"); 
 
 
             }
@@ -244,10 +266,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:18:7: ( 'entry' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:18:9: 'entry'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:19:7: ( 'exit' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:19:9: 'exit'
             {
-            match("entry"); 
+            match("exit"); 
 
 
             }
@@ -265,10 +287,10 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:19:7: ( 'exit' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:19:9: 'exit'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:20:7: ( 'do' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:20:9: 'do'
             {
-            match("exit"); 
+            match("do"); 
 
 
             }
@@ -286,10 +308,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:20:7: ( 'do' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:20:9: 'do'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:21:7: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:21:9: 'subgraph'
             {
-            match("do"); 
+            match("subgraph"); 
 
 
             }
@@ -307,10 +329,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:21:7: ( 'subgraph' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:21:9: 'subgraph'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:22:7: ( 'RefinedState' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:22:9: 'RefinedState'
             {
-            match("subgraph"); 
+            match("RefinedState"); 
 
 
             }
@@ -328,10 +350,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:22:7: ( 'RefinedState' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:22:9: 'RefinedState'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:23:7: ( 'handler' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:23:9: 'handler'
             {
-            match("RefinedState"); 
+            match("handler"); 
 
 
             }
@@ -349,10 +371,10 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:23:7: ( 'handler' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:23:9: 'handler'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:24:7: ( 'TransitionPoint' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:24:9: 'TransitionPoint'
             {
-            match("handler"); 
+            match("TransitionPoint"); 
 
 
             }
@@ -370,10 +392,10 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:24:7: ( 'TransitionPoint' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:24:9: 'TransitionPoint'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:25:7: ( 'EntryPoint' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:25:9: 'EntryPoint'
             {
-            match("TransitionPoint"); 
+            match("EntryPoint"); 
 
 
             }
@@ -391,10 +413,10 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:25:7: ( 'EntryPoint' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:25:9: 'EntryPoint'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:26:7: ( 'ExitPoint' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:26:9: 'ExitPoint'
             {
-            match("EntryPoint"); 
+            match("ExitPoint"); 
 
 
             }
@@ -412,10 +434,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:26:7: ( 'ExitPoint' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:26:9: 'ExitPoint'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:27:7: ( 'ChoicePoint' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:27:9: 'ChoicePoint'
             {
-            match("ExitPoint"); 
+            match("ChoicePoint"); 
 
 
             }
@@ -433,10 +455,10 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:27:7: ( 'ChoicePoint' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:27:9: 'ChoicePoint'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:28:7: ( 'Transition' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:28:9: 'Transition'
             {
-            match("ChoicePoint"); 
+            match("Transition"); 
 
 
             }
@@ -454,11 +476,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:28:7: ( 'Transition' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:28:9: 'Transition'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:29:7: ( ':' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:29:9: ':'
             {
-            match("Transition"); 
-
+            match(':'); 
 
             }
 
@@ -475,10 +496,11 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:29:7: ( ':' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:29:9: ':'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:30:7: ( 'initial' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:30:9: 'initial'
             {
-            match(':'); 
+            match("initial"); 
+
 
             }
 
@@ -495,10 +517,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:30:7: ( 'initial' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:30:9: 'initial'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:31:7: ( '->' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:31:9: '->'
             {
-            match("initial"); 
+            match("->"); 
 
 
             }
@@ -516,10 +538,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:31:7: ( '->' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:31:9: '->'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:32:7: ( 'action' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:32:9: 'action'
             {
-            match("->"); 
+            match("action"); 
 
 
             }
@@ -537,10 +559,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:32:7: ( 'action' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:32:9: 'action'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:33:7: ( 'triggers' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:33:9: 'triggers'
             {
-            match("action"); 
+            match("triggers"); 
 
 
             }
@@ -558,10 +580,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:33:7: ( 'triggers' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:33:9: 'triggers'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:34:7: ( 'or' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:34:9: 'or'
             {
-            match("triggers"); 
+            match("or"); 
 
 
             }
@@ -579,10 +601,10 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:34:7: ( 'or' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:34:9: 'or'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:35:7: ( 'guard' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:35:9: 'guard'
             {
-            match("or"); 
+            match("guard"); 
 
 
             }
@@ -600,10 +622,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:35:7: ( 'guard' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:35:9: 'guard'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:36:7: ( 'cond' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:36:9: 'cond'
             {
-            match("guard"); 
+            match("cond"); 
 
 
             }
@@ -621,10 +643,10 @@
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:36:7: ( 'cond' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:36:9: 'cond'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:37:7: ( 'RefinedTransition' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:37:9: 'RefinedTransition'
             {
-            match("cond"); 
+            match("RefinedTransition"); 
 
 
             }
@@ -642,10 +664,10 @@
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:37:7: ( 'RefinedTransition' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:37:9: 'RefinedTransition'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:38:7: ( 'my' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:38:9: 'my'
             {
-            match("RefinedTransition"); 
+            match("my"); 
 
 
             }
@@ -663,10 +685,10 @@
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:38:7: ( 'my' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:38:9: 'my'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:39:7: ( 'of' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:39:9: 'of'
             {
-            match("my"); 
+            match("of"); 
 
 
             }
@@ -684,10 +706,10 @@
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:39:7: ( 'of' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:39:9: 'of'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:40:7: ( 'cp' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:40:9: 'cp'
             {
-            match("of"); 
+            match("cp"); 
 
 
             }
@@ -705,11 +727,10 @@
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:40:7: ( 'cp' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:40:9: 'cp'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:41:7: ( '<' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:41:9: '<'
             {
-            match("cp"); 
-
+            match('<'); 
 
             }
 
@@ -726,10 +747,10 @@
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:41:7: ( '<' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:41:9: '<'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:42:7: ( '|' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:42:9: '|'
             {
-            match('<'); 
+            match('|'); 
 
             }
 
@@ -746,10 +767,10 @@
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:42:7: ( '|' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:42:9: '|'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:43:7: ( '>' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:43:9: '>'
             {
-            match('|'); 
+            match('>'); 
 
             }
 
@@ -766,10 +787,11 @@
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:43:7: ( '>' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:43:9: '>'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:44:7: ( 'in' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:44:9: 'in'
             {
-            match('>'); 
+            match("in"); 
+
 
             }
 
@@ -786,11 +808,10 @@
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:44:7: ( 'in' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:44:9: 'in'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:45:7: ( '(' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:45:9: '('
             {
-            match("in"); 
-
+            match('('); 
 
             }
 
@@ -807,10 +828,10 @@
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:45:7: ( '(' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:45:9: '('
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:46:7: ( ',' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:46:9: ','
             {
-            match('('); 
+            match(','); 
 
             }
 
@@ -827,10 +848,10 @@
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:46:7: ( ',' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:46:9: ','
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:47:7: ( ')' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:47:9: ')'
             {
-            match(','); 
+            match(')'); 
 
             }
 
@@ -847,10 +868,11 @@
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:47:7: ( ')' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:47:9: ')'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:48:7: ( 'out' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:48:9: 'out'
             {
-            match(')'); 
+            match("out"); 
+
 
             }
 
@@ -867,11 +889,10 @@
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:48:7: ( 'out' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:48:9: 'out'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:49:7: ( '=' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:49:9: '='
             {
-            match("out"); 
-
+            match('='); 
 
             }
 
@@ -888,10 +909,11 @@
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:49:7: ( '=' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:49:9: '='
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:50:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:50:9: 'optional'
             {
-            match('='); 
+            match("optional"); 
+
 
             }
 
@@ -908,10 +930,10 @@
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:50:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:50:9: 'optional'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:51:7: ( 'mandatory' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:51:9: 'mandatory'
             {
-            match("optional"); 
+            match("mandatory"); 
 
 
             }
@@ -929,10 +951,10 @@
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:51:7: ( 'mandatory' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:51:9: 'mandatory'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:52:7: ( 'attribute' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:52:9: 'attribute'
             {
-            match("mandatory"); 
+            match("attribute"); 
 
 
             }
@@ -950,10 +972,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:52:7: ( 'attribute' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:52:9: 'attribute'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:53:7: ( '.*' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:53:9: '.*'
             {
-            match("attribute"); 
+            match(".*"); 
 
 
             }
@@ -971,11 +993,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:53:7: ( '.*' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:53:9: '.*'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:54:7: ( '[' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:54:9: '['
             {
-            match(".*"); 
-
+            match('['); 
 
             }
 
@@ -992,10 +1013,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:54:7: ( '[' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:54:9: '['
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:55:7: ( ']' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:55:9: ']'
             {
-            match('['); 
+            match(']'); 
 
             }
 
@@ -1012,10 +1033,11 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:55:7: ( ']' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:55:9: ']'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:56:7: ( 'false' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:56:9: 'false'
             {
-            match(']'); 
+            match("false"); 
+
 
             }
 
@@ -1032,10 +1054,10 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:56:7: ( 'false' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:56:9: 'false'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:57:7: ( 'true' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:57:9: 'true'
             {
-            match("false"); 
+            match("true"); 
 
 
             }
@@ -1053,11 +1075,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:57:7: ( 'true' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:57:9: 'true'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:58:7: ( '+' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:58:9: '+'
             {
-            match("true"); 
-
+            match('+'); 
 
             }
 
@@ -1074,10 +1095,10 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:58:7: ( '+' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:58:9: '+'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:59:7: ( '-' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:59:9: '-'
             {
-            match('+'); 
+            match('-'); 
 
             }
 
@@ -1094,10 +1115,10 @@
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:59:7: ( '-' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:59:9: '-'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:60:7: ( '.' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:60:9: '.'
             {
-            match('-'); 
+            match('.'); 
 
             }
 
@@ -1114,10 +1135,10 @@
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:60:7: ( '.' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:60:9: '.'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:61:7: ( 'e' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:61:9: 'e'
             {
-            match('.'); 
+            match('e'); 
 
             }
 
@@ -1134,11 +1155,10 @@
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:61:7: ( 'eventdriven' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:61:9: 'eventdriven'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:62:7: ( 'E' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:62:9: 'E'
             {
-            match("eventdriven"); 
-
+            match('E'); 
 
             }
 
@@ -1155,10 +1175,10 @@
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:62:7: ( 'datadriven' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:62:9: 'datadriven'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:63:7: ( 'eventdriven' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:63:9: 'eventdriven'
             {
-            match("datadriven"); 
+            match("eventdriven"); 
 
 
             }
@@ -1176,10 +1196,10 @@
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:63:7: ( 'async' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:63:9: 'async'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:64:7: ( 'datadriven' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:64:9: 'datadriven'
             {
-            match("async"); 
+            match("datadriven"); 
 
 
             }
@@ -1197,10 +1217,10 @@
         try {
             int _type = T__66;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:64:7: ( 'sync' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:64:9: 'sync'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:65:7: ( 'async' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:65:9: 'async'
             {
-            match("sync"); 
+            match("async"); 
 
 
             }
@@ -1218,10 +1238,10 @@
         try {
             int _type = T__67;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:65:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:65:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:66:7: ( 'sync' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:66:9: 'sync'
             {
-            match("ptBoolean"); 
+            match("sync"); 
 
 
             }
@@ -1239,10 +1259,10 @@
         try {
             int _type = T__68;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:66:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:66:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:67:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:67:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -1260,10 +1280,10 @@
         try {
             int _type = T__69;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:67:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:67:9: 'ptReal'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:68:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:68:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -1281,10 +1301,10 @@
         try {
             int _type = T__70;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:68:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:68:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:69:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:69:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -1297,42 +1317,74 @@
     }
     // $ANTLR end "T__70"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__71"
+    public final void mT__71() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__71;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4145:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4145:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:70:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:70:9: 'ptCharacter'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("ptCharacter"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4145:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__71"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3949:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3949:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3949:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3949:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3949:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -1340,23 +1392,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4145:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3949:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4145:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -1379,109 +1439,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4147:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4147:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4147:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4147:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4147:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4147:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -1489,19 +1446,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4149:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4149:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3951:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3951:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4149:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3951:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4149:11: '^'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3951:11: '^'
                     {
                     match('^'); 
 
@@ -1519,18 +1476,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4149:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3951:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:
             	    {
@@ -1548,7 +1505,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -1568,24 +1525,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4151:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4151:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3953:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3953:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4151:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3953:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4151:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3953:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -1593,12 +1550,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -1617,63 +1574,55 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4153:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4153:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3955:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3955:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4153:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3955:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4153:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3955:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4153:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3955:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4153:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3955:21: '\\\\' .
                     	    {
                     	    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;}
-
+                    	    matchAny(); 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4153:66: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3955:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1689,7 +1638,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -1698,42 +1647,34 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4153:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3955:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4153:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3955:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4153:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+                    	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3955:54: '\\\\' .
                     	    {
                     	    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;}
-
+                    	    matchAny(); 
 
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4153:137: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3955:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -1749,7 +1690,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -1776,37 +1717,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4155:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4155:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3957:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3957:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4155:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3957:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4155:52: .
+            	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3957:52: .
             	    {
             	    matchAny(); 
 
@@ -1814,7 +1755,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -1836,25 +1777,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4157:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4157:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3959:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3959:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4157:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3959:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4157:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3959: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();
@@ -1870,31 +1811,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4157:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3959:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4157:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3959:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4157:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3959:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4157:41: '\\r'
+                            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3959:41: '\\r'
                             {
                             match('\r'); 
 
@@ -1926,22 +1867,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4159:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4159:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3961:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3961:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4159:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3961:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:
             	    {
@@ -1959,12 +1900,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -1983,8 +1924,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4161:16: ( . )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4161:18: .
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3963:16: ( . )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3963:18: .
             {
             matchAny(); 
 
@@ -1999,474 +1940,481 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:8: ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=67;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:8: ( 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 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=68;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:10: T__13
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:148: T__36
+            case 25 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:154: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:154: T__37
+            case 26 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:160: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:160: T__38
+            case 27 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:166: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:166: T__39
+            case 28 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:172: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:172: T__40
+            case 29 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:178: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:178: T__41
+            case 30 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:184: T__41
                 {
                 mT__41(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:184: T__42
+            case 31 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:190: T__42
                 {
                 mT__42(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:190: T__43
+            case 32 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:196: T__43
                 {
                 mT__43(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:196: T__44
+            case 33 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:202: T__44
                 {
                 mT__44(); 
 
                 }
                 break;
-            case 33 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:202: T__45
+            case 34 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:208: T__45
                 {
                 mT__45(); 
 
                 }
                 break;
-            case 34 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:208: T__46
+            case 35 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:214: T__46
                 {
                 mT__46(); 
 
                 }
                 break;
-            case 35 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:214: T__47
+            case 36 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:220: T__47
                 {
                 mT__47(); 
 
                 }
                 break;
-            case 36 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:220: T__48
+            case 37 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:226: T__48
                 {
                 mT__48(); 
 
                 }
                 break;
-            case 37 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:226: T__49
+            case 38 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:232: T__49
                 {
                 mT__49(); 
 
                 }
                 break;
-            case 38 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:232: T__50
+            case 39 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:238: T__50
                 {
                 mT__50(); 
 
                 }
                 break;
-            case 39 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:238: T__51
+            case 40 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:244: T__51
                 {
                 mT__51(); 
 
                 }
                 break;
-            case 40 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:244: T__52
+            case 41 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:250: T__52
                 {
                 mT__52(); 
 
                 }
                 break;
-            case 41 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:250: T__53
+            case 42 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:256: T__53
                 {
                 mT__53(); 
 
                 }
                 break;
-            case 42 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:256: T__54
+            case 43 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:262: T__54
                 {
                 mT__54(); 
 
                 }
                 break;
-            case 43 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:262: T__55
+            case 44 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:268: T__55
                 {
                 mT__55(); 
 
                 }
                 break;
-            case 44 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:268: T__56
+            case 45 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:274: T__56
                 {
                 mT__56(); 
 
                 }
                 break;
-            case 45 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:274: T__57
+            case 46 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:280: T__57
                 {
                 mT__57(); 
 
                 }
                 break;
-            case 46 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:280: T__58
+            case 47 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:286: T__58
                 {
                 mT__58(); 
 
                 }
                 break;
-            case 47 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:286: T__59
+            case 48 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:292: T__59
                 {
                 mT__59(); 
 
                 }
                 break;
-            case 48 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:292: T__60
+            case 49 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:298: T__60
                 {
                 mT__60(); 
 
                 }
                 break;
-            case 49 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:298: T__61
+            case 50 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:304: T__61
                 {
                 mT__61(); 
 
                 }
                 break;
-            case 50 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:304: T__62
+            case 51 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:310: T__62
                 {
                 mT__62(); 
 
                 }
                 break;
-            case 51 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:310: T__63
+            case 52 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:316: T__63
                 {
                 mT__63(); 
 
                 }
                 break;
-            case 52 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:316: T__64
+            case 53 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:322: T__64
                 {
                 mT__64(); 
 
                 }
                 break;
-            case 53 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:322: T__65
+            case 54 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:328: T__65
                 {
                 mT__65(); 
 
                 }
                 break;
-            case 54 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:328: T__66
+            case 55 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:334: T__66
                 {
                 mT__66(); 
 
                 }
                 break;
-            case 55 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:334: T__67
+            case 56 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:340: T__67
                 {
                 mT__67(); 
 
                 }
                 break;
-            case 56 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:340: T__68
+            case 57 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:346: T__68
                 {
                 mT__68(); 
 
                 }
                 break;
-            case 57 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:346: T__69
+            case 58 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:352: T__69
                 {
                 mT__69(); 
 
                 }
                 break;
-            case 58 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:352: T__70
+            case 59 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:358: T__70
                 {
                 mT__70(); 
 
                 }
                 break;
-            case 59 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:358: RULE_EXP
+            case 60 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:364: T__71
                 {
-                mRULE_EXP(); 
+                mT__71(); 
 
                 }
                 break;
-            case 60 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:367: RULE_HEX
+            case 61 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:370: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 61 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:376: RULE_ID
+            case 62 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:379: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 62 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:384: RULE_INT
+            case 63 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:387: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 63 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:393: RULE_STRING
+            case 64 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:396: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 64 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:405: RULE_ML_COMMENT
+            case 65 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:408: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 65 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:421: RULE_SL_COMMENT
+            case 66 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:424: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 66 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:437: RULE_WS
+            case 67 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:440: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 67 :
-                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:445: RULE_ANY_OTHER
+            case 68 :
+                // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1:448: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -2478,33 +2426,33 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\1\uffff\3\60\2\uffff\10\60\1\uffff\1\60\1\107\5\60\7\uffff\1\132"+
-        "\2\uffff\1\60\1\uffff\1\60\1\141\1\53\2\uffff\3\53\2\uffff\4\60"+
-        "\1\uffff\4\60\1\66\3\uffff\1\60\1\160\11\60\1\uffff\1\173\2\uffff"+
-        "\1\60\1\176\1\177\4\60\1\u0084\1\u0085\1\60\13\uffff\1\60\1\uffff"+
-        "\1\60\6\uffff\12\60\1\uffff\12\60\1\uffff\2\60\2\uffff\1\u00a2\3"+
-        "\60\2\uffff\14\60\1\u00b2\5\60\1\u00b8\10\60\1\u00c1\1\uffff\2\60"+
-        "\1\u00c4\11\60\1\u00ce\2\60\1\uffff\1\u00d1\1\60\1\u00d4\2\60\1"+
-        "\uffff\10\60\1\uffff\1\60\1\u00e0\1\uffff\1\60\1\u00e2\5\60\1\u00e8"+
-        "\1\60\1\uffff\2\60\1\uffff\2\60\1\uffff\13\60\1\uffff\1\60\1\uffff"+
-        "\2\60\1\u00fc\2\60\1\uffff\2\60\1\u0101\5\60\1\u0108\4\60\1\u010d"+
-        "\5\60\1\uffff\1\60\1\u0114\2\60\1\uffff\3\60\1\u011a\2\60\1\uffff"+
-        "\4\60\1\uffff\1\u0121\1\u0122\4\60\1\uffff\1\u0127\4\60\1\uffff"+
-        "\4\60\1\u0130\1\60\2\uffff\1\u0132\1\u0133\1\u0134\1\60\1\uffff"+
-        "\3\60\1\u0139\2\60\1\u013d\1\u013e\1\uffff\1\60\3\uffff\2\60\1\u0142"+
-        "\1\60\1\uffff\3\60\2\uffff\1\u0147\1\u0148\1\60\1\uffff\1\u014a"+
-        "\1\u014b\2\60\2\uffff\1\60\2\uffff\2\60\1\u0151\2\60\1\uffff\1\60"+
-        "\1\u0155\1\60\1\uffff\1\u0157\1\uffff";
-    static final String DFA16_eofS =
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\1\uffff\2\60\1\65\2\uffff\6\60\1\102\1\60\1\uffff\1\60\1\107\5"+
+        "\60\7\uffff\1\132\2\uffff\1\60\1\uffff\1\60\1\141\1\53\2\uffff\3"+
+        "\53\2\uffff\4\60\1\uffff\4\60\3\uffff\1\60\1\160\10\60\1\uffff\1"+
+        "\60\1\uffff\1\173\2\uffff\1\60\1\176\1\177\4\60\1\u0084\1\u0085"+
+        "\1\60\13\uffff\1\60\1\uffff\1\60\6\uffff\12\60\1\uffff\12\60\1\uffff"+
+        "\2\60\2\uffff\1\u00a2\3\60\2\uffff\14\60\1\u00b2\5\60\1\u00b8\10"+
+        "\60\1\u00c1\1\uffff\2\60\1\u00c4\11\60\1\u00ce\2\60\1\uffff\1\u00d1"+
+        "\1\60\1\u00d4\2\60\1\uffff\10\60\1\uffff\1\60\1\u00e0\1\uffff\1"+
+        "\60\1\u00e2\5\60\1\u00e8\1\60\1\uffff\2\60\1\uffff\2\60\1\uffff"+
+        "\13\60\1\uffff\1\60\1\uffff\2\60\1\u00fc\2\60\1\uffff\2\60\1\u0101"+
+        "\5\60\1\u0108\4\60\1\u010d\5\60\1\uffff\1\60\1\u0114\2\60\1\uffff"+
+        "\3\60\1\u011a\2\60\1\uffff\4\60\1\uffff\1\u0121\1\u0122\4\60\1\uffff"+
+        "\1\u0127\4\60\1\uffff\4\60\1\u0130\1\60\2\uffff\1\u0132\1\u0133"+
+        "\1\u0134\1\60\1\uffff\3\60\1\u0139\2\60\1\u013d\1\u013e\1\uffff"+
+        "\1\60\3\uffff\2\60\1\u0142\1\60\1\uffff\3\60\2\uffff\1\u0147\1\u0148"+
+        "\1\60\1\uffff\1\u014a\1\u014b\2\60\2\uffff\1\60\2\uffff\2\60\1\u0151"+
+        "\2\60\1\uffff\1\60\1\u0155\1\60\1\uffff\1\u0157\1\uffff";
+    static final String DFA14_eofS =
         "\u0158\uffff";
-    static final String DFA16_minS =
-        "\1\0\1\142\1\157\1\53\2\uffff\1\164\1\141\1\165\1\145\1\141\1\162"+
-        "\1\53\1\150\1\uffff\1\156\1\76\1\162\1\146\1\165\1\157\1\141\7\uffff"+
+    static final String DFA14_minS =
+        "\1\0\1\142\1\157\1\60\2\uffff\1\164\1\141\1\165\1\145\1\141\1\162"+
+        "\1\60\1\150\1\uffff\1\156\1\76\1\162\1\146\1\165\1\157\1\141\7\uffff"+
         "\1\52\2\uffff\1\141\1\uffff\1\164\1\130\1\101\2\uffff\2\0\1\52\2"+
-        "\uffff\1\163\2\164\1\171\1\uffff\1\144\1\151\1\164\1\145\1\60\3"+
-        "\uffff\1\141\1\60\1\164\1\142\1\156\1\146\1\156\1\141\1\164\1\151"+
+        "\uffff\1\163\2\164\1\171\1\uffff\1\144\1\151\1\164\1\145\3\uffff"+
+        "\1\141\1\60\1\164\1\142\1\156\1\146\1\156\1\141\1\164\1\151\1\uffff"+
         "\1\157\1\uffff\1\60\2\uffff\1\151\2\60\2\164\1\141\1\156\2\60\1"+
         "\156\13\uffff\1\154\1\uffff\1\102\6\uffff\1\164\1\151\1\162\1\156"+
         "\2\145\1\164\1\162\1\156\1\164\1\uffff\1\141\1\147\1\143\1\151\1"+
@@ -2528,16 +2476,16 @@
         "\60\1\145\1\uffff\1\145\1\163\1\157\2\uffff\2\60\1\156\1\uffff\2"+
         "\60\2\151\2\uffff\1\164\2\uffff\1\164\1\156\1\60\1\151\1\164\1\uffff"+
         "\1\157\1\60\1\156\1\uffff\1\60\1\uffff";
-    static final String DFA16_maxS =
-        "\1\uffff\1\164\1\157\1\170\2\uffff\1\164\1\157\1\171\1\145\1\141"+
-        "\1\162\1\170\1\150\1\uffff\1\156\1\76\1\162\2\165\1\160\1\171\7"+
+    static final String DFA14_maxS =
+        "\1\uffff\1\164\1\157\1\172\2\uffff\1\164\1\157\1\171\1\145\1\141"+
+        "\1\162\1\172\1\150\1\uffff\1\156\1\76\1\162\2\165\1\160\1\171\7"+
         "\uffff\1\52\2\uffff\1\141\1\uffff\1\164\1\170\1\172\2\uffff\2\uffff"+
-        "\1\57\2\uffff\1\163\2\164\1\171\1\uffff\1\144\2\164\1\145\1\172"+
-        "\3\uffff\1\141\1\172\1\164\1\142\1\156\1\146\1\156\1\141\1\164\1"+
-        "\151\1\157\1\uffff\1\172\2\uffff\1\165\2\172\2\164\1\141\1\156\2"+
-        "\172\1\156\13\uffff\1\154\1\uffff\1\122\6\uffff\1\164\1\151\1\162"+
-        "\1\156\2\145\1\164\1\162\1\156\1\164\1\uffff\1\141\1\147\1\143\1"+
-        "\151\1\144\1\156\1\162\1\164\1\151\1\164\1\uffff\1\147\1\145\2\uffff"+
+        "\1\57\2\uffff\1\163\2\164\1\171\1\uffff\1\144\2\164\1\145\3\uffff"+
+        "\1\141\1\172\1\164\1\142\1\156\1\146\1\156\1\141\1\164\1\151\1\uffff"+
+        "\1\157\1\uffff\1\172\2\uffff\1\165\2\172\2\164\1\141\1\156\2\172"+
+        "\1\156\13\uffff\1\154\1\uffff\1\122\6\uffff\1\164\1\151\1\162\1"+
+        "\156\2\145\1\164\1\162\1\156\1\164\1\uffff\1\141\1\147\1\143\1\151"+
+        "\1\144\1\156\1\162\1\164\1\151\1\164\1\uffff\1\147\1\145\2\uffff"+
         "\1\172\1\151\1\162\1\144\2\uffff\1\144\1\163\1\157\1\156\1\145\1"+
         "\150\1\162\1\157\1\151\1\143\1\154\1\156\1\172\1\171\1\164\1\145"+
         "\1\144\1\162\1\172\1\156\1\154\1\163\1\171\1\120\1\143\1\151\1\147"+
@@ -2557,23 +2505,23 @@
         "\3\uffff\1\162\1\145\1\172\1\145\1\uffff\1\145\1\163\1\157\2\uffff"+
         "\2\172\1\156\1\uffff\2\172\2\151\2\uffff\1\164\2\uffff\1\164\1\156"+
         "\1\172\1\151\1\164\1\uffff\1\157\1\172\1\156\1\uffff\1\172\1\uffff";
-    static final String DFA16_acceptS =
+    static final String DFA14_acceptS =
         "\4\uffff\1\4\1\5\10\uffff\1\23\7\uffff\1\37\1\40\1\41\1\43\1\44"+
-        "\1\45\1\47\1\uffff\1\54\1\55\1\uffff\1\60\3\uffff\1\75\1\76\3\uffff"+
-        "\1\102\1\103\4\uffff\1\75\5\uffff\1\73\1\4\1\5\13\uffff\1\23\1\uffff"+
-        "\1\25\1\61\12\uffff\1\37\1\40\1\41\1\43\1\44\1\45\1\47\1\53\1\62"+
-        "\1\54\1\55\1\uffff\1\60\1\uffff\1\74\1\76\1\77\1\100\1\101\1\102"+
-        "\12\uffff\1\12\12\uffff\1\42\2\uffff\1\30\1\35\4\uffff\1\36\1\34"+
-        "\34\uffff\1\46\17\uffff\1\11\5\uffff\1\66\10\uffff\1\57\2\uffff"+
-        "\1\32\11\uffff\1\65\2\uffff\1\10\2\uffff\1\7\13\uffff\1\31\1\uffff"+
-        "\1\56\5\uffff\1\26\23\uffff\1\71\4\uffff\1\3\6\uffff\1\15\4\uffff"+
-        "\1\24\6\uffff\1\1\5\uffff\1\13\6\uffff\1\27\1\50\4\uffff\1\52\10"+
-        "\uffff\1\20\1\uffff\1\51\1\67\1\70\4\uffff\1\64\3\uffff\1\22\1\17"+
-        "\3\uffff\1\63\4\uffff\1\21\1\72\1\uffff\1\6\1\14\5\uffff\1\2\3\uffff"+
-        "\1\16\1\uffff\1\33";
-    static final String DFA16_specialS =
-        "\1\1\46\uffff\1\0\1\2\u012f\uffff}>";
-    static final String[] DFA16_transitionS = {
+        "\1\45\1\47\1\uffff\1\54\1\55\1\uffff\1\60\3\uffff\1\76\1\77\3\uffff"+
+        "\1\103\1\104\4\uffff\1\76\4\uffff\1\63\1\4\1\5\12\uffff\1\64\1\uffff"+
+        "\1\23\1\uffff\1\25\1\61\12\uffff\1\37\1\40\1\41\1\43\1\44\1\45\1"+
+        "\47\1\53\1\62\1\54\1\55\1\uffff\1\60\1\uffff\1\75\1\77\1\100\1\101"+
+        "\1\102\1\103\12\uffff\1\12\12\uffff\1\42\2\uffff\1\30\1\35\4\uffff"+
+        "\1\36\1\34\34\uffff\1\46\17\uffff\1\11\5\uffff\1\70\10\uffff\1\57"+
+        "\2\uffff\1\32\11\uffff\1\67\2\uffff\1\10\2\uffff\1\7\13\uffff\1"+
+        "\31\1\uffff\1\56\5\uffff\1\26\23\uffff\1\73\4\uffff\1\3\6\uffff"+
+        "\1\15\4\uffff\1\24\6\uffff\1\1\5\uffff\1\13\6\uffff\1\27\1\50\4"+
+        "\uffff\1\52\10\uffff\1\20\1\uffff\1\51\1\71\1\72\4\uffff\1\66\3"+
+        "\uffff\1\22\1\17\3\uffff\1\65\4\uffff\1\21\1\74\1\uffff\1\6\1\14"+
+        "\5\uffff\1\2\3\uffff\1\16\1\uffff\1\33";
+    static final String DFA14_specialS =
+        "\1\0\46\uffff\1\1\1\2\u012f\uffff}>";
+    static final String[] DFA14_transitionS = {
             "\11\53\2\52\2\53\1\52\22\53\1\52\1\53\1\47\4\53\1\50\1\31\1"+
             "\33\1\53\1\41\1\32\1\20\1\35\1\51\1\43\11\46\1\16\1\53\1\26"+
             "\1\34\1\30\2\53\2\45\1\15\1\45\1\14\7\45\1\2\4\45\1\11\1\6\1"+
@@ -2582,18 +2530,18 @@
             "\6\45\1\4\1\27\1\5\uff82\53",
             "\1\54\1\55\17\uffff\1\57\1\56",
             "\1\61",
-            "\1\66\1\uffff\1\66\2\uffff\12\65\64\uffff\1\63\7\uffff\1\64"+
-            "\1\uffff\1\62",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\63\7\60"+
+            "\1\64\1\60\1\62\2\60",
             "",
             "",
-            "\1\71",
-            "\1\73\15\uffff\1\72",
-            "\1\74\3\uffff\1\75",
+            "\1\70",
+            "\1\72\15\uffff\1\71",
+            "\1\73\3\uffff\1\74",
+            "\1\75",
             "\1\76",
             "\1\77",
-            "\1\100",
-            "\1\66\1\uffff\1\66\2\uffff\12\65\64\uffff\1\101\11\uffff\1"+
-            "\102",
+            "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\15\60\1\100\11\60"+
+            "\1\101\2\60",
             "\1\103",
             "",
             "\1\105",
@@ -2634,7 +2582,6 @@
             "\1\154\12\uffff\1\153",
             "\1\155",
             "\1\156",
-            "\12\65\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60",
             "",
             "",
             "",
@@ -2648,6 +2595,7 @@
             "\1\166",
             "\1\167",
             "\1\170",
+            "",
             "\1\171",
             "",
             "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\10\60\1\172\21\60",
@@ -2929,149 +2877,149 @@
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( 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 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( 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 | RULE_HEX | 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 LA16_39 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_39>='\u0000' && LA16_39<='\uFFFF')) ) {s = 98;}
+                        if ( (LA14_0=='a') ) {s = 1;}
+
+                        else if ( (LA14_0=='M') ) {s = 2;}
+
+                        else if ( (LA14_0=='e') ) {s = 3;}
+
+                        else if ( (LA14_0=='{') ) {s = 4;}
+
+                        else if ( (LA14_0=='}') ) {s = 5;}
+
+                        else if ( (LA14_0=='S') ) {s = 6;}
+
+                        else if ( (LA14_0=='d') ) {s = 7;}
+
+                        else if ( (LA14_0=='s') ) {s = 8;}
+
+                        else if ( (LA14_0=='R') ) {s = 9;}
+
+                        else if ( (LA14_0=='h') ) {s = 10;}
+
+                        else if ( (LA14_0=='T') ) {s = 11;}
+
+                        else if ( (LA14_0=='E') ) {s = 12;}
+
+                        else if ( (LA14_0=='C') ) {s = 13;}
+
+                        else if ( (LA14_0==':') ) {s = 14;}
+
+                        else if ( (LA14_0=='i') ) {s = 15;}
+
+                        else if ( (LA14_0=='-') ) {s = 16;}
+
+                        else if ( (LA14_0=='t') ) {s = 17;}
+
+                        else if ( (LA14_0=='o') ) {s = 18;}
+
+                        else if ( (LA14_0=='g') ) {s = 19;}
+
+                        else if ( (LA14_0=='c') ) {s = 20;}
+
+                        else if ( (LA14_0=='m') ) {s = 21;}
+
+                        else if ( (LA14_0=='<') ) {s = 22;}
+
+                        else if ( (LA14_0=='|') ) {s = 23;}
+
+                        else if ( (LA14_0=='>') ) {s = 24;}
+
+                        else if ( (LA14_0=='(') ) {s = 25;}
+
+                        else if ( (LA14_0==',') ) {s = 26;}
+
+                        else if ( (LA14_0==')') ) {s = 27;}
+
+                        else if ( (LA14_0=='=') ) {s = 28;}
+
+                        else if ( (LA14_0=='.') ) {s = 29;}
+
+                        else if ( (LA14_0=='[') ) {s = 30;}
+
+                        else if ( (LA14_0==']') ) {s = 31;}
+
+                        else if ( (LA14_0=='f') ) {s = 32;}
+
+                        else if ( (LA14_0=='+') ) {s = 33;}
+
+                        else if ( (LA14_0=='p') ) {s = 34;}
+
+                        else if ( (LA14_0=='0') ) {s = 35;}
+
+                        else if ( (LA14_0=='^') ) {s = 36;}
+
+                        else if ( ((LA14_0>='A' && LA14_0<='B')||LA14_0=='D'||(LA14_0>='F' && LA14_0<='L')||(LA14_0>='N' && LA14_0<='Q')||(LA14_0>='U' && LA14_0<='Z')||LA14_0=='_'||LA14_0=='b'||(LA14_0>='j' && LA14_0<='l')||LA14_0=='n'||(LA14_0>='q' && LA14_0<='r')||(LA14_0>='u' && LA14_0<='z')) ) {s = 37;}
+
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 38;}
+
+                        else if ( (LA14_0=='\"') ) {s = 39;}
+
+                        else if ( (LA14_0=='\'') ) {s = 40;}
+
+                        else if ( (LA14_0=='/') ) {s = 41;}
+
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 42;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||LA14_0=='*'||LA14_0==';'||(LA14_0>='?' && LA14_0<='@')||LA14_0=='\\'||LA14_0=='`'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 43;}
+
+                        if ( s>=0 ) return s;
+                        break;
+                    case 1 : 
+                        int LA14_39 = input.LA(1);
+
+                        s = -1;
+                        if ( ((LA14_39>='\u0000' && LA14_39<='\uFFFF')) ) {s = 98;}
 
                         else s = 43;
 
                         if ( s>=0 ) return s;
                         break;
-                    case 1 : 
-                        int LA16_0 = input.LA(1);
-
-                        s = -1;
-                        if ( (LA16_0=='a') ) {s = 1;}
-
-                        else if ( (LA16_0=='M') ) {s = 2;}
-
-                        else if ( (LA16_0=='e') ) {s = 3;}
-
-                        else if ( (LA16_0=='{') ) {s = 4;}
-
-                        else if ( (LA16_0=='}') ) {s = 5;}
-
-                        else if ( (LA16_0=='S') ) {s = 6;}
-
-                        else if ( (LA16_0=='d') ) {s = 7;}
-
-                        else if ( (LA16_0=='s') ) {s = 8;}
-
-                        else if ( (LA16_0=='R') ) {s = 9;}
-
-                        else if ( (LA16_0=='h') ) {s = 10;}
-
-                        else if ( (LA16_0=='T') ) {s = 11;}
-
-                        else if ( (LA16_0=='E') ) {s = 12;}
-
-                        else if ( (LA16_0=='C') ) {s = 13;}
-
-                        else if ( (LA16_0==':') ) {s = 14;}
-
-                        else if ( (LA16_0=='i') ) {s = 15;}
-
-                        else if ( (LA16_0=='-') ) {s = 16;}
-
-                        else if ( (LA16_0=='t') ) {s = 17;}
-
-                        else if ( (LA16_0=='o') ) {s = 18;}
-
-                        else if ( (LA16_0=='g') ) {s = 19;}
-
-                        else if ( (LA16_0=='c') ) {s = 20;}
-
-                        else if ( (LA16_0=='m') ) {s = 21;}
-
-                        else if ( (LA16_0=='<') ) {s = 22;}
-
-                        else if ( (LA16_0=='|') ) {s = 23;}
-
-                        else if ( (LA16_0=='>') ) {s = 24;}
-
-                        else if ( (LA16_0=='(') ) {s = 25;}
-
-                        else if ( (LA16_0==',') ) {s = 26;}
-
-                        else if ( (LA16_0==')') ) {s = 27;}
-
-                        else if ( (LA16_0=='=') ) {s = 28;}
-
-                        else if ( (LA16_0=='.') ) {s = 29;}
-
-                        else if ( (LA16_0=='[') ) {s = 30;}
-
-                        else if ( (LA16_0==']') ) {s = 31;}
-
-                        else if ( (LA16_0=='f') ) {s = 32;}
-
-                        else if ( (LA16_0=='+') ) {s = 33;}
-
-                        else if ( (LA16_0=='p') ) {s = 34;}
-
-                        else if ( (LA16_0=='0') ) {s = 35;}
-
-                        else if ( (LA16_0=='^') ) {s = 36;}
-
-                        else if ( ((LA16_0>='A' && LA16_0<='B')||LA16_0=='D'||(LA16_0>='F' && LA16_0<='L')||(LA16_0>='N' && LA16_0<='Q')||(LA16_0>='U' && LA16_0<='Z')||LA16_0=='_'||LA16_0=='b'||(LA16_0>='j' && LA16_0<='l')||LA16_0=='n'||(LA16_0>='q' && LA16_0<='r')||(LA16_0>='u' && LA16_0<='z')) ) {s = 37;}
-
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 38;}
-
-                        else if ( (LA16_0=='\"') ) {s = 39;}
-
-                        else if ( (LA16_0=='\'') ) {s = 40;}
-
-                        else if ( (LA16_0=='/') ) {s = 41;}
-
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 42;}
-
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||LA16_0=='*'||LA16_0==';'||(LA16_0>='?' && LA16_0<='@')||LA16_0=='\\'||LA16_0=='`'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 43;}
-
-                        if ( s>=0 ) return s;
-                        break;
                     case 2 : 
-                        int LA16_40 = input.LA(1);
+                        int LA14_40 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_40>='\u0000' && LA16_40<='\uFFFF')) ) {s = 98;}
+                        if ( ((LA14_40>='\u0000' && LA14_40<='\uFFFF')) ) {s = 98;}
 
                         else s = 43;
 
@@ -3079,7 +3027,7 @@
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSMParser.java b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSMParser.java
index 23aa091..2996e6b 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSMParser.java
+++ b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSMParser.java
@@ -22,76 +22,77 @@
 @SuppressWarnings("all")
 public class InternalFSMParser extends AbstractInternalAntlrParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_EXP", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'abstract'", "'ModelComponent'", "'extends'", "'{'", "'}'", "'StateMachine'", "'State'", "'entry'", "'exit'", "'do'", "'subgraph'", "'RefinedState'", "'handler'", "'TransitionPoint'", "'EntryPoint'", "'ExitPoint'", "'ChoicePoint'", "'Transition'", "':'", "'initial'", "'->'", "'action'", "'triggers'", "'or'", "'guard'", "'cond'", "'RefinedTransition'", "'my'", "'of'", "'cp'", "'<'", "'|'", "'>'", "'in'", "'('", "','", "')'", "'out'", "'='", "'optional'", "'mandatory'", "'attribute'", "'.*'", "'['", "']'", "'false'", "'true'", "'+'", "'-'", "'.'", "'eventdriven'", "'datadriven'", "'async'", "'sync'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'abstract'", "'ModelComponent'", "'extends'", "'{'", "'}'", "'StateMachine'", "'State'", "'entry'", "'exit'", "'do'", "'subgraph'", "'RefinedState'", "'handler'", "'TransitionPoint'", "'EntryPoint'", "'ExitPoint'", "'ChoicePoint'", "'Transition'", "':'", "'initial'", "'->'", "'action'", "'triggers'", "'or'", "'guard'", "'cond'", "'RefinedTransition'", "'my'", "'of'", "'cp'", "'<'", "'|'", "'>'", "'in'", "'('", "','", "')'", "'out'", "'='", "'optional'", "'mandatory'", "'attribute'", "'.*'", "'['", "']'", "'false'", "'true'", "'+'", "'-'", "'.'", "'e'", "'E'", "'eventdriven'", "'datadriven'", "'async'", "'sync'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
     };
-    public static final int T__68=68;
-    public static final int T__69=69;
-    public static final int RULE_EXP=8;
-    public static final int RULE_ID=4;
-    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__29=29;
-    public static final int T__65=65;
-    public static final int T__28=28;
-    public static final int T__62=62;
-    public static final int T__27=27;
-    public static final int T__63=63;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    public static final int T__21=21;
-    public static final int T__20=20;
-    public static final int T__61=61;
-    public static final int T__60=60;
-    public static final int EOF=-1;
-    public static final int T__55=55;
-    public static final int T__56=56;
-    public static final int T__19=19;
-    public static final int T__57=57;
     public static final int RULE_HEX=7;
-    public static final int T__58=58;
-    public static final int T__16=16;
-    public static final int T__51=51;
+    public static final int T__50=50;
+    public static final int T__19=19;
     public static final int T__15=15;
+    public static final int T__59=59;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__55=55;
+    public static final int T__12=12;
+    public static final int T__56=56;
+    public static final int T__13=13;
+    public static final int T__57=57;
+    public static final int T__14=14;
+    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__18=18;
     public static final int T__54=54;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__59=59;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
     public static final int RULE_INT=6;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int RULE_STRING=5;
-    public static final int T__32=32;
-    public static final int T__33=33;
-    public static final int T__34=34;
-    public static final int T__35=35;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__23=23;
+    public static final int T__67=67;
+    public static final int T__24=24;
+    public static final int T__68=68;
+    public static final int T__25=25;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__63=63;
+    public static final int T__20=20;
+    public static final int T__64=64;
+    public static final int T__21=21;
+    public static final int T__65=65;
     public static final int T__70=70;
-    public static final int T__36=36;
+    public static final int T__71=71;
+    public static final int RULE_STRING=5;
+    public static final int RULE_SL_COMMENT=9;
     public static final int T__37=37;
     public static final int T__38=38;
     public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int T__33=33;
+    public static final int T__34=34;
+    public static final int T__35=35;
+    public static final int T__36=36;
+    public static final int EOF=-1;
+    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_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
 
     // delegates
     // delegators
@@ -187,7 +188,7 @@
                 int alt1=2;
                 int LA1_0 = input.LA(1);
 
-                if ( ((LA1_0>=13 && LA1_0<=14)||(LA1_0>=63 && LA1_0<=66)) ) {
+                if ( ((LA1_0>=12 && LA1_0<=13)||(LA1_0>=64 && LA1_0<=67)) ) {
                     alt1=1;
                 }
 
@@ -324,10 +325,10 @@
                 int alt2=3;
                 int LA2_0 = input.LA(1);
 
-                if ( LA2_0 ==13 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 0) ) {
+                if ( LA2_0 ==12 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 0) ) {
                     alt2=1;
                 }
-                else if ( LA2_0 >=63 && LA2_0<=66 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 1) ) {
+                else if ( LA2_0 >=64 && LA2_0<=67 && getUnorderedGroupHelper().canSelect(grammarAccess.getModelComponentAccess().getUnorderedGroup_0(), 1) ) {
                     alt2=2;
                 }
 
@@ -360,7 +361,7 @@
             	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:135:1: (lv_abstract_1_0= 'abstract' )
             	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:136:3: lv_abstract_1_0= 'abstract'
             	    {
-            	    lv_abstract_1_0=(Token)match(input,13,FOLLOW_13_in_ruleModelComponent264); 
+            	    lv_abstract_1_0=(Token)match(input,12,FOLLOW_12_in_ruleModelComponent264); 
 
             	            newLeafNode(lv_abstract_1_0, grammarAccess.getModelComponentAccess().getAbstractAbstractKeyword_0_0_0());
             	        
@@ -476,7 +477,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleModelComponent404); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleModelComponent404); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getModelComponentAccess().getModelComponentKeyword_1());
                 
@@ -510,14 +511,14 @@
             int alt3=2;
             int LA3_0 = input.LA(1);
 
-            if ( (LA3_0==15) ) {
+            if ( (LA3_0==14) ) {
                 alt3=1;
             }
             switch (alt3) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:215:4: otherlv_5= 'extends' ( ( ruleFQN ) )
                     {
-                    otherlv_5=(Token)match(input,15,FOLLOW_15_in_ruleModelComponent439); 
+                    otherlv_5=(Token)match(input,14,FOLLOW_14_in_ruleModelComponent439); 
 
                         	newLeafNode(otherlv_5, grammarAccess.getModelComponentAccess().getExtendsKeyword_3_0());
                         
@@ -663,21 +664,21 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:273:1: (this_State_0= ruleState | this_ChoicePoint_1= ruleChoicePoint | this_TrPoint_2= ruleTrPoint )
             int alt4=3;
             switch ( input.LA(1) ) {
-            case 19:
-            case 24:
+            case 18:
+            case 23:
                 {
                 alt4=1;
                 }
                 break;
-            case 29:
+            case 28:
                 {
                 alt4=2;
                 }
                 break;
+            case 24:
             case 25:
             case 26:
             case 27:
-            case 28:
                 {
                 alt4=3;
                 }
@@ -838,7 +839,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleStateGraph725); 
+            otherlv_1=(Token)match(input,15,FOLLOW_15_in_ruleStateGraph725); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_1());
                 
@@ -847,31 +848,31 @@
             do {
                 int alt5=6;
                 switch ( input.LA(1) ) {
-                case 19:
-                case 24:
+                case 18:
+                case 23:
                     {
                     alt5=1;
                     }
                     break;
+                case 24:
                 case 25:
                 case 26:
                 case 27:
-                case 28:
                     {
                     alt5=2;
                     }
                     break;
-                case 29:
+                case 28:
                     {
                     alt5=3;
                     }
                     break;
-                case 30:
+                case 29:
                     {
                     alt5=4;
                     }
                     break;
-                case 39:
+                case 38:
                     {
                     alt5=5;
                     }
@@ -1071,7 +1072,7 @@
                 }
             } while (true);
 
-            otherlv_7=(Token)match(input,17,FOLLOW_17_in_ruleStateGraph869); 
+            otherlv_7=(Token)match(input,16,FOLLOW_16_in_ruleStateGraph869); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_3());
                 
@@ -1170,11 +1171,11 @@
 
             }
 
-            otherlv_1=(Token)match(input,18,FOLLOW_18_in_ruleStateMachine961); 
+            otherlv_1=(Token)match(input,17,FOLLOW_17_in_ruleStateMachine961); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getStateMachineAccess().getStateMachineKeyword_1());
                 
-            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleStateMachine973); 
+            otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleStateMachine973); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_2());
                 
@@ -1183,31 +1184,31 @@
             do {
                 int alt6=6;
                 switch ( input.LA(1) ) {
-                case 19:
-                case 24:
+                case 18:
+                case 23:
                     {
                     alt6=1;
                     }
                     break;
+                case 24:
                 case 25:
                 case 26:
                 case 27:
-                case 28:
                     {
                     alt6=2;
                     }
                     break;
-                case 29:
+                case 28:
                     {
                     alt6=3;
                     }
                     break;
-                case 30:
+                case 29:
                     {
                     alt6=4;
                     }
                     break;
-                case 39:
+                case 38:
                     {
                     alt6=5;
                     }
@@ -1407,7 +1408,7 @@
                 }
             } while (true);
 
-            otherlv_8=(Token)match(input,17,FOLLOW_17_in_ruleStateMachine1117); 
+            otherlv_8=(Token)match(input,16,FOLLOW_16_in_ruleStateMachine1117); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_4());
                 
@@ -1487,10 +1488,10 @@
             int alt7=2;
             int LA7_0 = input.LA(1);
 
-            if ( (LA7_0==19) ) {
+            if ( (LA7_0==18) ) {
                 alt7=1;
             }
-            else if ( (LA7_0==24) ) {
+            else if ( (LA7_0==23) ) {
                 alt7=2;
             }
             else {
@@ -1625,7 +1626,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:627:1: (otherlv_0= 'State' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? (otherlv_3= '{' (otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) ) )? (otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) ) )? (otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) ) )? (otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) ) )? otherlv_12= '}' )? )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:627:3: otherlv_0= 'State' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? (otherlv_3= '{' (otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) ) )? (otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) ) )? (otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) ) )? (otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) ) )? otherlv_12= '}' )?
             {
-            otherlv_0=(Token)match(input,19,FOLLOW_19_in_ruleSimpleState1319); 
+            otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleSimpleState1319); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getSimpleStateAccess().getStateKeyword_0());
                 
@@ -1659,7 +1660,7 @@
             int alt8=2;
             int LA8_0 = input.LA(1);
 
-            if ( (LA8_0==56) ) {
+            if ( (LA8_0==55) ) {
                 alt8=1;
             }
             switch (alt8) {
@@ -1701,14 +1702,14 @@
             int alt13=2;
             int LA13_0 = input.LA(1);
 
-            if ( (LA13_0==16) ) {
+            if ( (LA13_0==15) ) {
                 alt13=1;
             }
             switch (alt13) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:667:5: otherlv_3= '{' (otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) ) )? (otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) ) )? (otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) ) )? (otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) ) )? otherlv_12= '}'
                     {
-                    otherlv_3=(Token)match(input,16,FOLLOW_16_in_ruleSimpleState1376); 
+                    otherlv_3=(Token)match(input,15,FOLLOW_15_in_ruleSimpleState1376); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getSimpleStateAccess().getLeftCurlyBracketKeyword_3_0());
                         
@@ -1716,14 +1717,14 @@
                     int alt9=2;
                     int LA9_0 = input.LA(1);
 
-                    if ( (LA9_0==20) ) {
+                    if ( (LA9_0==19) ) {
                         alt9=1;
                     }
                     switch (alt9) {
                         case 1 :
                             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:671:3: otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) )
                             {
-                            otherlv_4=(Token)match(input,20,FOLLOW_20_in_ruleSimpleState1389); 
+                            otherlv_4=(Token)match(input,19,FOLLOW_19_in_ruleSimpleState1389); 
 
                                 	newLeafNode(otherlv_4, grammarAccess.getSimpleStateAccess().getEntryKeyword_3_1_0());
                                 
@@ -1768,14 +1769,14 @@
                     int alt10=2;
                     int LA10_0 = input.LA(1);
 
-                    if ( (LA10_0==21) ) {
+                    if ( (LA10_0==20) ) {
                         alt10=1;
                     }
                     switch (alt10) {
                         case 1 :
                             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:693:6: otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) )
                             {
-                            otherlv_6=(Token)match(input,21,FOLLOW_21_in_ruleSimpleState1425); 
+                            otherlv_6=(Token)match(input,20,FOLLOW_20_in_ruleSimpleState1425); 
 
                                 	newLeafNode(otherlv_6, grammarAccess.getSimpleStateAccess().getExitKeyword_3_2_0());
                                 
@@ -1820,14 +1821,14 @@
                     int alt11=2;
                     int LA11_0 = input.LA(1);
 
-                    if ( (LA11_0==22) ) {
+                    if ( (LA11_0==21) ) {
                         alt11=1;
                     }
                     switch (alt11) {
                         case 1 :
                             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:715:6: otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) )
                             {
-                            otherlv_8=(Token)match(input,22,FOLLOW_22_in_ruleSimpleState1461); 
+                            otherlv_8=(Token)match(input,21,FOLLOW_21_in_ruleSimpleState1461); 
 
                                 	newLeafNode(otherlv_8, grammarAccess.getSimpleStateAccess().getDoKeyword_3_3_0());
                                 
@@ -1872,14 +1873,14 @@
                     int alt12=2;
                     int LA12_0 = input.LA(1);
 
-                    if ( (LA12_0==23) ) {
+                    if ( (LA12_0==22) ) {
                         alt12=1;
                     }
                     switch (alt12) {
                         case 1 :
                             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:737:6: otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) )
                             {
-                            otherlv_10=(Token)match(input,23,FOLLOW_23_in_ruleSimpleState1497); 
+                            otherlv_10=(Token)match(input,22,FOLLOW_22_in_ruleSimpleState1497); 
 
                                 	newLeafNode(otherlv_10, grammarAccess.getSimpleStateAccess().getSubgraphKeyword_3_4_0());
                                 
@@ -1920,7 +1921,7 @@
 
                     }
 
-                    otherlv_12=(Token)match(input,17,FOLLOW_17_in_ruleSimpleState1532); 
+                    otherlv_12=(Token)match(input,16,FOLLOW_16_in_ruleSimpleState1532); 
 
                         	newLeafNode(otherlv_12, grammarAccess.getSimpleStateAccess().getRightCurlyBracketKeyword_3_5());
                         
@@ -2018,7 +2019,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:784:1: (otherlv_0= 'RefinedState' ( ( ruleFQN ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' (otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) ) )? (otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) ) )? (otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) ) )? (otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) ) )? otherlv_12= '}' )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:784:3: otherlv_0= 'RefinedState' ( ( ruleFQN ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' (otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) ) )? (otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) ) )? (otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) ) )? (otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) ) )? otherlv_12= '}'
             {
-            otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleRefinedState1617); 
+            otherlv_0=(Token)match(input,23,FOLLOW_23_in_ruleRefinedState1617); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0());
                 
@@ -2054,7 +2055,7 @@
             int alt14=2;
             int LA14_0 = input.LA(1);
 
-            if ( (LA14_0==56) ) {
+            if ( (LA14_0==55) ) {
                 alt14=1;
             }
             switch (alt14) {
@@ -2092,7 +2093,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,16,FOLLOW_16_in_ruleRefinedState1674); 
+            otherlv_3=(Token)match(input,15,FOLLOW_15_in_ruleRefinedState1674); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_3());
                 
@@ -2100,14 +2101,14 @@
             int alt15=2;
             int LA15_0 = input.LA(1);
 
-            if ( (LA15_0==20) ) {
+            if ( (LA15_0==19) ) {
                 alt15=1;
             }
             switch (alt15) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:825:3: otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) )
                     {
-                    otherlv_4=(Token)match(input,20,FOLLOW_20_in_ruleRefinedState1687); 
+                    otherlv_4=(Token)match(input,19,FOLLOW_19_in_ruleRefinedState1687); 
 
                         	newLeafNode(otherlv_4, grammarAccess.getRefinedStateAccess().getEntryKeyword_4_0());
                         
@@ -2152,14 +2153,14 @@
             int alt16=2;
             int LA16_0 = input.LA(1);
 
-            if ( (LA16_0==21) ) {
+            if ( (LA16_0==20) ) {
                 alt16=1;
             }
             switch (alt16) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:847:6: otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) )
                     {
-                    otherlv_6=(Token)match(input,21,FOLLOW_21_in_ruleRefinedState1723); 
+                    otherlv_6=(Token)match(input,20,FOLLOW_20_in_ruleRefinedState1723); 
 
                         	newLeafNode(otherlv_6, grammarAccess.getRefinedStateAccess().getExitKeyword_5_0());
                         
@@ -2204,14 +2205,14 @@
             int alt17=2;
             int LA17_0 = input.LA(1);
 
-            if ( (LA17_0==22) ) {
+            if ( (LA17_0==21) ) {
                 alt17=1;
             }
             switch (alt17) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:869:6: otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) )
                     {
-                    otherlv_8=(Token)match(input,22,FOLLOW_22_in_ruleRefinedState1759); 
+                    otherlv_8=(Token)match(input,21,FOLLOW_21_in_ruleRefinedState1759); 
 
                         	newLeafNode(otherlv_8, grammarAccess.getRefinedStateAccess().getDoKeyword_6_0());
                         
@@ -2256,14 +2257,14 @@
             int alt18=2;
             int LA18_0 = input.LA(1);
 
-            if ( (LA18_0==23) ) {
+            if ( (LA18_0==22) ) {
                 alt18=1;
             }
             switch (alt18) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:891:6: otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) )
                     {
-                    otherlv_10=(Token)match(input,23,FOLLOW_23_in_ruleRefinedState1795); 
+                    otherlv_10=(Token)match(input,22,FOLLOW_22_in_ruleRefinedState1795); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getRefinedStateAccess().getSubgraphKeyword_7_0());
                         
@@ -2304,7 +2305,7 @@
 
             }
 
-            otherlv_12=(Token)match(input,17,FOLLOW_17_in_ruleRefinedState1830); 
+            otherlv_12=(Token)match(input,16,FOLLOW_16_in_ruleRefinedState1830); 
 
                 	newLeafNode(otherlv_12, grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_8());
                 
@@ -2399,7 +2400,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:945:1: (lv_used_1_0= '{' )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:946:3: lv_used_1_0= '{'
             {
-            lv_used_1_0=(Token)match(input,16,FOLLOW_16_in_ruleDetailCode1928); 
+            lv_used_1_0=(Token)match(input,15,FOLLOW_15_in_ruleDetailCode1928); 
 
                     newLeafNode(lv_used_1_0, grammarAccess.getDetailCodeAccess().getUsedLeftCurlyBracketKeyword_1_0());
                 
@@ -2459,7 +2460,7 @@
                 }
             } while (true);
 
-            otherlv_3=(Token)match(input,17,FOLLOW_17_in_ruleDetailCode1976); 
+            otherlv_3=(Token)match(input,16,FOLLOW_16_in_ruleDetailCode1976); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_3());
                 
@@ -2540,18 +2541,18 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1002:1: (this_TransitionPoint_0= ruleTransitionPoint | this_EntryPoint_1= ruleEntryPoint | this_ExitPoint_2= ruleExitPoint )
             int alt20=3;
             switch ( input.LA(1) ) {
+            case 24:
             case 25:
-            case 26:
                 {
                 alt20=1;
                 }
                 break;
-            case 27:
+            case 26:
                 {
                 alt20=2;
                 }
                 break;
-            case 28:
+            case 27:
                 {
                 alt20=3;
                 }
@@ -2696,7 +2697,7 @@
             int alt21=2;
             int LA21_0 = input.LA(1);
 
-            if ( (LA21_0==25) ) {
+            if ( (LA21_0==24) ) {
                 alt21=1;
             }
             switch (alt21) {
@@ -2706,7 +2707,7 @@
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1053:1: (lv_handler_0_0= 'handler' )
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1054:3: lv_handler_0_0= 'handler'
                     {
-                    lv_handler_0_0=(Token)match(input,25,FOLLOW_25_in_ruleTransitionPoint2211); 
+                    lv_handler_0_0=(Token)match(input,24,FOLLOW_24_in_ruleTransitionPoint2211); 
 
                             newLeafNode(lv_handler_0_0, grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0());
                         
@@ -2725,7 +2726,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,26,FOLLOW_26_in_ruleTransitionPoint2237); 
+            otherlv_1=(Token)match(input,25,FOLLOW_25_in_ruleTransitionPoint2237); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1());
                 
@@ -2828,7 +2829,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1110:1: (otherlv_0= 'EntryPoint' ( (lv_name_1_0= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1110:3: otherlv_0= 'EntryPoint' ( (lv_name_1_0= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,27,FOLLOW_27_in_ruleEntryPoint2342); 
+            otherlv_0=(Token)match(input,26,FOLLOW_26_in_ruleEntryPoint2342); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getEntryPointAccess().getEntryPointKeyword_0());
                 
@@ -2931,7 +2932,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1153:1: (otherlv_0= 'ExitPoint' ( (lv_name_1_0= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1153:3: otherlv_0= 'ExitPoint' ( (lv_name_1_0= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,28,FOLLOW_28_in_ruleExitPoint2447); 
+            otherlv_0=(Token)match(input,27,FOLLOW_27_in_ruleExitPoint2447); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getExitPointAccess().getExitPointKeyword_0());
                 
@@ -3036,7 +3037,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1196:1: (otherlv_0= 'ChoicePoint' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1196:3: otherlv_0= 'ChoicePoint' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )?
             {
-            otherlv_0=(Token)match(input,29,FOLLOW_29_in_ruleChoicePoint2552); 
+            otherlv_0=(Token)match(input,28,FOLLOW_28_in_ruleChoicePoint2552); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getChoicePointAccess().getChoicePointKeyword_0());
                 
@@ -3070,7 +3071,7 @@
             int alt22=2;
             int LA22_0 = input.LA(1);
 
-            if ( (LA22_0==56) ) {
+            if ( (LA22_0==55) ) {
                 alt22=1;
             }
             switch (alt22) {
@@ -3184,19 +3185,19 @@
             int alt23=2;
             int LA23_0 = input.LA(1);
 
-            if ( (LA23_0==30) ) {
+            if ( (LA23_0==29) ) {
                 int LA23_1 = input.LA(2);
 
                 if ( (LA23_1==RULE_ID) ) {
                     int LA23_2 = input.LA(3);
 
-                    if ( (LA23_2==31) ) {
+                    if ( (LA23_2==30) ) {
                         int LA23_3 = input.LA(4);
 
-                        if ( (LA23_3==RULE_ID||LA23_3==40||LA23_3==42) ) {
+                        if ( (LA23_3==RULE_ID||LA23_3==39||LA23_3==41) ) {
                             alt23=2;
                         }
-                        else if ( (LA23_3==32) ) {
+                        else if ( (LA23_3==31) ) {
                             alt23=1;
                         }
                         else {
@@ -3213,13 +3214,13 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA23_1==31) ) {
+                else if ( (LA23_1==30) ) {
                     int LA23_3 = input.LA(3);
 
-                    if ( (LA23_3==RULE_ID||LA23_3==40||LA23_3==42) ) {
+                    if ( (LA23_3==RULE_ID||LA23_3==39||LA23_3==41) ) {
                         alt23=2;
                     }
-                    else if ( (LA23_3==32) ) {
+                    else if ( (LA23_3==31) ) {
                         alt23=1;
                     }
                     else {
@@ -3608,7 +3609,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1387:1: (otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' otherlv_3= 'initial' otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? (otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}' )? )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1387:3: otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' otherlv_3= 'initial' otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? (otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}' )?
             {
-            otherlv_0=(Token)match(input,30,FOLLOW_30_in_ruleInitialTransition3063); 
+            otherlv_0=(Token)match(input,29,FOLLOW_29_in_ruleInitialTransition3063); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0());
                 
@@ -3649,15 +3650,15 @@
 
             }
 
-            otherlv_2=(Token)match(input,31,FOLLOW_31_in_ruleInitialTransition3098); 
+            otherlv_2=(Token)match(input,30,FOLLOW_30_in_ruleInitialTransition3098); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getInitialTransitionAccess().getColonKeyword_2());
                 
-            otherlv_3=(Token)match(input,32,FOLLOW_32_in_ruleInitialTransition3110); 
+            otherlv_3=(Token)match(input,31,FOLLOW_31_in_ruleInitialTransition3110); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getInitialTransitionAccess().getInitialKeyword_3());
                 
-            otherlv_4=(Token)match(input,33,FOLLOW_33_in_ruleInitialTransition3122); 
+            otherlv_4=(Token)match(input,32,FOLLOW_32_in_ruleInitialTransition3122); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
                 
@@ -3696,7 +3697,7 @@
             int alt27=2;
             int LA27_0 = input.LA(1);
 
-            if ( (LA27_0==56) ) {
+            if ( (LA27_0==55) ) {
                 alt27=1;
             }
             switch (alt27) {
@@ -3738,14 +3739,14 @@
             int alt29=2;
             int LA29_0 = input.LA(1);
 
-            if ( (LA29_0==16) ) {
+            if ( (LA29_0==15) ) {
                 alt29=1;
             }
             switch (alt29) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1457:5: otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}'
                     {
-                    otherlv_7=(Token)match(input,16,FOLLOW_16_in_ruleInitialTransition3178); 
+                    otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleInitialTransition3178); 
 
                         	newLeafNode(otherlv_7, grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_7_0());
                         
@@ -3753,14 +3754,14 @@
                     int alt28=2;
                     int LA28_0 = input.LA(1);
 
-                    if ( (LA28_0==34) ) {
+                    if ( (LA28_0==33) ) {
                         alt28=1;
                     }
                     switch (alt28) {
                         case 1 :
                             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1461:3: otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) )
                             {
-                            otherlv_8=(Token)match(input,34,FOLLOW_34_in_ruleInitialTransition3191); 
+                            otherlv_8=(Token)match(input,33,FOLLOW_33_in_ruleInitialTransition3191); 
 
                                 	newLeafNode(otherlv_8, grammarAccess.getInitialTransitionAccess().getActionKeyword_7_1_0());
                                 
@@ -3801,7 +3802,7 @@
 
                     }
 
-                    otherlv_10=(Token)match(input,17,FOLLOW_17_in_ruleInitialTransition3226); 
+                    otherlv_10=(Token)match(input,16,FOLLOW_16_in_ruleInitialTransition3226); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_7_2());
                         
@@ -3897,7 +3898,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1508:1: (otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? (otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}' )? )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1508:3: otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? (otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}' )?
             {
-            otherlv_0=(Token)match(input,30,FOLLOW_30_in_ruleContinuationTransition3311); 
+            otherlv_0=(Token)match(input,29,FOLLOW_29_in_ruleContinuationTransition3311); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0());
                 
@@ -3938,7 +3939,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,31,FOLLOW_31_in_ruleContinuationTransition3346); 
+            otherlv_2=(Token)match(input,30,FOLLOW_30_in_ruleContinuationTransition3346); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getContinuationTransitionAccess().getColonKeyword_2());
                 
@@ -3973,7 +3974,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,33,FOLLOW_33_in_ruleContinuationTransition3379); 
+            otherlv_4=(Token)match(input,32,FOLLOW_32_in_ruleContinuationTransition3379); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
                 
@@ -4012,7 +4013,7 @@
             int alt31=2;
             int LA31_0 = input.LA(1);
 
-            if ( (LA31_0==56) ) {
+            if ( (LA31_0==55) ) {
                 alt31=1;
             }
             switch (alt31) {
@@ -4054,14 +4055,14 @@
             int alt33=2;
             int LA33_0 = input.LA(1);
 
-            if ( (LA33_0==16) ) {
+            if ( (LA33_0==15) ) {
                 alt33=1;
             }
             switch (alt33) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1592:5: otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}'
                     {
-                    otherlv_7=(Token)match(input,16,FOLLOW_16_in_ruleContinuationTransition3435); 
+                    otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleContinuationTransition3435); 
 
                         	newLeafNode(otherlv_7, grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_7_0());
                         
@@ -4069,14 +4070,14 @@
                     int alt32=2;
                     int LA32_0 = input.LA(1);
 
-                    if ( (LA32_0==34) ) {
+                    if ( (LA32_0==33) ) {
                         alt32=1;
                     }
                     switch (alt32) {
                         case 1 :
                             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1596:3: otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) )
                             {
-                            otherlv_8=(Token)match(input,34,FOLLOW_34_in_ruleContinuationTransition3448); 
+                            otherlv_8=(Token)match(input,33,FOLLOW_33_in_ruleContinuationTransition3448); 
 
                                 	newLeafNode(otherlv_8, grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_1_0());
                                 
@@ -4117,7 +4118,7 @@
 
                     }
 
-                    otherlv_10=(Token)match(input,17,FOLLOW_17_in_ruleContinuationTransition3483); 
+                    otherlv_10=(Token)match(input,16,FOLLOW_16_in_ruleContinuationTransition3483); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_7_2());
                         
@@ -4221,7 +4222,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1643:1: (otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'triggers' otherlv_9= '{' ( (lv_triggers_10_0= ruleTrigger ) ) (otherlv_11= 'or' ( (lv_triggers_12_0= ruleTrigger ) ) )* otherlv_13= '}' (otherlv_14= 'action' ( (lv_action_15_0= ruleDetailCode ) ) )? otherlv_16= '}' )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1643:3: otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'triggers' otherlv_9= '{' ( (lv_triggers_10_0= ruleTrigger ) ) (otherlv_11= 'or' ( (lv_triggers_12_0= ruleTrigger ) ) )* otherlv_13= '}' (otherlv_14= 'action' ( (lv_action_15_0= ruleDetailCode ) ) )? otherlv_16= '}'
             {
-            otherlv_0=(Token)match(input,30,FOLLOW_30_in_ruleTriggeredTransition3568); 
+            otherlv_0=(Token)match(input,29,FOLLOW_29_in_ruleTriggeredTransition3568); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0());
                 
@@ -4262,7 +4263,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,31,FOLLOW_31_in_ruleTriggeredTransition3603); 
+            otherlv_2=(Token)match(input,30,FOLLOW_30_in_ruleTriggeredTransition3603); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2());
                 
@@ -4297,7 +4298,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,33,FOLLOW_33_in_ruleTriggeredTransition3636); 
+            otherlv_4=(Token)match(input,32,FOLLOW_32_in_ruleTriggeredTransition3636); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
                 
@@ -4336,7 +4337,7 @@
             int alt35=2;
             int LA35_0 = input.LA(1);
 
-            if ( (LA35_0==56) ) {
+            if ( (LA35_0==55) ) {
                 alt35=1;
             }
             switch (alt35) {
@@ -4374,15 +4375,15 @@
 
             }
 
-            otherlv_7=(Token)match(input,16,FOLLOW_16_in_ruleTriggeredTransition3691); 
+            otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleTriggeredTransition3691); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_7());
                 
-            otherlv_8=(Token)match(input,35,FOLLOW_35_in_ruleTriggeredTransition3703); 
+            otherlv_8=(Token)match(input,34,FOLLOW_34_in_ruleTriggeredTransition3703); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_8());
                 
-            otherlv_9=(Token)match(input,16,FOLLOW_16_in_ruleTriggeredTransition3715); 
+            otherlv_9=(Token)match(input,15,FOLLOW_15_in_ruleTriggeredTransition3715); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_9());
                 
@@ -4423,7 +4424,7 @@
                 int alt36=2;
                 int LA36_0 = input.LA(1);
 
-                if ( (LA36_0==36) ) {
+                if ( (LA36_0==35) ) {
                     alt36=1;
                 }
 
@@ -4432,7 +4433,7 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1757:4: otherlv_11= 'or' ( (lv_triggers_12_0= ruleTrigger ) )
             	    {
-            	    otherlv_11=(Token)match(input,36,FOLLOW_36_in_ruleTriggeredTransition3749); 
+            	    otherlv_11=(Token)match(input,35,FOLLOW_35_in_ruleTriggeredTransition3749); 
 
             	        	newLeafNode(otherlv_11, grammarAccess.getTriggeredTransitionAccess().getOrKeyword_11_0());
             	        
@@ -4476,7 +4477,7 @@
                 }
             } while (true);
 
-            otherlv_13=(Token)match(input,17,FOLLOW_17_in_ruleTriggeredTransition3784); 
+            otherlv_13=(Token)match(input,16,FOLLOW_16_in_ruleTriggeredTransition3784); 
 
                 	newLeafNode(otherlv_13, grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_12());
                 
@@ -4484,14 +4485,14 @@
             int alt37=2;
             int LA37_0 = input.LA(1);
 
-            if ( (LA37_0==34) ) {
+            if ( (LA37_0==33) ) {
                 alt37=1;
             }
             switch (alt37) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1783:3: otherlv_14= 'action' ( (lv_action_15_0= ruleDetailCode ) )
                     {
-                    otherlv_14=(Token)match(input,34,FOLLOW_34_in_ruleTriggeredTransition3797); 
+                    otherlv_14=(Token)match(input,33,FOLLOW_33_in_ruleTriggeredTransition3797); 
 
                         	newLeafNode(otherlv_14, grammarAccess.getTriggeredTransitionAccess().getActionKeyword_13_0());
                         
@@ -4532,7 +4533,7 @@
 
             }
 
-            otherlv_16=(Token)match(input,17,FOLLOW_17_in_ruleTriggeredTransition3832); 
+            otherlv_16=(Token)match(input,16,FOLLOW_16_in_ruleTriggeredTransition3832); 
 
                 	newLeafNode(otherlv_16, grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_14());
                 
@@ -4625,7 +4626,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1830:1: (otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'guard' ( (lv_guard_9_0= ruleDetailCode ) ) (otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) ) )? otherlv_12= '}' )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1830:3: otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'guard' ( (lv_guard_9_0= ruleDetailCode ) ) (otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) ) )? otherlv_12= '}'
             {
-            otherlv_0=(Token)match(input,30,FOLLOW_30_in_ruleGuardedTransition3915); 
+            otherlv_0=(Token)match(input,29,FOLLOW_29_in_ruleGuardedTransition3915); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getGuardedTransitionAccess().getTransitionKeyword_0());
                 
@@ -4666,7 +4667,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,31,FOLLOW_31_in_ruleGuardedTransition3950); 
+            otherlv_2=(Token)match(input,30,FOLLOW_30_in_ruleGuardedTransition3950); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getGuardedTransitionAccess().getColonKeyword_2());
                 
@@ -4701,7 +4702,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,33,FOLLOW_33_in_ruleGuardedTransition3983); 
+            otherlv_4=(Token)match(input,32,FOLLOW_32_in_ruleGuardedTransition3983); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getGuardedTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
                 
@@ -4740,7 +4741,7 @@
             int alt39=2;
             int LA39_0 = input.LA(1);
 
-            if ( (LA39_0==56) ) {
+            if ( (LA39_0==55) ) {
                 alt39=1;
             }
             switch (alt39) {
@@ -4778,11 +4779,11 @@
 
             }
 
-            otherlv_7=(Token)match(input,16,FOLLOW_16_in_ruleGuardedTransition4038); 
+            otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleGuardedTransition4038); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getGuardedTransitionAccess().getLeftCurlyBracketKeyword_7());
                 
-            otherlv_8=(Token)match(input,37,FOLLOW_37_in_ruleGuardedTransition4050); 
+            otherlv_8=(Token)match(input,36,FOLLOW_36_in_ruleGuardedTransition4050); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getGuardedTransitionAccess().getGuardKeyword_8());
                 
@@ -4821,14 +4822,14 @@
             int alt40=2;
             int LA40_0 = input.LA(1);
 
-            if ( (LA40_0==34) ) {
+            if ( (LA40_0==33) ) {
                 alt40=1;
             }
             switch (alt40) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1940:4: otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) )
                     {
-                    otherlv_10=(Token)match(input,34,FOLLOW_34_in_ruleGuardedTransition4084); 
+                    otherlv_10=(Token)match(input,33,FOLLOW_33_in_ruleGuardedTransition4084); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getGuardedTransitionAccess().getActionKeyword_10_0());
                         
@@ -4869,7 +4870,7 @@
 
             }
 
-            otherlv_12=(Token)match(input,17,FOLLOW_17_in_ruleGuardedTransition4119); 
+            otherlv_12=(Token)match(input,16,FOLLOW_16_in_ruleGuardedTransition4119); 
 
                 	newLeafNode(otherlv_12, grammarAccess.getGuardedTransitionAccess().getRightCurlyBracketKeyword_11());
                 
@@ -4962,7 +4963,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1987:1: (otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'cond' ( (lv_condition_9_0= ruleDetailCode ) ) (otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) ) )? otherlv_12= '}' )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:1987:3: otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'cond' ( (lv_condition_9_0= ruleDetailCode ) ) (otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) ) )? otherlv_12= '}'
             {
-            otherlv_0=(Token)match(input,30,FOLLOW_30_in_ruleCPBranchTransition4202); 
+            otherlv_0=(Token)match(input,29,FOLLOW_29_in_ruleCPBranchTransition4202); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0());
                 
@@ -5003,7 +5004,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,31,FOLLOW_31_in_ruleCPBranchTransition4237); 
+            otherlv_2=(Token)match(input,30,FOLLOW_30_in_ruleCPBranchTransition4237); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2());
                 
@@ -5038,7 +5039,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,33,FOLLOW_33_in_ruleCPBranchTransition4270); 
+            otherlv_4=(Token)match(input,32,FOLLOW_32_in_ruleCPBranchTransition4270); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
                 
@@ -5077,7 +5078,7 @@
             int alt42=2;
             int LA42_0 = input.LA(1);
 
-            if ( (LA42_0==56) ) {
+            if ( (LA42_0==55) ) {
                 alt42=1;
             }
             switch (alt42) {
@@ -5115,11 +5116,11 @@
 
             }
 
-            otherlv_7=(Token)match(input,16,FOLLOW_16_in_ruleCPBranchTransition4325); 
+            otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleCPBranchTransition4325); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_7());
                 
-            otherlv_8=(Token)match(input,38,FOLLOW_38_in_ruleCPBranchTransition4337); 
+            otherlv_8=(Token)match(input,37,FOLLOW_37_in_ruleCPBranchTransition4337); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getCPBranchTransitionAccess().getCondKeyword_8());
                 
@@ -5158,14 +5159,14 @@
             int alt43=2;
             int LA43_0 = input.LA(1);
 
-            if ( (LA43_0==34) ) {
+            if ( (LA43_0==33) ) {
                 alt43=1;
             }
             switch (alt43) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2097:4: otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) )
                     {
-                    otherlv_10=(Token)match(input,34,FOLLOW_34_in_ruleCPBranchTransition4371); 
+                    otherlv_10=(Token)match(input,33,FOLLOW_33_in_ruleCPBranchTransition4371); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getCPBranchTransitionAccess().getActionKeyword_10_0());
                         
@@ -5206,7 +5207,7 @@
 
             }
 
-            otherlv_12=(Token)match(input,17,FOLLOW_17_in_ruleCPBranchTransition4406); 
+            otherlv_12=(Token)match(input,16,FOLLOW_16_in_ruleCPBranchTransition4406); 
 
                 	newLeafNode(otherlv_12, grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_11());
                 
@@ -5289,7 +5290,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2144:1: (otherlv_0= 'RefinedTransition' ( ( ruleFQN ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' otherlv_4= 'action' ( (lv_action_5_0= ruleDetailCode ) ) otherlv_6= '}' )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2144:3: otherlv_0= 'RefinedTransition' ( ( ruleFQN ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' otherlv_4= 'action' ( (lv_action_5_0= ruleDetailCode ) ) otherlv_6= '}'
             {
-            otherlv_0=(Token)match(input,39,FOLLOW_39_in_ruleRefinedTransition4489); 
+            otherlv_0=(Token)match(input,38,FOLLOW_38_in_ruleRefinedTransition4489); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getRefinedTransitionAccess().getRefinedTransitionKeyword_0());
                 
@@ -5325,7 +5326,7 @@
             int alt44=2;
             int LA44_0 = input.LA(1);
 
-            if ( (LA44_0==56) ) {
+            if ( (LA44_0==55) ) {
                 alt44=1;
             }
             switch (alt44) {
@@ -5363,11 +5364,11 @@
 
             }
 
-            otherlv_3=(Token)match(input,16,FOLLOW_16_in_ruleRefinedTransition4546); 
+            otherlv_3=(Token)match(input,15,FOLLOW_15_in_ruleRefinedTransition4546); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getRefinedTransitionAccess().getLeftCurlyBracketKeyword_3());
                 
-            otherlv_4=(Token)match(input,34,FOLLOW_34_in_ruleRefinedTransition4558); 
+            otherlv_4=(Token)match(input,33,FOLLOW_33_in_ruleRefinedTransition4558); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getRefinedTransitionAccess().getActionKeyword_4());
                 
@@ -5402,7 +5403,7 @@
 
             }
 
-            otherlv_6=(Token)match(input,17,FOLLOW_17_in_ruleRefinedTransition4591); 
+            otherlv_6=(Token)match(input,16,FOLLOW_16_in_ruleRefinedTransition4591); 
 
                 	newLeafNode(otherlv_6, grammarAccess.getRefinedTransitionAccess().getRightCurlyBracketKeyword_6());
                 
@@ -5489,10 +5490,10 @@
                 {
                 int LA45_1 = input.LA(2);
 
-                if ( (LA45_1==EOF||(LA45_1>=16 && LA45_1<=17)||LA45_1==19||(LA45_1>=24 && LA45_1<=30)||LA45_1==33||LA45_1==39||LA45_1==56) ) {
+                if ( (LA45_1==EOF||(LA45_1>=15 && LA45_1<=16)||LA45_1==18||(LA45_1>=23 && LA45_1<=29)||LA45_1==32||LA45_1==38||LA45_1==55) ) {
                     alt45=1;
                 }
-                else if ( (LA45_1==41) ) {
+                else if ( (LA45_1==40) ) {
                     alt45=3;
                 }
                 else {
@@ -5503,12 +5504,12 @@
                 }
                 }
                 break;
-            case 40:
+            case 39:
                 {
                 alt45=2;
                 }
                 break;
-            case 42:
+            case 41:
                 {
                 alt45=4;
                 }
@@ -5753,7 +5754,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2326:1: (otherlv_0= 'my' ( (otherlv_1= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2326:3: otherlv_0= 'my' ( (otherlv_1= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,40,FOLLOW_40_in_ruleTrPointTerminal4936); 
+            otherlv_0=(Token)match(input,39,FOLLOW_39_in_ruleTrPointTerminal4936); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getTrPointTerminalAccess().getMyKeyword_0());
                 
@@ -5873,7 +5874,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,41,FOLLOW_41_in_ruleSubStateTrPointTerminal5059); 
+            otherlv_1=(Token)match(input,40,FOLLOW_40_in_ruleSubStateTrPointTerminal5059); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1());
                 
@@ -5971,7 +5972,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2415:1: (otherlv_0= 'cp' ( (otherlv_1= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2415:3: otherlv_0= 'cp' ( (otherlv_1= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,42,FOLLOW_42_in_ruleChoicepointTerminal5162); 
+            otherlv_0=(Token)match(input,41,FOLLOW_41_in_ruleChoicepointTerminal5162); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0());
                 
@@ -6076,7 +6077,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2453:1: (otherlv_0= '<' ( (lv_msgFromIfPairs_1_0= ruleMessageFromIf ) ) (otherlv_2= '|' ( (lv_msgFromIfPairs_3_0= ruleMessageFromIf ) ) )* ( (lv_guard_4_0= ruleGuard ) )? otherlv_5= '>' )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2453:3: otherlv_0= '<' ( (lv_msgFromIfPairs_1_0= ruleMessageFromIf ) ) (otherlv_2= '|' ( (lv_msgFromIfPairs_3_0= ruleMessageFromIf ) ) )* ( (lv_guard_4_0= ruleGuard ) )? otherlv_5= '>'
             {
-            otherlv_0=(Token)match(input,43,FOLLOW_43_in_ruleTrigger5265); 
+            otherlv_0=(Token)match(input,42,FOLLOW_42_in_ruleTrigger5265); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getTriggerAccess().getLessThanSignKeyword_0());
                 
@@ -6117,7 +6118,7 @@
                 int alt46=2;
                 int LA46_0 = input.LA(1);
 
-                if ( (LA46_0==44) ) {
+                if ( (LA46_0==43) ) {
                     alt46=1;
                 }
 
@@ -6126,7 +6127,7 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2475:4: otherlv_2= '|' ( (lv_msgFromIfPairs_3_0= ruleMessageFromIf ) )
             	    {
-            	    otherlv_2=(Token)match(input,44,FOLLOW_44_in_ruleTrigger5299); 
+            	    otherlv_2=(Token)match(input,43,FOLLOW_43_in_ruleTrigger5299); 
 
             	        	newLeafNode(otherlv_2, grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0());
             	        
@@ -6174,7 +6175,7 @@
             int alt47=2;
             int LA47_0 = input.LA(1);
 
-            if ( (LA47_0==37) ) {
+            if ( (LA47_0==36) ) {
                 alt47=1;
             }
             switch (alt47) {
@@ -6212,7 +6213,7 @@
 
             }
 
-            otherlv_5=(Token)match(input,45,FOLLOW_45_in_ruleTrigger5356); 
+            otherlv_5=(Token)match(input,44,FOLLOW_44_in_ruleTrigger5356); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4());
                 
@@ -6311,7 +6312,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,31,FOLLOW_31_in_ruleMessageFromIf5459); 
+            otherlv_1=(Token)match(input,30,FOLLOW_30_in_ruleMessageFromIf5459); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getMessageFromIfAccess().getColonKeyword_1());
                 
@@ -6410,7 +6411,7 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2593:1: (otherlv_0= 'guard' ( (lv_guard_1_0= ruleDetailCode ) ) )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2593:3: otherlv_0= 'guard' ( (lv_guard_1_0= ruleDetailCode ) )
             {
-            otherlv_0=(Token)match(input,37,FOLLOW_37_in_ruleGuard5564); 
+            otherlv_0=(Token)match(input,36,FOLLOW_36_in_ruleGuard5564); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getGuardAccess().getGuardKeyword_0());
                 
@@ -6521,10 +6522,10 @@
             int alt48=2;
             int LA48_0 = input.LA(1);
 
-            if ( (LA48_0==46) ) {
+            if ( (LA48_0==45) ) {
                 alt48=1;
             }
-            else if ( (LA48_0==50) ) {
+            else if ( (LA48_0==49) ) {
                 alt48=2;
             }
             else {
@@ -6654,11 +6655,11 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2678:1: (otherlv_0= 'in' otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) ) )? )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2678:3: otherlv_0= 'in' otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) ) )?
             {
-            otherlv_0=(Token)match(input,46,FOLLOW_46_in_ruleInSemanticsRule5789); 
+            otherlv_0=(Token)match(input,45,FOLLOW_45_in_ruleInSemanticsRule5789); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getInSemanticsRuleAccess().getInKeyword_0());
                 
-            otherlv_1=(Token)match(input,31,FOLLOW_31_in_ruleInSemanticsRule5801); 
+            otherlv_1=(Token)match(input,30,FOLLOW_30_in_ruleInSemanticsRule5801); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getInSemanticsRuleAccess().getColonKeyword_1());
                 
@@ -6687,14 +6688,14 @@
             int alt51=2;
             int LA51_0 = input.LA(1);
 
-            if ( (LA51_0==33) ) {
+            if ( (LA51_0==32) ) {
                 alt51=1;
             }
             switch (alt51) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2699:4: otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) )
                     {
-                    otherlv_3=(Token)match(input,33,FOLLOW_33_in_ruleInSemanticsRule5834); 
+                    otherlv_3=(Token)match(input,32,FOLLOW_32_in_ruleInSemanticsRule5834); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getInSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0());
                         
@@ -6702,10 +6703,10 @@
                     int alt50=2;
                     int LA50_0 = input.LA(1);
 
-                    if ( (LA50_0==46||LA50_0==50) ) {
+                    if ( (LA50_0==45||LA50_0==49) ) {
                         alt50=1;
                     }
-                    else if ( (LA50_0==47) ) {
+                    else if ( (LA50_0==46) ) {
                         alt50=2;
                     }
                     else {
@@ -6758,7 +6759,7 @@
                             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2722:6: (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' )
                             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2722:8: otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')'
                             {
-                            otherlv_5=(Token)match(input,47,FOLLOW_47_in_ruleInSemanticsRule5875); 
+                            otherlv_5=(Token)match(input,46,FOLLOW_46_in_ruleInSemanticsRule5875); 
 
                                 	newLeafNode(otherlv_5, grammarAccess.getInSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0());
                                 
@@ -6800,7 +6801,7 @@
                                 int alt49=2;
                                 int LA49_0 = input.LA(1);
 
-                                if ( (LA49_0==48) ) {
+                                if ( (LA49_0==47) ) {
                                     alt49=1;
                                 }
 
@@ -6809,7 +6810,7 @@
                             	case 1 :
                             	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2744:4: otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) )
                             	    {
-                            	    otherlv_7=(Token)match(input,48,FOLLOW_48_in_ruleInSemanticsRule5909); 
+                            	    otherlv_7=(Token)match(input,47,FOLLOW_47_in_ruleInSemanticsRule5909); 
 
                             	        	newLeafNode(otherlv_7, grammarAccess.getInSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0());
                             	        
@@ -6857,7 +6858,7 @@
                                 cnt49++;
                             } while (true);
 
-                            otherlv_9=(Token)match(input,49,FOLLOW_49_in_ruleInSemanticsRule5944); 
+                            otherlv_9=(Token)match(input,48,FOLLOW_48_in_ruleInSemanticsRule5944); 
 
                                 	newLeafNode(otherlv_9, grammarAccess.getInSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3());
                                 
@@ -6960,11 +6961,11 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2791:1: (otherlv_0= 'out' otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) ) )? )
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2791:3: otherlv_0= 'out' otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) ) )?
             {
-            otherlv_0=(Token)match(input,50,FOLLOW_50_in_ruleOutSemanticsRule6031); 
+            otherlv_0=(Token)match(input,49,FOLLOW_49_in_ruleOutSemanticsRule6031); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getOutSemanticsRuleAccess().getOutKeyword_0());
                 
-            otherlv_1=(Token)match(input,31,FOLLOW_31_in_ruleOutSemanticsRule6043); 
+            otherlv_1=(Token)match(input,30,FOLLOW_30_in_ruleOutSemanticsRule6043); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getOutSemanticsRuleAccess().getColonKeyword_1());
                 
@@ -6993,14 +6994,14 @@
             int alt54=2;
             int LA54_0 = input.LA(1);
 
-            if ( (LA54_0==33) ) {
+            if ( (LA54_0==32) ) {
                 alt54=1;
             }
             switch (alt54) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2812:4: otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) )
                     {
-                    otherlv_3=(Token)match(input,33,FOLLOW_33_in_ruleOutSemanticsRule6076); 
+                    otherlv_3=(Token)match(input,32,FOLLOW_32_in_ruleOutSemanticsRule6076); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getOutSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0());
                         
@@ -7008,10 +7009,10 @@
                     int alt53=2;
                     int LA53_0 = input.LA(1);
 
-                    if ( (LA53_0==46||LA53_0==50) ) {
+                    if ( (LA53_0==45||LA53_0==49) ) {
                         alt53=1;
                     }
-                    else if ( (LA53_0==47) ) {
+                    else if ( (LA53_0==46) ) {
                         alt53=2;
                     }
                     else {
@@ -7064,7 +7065,7 @@
                             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2835:6: (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' )
                             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2835:8: otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')'
                             {
-                            otherlv_5=(Token)match(input,47,FOLLOW_47_in_ruleOutSemanticsRule6117); 
+                            otherlv_5=(Token)match(input,46,FOLLOW_46_in_ruleOutSemanticsRule6117); 
 
                                 	newLeafNode(otherlv_5, grammarAccess.getOutSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0());
                                 
@@ -7106,7 +7107,7 @@
                                 int alt52=2;
                                 int LA52_0 = input.LA(1);
 
-                                if ( (LA52_0==48) ) {
+                                if ( (LA52_0==47) ) {
                                     alt52=1;
                                 }
 
@@ -7115,7 +7116,7 @@
                             	case 1 :
                             	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:2857:4: otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) )
                             	    {
-                            	    otherlv_7=(Token)match(input,48,FOLLOW_48_in_ruleOutSemanticsRule6151); 
+                            	    otherlv_7=(Token)match(input,47,FOLLOW_47_in_ruleOutSemanticsRule6151); 
 
                             	        	newLeafNode(otherlv_7, grammarAccess.getOutSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0());
                             	        
@@ -7163,7 +7164,7 @@
                                 cnt52++;
                             } while (true);
 
-                            otherlv_9=(Token)match(input,49,FOLLOW_49_in_ruleOutSemanticsRule6186); 
+                            otherlv_9=(Token)match(input,48,FOLLOW_48_in_ruleOutSemanticsRule6186); 
 
                                 	newLeafNode(otherlv_9, grammarAccess.getOutSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3());
                                 
@@ -7283,7 +7284,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,51,FOLLOW_51_in_ruleKeyValue6297); 
+            otherlv_1=(Token)match(input,50,FOLLOW_50_in_ruleKeyValue6297); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1());
                 
@@ -7467,24 +7468,24 @@
             int alt55=2;
             int LA55_0 = input.LA(1);
 
-            if ( (LA55_0==52) ) {
+            if ( (LA55_0==51) ) {
                 int LA55_1 = input.LA(2);
 
-                if ( (LA55_1==54) ) {
+                if ( (LA55_1==53) ) {
                     int LA55_3 = input.LA(3);
 
                     if ( (LA55_3==RULE_ID) ) {
                         int LA55_4 = input.LA(4);
 
-                        if ( (LA55_4==31) ) {
+                        if ( (LA55_4==30) ) {
                             int LA55_5 = input.LA(5);
 
-                            if ( ((LA55_5>=67 && LA55_5<=70)) ) {
-                                alt55=1;
-                            }
-                            else if ( (LA55_5==16) ) {
+                            if ( (LA55_5==15) ) {
                                 alt55=2;
                             }
+                            else if ( ((LA55_5>=68 && LA55_5<=71)) ) {
+                                alt55=1;
+                            }
                             else {
                                 NoViableAltException nvae =
                                     new NoViableAltException("", 55, 5, input);
@@ -7513,24 +7514,24 @@
                     throw nvae;
                 }
             }
-            else if ( (LA55_0==53) ) {
+            else if ( (LA55_0==52) ) {
                 int LA55_2 = input.LA(2);
 
-                if ( (LA55_2==54) ) {
+                if ( (LA55_2==53) ) {
                     int LA55_3 = input.LA(3);
 
                     if ( (LA55_3==RULE_ID) ) {
                         int LA55_4 = input.LA(4);
 
-                        if ( (LA55_4==31) ) {
+                        if ( (LA55_4==30) ) {
                             int LA55_5 = input.LA(5);
 
-                            if ( ((LA55_5>=67 && LA55_5<=70)) ) {
-                                alt55=1;
-                            }
-                            else if ( (LA55_5==16) ) {
+                            if ( (LA55_5==15) ) {
                                 alt55=2;
                             }
+                            else if ( ((LA55_5>=68 && LA55_5<=71)) ) {
+                                alt55=1;
+                            }
                             else {
                                 NoViableAltException nvae =
                                     new NoViableAltException("", 55, 5, input);
@@ -7684,10 +7685,10 @@
             int alt56=2;
             int LA56_0 = input.LA(1);
 
-            if ( (LA56_0==52) ) {
+            if ( (LA56_0==51) ) {
                 alt56=1;
             }
-            else if ( (LA56_0==53) ) {
+            else if ( (LA56_0==52) ) {
                 alt56=2;
             }
             else {
@@ -7706,7 +7707,7 @@
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3038:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3039:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,52,FOLLOW_52_in_ruleSimpleAnnotationAttribute6624); 
+                    lv_optional_0_0=(Token)match(input,51,FOLLOW_51_in_ruleSimpleAnnotationAttribute6624); 
 
                             newLeafNode(lv_optional_0_0, grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
                         
@@ -7728,7 +7729,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3053:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,53,FOLLOW_53_in_ruleSimpleAnnotationAttribute6655); 
+                    otherlv_1=(Token)match(input,52,FOLLOW_52_in_ruleSimpleAnnotationAttribute6655); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1());
                         
@@ -7738,7 +7739,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,54,FOLLOW_54_in_ruleSimpleAnnotationAttribute6668); 
+            otherlv_2=(Token)match(input,53,FOLLOW_53_in_ruleSimpleAnnotationAttribute6668); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1());
                 
@@ -7768,7 +7769,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,31,FOLLOW_31_in_ruleSimpleAnnotationAttribute6702); 
+            otherlv_4=(Token)match(input,30,FOLLOW_30_in_ruleSimpleAnnotationAttribute6702); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3());
                 
@@ -7888,10 +7889,10 @@
             int alt57=2;
             int LA57_0 = input.LA(1);
 
-            if ( (LA57_0==52) ) {
+            if ( (LA57_0==51) ) {
                 alt57=1;
             }
-            else if ( (LA57_0==53) ) {
+            else if ( (LA57_0==52) ) {
                 alt57=2;
             }
             else {
@@ -7910,7 +7911,7 @@
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3123:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3124:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,52,FOLLOW_52_in_ruleEnumAnnotationAttribute6813); 
+                    lv_optional_0_0=(Token)match(input,51,FOLLOW_51_in_ruleEnumAnnotationAttribute6813); 
 
                             newLeafNode(lv_optional_0_0, grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
                         
@@ -7932,7 +7933,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3138:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,53,FOLLOW_53_in_ruleEnumAnnotationAttribute6844); 
+                    otherlv_1=(Token)match(input,52,FOLLOW_52_in_ruleEnumAnnotationAttribute6844); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1());
                         
@@ -7942,7 +7943,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,54,FOLLOW_54_in_ruleEnumAnnotationAttribute6857); 
+            otherlv_2=(Token)match(input,53,FOLLOW_53_in_ruleEnumAnnotationAttribute6857); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1());
                 
@@ -7972,11 +7973,11 @@
 
             }
 
-            otherlv_4=(Token)match(input,31,FOLLOW_31_in_ruleEnumAnnotationAttribute6891); 
+            otherlv_4=(Token)match(input,30,FOLLOW_30_in_ruleEnumAnnotationAttribute6891); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3());
                 
-            otherlv_5=(Token)match(input,16,FOLLOW_16_in_ruleEnumAnnotationAttribute6903); 
+            otherlv_5=(Token)match(input,15,FOLLOW_15_in_ruleEnumAnnotationAttribute6903); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4());
                 
@@ -8012,7 +8013,7 @@
                 int alt58=2;
                 int LA58_0 = input.LA(1);
 
-                if ( (LA58_0==48) ) {
+                if ( (LA58_0==47) ) {
                     alt58=1;
                 }
 
@@ -8021,7 +8022,7 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3190:4: otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) )
             	    {
-            	    otherlv_7=(Token)match(input,48,FOLLOW_48_in_ruleEnumAnnotationAttribute6938); 
+            	    otherlv_7=(Token)match(input,47,FOLLOW_47_in_ruleEnumAnnotationAttribute6938); 
 
             	        	newLeafNode(otherlv_7, grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0());
             	        
@@ -8060,7 +8061,7 @@
                 }
             } while (true);
 
-            otherlv_9=(Token)match(input,17,FOLLOW_17_in_ruleEnumAnnotationAttribute6974); 
+            otherlv_9=(Token)match(input,16,FOLLOW_16_in_ruleEnumAnnotationAttribute6974); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7());
                 
@@ -8156,14 +8157,14 @@
             int alt59=2;
             int LA59_0 = input.LA(1);
 
-            if ( (LA59_0==55) ) {
+            if ( (LA59_0==54) ) {
                 alt59=1;
             }
             switch (alt59) {
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3251:2: kw= '.*'
                     {
-                    kw=(Token)match(input,55,FOLLOW_55_in_ruleImportedFQN7090); 
+                    kw=(Token)match(input,54,FOLLOW_54_in_ruleImportedFQN7090); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
@@ -8259,7 +8260,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,56,FOLLOW_56_in_ruleDocumentation7188); 
+            otherlv_1=(Token)match(input,55,FOLLOW_55_in_ruleDocumentation7188); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1());
                 
@@ -8307,7 +8308,7 @@
                 }
             } while (true);
 
-            otherlv_3=(Token)match(input,57,FOLLOW_57_in_ruleDocumentation7223); 
+            otherlv_3=(Token)match(input,56,FOLLOW_56_in_ruleDocumentation7223); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3());
                 
@@ -8388,17 +8389,16 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3334:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
             int alt61=3;
             switch ( input.LA(1) ) {
+            case 57:
             case 58:
-            case 59:
                 {
                 alt61=1;
                 }
                 break;
             case RULE_INT:
             case RULE_HEX:
+            case 59:
             case 60:
-            case 61:
-            case 62:
                 {
                 alt61=2;
                 }
@@ -8558,10 +8558,10 @@
             int alt62=2;
             int LA62_0 = input.LA(1);
 
-            if ( (LA62_0==58) ) {
+            if ( (LA62_0==57) ) {
                 alt62=1;
             }
-            else if ( (LA62_0==59) ) {
+            else if ( (LA62_0==58) ) {
                 alt62=2;
             }
             else {
@@ -8574,7 +8574,7 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3390:4: otherlv_1= 'false'
                     {
-                    otherlv_1=(Token)match(input,58,FOLLOW_58_in_ruleBooleanLiteral7466); 
+                    otherlv_1=(Token)match(input,57,FOLLOW_57_in_ruleBooleanLiteral7466); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0());
                         
@@ -8590,7 +8590,7 @@
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3396:1: (lv_isTrue_2_0= 'true' )
                     // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3397:3: lv_isTrue_2_0= 'true'
                     {
-                    lv_isTrue_2_0=(Token)match(input,59,FOLLOW_59_in_ruleBooleanLiteral7490); 
+                    lv_isTrue_2_0=(Token)match(input,58,FOLLOW_58_in_ruleBooleanLiteral7490); 
 
                             newLeafNode(lv_isTrue_2_0, grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
                         
@@ -8687,19 +8687,19 @@
             // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3431:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
             int alt63=2;
             switch ( input.LA(1) ) {
-            case 60:
+            case 59:
                 {
                 int LA63_1 = input.LA(2);
 
                 if ( (LA63_1==RULE_INT) ) {
                     int LA63_3 = input.LA(3);
 
-                    if ( (LA63_3==62) ) {
-                        alt63=2;
-                    }
-                    else if ( (LA63_3==EOF) ) {
+                    if ( (LA63_3==EOF) ) {
                         alt63=1;
                     }
+                    else if ( (LA63_3==61) ) {
+                        alt63=2;
+                    }
                     else {
                         NoViableAltException nvae =
                             new NoViableAltException("", 63, 3, input);
@@ -8707,9 +8707,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA63_1==62) ) {
-                    alt63=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 63, 1, input);
@@ -8718,19 +8715,19 @@
                 }
                 }
                 break;
-            case 61:
+            case 60:
                 {
                 int LA63_2 = input.LA(2);
 
                 if ( (LA63_2==RULE_INT) ) {
                     int LA63_3 = input.LA(3);
 
-                    if ( (LA63_3==62) ) {
-                        alt63=2;
-                    }
-                    else if ( (LA63_3==EOF) ) {
+                    if ( (LA63_3==EOF) ) {
                         alt63=1;
                     }
+                    else if ( (LA63_3==61) ) {
+                        alt63=2;
+                    }
                     else {
                         NoViableAltException nvae =
                             new NoViableAltException("", 63, 3, input);
@@ -8738,9 +8735,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA63_2==62) ) {
-                    alt63=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 63, 2, input);
@@ -8753,12 +8747,12 @@
                 {
                 int LA63_3 = input.LA(2);
 
-                if ( (LA63_3==62) ) {
-                    alt63=2;
-                }
-                else if ( (LA63_3==EOF) ) {
+                if ( (LA63_3==EOF) ) {
                     alt63=1;
                 }
+                else if ( (LA63_3==61) ) {
+                    alt63=2;
+                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 63, 3, input);
@@ -8772,11 +8766,6 @@
                 alt63=1;
                 }
                 break;
-            case 62:
-                {
-                alt63=2;
-                }
-                break;
             default:
                 NoViableAltException nvae =
                     new NoViableAltException("", 63, 0, input);
@@ -9217,74 +9206,101 @@
 
 
     // $ANTLR start "ruleInteger"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3602:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) ;
+    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3602:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) ;
     public final AntlrDatatypeRuleToken ruleInteger() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
-        AntlrDatatypeRuleToken this_SignedInteger_0 = null;
-
-        AntlrDatatypeRuleToken this_Hexadecimal_1 = null;
-
+        Token kw=null;
+        Token this_INT_2=null;
+        Token this_HEX_3=null;
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3605:28: ( (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3606:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3605:28: ( ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3606:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3606:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
-            int alt64=2;
-            int LA64_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3606:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
+            int alt65=2;
+            int LA65_0 = input.LA(1);
 
-            if ( (LA64_0==RULE_INT||(LA64_0>=60 && LA64_0<=61)) ) {
-                alt64=1;
+            if ( (LA65_0==RULE_INT||(LA65_0>=59 && LA65_0<=60)) ) {
+                alt65=1;
             }
-            else if ( (LA64_0==RULE_HEX) ) {
-                alt64=2;
+            else if ( (LA65_0==RULE_HEX) ) {
+                alt65=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 64, 0, input);
+                    new NoViableAltException("", 65, 0, input);
 
                 throw nvae;
             }
-            switch (alt64) {
+            switch (alt65) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3607:5: this_SignedInteger_0= ruleSignedInteger
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3606:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleSignedInteger_in_ruleInteger8022);
-                    this_SignedInteger_0=ruleSignedInteger();
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3606:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3606:3: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
+                    {
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3606:3: (kw= '+' | kw= '-' )?
+                    int alt64=3;
+                    int LA64_0 = input.LA(1);
 
-                    state._fsp--;
+                    if ( (LA64_0==59) ) {
+                        alt64=1;
+                    }
+                    else if ( (LA64_0==60) ) {
+                        alt64=2;
+                    }
+                    switch (alt64) {
+                        case 1 :
+                            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3607:2: kw= '+'
+                            {
+                            kw=(Token)match(input,59,FOLLOW_59_in_ruleInteger8015); 
 
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                                
 
-                    		current.merge(this_SignedInteger_0);
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3614:2: kw= '-'
+                            {
+                            kw=(Token)match(input,60,FOLLOW_60_in_ruleInteger8034); 
+
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                                
+
+                            }
+                            break;
+
+                    }
+
+                    this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleInteger8051); 
+
+                    		current.merge(this_INT_2);
                         
                      
-                            afterParserOrEnumRuleCall();
+                        newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
                         
 
                     }
+
+
+                    }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3619:5: this_Hexadecimal_1= ruleHexadecimal
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3627:10: this_HEX_3= RULE_HEX
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleHexadecimal_in_ruleInteger8055);
-                    this_Hexadecimal_1=ruleHexadecimal();
+                    this_HEX_3=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleInteger8078); 
 
-                    state._fsp--;
-
-
-                    		current.merge(this_Hexadecimal_1);
+                    		current.merge(this_HEX_3);
                         
                      
-                            afterParserOrEnumRuleCall();
+                        newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
                         
 
                     }
@@ -9309,217 +9325,8 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3637:1: entryRuleSignedInteger returns [String current=null] : iv_ruleSignedInteger= ruleSignedInteger EOF ;
-    public final String entryRuleSignedInteger() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleSignedInteger = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3641:2: (iv_ruleSignedInteger= ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3642:2: iv_ruleSignedInteger= ruleSignedInteger EOF
-            {
-             newCompositeNode(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger8107);
-            iv_ruleSignedInteger=ruleSignedInteger();
-
-            state._fsp--;
-
-             current =iv_ruleSignedInteger.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger8118); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3652:1: ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleSignedInteger() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3656:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3657:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3657:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3657:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3657:2: (kw= '+' | kw= '-' )?
-            int alt65=3;
-            int LA65_0 = input.LA(1);
-
-            if ( (LA65_0==60) ) {
-                alt65=1;
-            }
-            else if ( (LA65_0==61) ) {
-                alt65=2;
-            }
-            switch (alt65) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3658:2: kw= '+'
-                    {
-                    kw=(Token)match(input,60,FOLLOW_60_in_ruleSignedInteger8161); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3665:2: kw= '-'
-                    {
-                    kw=(Token)match(input,61,FOLLOW_61_in_ruleSignedInteger8180); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSignedInteger8197); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3688:1: entryRuleHexadecimal returns [String current=null] : iv_ruleHexadecimal= ruleHexadecimal EOF ;
-    public final String entryRuleHexadecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleHexadecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3692:2: (iv_ruleHexadecimal= ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3693:2: iv_ruleHexadecimal= ruleHexadecimal EOF
-            {
-             newCompositeNode(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal8253);
-            iv_ruleHexadecimal=ruleHexadecimal();
-
-            state._fsp--;
-
-             current =iv_ruleHexadecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal8264); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3703:1: ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_HEX_0= RULE_HEX ;
-    public final AntlrDatatypeRuleToken ruleHexadecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_HEX_0=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3707:28: (this_HEX_0= RULE_HEX )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3708:5: this_HEX_0= RULE_HEX
-            {
-            this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal8307); 
-
-            		current.merge(this_HEX_0);
-                
-             
-                newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3726:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
+    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3642:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
     public final String entryRuleReal() throws RecognitionException {
         String current = null;
 
@@ -9527,17 +9334,17 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3727:2: (iv_ruleReal= ruleReal EOF )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3728:2: iv_ruleReal= ruleReal EOF
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3643:2: (iv_ruleReal= ruleReal EOF )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3644:2: iv_ruleReal= ruleReal EOF
             {
              newCompositeNode(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal8356);
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal8124);
             iv_ruleReal=ruleReal();
 
             state._fsp--;
 
              current =iv_ruleReal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal8367); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal8135); 
 
             }
 
@@ -9555,36 +9362,173 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3735:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) ;
+    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3651:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) ;
     public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         AntlrDatatypeRuleToken this_Decimal_0 = null;
 
-        AntlrDatatypeRuleToken this_DotDecimal_1 = null;
-
-        AntlrDatatypeRuleToken this_DecimalDot_2 = null;
-
-        AntlrDatatypeRuleToken this_DecimalExp_3 = null;
+        AntlrDatatypeRuleToken this_DecimalExp_1 = null;
 
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3738:28: ( (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3739:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3654:28: ( (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3655:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3739:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
-            int alt66=4;
-            alt66 = dfa66.predict(input);
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3655:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
+            int alt66=2;
+            switch ( input.LA(1) ) {
+            case 59:
+                {
+                int LA66_1 = input.LA(2);
+
+                if ( (LA66_1==RULE_INT) ) {
+                    int LA66_3 = input.LA(3);
+
+                    if ( (LA66_3==61) ) {
+                        int LA66_4 = input.LA(4);
+
+                        if ( (LA66_4==RULE_INT) ) {
+                            int LA66_5 = input.LA(5);
+
+                            if ( (LA66_5==EOF) ) {
+                                alt66=1;
+                            }
+                            else if ( ((LA66_5>=62 && LA66_5<=63)) ) {
+                                alt66=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 66, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 66, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 66, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 66, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 60:
+                {
+                int LA66_2 = input.LA(2);
+
+                if ( (LA66_2==RULE_INT) ) {
+                    int LA66_3 = input.LA(3);
+
+                    if ( (LA66_3==61) ) {
+                        int LA66_4 = input.LA(4);
+
+                        if ( (LA66_4==RULE_INT) ) {
+                            int LA66_5 = input.LA(5);
+
+                            if ( (LA66_5==EOF) ) {
+                                alt66=1;
+                            }
+                            else if ( ((LA66_5>=62 && LA66_5<=63)) ) {
+                                alt66=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 66, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 66, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 66, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 66, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA66_3 = input.LA(2);
+
+                if ( (LA66_3==61) ) {
+                    int LA66_4 = input.LA(3);
+
+                    if ( (LA66_4==RULE_INT) ) {
+                        int LA66_5 = input.LA(4);
+
+                        if ( (LA66_5==EOF) ) {
+                            alt66=1;
+                        }
+                        else if ( ((LA66_5>=62 && LA66_5<=63)) ) {
+                            alt66=2;
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 66, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 66, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 66, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 66, 0, input);
+
+                throw nvae;
+            }
+
             switch (alt66) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3740:5: this_Decimal_0= ruleDecimal
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3656:5: this_Decimal_0= ruleDecimal
                     {
                      
                             newCompositeNode(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
                         
-                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal8414);
+                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal8182);
                     this_Decimal_0=ruleDecimal();
 
                     state._fsp--;
@@ -9599,58 +9543,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3752:5: this_DotDecimal_1= ruleDotDecimal
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3668:5: this_DecimalExp_1= ruleDecimalExp
                     {
                      
-                            newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
                         
-                    pushFollow(FOLLOW_ruleDotDecimal_in_ruleReal8447);
-                    this_DotDecimal_1=ruleDotDecimal();
+                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal8215);
+                    this_DecimalExp_1=ruleDecimalExp();
 
                     state._fsp--;
 
 
-                    		current.merge(this_DotDecimal_1);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3764:5: this_DecimalDot_2= ruleDecimalDot
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalDot_in_ruleReal8480);
-                    this_DecimalDot_2=ruleDecimalDot();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalDot_2);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3776:5: this_DecimalExp_3= ruleDecimalExp
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal8513);
-                    this_DecimalExp_3=ruleDecimalExp();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalExp_3);
+                    		current.merge(this_DecimalExp_1);
                         
                      
                             afterParserOrEnumRuleCall();
@@ -9679,7 +9583,7 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3794:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3686:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
     public final String entryRuleDecimal() throws RecognitionException {
         String current = null;
 
@@ -9690,17 +9594,17 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3798:2: (iv_ruleDecimal= ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3799:2: iv_ruleDecimal= ruleDecimal EOF
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3690:2: (iv_ruleDecimal= ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3691:2: iv_ruleDecimal= ruleDecimal EOF
             {
              newCompositeNode(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal8565);
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal8267);
             iv_ruleDecimal=ruleDecimal();
 
             state._fsp--;
 
              current =iv_ruleDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal8576); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal8278); 
 
             }
 
@@ -9721,7 +9625,7 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3809:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
+    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3701:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -9733,27 +9637,27 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3813:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3814:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3705:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3706:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3814:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3814:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3706:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3706:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3814:2: (kw= '+' | kw= '-' )?
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3706:2: (kw= '+' | kw= '-' )?
             int alt67=3;
             int LA67_0 = input.LA(1);
 
-            if ( (LA67_0==60) ) {
+            if ( (LA67_0==59) ) {
                 alt67=1;
             }
-            else if ( (LA67_0==61) ) {
+            else if ( (LA67_0==60) ) {
                 alt67=2;
             }
             switch (alt67) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3815:2: kw= '+'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3707:2: kw= '+'
                     {
-                    kw=(Token)match(input,60,FOLLOW_60_in_ruleDecimal8619); 
+                    kw=(Token)match(input,59,FOLLOW_59_in_ruleDecimal8321); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
@@ -9762,9 +9666,9 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3822:2: kw= '-'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3714:2: kw= '-'
                     {
-                    kw=(Token)match(input,61,FOLLOW_61_in_ruleDecimal8638); 
+                    kw=(Token)match(input,60,FOLLOW_60_in_ruleDecimal8340); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
@@ -9775,19 +9679,19 @@
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal8655); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal8357); 
 
             		current.merge(this_INT_2);
                 
              
                 newLeafNode(this_INT_2, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
                 
-            kw=(Token)match(input,62,FOLLOW_62_in_ruleDecimal8673); 
+            kw=(Token)match(input,61,FOLLOW_61_in_ruleDecimal8375); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
                 
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal8688); 
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal8390); 
 
             		current.merge(this_INT_4);
                 
@@ -9817,270 +9721,8 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3858:1: entryRuleDotDecimal returns [String current=null] : iv_ruleDotDecimal= ruleDotDecimal EOF ;
-    public final String entryRuleDotDecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDotDecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3862:2: (iv_ruleDotDecimal= ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3863:2: iv_ruleDotDecimal= ruleDotDecimal EOF
-            {
-             newCompositeNode(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal8744);
-            iv_ruleDotDecimal=ruleDotDecimal();
-
-            state._fsp--;
-
-             current =iv_ruleDotDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal8755); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3873:1: ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleDotDecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_3=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3877:28: ( ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3878:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3878:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3878:2: (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3878:2: (kw= '+' | kw= '-' )?
-            int alt68=3;
-            int LA68_0 = input.LA(1);
-
-            if ( (LA68_0==60) ) {
-                alt68=1;
-            }
-            else if ( (LA68_0==61) ) {
-                alt68=2;
-            }
-            switch (alt68) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3879:2: kw= '+'
-                    {
-                    kw=(Token)match(input,60,FOLLOW_60_in_ruleDotDecimal8798); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3886:2: kw= '-'
-                    {
-                    kw=(Token)match(input,61,FOLLOW_61_in_ruleDotDecimal8817); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            kw=(Token)match(input,62,FOLLOW_62_in_ruleDotDecimal8832); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-                
-            this_INT_3=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDotDecimal8847); 
-
-            		current.merge(this_INT_3);
-                
-             
-                newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3915:1: entryRuleDecimalDot returns [String current=null] : iv_ruleDecimalDot= ruleDecimalDot EOF ;
-    public final String entryRuleDecimalDot() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDecimalDot = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3919:2: (iv_ruleDecimalDot= ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3920:2: iv_ruleDecimalDot= ruleDecimalDot EOF
-            {
-             newCompositeNode(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot8903);
-            iv_ruleDecimalDot=ruleDecimalDot();
-
-            state._fsp--;
-
-             current =iv_ruleDecimalDot.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot8914); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3930:1: ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) ;
-    public final AntlrDatatypeRuleToken ruleDecimalDot() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3934:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3935:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3935:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3935:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.'
-            {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3935:2: (kw= '+' | kw= '-' )?
-            int alt69=3;
-            int LA69_0 = input.LA(1);
-
-            if ( (LA69_0==60) ) {
-                alt69=1;
-            }
-            else if ( (LA69_0==61) ) {
-                alt69=2;
-            }
-            switch (alt69) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3936:2: kw= '+'
-                    {
-                    kw=(Token)match(input,60,FOLLOW_60_in_ruleDecimalDot8957); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3943:2: kw= '-'
-                    {
-                    kw=(Token)match(input,61,FOLLOW_61_in_ruleDecimalDot8976); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalDot8993); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,62,FOLLOW_62_in_ruleDecimalDot9011); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3972:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3750:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
     public final String entryRuleDecimalExp() throws RecognitionException {
         String current = null;
 
@@ -10091,17 +9733,17 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3976:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3977:2: iv_ruleDecimalExp= ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3754:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3755:2: iv_ruleDecimalExp= ruleDecimalExp EOF
             {
              newCompositeNode(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp9062);
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp8446);
             iv_ruleDecimalExp=ruleDecimalExp();
 
             state._fsp--;
 
              current =iv_ruleDecimalExp.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp9073); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp8457); 
 
             }
 
@@ -10122,40 +9764,40 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3987:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3765:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimalExp() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         Token kw=null;
         Token this_INT_2=null;
         Token this_INT_4=null;
-        Token this_EXP_5=null;
+        Token this_INT_9=null;
 
          enterRule(); 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3991:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3992:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3769:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3770:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3992:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3992:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3770:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3770:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3992:2: (kw= '+' | kw= '-' )?
-            int alt70=3;
-            int LA70_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3770:2: (kw= '+' | kw= '-' )?
+            int alt68=3;
+            int LA68_0 = input.LA(1);
 
-            if ( (LA70_0==60) ) {
-                alt70=1;
+            if ( (LA68_0==59) ) {
+                alt68=1;
             }
-            else if ( (LA70_0==61) ) {
-                alt70=2;
+            else if ( (LA68_0==60) ) {
+                alt68=2;
             }
-            switch (alt70) {
+            switch (alt68) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3993:2: kw= '+'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3771:2: kw= '+'
                     {
-                    kw=(Token)match(input,60,FOLLOW_60_in_ruleDecimalExp9116); 
+                    kw=(Token)match(input,59,FOLLOW_59_in_ruleDecimalExp8500); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
@@ -10164,9 +9806,9 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4000:2: kw= '-'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3778:2: kw= '-'
                     {
-                    kw=(Token)match(input,61,FOLLOW_61_in_ruleDecimalExp9135); 
+                    kw=(Token)match(input,60,FOLLOW_60_in_ruleDecimalExp8519); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
@@ -10177,31 +9819,109 @@
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp9152); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp8536); 
 
             		current.merge(this_INT_2);
                 
              
                 newLeafNode(this_INT_2, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
                 
-            kw=(Token)match(input,62,FOLLOW_62_in_ruleDecimalExp9170); 
+            kw=(Token)match(input,61,FOLLOW_61_in_ruleDecimalExp8554); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
                 
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp9185); 
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp8569); 
 
             		current.merge(this_INT_4);
                 
              
                 newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
                 
-            this_EXP_5=(Token)match(input,RULE_EXP,FOLLOW_RULE_EXP_in_ruleDecimalExp9205); 
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3803:1: (kw= 'e' | kw= 'E' )
+            int alt69=2;
+            int LA69_0 = input.LA(1);
 
-            		current.merge(this_EXP_5);
+            if ( (LA69_0==62) ) {
+                alt69=1;
+            }
+            else if ( (LA69_0==63) ) {
+                alt69=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 69, 0, input);
+
+                throw nvae;
+            }
+            switch (alt69) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3804:2: kw= 'e'
+                    {
+                    kw=(Token)match(input,62,FOLLOW_62_in_ruleDecimalExp8588); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3811:2: kw= 'E'
+                    {
+                    kw=(Token)match(input,63,FOLLOW_63_in_ruleDecimalExp8607); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3816:2: (kw= '+' | kw= '-' )?
+            int alt70=3;
+            int LA70_0 = input.LA(1);
+
+            if ( (LA70_0==59) ) {
+                alt70=1;
+            }
+            else if ( (LA70_0==60) ) {
+                alt70=2;
+            }
+            switch (alt70) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3817:2: kw= '+'
+                    {
+                    kw=(Token)match(input,59,FOLLOW_59_in_ruleDecimalExp8622); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3824:2: kw= '-'
+                    {
+                    kw=(Token)match(input,60,FOLLOW_60_in_ruleDecimalExp8641); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            this_INT_9=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp8658); 
+
+            		current.merge(this_INT_9);
                 
              
-                newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+                newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
                 
 
             }
@@ -10227,7 +9947,7 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4043:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3847:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
     public final String entryRuleFQN() throws RecognitionException {
         String current = null;
 
@@ -10235,17 +9955,17 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4044:2: (iv_ruleFQN= ruleFQN EOF )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4045:2: iv_ruleFQN= ruleFQN EOF
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3848:2: (iv_ruleFQN= ruleFQN EOF )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3849:2: iv_ruleFQN= ruleFQN EOF
             {
              newCompositeNode(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN9255);
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN8708);
             iv_ruleFQN=ruleFQN();
 
             state._fsp--;
 
              current =iv_ruleFQN.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN9266); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN8719); 
 
             }
 
@@ -10263,7 +9983,7 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4052:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
+    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3856:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
     public final AntlrDatatypeRuleToken ruleFQN() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -10274,40 +9994,40 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4055:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4056:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3859:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3860:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4056:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4056:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3860:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3860:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
             {
-            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN9306); 
+            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN8759); 
 
             		current.merge(this_ID_0);
                 
              
                 newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
                 
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4063:1: (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3867:1: (kw= '.' this_ID_2= RULE_ID )*
             loop71:
             do {
                 int alt71=2;
                 int LA71_0 = input.LA(1);
 
-                if ( (LA71_0==62) ) {
+                if ( (LA71_0==61) ) {
                     alt71=1;
                 }
 
 
                 switch (alt71) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4064:2: kw= '.' this_ID_2= RULE_ID
+            	    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3868:2: kw= '.' this_ID_2= RULE_ID
             	    {
-            	    kw=(Token)match(input,62,FOLLOW_62_in_ruleFQN9325); 
+            	    kw=(Token)match(input,61,FOLLOW_61_in_ruleFQN8778); 
 
             	            current.merge(kw);
             	            newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
             	        
-            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN9340); 
+            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN8793); 
 
             	    		current.merge(this_ID_2);
             	        
@@ -10344,7 +10064,7 @@
 
 
     // $ANTLR start "ruleComponentCommunicationType"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4084:1: ruleComponentCommunicationType returns [Enumerator current=null] : ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) ) ;
+    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3888:1: ruleComponentCommunicationType returns [Enumerator current=null] : ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) ) ;
     public final Enumerator ruleComponentCommunicationType() throws RecognitionException {
         Enumerator current = null;
 
@@ -10355,28 +10075,28 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4086:28: ( ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) ) )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4087:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3890:28: ( ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3891:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) )
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4087:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3891:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) )
             int alt72=4;
             switch ( input.LA(1) ) {
-            case 63:
+            case 64:
                 {
                 alt72=1;
                 }
                 break;
-            case 64:
+            case 65:
                 {
                 alt72=2;
                 }
                 break;
-            case 65:
+            case 66:
                 {
                 alt72=3;
                 }
                 break;
-            case 66:
+            case 67:
                 {
                 alt72=4;
                 }
@@ -10390,12 +10110,12 @@
 
             switch (alt72) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4087:2: (enumLiteral_0= 'eventdriven' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3891:2: (enumLiteral_0= 'eventdriven' )
                     {
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4087:2: (enumLiteral_0= 'eventdriven' )
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4087:4: enumLiteral_0= 'eventdriven'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3891:2: (enumLiteral_0= 'eventdriven' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3891:4: enumLiteral_0= 'eventdriven'
                     {
-                    enumLiteral_0=(Token)match(input,63,FOLLOW_63_in_ruleComponentCommunicationType9401); 
+                    enumLiteral_0=(Token)match(input,64,FOLLOW_64_in_ruleComponentCommunicationType8854); 
 
                             current = grammarAccess.getComponentCommunicationTypeAccess().getEVENT_DRIVENEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_0, grammarAccess.getComponentCommunicationTypeAccess().getEVENT_DRIVENEnumLiteralDeclaration_0()); 
@@ -10407,12 +10127,12 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4093:6: (enumLiteral_1= 'datadriven' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3897:6: (enumLiteral_1= 'datadriven' )
                     {
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4093:6: (enumLiteral_1= 'datadriven' )
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4093:8: enumLiteral_1= 'datadriven'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3897:6: (enumLiteral_1= 'datadriven' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3897:8: enumLiteral_1= 'datadriven'
                     {
-                    enumLiteral_1=(Token)match(input,64,FOLLOW_64_in_ruleComponentCommunicationType9418); 
+                    enumLiteral_1=(Token)match(input,65,FOLLOW_65_in_ruleComponentCommunicationType8871); 
 
                             current = grammarAccess.getComponentCommunicationTypeAccess().getDATA_DRIVENEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_1, grammarAccess.getComponentCommunicationTypeAccess().getDATA_DRIVENEnumLiteralDeclaration_1()); 
@@ -10424,12 +10144,12 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4099:6: (enumLiteral_2= 'async' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3903:6: (enumLiteral_2= 'async' )
                     {
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4099:6: (enumLiteral_2= 'async' )
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4099:8: enumLiteral_2= 'async'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3903:6: (enumLiteral_2= 'async' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3903:8: enumLiteral_2= 'async'
                     {
-                    enumLiteral_2=(Token)match(input,65,FOLLOW_65_in_ruleComponentCommunicationType9435); 
+                    enumLiteral_2=(Token)match(input,66,FOLLOW_66_in_ruleComponentCommunicationType8888); 
 
                             current = grammarAccess.getComponentCommunicationTypeAccess().getASYNCHRONOUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_2, grammarAccess.getComponentCommunicationTypeAccess().getASYNCHRONOUSEnumLiteralDeclaration_2()); 
@@ -10441,12 +10161,12 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4105:6: (enumLiteral_3= 'sync' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3909:6: (enumLiteral_3= 'sync' )
                     {
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4105:6: (enumLiteral_3= 'sync' )
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4105:8: enumLiteral_3= 'sync'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3909:6: (enumLiteral_3= 'sync' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3909:8: enumLiteral_3= 'sync'
                     {
-                    enumLiteral_3=(Token)match(input,66,FOLLOW_66_in_ruleComponentCommunicationType9452); 
+                    enumLiteral_3=(Token)match(input,67,FOLLOW_67_in_ruleComponentCommunicationType8905); 
 
                             current = grammarAccess.getComponentCommunicationTypeAccess().getSYNCHRONOUSEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_3, grammarAccess.getComponentCommunicationTypeAccess().getSYNCHRONOUSEnumLiteralDeclaration_3()); 
@@ -10478,7 +10198,7 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4115:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
+    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3919:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
     public final Enumerator ruleLiteralType() throws RecognitionException {
         Enumerator current = null;
 
@@ -10489,28 +10209,28 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4117:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4118:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3921:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3922:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             {
-            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4118:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3922:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             int alt73=4;
             switch ( input.LA(1) ) {
-            case 67:
+            case 68:
                 {
                 alt73=1;
                 }
                 break;
-            case 68:
+            case 69:
                 {
                 alt73=2;
                 }
                 break;
-            case 69:
+            case 70:
                 {
                 alt73=3;
                 }
                 break;
-            case 70:
+            case 71:
                 {
                 alt73=4;
                 }
@@ -10524,12 +10244,12 @@
 
             switch (alt73) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4118:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3922:2: (enumLiteral_0= 'ptBoolean' )
                     {
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4118:2: (enumLiteral_0= 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4118:4: enumLiteral_0= 'ptBoolean'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3922:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3922:4: enumLiteral_0= 'ptBoolean'
                     {
-                    enumLiteral_0=(Token)match(input,67,FOLLOW_67_in_ruleLiteralType9497); 
+                    enumLiteral_0=(Token)match(input,68,FOLLOW_68_in_ruleLiteralType8950); 
 
                             current = grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_0, grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
@@ -10541,12 +10261,12 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4124:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3928:6: (enumLiteral_1= 'ptInteger' )
                     {
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4124:6: (enumLiteral_1= 'ptInteger' )
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4124:8: enumLiteral_1= 'ptInteger'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3928:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3928:8: enumLiteral_1= 'ptInteger'
                     {
-                    enumLiteral_1=(Token)match(input,68,FOLLOW_68_in_ruleLiteralType9514); 
+                    enumLiteral_1=(Token)match(input,69,FOLLOW_69_in_ruleLiteralType8967); 
 
                             current = grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_1, grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
@@ -10558,12 +10278,12 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4130:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3934:6: (enumLiteral_2= 'ptReal' )
                     {
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4130:6: (enumLiteral_2= 'ptReal' )
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4130:8: enumLiteral_2= 'ptReal'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3934:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3934:8: enumLiteral_2= 'ptReal'
                     {
-                    enumLiteral_2=(Token)match(input,69,FOLLOW_69_in_ruleLiteralType9531); 
+                    enumLiteral_2=(Token)match(input,70,FOLLOW_70_in_ruleLiteralType8984); 
 
                             current = grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_2, grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
@@ -10575,12 +10295,12 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4136:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3940:6: (enumLiteral_3= 'ptCharacter' )
                     {
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4136:6: (enumLiteral_3= 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:4136:8: enumLiteral_3= 'ptCharacter'
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3940:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/parser/antlr/internal/InternalFSM.g:3940:8: enumLiteral_3= 'ptCharacter'
                     {
-                    enumLiteral_3=(Token)match(input,70,FOLLOW_70_in_ruleLiteralType9548); 
+                    enumLiteral_3=(Token)match(input,71,FOLLOW_71_in_ruleLiteralType9001); 
 
                             current = grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_3, grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
@@ -10615,52 +10335,51 @@
 
     protected DFA24 dfa24 = new DFA24(this);
     protected DFA25 dfa25 = new DFA25(this);
-    protected DFA66 dfa66 = new DFA66(this);
     static final String DFA24_eotS =
         "\32\uffff";
     static final String DFA24_eofS =
-        "\13\uffff\1\22\7\uffff\3\22\1\uffff\1\22\2\uffff";
+        "\14\uffff\1\21\6\uffff\2\21\1\uffff\1\21\2\uffff\1\21";
     static final String DFA24_minS =
-        "\1\36\1\4\1\37\1\4\1\41\4\4\2\41\1\20\2\4\1\41\1\4\1\5\1\21\1\uffff"+
-        "\3\20\1\5\1\20\2\uffff";
+        "\1\35\1\4\1\36\1\4\1\40\4\4\3\40\1\17\2\4\1\5\1\20\1\uffff\1\4"+
+        "\2\17\1\5\1\17\2\uffff\1\17";
     static final String DFA24_maxS =
-        "\1\36\2\37\1\52\1\51\2\4\1\52\1\4\2\41\1\70\2\4\1\41\1\4\1\71\1"+
-        "\46\1\uffff\3\70\1\71\1\47\2\uffff";
+        "\1\35\2\36\1\51\1\50\3\4\1\51\3\40\1\67\2\4\1\70\1\45\1\uffff\1"+
+        "\4\2\67\1\70\1\46\2\uffff\1\67";
     static final String DFA24_acceptS =
-        "\22\uffff\1\2\5\uffff\1\1\1\3";
+        "\21\uffff\1\2\5\uffff\1\1\1\3\1\uffff";
     static final String DFA24_specialS =
         "\32\uffff}>";
     static final String[] DFA24_transitionS = {
             "\1\1",
-            "\1\2\32\uffff\1\3",
+            "\1\2\31\uffff\1\3",
             "\1\3",
-            "\1\4\43\uffff\1\5\1\uffff\1\6",
-            "\1\7\7\uffff\1\10",
+            "\1\4\42\uffff\1\5\1\uffff\1\6",
+            "\1\10\7\uffff\1\7",
             "\1\11",
             "\1\12",
-            "\1\13\43\uffff\1\14\1\uffff\1\15",
-            "\1\16",
-            "\1\7",
-            "\1\7",
-            "\1\21\1\22\1\uffff\1\22\4\uffff\7\22\10\uffff\1\22\1\uffff"+
-            "\1\17\16\uffff\1\20",
+            "\1\13",
+            "\1\14\42\uffff\1\15\1\uffff\1\16",
+            "\1\10",
+            "\1\10",
+            "\1\10",
+            "\1\20\1\21\1\uffff\1\21\4\uffff\7\21\10\uffff\1\21\1\uffff"+
+            "\1\22\16\uffff\1\17",
             "\1\23",
             "\1\24",
-            "\1\7",
-            "\1\25",
-            "\1\26\63\uffff\1\27",
-            "\1\22\20\uffff\1\22\1\30\1\uffff\1\30\1\31",
+            "\1\25\62\uffff\1\26",
+            "\1\21\20\uffff\1\21\1\27\1\uffff\1\27\1\30",
             "",
-            "\1\21\1\22\1\uffff\1\22\4\uffff\7\22\10\uffff\1\22\20\uffff"+
-            "\1\20",
-            "\1\21\1\22\1\uffff\1\22\4\uffff\7\22\10\uffff\1\22\20\uffff"+
-            "\1\20",
-            "\1\21\1\22\1\uffff\1\22\4\uffff\7\22\10\uffff\1\22\20\uffff"+
-            "\1\20",
-            "\1\26\63\uffff\1\27",
-            "\1\21\1\22\1\uffff\1\22\4\uffff\7\22\10\uffff\1\22",
+            "\1\31",
+            "\1\20\1\21\1\uffff\1\21\4\uffff\7\21\10\uffff\1\21\20\uffff"+
+            "\1\17",
+            "\1\20\1\21\1\uffff\1\21\4\uffff\7\21\10\uffff\1\21\20\uffff"+
+            "\1\17",
+            "\1\25\62\uffff\1\26",
+            "\1\20\1\21\1\uffff\1\21\4\uffff\7\21\10\uffff\1\21",
             "",
-            ""
+            "",
+            "\1\20\1\21\1\uffff\1\21\4\uffff\7\21\10\uffff\1\21\20\uffff"+
+            "\1\17"
     };
 
     static final short[] DFA24_eot = DFA.unpackEncodedString(DFA24_eotS);
@@ -10701,25 +10420,25 @@
     static final String DFA25_eofS =
         "\31\uffff";
     static final String DFA25_minS =
-        "\1\36\1\4\1\37\1\4\1\41\4\4\3\41\1\20\3\4\1\5\1\43\3\20\1\5\1\20"+
+        "\1\35\1\4\1\36\1\4\1\40\4\4\3\40\1\17\3\4\1\5\1\42\3\17\1\5\1\17"+
         "\2\uffff";
     static final String DFA25_maxS =
-        "\1\36\2\37\1\52\1\51\3\4\1\52\3\41\1\70\3\4\1\71\1\45\3\70\1\71"+
-        "\1\20\2\uffff";
+        "\1\35\2\36\1\51\1\50\3\4\1\51\3\40\1\67\3\4\1\70\1\44\3\67\1\70"+
+        "\1\17\2\uffff";
     static final String DFA25_acceptS =
-        "\27\uffff\1\2\1\1";
+        "\27\uffff\1\1\1\2";
     static final String DFA25_specialS =
         "\31\uffff}>";
     static final String[] DFA25_transitionS = {
             "\1\1",
-            "\1\2\32\uffff\1\3",
+            "\1\2\31\uffff\1\3",
             "\1\3",
-            "\1\4\43\uffff\1\5\1\uffff\1\6",
+            "\1\4\42\uffff\1\5\1\uffff\1\6",
             "\1\10\7\uffff\1\7",
             "\1\11",
             "\1\12",
             "\1\13",
-            "\1\14\43\uffff\1\15\1\uffff\1\16",
+            "\1\14\42\uffff\1\15\1\uffff\1\16",
             "\1\10",
             "\1\10",
             "\1\10",
@@ -10727,12 +10446,12 @@
             "\1\22",
             "\1\23",
             "\1\24",
-            "\1\25\63\uffff\1\26",
-            "\1\30\1\uffff\1\27",
+            "\1\25\62\uffff\1\26",
+            "\1\27\1\uffff\1\30",
             "\1\21\47\uffff\1\20",
             "\1\21\47\uffff\1\20",
             "\1\21\47\uffff\1\20",
-            "\1\25\63\uffff\1\26",
+            "\1\25\62\uffff\1\26",
             "\1\21",
             "",
             ""
@@ -10771,77 +10490,19 @@
             return "1347:1: (this_TriggeredTransition_0= ruleTriggeredTransition | this_GuardedTransition_1= ruleGuardedTransition )";
         }
     }
-    static final String DFA66_eotS =
-        "\12\uffff";
-    static final String DFA66_eofS =
-        "\5\uffff\1\6\1\uffff\1\10\2\uffff";
-    static final String DFA66_minS =
-        "\3\6\1\76\1\uffff\1\6\1\uffff\1\10\2\uffff";
-    static final String DFA66_maxS =
-        "\4\76\1\uffff\1\6\1\uffff\1\10\2\uffff";
-    static final String DFA66_acceptS =
-        "\4\uffff\1\2\1\uffff\1\3\1\uffff\1\1\1\4";
-    static final String DFA66_specialS =
-        "\12\uffff}>";
-    static final String[] DFA66_transitionS = {
-            "\1\3\65\uffff\1\1\1\2\1\4",
-            "\1\3\67\uffff\1\4",
-            "\1\3\67\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\7",
-            "",
-            "\1\11",
-            "",
-            ""
-    };
-
-    static final short[] DFA66_eot = DFA.unpackEncodedString(DFA66_eotS);
-    static final short[] DFA66_eof = DFA.unpackEncodedString(DFA66_eofS);
-    static final char[] DFA66_min = DFA.unpackEncodedStringToUnsignedChars(DFA66_minS);
-    static final char[] DFA66_max = DFA.unpackEncodedStringToUnsignedChars(DFA66_maxS);
-    static final short[] DFA66_accept = DFA.unpackEncodedString(DFA66_acceptS);
-    static final short[] DFA66_special = DFA.unpackEncodedString(DFA66_specialS);
-    static final short[][] DFA66_transition;
-
-    static {
-        int numStates = DFA66_transitionS.length;
-        DFA66_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA66_transition[i] = DFA.unpackEncodedString(DFA66_transitionS[i]);
-        }
-    }
-
-    class DFA66 extends DFA {
-
-        public DFA66(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 66;
-            this.eot = DFA66_eot;
-            this.eof = DFA66_eof;
-            this.min = DFA66_min;
-            this.max = DFA66_max;
-            this.accept = DFA66_accept;
-            this.special = DFA66_special;
-            this.transition = DFA66_transition;
-        }
-        public String getDescription() {
-            return "3739:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )";
-        }
-    }
  
 
     public static final BitSet FOLLOW_ruleFSMModel_in_entryRuleFSMModel75 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleFSMModel85 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleModelComponent_in_ruleFSMModel130 = new BitSet(new long[]{0x8000000000006002L,0x0000000000000007L});
+    public static final BitSet FOLLOW_ruleModelComponent_in_ruleFSMModel130 = new BitSet(new long[]{0x0000000000003002L,0x000000000000000FL});
     public static final BitSet FOLLOW_ruleModelComponent_in_entryRuleModelComponent166 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleModelComponent176 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_ruleModelComponent264 = new BitSet(new long[]{0x8000000000006000L,0x0000000000000007L});
-    public static final BitSet FOLLOW_ruleComponentCommunicationType_in_ruleModelComponent352 = new BitSet(new long[]{0x8000000000006000L,0x0000000000000007L});
-    public static final BitSet FOLLOW_14_in_ruleModelComponent404 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleModelComponent421 = new BitSet(new long[]{0x0000000000048000L});
-    public static final BitSet FOLLOW_15_in_ruleModelComponent439 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleModelComponent462 = new BitSet(new long[]{0x0000000000048000L});
+    public static final BitSet FOLLOW_12_in_ruleModelComponent264 = new BitSet(new long[]{0x0000000000003000L,0x000000000000000FL});
+    public static final BitSet FOLLOW_ruleComponentCommunicationType_in_ruleModelComponent352 = new BitSet(new long[]{0x0000000000003000L,0x000000000000000FL});
+    public static final BitSet FOLLOW_13_in_ruleModelComponent404 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleModelComponent421 = new BitSet(new long[]{0x0000000000024000L});
+    public static final BitSet FOLLOW_14_in_ruleModelComponent439 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleModelComponent462 = new BitSet(new long[]{0x0000000000024000L});
     public static final BitSet FOLLOW_ruleStateMachine_in_ruleModelComponent485 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleStateGraphNode_in_entryRuleStateGraphNode521 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleStateGraphNode531 = new BitSet(new long[]{0x0000000000000002L});
@@ -10850,62 +10511,62 @@
     public static final BitSet FOLLOW_ruleTrPoint_in_ruleStateGraphNode632 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleStateGraph_in_entryRuleStateGraph669 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleStateGraph679 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_ruleStateGraph725 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_ruleState_in_ruleStateGraph747 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_ruleTrPoint_in_ruleStateGraph774 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_ruleChoicePoint_in_ruleStateGraph801 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_ruleTransition_in_ruleStateGraph828 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_ruleRefinedTransition_in_ruleStateGraph855 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_17_in_ruleStateGraph869 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_ruleStateGraph725 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_ruleState_in_ruleStateGraph747 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_ruleTrPoint_in_ruleStateGraph774 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_ruleChoicePoint_in_ruleStateGraph801 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_ruleTransition_in_ruleStateGraph828 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_ruleRefinedTransition_in_ruleStateGraph855 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_16_in_ruleStateGraph869 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleStateMachine_in_entryRuleStateMachine905 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleStateMachine915 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_ruleStateMachine961 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleStateMachine973 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_ruleState_in_ruleStateMachine995 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_ruleTrPoint_in_ruleStateMachine1022 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_ruleChoicePoint_in_ruleStateMachine1049 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_ruleTransition_in_ruleStateMachine1076 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_ruleRefinedTransition_in_ruleStateMachine1103 = new BitSet(new long[]{0x000000807F0A0000L});
-    public static final BitSet FOLLOW_17_in_ruleStateMachine1117 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_ruleStateMachine961 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleStateMachine973 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_ruleState_in_ruleStateMachine995 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_ruleTrPoint_in_ruleStateMachine1022 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_ruleChoicePoint_in_ruleStateMachine1049 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_ruleTransition_in_ruleStateMachine1076 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_ruleRefinedTransition_in_ruleStateMachine1103 = new BitSet(new long[]{0x000000403F850000L});
+    public static final BitSet FOLLOW_16_in_ruleStateMachine1117 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleState_in_entryRuleState1153 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleState1163 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSimpleState_in_ruleState1210 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRefinedState_in_ruleState1237 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSimpleState_in_entryRuleSimpleState1272 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSimpleState1282 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_ruleSimpleState1319 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleState1336 = new BitSet(new long[]{0x0100000000010002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleSimpleState1362 = new BitSet(new long[]{0x0000000000010002L});
-    public static final BitSet FOLLOW_16_in_ruleSimpleState1376 = new BitSet(new long[]{0x0000000000F20000L});
-    public static final BitSet FOLLOW_20_in_ruleSimpleState1389 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState1410 = new BitSet(new long[]{0x0000000000E20000L});
-    public static final BitSet FOLLOW_21_in_ruleSimpleState1425 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState1446 = new BitSet(new long[]{0x0000000000C20000L});
-    public static final BitSet FOLLOW_22_in_ruleSimpleState1461 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState1482 = new BitSet(new long[]{0x0000000000820000L});
-    public static final BitSet FOLLOW_23_in_ruleSimpleState1497 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleStateGraph_in_ruleSimpleState1518 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleSimpleState1532 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_18_in_ruleSimpleState1319 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleState1336 = new BitSet(new long[]{0x0080000000008002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleSimpleState1362 = new BitSet(new long[]{0x0000000000008002L});
+    public static final BitSet FOLLOW_15_in_ruleSimpleState1376 = new BitSet(new long[]{0x0000000000790000L});
+    public static final BitSet FOLLOW_19_in_ruleSimpleState1389 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState1410 = new BitSet(new long[]{0x0000000000710000L});
+    public static final BitSet FOLLOW_20_in_ruleSimpleState1425 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState1446 = new BitSet(new long[]{0x0000000000610000L});
+    public static final BitSet FOLLOW_21_in_ruleSimpleState1461 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState1482 = new BitSet(new long[]{0x0000000000410000L});
+    public static final BitSet FOLLOW_22_in_ruleSimpleState1497 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleStateGraph_in_ruleSimpleState1518 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleSimpleState1532 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRefinedState_in_entryRuleRefinedState1570 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRefinedState1580 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_ruleRefinedState1617 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleRefinedState1640 = new BitSet(new long[]{0x0100000000010000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRefinedState1661 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleRefinedState1674 = new BitSet(new long[]{0x0000000000F20000L});
-    public static final BitSet FOLLOW_20_in_ruleRefinedState1687 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState1708 = new BitSet(new long[]{0x0000000000E20000L});
-    public static final BitSet FOLLOW_21_in_ruleRefinedState1723 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState1744 = new BitSet(new long[]{0x0000000000C20000L});
-    public static final BitSet FOLLOW_22_in_ruleRefinedState1759 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState1780 = new BitSet(new long[]{0x0000000000820000L});
-    public static final BitSet FOLLOW_23_in_ruleRefinedState1795 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleStateGraph_in_ruleRefinedState1816 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleRefinedState1830 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_23_in_ruleRefinedState1617 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleRefinedState1640 = new BitSet(new long[]{0x0080000000008000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRefinedState1661 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleRefinedState1674 = new BitSet(new long[]{0x0000000000790000L});
+    public static final BitSet FOLLOW_19_in_ruleRefinedState1687 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState1708 = new BitSet(new long[]{0x0000000000710000L});
+    public static final BitSet FOLLOW_20_in_ruleRefinedState1723 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState1744 = new BitSet(new long[]{0x0000000000610000L});
+    public static final BitSet FOLLOW_21_in_ruleRefinedState1759 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState1780 = new BitSet(new long[]{0x0000000000410000L});
+    public static final BitSet FOLLOW_22_in_ruleRefinedState1795 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleStateGraph_in_ruleRefinedState1816 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleRefinedState1830 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleDetailCode_in_entryRuleDetailCode1866 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleDetailCode1876 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_ruleDetailCode1928 = new BitSet(new long[]{0x0000000000020020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDetailCode1958 = new BitSet(new long[]{0x0000000000020020L});
-    public static final BitSet FOLLOW_17_in_ruleDetailCode1976 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_ruleDetailCode1928 = new BitSet(new long[]{0x0000000000010020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDetailCode1958 = new BitSet(new long[]{0x0000000000010020L});
+    public static final BitSet FOLLOW_16_in_ruleDetailCode1976 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTrPoint_in_entryRuleTrPoint2012 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTrPoint2022 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTransitionPoint_in_ruleTrPoint2069 = new BitSet(new long[]{0x0000000000000002L});
@@ -10913,21 +10574,21 @@
     public static final BitSet FOLLOW_ruleExitPoint_in_ruleTrPoint2123 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTransitionPoint_in_entryRuleTransitionPoint2158 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTransitionPoint2168 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_ruleTransitionPoint2211 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_26_in_ruleTransitionPoint2237 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_24_in_ruleTransitionPoint2211 = new BitSet(new long[]{0x0000000002000000L});
+    public static final BitSet FOLLOW_25_in_ruleTransitionPoint2237 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleTransitionPoint2254 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEntryPoint_in_entryRuleEntryPoint2295 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEntryPoint2305 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_ruleEntryPoint2342 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_26_in_ruleEntryPoint2342 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleEntryPoint2359 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleExitPoint_in_entryRuleExitPoint2400 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleExitPoint2410 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_ruleExitPoint2447 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_27_in_ruleExitPoint2447 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleExitPoint2464 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleChoicePoint_in_entryRuleChoicePoint2505 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleChoicePoint2515 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_ruleChoicePoint2552 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleChoicePoint2569 = new BitSet(new long[]{0x0100000000000002L});
+    public static final BitSet FOLLOW_28_in_ruleChoicePoint2552 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleChoicePoint2569 = new BitSet(new long[]{0x0080000000000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_ruleChoicePoint2595 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTransition_in_entryRuleTransition2632 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTransition2642 = new BitSet(new long[]{0x0000000000000002L});
@@ -10944,88 +10605,88 @@
     public static final BitSet FOLLOW_ruleGuardedTransition_in_ruleTransitionChainStartTransition2981 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInitialTransition_in_entryRuleInitialTransition3016 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInitialTransition3026 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_ruleInitialTransition3063 = new BitSet(new long[]{0x0000000080000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleInitialTransition3080 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleInitialTransition3098 = new BitSet(new long[]{0x0000000100000000L});
-    public static final BitSet FOLLOW_32_in_ruleInitialTransition3110 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_ruleInitialTransition3122 = new BitSet(new long[]{0x0000050000000010L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleInitialTransition3143 = new BitSet(new long[]{0x0100000000010002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleInitialTransition3164 = new BitSet(new long[]{0x0000000000010002L});
-    public static final BitSet FOLLOW_16_in_ruleInitialTransition3178 = new BitSet(new long[]{0x0000000400020000L});
-    public static final BitSet FOLLOW_34_in_ruleInitialTransition3191 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleInitialTransition3212 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleInitialTransition3226 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_ruleInitialTransition3063 = new BitSet(new long[]{0x0000000040000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleInitialTransition3080 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleInitialTransition3098 = new BitSet(new long[]{0x0000000080000000L});
+    public static final BitSet FOLLOW_31_in_ruleInitialTransition3110 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_32_in_ruleInitialTransition3122 = new BitSet(new long[]{0x0000028000000010L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleInitialTransition3143 = new BitSet(new long[]{0x0080000000008002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleInitialTransition3164 = new BitSet(new long[]{0x0000000000008002L});
+    public static final BitSet FOLLOW_15_in_ruleInitialTransition3178 = new BitSet(new long[]{0x0000000200010000L});
+    public static final BitSet FOLLOW_33_in_ruleInitialTransition3191 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleInitialTransition3212 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleInitialTransition3226 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleContinuationTransition_in_entryRuleContinuationTransition3264 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleContinuationTransition3274 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_ruleContinuationTransition3311 = new BitSet(new long[]{0x0000000080000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleContinuationTransition3328 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleContinuationTransition3346 = new BitSet(new long[]{0x0000050000000010L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleContinuationTransition3367 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_ruleContinuationTransition3379 = new BitSet(new long[]{0x0000050000000010L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleContinuationTransition3400 = new BitSet(new long[]{0x0100000000010002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleContinuationTransition3421 = new BitSet(new long[]{0x0000000000010002L});
-    public static final BitSet FOLLOW_16_in_ruleContinuationTransition3435 = new BitSet(new long[]{0x0000000400020000L});
-    public static final BitSet FOLLOW_34_in_ruleContinuationTransition3448 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleContinuationTransition3469 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleContinuationTransition3483 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_ruleContinuationTransition3311 = new BitSet(new long[]{0x0000000040000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleContinuationTransition3328 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleContinuationTransition3346 = new BitSet(new long[]{0x0000028000000010L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleContinuationTransition3367 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_32_in_ruleContinuationTransition3379 = new BitSet(new long[]{0x0000028000000010L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleContinuationTransition3400 = new BitSet(new long[]{0x0080000000008002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleContinuationTransition3421 = new BitSet(new long[]{0x0000000000008002L});
+    public static final BitSet FOLLOW_15_in_ruleContinuationTransition3435 = new BitSet(new long[]{0x0000000200010000L});
+    public static final BitSet FOLLOW_33_in_ruleContinuationTransition3448 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleContinuationTransition3469 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleContinuationTransition3483 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTriggeredTransition_in_entryRuleTriggeredTransition3521 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTriggeredTransition3531 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_ruleTriggeredTransition3568 = new BitSet(new long[]{0x0000000080000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleTriggeredTransition3585 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleTriggeredTransition3603 = new BitSet(new long[]{0x0000050000000010L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleTriggeredTransition3624 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_ruleTriggeredTransition3636 = new BitSet(new long[]{0x0000050000000010L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleTriggeredTransition3657 = new BitSet(new long[]{0x0100000000010000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleTriggeredTransition3678 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleTriggeredTransition3691 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_ruleTriggeredTransition3703 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleTriggeredTransition3715 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_ruleTrigger_in_ruleTriggeredTransition3736 = new BitSet(new long[]{0x0000001000020000L});
-    public static final BitSet FOLLOW_36_in_ruleTriggeredTransition3749 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_ruleTrigger_in_ruleTriggeredTransition3770 = new BitSet(new long[]{0x0000001000020000L});
-    public static final BitSet FOLLOW_17_in_ruleTriggeredTransition3784 = new BitSet(new long[]{0x0000000400020000L});
-    public static final BitSet FOLLOW_34_in_ruleTriggeredTransition3797 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleTriggeredTransition3818 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleTriggeredTransition3832 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_ruleTriggeredTransition3568 = new BitSet(new long[]{0x0000000040000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleTriggeredTransition3585 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleTriggeredTransition3603 = new BitSet(new long[]{0x0000028000000010L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleTriggeredTransition3624 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_32_in_ruleTriggeredTransition3636 = new BitSet(new long[]{0x0000028000000010L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleTriggeredTransition3657 = new BitSet(new long[]{0x0080000000008000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleTriggeredTransition3678 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleTriggeredTransition3691 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_34_in_ruleTriggeredTransition3703 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleTriggeredTransition3715 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_ruleTrigger_in_ruleTriggeredTransition3736 = new BitSet(new long[]{0x0000000800010000L});
+    public static final BitSet FOLLOW_35_in_ruleTriggeredTransition3749 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_ruleTrigger_in_ruleTriggeredTransition3770 = new BitSet(new long[]{0x0000000800010000L});
+    public static final BitSet FOLLOW_16_in_ruleTriggeredTransition3784 = new BitSet(new long[]{0x0000000200010000L});
+    public static final BitSet FOLLOW_33_in_ruleTriggeredTransition3797 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleTriggeredTransition3818 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleTriggeredTransition3832 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleGuardedTransition_in_entryRuleGuardedTransition3868 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleGuardedTransition3878 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_ruleGuardedTransition3915 = new BitSet(new long[]{0x0000000080000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleGuardedTransition3932 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleGuardedTransition3950 = new BitSet(new long[]{0x0000050000000010L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleGuardedTransition3971 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_ruleGuardedTransition3983 = new BitSet(new long[]{0x0000050000000010L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleGuardedTransition4004 = new BitSet(new long[]{0x0100000000010000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleGuardedTransition4025 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleGuardedTransition4038 = new BitSet(new long[]{0x0000002000000000L});
-    public static final BitSet FOLLOW_37_in_ruleGuardedTransition4050 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleGuardedTransition4071 = new BitSet(new long[]{0x0000000400020000L});
-    public static final BitSet FOLLOW_34_in_ruleGuardedTransition4084 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleGuardedTransition4105 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleGuardedTransition4119 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_ruleGuardedTransition3915 = new BitSet(new long[]{0x0000000040000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleGuardedTransition3932 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleGuardedTransition3950 = new BitSet(new long[]{0x0000028000000010L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleGuardedTransition3971 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_32_in_ruleGuardedTransition3983 = new BitSet(new long[]{0x0000028000000010L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleGuardedTransition4004 = new BitSet(new long[]{0x0080000000008000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleGuardedTransition4025 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleGuardedTransition4038 = new BitSet(new long[]{0x0000001000000000L});
+    public static final BitSet FOLLOW_36_in_ruleGuardedTransition4050 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleGuardedTransition4071 = new BitSet(new long[]{0x0000000200010000L});
+    public static final BitSet FOLLOW_33_in_ruleGuardedTransition4084 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleGuardedTransition4105 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleGuardedTransition4119 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleCPBranchTransition_in_entryRuleCPBranchTransition4155 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleCPBranchTransition4165 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_ruleCPBranchTransition4202 = new BitSet(new long[]{0x0000000080000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleCPBranchTransition4219 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleCPBranchTransition4237 = new BitSet(new long[]{0x0000050000000010L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleCPBranchTransition4258 = new BitSet(new long[]{0x0000000200000000L});
-    public static final BitSet FOLLOW_33_in_ruleCPBranchTransition4270 = new BitSet(new long[]{0x0000050000000010L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleCPBranchTransition4291 = new BitSet(new long[]{0x0100000000010000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleCPBranchTransition4312 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleCPBranchTransition4325 = new BitSet(new long[]{0x0000004000000000L});
-    public static final BitSet FOLLOW_38_in_ruleCPBranchTransition4337 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleCPBranchTransition4358 = new BitSet(new long[]{0x0000000400020000L});
-    public static final BitSet FOLLOW_34_in_ruleCPBranchTransition4371 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleCPBranchTransition4392 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleCPBranchTransition4406 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_ruleCPBranchTransition4202 = new BitSet(new long[]{0x0000000040000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleCPBranchTransition4219 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleCPBranchTransition4237 = new BitSet(new long[]{0x0000028000000010L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleCPBranchTransition4258 = new BitSet(new long[]{0x0000000100000000L});
+    public static final BitSet FOLLOW_32_in_ruleCPBranchTransition4270 = new BitSet(new long[]{0x0000028000000010L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleCPBranchTransition4291 = new BitSet(new long[]{0x0080000000008000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleCPBranchTransition4312 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleCPBranchTransition4325 = new BitSet(new long[]{0x0000002000000000L});
+    public static final BitSet FOLLOW_37_in_ruleCPBranchTransition4337 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleCPBranchTransition4358 = new BitSet(new long[]{0x0000000200010000L});
+    public static final BitSet FOLLOW_33_in_ruleCPBranchTransition4371 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleCPBranchTransition4392 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleCPBranchTransition4406 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRefinedTransition_in_entryRuleRefinedTransition4442 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRefinedTransition4452 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_39_in_ruleRefinedTransition4489 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleRefinedTransition4512 = new BitSet(new long[]{0x0100000000010000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRefinedTransition4533 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleRefinedTransition4546 = new BitSet(new long[]{0x0000000400000000L});
-    public static final BitSet FOLLOW_34_in_ruleRefinedTransition4558 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedTransition4579 = new BitSet(new long[]{0x0000000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleRefinedTransition4591 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_38_in_ruleRefinedTransition4489 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleRefinedTransition4512 = new BitSet(new long[]{0x0080000000008000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRefinedTransition4533 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleRefinedTransition4546 = new BitSet(new long[]{0x0000000200000000L});
+    public static final BitSet FOLLOW_33_in_ruleRefinedTransition4558 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedTransition4579 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_16_in_ruleRefinedTransition4591 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTransitionTerminal_in_entryRuleTransitionTerminal4627 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTransitionTerminal4637 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleStateTerminal_in_ruleTransitionTerminal4684 = new BitSet(new long[]{0x0000000000000002L});
@@ -11037,33 +10698,33 @@
     public static final BitSet FOLLOW_RULE_ID_in_ruleStateTerminal4854 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTrPointTerminal_in_entryRuleTrPointTerminal4889 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTrPointTerminal4899 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_ruleTrPointTerminal4936 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_39_in_ruleTrPointTerminal4936 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleTrPointTerminal4956 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSubStateTrPointTerminal_in_entryRuleSubStateTrPointTerminal4992 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSubStateTrPointTerminal5002 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSubStateTrPointTerminal5047 = new BitSet(new long[]{0x0000020000000000L});
-    public static final BitSet FOLLOW_41_in_ruleSubStateTrPointTerminal5059 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSubStateTrPointTerminal5047 = new BitSet(new long[]{0x0000010000000000L});
+    public static final BitSet FOLLOW_40_in_ruleSubStateTrPointTerminal5059 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleSubStateTrPointTerminal5079 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleChoicepointTerminal_in_entryRuleChoicepointTerminal5115 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleChoicepointTerminal5125 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_ruleChoicepointTerminal5162 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_41_in_ruleChoicepointTerminal5162 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleChoicepointTerminal5182 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTrigger_in_entryRuleTrigger5218 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTrigger5228 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_ruleTrigger5265 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleMessageFromIf_in_ruleTrigger5286 = new BitSet(new long[]{0x0000302000000000L});
-    public static final BitSet FOLLOW_44_in_ruleTrigger5299 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleMessageFromIf_in_ruleTrigger5320 = new BitSet(new long[]{0x0000302000000000L});
-    public static final BitSet FOLLOW_ruleGuard_in_ruleTrigger5343 = new BitSet(new long[]{0x0000200000000000L});
-    public static final BitSet FOLLOW_45_in_ruleTrigger5356 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_ruleTrigger5265 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleMessageFromIf_in_ruleTrigger5286 = new BitSet(new long[]{0x0000181000000000L});
+    public static final BitSet FOLLOW_43_in_ruleTrigger5299 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleMessageFromIf_in_ruleTrigger5320 = new BitSet(new long[]{0x0000181000000000L});
+    public static final BitSet FOLLOW_ruleGuard_in_ruleTrigger5343 = new BitSet(new long[]{0x0000100000000000L});
+    public static final BitSet FOLLOW_44_in_ruleTrigger5356 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleMessageFromIf_in_entryRuleMessageFromIf5392 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleMessageFromIf5402 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleMessageFromIf5447 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleMessageFromIf5459 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleMessageFromIf5447 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleMessageFromIf5459 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleMessageFromIf5479 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleGuard_in_entryRuleGuard5517 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleGuard5527 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_ruleGuard5564 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_36_in_ruleGuard5564 = new BitSet(new long[]{0x0000000000008000L});
     public static final BitSet FOLLOW_ruleDetailCode_in_ruleGuard5585 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSemanticsRule_in_entryRuleSemanticsRule5623 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSemanticsRule5633 = new BitSet(new long[]{0x0000000000000002L});
@@ -11071,32 +10732,32 @@
     public static final BitSet FOLLOW_ruleOutSemanticsRule_in_ruleSemanticsRule5707 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInSemanticsRule_in_entryRuleInSemanticsRule5742 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInSemanticsRule5752 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_ruleInSemanticsRule5789 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleInSemanticsRule5801 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleInSemanticsRule5821 = new BitSet(new long[]{0x0000000200000002L});
-    public static final BitSet FOLLOW_33_in_ruleInSemanticsRule5834 = new BitSet(new long[]{0x0004C00000000000L});
+    public static final BitSet FOLLOW_45_in_ruleInSemanticsRule5789 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleInSemanticsRule5801 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleInSemanticsRule5821 = new BitSet(new long[]{0x0000000100000002L});
+    public static final BitSet FOLLOW_32_in_ruleInSemanticsRule5834 = new BitSet(new long[]{0x0002600000000000L});
     public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleInSemanticsRule5856 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_ruleInSemanticsRule5875 = new BitSet(new long[]{0x0004400000000000L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleInSemanticsRule5896 = new BitSet(new long[]{0x0001000000000000L});
-    public static final BitSet FOLLOW_48_in_ruleInSemanticsRule5909 = new BitSet(new long[]{0x0004400000000000L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleInSemanticsRule5930 = new BitSet(new long[]{0x0003000000000000L});
-    public static final BitSet FOLLOW_49_in_ruleInSemanticsRule5944 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_46_in_ruleInSemanticsRule5875 = new BitSet(new long[]{0x0002200000000000L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleInSemanticsRule5896 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_47_in_ruleInSemanticsRule5909 = new BitSet(new long[]{0x0002200000000000L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleInSemanticsRule5930 = new BitSet(new long[]{0x0001800000000000L});
+    public static final BitSet FOLLOW_48_in_ruleInSemanticsRule5944 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleOutSemanticsRule_in_entryRuleOutSemanticsRule5984 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleOutSemanticsRule5994 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_ruleOutSemanticsRule6031 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleOutSemanticsRule6043 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleOutSemanticsRule6063 = new BitSet(new long[]{0x0000000200000002L});
-    public static final BitSet FOLLOW_33_in_ruleOutSemanticsRule6076 = new BitSet(new long[]{0x0004C00000000000L});
+    public static final BitSet FOLLOW_49_in_ruleOutSemanticsRule6031 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleOutSemanticsRule6043 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleOutSemanticsRule6063 = new BitSet(new long[]{0x0000000100000002L});
+    public static final BitSet FOLLOW_32_in_ruleOutSemanticsRule6076 = new BitSet(new long[]{0x0002600000000000L});
     public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleOutSemanticsRule6098 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_ruleOutSemanticsRule6117 = new BitSet(new long[]{0x0004400000000000L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleOutSemanticsRule6138 = new BitSet(new long[]{0x0001000000000000L});
-    public static final BitSet FOLLOW_48_in_ruleOutSemanticsRule6151 = new BitSet(new long[]{0x0004400000000000L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleOutSemanticsRule6172 = new BitSet(new long[]{0x0003000000000000L});
-    public static final BitSet FOLLOW_49_in_ruleOutSemanticsRule6186 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_46_in_ruleOutSemanticsRule6117 = new BitSet(new long[]{0x0002200000000000L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleOutSemanticsRule6138 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_47_in_ruleOutSemanticsRule6151 = new BitSet(new long[]{0x0002200000000000L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleOutSemanticsRule6172 = new BitSet(new long[]{0x0001800000000000L});
+    public static final BitSet FOLLOW_48_in_ruleOutSemanticsRule6186 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue6228 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue6238 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue6280 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_51_in_ruleKeyValue6297 = new BitSet(new long[]{0x7C000000000000E0L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue6280 = new BitSet(new long[]{0x0004000000000000L});
+    public static final BitSet FOLLOW_50_in_ruleKeyValue6297 = new BitSet(new long[]{0x1E000000000000E0L});
     public static final BitSet FOLLOW_ruleLiteral_in_ruleKeyValue6318 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType6357 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType6368 = new BitSet(new long[]{0x0000000000000002L});
@@ -11107,33 +10768,33 @@
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_ruleAnnotationAttribute6535 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute6570 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute6580 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_52_in_ruleSimpleAnnotationAttribute6624 = new BitSet(new long[]{0x0040000000000000L});
-    public static final BitSet FOLLOW_53_in_ruleSimpleAnnotationAttribute6655 = new BitSet(new long[]{0x0040000000000000L});
-    public static final BitSet FOLLOW_54_in_ruleSimpleAnnotationAttribute6668 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute6685 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleSimpleAnnotationAttribute6702 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000078L});
+    public static final BitSet FOLLOW_51_in_ruleSimpleAnnotationAttribute6624 = new BitSet(new long[]{0x0020000000000000L});
+    public static final BitSet FOLLOW_52_in_ruleSimpleAnnotationAttribute6655 = new BitSet(new long[]{0x0020000000000000L});
+    public static final BitSet FOLLOW_53_in_ruleSimpleAnnotationAttribute6668 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute6685 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleSimpleAnnotationAttribute6702 = new BitSet(new long[]{0x0000000000000000L,0x00000000000000F0L});
     public static final BitSet FOLLOW_ruleLiteralType_in_ruleSimpleAnnotationAttribute6723 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute6759 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute6769 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_52_in_ruleEnumAnnotationAttribute6813 = new BitSet(new long[]{0x0040000000000000L});
-    public static final BitSet FOLLOW_53_in_ruleEnumAnnotationAttribute6844 = new BitSet(new long[]{0x0040000000000000L});
-    public static final BitSet FOLLOW_54_in_ruleEnumAnnotationAttribute6857 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute6874 = new BitSet(new long[]{0x0000000080000000L});
-    public static final BitSet FOLLOW_31_in_ruleEnumAnnotationAttribute6891 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleEnumAnnotationAttribute6903 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute6920 = new BitSet(new long[]{0x0001000000020000L});
-    public static final BitSet FOLLOW_48_in_ruleEnumAnnotationAttribute6938 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute6955 = new BitSet(new long[]{0x0001000000020000L});
-    public static final BitSet FOLLOW_17_in_ruleEnumAnnotationAttribute6974 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_ruleEnumAnnotationAttribute6813 = new BitSet(new long[]{0x0020000000000000L});
+    public static final BitSet FOLLOW_52_in_ruleEnumAnnotationAttribute6844 = new BitSet(new long[]{0x0020000000000000L});
+    public static final BitSet FOLLOW_53_in_ruleEnumAnnotationAttribute6857 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute6874 = new BitSet(new long[]{0x0000000040000000L});
+    public static final BitSet FOLLOW_30_in_ruleEnumAnnotationAttribute6891 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleEnumAnnotationAttribute6903 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute6920 = new BitSet(new long[]{0x0000800000010000L});
+    public static final BitSet FOLLOW_47_in_ruleEnumAnnotationAttribute6938 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute6955 = new BitSet(new long[]{0x0000800000010000L});
+    public static final BitSet FOLLOW_16_in_ruleEnumAnnotationAttribute6974 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN7013 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN7024 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN7071 = new BitSet(new long[]{0x0080000000000002L});
-    public static final BitSet FOLLOW_55_in_ruleImportedFQN7090 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN7071 = new BitSet(new long[]{0x0040000000000002L});
+    public static final BitSet FOLLOW_54_in_ruleImportedFQN7090 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation7132 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation7142 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_56_in_ruleDocumentation7188 = new BitSet(new long[]{0x0200000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation7205 = new BitSet(new long[]{0x0200000000000020L});
-    public static final BitSet FOLLOW_57_in_ruleDocumentation7223 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_55_in_ruleDocumentation7188 = new BitSet(new long[]{0x0100000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation7205 = new BitSet(new long[]{0x0100000000000020L});
+    public static final BitSet FOLLOW_56_in_ruleDocumentation7223 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral7263 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleLiteral7273 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_ruleLiteral7320 = new BitSet(new long[]{0x0000000000000002L});
@@ -11141,8 +10802,8 @@
     public static final BitSet FOLLOW_ruleStringLiteral_in_ruleLiteral7374 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral7409 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral7419 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_58_in_ruleBooleanLiteral7466 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_ruleBooleanLiteral7490 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_57_in_ruleBooleanLiteral7466 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_58_in_ruleBooleanLiteral7490 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral7540 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral7550 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleIntLiteral_in_ruleNumberLiteral7597 = new BitSet(new long[]{0x0000000000000002L});
@@ -11158,61 +10819,45 @@
     public static final BitSet FOLLOW_RULE_STRING_in_ruleStringLiteral7922 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger7964 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInteger7975 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_ruleInteger8022 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_ruleInteger8055 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger8107 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger8118 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_ruleSignedInteger8161 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_61_in_ruleSignedInteger8180 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleSignedInteger8197 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal8253 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal8264 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal8307 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal8356 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal8367 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal8414 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_ruleReal8447 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_ruleReal8480 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal8513 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal8565 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal8576 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_ruleDecimal8619 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_61_in_ruleDecimal8638 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal8655 = new BitSet(new long[]{0x4000000000000000L});
-    public static final BitSet FOLLOW_62_in_ruleDecimal8673 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal8688 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal8744 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal8755 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_ruleDotDecimal8798 = new BitSet(new long[]{0x4000000000000000L});
-    public static final BitSet FOLLOW_61_in_ruleDotDecimal8817 = new BitSet(new long[]{0x4000000000000000L});
-    public static final BitSet FOLLOW_62_in_ruleDotDecimal8832 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDotDecimal8847 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot8903 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot8914 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_ruleDecimalDot8957 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_61_in_ruleDecimalDot8976 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalDot8993 = new BitSet(new long[]{0x4000000000000000L});
-    public static final BitSet FOLLOW_62_in_ruleDecimalDot9011 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp9062 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp9073 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_ruleDecimalExp9116 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_61_in_ruleDecimalExp9135 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp9152 = new BitSet(new long[]{0x4000000000000000L});
-    public static final BitSet FOLLOW_62_in_ruleDecimalExp9170 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp9185 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RULE_EXP_in_ruleDecimalExp9205 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN9255 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN9266 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN9306 = new BitSet(new long[]{0x4000000000000002L});
-    public static final BitSet FOLLOW_62_in_ruleFQN9325 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN9340 = new BitSet(new long[]{0x4000000000000002L});
-    public static final BitSet FOLLOW_63_in_ruleComponentCommunicationType9401 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_64_in_ruleComponentCommunicationType9418 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_ruleComponentCommunicationType9435 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_66_in_ruleComponentCommunicationType9452 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_67_in_ruleLiteralType9497 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_68_in_ruleLiteralType9514 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_69_in_ruleLiteralType9531 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_70_in_ruleLiteralType9548 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_ruleInteger8015 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_60_in_ruleInteger8034 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleInteger8051 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_ruleInteger8078 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal8124 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal8135 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal8182 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal8215 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal8267 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal8278 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_ruleDecimal8321 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_60_in_ruleDecimal8340 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal8357 = new BitSet(new long[]{0x2000000000000000L});
+    public static final BitSet FOLLOW_61_in_ruleDecimal8375 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal8390 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp8446 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp8457 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_ruleDecimalExp8500 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_60_in_ruleDecimalExp8519 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp8536 = new BitSet(new long[]{0x2000000000000000L});
+    public static final BitSet FOLLOW_61_in_ruleDecimalExp8554 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp8569 = new BitSet(new long[]{0xC000000000000000L});
+    public static final BitSet FOLLOW_62_in_ruleDecimalExp8588 = new BitSet(new long[]{0x1800000000000040L});
+    public static final BitSet FOLLOW_63_in_ruleDecimalExp8607 = new BitSet(new long[]{0x1800000000000040L});
+    public static final BitSet FOLLOW_59_in_ruleDecimalExp8622 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_60_in_ruleDecimalExp8641 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp8658 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN8708 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN8719 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN8759 = new BitSet(new long[]{0x2000000000000002L});
+    public static final BitSet FOLLOW_61_in_ruleFQN8778 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN8793 = new BitSet(new long[]{0x2000000000000002L});
+    public static final BitSet FOLLOW_64_in_ruleComponentCommunicationType8854 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_65_in_ruleComponentCommunicationType8871 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_66_in_ruleComponentCommunicationType8888 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_67_in_ruleComponentCommunicationType8905 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_68_in_ruleLiteralType8950 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_69_in_ruleLiteralType8967 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_70_in_ruleLiteralType8984 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_71_in_ruleLiteralType9001 = new BitSet(new long[]{0x0000000000000002L});
 
 }
diff --git a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/services/FSMGrammarAccess.java b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/services/FSMGrammarAccess.java
index 33ba97e..cf5228c 100644
--- a/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/services/FSMGrammarAccess.java
+++ b/plugins/org.eclipse.etrice.core.fsm/src-gen/org/eclipse/etrice/core/fsm/services/FSMGrammarAccess.java
@@ -249,8 +249,8 @@
 		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
 		
 		//StateMachine returns StateGraph:
-		//	{StateGraph} "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition |
-		//	refinedTransitions+=RefinedTransition)* "}";
+		//	{StateGraph} "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition
+		//	| refinedTransitions+=RefinedTransition)* "}";
 		public ParserRule getRule() { return rule; }
 
 		//{StateGraph} "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition |
@@ -1897,54 +1897,92 @@
 		public Keyword getSYNCHRONOUSSyncKeyword_3_0() { return cSYNCHRONOUSSyncKeyword_3_0; }
 	}
 	
-	private FSMModelElements pFSMModel;
-	private ComponentCommunicationTypeElements unknownRuleComponentCommunicationType;
-	private ModelComponentElements pModelComponent;
-	private StateGraphNodeElements pStateGraphNode;
-	private StateGraphItemElements pStateGraphItem;
-	private StateGraphElements pStateGraph;
-	private StateMachineElements pStateMachine;
-	private StateElements pState;
-	private SimpleStateElements pSimpleState;
-	private RefinedStateElements pRefinedState;
-	private DetailCodeElements pDetailCode;
-	private TrPointElements pTrPoint;
-	private TransitionPointElements pTransitionPoint;
-	private EntryPointElements pEntryPoint;
-	private ExitPointElements pExitPoint;
-	private ChoicePointElements pChoicePoint;
-	private TransitionElements pTransition;
-	private NonInitialTransitionElements pNonInitialTransition;
-	private TransitionChainStartTransitionElements pTransitionChainStartTransition;
-	private InitialTransitionElements pInitialTransition;
-	private ContinuationTransitionElements pContinuationTransition;
-	private TriggeredTransitionElements pTriggeredTransition;
-	private GuardedTransitionElements pGuardedTransition;
-	private CPBranchTransitionElements pCPBranchTransition;
-	private RefinedTransitionElements pRefinedTransition;
-	private TransitionTerminalElements pTransitionTerminal;
-	private StateTerminalElements pStateTerminal;
-	private TrPointTerminalElements pTrPointTerminal;
-	private SubStateTrPointTerminalElements pSubStateTrPointTerminal;
-	private ChoicepointTerminalElements pChoicepointTerminal;
-	private TriggerElements pTrigger;
-	private MessageFromIfElements pMessageFromIf;
-	private AbstractInterfaceItemElements pAbstractInterfaceItem;
-	private GuardElements pGuard;
-	private ProtocolSemanticsElements pProtocolSemantics;
-	private SemanticsRuleElements pSemanticsRule;
-	private InSemanticsRuleElements pInSemanticsRule;
-	private OutSemanticsRuleElements pOutSemanticsRule;
+	private final FSMModelElements pFSMModel;
+	private final ComponentCommunicationTypeElements unknownRuleComponentCommunicationType;
+	private final ModelComponentElements pModelComponent;
+	private final StateGraphNodeElements pStateGraphNode;
+	private final StateGraphItemElements pStateGraphItem;
+	private final StateGraphElements pStateGraph;
+	private final StateMachineElements pStateMachine;
+	private final StateElements pState;
+	private final SimpleStateElements pSimpleState;
+	private final RefinedStateElements pRefinedState;
+	private final DetailCodeElements pDetailCode;
+	private final TrPointElements pTrPoint;
+	private final TransitionPointElements pTransitionPoint;
+	private final EntryPointElements pEntryPoint;
+	private final ExitPointElements pExitPoint;
+	private final ChoicePointElements pChoicePoint;
+	private final TransitionElements pTransition;
+	private final NonInitialTransitionElements pNonInitialTransition;
+	private final TransitionChainStartTransitionElements pTransitionChainStartTransition;
+	private final InitialTransitionElements pInitialTransition;
+	private final ContinuationTransitionElements pContinuationTransition;
+	private final TriggeredTransitionElements pTriggeredTransition;
+	private final GuardedTransitionElements pGuardedTransition;
+	private final CPBranchTransitionElements pCPBranchTransition;
+	private final RefinedTransitionElements pRefinedTransition;
+	private final TransitionTerminalElements pTransitionTerminal;
+	private final StateTerminalElements pStateTerminal;
+	private final TrPointTerminalElements pTrPointTerminal;
+	private final SubStateTrPointTerminalElements pSubStateTrPointTerminal;
+	private final ChoicepointTerminalElements pChoicepointTerminal;
+	private final TriggerElements pTrigger;
+	private final MessageFromIfElements pMessageFromIf;
+	private final AbstractInterfaceItemElements pAbstractInterfaceItem;
+	private final GuardElements pGuard;
+	private final ProtocolSemanticsElements pProtocolSemantics;
+	private final SemanticsRuleElements pSemanticsRule;
+	private final InSemanticsRuleElements pInSemanticsRule;
+	private final OutSemanticsRuleElements pOutSemanticsRule;
 	
 	private final Grammar grammar;
 
-	private BaseGrammarAccess gaBase;
+	private final BaseGrammarAccess gaBase;
 
 	@Inject
 	public FSMGrammarAccess(GrammarProvider grammarProvider,
 		BaseGrammarAccess gaBase) {
 		this.grammar = internalFindGrammar(grammarProvider);
 		this.gaBase = gaBase;
+		this.pFSMModel = new FSMModelElements();
+		this.unknownRuleComponentCommunicationType = new ComponentCommunicationTypeElements();
+		this.pModelComponent = new ModelComponentElements();
+		this.pStateGraphNode = new StateGraphNodeElements();
+		this.pStateGraphItem = new StateGraphItemElements();
+		this.pStateGraph = new StateGraphElements();
+		this.pStateMachine = new StateMachineElements();
+		this.pState = new StateElements();
+		this.pSimpleState = new SimpleStateElements();
+		this.pRefinedState = new RefinedStateElements();
+		this.pDetailCode = new DetailCodeElements();
+		this.pTrPoint = new TrPointElements();
+		this.pTransitionPoint = new TransitionPointElements();
+		this.pEntryPoint = new EntryPointElements();
+		this.pExitPoint = new ExitPointElements();
+		this.pChoicePoint = new ChoicePointElements();
+		this.pTransition = new TransitionElements();
+		this.pNonInitialTransition = new NonInitialTransitionElements();
+		this.pTransitionChainStartTransition = new TransitionChainStartTransitionElements();
+		this.pInitialTransition = new InitialTransitionElements();
+		this.pContinuationTransition = new ContinuationTransitionElements();
+		this.pTriggeredTransition = new TriggeredTransitionElements();
+		this.pGuardedTransition = new GuardedTransitionElements();
+		this.pCPBranchTransition = new CPBranchTransitionElements();
+		this.pRefinedTransition = new RefinedTransitionElements();
+		this.pTransitionTerminal = new TransitionTerminalElements();
+		this.pStateTerminal = new StateTerminalElements();
+		this.pTrPointTerminal = new TrPointTerminalElements();
+		this.pSubStateTrPointTerminal = new SubStateTrPointTerminalElements();
+		this.pChoicepointTerminal = new ChoicepointTerminalElements();
+		this.pTrigger = new TriggerElements();
+		this.pMessageFromIf = new MessageFromIfElements();
+		this.pAbstractInterfaceItem = new AbstractInterfaceItemElements();
+		this.pGuard = new GuardElements();
+		this.pProtocolSemantics = new ProtocolSemanticsElements();
+		this.pSemanticsRule = new SemanticsRuleElements();
+		this.pInSemanticsRule = new InSemanticsRuleElements();
+		this.pOutSemanticsRule = new OutSemanticsRuleElements();
 	}
 	
 	protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
@@ -1977,7 +2015,7 @@
 	//FSMModel:
 	//	components+=ModelComponent*;
 	public FSMModelElements getFSMModelAccess() {
-		return (pFSMModel != null) ? pFSMModel : (pFSMModel = new FSMModelElements());
+		return pFSMModel;
 	}
 	
 	public ParserRule getFSMModelRule() {
@@ -1988,7 +2026,7 @@
 	//enum ComponentCommunicationType:
 	//	EVENT_DRIVEN="eventdriven" | DATA_DRIVEN="datadriven" | ASYNCHRONOUS="async" | SYNCHRONOUS="sync";
 	public ComponentCommunicationTypeElements getComponentCommunicationTypeAccess() {
-		return (unknownRuleComponentCommunicationType != null) ? unknownRuleComponentCommunicationType : (unknownRuleComponentCommunicationType = new ComponentCommunicationTypeElements());
+		return unknownRuleComponentCommunicationType;
 	}
 	
 	public EnumRule getComponentCommunicationTypeRule() {
@@ -2000,7 +2038,7 @@
 	//	(abstract?="abstract"? & commType=ComponentCommunicationType?) "ModelComponent" componentName=ID ("extends"
 	//	base=[ModelComponent|FQN])? stateMachine=StateMachine;
 	public ModelComponentElements getModelComponentAccess() {
-		return (pModelComponent != null) ? pModelComponent : (pModelComponent = new ModelComponentElements());
+		return pModelComponent;
 	}
 	
 	public ParserRule getModelComponentRule() {
@@ -2014,7 +2052,7 @@
 	//StateGraphNode:
 	//	State | ChoicePoint | TrPoint;
 	public StateGraphNodeElements getStateGraphNodeAccess() {
-		return (pStateGraphNode != null) ? pStateGraphNode : (pStateGraphNode = new StateGraphNodeElements());
+		return pStateGraphNode;
 	}
 	
 	public ParserRule getStateGraphNodeRule() {
@@ -2024,7 +2062,7 @@
 	//StateGraphItem:
 	//	StateGraphNode | Transition;
 	public StateGraphItemElements getStateGraphItemAccess() {
-		return (pStateGraphItem != null) ? pStateGraphItem : (pStateGraphItem = new StateGraphItemElements());
+		return pStateGraphItem;
 	}
 	
 	public ParserRule getStateGraphItemRule() {
@@ -2036,7 +2074,7 @@
 	//	{StateGraph} "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition |
 	//	refinedTransitions+=RefinedTransition)* "}";
 	public StateGraphElements getStateGraphAccess() {
-		return (pStateGraph != null) ? pStateGraph : (pStateGraph = new StateGraphElements());
+		return pStateGraph;
 	}
 	
 	public ParserRule getStateGraphRule() {
@@ -2044,10 +2082,10 @@
 	}
 
 	//StateMachine returns StateGraph:
-	//	{StateGraph} "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition |
-	//	refinedTransitions+=RefinedTransition)* "}";
+	//	{StateGraph} "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition
+	//	| refinedTransitions+=RefinedTransition)* "}";
 	public StateMachineElements getStateMachineAccess() {
-		return (pStateMachine != null) ? pStateMachine : (pStateMachine = new StateMachineElements());
+		return pStateMachine;
 	}
 	
 	public ParserRule getStateMachineRule() {
@@ -2060,7 +2098,7 @@
 	//State:
 	//	SimpleState | RefinedState;
 	public StateElements getStateAccess() {
-		return (pState != null) ? pState : (pState = new StateElements());
+		return pState;
 	}
 	
 	public ParserRule getStateRule() {
@@ -2071,7 +2109,7 @@
 	//	"State" name=ID docu=Documentation? ("{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("do"
 	//	doCode=DetailCode)? ("subgraph" subgraph=StateGraph)? "}")?;
 	public SimpleStateElements getSimpleStateAccess() {
-		return (pSimpleState != null) ? pSimpleState : (pSimpleState = new SimpleStateElements());
+		return pSimpleState;
 	}
 	
 	public ParserRule getSimpleStateRule() {
@@ -2082,7 +2120,7 @@
 	//	"RefinedState" target=[State|FQN] docu=Documentation? "{" ("entry" entryCode=DetailCode)? ("exit"
 	//	exitCode=DetailCode)? ("do" doCode=DetailCode)? ("subgraph" subgraph=StateGraph)? "}";
 	public RefinedStateElements getRefinedStateAccess() {
-		return (pRefinedState != null) ? pRefinedState : (pRefinedState = new RefinedStateElements());
+		return pRefinedState;
 	}
 	
 	public ParserRule getRefinedStateRule() {
@@ -2094,7 +2132,7 @@
 	//DetailCode:
 	//	{DetailCode} used?="{" lines+=STRING* "}";
 	public DetailCodeElements getDetailCodeAccess() {
-		return (pDetailCode != null) ? pDetailCode : (pDetailCode = new DetailCodeElements());
+		return pDetailCode;
 	}
 	
 	public ParserRule getDetailCodeRule() {
@@ -2107,7 +2145,7 @@
 	//TrPoint:
 	//	TransitionPoint | EntryPoint | ExitPoint;
 	public TrPointElements getTrPointAccess() {
-		return (pTrPoint != null) ? pTrPoint : (pTrPoint = new TrPointElements());
+		return pTrPoint;
 	}
 	
 	public ParserRule getTrPointRule() {
@@ -2117,7 +2155,7 @@
 	//TransitionPoint:
 	//	handler?="handler"? "TransitionPoint" name=ID;
 	public TransitionPointElements getTransitionPointAccess() {
-		return (pTransitionPoint != null) ? pTransitionPoint : (pTransitionPoint = new TransitionPointElements());
+		return pTransitionPoint;
 	}
 	
 	public ParserRule getTransitionPointRule() {
@@ -2127,7 +2165,7 @@
 	//EntryPoint:
 	//	"EntryPoint" name=ID;
 	public EntryPointElements getEntryPointAccess() {
-		return (pEntryPoint != null) ? pEntryPoint : (pEntryPoint = new EntryPointElements());
+		return pEntryPoint;
 	}
 	
 	public ParserRule getEntryPointRule() {
@@ -2137,7 +2175,7 @@
 	//ExitPoint:
 	//	"ExitPoint" name=ID;
 	public ExitPointElements getExitPointAccess() {
-		return (pExitPoint != null) ? pExitPoint : (pExitPoint = new ExitPointElements());
+		return pExitPoint;
 	}
 	
 	public ParserRule getExitPointRule() {
@@ -2150,7 +2188,7 @@
 	//ChoicePoint:
 	//	"ChoicePoint" name=ID docu=Documentation?;
 	public ChoicePointElements getChoicePointAccess() {
-		return (pChoicePoint != null) ? pChoicePoint : (pChoicePoint = new ChoicePointElements());
+		return pChoicePoint;
 	}
 	
 	public ParserRule getChoicePointRule() {
@@ -2163,7 +2201,7 @@
 	//Transition:
 	//	InitialTransition | NonInitialTransition;
 	public TransitionElements getTransitionAccess() {
-		return (pTransition != null) ? pTransition : (pTransition = new TransitionElements());
+		return pTransition;
 	}
 	
 	public ParserRule getTransitionRule() {
@@ -2173,7 +2211,7 @@
 	//NonInitialTransition:
 	//	TransitionChainStartTransition | ContinuationTransition | CPBranchTransition;
 	public NonInitialTransitionElements getNonInitialTransitionAccess() {
-		return (pNonInitialTransition != null) ? pNonInitialTransition : (pNonInitialTransition = new NonInitialTransitionElements());
+		return pNonInitialTransition;
 	}
 	
 	public ParserRule getNonInitialTransitionRule() {
@@ -2183,7 +2221,7 @@
 	//TransitionChainStartTransition:
 	//	TriggeredTransition | GuardedTransition;
 	public TransitionChainStartTransitionElements getTransitionChainStartTransitionAccess() {
-		return (pTransitionChainStartTransition != null) ? pTransitionChainStartTransition : (pTransitionChainStartTransition = new TransitionChainStartTransitionElements());
+		return pTransitionChainStartTransition;
 	}
 	
 	public ParserRule getTransitionChainStartTransitionRule() {
@@ -2194,7 +2232,7 @@
 	//	"Transition" name=ID? ":" "initial" "->" to=TransitionTerminal docu=Documentation? ("{" ("action" action=DetailCode)?
 	//	"}")?;
 	public InitialTransitionElements getInitialTransitionAccess() {
-		return (pInitialTransition != null) ? pInitialTransition : (pInitialTransition = new InitialTransitionElements());
+		return pInitialTransition;
 	}
 	
 	public ParserRule getInitialTransitionRule() {
@@ -2205,7 +2243,7 @@
 	//	"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal docu=Documentation? ("{" ("action"
 	//	action=DetailCode)? "}")?;
 	public ContinuationTransitionElements getContinuationTransitionAccess() {
-		return (pContinuationTransition != null) ? pContinuationTransition : (pContinuationTransition = new ContinuationTransitionElements());
+		return pContinuationTransition;
 	}
 	
 	public ParserRule getContinuationTransitionRule() {
@@ -2216,7 +2254,7 @@
 	//	"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal docu=Documentation? "{" "triggers" "{"
 	//	triggers+=Trigger ("or" triggers+=Trigger)* "}" ("action" action=DetailCode)? "}";
 	public TriggeredTransitionElements getTriggeredTransitionAccess() {
-		return (pTriggeredTransition != null) ? pTriggeredTransition : (pTriggeredTransition = new TriggeredTransitionElements());
+		return pTriggeredTransition;
 	}
 	
 	public ParserRule getTriggeredTransitionRule() {
@@ -2227,7 +2265,7 @@
 	//	"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal docu=Documentation? "{" "guard"
 	//	guard=DetailCode ("action" action=DetailCode)? "}";
 	public GuardedTransitionElements getGuardedTransitionAccess() {
-		return (pGuardedTransition != null) ? pGuardedTransition : (pGuardedTransition = new GuardedTransitionElements());
+		return pGuardedTransition;
 	}
 	
 	public ParserRule getGuardedTransitionRule() {
@@ -2238,7 +2276,7 @@
 	//	"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal docu=Documentation? "{" "cond"
 	//	condition=DetailCode ("action" action=DetailCode)? "}";
 	public CPBranchTransitionElements getCPBranchTransitionAccess() {
-		return (pCPBranchTransition != null) ? pCPBranchTransition : (pCPBranchTransition = new CPBranchTransitionElements());
+		return pCPBranchTransition;
 	}
 	
 	public ParserRule getCPBranchTransitionRule() {
@@ -2249,7 +2287,7 @@
 	//RefinedTransition:
 	//	"RefinedTransition" target=[Transition|FQN] docu=Documentation? "{" "action" action=DetailCode "}";
 	public RefinedTransitionElements getRefinedTransitionAccess() {
-		return (pRefinedTransition != null) ? pRefinedTransition : (pRefinedTransition = new RefinedTransitionElements());
+		return pRefinedTransition;
 	}
 	
 	public ParserRule getRefinedTransitionRule() {
@@ -2262,7 +2300,7 @@
 	//TransitionTerminal:
 	//	StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal;
 	public TransitionTerminalElements getTransitionTerminalAccess() {
-		return (pTransitionTerminal != null) ? pTransitionTerminal : (pTransitionTerminal = new TransitionTerminalElements());
+		return pTransitionTerminal;
 	}
 	
 	public ParserRule getTransitionTerminalRule() {
@@ -2272,7 +2310,7 @@
 	//StateTerminal:
 	//	state=[State];
 	public StateTerminalElements getStateTerminalAccess() {
-		return (pStateTerminal != null) ? pStateTerminal : (pStateTerminal = new StateTerminalElements());
+		return pStateTerminal;
 	}
 	
 	public ParserRule getStateTerminalRule() {
@@ -2282,7 +2320,7 @@
 	//TrPointTerminal:
 	//	"my" trPoint=[TrPoint];
 	public TrPointTerminalElements getTrPointTerminalAccess() {
-		return (pTrPointTerminal != null) ? pTrPointTerminal : (pTrPointTerminal = new TrPointTerminalElements());
+		return pTrPointTerminal;
 	}
 	
 	public ParserRule getTrPointTerminalRule() {
@@ -2292,7 +2330,7 @@
 	//SubStateTrPointTerminal:
 	//	trPoint=[TrPoint] "of" state=[State];
 	public SubStateTrPointTerminalElements getSubStateTrPointTerminalAccess() {
-		return (pSubStateTrPointTerminal != null) ? pSubStateTrPointTerminal : (pSubStateTrPointTerminal = new SubStateTrPointTerminalElements());
+		return pSubStateTrPointTerminal;
 	}
 	
 	public ParserRule getSubStateTrPointTerminalRule() {
@@ -2302,7 +2340,7 @@
 	//ChoicepointTerminal:
 	//	"cp" cp=[ChoicePoint];
 	public ChoicepointTerminalElements getChoicepointTerminalAccess() {
-		return (pChoicepointTerminal != null) ? pChoicepointTerminal : (pChoicepointTerminal = new ChoicepointTerminalElements());
+		return pChoicepointTerminal;
 	}
 	
 	public ParserRule getChoicepointTerminalRule() {
@@ -2315,7 +2353,7 @@
 	//Trigger:
 	//	"<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">";
 	public TriggerElements getTriggerAccess() {
-		return (pTrigger != null) ? pTrigger : (pTrigger = new TriggerElements());
+		return pTrigger;
 	}
 	
 	public ParserRule getTriggerRule() {
@@ -2328,7 +2366,7 @@
 	//MessageFromIf:
 	//	message=[ecore::EObject] ":" from=[AbstractInterfaceItem];
 	public MessageFromIfElements getMessageFromIfAccess() {
-		return (pMessageFromIf != null) ? pMessageFromIf : (pMessageFromIf = new MessageFromIfElements());
+		return pMessageFromIf;
 	}
 	
 	public ParserRule getMessageFromIfRule() {
@@ -2339,7 +2377,7 @@
 	//AbstractInterfaceItem:
 	//	name=ID;
 	public AbstractInterfaceItemElements getAbstractInterfaceItemAccess() {
-		return (pAbstractInterfaceItem != null) ? pAbstractInterfaceItem : (pAbstractInterfaceItem = new AbstractInterfaceItemElements());
+		return pAbstractInterfaceItem;
 	}
 	
 	public ParserRule getAbstractInterfaceItemRule() {
@@ -2349,7 +2387,7 @@
 	//Guard:
 	//	"guard" guard=DetailCode;
 	public GuardElements getGuardAccess() {
-		return (pGuard != null) ? pGuard : (pGuard = new GuardElements());
+		return pGuard;
 	}
 	
 	public ParserRule getGuardRule() {
@@ -2362,7 +2400,7 @@
 	//ProtocolSemantics:
 	//	{ProtocolSemantics} "semantics" "{" rules+=SemanticsRule* "}";
 	public ProtocolSemanticsElements getProtocolSemanticsAccess() {
-		return (pProtocolSemantics != null) ? pProtocolSemantics : (pProtocolSemantics = new ProtocolSemanticsElements());
+		return pProtocolSemantics;
 	}
 	
 	public ParserRule getProtocolSemanticsRule() {
@@ -2372,7 +2410,7 @@
 	//SemanticsRule:
 	//	InSemanticsRule | OutSemanticsRule;
 	public SemanticsRuleElements getSemanticsRuleAccess() {
-		return (pSemanticsRule != null) ? pSemanticsRule : (pSemanticsRule = new SemanticsRuleElements());
+		return pSemanticsRule;
 	}
 	
 	public ParserRule getSemanticsRuleRule() {
@@ -2383,7 +2421,7 @@
 	//	"in" ":" msg=[ecore::EObject] ("->" (followUps+=SemanticsRule | "(" followUps+=SemanticsRule (","
 	//	followUps+=SemanticsRule)+ ")"))?;
 	public InSemanticsRuleElements getInSemanticsRuleAccess() {
-		return (pInSemanticsRule != null) ? pInSemanticsRule : (pInSemanticsRule = new InSemanticsRuleElements());
+		return pInSemanticsRule;
 	}
 	
 	public ParserRule getInSemanticsRuleRule() {
@@ -2394,7 +2432,7 @@
 	//	"out" ":" msg=[ecore::EObject] ("->" (followUps+=SemanticsRule | "(" followUps+=SemanticsRule (","
 	//	followUps+=SemanticsRule)+ ")"))?;
 	public OutSemanticsRuleElements getOutSemanticsRuleAccess() {
-		return (pOutSemanticsRule != null) ? pOutSemanticsRule : (pOutSemanticsRule = new OutSemanticsRuleElements());
+		return pOutSemanticsRule;
 	}
 	
 	public ParserRule getOutSemanticsRuleRule() {
@@ -2630,7 +2668,7 @@
 	}
 
 	//Integer returns ecore::ELong:
-	//	SignedInteger | Hexadecimal;
+	//	("+" | "-")? INT | HEX;
 	public BaseGrammarAccess.IntegerElements getIntegerAccess() {
 		return gaBase.getIntegerAccess();
 	}
@@ -2639,28 +2677,8 @@
 		return getIntegerAccess().getRule();
 	}
 
-	//SignedInteger hidden():
-	//	("+" | "-")? INT;
-	public BaseGrammarAccess.SignedIntegerElements getSignedIntegerAccess() {
-		return gaBase.getSignedIntegerAccess();
-	}
-	
-	public ParserRule getSignedIntegerRule() {
-		return getSignedIntegerAccess().getRule();
-	}
-
-	//Hexadecimal hidden():
-	//	HEX;
-	public BaseGrammarAccess.HexadecimalElements getHexadecimalAccess() {
-		return gaBase.getHexadecimalAccess();
-	}
-	
-	public ParserRule getHexadecimalRule() {
-		return getHexadecimalAccess().getRule();
-	}
-
 	//Real returns ecore::EDouble:
-	//	Decimal | DotDecimal | DecimalDot | DecimalExp;
+	//	Decimal | / *DotDecimal | DecimalDot |* / DecimalExp;
 	public BaseGrammarAccess.RealElements getRealAccess() {
 		return gaBase.getRealAccess();
 	}
@@ -2679,28 +2697,13 @@
 		return getDecimalAccess().getRule();
 	}
 
-	//DotDecimal hidden():
-	//	("+" | "-")? "." INT;
-	public BaseGrammarAccess.DotDecimalElements getDotDecimalAccess() {
-		return gaBase.getDotDecimalAccess();
-	}
-	
-	public ParserRule getDotDecimalRule() {
-		return getDotDecimalAccess().getRule();
-	}
-
-	//DecimalDot hidden():
-	//	("+" | "-")? INT ".";
-	public BaseGrammarAccess.DecimalDotElements getDecimalDotAccess() {
-		return gaBase.getDecimalDotAccess();
-	}
-	
-	public ParserRule getDecimalDotRule() {
-		return getDecimalDotAccess().getRule();
-	}
-
+	////DotDecimal hidden():
+	////	('+' | '-')? '.' INT;
+	////
+	////DecimalDot hidden():
+	////	('+' | '-')? INT '.';
 	//DecimalExp hidden():
-	//	("+" | "-")? INT "." INT EXP;
+	//	("+" | "-")? INT "." INT ("e" | "E") ("+" | "-")? INT;
 	public BaseGrammarAccess.DecimalExpElements getDecimalExpAccess() {
 		return gaBase.getDecimalExpAccess();
 	}
@@ -2709,18 +2712,6 @@
 		return getDecimalExpAccess().getRule();
 	}
 
-	//terminal EXP:
-	//	("e" | "E") ("+" | "-")? "0".."9"+;
-	public TerminalRule getEXPRule() {
-		return gaBase.getEXPRule();
-	} 
-
-	//terminal HEX:
-	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
-	public TerminalRule getHEXRule() {
-		return gaBase.getHEXRule();
-	} 
-
 	//FQN:
 	//	ID ("." ID)*;
 	public BaseGrammarAccess.FQNElements getFQNAccess() {
@@ -2731,6 +2722,12 @@
 		return getFQNAccess().getRule();
 	}
 
+	//terminal HEX:
+	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
+	public TerminalRule getHEXRule() {
+		return gaBase.getHEXRule();
+	} 
+
 	//terminal ID:
 	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
 	public TerminalRule getIDRule() {
@@ -2744,8 +2741,8 @@
 	} 
 
 	//terminal STRING:
-	//	"\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" |
-	//	"n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
+	//	"\"" ("\\" . / * 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' * / | !("\\" | "\""))* "\"" | "\'" ("\\" .
+	//	/ * 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' * / | !("\\" | "\'"))* "\'";
 	public TerminalRule getSTRINGRule() {
 		return gaBase.getSTRINGRule();
 	} 
diff --git a/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/formatting/FSMFormatter.java b/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/formatting/FSMFormatter.java
index afd952b..f2ff9c3 100644
--- a/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/formatting/FSMFormatter.java
+++ b/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/formatting/FSMFormatter.java
@@ -16,6 +16,7 @@
  */
 @SuppressWarnings("all")
 public class FSMFormatter extends AbstractDeclarativeFormatter {
+  @Override
   protected void configureFormatting(final FormattingConfig c) {
   }
 }
diff --git a/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/generator/FSMGenerator.java b/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/generator/FSMGenerator.java
index a1d9f2f..5c2dbb9 100644
--- a/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/generator/FSMGenerator.java
+++ b/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/generator/FSMGenerator.java
@@ -14,6 +14,7 @@
  */
 @SuppressWarnings("all")
 public class FSMGenerator implements IGenerator {
+  @Override
   public void doGenerate(final Resource resource, final IFileSystemAccess fsa) {
   }
 }
diff --git a/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/scoping/FSMScopeProvider.java b/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/scoping/FSMScopeProvider.java
index ea1e9d6..fe82365 100644
--- a/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/scoping/FSMScopeProvider.java
+++ b/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/scoping/FSMScopeProvider.java
@@ -160,27 +160,17 @@
     if ((_eContainer instanceof ModelComponent)) {
       EObject _eContainer_1 = sg.eContainer();
       ModelComponent comp = ((ModelComponent) _eContainer_1);
-      boolean _and = false;
-      ModelComponent _base = comp.getBase();
-      boolean _notEquals = (!Objects.equal(_base, null));
-      if (!_notEquals) {
-        _and = false;
-      } else {
-        boolean _isCircularClassHierarchy = this._fSMHelpers.isCircularClassHierarchy(comp);
-        boolean _not = (!_isCircularClassHierarchy);
-        _and = _not;
-      }
-      if (_and) {
-        ModelComponent _base_1 = comp.getBase();
-        comp = _base_1;
+      if (((!Objects.equal(comp.getBase(), null)) && (!this._fSMHelpers.isCircularClassHierarchy(comp)))) {
+        ModelComponent _base = comp.getBase();
+        comp = _base;
         final HashSet<State> covered = CollectionLiterals.<State>newHashSet();
         final ArrayList<State> states = CollectionLiterals.<State>newArrayList();
         while ((!Objects.equal(comp, null))) {
           {
             StateGraph _stateMachine = comp.getStateMachine();
             this.recursivelyAddStates(_stateMachine, covered, states);
-            ModelComponent _base_2 = comp.getBase();
-            comp = _base_2;
+            ModelComponent _base_1 = comp.getBase();
+            comp = _base_1;
           }
         }
         for (final State s : states) {
@@ -196,8 +186,8 @@
         State _target = ((RefinedState) _eContainer_3).getTarget();
         StateGraph _subgraph = _target.getSubgraph();
         sg = _subgraph;
-        boolean _notEquals_1 = (!Objects.equal(sg, null));
-        if (_notEquals_1) {
+        boolean _notEquals = (!Objects.equal(sg, null));
+        if (_notEquals) {
           EList<State> _states = sg.getStates();
           for (final State s_1 : _states) {
             String _name = s_1.getName();
@@ -263,26 +253,10 @@
   private void recursivelyAddStates(final StateGraph sg, final HashSet<State> covered, final ArrayList<State> states) {
     EList<State> _states = sg.getStates();
     for (final State s : _states) {
-      boolean _and = false;
-      if (!(s instanceof SimpleState)) {
-        _and = false;
-      } else {
-        boolean _contains = covered.contains(s);
-        boolean _not = (!_contains);
-        _and = _not;
-      }
-      if (_and) {
+      if (((s instanceof SimpleState) && (!covered.contains(s)))) {
         states.add(s);
       } else {
-        boolean _and_1 = false;
-        if (!(s instanceof RefinedState)) {
-          _and_1 = false;
-        } else {
-          boolean _contains_1 = covered.contains(s);
-          boolean _not_1 = (!_contains_1);
-          _and_1 = _not_1;
-        }
-        if (_and_1) {
+        if (((s instanceof RefinedState) && (!covered.contains(s)))) {
           states.add(s);
           State _target = ((RefinedState) s).getTarget();
           covered.add(_target);
diff --git a/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/validation/FSMValidationUtilXtend.java b/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/validation/FSMValidationUtilXtend.java
index 58ffe98..aff4dbc 100644
--- a/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/validation/FSMValidationUtilXtend.java
+++ b/plugins/org.eclipse.etrice.core.fsm/xtend-gen/org/eclipse/etrice/core/fsm/validation/FSMValidationUtilXtend.java
@@ -25,7 +25,6 @@
 import org.eclipse.etrice.core.fsm.fSM.StateGraph;
 import org.eclipse.etrice.core.fsm.fSM.StateTerminal;
 import org.eclipse.etrice.core.fsm.fSM.Transition;
-import org.eclipse.etrice.core.fsm.fSM.TransitionTerminal;
 import org.eclipse.etrice.core.fsm.fSM.Trigger;
 import org.eclipse.etrice.core.fsm.fSM.TriggeredTransition;
 import org.eclipse.etrice.core.fsm.naming.FSMNameProvider;
@@ -102,23 +101,16 @@
     final ArrayList<FSMValidationUtilXtend.Result> result = CollectionLiterals.<FSMValidationUtilXtend.Result>newArrayList();
     EList<Transition> _transitions = parent.getTransitions();
     final Function1<Transition, Boolean> _function = new Function1<Transition, Boolean>() {
+      @Override
       public Boolean apply(final Transition t) {
-        boolean _and = false;
-        if (!((t instanceof TriggeredTransition) && (((TriggeredTransition) t).getFrom() instanceof StateTerminal))) {
-          _and = false;
-        } else {
-          TransitionTerminal _from = ((TriggeredTransition) t).getFrom();
-          State _state = ((StateTerminal) _from).getState();
-          boolean _equals = Objects.equal(myState, _state);
-          _and = _equals;
-        }
-        return Boolean.valueOf(_and);
+        return Boolean.valueOf((((t instanceof TriggeredTransition) && (((TriggeredTransition) t).getFrom() instanceof StateTerminal)) && Objects.equal(myState, ((StateTerminal) ((TriggeredTransition) t).getFrom()).getState())));
       }
     };
     Iterable<Transition> _filter = IterableExtensions.<Transition>filter(_transitions, _function);
     for (final Transition t : _filter) {
       EList<Trigger> _triggers = ((TriggeredTransition) t).getTriggers();
       final Function1<Trigger, Boolean> _function_1 = new Function1<Trigger, Boolean>() {
+        @Override
         public Boolean apply(final Trigger k) {
           Guard _guard = k.getGuard();
           return Boolean.valueOf(Objects.equal(_guard, null));
diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.genmodel.fsm/META-INF/MANIFEST.MF
index 6b292cb..7bc0746 100644
--- a/plugins/org.eclipse.etrice.core.genmodel.fsm/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.etrice.core.genmodel.fsm;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Require-Bundle: org.eclipse.etrice.core.common;visibility:=reexport,
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1";visibility:=reexport,
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0";visibility:=reexport,
  org.eclipse.core.runtime,
  org.eclipse.emf.ecore;visibility:=reexport,
  org.eclipse.emf.ecore.xmi;visibility:=reexport
diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/pom.xml b/plugins/org.eclipse.etrice.core.genmodel.fsm/pom.xml
index 31a8f2d..5c02923 100644
--- a/plugins/org.eclipse.etrice.core.genmodel.fsm/pom.xml
+++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/ExpandedModelComponentImpl.java b/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/ExpandedModelComponentImpl.java
index 1bf543e..5d60c3b 100644
--- a/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/ExpandedModelComponentImpl.java
+++ b/plugins/org.eclipse.etrice.core.genmodel.fsm/src/org/eclipse/etrice/core/genmodel/fsm/fsmgen/impl/ExpandedModelComponentImpl.java
@@ -31,6 +31,7 @@
 import org.eclipse.emf.ecore.InternalEObject;
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.EcoreUtil.Copier;
 import org.eclipse.emf.ecore.util.InternalEList;
 import org.eclipse.etrice.core.fsm.fSM.AbstractInterfaceItem;
@@ -209,7 +210,6 @@
 	private HashMap<StateGraphNode, NodeData> node2data = null;
 	private HashMap<State, LinkedList<ActiveTrigger>> state2triggers = null;
 	private HashMap<String, MessageFromIf> triggerstring2mif = null;
-	private LinkedList<TransitionChain> trchains = null;
 	private TransitionToChainBundleMap trans2chainBundle = null;
 	private HashMap<EObject, EObject> copy2orig = null;
 	private HashMap<EObject, EObject> orig2copy = null;
@@ -838,7 +838,6 @@
 		node2data = new HashMap<StateGraphNode, NodeData>();
 		state2triggers = new HashMap<State, LinkedList<ActiveTrigger>>();
 		triggerstring2mif = new HashMap<String, MessageFromIf>();
-		trchains = new LinkedList<TransitionChain>();
 		trans2chainBundle = new TransitionToChainBundleMap();
 		copy2orig = new HashMap<EObject, EObject>();
 		orig2copy = new HashMap<EObject, EObject>();
@@ -898,7 +897,6 @@
 		node2data = null;
 		state2triggers = null;
 		triggerstring2mif = null;
-		trchains = null;
 		trans2chainBundle = null;
 		copy2orig = null;
 	}
@@ -1156,7 +1154,7 @@
 		
 		collectChainTransitions(tc, t);
 		
-		trchains.add(tc);
+		getTransitionChains().add(tc);
 		
 		return tc;
 	}
@@ -1164,10 +1162,13 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated NOT
+	 * @generated
 	 */
 	public EList<TransitionChain> getTransitionChains() {
-		return new BasicEList<TransitionChain>(trchains);
+		if (transitionChains == null) {
+			transitionChains = new EObjectContainmentEList<TransitionChain>(TransitionChain.class, this, FsmGenPackage.EXPANDED_MODEL_COMPONENT__TRANSITION_CHAINS);
+		}
+		return transitionChains;
 	}
 
 	/**
@@ -1178,7 +1179,7 @@
 	public EList<TransitionChain> getOwnTransitionChains() {
 		BasicEList<TransitionChain> result = new BasicEList<TransitionChain>();
 		
-		for (TransitionChain tc : trchains) {
+		for (TransitionChain tc : getTransitionChains()) {
 			if (!targetsOfRefinedTransitions.contains(tc.getTransition()) && isOwnObject(tc.getTransition()))
 				result.add(tc);
 		}
@@ -1213,12 +1214,19 @@
 		return getModelComponent().getAllAbstractInterfaceItems();
 	}
 
+	/*
+	 * In case of an abstract class we can have a transition to an EntryPoint
+	 * which is not connected inside its state.
+	 * For the TransitionChain handling during generation we need to replace
+	 * this terminal with a state terminal as if it where it a transition
+	 * to history.
+	 */
 	private StateGraphNode getAdjustedTargetNode(Transition t) {
 		StateGraphNode node = fsmHelpers.getNode(t.getTo());
 		if (node instanceof EntryPoint) {
-			NodeData data = node2data.get(node);
-			if (data==null || data.getOutTrans().isEmpty()) {
-				if (getModelComponent(node).isAbstract()) {
+			if (getModelComponent(node).isAbstract()) {
+				NodeData data = node2data.get(node);
+				if (data==null || data.getOutTrans().isEmpty()) {
 					if (node.eContainer().eContainer() instanceof State) {
 						// in this case 
 						State newTarget = (State) node.eContainer().eContainer();
diff --git a/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
index c45439e..0f97fcf 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.genmodel/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.etrice.core.genmodel;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse eTrice
 Bundle-Localization: plugin
@@ -13,10 +13,10 @@
  org.eclipse.etrice.core.genmodel.etricegen.impl,
  org.eclipse.etrice.core.genmodel.etricegen.util,
  org.eclipse.etrice.core.genmodel.util
-Require-Bundle: org.eclipse.etrice.core.common;visibility:=reexport,
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1";visibility:=reexport,
- org.eclipse.etrice.core.room;bundle-version="1.0.1";visibility:=reexport,
- org.eclipse.etrice.core.genmodel.fsm;bundle-version="1.0.1";visibility:=reexport,
+Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.etrice.core.room;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.etrice.core.genmodel.fsm;bundle-version="1.1.0";visibility:=reexport,
  org.eclipse.core.runtime,
  org.eclipse.emf.ecore;visibility:=reexport,
  org.eclipse.emf.ecore.xmi;visibility:=reexport
diff --git a/plugins/org.eclipse.etrice.core.genmodel/pom.xml b/plugins/org.eclipse.etrice.core.genmodel/pom.xml
index 3870adc..c1bce5b 100644
--- a/plugins/org.eclipse.etrice.core.genmodel/pom.xml
+++ b/plugins/org.eclipse.etrice.core.genmodel/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF
index da2e3e6..9159c91 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.room.ui/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ROOM DSL UI
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.room.ui;singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.fsm.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.common.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1";visibility:=reexport,
- org.eclipse.etrice.core.genmodel;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common.base;bundle-version="1.0.1",
- org.eclipse.etrice.doc;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.fsm.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.common.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0";visibility:=reexport,
+ org.eclipse.etrice.core.genmodel;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common.base;bundle-version="1.1.0",
+ org.eclipse.etrice.doc;bundle-version="1.1.0",
  org.eclipse.ui;bundle-version="3.6.0",
  org.eclipse.ui.editors;bundle-version="3.5.0",
  org.eclipse.ui.ide;bundle-version="3.5.0",
diff --git a/plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch b/plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch
index a4adb96..6370453 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch
+++ b/plugins/org.eclipse.etrice.core.room.ui/eTrice-rt.launch
@@ -17,7 +17,7 @@
 <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
 <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
 </listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -XX:MaxPermSize=256m -ea"/>
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/RoomParser.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/RoomParser.java
index ddd8435..102d767 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/RoomParser.java
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/RoomParser.java
@@ -85,12 +85,12 @@
 					put(grammarAccess.getBooleanLiteralAccess().getAlternatives_1(), "rule__BooleanLiteral__Alternatives_1");
 					put(grammarAccess.getNumberLiteralAccess().getAlternatives(), "rule__NumberLiteral__Alternatives");
 					put(grammarAccess.getIntegerAccess().getAlternatives(), "rule__Integer__Alternatives");
-					put(grammarAccess.getSignedIntegerAccess().getAlternatives_0(), "rule__SignedInteger__Alternatives_0");
+					put(grammarAccess.getIntegerAccess().getAlternatives_0_0(), "rule__Integer__Alternatives_0_0");
 					put(grammarAccess.getRealAccess().getAlternatives(), "rule__Real__Alternatives");
 					put(grammarAccess.getDecimalAccess().getAlternatives_0(), "rule__Decimal__Alternatives_0");
-					put(grammarAccess.getDotDecimalAccess().getAlternatives_0(), "rule__DotDecimal__Alternatives_0");
-					put(grammarAccess.getDecimalDotAccess().getAlternatives_0(), "rule__DecimalDot__Alternatives_0");
 					put(grammarAccess.getDecimalExpAccess().getAlternatives_0(), "rule__DecimalExp__Alternatives_0");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_4(), "rule__DecimalExp__Alternatives_4");
+					put(grammarAccess.getDecimalExpAccess().getAlternatives_5(), "rule__DecimalExp__Alternatives_5");
 					put(grammarAccess.getCommunicationTypeAccess().getAlternatives(), "rule__CommunicationType__Alternatives");
 					put(grammarAccess.getReferenceTypeAccess().getAlternatives(), "rule__ReferenceType__Alternatives");
 					put(grammarAccess.getRoomAnnotationTargetEnumAccess().getAlternatives(), "rule__RoomAnnotationTargetEnum__Alternatives");
@@ -251,10 +251,8 @@
 					put(grammarAccess.getRealLiteralAccess().getGroup(), "rule__RealLiteral__Group__0");
 					put(grammarAccess.getIntLiteralAccess().getGroup(), "rule__IntLiteral__Group__0");
 					put(grammarAccess.getStringLiteralAccess().getGroup(), "rule__StringLiteral__Group__0");
-					put(grammarAccess.getSignedIntegerAccess().getGroup(), "rule__SignedInteger__Group__0");
+					put(grammarAccess.getIntegerAccess().getGroup_0(), "rule__Integer__Group_0__0");
 					put(grammarAccess.getDecimalAccess().getGroup(), "rule__Decimal__Group__0");
-					put(grammarAccess.getDotDecimalAccess().getGroup(), "rule__DotDecimal__Group__0");
-					put(grammarAccess.getDecimalDotAccess().getGroup(), "rule__DecimalDot__Group__0");
 					put(grammarAccess.getDecimalExpAccess().getGroup(), "rule__DecimalExp__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup(), "rule__FQN__Group__0");
 					put(grammarAccess.getFQNAccess().getGroup_1(), "rule__FQN__Group_1__0");
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g
index 3663620..2ab0e08 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g
@@ -2844,78 +2844,6 @@
 
 
 
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getSignedIntegerRule()); }
-	 ruleSignedInteger
-{ after(grammarAccess.getSignedIntegerRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getSignedIntegerAccess().getGroup()); }
-(rule__SignedInteger__Group__0)
-{ after(grammarAccess.getSignedIntegerAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getHexadecimalRule()); }
-	 ruleHexadecimal
-{ after(grammarAccess.getHexadecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-	RULE_HEX
-{ after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleReal
 entryRuleReal 
 :
@@ -2980,78 +2908,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDotDecimalRule()); }
-	 ruleDotDecimal
-{ after(grammarAccess.getDotDecimalRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDotDecimalAccess().getGroup()); }
-(rule__DotDecimal__Group__0)
-{ after(grammarAccess.getDotDecimalAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot 
-@init {
-	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-}
-:
-{ before(grammarAccess.getDecimalDotRule()); }
-	 ruleDecimalDot
-{ after(grammarAccess.getDecimalDotRule()); } 
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot
-    @init {
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-		int stackSize = keepStackSize();
-    }
-	:
-(
-{ before(grammarAccess.getDecimalDotAccess().getGroup()); }
-(rule__DecimalDot__Group__0)
-{ after(grammarAccess.getDecimalDotAccess().getGroup()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-	myHiddenTokenState.restore();
-}
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp 
 @init {
@@ -4402,15 +4258,15 @@
     }
 :
 (
-{ before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
-	ruleSignedInteger
-{ after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); }
+{ before(grammarAccess.getIntegerAccess().getGroup_0()); }
+(rule__Integer__Group_0__0)
+{ after(grammarAccess.getIntegerAccess().getGroup_0()); }
 )
 
     |(
-{ before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
-	ruleHexadecimal
-{ after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
+	RULE_HEX
+{ after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); }
 )
 
 ;
@@ -4418,25 +4274,25 @@
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Alternatives_0
+rule__Integer__Alternatives_0_0
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 
 	'+' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); }
+{ after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); }
 )
 
     |(
-{ before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 
 	'-' 
 
-{ after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); }
+{ after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); }
 )
 
 ;
@@ -4456,21 +4312,9 @@
 )
 
     |(
-{ before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-	ruleDotDecimal
-{ after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-	ruleDecimalDot
-{ after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); }
-)
-
-    |(
-{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 	ruleDecimalExp
-{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); }
+{ after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); }
 )
 
 ;
@@ -4504,58 +4348,6 @@
 	restoreStackSize(stackSize);
 }
 
-rule__DotDecimal__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Alternatives_0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-
-	'+' 
-
-{ after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); }
-)
-
-    |(
-{ before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-
-	'-' 
-
-{ after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
 rule__DecimalExp__Alternatives_0
     @init {
 		int stackSize = keepStackSize();
@@ -4582,6 +4374,58 @@
 	restoreStackSize(stackSize);
 }
 
+rule__DecimalExp__Alternatives_4
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+
+	'e' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+
+	'E' 
+
+{ after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Alternatives_5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+
+	'+' 
+
+{ after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); }
+)
+
+    |(
+{ before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+
+	'-' 
+
+{ after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
 rule__CommunicationType__Alternatives
     @init {
 		int stackSize = keepStackSize();
@@ -22734,27 +22578,27 @@
 
 
 
-rule__SignedInteger__Group__0
+rule__Integer__Group_0__0
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__0__Impl
-	rule__SignedInteger__Group__1
+	rule__Integer__Group_0__0__Impl
+	rule__Integer__Group_0__1
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__0__Impl
+rule__Integer__Group_0__0__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
-(rule__SignedInteger__Alternatives_0)?
-{ after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); }
+{ before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
+(rule__Integer__Alternatives_0_0)?
+{ after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); }
 )
 
 ;
@@ -22763,26 +22607,26 @@
 }
 
 
-rule__SignedInteger__Group__1
+rule__Integer__Group_0__1
     @init {
 		int stackSize = keepStackSize();
     }
 :
-	rule__SignedInteger__Group__1__Impl
+	rule__Integer__Group_0__1__Impl
 ;
 finally {
 	restoreStackSize(stackSize);
 }
 
-rule__SignedInteger__Group__1__Impl
+rule__Integer__Group_0__1__Impl
     @init {
 		int stackSize = keepStackSize();
     }
 :
 (
-{ before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 	RULE_INT
-{ after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); }
+{ after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); }
 )
 
 ;
@@ -22920,194 +22764,6 @@
 
 
 
-rule__DotDecimal__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__0__Impl
-	rule__DotDecimal__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-(rule__DotDecimal__Alternatives_0)?
-{ after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__1__Impl
-	rule__DotDecimal__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-
-	'.' 
-
-{ after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DotDecimal__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DotDecimal__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DotDecimal__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-	RULE_INT
-{ after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
-rule__DecimalDot__Group__0
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__0__Impl
-	rule__DecimalDot__Group__1
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__0__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-(rule__DecimalDot__Alternatives_0)?
-{ after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__1
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__1__Impl
-	rule__DecimalDot__Group__2
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__1__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-	RULE_INT
-{ after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-rule__DecimalDot__Group__2
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-	rule__DecimalDot__Group__2__Impl
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-rule__DecimalDot__Group__2__Impl
-    @init {
-		int stackSize = keepStackSize();
-    }
-:
-(
-{ before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-
-	'.' 
-
-{ after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); }
-)
-
-;
-finally {
-	restoreStackSize(stackSize);
-}
-
-
-
-
-
-
-
-
 rule__DecimalExp__Group__0
     @init {
 		int stackSize = keepStackSize();
@@ -23232,6 +22888,7 @@
     }
 :
 	rule__DecimalExp__Group__4__Impl
+	rule__DecimalExp__Group__5
 ;
 finally {
 	restoreStackSize(stackSize);
@@ -23243,9 +22900,9 @@
     }
 :
 (
-{ before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
-	RULE_EXP
-{ after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); }
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
+(rule__DecimalExp__Alternatives_4)
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); }
 )
 
 ;
@@ -23254,6 +22911,67 @@
 }
 
 
+rule__DecimalExp__Group__5
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__5__Impl
+	rule__DecimalExp__Group__6
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__5__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+(rule__DecimalExp__Alternatives_5)?
+{ after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+rule__DecimalExp__Group__6
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+	rule__DecimalExp__Group__6__Impl
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+rule__DecimalExp__Group__6__Impl
+    @init {
+		int stackSize = keepStackSize();
+    }
+:
+(
+{ before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+	RULE_INT
+{ after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); }
+)
+
+;
+finally {
+	restoreStackSize(stackSize);
+}
+
+
+
+
+
+
 
 
 
@@ -27959,8 +27677,6 @@
 }
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.tokens b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.tokens
index 5b54b12..0dabc6e 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.tokens
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.tokens
@@ -1,130 +1,131 @@
-'('=46
-')'=47
-'*'=16
-'+'=27
-','=50
-'-'=28
-'->'=44
-'.'=85
-'.*'=125
-'/'=82
-':'=42
-'<'=113
-'='=51
-'>'=114
-'@'=119
-'ActorBehavior'=19
-'ActorClass'=18
-'ActorInstanceMapping'=81
-'ActorRef'=91
-'AnnotationType'=120
-'Attribute'=57
-'Behavior'=73
-'Binding'=83
-'ChoicePoint'=102
-'CompoundProtocolClass'=21
-'DataClass'=17
-'EntryPoint'=100
-'Enumeration'=48
-'ExitPoint'=101
-'ExternalType'=52
-'Interface'=71
-'LayerConnection'=87
-'LogicalSystem'=23
-'LogicalThread'=80
-'Message'=68
-'Operation'=60
-'Port'=74
-'PortClass'=65
-'PrimitiveType'=43
-'ProtocolClass'=20
-'RefinedState'=98
-'RefinedTransition'=110
-'RoomModel'=39
-'SAP'=76
-'SPP'=77
-'ServiceImplementation'=78
-'State'=93
-'StateMachine'=92
-'Structure'=72
-'SubProtocol'=67
-'SubSystemClass'=22
-'SubSystemRef'=79
-'Transition'=103
-'TransitionPoint'=99
-'['=58
-']'=59
-'abstract'=128
-'action'=105
-'and'=84
-'async'=34
-'attribute'=122
-'cond'=109
-'conjugated'=66
-'cp'=112
-'ctor'=14
-'datadriven'=30
-'default'=45
-'do'=96
-'dtor'=15
-'entry'=94
-'eventdriven'=29
-'exit'=95
-'extends'=53
-'external'=75
-'false'=26
-'fixed'=32
-'from'=124
-'guard'=108
-'handle'=70
-'handler'=129
-'import'=123
-'in'=117
-'incoming'=62
-'initial'=104
-'mandatory'=24
-'model'=25
-'my'=111
-'of'=49
-'optional'=33
-'or'=107
-'out'=118
-'outgoing'=63
-'override'=126
-'private'=127
-'ptBoolean'=35
-'ptCharacter'=38
-'ptInteger'=36
-'ptReal'=37
-'ref'=89
-'regular'=64
-'relay_sap'=90
-'satisfied_by'=88
-'semantics'=116
-'sends'=61
-'sub'=86
-'subgraph'=97
-'sync'=31
-'target'=121
-'triggers'=106
-'true'=130
-'usercode'=69
-'usercode1'=54
-'usercode2'=55
-'usercode3'=56
-'void'=13
-'{'=40
-'|'=115
-'}'=41
-RULE_ANY_OTHER=12
-RULE_EXP=6
-RULE_HEX=4
-RULE_ID=7
-RULE_INT=5
-RULE_ML_COMMENT=9
-RULE_SL_COMMENT=10
-RULE_STRING=8
-RULE_WS=11
+'('=47
+')'=48
+'*'=15
+'+'=26
+','=51
+'-'=27
+'->'=45
+'.'=86
+'.*'=126
+'/'=83
+':'=43
+'<'=114
+'='=52
+'>'=115
+'@'=120
+'ActorBehavior'=18
+'ActorClass'=17
+'ActorInstanceMapping'=82
+'ActorRef'=92
+'AnnotationType'=121
+'Attribute'=58
+'Behavior'=74
+'Binding'=84
+'ChoicePoint'=103
+'CompoundProtocolClass'=20
+'DataClass'=16
+'E'=29
+'EntryPoint'=101
+'Enumeration'=49
+'ExitPoint'=102
+'ExternalType'=53
+'Interface'=72
+'LayerConnection'=88
+'LogicalSystem'=22
+'LogicalThread'=81
+'Message'=69
+'Operation'=61
+'Port'=75
+'PortClass'=66
+'PrimitiveType'=44
+'ProtocolClass'=19
+'RefinedState'=99
+'RefinedTransition'=111
+'RoomModel'=40
+'SAP'=77
+'SPP'=78
+'ServiceImplementation'=79
+'State'=94
+'StateMachine'=93
+'Structure'=73
+'SubProtocol'=68
+'SubSystemClass'=21
+'SubSystemRef'=80
+'Transition'=104
+'TransitionPoint'=100
+'['=59
+']'=60
+'abstract'=129
+'action'=106
+'and'=85
+'async'=35
+'attribute'=123
+'cond'=110
+'conjugated'=67
+'cp'=113
+'ctor'=13
+'datadriven'=31
+'default'=46
+'do'=97
+'dtor'=14
+'e'=28
+'entry'=95
+'eventdriven'=30
+'exit'=96
+'extends'=54
+'external'=76
+'false'=25
+'fixed'=33
+'from'=125
+'guard'=109
+'handle'=71
+'handler'=130
+'import'=124
+'in'=118
+'incoming'=63
+'initial'=105
+'mandatory'=23
+'model'=24
+'my'=112
+'of'=50
+'optional'=34
+'or'=108
+'out'=119
+'outgoing'=64
+'override'=127
+'private'=128
+'ptBoolean'=36
+'ptCharacter'=39
+'ptInteger'=37
+'ptReal'=38
+'ref'=90
+'regular'=65
+'relay_sap'=91
+'satisfied_by'=89
+'semantics'=117
+'sends'=62
+'sub'=87
+'subgraph'=98
+'sync'=32
+'target'=122
+'triggers'=107
+'true'=131
+'usercode'=70
+'usercode1'=55
+'usercode2'=56
+'usercode3'=57
+'void'=12
+'{'=41
+'|'=116
+'}'=42
+RULE_ANY_OTHER=11
+RULE_HEX=5
+RULE_ID=6
+RULE_INT=4
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
+RULE_STRING=7
+RULE_WS=10
 T__100=100
 T__101=101
 T__102=102
@@ -155,7 +156,9 @@
 T__127=127
 T__128=128
 T__129=129
+T__12=12
 T__130=130
+T__131=131
 T__13=13
 T__14=14
 T__15=15
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomLexer.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomLexer.java
index 0da6b37..8e2d1b0 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomLexer.java
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomLexer.java
@@ -12,87 +12,9 @@
 
 @SuppressWarnings("all")
 public class InternalRoomLexer extends Lexer {
-    public static final int RULE_ID=7;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    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 RULE_HEX=4;
-    public static final int T__16=16;
-    public static final int T__90=90;
-    public static final int T__15=15;
-    public static final int T__18=18;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__99=99;
-    public static final int T__98=98;
-    public static final int T__97=97;
-    public static final int T__96=96;
-    public static final int T__95=95;
-    public static final int T__80=80;
-    public static final int T__81=81;
-    public static final int T__82=82;
-    public static final int T__83=83;
-    public static final int T__85=85;
-    public static final int T__84=84;
-    public static final int T__87=87;
-    public static final int T__86=86;
-    public static final int T__89=89;
-    public static final int T__88=88;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__126=126;
-    public static final int T__125=125;
-    public static final int T__128=128;
-    public static final int RULE_STRING=8;
-    public static final int T__127=127;
-    public static final int T__71=71;
-    public static final int T__129=129;
-    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__130=130;
-    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 RULE_EXP=6;
-    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__118=118;
-    public static final int T__119=119;
-    public static final int T__116=116;
-    public static final int T__117=117;
-    public static final int T__114=114;
-    public static final int T__115=115;
-    public static final int T__124=124;
-    public static final int T__123=123;
-    public static final int T__122=122;
-    public static final int T__121=121;
-    public static final int T__120=120;
-    public static final int T__61=61;
-    public static final int T__60=60;
+    public static final int RULE_HEX=5;
+    public static final int T__50=50;
+    public static final int T__59=59;
     public static final int T__55=55;
     public static final int T__56=56;
     public static final int T__57=57;
@@ -101,45 +23,124 @@
     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__107=107;
-    public static final int T__108=108;
-    public static final int T__109=109;
-    public static final int T__59=59;
-    public static final int T__103=103;
-    public static final int T__104=104;
-    public static final int T__105=105;
-    public static final int T__106=106;
-    public static final int T__111=111;
-    public static final int T__110=110;
-    public static final int T__113=113;
-    public static final int RULE_INT=5;
-    public static final int T__112=112;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int T__102=102;
-    public static final int T__101=101;
-    public static final int T__100=100;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=6;
+    public static final int T__131=131;
+    public static final int T__130=130;
+    public static final int RULE_INT=4;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__67=67;
+    public static final int T__129=129;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__126=126;
+    public static final int T__63=63;
+    public static final int T__125=125;
+    public static final int T__64=64;
+    public static final int T__128=128;
+    public static final int T__65=65;
+    public static final int T__127=127;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__91=91;
+    public static final int T__100=100;
+    public static final int T__92=92;
+    public static final int T__93=93;
+    public static final int T__102=102;
+    public static final int T__94=94;
+    public static final int T__101=101;
+    public static final int T__90=90;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__99=99;
+    public static final int T__12=12;
+    public static final int T__13=13;
+    public static final int T__14=14;
+    public static final int T__95=95;
+    public static final int T__96=96;
+    public static final int T__97=97;
+    public static final int T__98=98;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int T__122=122;
+    public static final int T__70=70;
+    public static final int T__121=121;
+    public static final int T__71=71;
+    public static final int T__124=124;
+    public static final int T__72=72;
+    public static final int T__123=123;
+    public static final int T__120=120;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__77=77;
+    public static final int T__119=119;
+    public static final int T__78=78;
+    public static final int T__118=118;
+    public static final int T__79=79;
+    public static final int T__73=73;
+    public static final int T__115=115;
+    public static final int EOF=-1;
+    public static final int T__74=74;
+    public static final int T__114=114;
+    public static final int T__75=75;
+    public static final int T__117=117;
+    public static final int T__76=76;
+    public static final int T__116=116;
+    public static final int T__80=80;
+    public static final int T__111=111;
+    public static final int T__81=81;
+    public static final int T__110=110;
+    public static final int T__82=82;
+    public static final int T__113=113;
+    public static final int T__83=83;
+    public static final int T__112=112;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__88=88;
+    public static final int T__108=108;
+    public static final int T__89=89;
+    public static final int T__107=107;
+    public static final int T__109=109;
+    public static final int T__84=84;
+    public static final int T__104=104;
+    public static final int T__85=85;
+    public static final int T__103=103;
+    public static final int T__86=86;
+    public static final int T__106=106;
+    public static final int T__87=87;
+    public static final int T__105=105;
 
     // delegates
     // delegators
@@ -154,10 +155,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11:7: ( 'void' )
             // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11:9: 'void'
@@ -173,6 +174,27 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12:7: ( 'ctor' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12:9: 'ctor'
+            {
+            match("ctor"); 
+
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -180,10 +202,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12:7: ( 'ctor' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12:9: 'ctor'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13:7: ( 'dtor' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13:9: 'dtor'
             {
-            match("ctor"); 
+            match("dtor"); 
 
 
             }
@@ -201,11 +223,10 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13:7: ( 'dtor' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13:9: 'dtor'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14:7: ( '*' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14:9: '*'
             {
-            match("dtor"); 
-
+            match('*'); 
 
             }
 
@@ -222,10 +243,11 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14:7: ( '*' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14:9: '*'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15:7: ( 'DataClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15:9: 'DataClass'
             {
-            match('*'); 
+            match("DataClass"); 
+
 
             }
 
@@ -242,10 +264,10 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15:7: ( 'DataClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15:9: 'DataClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16:7: ( 'ActorClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16:9: 'ActorClass'
             {
-            match("DataClass"); 
+            match("ActorClass"); 
 
 
             }
@@ -263,10 +285,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16:7: ( 'ActorClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16:9: 'ActorClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17:7: ( 'ActorBehavior' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17:9: 'ActorBehavior'
             {
-            match("ActorClass"); 
+            match("ActorBehavior"); 
 
 
             }
@@ -284,10 +306,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17:7: ( 'ActorBehavior' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17:9: 'ActorBehavior'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18:7: ( 'ProtocolClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18:9: 'ProtocolClass'
             {
-            match("ActorBehavior"); 
+            match("ProtocolClass"); 
 
 
             }
@@ -305,10 +327,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18:7: ( 'ProtocolClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18:9: 'ProtocolClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19:7: ( 'CompoundProtocolClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19:9: 'CompoundProtocolClass'
             {
-            match("ProtocolClass"); 
+            match("CompoundProtocolClass"); 
 
 
             }
@@ -326,10 +348,10 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19:7: ( 'CompoundProtocolClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19:9: 'CompoundProtocolClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20:7: ( 'SubSystemClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20:9: 'SubSystemClass'
             {
-            match("CompoundProtocolClass"); 
+            match("SubSystemClass"); 
 
 
             }
@@ -347,10 +369,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20:7: ( 'SubSystemClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20:9: 'SubSystemClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21:7: ( 'LogicalSystem' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21:9: 'LogicalSystem'
             {
-            match("SubSystemClass"); 
+            match("LogicalSystem"); 
 
 
             }
@@ -368,10 +390,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21:7: ( 'LogicalSystem' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21:9: 'LogicalSystem'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22:7: ( 'mandatory' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22:9: 'mandatory'
             {
-            match("LogicalSystem"); 
+            match("mandatory"); 
 
 
             }
@@ -389,10 +411,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22:7: ( 'mandatory' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22:9: 'mandatory'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23:7: ( 'model' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23:9: 'model'
             {
-            match("mandatory"); 
+            match("model"); 
 
 
             }
@@ -410,10 +432,10 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23:7: ( 'model' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23:9: 'model'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24:7: ( 'false' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24:9: 'false'
             {
-            match("model"); 
+            match("false"); 
 
 
             }
@@ -431,11 +453,10 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24:7: ( 'false' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24:9: 'false'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25:7: ( '+' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25:9: '+'
             {
-            match("false"); 
-
+            match('+'); 
 
             }
 
@@ -452,10 +473,10 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25:7: ( '+' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25:9: '+'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26:7: ( '-' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26:9: '-'
             {
-            match('+'); 
+            match('-'); 
 
             }
 
@@ -472,10 +493,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26:7: ( '-' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26:9: '-'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27:7: ( 'e' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27:9: 'e'
             {
-            match('-'); 
+            match('e'); 
 
             }
 
@@ -492,11 +513,10 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27:7: ( 'eventdriven' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27:9: 'eventdriven'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:28:7: ( 'E' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:28:9: 'E'
             {
-            match("eventdriven"); 
-
+            match('E'); 
 
             }
 
@@ -513,10 +533,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:28:7: ( 'datadriven' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:28:9: 'datadriven'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:29:7: ( 'eventdriven' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:29:9: 'eventdriven'
             {
-            match("datadriven"); 
+            match("eventdriven"); 
 
 
             }
@@ -534,10 +554,10 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:29:7: ( 'sync' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:29:9: 'sync'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:30:7: ( 'datadriven' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:30:9: 'datadriven'
             {
-            match("sync"); 
+            match("datadriven"); 
 
 
             }
@@ -555,10 +575,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:30:7: ( 'fixed' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:30:9: 'fixed'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:31:7: ( 'sync' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:31:9: 'sync'
             {
-            match("fixed"); 
+            match("sync"); 
 
 
             }
@@ -576,10 +596,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:31:7: ( 'optional' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:31:9: 'optional'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:32:7: ( 'fixed' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:32:9: 'fixed'
             {
-            match("optional"); 
+            match("fixed"); 
 
 
             }
@@ -597,10 +617,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:32:7: ( 'async' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:32:9: 'async'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:33:7: ( 'optional' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:33:9: 'optional'
             {
-            match("async"); 
+            match("optional"); 
 
 
             }
@@ -618,10 +638,10 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:33:7: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:33:9: 'ptBoolean'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:34:7: ( 'async' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:34:9: 'async'
             {
-            match("ptBoolean"); 
+            match("async"); 
 
 
             }
@@ -639,10 +659,10 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:34:7: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:34:9: 'ptInteger'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:35:7: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:35:9: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -660,10 +680,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:35:7: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:35:9: 'ptReal'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:36:7: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:36:9: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -681,10 +701,10 @@
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:36:7: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:36:9: 'ptCharacter'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:37:7: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:37:9: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -702,10 +722,10 @@
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:37:7: ( 'RoomModel' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:37:9: 'RoomModel'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:38:7: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:38:9: 'ptCharacter'
             {
-            match("RoomModel"); 
+            match("ptCharacter"); 
 
 
             }
@@ -723,10 +743,11 @@
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:38:7: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:38:9: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:39:7: ( 'RoomModel' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:39:9: 'RoomModel'
             {
-            match('{'); 
+            match("RoomModel"); 
+
 
             }
 
@@ -743,10 +764,10 @@
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:39:7: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:39:9: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:40:7: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:40:9: '{'
             {
-            match('}'); 
+            match('{'); 
 
             }
 
@@ -763,10 +784,10 @@
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:40:7: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:40:9: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:41:7: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:41:9: '}'
             {
-            match(':'); 
+            match('}'); 
 
             }
 
@@ -783,11 +804,10 @@
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:41:7: ( 'PrimitiveType' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:41:9: 'PrimitiveType'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:42:7: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:42:9: ':'
             {
-            match("PrimitiveType"); 
-
+            match(':'); 
 
             }
 
@@ -804,10 +824,10 @@
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:42:7: ( '->' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:42:9: '->'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:43:7: ( 'PrimitiveType' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:43:9: 'PrimitiveType'
             {
-            match("->"); 
+            match("PrimitiveType"); 
 
 
             }
@@ -825,10 +845,10 @@
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:43:7: ( 'default' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:43:9: 'default'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:44:7: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:44:9: '->'
             {
-            match("default"); 
+            match("->"); 
 
 
             }
@@ -846,10 +866,11 @@
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:44:7: ( '(' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:44:9: '('
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:45:7: ( 'default' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:45:9: 'default'
             {
-            match('('); 
+            match("default"); 
+
 
             }
 
@@ -866,10 +887,10 @@
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:45:7: ( ')' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:45:9: ')'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:46:7: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:46:9: '('
             {
-            match(')'); 
+            match('('); 
 
             }
 
@@ -886,11 +907,10 @@
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:46:7: ( 'Enumeration' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:46:9: 'Enumeration'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:47:7: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:47:9: ')'
             {
-            match("Enumeration"); 
-
+            match(')'); 
 
             }
 
@@ -907,10 +927,10 @@
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:47:7: ( 'of' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:47:9: 'of'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:48:7: ( 'Enumeration' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:48:9: 'Enumeration'
             {
-            match("of"); 
+            match("Enumeration"); 
 
 
             }
@@ -928,10 +948,11 @@
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:48:7: ( ',' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:48:9: ','
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:49:7: ( 'of' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:49:9: 'of'
             {
-            match(','); 
+            match("of"); 
+
 
             }
 
@@ -948,10 +969,10 @@
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:49:7: ( '=' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:49:9: '='
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:50:7: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:50:9: ','
             {
-            match('='); 
+            match(','); 
 
             }
 
@@ -968,11 +989,10 @@
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:50:7: ( 'ExternalType' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:50:9: 'ExternalType'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:51:7: ( '=' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:51:9: '='
             {
-            match("ExternalType"); 
-
+            match('='); 
 
             }
 
@@ -989,10 +1009,10 @@
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:51:7: ( 'extends' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:51:9: 'extends'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:52:7: ( 'ExternalType' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:52:9: 'ExternalType'
             {
-            match("extends"); 
+            match("ExternalType"); 
 
 
             }
@@ -1010,10 +1030,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:52:7: ( 'usercode1' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:52:9: 'usercode1'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:53:7: ( 'extends' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:53:9: 'extends'
             {
-            match("usercode1"); 
+            match("extends"); 
 
 
             }
@@ -1031,10 +1051,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:53:7: ( 'usercode2' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:53:9: 'usercode2'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:54:7: ( 'usercode1' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:54:9: 'usercode1'
             {
-            match("usercode2"); 
+            match("usercode1"); 
 
 
             }
@@ -1052,10 +1072,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:54:7: ( 'usercode3' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:54:9: 'usercode3'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:55:7: ( 'usercode2' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:55:9: 'usercode2'
             {
-            match("usercode3"); 
+            match("usercode2"); 
 
 
             }
@@ -1073,10 +1093,10 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:55:7: ( 'Attribute' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:55:9: 'Attribute'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:56:7: ( 'usercode3' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:56:9: 'usercode3'
             {
-            match("Attribute"); 
+            match("usercode3"); 
 
 
             }
@@ -1094,10 +1114,11 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:56:7: ( '[' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:56:9: '['
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:57:7: ( 'Attribute' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:57:9: 'Attribute'
             {
-            match('['); 
+            match("Attribute"); 
+
 
             }
 
@@ -1114,10 +1135,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:57:7: ( ']' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:57:9: ']'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:58:7: ( '[' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:58:9: '['
             {
-            match(']'); 
+            match('['); 
 
             }
 
@@ -1134,11 +1155,10 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:58:7: ( 'Operation' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:58:9: 'Operation'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:59:7: ( ']' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:59:9: ']'
             {
-            match("Operation"); 
-
+            match(']'); 
 
             }
 
@@ -1155,10 +1175,10 @@
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:59:7: ( 'sends' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:59:9: 'sends'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:60:7: ( 'Operation' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:60:9: 'Operation'
             {
-            match("sends"); 
+            match("Operation"); 
 
 
             }
@@ -1176,10 +1196,10 @@
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:60:7: ( 'incoming' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:60:9: 'incoming'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:61:7: ( 'sends' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:61:9: 'sends'
             {
-            match("incoming"); 
+            match("sends"); 
 
 
             }
@@ -1197,10 +1217,10 @@
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:61:7: ( 'outgoing' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:61:9: 'outgoing'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:62:7: ( 'incoming' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:62:9: 'incoming'
             {
-            match("outgoing"); 
+            match("incoming"); 
 
 
             }
@@ -1218,10 +1238,10 @@
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:62:7: ( 'regular' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:62:9: 'regular'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:63:7: ( 'outgoing' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:63:9: 'outgoing'
             {
-            match("regular"); 
+            match("outgoing"); 
 
 
             }
@@ -1239,10 +1259,10 @@
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:63:7: ( 'PortClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:63:9: 'PortClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:64:7: ( 'regular' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:64:9: 'regular'
             {
-            match("PortClass"); 
+            match("regular"); 
 
 
             }
@@ -1260,10 +1280,10 @@
         try {
             int _type = T__66;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:64:7: ( 'conjugated' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:64:9: 'conjugated'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:65:7: ( 'PortClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:65:9: 'PortClass'
             {
-            match("conjugated"); 
+            match("PortClass"); 
 
 
             }
@@ -1281,10 +1301,10 @@
         try {
             int _type = T__67;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:65:7: ( 'SubProtocol' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:65:9: 'SubProtocol'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:66:7: ( 'conjugated' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:66:9: 'conjugated'
             {
-            match("SubProtocol"); 
+            match("conjugated"); 
 
 
             }
@@ -1302,10 +1322,10 @@
         try {
             int _type = T__68;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:66:7: ( 'Message' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:66:9: 'Message'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:67:7: ( 'SubProtocol' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:67:9: 'SubProtocol'
             {
-            match("Message"); 
+            match("SubProtocol"); 
 
 
             }
@@ -1323,10 +1343,10 @@
         try {
             int _type = T__69;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:67:7: ( 'usercode' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:67:9: 'usercode'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:68:7: ( 'Message' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:68:9: 'Message'
             {
-            match("usercode"); 
+            match("Message"); 
 
 
             }
@@ -1344,10 +1364,10 @@
         try {
             int _type = T__70;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:68:7: ( 'handle' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:68:9: 'handle'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:69:7: ( 'usercode' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:69:9: 'usercode'
             {
-            match("handle"); 
+            match("usercode"); 
 
 
             }
@@ -1365,10 +1385,10 @@
         try {
             int _type = T__71;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:69:7: ( 'Interface' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:69:9: 'Interface'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:70:7: ( 'handle' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:70:9: 'handle'
             {
-            match("Interface"); 
+            match("handle"); 
 
 
             }
@@ -1386,10 +1406,10 @@
         try {
             int _type = T__72;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:70:7: ( 'Structure' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:70:9: 'Structure'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:71:7: ( 'Interface' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:71:9: 'Interface'
             {
-            match("Structure"); 
+            match("Interface"); 
 
 
             }
@@ -1407,10 +1427,10 @@
         try {
             int _type = T__73;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:71:7: ( 'Behavior' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:71:9: 'Behavior'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:72:7: ( 'Structure' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:72:9: 'Structure'
             {
-            match("Behavior"); 
+            match("Structure"); 
 
 
             }
@@ -1428,10 +1448,10 @@
         try {
             int _type = T__74;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:72:7: ( 'Port' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:72:9: 'Port'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:73:7: ( 'Behavior' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:73:9: 'Behavior'
             {
-            match("Port"); 
+            match("Behavior"); 
 
 
             }
@@ -1449,10 +1469,10 @@
         try {
             int _type = T__75;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:73:7: ( 'external' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:73:9: 'external'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:74:7: ( 'Port' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:74:9: 'Port'
             {
-            match("external"); 
+            match("Port"); 
 
 
             }
@@ -1470,10 +1490,10 @@
         try {
             int _type = T__76;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:74:7: ( 'SAP' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:74:9: 'SAP'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:75:7: ( 'external' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:75:9: 'external'
             {
-            match("SAP"); 
+            match("external"); 
 
 
             }
@@ -1491,10 +1511,10 @@
         try {
             int _type = T__77;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:75:7: ( 'SPP' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:75:9: 'SPP'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:76:7: ( 'SAP' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:76:9: 'SAP'
             {
-            match("SPP"); 
+            match("SAP"); 
 
 
             }
@@ -1512,10 +1532,10 @@
         try {
             int _type = T__78;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:76:7: ( 'ServiceImplementation' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:76:9: 'ServiceImplementation'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:77:7: ( 'SPP' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:77:9: 'SPP'
             {
-            match("ServiceImplementation"); 
+            match("SPP"); 
 
 
             }
@@ -1533,10 +1553,10 @@
         try {
             int _type = T__79;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:77:7: ( 'SubSystemRef' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:77:9: 'SubSystemRef'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:78:7: ( 'ServiceImplementation' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:78:9: 'ServiceImplementation'
             {
-            match("SubSystemRef"); 
+            match("ServiceImplementation"); 
 
 
             }
@@ -1554,10 +1574,10 @@
         try {
             int _type = T__80;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:78:7: ( 'LogicalThread' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:78:9: 'LogicalThread'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:79:7: ( 'SubSystemRef' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:79:9: 'SubSystemRef'
             {
-            match("LogicalThread"); 
+            match("SubSystemRef"); 
 
 
             }
@@ -1575,10 +1595,10 @@
         try {
             int _type = T__81;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:79:7: ( 'ActorInstanceMapping' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:79:9: 'ActorInstanceMapping'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:80:7: ( 'LogicalThread' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:80:9: 'LogicalThread'
             {
-            match("ActorInstanceMapping"); 
+            match("LogicalThread"); 
 
 
             }
@@ -1596,10 +1616,11 @@
         try {
             int _type = T__82;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:80:7: ( '/' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:80:9: '/'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:81:7: ( 'ActorInstanceMapping' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:81:9: 'ActorInstanceMapping'
             {
-            match('/'); 
+            match("ActorInstanceMapping"); 
+
 
             }
 
@@ -1616,11 +1637,10 @@
         try {
             int _type = T__83;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:81:7: ( 'Binding' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:81:9: 'Binding'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:82:7: ( '/' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:82:9: '/'
             {
-            match("Binding"); 
-
+            match('/'); 
 
             }
 
@@ -1637,10 +1657,10 @@
         try {
             int _type = T__84;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:82:7: ( 'and' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:82:9: 'and'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:83:7: ( 'Binding' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:83:9: 'Binding'
             {
-            match("and"); 
+            match("Binding"); 
 
 
             }
@@ -1658,10 +1678,11 @@
         try {
             int _type = T__85;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:83:7: ( '.' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:83:9: '.'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:84:7: ( 'and' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:84:9: 'and'
             {
-            match('.'); 
+            match("and"); 
+
 
             }
 
@@ -1678,11 +1699,10 @@
         try {
             int _type = T__86;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:84:7: ( 'sub' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:84:9: 'sub'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:85:7: ( '.' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:85:9: '.'
             {
-            match("sub"); 
-
+            match('.'); 
 
             }
 
@@ -1699,10 +1719,10 @@
         try {
             int _type = T__87;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:85:7: ( 'LayerConnection' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:85:9: 'LayerConnection'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:86:7: ( 'sub' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:86:9: 'sub'
             {
-            match("LayerConnection"); 
+            match("sub"); 
 
 
             }
@@ -1720,10 +1740,10 @@
         try {
             int _type = T__88;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:86:7: ( 'satisfied_by' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:86:9: 'satisfied_by'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:87:7: ( 'LayerConnection' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:87:9: 'LayerConnection'
             {
-            match("satisfied_by"); 
+            match("LayerConnection"); 
 
 
             }
@@ -1741,10 +1761,10 @@
         try {
             int _type = T__89;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:87:7: ( 'ref' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:87:9: 'ref'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:88:7: ( 'satisfied_by' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:88:9: 'satisfied_by'
             {
-            match("ref"); 
+            match("satisfied_by"); 
 
 
             }
@@ -1762,10 +1782,10 @@
         try {
             int _type = T__90;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:88:7: ( 'relay_sap' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:88:9: 'relay_sap'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:89:7: ( 'ref' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:89:9: 'ref'
             {
-            match("relay_sap"); 
+            match("ref"); 
 
 
             }
@@ -1783,10 +1803,10 @@
         try {
             int _type = T__91;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:89:7: ( 'ActorRef' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:89:9: 'ActorRef'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:90:7: ( 'relay_sap' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:90:9: 'relay_sap'
             {
-            match("ActorRef"); 
+            match("relay_sap"); 
 
 
             }
@@ -1804,10 +1824,10 @@
         try {
             int _type = T__92;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:90:7: ( 'StateMachine' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:90:9: 'StateMachine'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:91:7: ( 'ActorRef' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:91:9: 'ActorRef'
             {
-            match("StateMachine"); 
+            match("ActorRef"); 
 
 
             }
@@ -1825,10 +1845,10 @@
         try {
             int _type = T__93;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:91:7: ( 'State' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:91:9: 'State'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:92:7: ( 'StateMachine' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:92:9: 'StateMachine'
             {
-            match("State"); 
+            match("StateMachine"); 
 
 
             }
@@ -1846,10 +1866,10 @@
         try {
             int _type = T__94;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:92:7: ( 'entry' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:92:9: 'entry'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:93:7: ( 'State' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:93:9: 'State'
             {
-            match("entry"); 
+            match("State"); 
 
 
             }
@@ -1867,10 +1887,10 @@
         try {
             int _type = T__95;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:93:7: ( 'exit' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:93:9: 'exit'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:94:7: ( 'entry' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:94:9: 'entry'
             {
-            match("exit"); 
+            match("entry"); 
 
 
             }
@@ -1888,10 +1908,10 @@
         try {
             int _type = T__96;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:94:7: ( 'do' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:94:9: 'do'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:95:7: ( 'exit' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:95:9: 'exit'
             {
-            match("do"); 
+            match("exit"); 
 
 
             }
@@ -1909,10 +1929,10 @@
         try {
             int _type = T__97;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:95:7: ( 'subgraph' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:95:9: 'subgraph'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:96:7: ( 'do' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:96:9: 'do'
             {
-            match("subgraph"); 
+            match("do"); 
 
 
             }
@@ -1930,10 +1950,10 @@
         try {
             int _type = T__98;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:96:7: ( 'RefinedState' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:96:9: 'RefinedState'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:97:7: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:97:9: 'subgraph'
             {
-            match("RefinedState"); 
+            match("subgraph"); 
 
 
             }
@@ -1951,10 +1971,10 @@
         try {
             int _type = T__99;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:97:7: ( 'TransitionPoint' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:97:9: 'TransitionPoint'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:98:7: ( 'RefinedState' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:98:9: 'RefinedState'
             {
-            match("TransitionPoint"); 
+            match("RefinedState"); 
 
 
             }
@@ -1972,10 +1992,10 @@
         try {
             int _type = T__100;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:98:8: ( 'EntryPoint' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:98:10: 'EntryPoint'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:99:8: ( 'TransitionPoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:99:10: 'TransitionPoint'
             {
-            match("EntryPoint"); 
+            match("TransitionPoint"); 
 
 
             }
@@ -1993,10 +2013,10 @@
         try {
             int _type = T__101;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:99:8: ( 'ExitPoint' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:99:10: 'ExitPoint'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:100:8: ( 'EntryPoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:100:10: 'EntryPoint'
             {
-            match("ExitPoint"); 
+            match("EntryPoint"); 
 
 
             }
@@ -2014,10 +2034,10 @@
         try {
             int _type = T__102;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:100:8: ( 'ChoicePoint' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:100:10: 'ChoicePoint'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:101:8: ( 'ExitPoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:101:10: 'ExitPoint'
             {
-            match("ChoicePoint"); 
+            match("ExitPoint"); 
 
 
             }
@@ -2035,10 +2055,10 @@
         try {
             int _type = T__103;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:101:8: ( 'Transition' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:101:10: 'Transition'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:102:8: ( 'ChoicePoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:102:10: 'ChoicePoint'
             {
-            match("Transition"); 
+            match("ChoicePoint"); 
 
 
             }
@@ -2056,10 +2076,10 @@
         try {
             int _type = T__104;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:102:8: ( 'initial' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:102:10: 'initial'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:103:8: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:103:10: 'Transition'
             {
-            match("initial"); 
+            match("Transition"); 
 
 
             }
@@ -2077,10 +2097,10 @@
         try {
             int _type = T__105;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:103:8: ( 'action' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:103:10: 'action'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:104:8: ( 'initial' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:104:10: 'initial'
             {
-            match("action"); 
+            match("initial"); 
 
 
             }
@@ -2098,10 +2118,10 @@
         try {
             int _type = T__106;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:104:8: ( 'triggers' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:104:10: 'triggers'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:105:8: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:105:10: 'action'
             {
-            match("triggers"); 
+            match("action"); 
 
 
             }
@@ -2119,10 +2139,10 @@
         try {
             int _type = T__107;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:105:8: ( 'or' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:105:10: 'or'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:106:8: ( 'triggers' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:106:10: 'triggers'
             {
-            match("or"); 
+            match("triggers"); 
 
 
             }
@@ -2140,10 +2160,10 @@
         try {
             int _type = T__108;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:106:8: ( 'guard' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:106:10: 'guard'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:107:8: ( 'or' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:107:10: 'or'
             {
-            match("guard"); 
+            match("or"); 
 
 
             }
@@ -2161,10 +2181,10 @@
         try {
             int _type = T__109;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:107:8: ( 'cond' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:107:10: 'cond'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:108:8: ( 'guard' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:108:10: 'guard'
             {
-            match("cond"); 
+            match("guard"); 
 
 
             }
@@ -2182,10 +2202,10 @@
         try {
             int _type = T__110;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:108:8: ( 'RefinedTransition' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:108:10: 'RefinedTransition'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:109:8: ( 'cond' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:109:10: 'cond'
             {
-            match("RefinedTransition"); 
+            match("cond"); 
 
 
             }
@@ -2203,10 +2223,10 @@
         try {
             int _type = T__111;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:109:8: ( 'my' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:109:10: 'my'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:110:8: ( 'RefinedTransition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:110:10: 'RefinedTransition'
             {
-            match("my"); 
+            match("RefinedTransition"); 
 
 
             }
@@ -2224,10 +2244,10 @@
         try {
             int _type = T__112;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:110:8: ( 'cp' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:110:10: 'cp'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:111:8: ( 'my' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:111:10: 'my'
             {
-            match("cp"); 
+            match("my"); 
 
 
             }
@@ -2245,10 +2265,11 @@
         try {
             int _type = T__113;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:111:8: ( '<' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:111:10: '<'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:112:8: ( 'cp' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:112:10: 'cp'
             {
-            match('<'); 
+            match("cp"); 
+
 
             }
 
@@ -2265,10 +2286,10 @@
         try {
             int _type = T__114;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:112:8: ( '>' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:112:10: '>'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:113:8: ( '<' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:113:10: '<'
             {
-            match('>'); 
+            match('<'); 
 
             }
 
@@ -2285,10 +2306,10 @@
         try {
             int _type = T__115;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:113:8: ( '|' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:113:10: '|'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:114:8: ( '>' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:114:10: '>'
             {
-            match('|'); 
+            match('>'); 
 
             }
 
@@ -2305,11 +2326,10 @@
         try {
             int _type = T__116;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:114:8: ( 'semantics' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:114:10: 'semantics'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:115:8: ( '|' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:115:10: '|'
             {
-            match("semantics"); 
-
+            match('|'); 
 
             }
 
@@ -2326,10 +2346,10 @@
         try {
             int _type = T__117;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:115:8: ( 'in' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:115:10: 'in'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:116:8: ( 'semantics' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:116:10: 'semantics'
             {
-            match("in"); 
+            match("semantics"); 
 
 
             }
@@ -2347,10 +2367,10 @@
         try {
             int _type = T__118;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:116:8: ( 'out' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:116:10: 'out'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:117:8: ( 'in' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:117:10: 'in'
             {
-            match("out"); 
+            match("in"); 
 
 
             }
@@ -2368,10 +2388,11 @@
         try {
             int _type = T__119;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:117:8: ( '@' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:117:10: '@'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:118:8: ( 'out' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:118:10: 'out'
             {
-            match('@'); 
+            match("out"); 
+
 
             }
 
@@ -2388,11 +2409,10 @@
         try {
             int _type = T__120;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:118:8: ( 'AnnotationType' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:118:10: 'AnnotationType'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:119:8: ( '@' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:119:10: '@'
             {
-            match("AnnotationType"); 
-
+            match('@'); 
 
             }
 
@@ -2409,10 +2429,10 @@
         try {
             int _type = T__121;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:119:8: ( 'target' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:119:10: 'target'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:120:8: ( 'AnnotationType' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:120:10: 'AnnotationType'
             {
-            match("target"); 
+            match("AnnotationType"); 
 
 
             }
@@ -2430,10 +2450,10 @@
         try {
             int _type = T__122;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:120:8: ( 'attribute' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:120:10: 'attribute'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:121:8: ( 'target' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:121:10: 'target'
             {
-            match("attribute"); 
+            match("target"); 
 
 
             }
@@ -2451,10 +2471,10 @@
         try {
             int _type = T__123;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:121:8: ( 'import' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:121:10: 'import'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:122:8: ( 'attribute' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:122:10: 'attribute'
             {
-            match("import"); 
+            match("attribute"); 
 
 
             }
@@ -2472,10 +2492,10 @@
         try {
             int _type = T__124;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:122:8: ( 'from' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:122:10: 'from'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:123:8: ( 'import' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:123:10: 'import'
             {
-            match("from"); 
+            match("import"); 
 
 
             }
@@ -2493,10 +2513,10 @@
         try {
             int _type = T__125;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:123:8: ( '.*' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:123:10: '.*'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:124:8: ( 'from' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:124:10: 'from'
             {
-            match(".*"); 
+            match("from"); 
 
 
             }
@@ -2514,10 +2534,10 @@
         try {
             int _type = T__126;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:124:8: ( 'override' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:124:10: 'override'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:125:8: ( '.*' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:125:10: '.*'
             {
-            match("override"); 
+            match(".*"); 
 
 
             }
@@ -2535,10 +2555,10 @@
         try {
             int _type = T__127;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:125:8: ( 'private' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:125:10: 'private'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:126:8: ( 'override' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:126:10: 'override'
             {
-            match("private"); 
+            match("override"); 
 
 
             }
@@ -2556,10 +2576,10 @@
         try {
             int _type = T__128;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:126:8: ( 'abstract' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:126:10: 'abstract'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:127:8: ( 'private' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:127:10: 'private'
             {
-            match("abstract"); 
+            match("private"); 
 
 
             }
@@ -2577,10 +2597,10 @@
         try {
             int _type = T__129;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:127:8: ( 'handler' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:127:10: 'handler'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:128:8: ( 'abstract' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:128:10: 'abstract'
             {
-            match("handler"); 
+            match("abstract"); 
 
 
             }
@@ -2598,10 +2618,10 @@
         try {
             int _type = T__130;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:128:8: ( 'true' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:128:10: 'true'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:129:8: ( 'handler' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:129:10: 'handler'
             {
-            match("true"); 
+            match("handler"); 
 
 
             }
@@ -2614,42 +2634,74 @@
     }
     // $ANTLR end "T__130"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__131"
+    public final void mT__131() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__131;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27962:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27962:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:130:8: ( 'true' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:130:10: 'true'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("true"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27962:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__131"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27680:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27680:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27680:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27680:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27680:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -2657,23 +2709,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27962:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27680:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27962:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -2696,109 +2756,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27964:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27964:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27964:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27964:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27964:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27964:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -2806,19 +2763,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27966:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27966:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27682:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27682:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27966:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27682:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27966:11: '^'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27682:11: '^'
                     {
                     match('^'); 
 
@@ -2836,18 +2793,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27966:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27682:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:
             	    {
@@ -2865,7 +2822,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -2885,24 +2842,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27968:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27968:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27684:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27684:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27968:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27684:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27968:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27684:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -2910,12 +2867,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -2934,47 +2891,47 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27970:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27970:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27970:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27970:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27970:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27970:21: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -2982,7 +2939,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27970:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -2998,7 +2955,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -3007,26 +2964,26 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27970:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27970:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27970:54: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:54: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -3034,7 +2991,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27970:61: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -3050,7 +3007,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -3077,37 +3034,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27972:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27972:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27688:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27688:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27972:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27688:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27972:52: .
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27688:52: .
             	    {
             	    matchAny(); 
 
@@ -3115,7 +3072,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -3137,25 +3094,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27974:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27974:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27690:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27690:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27974:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27690:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27974:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27690: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();
@@ -3171,31 +3128,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27974:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27690:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27974:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27690:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27974:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27690:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27974:41: '\\r'
+                            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27690:41: '\\r'
                             {
                             match('\r'); 
 
@@ -3227,22 +3184,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27976:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27976:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27692:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27692:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27976:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27692:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:
             	    {
@@ -3260,12 +3217,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -3284,8 +3241,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27978:16: ( . )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27978:18: .
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27694:16: ( . )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27694:18: .
             {
             matchAny(); 
 
@@ -3300,894 +3257,901 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=127;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=128;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:10: T__13
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:148: T__36
+            case 25 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:154: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:154: T__37
+            case 26 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:160: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:160: T__38
+            case 27 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:166: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:166: T__39
+            case 28 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:172: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:172: T__40
+            case 29 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:178: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:178: T__41
+            case 30 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:184: T__41
                 {
                 mT__41(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:184: T__42
+            case 31 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:190: T__42
                 {
                 mT__42(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:190: T__43
+            case 32 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:196: T__43
                 {
                 mT__43(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:196: T__44
+            case 33 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:202: T__44
                 {
                 mT__44(); 
 
                 }
                 break;
-            case 33 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:202: T__45
+            case 34 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:208: T__45
                 {
                 mT__45(); 
 
                 }
                 break;
-            case 34 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:208: T__46
+            case 35 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:214: T__46
                 {
                 mT__46(); 
 
                 }
                 break;
-            case 35 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:214: T__47
+            case 36 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:220: T__47
                 {
                 mT__47(); 
 
                 }
                 break;
-            case 36 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:220: T__48
+            case 37 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:226: T__48
                 {
                 mT__48(); 
 
                 }
                 break;
-            case 37 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:226: T__49
+            case 38 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:232: T__49
                 {
                 mT__49(); 
 
                 }
                 break;
-            case 38 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:232: T__50
+            case 39 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:238: T__50
                 {
                 mT__50(); 
 
                 }
                 break;
-            case 39 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:238: T__51
+            case 40 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:244: T__51
                 {
                 mT__51(); 
 
                 }
                 break;
-            case 40 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:244: T__52
+            case 41 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:250: T__52
                 {
                 mT__52(); 
 
                 }
                 break;
-            case 41 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:250: T__53
+            case 42 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:256: T__53
                 {
                 mT__53(); 
 
                 }
                 break;
-            case 42 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:256: T__54
+            case 43 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:262: T__54
                 {
                 mT__54(); 
 
                 }
                 break;
-            case 43 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:262: T__55
+            case 44 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:268: T__55
                 {
                 mT__55(); 
 
                 }
                 break;
-            case 44 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:268: T__56
+            case 45 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:274: T__56
                 {
                 mT__56(); 
 
                 }
                 break;
-            case 45 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:274: T__57
+            case 46 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:280: T__57
                 {
                 mT__57(); 
 
                 }
                 break;
-            case 46 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:280: T__58
+            case 47 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:286: T__58
                 {
                 mT__58(); 
 
                 }
                 break;
-            case 47 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:286: T__59
+            case 48 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:292: T__59
                 {
                 mT__59(); 
 
                 }
                 break;
-            case 48 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:292: T__60
+            case 49 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:298: T__60
                 {
                 mT__60(); 
 
                 }
                 break;
-            case 49 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:298: T__61
+            case 50 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:304: T__61
                 {
                 mT__61(); 
 
                 }
                 break;
-            case 50 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:304: T__62
+            case 51 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:310: T__62
                 {
                 mT__62(); 
 
                 }
                 break;
-            case 51 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:310: T__63
+            case 52 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:316: T__63
                 {
                 mT__63(); 
 
                 }
                 break;
-            case 52 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:316: T__64
+            case 53 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:322: T__64
                 {
                 mT__64(); 
 
                 }
                 break;
-            case 53 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:322: T__65
+            case 54 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:328: T__65
                 {
                 mT__65(); 
 
                 }
                 break;
-            case 54 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:328: T__66
+            case 55 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:334: T__66
                 {
                 mT__66(); 
 
                 }
                 break;
-            case 55 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:334: T__67
+            case 56 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:340: T__67
                 {
                 mT__67(); 
 
                 }
                 break;
-            case 56 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:340: T__68
+            case 57 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:346: T__68
                 {
                 mT__68(); 
 
                 }
                 break;
-            case 57 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:346: T__69
+            case 58 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:352: T__69
                 {
                 mT__69(); 
 
                 }
                 break;
-            case 58 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:352: T__70
+            case 59 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:358: T__70
                 {
                 mT__70(); 
 
                 }
                 break;
-            case 59 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:358: T__71
+            case 60 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:364: T__71
                 {
                 mT__71(); 
 
                 }
                 break;
-            case 60 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:364: T__72
+            case 61 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:370: T__72
                 {
                 mT__72(); 
 
                 }
                 break;
-            case 61 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:370: T__73
+            case 62 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:376: T__73
                 {
                 mT__73(); 
 
                 }
                 break;
-            case 62 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:376: T__74
+            case 63 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:382: T__74
                 {
                 mT__74(); 
 
                 }
                 break;
-            case 63 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:382: T__75
+            case 64 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:388: T__75
                 {
                 mT__75(); 
 
                 }
                 break;
-            case 64 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:388: T__76
+            case 65 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:394: T__76
                 {
                 mT__76(); 
 
                 }
                 break;
-            case 65 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:394: T__77
+            case 66 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:400: T__77
                 {
                 mT__77(); 
 
                 }
                 break;
-            case 66 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:400: T__78
+            case 67 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:406: T__78
                 {
                 mT__78(); 
 
                 }
                 break;
-            case 67 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:406: T__79
+            case 68 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:412: T__79
                 {
                 mT__79(); 
 
                 }
                 break;
-            case 68 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:412: T__80
+            case 69 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:418: T__80
                 {
                 mT__80(); 
 
                 }
                 break;
-            case 69 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:418: T__81
+            case 70 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:424: T__81
                 {
                 mT__81(); 
 
                 }
                 break;
-            case 70 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:424: T__82
+            case 71 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:430: T__82
                 {
                 mT__82(); 
 
                 }
                 break;
-            case 71 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:430: T__83
+            case 72 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:436: T__83
                 {
                 mT__83(); 
 
                 }
                 break;
-            case 72 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:436: T__84
+            case 73 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:442: T__84
                 {
                 mT__84(); 
 
                 }
                 break;
-            case 73 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:442: T__85
+            case 74 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:448: T__85
                 {
                 mT__85(); 
 
                 }
                 break;
-            case 74 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:448: T__86
+            case 75 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:454: T__86
                 {
                 mT__86(); 
 
                 }
                 break;
-            case 75 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:454: T__87
+            case 76 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:460: T__87
                 {
                 mT__87(); 
 
                 }
                 break;
-            case 76 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:460: T__88
+            case 77 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:466: T__88
                 {
                 mT__88(); 
 
                 }
                 break;
-            case 77 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:466: T__89
+            case 78 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:472: T__89
                 {
                 mT__89(); 
 
                 }
                 break;
-            case 78 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:472: T__90
+            case 79 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:478: T__90
                 {
                 mT__90(); 
 
                 }
                 break;
-            case 79 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:478: T__91
+            case 80 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:484: T__91
                 {
                 mT__91(); 
 
                 }
                 break;
-            case 80 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:484: T__92
+            case 81 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:490: T__92
                 {
                 mT__92(); 
 
                 }
                 break;
-            case 81 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:490: T__93
+            case 82 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:496: T__93
                 {
                 mT__93(); 
 
                 }
                 break;
-            case 82 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:496: T__94
+            case 83 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:502: T__94
                 {
                 mT__94(); 
 
                 }
                 break;
-            case 83 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:502: T__95
+            case 84 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:508: T__95
                 {
                 mT__95(); 
 
                 }
                 break;
-            case 84 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:508: T__96
+            case 85 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:514: T__96
                 {
                 mT__96(); 
 
                 }
                 break;
-            case 85 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:514: T__97
+            case 86 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:520: T__97
                 {
                 mT__97(); 
 
                 }
                 break;
-            case 86 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:520: T__98
+            case 87 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:526: T__98
                 {
                 mT__98(); 
 
                 }
                 break;
-            case 87 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:526: T__99
+            case 88 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:532: T__99
                 {
                 mT__99(); 
 
                 }
                 break;
-            case 88 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:532: T__100
+            case 89 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:538: T__100
                 {
                 mT__100(); 
 
                 }
                 break;
-            case 89 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:539: T__101
+            case 90 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:545: T__101
                 {
                 mT__101(); 
 
                 }
                 break;
-            case 90 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:546: T__102
+            case 91 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:552: T__102
                 {
                 mT__102(); 
 
                 }
                 break;
-            case 91 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:553: T__103
+            case 92 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:559: T__103
                 {
                 mT__103(); 
 
                 }
                 break;
-            case 92 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:560: T__104
+            case 93 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:566: T__104
                 {
                 mT__104(); 
 
                 }
                 break;
-            case 93 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:567: T__105
+            case 94 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:573: T__105
                 {
                 mT__105(); 
 
                 }
                 break;
-            case 94 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:574: T__106
+            case 95 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:580: T__106
                 {
                 mT__106(); 
 
                 }
                 break;
-            case 95 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:581: T__107
+            case 96 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:587: T__107
                 {
                 mT__107(); 
 
                 }
                 break;
-            case 96 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:588: T__108
+            case 97 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:594: T__108
                 {
                 mT__108(); 
 
                 }
                 break;
-            case 97 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:595: T__109
+            case 98 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:601: T__109
                 {
                 mT__109(); 
 
                 }
                 break;
-            case 98 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:602: T__110
+            case 99 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:608: T__110
                 {
                 mT__110(); 
 
                 }
                 break;
-            case 99 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:609: T__111
+            case 100 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:615: T__111
                 {
                 mT__111(); 
 
                 }
                 break;
-            case 100 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:616: T__112
+            case 101 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:622: T__112
                 {
                 mT__112(); 
 
                 }
                 break;
-            case 101 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:623: T__113
+            case 102 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:629: T__113
                 {
                 mT__113(); 
 
                 }
                 break;
-            case 102 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:630: T__114
+            case 103 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:636: T__114
                 {
                 mT__114(); 
 
                 }
                 break;
-            case 103 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:637: T__115
+            case 104 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:643: T__115
                 {
                 mT__115(); 
 
                 }
                 break;
-            case 104 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:644: T__116
+            case 105 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:650: T__116
                 {
                 mT__116(); 
 
                 }
                 break;
-            case 105 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:651: T__117
+            case 106 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:657: T__117
                 {
                 mT__117(); 
 
                 }
                 break;
-            case 106 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:658: T__118
+            case 107 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:664: T__118
                 {
                 mT__118(); 
 
                 }
                 break;
-            case 107 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:665: T__119
+            case 108 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:671: T__119
                 {
                 mT__119(); 
 
                 }
                 break;
-            case 108 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:672: T__120
+            case 109 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:678: T__120
                 {
                 mT__120(); 
 
                 }
                 break;
-            case 109 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:679: T__121
+            case 110 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:685: T__121
                 {
                 mT__121(); 
 
                 }
                 break;
-            case 110 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:686: T__122
+            case 111 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:692: T__122
                 {
                 mT__122(); 
 
                 }
                 break;
-            case 111 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:693: T__123
+            case 112 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:699: T__123
                 {
                 mT__123(); 
 
                 }
                 break;
-            case 112 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:700: T__124
+            case 113 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:706: T__124
                 {
                 mT__124(); 
 
                 }
                 break;
-            case 113 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:707: T__125
+            case 114 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:713: T__125
                 {
                 mT__125(); 
 
                 }
                 break;
-            case 114 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:714: T__126
+            case 115 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:720: T__126
                 {
                 mT__126(); 
 
                 }
                 break;
-            case 115 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:721: T__127
+            case 116 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:727: T__127
                 {
                 mT__127(); 
 
                 }
                 break;
-            case 116 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:728: T__128
+            case 117 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:734: T__128
                 {
                 mT__128(); 
 
                 }
                 break;
-            case 117 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:735: T__129
+            case 118 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:741: T__129
                 {
                 mT__129(); 
 
                 }
                 break;
-            case 118 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:742: T__130
+            case 119 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:748: T__130
                 {
                 mT__130(); 
 
                 }
                 break;
-            case 119 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:749: RULE_EXP
+            case 120 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:755: T__131
                 {
-                mRULE_EXP(); 
+                mT__131(); 
 
                 }
                 break;
-            case 120 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:758: RULE_HEX
+            case 121 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:762: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 121 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:767: RULE_ID
+            case 122 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:771: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 122 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:775: RULE_INT
+            case 123 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:779: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 123 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:784: RULE_STRING
+            case 124 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:788: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 124 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:796: RULE_ML_COMMENT
+            case 125 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:800: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 125 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:812: RULE_SL_COMMENT
+            case 126 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:816: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 126 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:828: RULE_WS
+            case 127 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:832: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 127 :
-                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:836: RULE_ANY_OTHER
+            case 128 :
+                // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:1:840: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -4199,213 +4163,213 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\1\uffff\3\71\1\uffff\10\71\1\uffff\1\131\6\71\5\uffff\1\71\2\uffff"+
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\1\uffff\3\71\1\uffff\10\71\1\uffff\1\131\1\135\1\140\5\71\7\uffff"+
         "\1\71\2\uffff\7\71\1\u0088\1\u008a\3\71\4\uffff\1\u0094\1\67\2\uffff"+
         "\2\67\2\uffff\1\71\1\uffff\2\71\1\u009a\3\71\1\u009e\1\uffff\21"+
-        "\71\1\u00b2\3\71\3\uffff\3\71\1\136\1\uffff\5\71\1\u00c0\1\71\1"+
-        "\u00c2\12\71\5\uffff\2\71\2\uffff\1\71\2\uffff\1\71\1\u00d8\7\71"+
-        "\5\uffff\4\71\10\uffff\3\71\1\uffff\3\71\1\uffff\14\71\1\u00fb\1"+
-        "\u00fc\5\71\1\uffff\12\71\1\u010d\2\71\1\uffff\1\u0111\1\uffff\2"+
-        "\71\1\u0114\22\71\1\uffff\2\71\1\u0129\13\71\1\u0135\1\u0136\1\71"+
-        "\1\u0138\1\u0139\10\71\1\u0143\6\71\2\uffff\7\71\1\u0151\2\71\1"+
-        "\u0155\1\71\1\u0157\3\71\1\uffff\3\71\1\uffff\2\71\1\uffff\24\71"+
-        "\1\uffff\10\71\1\u017c\2\71\2\uffff\1\71\2\uffff\11\71\1\uffff\5"+
-        "\71\1\u0192\4\71\1\u0197\1\u0198\1\u0199\1\uffff\3\71\1\uffff\1"+
-        "\u019d\1\uffff\1\u019e\6\71\1\u01a5\34\71\1\uffff\1\71\1\u01c3\23"+
-        "\71\1\uffff\4\71\3\uffff\3\71\2\uffff\6\71\1\uffff\1\u01e4\4\71"+
-        "\1\u01e9\14\71\1\u01f6\3\71\1\u01fb\5\71\1\u0201\1\uffff\2\71\1"+
-        "\u0204\25\71\1\u021b\7\71\1\uffff\4\71\1\uffff\1\71\1\u0228\11\71"+
-        "\1\u0233\1\uffff\1\u0234\1\71\1\u0236\1\u0237\1\uffff\2\71\1\u023a"+
-        "\2\71\1\uffff\2\71\1\uffff\4\71\1\u0243\21\71\1\uffff\1\u0255\1"+
-        "\71\1\u0257\1\71\1\u0259\1\u025a\1\u025b\1\71\1\u025d\3\71\1\uffff"+
-        "\7\71\1\u026b\1\71\1\u026d\2\uffff\1\71\2\uffff\1\71\1\u0270\1\uffff"+
-        "\1\71\1\u0272\2\71\1\u0275\3\71\1\uffff\1\u0279\3\71\1\u027d\4\71"+
-        "\1\u0283\5\71\1\u0289\1\71\1\uffff\1\u028b\1\uffff\1\71\3\uffff"+
-        "\1\u028d\1\uffff\1\u028e\1\u028f\1\71\1\u0291\5\71\1\u0297\1\u0298"+
-        "\1\u0299\1\u029a\1\uffff\1\u029b\1\uffff\1\u029c\1\u029d\1\uffff"+
-        "\1\71\1\uffff\1\u029f\1\u02a0\1\uffff\1\u02a1\2\71\1\uffff\3\71"+
-        "\1\uffff\5\71\1\uffff\5\71\1\uffff\1\71\1\uffff\1\71\3\uffff\1\71"+
-        "\1\uffff\3\71\1\u02b7\1\71\7\uffff\1\u02ba\3\uffff\6\71\1\u02c1"+
-        "\2\71\1\u02c4\5\71\1\u02ca\1\71\1\u02cc\2\71\1\u02cf\1\uffff\2\71"+
-        "\1\uffff\6\71\1\uffff\1\71\1\u02d9\1\uffff\1\u02da\4\71\1\uffff"+
-        "\1\u02df\1\uffff\1\u02e0\1\71\1\uffff\1\u02e2\1\71\1\u02e4\2\71"+
-        "\1\u02e7\1\u02e8\2\71\2\uffff\1\71\1\u02ec\1\u02ed\1\71\2\uffff"+
-        "\1\71\1\uffff\1\71\1\uffff\1\71\1\u02f2\2\uffff\1\71\1\u02f4\1\71"+
-        "\2\uffff\4\71\1\uffff\1\71\1\uffff\1\71\1\u02fc\1\71\1\u02fe\3\71"+
-        "\1\uffff\1\71\1\uffff\3\71\1\u0306\3\71\1\uffff\3\71\1\u030d\2\71"+
-        "\1\uffff\1\u0310\1\u0311\2\uffff";
-    static final String DFA16_eofS =
+        "\71\1\u00b2\3\71\3\uffff\3\71\1\uffff\2\71\1\uffff\5\71\1\u00c4"+
+        "\1\71\1\u00c6\12\71\7\uffff\1\71\2\uffff\1\71\1\u00d8\7\71\5\uffff"+
+        "\4\71\10\uffff\3\71\1\uffff\3\71\1\uffff\14\71\1\u00fb\1\u00fc\5"+
+        "\71\1\uffff\16\71\1\u0111\2\71\1\uffff\1\u0115\1\uffff\2\71\1\u0118"+
+        "\16\71\1\uffff\2\71\1\u0129\13\71\1\u0135\1\u0136\1\71\1\u0138\1"+
+        "\u0139\10\71\1\u0143\6\71\2\uffff\7\71\1\u0151\2\71\1\u0155\5\71"+
+        "\1\u015b\3\71\1\uffff\3\71\1\uffff\2\71\1\uffff\20\71\1\uffff\10"+
+        "\71\1\u017c\2\71\2\uffff\1\71\2\uffff\11\71\1\uffff\5\71\1\u0192"+
+        "\4\71\1\u0197\1\u0198\1\u0199\1\uffff\3\71\1\uffff\1\u019d\4\71"+
+        "\1\uffff\1\u01a2\6\71\1\u01a9\30\71\1\uffff\1\71\1\u01c3\23\71\1"+
+        "\uffff\4\71\3\uffff\3\71\1\uffff\4\71\1\uffff\6\71\1\uffff\1\u01e8"+
+        "\4\71\1\u01ed\10\71\1\u01f6\3\71\1\u01fb\5\71\1\u0201\1\uffff\2"+
+        "\71\1\u0204\25\71\1\u021b\13\71\1\uffff\4\71\1\uffff\1\71\1\u022c"+
+        "\5\71\1\u0233\1\uffff\1\u0234\1\71\1\u0236\1\u0237\1\uffff\2\71"+
+        "\1\u023a\2\71\1\uffff\2\71\1\uffff\4\71\1\u0243\21\71\1\uffff\1"+
+        "\u0255\5\71\1\u025b\1\71\1\u025d\1\u025e\1\u025f\1\71\1\u0261\3"+
+        "\71\1\uffff\3\71\1\u026b\1\71\1\u026d\2\uffff\1\71\2\uffff\1\71"+
+        "\1\u0270\1\uffff\1\71\1\u0272\2\71\1\u0275\3\71\1\uffff\1\u0279"+
+        "\3\71\1\u027d\4\71\1\u0283\5\71\1\u0289\1\71\1\uffff\3\71\1\u028e"+
+        "\1\u028f\1\uffff\1\71\3\uffff\1\u0291\1\uffff\1\u0292\1\u0293\1"+
+        "\71\1\u0295\2\71\1\u0298\1\u0299\1\u029a\1\uffff\1\u029b\1\uffff"+
+        "\1\u029c\1\u029d\1\uffff\1\71\1\uffff\1\u029f\1\u02a0\1\uffff\1"+
+        "\u02a1\2\71\1\uffff\3\71\1\uffff\5\71\1\uffff\5\71\1\uffff\2\71"+
+        "\1\u02b3\1\71\2\uffff\1\71\3\uffff\1\71\1\uffff\2\71\6\uffff\1\u02ba"+
+        "\3\uffff\6\71\1\u02c1\2\71\1\u02c4\5\71\1\u02ca\1\u02cb\1\uffff"+
+        "\2\71\1\u02ce\3\71\1\uffff\6\71\1\uffff\1\71\1\u02d9\1\uffff\1\u02da"+
+        "\4\71\2\uffff\1\u02df\1\u02e0\1\uffff\1\u02e1\2\71\1\u02e4\2\71"+
+        "\1\u02e7\1\u02e8\2\71\2\uffff\1\71\1\u02ec\1\u02ed\1\71\3\uffff"+
+        "\2\71\1\uffff\1\71\1\u02f2\2\uffff\1\71\1\u02f4\1\71\2\uffff\4\71"+
+        "\1\uffff\1\71\1\uffff\1\71\1\u02fc\1\71\1\u02fe\3\71\1\uffff\1\71"+
+        "\1\uffff\3\71\1\u0306\3\71\1\uffff\3\71\1\u030d\2\71\1\uffff\1\u0310"+
+        "\1\u0311\2\uffff";
+    static final String DFA14_eofS =
         "\u0312\uffff";
-    static final String DFA16_minS =
+    static final String DFA14_minS =
         "\1\0\2\157\1\141\1\uffff\1\141\1\143\1\157\1\150\1\101\3\141\1"+
-        "\uffff\1\76\1\53\1\141\1\146\1\142\1\162\1\145\5\uffff\1\53\2\uffff"+
-        "\1\163\2\uffff\1\160\1\155\2\145\1\141\1\156\1\145\2\52\1\162\1"+
-        "\141\1\165\4\uffff\1\130\1\101\2\uffff\2\0\2\uffff\1\151\1\uffff"+
-        "\1\157\1\156\1\60\1\157\1\164\1\146\1\60\1\uffff\3\164\1\156\1\151"+
-        "\1\162\1\155\1\157\1\142\1\141\2\120\1\162\1\147\1\171\1\156\1\144"+
-        "\1\60\1\154\1\170\1\157\3\uffff\1\145\1\151\1\164\1\60\1\uffff\1"+
-        "\156\1\155\1\142\2\164\1\60\1\164\1\60\1\145\1\171\1\144\2\164\1"+
-        "\163\1\102\1\151\1\157\1\146\5\uffff\1\164\1\151\2\uffff\1\145\2"+
-        "\uffff\1\145\1\60\1\160\1\146\1\163\1\156\1\164\1\150\1\156\5\uffff"+
-        "\1\141\1\151\1\162\1\141\10\uffff\1\144\1\162\1\144\1\uffff\1\162"+
-        "\2\141\1\uffff\1\141\1\157\1\162\1\157\1\164\1\155\1\164\1\160\1"+
-        "\151\1\120\1\165\1\164\2\60\1\166\1\151\1\145\1\144\1\145\1\uffff"+
-        "\1\163\1\145\1\155\1\156\1\145\1\164\1\162\1\143\1\144\1\141\1\60"+
-        "\2\151\1\uffff\1\60\1\uffff\1\162\1\156\1\60\1\151\1\162\1\164\1"+
-        "\157\1\156\1\145\1\150\1\166\1\155\1\151\1\155\1\162\1\145\1\164"+
-        "\2\162\1\157\1\164\1\uffff\1\157\1\165\1\60\1\141\1\163\1\144\1"+
-        "\145\1\141\1\144\1\156\1\147\1\145\1\147\1\162\2\60\1\165\2\60\1"+
-        "\144\1\165\1\103\1\162\1\151\1\164\1\157\1\151\1\60\1\157\1\143"+
-        "\1\171\1\162\1\143\1\145\2\uffff\1\151\1\143\1\162\1\141\1\154\1"+
-        "\145\1\144\1\60\1\164\1\156\1\60\1\171\1\60\1\163\1\156\1\162\1"+
-        "\uffff\1\163\2\157\1\uffff\1\162\1\143\1\uffff\1\157\1\151\1\162"+
-        "\1\157\1\164\3\141\1\115\1\156\1\145\1\171\1\162\1\120\1\143\1\141"+
-        "\1\155\1\151\1\162\1\154\1\uffff\1\171\1\141\1\154\1\162\1\166\1"+
-        "\151\1\163\1\147\1\60\1\145\1\144\2\uffff\1\147\2\uffff\1\162\2"+
-        "\154\1\102\1\142\1\141\1\143\1\164\1\154\1\uffff\1\165\1\145\1\163"+
-        "\1\157\1\164\1\60\1\143\1\141\1\103\1\164\3\60\1\uffff\2\144\1\156"+
-        "\1\uffff\1\60\1\uffff\1\60\1\164\1\141\1\146\1\156\2\151\1\60\1"+
-        "\156\1\142\1\141\1\154\1\145\1\154\1\162\1\164\1\157\1\145\1\162"+
-        "\1\120\1\156\2\157\1\164\1\151\1\141\1\164\1\141\1\137\1\147\1\145"+
-        "\1\146\1\151\1\156\1\151\1\145\1\uffff\1\164\1\60\1\141\1\151\1"+
-        "\164\1\141\1\154\1\145\1\156\1\145\1\165\1\164\1\157\1\151\1\141"+
-        "\1\156\1\120\2\164\1\165\1\141\1\uffff\1\145\1\154\2\157\3\uffff"+
-        "\1\162\1\163\1\141\2\uffff\1\151\1\160\1\151\1\141\1\156\1\144\1"+
-        "\uffff\1\60\1\165\1\143\1\145\1\147\1\60\1\141\1\145\2\144\1\141"+
-        "\1\157\1\141\1\151\1\144\1\151\1\156\1\154\1\60\1\162\1\163\1\145"+
-        "\1\60\1\141\1\157\1\147\1\164\1\162\1\60\1\uffff\1\164\1\166\1\60"+
+        "\uffff\1\76\2\60\1\141\1\146\1\142\1\162\1\145\7\uffff\1\163\2\uffff"+
+        "\1\160\1\155\2\145\1\141\1\156\1\145\2\52\1\162\1\141\1\165\4\uffff"+
+        "\1\130\1\101\2\uffff\2\0\2\uffff\1\151\1\uffff\1\157\1\156\1\60"+
+        "\1\157\1\164\1\146\1\60\1\uffff\3\164\1\156\1\151\1\162\1\155\1"+
+        "\157\1\142\1\141\2\120\1\162\1\147\1\171\1\156\1\144\1\60\1\154"+
+        "\1\170\1\157\3\uffff\1\145\1\151\1\164\1\uffff\1\164\1\151\1\uffff"+
+        "\1\156\1\155\1\142\2\164\1\60\1\164\1\60\1\145\1\171\1\144\2\164"+
+        "\1\163\1\102\1\151\1\157\1\146\7\uffff\1\145\2\uffff\1\145\1\60"+
+        "\1\160\1\146\1\163\1\156\1\164\1\150\1\156\5\uffff\1\141\1\151\1"+
+        "\162\1\141\10\uffff\1\144\1\162\1\144\1\uffff\1\162\2\141\1\uffff"+
+        "\1\141\1\157\1\162\1\157\1\164\1\155\1\164\1\160\1\151\1\120\1\165"+
+        "\1\164\2\60\1\166\1\151\1\145\1\144\1\145\1\uffff\1\163\1\145\1"+
+        "\155\1\156\1\145\1\164\1\162\1\155\1\162\1\145\1\164\1\143\1\144"+
+        "\1\141\1\60\2\151\1\uffff\1\60\1\uffff\1\162\1\156\1\60\1\151\1"+
+        "\162\1\164\1\157\1\156\1\145\1\150\1\166\1\155\1\151\2\162\1\157"+
+        "\1\164\1\uffff\1\157\1\165\1\60\1\141\1\163\1\144\1\145\1\141\1"+
+        "\144\1\156\1\147\1\145\1\147\1\162\2\60\1\165\2\60\1\144\1\165\1"+
+        "\103\1\162\1\151\1\164\1\157\1\151\1\60\1\157\1\143\1\171\1\162"+
+        "\1\143\1\145\2\uffff\1\151\1\143\1\162\1\141\1\154\1\145\1\144\1"+
+        "\60\1\164\1\156\1\60\1\171\1\145\1\171\1\162\1\120\1\60\1\163\1"+
+        "\156\1\162\1\uffff\1\163\2\157\1\uffff\1\162\1\143\1\uffff\1\157"+
+        "\1\151\1\162\1\157\1\164\3\141\1\115\1\156\1\143\1\141\1\155\1\151"+
+        "\1\162\1\154\1\uffff\1\171\1\141\1\154\1\162\1\166\1\151\1\163\1"+
+        "\147\1\60\1\145\1\144\2\uffff\1\147\2\uffff\1\162\2\154\1\102\1"+
+        "\142\1\141\1\143\1\164\1\154\1\uffff\1\165\1\145\1\163\1\157\1\164"+
+        "\1\60\1\143\1\141\1\103\1\164\3\60\1\uffff\2\144\1\156\1\uffff\1"+
+        "\60\1\162\1\120\1\156\1\157\1\uffff\1\60\1\164\1\141\1\146\1\156"+
+        "\2\151\1\60\1\156\1\142\1\141\1\154\1\145\1\154\1\162\1\164\1\157"+
+        "\1\145\1\157\1\164\1\151\1\141\1\164\1\141\1\137\1\147\1\145\1\146"+
+        "\1\151\1\156\1\151\1\145\1\uffff\1\164\1\60\1\141\1\151\1\164\1"+
+        "\141\1\154\1\145\1\156\1\145\1\165\1\164\1\157\1\151\1\141\1\156"+
+        "\1\120\2\164\1\165\1\141\1\uffff\1\145\1\154\2\157\3\uffff\1\162"+
+        "\1\163\1\141\1\uffff\1\141\1\157\1\141\1\151\1\uffff\1\151\1\160"+
+        "\1\151\1\141\1\156\1\144\1\uffff\1\60\1\165\1\143\1\145\1\147\1"+
+        "\60\1\141\1\145\3\144\1\151\1\156\1\154\1\60\1\162\1\163\1\145\1"+
+        "\60\1\141\1\157\1\147\1\164\1\162\1\60\1\uffff\1\164\1\166\1\60"+
         "\1\163\1\141\1\150\1\163\1\146\1\164\1\151\1\154\1\166\1\163\1\144"+
         "\1\157\1\145\1\157\1\162\1\143\1\111\1\123\1\156\1\162\1\151\1\60"+
-        "\1\154\1\143\1\150\1\145\1\154\1\147\1\145\1\uffff\2\164\1\141\1"+
-        "\145\1\uffff\1\143\1\60\1\145\1\123\1\164\1\151\1\154\1\156\1\145"+
+        "\1\154\1\164\1\151\1\154\1\156\1\143\1\150\1\145\1\154\1\147\1\145"+
+        "\1\uffff\2\164\1\141\1\145\1\uffff\1\143\1\60\1\145\1\123\1\145"+
         "\1\157\1\147\1\60\1\uffff\1\60\1\141\2\60\1\uffff\1\143\1\162\1"+
         "\60\1\151\1\163\1\uffff\2\145\1\uffff\2\163\1\141\1\164\1\60\1\145"+
         "\1\157\1\103\1\145\1\163\1\120\1\151\1\155\1\143\1\145\1\150\1\155"+
-        "\1\171\1\150\1\156\1\171\1\166\1\uffff\1\60\1\163\1\60\1\144\3\60"+
-        "\1\145\1\60\1\156\1\162\1\164\1\uffff\1\154\1\164\1\162\1\151\1"+
-        "\156\1\124\1\164\1\60\1\156\1\60\2\uffff\1\160\2\uffff\1\145\1\60"+
-        "\1\uffff\1\157\1\60\1\144\1\156\1\60\1\163\1\166\1\141\1\uffff\1"+
-        "\60\1\156\1\154\1\124\1\60\1\162\1\156\1\103\1\157\1\60\1\151\1"+
-        "\160\1\163\1\162\1\145\1\60\1\145\1\uffff\1\60\1\uffff\1\137\3\uffff"+
-        "\1\60\1\uffff\2\60\1\145\1\60\2\141\1\157\1\164\1\171\4\60\1\uffff"+
-        "\1\60\1\uffff\2\60\1\uffff\1\156\1\uffff\2\60\1\uffff\1\60\1\151"+
-        "\1\156\1\uffff\1\124\1\141\1\171\1\uffff\1\157\1\164\1\154\1\145"+
-        "\1\154\1\uffff\1\156\1\154\1\164\1\145\1\143\1\uffff\1\156\1\uffff"+
-        "\1\142\3\uffff\1\162\1\uffff\1\164\2\156\1\60\1\160\7\uffff\1\60"+
-        "\3\uffff\1\157\1\143\1\171\1\163\1\160\1\164\1\60\1\141\1\146\1"+
-        "\60\3\145\1\141\1\164\1\60\1\171\1\60\1\145\1\163\1\60\1\uffff\1"+
-        "\145\1\157\1\uffff\1\162\1\145\1\160\1\163\1\145\1\157\1\uffff\1"+
-        "\163\1\60\1\uffff\1\60\2\155\1\144\1\151\1\uffff\1\60\1\uffff\1"+
-        "\60\1\151\1\uffff\1\60\1\151\1\60\1\115\1\145\2\60\1\143\1\163\2"+
-        "\uffff\1\145\2\60\1\157\2\uffff\1\164\1\uffff\1\156\1\uffff\1\141"+
-        "\1\60\2\uffff\1\157\1\60\1\156\2\uffff\1\156\1\151\1\164\1\160\1"+
-        "\uffff\1\154\1\uffff\1\164\1\60\1\157\1\60\1\160\1\103\1\141\1\uffff"+
-        "\1\156\1\uffff\1\151\1\154\1\164\1\60\1\156\1\141\1\151\1\uffff"+
-        "\1\147\1\163\1\157\1\60\1\163\1\156\1\uffff\2\60\2\uffff";
-    static final String DFA16_maxS =
+        "\1\171\1\150\1\156\1\171\1\166\1\uffff\1\60\1\151\1\156\1\124\1"+
+        "\164\1\163\1\60\1\144\3\60\1\145\1\60\1\156\1\162\1\164\1\uffff"+
+        "\1\154\1\164\1\162\1\60\1\156\1\60\2\uffff\1\160\2\uffff\1\145\1"+
+        "\60\1\uffff\1\157\1\60\1\144\1\156\1\60\1\163\1\166\1\141\1\uffff"+
+        "\1\60\1\156\1\154\1\124\1\60\1\162\1\156\1\103\1\157\1\60\1\151"+
+        "\1\160\1\163\1\162\1\145\1\60\1\145\1\uffff\1\157\1\164\1\171\2"+
+        "\60\1\uffff\1\137\3\uffff\1\60\1\uffff\2\60\1\145\1\60\2\141\3\60"+
+        "\1\uffff\1\60\1\uffff\2\60\1\uffff\1\156\1\uffff\2\60\1\uffff\1"+
+        "\60\1\151\1\156\1\uffff\1\124\1\141\1\171\1\uffff\1\157\1\164\1"+
+        "\154\1\145\1\154\1\uffff\1\156\1\154\1\164\1\145\1\143\1\uffff\2"+
+        "\156\1\60\1\160\2\uffff\1\142\3\uffff\1\162\1\uffff\1\164\1\156"+
+        "\6\uffff\1\60\3\uffff\1\157\1\143\1\171\1\163\1\160\1\164\1\60\1"+
+        "\141\1\146\1\60\3\145\1\141\1\164\2\60\1\uffff\1\145\1\171\1\60"+
+        "\1\145\1\163\1\157\1\uffff\1\162\1\145\1\160\1\163\1\145\1\157\1"+
+        "\uffff\1\163\1\60\1\uffff\1\60\2\155\1\144\1\151\2\uffff\2\60\1"+
+        "\uffff\1\60\2\151\1\60\1\115\1\145\2\60\1\143\1\163\2\uffff\1\145"+
+        "\2\60\1\157\3\uffff\1\164\1\156\1\uffff\1\141\1\60\2\uffff\1\157"+
+        "\1\60\1\156\2\uffff\1\156\1\151\1\164\1\160\1\uffff\1\154\1\uffff"+
+        "\1\164\1\60\1\157\1\60\1\160\1\103\1\141\1\uffff\1\156\1\uffff\1"+
+        "\151\1\154\1\164\1\60\1\156\1\141\1\151\1\uffff\1\147\1\163\1\157"+
+        "\1\60\1\163\1\156\1\uffff\2\60\2\uffff";
+    static final String DFA14_maxS =
         "\1\uffff\1\157\2\164\1\uffff\1\141\1\164\1\162\1\157\1\165\1\157"+
-        "\1\171\1\162\1\uffff\1\76\1\170\1\171\1\166\2\164\1\157\5\uffff"+
-        "\1\170\2\uffff\1\163\2\uffff\1\160\1\156\2\145\1\141\1\156\1\151"+
-        "\1\57\1\52\2\162\1\165\4\uffff\1\170\1\172\2\uffff\2\uffff\2\uffff"+
-        "\1\151\1\uffff\1\157\1\156\1\172\1\157\1\164\1\146\1\172\1\uffff"+
-        "\3\164\1\156\1\157\1\162\1\155\1\157\1\142\1\162\2\120\1\162\1\147"+
-        "\1\171\1\156\1\144\1\172\1\154\1\170\1\157\3\uffff\1\145\2\164\1"+
-        "\172\1\uffff\2\156\1\142\2\164\1\172\1\164\1\172\1\145\1\171\1\144"+
-        "\2\164\1\163\1\122\1\151\1\157\1\146\5\uffff\1\165\1\164\2\uffff"+
-        "\1\145\2\uffff\1\145\1\172\1\160\1\154\1\163\1\156\1\164\1\150\1"+
-        "\156\5\uffff\1\141\1\165\1\162\1\141\10\uffff\1\144\1\162\1\152"+
-        "\1\uffff\1\162\2\141\1\uffff\1\141\1\157\1\162\1\157\1\164\1\155"+
-        "\1\164\1\160\1\151\1\123\1\165\1\164\2\172\1\166\1\151\1\145\1\144"+
-        "\1\145\1\uffff\1\163\1\145\1\155\1\156\1\145\1\164\1\162\1\143\1"+
-        "\144\1\141\1\172\2\151\1\uffff\1\172\1\uffff\1\162\1\156\1\172\1"+
-        "\151\1\162\1\164\1\157\1\156\1\145\1\150\1\166\1\155\1\151\1\155"+
-        "\1\162\1\145\1\164\2\162\1\157\1\164\1\uffff\1\157\1\165\1\172\1"+
-        "\141\1\163\1\144\1\145\1\141\1\144\1\156\1\147\1\145\1\147\1\162"+
-        "\2\172\1\165\2\172\1\144\1\165\1\103\1\162\1\151\1\164\1\157\1\151"+
-        "\1\172\1\157\1\143\1\171\1\162\1\143\1\145\2\uffff\1\151\1\143\1"+
-        "\162\1\141\1\154\1\145\1\144\1\172\1\164\1\162\1\172\1\171\1\172"+
+        "\1\171\1\162\1\uffff\1\76\2\172\1\171\1\166\2\164\1\157\7\uffff"+
+        "\1\163\2\uffff\1\160\1\156\2\145\1\141\1\156\1\151\1\57\1\52\2\162"+
+        "\1\165\4\uffff\1\170\1\172\2\uffff\2\uffff\2\uffff\1\151\1\uffff"+
+        "\1\157\1\156\1\172\1\157\1\164\1\146\1\172\1\uffff\3\164\1\156\1"+
+        "\157\1\162\1\155\1\157\1\142\1\162\2\120\1\162\1\147\1\171\1\156"+
+        "\1\144\1\172\1\154\1\170\1\157\3\uffff\1\145\2\164\1\uffff\1\165"+
+        "\1\164\1\uffff\2\156\1\142\2\164\1\172\1\164\1\172\1\145\1\171\1"+
+        "\144\2\164\1\163\1\122\1\151\1\157\1\146\7\uffff\1\145\2\uffff\1"+
+        "\145\1\172\1\160\1\154\1\163\1\156\1\164\1\150\1\156\5\uffff\1\141"+
+        "\1\165\1\162\1\141\10\uffff\1\144\1\162\1\152\1\uffff\1\162\2\141"+
+        "\1\uffff\1\141\1\157\1\162\1\157\1\164\1\155\1\164\1\160\1\151\1"+
+        "\123\1\165\1\164\2\172\1\166\1\151\1\145\1\144\1\145\1\uffff\1\163"+
+        "\1\145\1\155\1\156\1\145\1\164\1\162\1\155\1\162\1\145\1\164\1\143"+
+        "\1\144\1\141\1\172\2\151\1\uffff\1\172\1\uffff\1\162\1\156\1\172"+
+        "\1\151\1\162\1\164\1\157\1\156\1\145\1\150\1\166\1\155\1\151\2\162"+
+        "\1\157\1\164\1\uffff\1\157\1\165\1\172\1\141\1\163\1\144\1\145\1"+
+        "\141\1\144\1\156\1\147\1\145\1\147\1\162\2\172\1\165\2\172\1\144"+
+        "\1\165\1\103\1\162\1\151\1\164\1\157\1\151\1\172\1\157\1\143\1\171"+
+        "\1\162\1\143\1\145\2\uffff\1\151\1\143\1\162\1\141\1\154\1\145\1"+
+        "\144\1\172\1\164\1\162\1\172\1\171\1\145\1\171\1\162\1\120\1\172"+
         "\1\163\1\156\1\162\1\uffff\1\163\2\157\1\uffff\1\162\1\143\1\uffff"+
-        "\1\157\1\151\1\162\1\157\1\164\3\141\1\115\1\156\1\145\1\171\1\162"+
-        "\1\120\1\143\1\141\1\155\1\151\1\162\1\154\1\uffff\1\171\1\141\1"+
-        "\154\1\162\1\166\1\151\1\163\1\147\1\172\1\145\1\144\2\uffff\1\147"+
-        "\2\uffff\1\162\2\154\1\122\1\142\1\141\1\143\1\164\1\154\1\uffff"+
-        "\1\165\1\145\1\163\1\157\1\164\1\172\1\143\1\141\1\103\1\164\3\172"+
-        "\1\uffff\2\144\1\156\1\uffff\1\172\1\uffff\1\172\1\164\1\141\1\146"+
-        "\1\156\2\151\1\172\1\156\1\142\1\141\1\154\1\145\1\154\1\162\1\164"+
-        "\1\157\1\145\1\162\1\120\1\156\2\157\1\164\1\151\1\141\1\164\1\141"+
-        "\1\137\1\147\1\145\1\146\1\151\1\156\1\151\1\145\1\uffff\1\164\1"+
-        "\172\1\141\1\151\1\164\1\141\1\154\1\145\1\156\1\145\1\165\1\164"+
-        "\1\157\1\151\1\141\1\156\1\120\2\164\1\165\1\141\1\uffff\1\145\1"+
-        "\154\2\157\3\uffff\1\162\1\163\1\141\2\uffff\1\151\1\160\1\151\1"+
-        "\141\1\156\1\144\1\uffff\1\172\1\165\1\143\1\145\1\147\1\172\1\141"+
-        "\1\145\2\144\1\141\1\157\1\141\1\151\1\144\1\151\1\156\1\154\1\172"+
-        "\1\162\1\163\1\145\1\172\1\141\1\157\1\147\1\164\1\162\1\172\1\uffff"+
-        "\1\164\1\166\1\172\1\163\1\141\1\150\1\163\1\146\1\164\1\151\1\154"+
+        "\1\157\1\151\1\162\1\157\1\164\3\141\1\115\1\156\1\143\1\141\1\155"+
+        "\1\151\1\162\1\154\1\uffff\1\171\1\141\1\154\1\162\1\166\1\151\1"+
+        "\163\1\147\1\172\1\145\1\144\2\uffff\1\147\2\uffff\1\162\2\154\1"+
+        "\122\1\142\1\141\1\143\1\164\1\154\1\uffff\1\165\1\145\1\163\1\157"+
+        "\1\164\1\172\1\143\1\141\1\103\1\164\3\172\1\uffff\2\144\1\156\1"+
+        "\uffff\1\172\1\162\1\120\1\156\1\157\1\uffff\1\172\1\164\1\141\1"+
+        "\146\1\156\2\151\1\172\1\156\1\142\1\141\1\154\1\145\1\154\1\162"+
+        "\1\164\1\157\1\145\1\157\1\164\1\151\1\141\1\164\1\141\1\137\1\147"+
+        "\1\145\1\146\1\151\1\156\1\151\1\145\1\uffff\1\164\1\172\1\141\1"+
+        "\151\1\164\1\141\1\154\1\145\1\156\1\145\1\165\1\164\1\157\1\151"+
+        "\1\141\1\156\1\120\2\164\1\165\1\141\1\uffff\1\145\1\154\2\157\3"+
+        "\uffff\1\162\1\163\1\141\1\uffff\1\141\1\157\1\141\1\151\1\uffff"+
+        "\1\151\1\160\1\151\1\141\1\156\1\144\1\uffff\1\172\1\165\1\143\1"+
+        "\145\1\147\1\172\1\141\1\145\3\144\1\151\1\156\1\154\1\172\1\162"+
+        "\1\163\1\145\1\172\1\141\1\157\1\147\1\164\1\162\1\172\1\uffff\1"+
+        "\164\1\166\1\172\1\163\1\141\1\150\1\163\1\146\1\164\1\151\1\154"+
         "\1\166\1\163\1\144\1\157\1\145\1\157\1\162\1\143\1\111\1\124\1\156"+
-        "\1\162\1\151\1\172\1\154\1\143\1\150\1\145\1\154\1\147\1\145\1\uffff"+
-        "\2\164\1\141\1\145\1\uffff\1\143\1\172\1\145\1\124\1\164\1\151\1"+
-        "\154\1\156\1\145\1\157\1\147\1\172\1\uffff\1\172\1\141\2\172\1\uffff"+
-        "\1\143\1\162\1\172\1\151\1\163\1\uffff\2\145\1\uffff\2\163\1\141"+
-        "\1\164\1\172\1\145\1\157\1\103\1\145\1\163\1\120\1\151\1\155\1\143"+
-        "\1\145\1\150\1\155\1\171\1\150\1\156\1\171\1\166\1\uffff\1\172\1"+
-        "\163\1\172\1\144\3\172\1\145\1\172\1\156\1\162\1\164\1\uffff\1\154"+
-        "\1\164\1\162\1\151\1\156\1\124\1\164\1\172\1\156\1\172\2\uffff\1"+
-        "\160\2\uffff\1\145\1\172\1\uffff\1\157\1\172\1\144\1\156\1\172\1"+
-        "\163\1\166\1\141\1\uffff\1\172\1\156\1\154\1\124\1\172\1\162\1\156"+
-        "\1\122\1\157\1\172\1\151\1\160\1\163\1\162\1\145\1\172\1\145\1\uffff"+
-        "\1\172\1\uffff\1\137\3\uffff\1\172\1\uffff\2\172\1\145\1\172\2\141"+
-        "\1\157\1\164\1\171\4\172\1\uffff\1\172\1\uffff\2\172\1\uffff\1\156"+
-        "\1\uffff\2\172\1\uffff\1\172\1\151\1\156\1\uffff\1\124\1\141\1\171"+
-        "\1\uffff\1\157\1\164\1\154\1\145\1\154\1\uffff\1\156\1\154\1\164"+
-        "\1\145\1\143\1\uffff\1\156\1\uffff\1\142\3\uffff\1\162\1\uffff\1"+
-        "\164\2\156\1\172\1\160\7\uffff\1\172\3\uffff\1\157\1\143\1\171\1"+
-        "\163\1\160\1\164\1\172\1\141\1\146\1\172\3\145\1\141\1\164\1\172"+
-        "\1\171\1\172\1\145\1\163\1\172\1\uffff\1\145\1\157\1\uffff\1\162"+
-        "\1\145\1\160\1\163\1\145\1\157\1\uffff\1\163\1\172\1\uffff\1\172"+
-        "\2\155\1\144\1\151\1\uffff\1\172\1\uffff\1\172\1\151\1\uffff\1\172"+
-        "\1\151\1\172\1\115\1\145\2\172\1\143\1\163\2\uffff\1\145\2\172\1"+
-        "\157\2\uffff\1\164\1\uffff\1\156\1\uffff\1\141\1\172\2\uffff\1\157"+
-        "\1\172\1\156\2\uffff\1\156\1\151\1\164\1\160\1\uffff\1\154\1\uffff"+
-        "\1\164\1\172\1\157\1\172\1\160\1\103\1\141\1\uffff\1\156\1\uffff"+
-        "\1\151\1\154\1\164\1\172\1\156\1\141\1\151\1\uffff\1\147\1\163\1"+
-        "\157\1\172\1\163\1\156\1\uffff\2\172\2\uffff";
-    static final String DFA16_acceptS =
-        "\4\uffff\1\4\10\uffff\1\17\7\uffff\1\34\1\35\1\36\1\42\1\43\1\uffff"+
-        "\1\46\1\47\1\uffff\1\56\1\57\14\uffff\1\145\1\146\1\147\1\153\2"+
-        "\uffff\1\171\1\172\2\uffff\1\176\1\177\1\uffff\1\171\7\uffff\1\4"+
-        "\25\uffff\1\17\1\40\1\20\4\uffff\1\167\22\uffff\1\34\1\35\1\36\1"+
-        "\42\1\43\2\uffff\1\46\1\47\1\uffff\1\56\1\57\11\uffff\1\174\1\175"+
-        "\1\106\1\161\1\111\4\uffff\1\145\1\146\1\147\1\153\1\170\1\172\1"+
-        "\173\1\176\3\uffff\1\144\3\uffff\1\124\23\uffff\1\143\15\uffff\1"+
-        "\45\1\uffff\1\137\25\uffff\1\151\42\uffff\1\100\1\101\20\uffff\1"+
-        "\112\3\uffff\1\152\2\uffff\1\110\24\uffff\1\115\13\uffff\1\1\1\2"+
-        "\1\uffff\1\141\1\3\11\uffff\1\76\15\uffff\1\160\3\uffff\1\123\1"+
-        "\uffff\1\23\44\uffff\1\166\25\uffff\1\121\4\uffff\1\15\1\16\1\24"+
-        "\3\uffff\1\122\1\61\6\uffff\1\26\35\uffff\1\140\40\uffff\1\135\4"+
-        "\uffff\1\31\14\uffff\1\157\4\uffff\1\72\5\uffff\1\155\2\uffff\1"+
-        "\41\26\uffff\1\51\14\uffff\1\163\12\uffff\1\134\1\64\1\uffff\1\70"+
-        "\1\165\2\uffff\1\107\10\uffff\1\117\21\uffff\1\77\1\uffff\1\125"+
-        "\1\uffff\1\25\1\63\1\162\1\uffff\1\164\15\uffff\1\71\1\uffff\1\62"+
-        "\2\uffff\1\75\1\uffff\1\136\2\uffff\1\5\3\uffff\1\55\3\uffff\1\65"+
-        "\5\uffff\1\74\5\uffff\1\14\1\uffff\1\150\1\uffff\1\156\1\27\1\30"+
-        "\1\uffff\1\33\5\uffff\1\131\1\52\1\53\1\54\1\60\1\116\1\73\1\uffff"+
-        "\1\66\1\22\1\6\25\uffff\1\130\2\uffff\1\133\6\uffff\1\132\2\uffff"+
-        "\1\67\5\uffff\1\21\1\uffff\1\32\2\uffff\1\44\11\uffff\1\103\1\120"+
-        "\4\uffff\1\114\1\126\1\uffff\1\50\1\uffff\1\7\2\uffff\1\10\1\37"+
-        "\3\uffff\1\13\1\104\4\uffff\1\154\1\uffff\1\12\7\uffff\1\113\1\uffff"+
-        "\1\127\7\uffff\1\142\6\uffff\1\105\2\uffff\1\11\1\102";
-    static final String DFA16_specialS =
-        "\1\2\63\uffff\1\1\1\0\u02dc\uffff}>";
-    static final String[] DFA16_transitionS = {
-            "\11\67\2\66\2\67\1\66\22\67\1\66\1\67\1\64\4\67\1\65\1\30\1"+
-            "\31\1\4\1\15\1\33\1\16\1\50\1\47\1\60\11\63\1\27\1\67\1\54\1"+
-            "\34\1\55\1\67\1\57\1\6\1\46\1\10\1\5\1\32\3\62\1\45\2\62\1\12"+
-            "\1\43\1\62\1\40\1\7\1\62\1\24\1\11\1\51\6\62\1\36\1\67\1\37"+
-            "\1\61\1\62\1\67\1\22\1\62\1\2\1\3\1\17\1\14\1\53\1\44\1\41\3"+
-            "\62\1\13\1\62\1\21\1\23\1\62\1\42\1\20\1\52\1\35\1\1\4\62\1"+
-            "\25\1\56\1\26\uff82\67",
+        "\1\162\1\151\1\172\1\154\1\164\1\151\1\154\1\156\1\143\1\150\1\145"+
+        "\1\154\1\147\1\145\1\uffff\2\164\1\141\1\145\1\uffff\1\143\1\172"+
+        "\1\145\1\124\1\145\1\157\1\147\1\172\1\uffff\1\172\1\141\2\172\1"+
+        "\uffff\1\143\1\162\1\172\1\151\1\163\1\uffff\2\145\1\uffff\2\163"+
+        "\1\141\1\164\1\172\1\145\1\157\1\103\1\145\1\163\1\120\1\151\1\155"+
+        "\1\143\1\145\1\150\1\155\1\171\1\150\1\156\1\171\1\166\1\uffff\1"+
+        "\172\1\151\1\156\1\124\1\164\1\163\1\172\1\144\3\172\1\145\1\172"+
+        "\1\156\1\162\1\164\1\uffff\1\154\1\164\1\162\1\172\1\156\1\172\2"+
+        "\uffff\1\160\2\uffff\1\145\1\172\1\uffff\1\157\1\172\1\144\1\156"+
+        "\1\172\1\163\1\166\1\141\1\uffff\1\172\1\156\1\154\1\124\1\172\1"+
+        "\162\1\156\1\122\1\157\1\172\1\151\1\160\1\163\1\162\1\145\1\172"+
+        "\1\145\1\uffff\1\157\1\164\1\171\2\172\1\uffff\1\137\3\uffff\1\172"+
+        "\1\uffff\2\172\1\145\1\172\2\141\3\172\1\uffff\1\172\1\uffff\2\172"+
+        "\1\uffff\1\156\1\uffff\2\172\1\uffff\1\172\1\151\1\156\1\uffff\1"+
+        "\124\1\141\1\171\1\uffff\1\157\1\164\1\154\1\145\1\154\1\uffff\1"+
+        "\156\1\154\1\164\1\145\1\143\1\uffff\2\156\1\172\1\160\2\uffff\1"+
+        "\142\3\uffff\1\162\1\uffff\1\164\1\156\6\uffff\1\172\3\uffff\1\157"+
+        "\1\143\1\171\1\163\1\160\1\164\1\172\1\141\1\146\1\172\3\145\1\141"+
+        "\1\164\2\172\1\uffff\1\145\1\171\1\172\1\145\1\163\1\157\1\uffff"+
+        "\1\162\1\145\1\160\1\163\1\145\1\157\1\uffff\1\163\1\172\1\uffff"+
+        "\1\172\2\155\1\144\1\151\2\uffff\2\172\1\uffff\1\172\2\151\1\172"+
+        "\1\115\1\145\2\172\1\143\1\163\2\uffff\1\145\2\172\1\157\3\uffff"+
+        "\1\164\1\156\1\uffff\1\141\1\172\2\uffff\1\157\1\172\1\156\2\uffff"+
+        "\1\156\1\151\1\164\1\160\1\uffff\1\154\1\uffff\1\164\1\172\1\157"+
+        "\1\172\1\160\1\103\1\141\1\uffff\1\156\1\uffff\1\151\1\154\1\164"+
+        "\1\172\1\156\1\141\1\151\1\uffff\1\147\1\163\1\157\1\172\1\163\1"+
+        "\156\1\uffff\2\172\2\uffff";
+    static final String DFA14_acceptS =
+        "\4\uffff\1\4\10\uffff\1\17\10\uffff\1\36\1\37\1\40\1\44\1\45\1"+
+        "\50\1\51\1\uffff\1\60\1\61\14\uffff\1\147\1\150\1\151\1\155\2\uffff"+
+        "\1\172\1\173\2\uffff\1\177\1\u0080\1\uffff\1\172\7\uffff\1\4\25"+
+        "\uffff\1\17\1\42\1\20\3\uffff\1\21\2\uffff\1\22\22\uffff\1\36\1"+
+        "\37\1\40\1\44\1\45\1\50\1\51\1\uffff\1\60\1\61\11\uffff\1\175\1"+
+        "\176\1\110\1\163\1\113\4\uffff\1\147\1\150\1\151\1\155\1\171\1\173"+
+        "\1\174\1\177\3\uffff\1\146\3\uffff\1\126\23\uffff\1\145\21\uffff"+
+        "\1\47\1\uffff\1\141\21\uffff\1\153\42\uffff\1\102\1\103\24\uffff"+
+        "\1\114\3\uffff\1\154\2\uffff\1\112\20\uffff\1\117\13\uffff\1\1\1"+
+        "\2\1\uffff\1\143\1\3\11\uffff\1\100\15\uffff\1\162\3\uffff\1\125"+
+        "\5\uffff\1\25\40\uffff\1\170\25\uffff\1\123\4\uffff\1\15\1\16\1"+
+        "\26\3\uffff\1\124\4\uffff\1\63\6\uffff\1\30\31\uffff\1\142\44\uffff"+
+        "\1\137\4\uffff\1\33\10\uffff\1\161\4\uffff\1\74\5\uffff\1\157\2"+
+        "\uffff\1\43\26\uffff\1\53\20\uffff\1\165\6\uffff\1\136\1\66\1\uffff"+
+        "\1\72\1\167\2\uffff\1\111\10\uffff\1\121\21\uffff\1\101\5\uffff"+
+        "\1\127\1\uffff\1\27\1\65\1\164\1\uffff\1\166\11\uffff\1\73\1\uffff"+
+        "\1\64\2\uffff\1\77\1\uffff\1\140\2\uffff\1\5\3\uffff\1\57\3\uffff"+
+        "\1\67\5\uffff\1\76\5\uffff\1\14\4\uffff\1\133\1\152\1\uffff\1\160"+
+        "\1\31\1\32\1\uffff\1\35\2\uffff\1\54\1\55\1\56\1\62\1\120\1\75\1"+
+        "\uffff\1\70\1\24\1\6\21\uffff\1\132\6\uffff\1\135\6\uffff\1\134"+
+        "\2\uffff\1\71\5\uffff\1\23\1\46\2\uffff\1\34\12\uffff\1\105\1\122"+
+        "\4\uffff\1\52\1\116\1\130\2\uffff\1\7\2\uffff\1\10\1\41\3\uffff"+
+        "\1\13\1\106\4\uffff\1\156\1\uffff\1\12\7\uffff\1\115\1\uffff\1\131"+
+        "\7\uffff\1\144\6\uffff\1\107\2\uffff\1\11\1\104";
+    static final String DFA14_specialS =
+        "\1\0\63\uffff\1\1\1\2\u02dc\uffff}>";
+    static final String[] DFA14_transitionS = {
+            "\11\67\2\66\2\67\1\66\22\67\1\66\1\67\1\64\4\67\1\65\1\31\1"+
+            "\32\1\4\1\15\1\33\1\16\1\50\1\47\1\60\11\63\1\30\1\67\1\54\1"+
+            "\34\1\55\1\67\1\57\1\6\1\46\1\10\1\5\1\20\3\62\1\45\2\62\1\12"+
+            "\1\43\1\62\1\40\1\7\1\62\1\25\1\11\1\51\6\62\1\36\1\67\1\37"+
+            "\1\61\1\62\1\67\1\23\1\62\1\2\1\3\1\17\1\14\1\53\1\44\1\41\3"+
+            "\62\1\13\1\62\1\22\1\24\1\62\1\42\1\21\1\52\1\35\1\1\4\62\1"+
+            "\26\1\56\1\27\uff82\67",
             "\1\70",
             "\1\73\1\74\3\uffff\1\72",
             "\1\76\3\uffff\1\77\11\uffff\1\100\4\uffff\1\75",
@@ -4420,20 +4384,20 @@
             "\1\124\7\uffff\1\125\10\uffff\1\126",
             "",
             "\1\130",
-            "\1\136\1\uffff\1\136\2\uffff\12\135\64\uffff\1\134\7\uffff"+
-            "\1\132\1\uffff\1\133",
-            "\1\142\3\uffff\1\140\17\uffff\1\141\3\uffff\1\137",
-            "\1\144\11\uffff\1\143\1\uffff\1\146\2\uffff\1\145\1\147",
-            "\1\154\1\152\12\uffff\1\151\4\uffff\1\150\1\153",
-            "\1\156\1\uffff\1\155",
-            "\1\160\11\uffff\1\157",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\15\71\1\134\7\71"+
+            "\1\132\1\71\1\133\2\71",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\15\71\1\136\11\71"+
+            "\1\137\2\71",
+            "\1\144\3\uffff\1\142\17\uffff\1\143\3\uffff\1\141",
+            "\1\146\11\uffff\1\145\1\uffff\1\150\2\uffff\1\147\1\151",
+            "\1\156\1\154\12\uffff\1\153\4\uffff\1\152\1\155",
+            "\1\160\1\uffff\1\157",
+            "\1\162\11\uffff\1\161",
             "",
             "",
             "",
             "",
             "",
-            "\1\136\1\uffff\1\136\2\uffff\12\135\64\uffff\1\166\11\uffff"+
-            "\1\167",
             "",
             "",
             "\1\172",
@@ -4500,33 +4464,33 @@
             "\1\u00b6",
             "\1\u00b8\12\uffff\1\u00b7",
             "\1\u00b9",
-            "\12\135\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "",
-            "\1\u00ba",
-            "\1\u00bc\1\u00bb",
-            "\1\u00bd",
+            "\1\u00bb\1\u00ba",
+            "\1\u00bd\12\uffff\1\u00bc",
+            "",
             "\1\u00be",
-            "\1\u00bf",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u00c0\1\u00bf",
             "\1\u00c1",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u00c2",
             "\1\u00c3",
-            "\1\u00c4",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u00c5",
-            "\1\u00c6",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u00c7",
             "\1\u00c8",
-            "\1\u00c9\1\u00cc\5\uffff\1\u00ca\10\uffff\1\u00cb",
-            "\1\u00cd",
-            "\1\u00ce",
-            "\1\u00cf",
+            "\1\u00c9",
+            "\1\u00ca",
+            "\1\u00cb",
+            "\1\u00cc",
+            "\1\u00cd\1\u00d0\5\uffff\1\u00ce\10\uffff\1\u00cf",
+            "\1\u00d1",
+            "\1\u00d2",
+            "\1\u00d3",
             "",
             "",
             "",
             "",
             "",
-            "\1\u00d1\1\u00d0",
-            "\1\u00d3\12\uffff\1\u00d2",
             "",
             "",
             "\1\u00d4",
@@ -4597,21 +4561,21 @@
             "\1\u0109",
             "\1\u010a",
             "\1\u010b",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\6\71\1\u010c\23"+
-            "\71",
+            "\1\u010c",
+            "\1\u010d",
             "\1\u010e",
             "\1\u010f",
-            "",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\6\71\1\u0110\23"+
             "\71",
-            "",
             "\1\u0112",
             "\1\u0113",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
-            "\1\u0115",
+            "",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\6\71\1\u0114\23"+
+            "\71",
+            "",
             "\1\u0116",
             "\1\u0117",
-            "\1\u0118",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u0119",
             "\1\u011a",
             "\1\u011b",
@@ -4676,22 +4640,22 @@
             "\1\u0153\3\uffff\1\u0154",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u0156",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u0157",
             "\1\u0158",
             "\1\u0159",
             "\1\u015a",
-            "",
-            "\1\u015b",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u015c",
             "\1\u015d",
-            "",
             "\1\u015e",
-            "\1\u015f",
             "",
+            "\1\u015f",
             "\1\u0160",
             "\1\u0161",
+            "",
             "\1\u0162",
             "\1\u0163",
+            "",
             "\1\u0164",
             "\1\u0165",
             "\1\u0166",
@@ -4755,19 +4719,19 @@
             "\1\u019c",
             "",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
-            "",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u019e",
             "\1\u019f",
             "\1\u01a0",
             "\1\u01a1",
-            "\1\u01a2",
+            "",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u01a3",
             "\1\u01a4",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u01a5",
             "\1\u01a6",
             "\1\u01a7",
             "\1\u01a8",
-            "\1\u01a9",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u01aa",
             "\1\u01ab",
             "\1\u01ac",
@@ -4826,24 +4790,24 @@
             "\1\u01dc",
             "\1\u01dd",
             "",
-            "",
             "\1\u01de",
             "\1\u01df",
             "\1\u01e0",
             "\1\u01e1",
+            "",
             "\1\u01e2",
             "\1\u01e3",
-            "",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u01e4",
             "\1\u01e5",
             "\1\u01e6",
             "\1\u01e7",
-            "\1\u01e8",
+            "",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u01e9",
             "\1\u01ea",
             "\1\u01eb",
             "\1\u01ec",
-            "\1\u01ed",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u01ee",
             "\1\u01ef",
             "\1\u01f0",
@@ -4897,20 +4861,20 @@
             "\1\u0220",
             "\1\u0221",
             "\1\u0222",
-            "",
             "\1\u0223",
             "\1\u0224",
             "\1\u0225",
             "\1\u0226",
             "",
             "\1\u0227",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u0228",
             "\1\u0229",
-            "\1\u022a\1\u022b",
-            "\1\u022c",
+            "\1\u022a",
+            "",
+            "\1\u022b",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u022d",
-            "\1\u022e",
-            "\1\u022f",
+            "\1\u022e\1\u022f",
             "\1\u0230",
             "\1\u0231",
             "\1\u0232",
@@ -4955,21 +4919,21 @@
             "",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u0256",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u0257",
             "\1\u0258",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u0259",
+            "\1\u025a",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u025c",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
-            "\1\u025e",
-            "\1\u025f",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u0260",
-            "",
-            "\1\u0261",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u0262",
             "\1\u0263",
             "\1\u0264",
+            "",
             "\1\u0265",
             "\1\u0266",
             "\1\u0267",
@@ -5012,24 +4976,24 @@
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u028a",
             "",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
-            "",
+            "\1\u028b",
             "\1\u028c",
-            "",
-            "",
-            "",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
-            "",
+            "\1\u028d",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "",
             "\1\u0290",
+            "",
+            "",
+            "",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
-            "\1\u0292",
-            "\1\u0293",
+            "",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u0294",
-            "\1\u0295",
-            "\1\u0296",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u0296",
+            "\1\u0297",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
@@ -5065,20 +5029,20 @@
             "\1\u02b0",
             "",
             "\1\u02b1",
-            "",
             "\1\u02b2",
-            "",
-            "",
-            "",
-            "\1\u02b3",
-            "",
-            "\1\u02b4",
-            "\1\u02b5",
-            "\1\u02b6",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
-            "\1\u02b8",
+            "\1\u02b4",
             "",
             "",
+            "\1\u02b5",
+            "",
+            "",
+            "",
+            "\1\u02b6",
+            "",
+            "\1\u02b7",
+            "\1\u02b8",
+            "",
             "",
             "",
             "",
@@ -5105,12 +5069,12 @@
             "\1\u02c8",
             "\1\u02c9",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
-            "\1\u02cb",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
-            "\1\u02cd",
-            "\1\u02ce",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "",
+            "\1\u02cc",
+            "\1\u02cd",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u02cf",
             "\1\u02d0",
             "\1\u02d1",
             "",
@@ -5130,12 +5094,12 @@
             "\1\u02dd",
             "\1\u02de",
             "",
+            "",
+            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
-            "\1\u02e1",
-            "",
-            "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
+            "\1\u02e2",
             "\1\u02e3",
             "\12\71\7\uffff\32\71\4\uffff\1\71\1\uffff\32\71",
             "\1\u02e5",
@@ -5152,8 +5116,8 @@
             "\1\u02ee",
             "",
             "",
-            "\1\u02ef",
             "",
+            "\1\u02ef",
             "\1\u02f0",
             "",
             "\1\u02f1",
@@ -5203,181 +5167,181 @@
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | RULE_HEX | 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 LA16_53 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_53>='\u0000' && LA16_53<='\uFFFF')) ) {s = 149;}
+                        if ( (LA14_0=='v') ) {s = 1;}
 
-                        else s = 55;
+                        else if ( (LA14_0=='c') ) {s = 2;}
+
+                        else if ( (LA14_0=='d') ) {s = 3;}
+
+                        else if ( (LA14_0=='*') ) {s = 4;}
+
+                        else if ( (LA14_0=='D') ) {s = 5;}
+
+                        else if ( (LA14_0=='A') ) {s = 6;}
+
+                        else if ( (LA14_0=='P') ) {s = 7;}
+
+                        else if ( (LA14_0=='C') ) {s = 8;}
+
+                        else if ( (LA14_0=='S') ) {s = 9;}
+
+                        else if ( (LA14_0=='L') ) {s = 10;}
+
+                        else if ( (LA14_0=='m') ) {s = 11;}
+
+                        else if ( (LA14_0=='f') ) {s = 12;}
+
+                        else if ( (LA14_0=='+') ) {s = 13;}
+
+                        else if ( (LA14_0=='-') ) {s = 14;}
+
+                        else if ( (LA14_0=='e') ) {s = 15;}
+
+                        else if ( (LA14_0=='E') ) {s = 16;}
+
+                        else if ( (LA14_0=='s') ) {s = 17;}
+
+                        else if ( (LA14_0=='o') ) {s = 18;}
+
+                        else if ( (LA14_0=='a') ) {s = 19;}
+
+                        else if ( (LA14_0=='p') ) {s = 20;}
+
+                        else if ( (LA14_0=='R') ) {s = 21;}
+
+                        else if ( (LA14_0=='{') ) {s = 22;}
+
+                        else if ( (LA14_0=='}') ) {s = 23;}
+
+                        else if ( (LA14_0==':') ) {s = 24;}
+
+                        else if ( (LA14_0=='(') ) {s = 25;}
+
+                        else if ( (LA14_0==')') ) {s = 26;}
+
+                        else if ( (LA14_0==',') ) {s = 27;}
+
+                        else if ( (LA14_0=='=') ) {s = 28;}
+
+                        else if ( (LA14_0=='u') ) {s = 29;}
+
+                        else if ( (LA14_0=='[') ) {s = 30;}
+
+                        else if ( (LA14_0==']') ) {s = 31;}
+
+                        else if ( (LA14_0=='O') ) {s = 32;}
+
+                        else if ( (LA14_0=='i') ) {s = 33;}
+
+                        else if ( (LA14_0=='r') ) {s = 34;}
+
+                        else if ( (LA14_0=='M') ) {s = 35;}
+
+                        else if ( (LA14_0=='h') ) {s = 36;}
+
+                        else if ( (LA14_0=='I') ) {s = 37;}
+
+                        else if ( (LA14_0=='B') ) {s = 38;}
+
+                        else if ( (LA14_0=='/') ) {s = 39;}
+
+                        else if ( (LA14_0=='.') ) {s = 40;}
+
+                        else if ( (LA14_0=='T') ) {s = 41;}
+
+                        else if ( (LA14_0=='t') ) {s = 42;}
+
+                        else if ( (LA14_0=='g') ) {s = 43;}
+
+                        else if ( (LA14_0=='<') ) {s = 44;}
+
+                        else if ( (LA14_0=='>') ) {s = 45;}
+
+                        else if ( (LA14_0=='|') ) {s = 46;}
+
+                        else if ( (LA14_0=='@') ) {s = 47;}
+
+                        else if ( (LA14_0=='0') ) {s = 48;}
+
+                        else if ( (LA14_0=='^') ) {s = 49;}
+
+                        else if ( ((LA14_0>='F' && LA14_0<='H')||(LA14_0>='J' && LA14_0<='K')||LA14_0=='N'||LA14_0=='Q'||(LA14_0>='U' && LA14_0<='Z')||LA14_0=='_'||LA14_0=='b'||(LA14_0>='j' && LA14_0<='l')||LA14_0=='n'||LA14_0=='q'||(LA14_0>='w' && LA14_0<='z')) ) {s = 50;}
+
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 51;}
+
+                        else if ( (LA14_0=='\"') ) {s = 52;}
+
+                        else if ( (LA14_0=='\'') ) {s = 53;}
+
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 54;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||LA14_0==';'||LA14_0=='?'||LA14_0=='\\'||LA14_0=='`'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 55;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_52 = input.LA(1);
+                        int LA14_52 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_52>='\u0000' && LA16_52<='\uFFFF')) ) {s = 149;}
+                        if ( ((LA14_52>='\u0000' && LA14_52<='\uFFFF')) ) {s = 149;}
 
                         else s = 55;
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA16_0 = input.LA(1);
+                        int LA14_53 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='v') ) {s = 1;}
+                        if ( ((LA14_53>='\u0000' && LA14_53<='\uFFFF')) ) {s = 149;}
 
-                        else if ( (LA16_0=='c') ) {s = 2;}
-
-                        else if ( (LA16_0=='d') ) {s = 3;}
-
-                        else if ( (LA16_0=='*') ) {s = 4;}
-
-                        else if ( (LA16_0=='D') ) {s = 5;}
-
-                        else if ( (LA16_0=='A') ) {s = 6;}
-
-                        else if ( (LA16_0=='P') ) {s = 7;}
-
-                        else if ( (LA16_0=='C') ) {s = 8;}
-
-                        else if ( (LA16_0=='S') ) {s = 9;}
-
-                        else if ( (LA16_0=='L') ) {s = 10;}
-
-                        else if ( (LA16_0=='m') ) {s = 11;}
-
-                        else if ( (LA16_0=='f') ) {s = 12;}
-
-                        else if ( (LA16_0=='+') ) {s = 13;}
-
-                        else if ( (LA16_0=='-') ) {s = 14;}
-
-                        else if ( (LA16_0=='e') ) {s = 15;}
-
-                        else if ( (LA16_0=='s') ) {s = 16;}
-
-                        else if ( (LA16_0=='o') ) {s = 17;}
-
-                        else if ( (LA16_0=='a') ) {s = 18;}
-
-                        else if ( (LA16_0=='p') ) {s = 19;}
-
-                        else if ( (LA16_0=='R') ) {s = 20;}
-
-                        else if ( (LA16_0=='{') ) {s = 21;}
-
-                        else if ( (LA16_0=='}') ) {s = 22;}
-
-                        else if ( (LA16_0==':') ) {s = 23;}
-
-                        else if ( (LA16_0=='(') ) {s = 24;}
-
-                        else if ( (LA16_0==')') ) {s = 25;}
-
-                        else if ( (LA16_0=='E') ) {s = 26;}
-
-                        else if ( (LA16_0==',') ) {s = 27;}
-
-                        else if ( (LA16_0=='=') ) {s = 28;}
-
-                        else if ( (LA16_0=='u') ) {s = 29;}
-
-                        else if ( (LA16_0=='[') ) {s = 30;}
-
-                        else if ( (LA16_0==']') ) {s = 31;}
-
-                        else if ( (LA16_0=='O') ) {s = 32;}
-
-                        else if ( (LA16_0=='i') ) {s = 33;}
-
-                        else if ( (LA16_0=='r') ) {s = 34;}
-
-                        else if ( (LA16_0=='M') ) {s = 35;}
-
-                        else if ( (LA16_0=='h') ) {s = 36;}
-
-                        else if ( (LA16_0=='I') ) {s = 37;}
-
-                        else if ( (LA16_0=='B') ) {s = 38;}
-
-                        else if ( (LA16_0=='/') ) {s = 39;}
-
-                        else if ( (LA16_0=='.') ) {s = 40;}
-
-                        else if ( (LA16_0=='T') ) {s = 41;}
-
-                        else if ( (LA16_0=='t') ) {s = 42;}
-
-                        else if ( (LA16_0=='g') ) {s = 43;}
-
-                        else if ( (LA16_0=='<') ) {s = 44;}
-
-                        else if ( (LA16_0=='>') ) {s = 45;}
-
-                        else if ( (LA16_0=='|') ) {s = 46;}
-
-                        else if ( (LA16_0=='@') ) {s = 47;}
-
-                        else if ( (LA16_0=='0') ) {s = 48;}
-
-                        else if ( (LA16_0=='^') ) {s = 49;}
-
-                        else if ( ((LA16_0>='F' && LA16_0<='H')||(LA16_0>='J' && LA16_0<='K')||LA16_0=='N'||LA16_0=='Q'||(LA16_0>='U' && LA16_0<='Z')||LA16_0=='_'||LA16_0=='b'||(LA16_0>='j' && LA16_0<='l')||LA16_0=='n'||LA16_0=='q'||(LA16_0>='w' && LA16_0<='z')) ) {s = 50;}
-
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 51;}
-
-                        else if ( (LA16_0=='\"') ) {s = 52;}
-
-                        else if ( (LA16_0=='\'') ) {s = 53;}
-
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 54;}
-
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||LA16_0==';'||LA16_0=='?'||LA16_0=='\\'||LA16_0=='`'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 55;}
+                        else s = 55;
 
                         if ( s>=0 ) return s;
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomParser.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomParser.java
index bcb1eae..6260b5d 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomParser.java
+++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoomParser.java
@@ -22,89 +22,11 @@
 @SuppressWarnings("all")
 public class InternalRoomParser extends AbstractInternalContentAssistParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_HEX", "RULE_INT", "RULE_EXP", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'void'", "'ctor'", "'dtor'", "'*'", "'DataClass'", "'ActorClass'", "'ActorBehavior'", "'ProtocolClass'", "'CompoundProtocolClass'", "'SubSystemClass'", "'LogicalSystem'", "'mandatory'", "'model'", "'false'", "'+'", "'-'", "'eventdriven'", "'datadriven'", "'sync'", "'fixed'", "'optional'", "'async'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'RoomModel'", "'{'", "'}'", "':'", "'PrimitiveType'", "'->'", "'default'", "'('", "')'", "'Enumeration'", "'of'", "','", "'='", "'ExternalType'", "'extends'", "'usercode1'", "'usercode2'", "'usercode3'", "'Attribute'", "'['", "']'", "'Operation'", "'sends'", "'incoming'", "'outgoing'", "'regular'", "'PortClass'", "'conjugated'", "'SubProtocol'", "'Message'", "'usercode'", "'handle'", "'Interface'", "'Structure'", "'Behavior'", "'Port'", "'external'", "'SAP'", "'SPP'", "'ServiceImplementation'", "'SubSystemRef'", "'LogicalThread'", "'ActorInstanceMapping'", "'/'", "'Binding'", "'and'", "'.'", "'sub'", "'LayerConnection'", "'satisfied_by'", "'ref'", "'relay_sap'", "'ActorRef'", "'StateMachine'", "'State'", "'entry'", "'exit'", "'do'", "'subgraph'", "'RefinedState'", "'TransitionPoint'", "'EntryPoint'", "'ExitPoint'", "'ChoicePoint'", "'Transition'", "'initial'", "'action'", "'triggers'", "'or'", "'guard'", "'cond'", "'RefinedTransition'", "'my'", "'cp'", "'<'", "'>'", "'|'", "'semantics'", "'in'", "'out'", "'@'", "'AnnotationType'", "'target'", "'attribute'", "'import'", "'from'", "'.*'", "'override'", "'private'", "'abstract'", "'handler'", "'true'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_HEX", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'void'", "'ctor'", "'dtor'", "'*'", "'DataClass'", "'ActorClass'", "'ActorBehavior'", "'ProtocolClass'", "'CompoundProtocolClass'", "'SubSystemClass'", "'LogicalSystem'", "'mandatory'", "'model'", "'false'", "'+'", "'-'", "'e'", "'E'", "'eventdriven'", "'datadriven'", "'sync'", "'fixed'", "'optional'", "'async'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'", "'RoomModel'", "'{'", "'}'", "':'", "'PrimitiveType'", "'->'", "'default'", "'('", "')'", "'Enumeration'", "'of'", "','", "'='", "'ExternalType'", "'extends'", "'usercode1'", "'usercode2'", "'usercode3'", "'Attribute'", "'['", "']'", "'Operation'", "'sends'", "'incoming'", "'outgoing'", "'regular'", "'PortClass'", "'conjugated'", "'SubProtocol'", "'Message'", "'usercode'", "'handle'", "'Interface'", "'Structure'", "'Behavior'", "'Port'", "'external'", "'SAP'", "'SPP'", "'ServiceImplementation'", "'SubSystemRef'", "'LogicalThread'", "'ActorInstanceMapping'", "'/'", "'Binding'", "'and'", "'.'", "'sub'", "'LayerConnection'", "'satisfied_by'", "'ref'", "'relay_sap'", "'ActorRef'", "'StateMachine'", "'State'", "'entry'", "'exit'", "'do'", "'subgraph'", "'RefinedState'", "'TransitionPoint'", "'EntryPoint'", "'ExitPoint'", "'ChoicePoint'", "'Transition'", "'initial'", "'action'", "'triggers'", "'or'", "'guard'", "'cond'", "'RefinedTransition'", "'my'", "'cp'", "'<'", "'>'", "'|'", "'semantics'", "'in'", "'out'", "'@'", "'AnnotationType'", "'target'", "'attribute'", "'import'", "'from'", "'.*'", "'override'", "'private'", "'abstract'", "'handler'", "'true'"
     };
-    public static final int RULE_ID=7;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    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 RULE_HEX=4;
-    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__14=14;
-    public static final int T__13=13;
-    public static final int T__99=99;
-    public static final int T__98=98;
-    public static final int T__97=97;
-    public static final int T__96=96;
-    public static final int T__95=95;
-    public static final int T__80=80;
-    public static final int T__81=81;
-    public static final int T__82=82;
-    public static final int T__83=83;
-    public static final int T__85=85;
-    public static final int T__84=84;
-    public static final int T__87=87;
-    public static final int T__86=86;
-    public static final int T__89=89;
-    public static final int T__88=88;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__126=126;
-    public static final int T__125=125;
-    public static final int T__128=128;
-    public static final int RULE_STRING=8;
-    public static final int T__127=127;
-    public static final int T__71=71;
-    public static final int T__129=129;
-    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__130=130;
-    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 RULE_EXP=6;
-    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__118=118;
-    public static final int T__119=119;
-    public static final int T__116=116;
-    public static final int T__117=117;
-    public static final int T__114=114;
-    public static final int T__115=115;
-    public static final int T__124=124;
-    public static final int T__123=123;
-    public static final int T__122=122;
-    public static final int T__121=121;
-    public static final int T__120=120;
-    public static final int T__61=61;
-    public static final int T__60=60;
+    public static final int RULE_HEX=5;
+    public static final int T__50=50;
+    public static final int T__59=59;
     public static final int T__55=55;
     public static final int T__56=56;
     public static final int T__57=57;
@@ -113,45 +35,124 @@
     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__107=107;
-    public static final int T__108=108;
-    public static final int T__109=109;
-    public static final int T__103=103;
-    public static final int T__59=59;
-    public static final int T__104=104;
-    public static final int T__105=105;
-    public static final int T__106=106;
-    public static final int T__111=111;
-    public static final int T__110=110;
-    public static final int RULE_INT=5;
-    public static final int T__113=113;
-    public static final int T__112=112;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int T__102=102;
-    public static final int T__101=101;
-    public static final int T__100=100;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=6;
+    public static final int T__131=131;
+    public static final int T__130=130;
+    public static final int RULE_INT=4;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__67=67;
+    public static final int T__129=129;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__126=126;
+    public static final int T__63=63;
+    public static final int T__125=125;
+    public static final int T__64=64;
+    public static final int T__128=128;
+    public static final int T__65=65;
+    public static final int T__127=127;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__91=91;
+    public static final int T__100=100;
+    public static final int T__92=92;
+    public static final int T__93=93;
+    public static final int T__102=102;
+    public static final int T__94=94;
+    public static final int T__101=101;
+    public static final int T__90=90;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__99=99;
+    public static final int T__12=12;
+    public static final int T__13=13;
+    public static final int T__14=14;
+    public static final int T__95=95;
+    public static final int T__96=96;
+    public static final int T__97=97;
+    public static final int T__98=98;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int T__122=122;
+    public static final int T__70=70;
+    public static final int T__121=121;
+    public static final int T__71=71;
+    public static final int T__124=124;
+    public static final int T__72=72;
+    public static final int T__123=123;
+    public static final int T__120=120;
+    public static final int RULE_STRING=7;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__77=77;
+    public static final int T__119=119;
+    public static final int T__78=78;
+    public static final int T__118=118;
+    public static final int T__79=79;
+    public static final int T__73=73;
+    public static final int T__115=115;
+    public static final int EOF=-1;
+    public static final int T__74=74;
+    public static final int T__114=114;
+    public static final int T__75=75;
+    public static final int T__117=117;
+    public static final int T__76=76;
+    public static final int T__116=116;
+    public static final int T__80=80;
+    public static final int T__111=111;
+    public static final int T__81=81;
+    public static final int T__110=110;
+    public static final int T__82=82;
+    public static final int T__113=113;
+    public static final int T__83=83;
+    public static final int T__112=112;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__88=88;
+    public static final int T__108=108;
+    public static final int T__89=89;
+    public static final int T__107=107;
+    public static final int T__109=109;
+    public static final int T__84=84;
+    public static final int T__104=104;
+    public static final int T__85=85;
+    public static final int T__103=103;
+    public static final int T__86=86;
+    public static final int T__106=106;
+    public static final int T__87=87;
+    public static final int T__105=105;
 
     // delegates
     // delegators
@@ -7807,181 +7808,21 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2848:1: entryRuleSignedInteger : ruleSignedInteger EOF ;
-    public final void entryRuleSignedInteger() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2852:1: ( ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2853:1: ruleSignedInteger EOF
-            {
-             before(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger6021);
-            ruleSignedInteger();
-
-            state._fsp--;
-
-             after(grammarAccess.getSignedIntegerRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger6028); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2863:1: ruleSignedInteger : ( ( rule__SignedInteger__Group__0 ) ) ;
-    public final void ruleSignedInteger() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2868:2: ( ( ( rule__SignedInteger__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2869:1: ( ( rule__SignedInteger__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2869:1: ( ( rule__SignedInteger__Group__0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2870:1: ( rule__SignedInteger__Group__0 )
-            {
-             before(grammarAccess.getSignedIntegerAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2871:1: ( rule__SignedInteger__Group__0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2871:2: rule__SignedInteger__Group__0
-            {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger6058);
-            rule__SignedInteger__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getSignedIntegerAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2884:1: entryRuleHexadecimal : ruleHexadecimal EOF ;
-    public final void entryRuleHexadecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2888:1: ( ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2889:1: ruleHexadecimal EOF
-            {
-             before(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal6090);
-            ruleHexadecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getHexadecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal6097); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2899:1: ruleHexadecimal : ( RULE_HEX ) ;
-    public final void ruleHexadecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2904:2: ( ( RULE_HEX ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2905:1: ( RULE_HEX )
-            {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2905:1: ( RULE_HEX )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2906:1: RULE_HEX
-            {
-             before(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-            match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal6127); 
-             after(grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2920:1: entryRuleReal : ruleReal EOF ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2848:1: entryRuleReal : ruleReal EOF ;
     public final void entryRuleReal() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2921:1: ( ruleReal EOF )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2922:1: ruleReal EOF
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2849:1: ( ruleReal EOF )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2850:1: ruleReal EOF
             {
              before(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal6153);
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal6016);
             ruleReal();
 
             state._fsp--;
 
              after(grammarAccess.getRealRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal6160); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal6023); 
 
             }
 
@@ -7998,23 +7839,23 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2929:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2857:1: ruleReal : ( ( rule__Real__Alternatives ) ) ;
     public final void ruleReal() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2933:2: ( ( ( rule__Real__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2934:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2861:2: ( ( ( rule__Real__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2862:1: ( ( rule__Real__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2934:1: ( ( rule__Real__Alternatives ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2935:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2862:1: ( ( rule__Real__Alternatives ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2863:1: ( rule__Real__Alternatives )
             {
              before(grammarAccess.getRealAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2936:1: ( rule__Real__Alternatives )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2936:2: rule__Real__Alternatives
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2864:1: ( rule__Real__Alternatives )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2864:2: rule__Real__Alternatives
             {
-            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal6186);
+            pushFollow(FOLLOW_rule__Real__Alternatives_in_ruleReal6049);
             rule__Real__Alternatives();
 
             state._fsp--;
@@ -8045,23 +7886,23 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2948:1: entryRuleDecimal : ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2876:1: entryRuleDecimal : ruleDecimal EOF ;
     public final void entryRuleDecimal() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2952:1: ( ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2953:1: ruleDecimal EOF
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2880:1: ( ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2881:1: ruleDecimal EOF
             {
              before(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal6218);
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal6081);
             ruleDecimal();
 
             state._fsp--;
 
              after(grammarAccess.getDecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal6225); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal6088); 
 
             }
 
@@ -8081,24 +7922,24 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2963:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2891:1: ruleDecimal : ( ( rule__Decimal__Group__0 ) ) ;
     public final void ruleDecimal() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2968:2: ( ( ( rule__Decimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2969:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2896:2: ( ( ( rule__Decimal__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2897:1: ( ( rule__Decimal__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2969:1: ( ( rule__Decimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2970:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2897:1: ( ( rule__Decimal__Group__0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2898:1: ( rule__Decimal__Group__0 )
             {
              before(grammarAccess.getDecimalAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2971:1: ( rule__Decimal__Group__0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2971:2: rule__Decimal__Group__0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2899:1: ( rule__Decimal__Group__0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2899:2: rule__Decimal__Group__0
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal6255);
+            pushFollow(FOLLOW_rule__Decimal__Group__0_in_ruleDecimal6118);
             rule__Decimal__Group__0();
 
             state._fsp--;
@@ -8129,194 +7970,24 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2984:1: entryRuleDotDecimal : ruleDotDecimal EOF ;
-    public final void entryRuleDotDecimal() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2988:1: ( ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2989:1: ruleDotDecimal EOF
-            {
-             before(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal6287);
-            ruleDotDecimal();
-
-            state._fsp--;
-
-             after(grammarAccess.getDotDecimalRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal6294); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2999:1: ruleDotDecimal : ( ( rule__DotDecimal__Group__0 ) ) ;
-    public final void ruleDotDecimal() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3004:2: ( ( ( rule__DotDecimal__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3005:1: ( ( rule__DotDecimal__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3005:1: ( ( rule__DotDecimal__Group__0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3006:1: ( rule__DotDecimal__Group__0 )
-            {
-             before(grammarAccess.getDotDecimalAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3007:1: ( rule__DotDecimal__Group__0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3007:2: rule__DotDecimal__Group__0
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal6324);
-            rule__DotDecimal__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDotDecimalAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3020:1: entryRuleDecimalDot : ruleDecimalDot EOF ;
-    public final void entryRuleDecimalDot() throws RecognitionException {
-
-        	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3024:1: ( ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3025:1: ruleDecimalDot EOF
-            {
-             before(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot6356);
-            ruleDecimalDot();
-
-            state._fsp--;
-
-             after(grammarAccess.getDecimalDotRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot6363); 
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3035:1: ruleDecimalDot : ( ( rule__DecimalDot__Group__0 ) ) ;
-    public final void ruleDecimalDot() throws RecognitionException {
-
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3040:2: ( ( ( rule__DecimalDot__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3041:1: ( ( rule__DecimalDot__Group__0 ) )
-            {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3041:1: ( ( rule__DecimalDot__Group__0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3042:1: ( rule__DecimalDot__Group__0 )
-            {
-             before(grammarAccess.getDecimalDotAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3043:1: ( rule__DecimalDot__Group__0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3043:2: rule__DecimalDot__Group__0
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot6393);
-            rule__DecimalDot__Group__0();
-
-            state._fsp--;
-
-
-            }
-
-             after(grammarAccess.getDecimalDotAccess().getGroup()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-            	myHiddenTokenState.restore();
-
-        }
-        return ;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3056:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2912:1: entryRuleDecimalExp : ruleDecimalExp EOF ;
     public final void entryRuleDecimalExp() throws RecognitionException {
 
         	HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
 
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3060:1: ( ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3061:1: ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2916:1: ( ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2917:1: ruleDecimalExp EOF
             {
              before(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp6425);
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp6150);
             ruleDecimalExp();
 
             state._fsp--;
 
              after(grammarAccess.getDecimalExpRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp6432); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp6157); 
 
             }
 
@@ -8336,24 +8007,24 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3071:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2927:1: ruleDecimalExp : ( ( rule__DecimalExp__Group__0 ) ) ;
     public final void ruleDecimalExp() throws RecognitionException {
 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3076:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3077:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2932:2: ( ( ( rule__DecimalExp__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2933:1: ( ( rule__DecimalExp__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3077:1: ( ( rule__DecimalExp__Group__0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3078:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2933:1: ( ( rule__DecimalExp__Group__0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2934:1: ( rule__DecimalExp__Group__0 )
             {
              before(grammarAccess.getDecimalExpAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3079:1: ( rule__DecimalExp__Group__0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3079:2: rule__DecimalExp__Group__0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2935:1: ( rule__DecimalExp__Group__0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2935:2: rule__DecimalExp__Group__0
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp6462);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp6187);
             rule__DecimalExp__Group__0();
 
             state._fsp--;
@@ -8385,20 +8056,20 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3092:1: entryRuleFQN : ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2948:1: entryRuleFQN : ruleFQN EOF ;
     public final void entryRuleFQN() throws RecognitionException {
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3093:1: ( ruleFQN EOF )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3094:1: ruleFQN EOF
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2949:1: ( ruleFQN EOF )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2950:1: ruleFQN EOF
             {
              before(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN6489);
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN6214);
             ruleFQN();
 
             state._fsp--;
 
              after(grammarAccess.getFQNRule()); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN6496); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN6221); 
 
             }
 
@@ -8415,23 +8086,23 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3101:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2957:1: ruleFQN : ( ( rule__FQN__Group__0 ) ) ;
     public final void ruleFQN() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3105:2: ( ( ( rule__FQN__Group__0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3106:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2961:2: ( ( ( rule__FQN__Group__0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2962:1: ( ( rule__FQN__Group__0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3106:1: ( ( rule__FQN__Group__0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3107:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2962:1: ( ( rule__FQN__Group__0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2963:1: ( rule__FQN__Group__0 )
             {
              before(grammarAccess.getFQNAccess().getGroup()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3108:1: ( rule__FQN__Group__0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3108:2: rule__FQN__Group__0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2964:1: ( rule__FQN__Group__0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2964:2: rule__FQN__Group__0
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN6522);
+            pushFollow(FOLLOW_rule__FQN__Group__0_in_ruleFQN6247);
             rule__FQN__Group__0();
 
             state._fsp--;
@@ -8462,23 +8133,23 @@
 
 
     // $ANTLR start "ruleCommunicationType"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3121:1: ruleCommunicationType : ( ( rule__CommunicationType__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2977:1: ruleCommunicationType : ( ( rule__CommunicationType__Alternatives ) ) ;
     public final void ruleCommunicationType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3125:1: ( ( ( rule__CommunicationType__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3126:1: ( ( rule__CommunicationType__Alternatives ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2981:1: ( ( ( rule__CommunicationType__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2982:1: ( ( rule__CommunicationType__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3126:1: ( ( rule__CommunicationType__Alternatives ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3127:1: ( rule__CommunicationType__Alternatives )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2982:1: ( ( rule__CommunicationType__Alternatives ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2983:1: ( rule__CommunicationType__Alternatives )
             {
              before(grammarAccess.getCommunicationTypeAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3128:1: ( rule__CommunicationType__Alternatives )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3128:2: rule__CommunicationType__Alternatives
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2984:1: ( rule__CommunicationType__Alternatives )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2984:2: rule__CommunicationType__Alternatives
             {
-            pushFollow(FOLLOW_rule__CommunicationType__Alternatives_in_ruleCommunicationType6559);
+            pushFollow(FOLLOW_rule__CommunicationType__Alternatives_in_ruleCommunicationType6284);
             rule__CommunicationType__Alternatives();
 
             state._fsp--;
@@ -8509,23 +8180,23 @@
 
 
     // $ANTLR start "ruleReferenceType"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3140:1: ruleReferenceType : ( ( rule__ReferenceType__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:2996:1: ruleReferenceType : ( ( rule__ReferenceType__Alternatives ) ) ;
     public final void ruleReferenceType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3144:1: ( ( ( rule__ReferenceType__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3145:1: ( ( rule__ReferenceType__Alternatives ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3000:1: ( ( ( rule__ReferenceType__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3001:1: ( ( rule__ReferenceType__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3145:1: ( ( rule__ReferenceType__Alternatives ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3146:1: ( rule__ReferenceType__Alternatives )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3001:1: ( ( rule__ReferenceType__Alternatives ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3002:1: ( rule__ReferenceType__Alternatives )
             {
              before(grammarAccess.getReferenceTypeAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3147:1: ( rule__ReferenceType__Alternatives )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3147:2: rule__ReferenceType__Alternatives
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3003:1: ( rule__ReferenceType__Alternatives )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3003:2: rule__ReferenceType__Alternatives
             {
-            pushFollow(FOLLOW_rule__ReferenceType__Alternatives_in_ruleReferenceType6595);
+            pushFollow(FOLLOW_rule__ReferenceType__Alternatives_in_ruleReferenceType6320);
             rule__ReferenceType__Alternatives();
 
             state._fsp--;
@@ -8556,23 +8227,23 @@
 
 
     // $ANTLR start "ruleComponentCommunicationType"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3161:1: ruleComponentCommunicationType : ( ( rule__ComponentCommunicationType__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3017:1: ruleComponentCommunicationType : ( ( rule__ComponentCommunicationType__Alternatives ) ) ;
     public final void ruleComponentCommunicationType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3165:1: ( ( ( rule__ComponentCommunicationType__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3166:1: ( ( rule__ComponentCommunicationType__Alternatives ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3021:1: ( ( ( rule__ComponentCommunicationType__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3022:1: ( ( rule__ComponentCommunicationType__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3166:1: ( ( rule__ComponentCommunicationType__Alternatives ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3167:1: ( rule__ComponentCommunicationType__Alternatives )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3022:1: ( ( rule__ComponentCommunicationType__Alternatives ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3023:1: ( rule__ComponentCommunicationType__Alternatives )
             {
              before(grammarAccess.getComponentCommunicationTypeAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3168:1: ( rule__ComponentCommunicationType__Alternatives )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3168:2: rule__ComponentCommunicationType__Alternatives
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3024:1: ( rule__ComponentCommunicationType__Alternatives )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3024:2: rule__ComponentCommunicationType__Alternatives
             {
-            pushFollow(FOLLOW_rule__ComponentCommunicationType__Alternatives_in_ruleComponentCommunicationType6633);
+            pushFollow(FOLLOW_rule__ComponentCommunicationType__Alternatives_in_ruleComponentCommunicationType6358);
             rule__ComponentCommunicationType__Alternatives();
 
             state._fsp--;
@@ -8603,23 +8274,23 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3180:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3036:1: ruleLiteralType : ( ( rule__LiteralType__Alternatives ) ) ;
     public final void ruleLiteralType() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3184:1: ( ( ( rule__LiteralType__Alternatives ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3185:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3040:1: ( ( ( rule__LiteralType__Alternatives ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3041:1: ( ( rule__LiteralType__Alternatives ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3185:1: ( ( rule__LiteralType__Alternatives ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3186:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3041:1: ( ( rule__LiteralType__Alternatives ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3042:1: ( rule__LiteralType__Alternatives )
             {
              before(grammarAccess.getLiteralTypeAccess().getAlternatives()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3187:1: ( rule__LiteralType__Alternatives )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3187:2: rule__LiteralType__Alternatives
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3043:1: ( rule__LiteralType__Alternatives )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3043:2: rule__LiteralType__Alternatives
             {
-            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType6669);
+            pushFollow(FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType6394);
             rule__LiteralType__Alternatives();
 
             state._fsp--;
@@ -8650,27 +8321,27 @@
 
 
     // $ANTLR start "rule__RoomModel__Alternatives_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3198:1: rule__RoomModel__Alternatives_5 : ( ( ( rule__RoomModel__PrimitiveTypesAssignment_5_0 ) ) | ( ( rule__RoomModel__EnumerationTypesAssignment_5_1 ) ) | ( ( rule__RoomModel__ExternalTypesAssignment_5_2 ) ) | ( ( rule__RoomModel__DataClassesAssignment_5_3 ) ) | ( ( rule__RoomModel__ProtocolClassesAssignment_5_4 ) ) | ( ( rule__RoomModel__ActorClassesAssignment_5_5 ) ) | ( ( rule__RoomModel__SubSystemClassesAssignment_5_6 ) ) | ( ( rule__RoomModel__SystemsAssignment_5_7 ) ) | ( ( rule__RoomModel__AnnotationTypesAssignment_5_8 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3054:1: rule__RoomModel__Alternatives_5 : ( ( ( rule__RoomModel__PrimitiveTypesAssignment_5_0 ) ) | ( ( rule__RoomModel__EnumerationTypesAssignment_5_1 ) ) | ( ( rule__RoomModel__ExternalTypesAssignment_5_2 ) ) | ( ( rule__RoomModel__DataClassesAssignment_5_3 ) ) | ( ( rule__RoomModel__ProtocolClassesAssignment_5_4 ) ) | ( ( rule__RoomModel__ActorClassesAssignment_5_5 ) ) | ( ( rule__RoomModel__SubSystemClassesAssignment_5_6 ) ) | ( ( rule__RoomModel__SystemsAssignment_5_7 ) ) | ( ( rule__RoomModel__AnnotationTypesAssignment_5_8 ) ) );
     public final void rule__RoomModel__Alternatives_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3202:1: ( ( ( rule__RoomModel__PrimitiveTypesAssignment_5_0 ) ) | ( ( rule__RoomModel__EnumerationTypesAssignment_5_1 ) ) | ( ( rule__RoomModel__ExternalTypesAssignment_5_2 ) ) | ( ( rule__RoomModel__DataClassesAssignment_5_3 ) ) | ( ( rule__RoomModel__ProtocolClassesAssignment_5_4 ) ) | ( ( rule__RoomModel__ActorClassesAssignment_5_5 ) ) | ( ( rule__RoomModel__SubSystemClassesAssignment_5_6 ) ) | ( ( rule__RoomModel__SystemsAssignment_5_7 ) ) | ( ( rule__RoomModel__AnnotationTypesAssignment_5_8 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3058:1: ( ( ( rule__RoomModel__PrimitiveTypesAssignment_5_0 ) ) | ( ( rule__RoomModel__EnumerationTypesAssignment_5_1 ) ) | ( ( rule__RoomModel__ExternalTypesAssignment_5_2 ) ) | ( ( rule__RoomModel__DataClassesAssignment_5_3 ) ) | ( ( rule__RoomModel__ProtocolClassesAssignment_5_4 ) ) | ( ( rule__RoomModel__ActorClassesAssignment_5_5 ) ) | ( ( rule__RoomModel__SubSystemClassesAssignment_5_6 ) ) | ( ( rule__RoomModel__SystemsAssignment_5_7 ) ) | ( ( rule__RoomModel__AnnotationTypesAssignment_5_8 ) ) )
             int alt1=9;
             alt1 = dfa1.predict(input);
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3203:1: ( ( rule__RoomModel__PrimitiveTypesAssignment_5_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3059:1: ( ( rule__RoomModel__PrimitiveTypesAssignment_5_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3203:1: ( ( rule__RoomModel__PrimitiveTypesAssignment_5_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3204:1: ( rule__RoomModel__PrimitiveTypesAssignment_5_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3059:1: ( ( rule__RoomModel__PrimitiveTypesAssignment_5_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3060:1: ( rule__RoomModel__PrimitiveTypesAssignment_5_0 )
                     {
                      before(grammarAccess.getRoomModelAccess().getPrimitiveTypesAssignment_5_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3205:1: ( rule__RoomModel__PrimitiveTypesAssignment_5_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3205:2: rule__RoomModel__PrimitiveTypesAssignment_5_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3061:1: ( rule__RoomModel__PrimitiveTypesAssignment_5_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3061:2: rule__RoomModel__PrimitiveTypesAssignment_5_0
                     {
-                    pushFollow(FOLLOW_rule__RoomModel__PrimitiveTypesAssignment_5_0_in_rule__RoomModel__Alternatives_56704);
+                    pushFollow(FOLLOW_rule__RoomModel__PrimitiveTypesAssignment_5_0_in_rule__RoomModel__Alternatives_56429);
                     rule__RoomModel__PrimitiveTypesAssignment_5_0();
 
                     state._fsp--;
@@ -8686,16 +8357,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3209:6: ( ( rule__RoomModel__EnumerationTypesAssignment_5_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3065:6: ( ( rule__RoomModel__EnumerationTypesAssignment_5_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3209:6: ( ( rule__RoomModel__EnumerationTypesAssignment_5_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3210:1: ( rule__RoomModel__EnumerationTypesAssignment_5_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3065:6: ( ( rule__RoomModel__EnumerationTypesAssignment_5_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3066:1: ( rule__RoomModel__EnumerationTypesAssignment_5_1 )
                     {
                      before(grammarAccess.getRoomModelAccess().getEnumerationTypesAssignment_5_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3211:1: ( rule__RoomModel__EnumerationTypesAssignment_5_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3211:2: rule__RoomModel__EnumerationTypesAssignment_5_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3067:1: ( rule__RoomModel__EnumerationTypesAssignment_5_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3067:2: rule__RoomModel__EnumerationTypesAssignment_5_1
                     {
-                    pushFollow(FOLLOW_rule__RoomModel__EnumerationTypesAssignment_5_1_in_rule__RoomModel__Alternatives_56722);
+                    pushFollow(FOLLOW_rule__RoomModel__EnumerationTypesAssignment_5_1_in_rule__RoomModel__Alternatives_56447);
                     rule__RoomModel__EnumerationTypesAssignment_5_1();
 
                     state._fsp--;
@@ -8711,16 +8382,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3215:6: ( ( rule__RoomModel__ExternalTypesAssignment_5_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3071:6: ( ( rule__RoomModel__ExternalTypesAssignment_5_2 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3215:6: ( ( rule__RoomModel__ExternalTypesAssignment_5_2 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3216:1: ( rule__RoomModel__ExternalTypesAssignment_5_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3071:6: ( ( rule__RoomModel__ExternalTypesAssignment_5_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3072:1: ( rule__RoomModel__ExternalTypesAssignment_5_2 )
                     {
                      before(grammarAccess.getRoomModelAccess().getExternalTypesAssignment_5_2()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3217:1: ( rule__RoomModel__ExternalTypesAssignment_5_2 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3217:2: rule__RoomModel__ExternalTypesAssignment_5_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3073:1: ( rule__RoomModel__ExternalTypesAssignment_5_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3073:2: rule__RoomModel__ExternalTypesAssignment_5_2
                     {
-                    pushFollow(FOLLOW_rule__RoomModel__ExternalTypesAssignment_5_2_in_rule__RoomModel__Alternatives_56740);
+                    pushFollow(FOLLOW_rule__RoomModel__ExternalTypesAssignment_5_2_in_rule__RoomModel__Alternatives_56465);
                     rule__RoomModel__ExternalTypesAssignment_5_2();
 
                     state._fsp--;
@@ -8736,16 +8407,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3221:6: ( ( rule__RoomModel__DataClassesAssignment_5_3 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3077:6: ( ( rule__RoomModel__DataClassesAssignment_5_3 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3221:6: ( ( rule__RoomModel__DataClassesAssignment_5_3 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3222:1: ( rule__RoomModel__DataClassesAssignment_5_3 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3077:6: ( ( rule__RoomModel__DataClassesAssignment_5_3 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3078:1: ( rule__RoomModel__DataClassesAssignment_5_3 )
                     {
                      before(grammarAccess.getRoomModelAccess().getDataClassesAssignment_5_3()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3223:1: ( rule__RoomModel__DataClassesAssignment_5_3 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3223:2: rule__RoomModel__DataClassesAssignment_5_3
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3079:1: ( rule__RoomModel__DataClassesAssignment_5_3 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3079:2: rule__RoomModel__DataClassesAssignment_5_3
                     {
-                    pushFollow(FOLLOW_rule__RoomModel__DataClassesAssignment_5_3_in_rule__RoomModel__Alternatives_56758);
+                    pushFollow(FOLLOW_rule__RoomModel__DataClassesAssignment_5_3_in_rule__RoomModel__Alternatives_56483);
                     rule__RoomModel__DataClassesAssignment_5_3();
 
                     state._fsp--;
@@ -8761,16 +8432,16 @@
                     }
                     break;
                 case 5 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3227:6: ( ( rule__RoomModel__ProtocolClassesAssignment_5_4 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3083:6: ( ( rule__RoomModel__ProtocolClassesAssignment_5_4 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3227:6: ( ( rule__RoomModel__ProtocolClassesAssignment_5_4 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3228:1: ( rule__RoomModel__ProtocolClassesAssignment_5_4 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3083:6: ( ( rule__RoomModel__ProtocolClassesAssignment_5_4 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3084:1: ( rule__RoomModel__ProtocolClassesAssignment_5_4 )
                     {
                      before(grammarAccess.getRoomModelAccess().getProtocolClassesAssignment_5_4()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3229:1: ( rule__RoomModel__ProtocolClassesAssignment_5_4 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3229:2: rule__RoomModel__ProtocolClassesAssignment_5_4
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3085:1: ( rule__RoomModel__ProtocolClassesAssignment_5_4 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3085:2: rule__RoomModel__ProtocolClassesAssignment_5_4
                     {
-                    pushFollow(FOLLOW_rule__RoomModel__ProtocolClassesAssignment_5_4_in_rule__RoomModel__Alternatives_56776);
+                    pushFollow(FOLLOW_rule__RoomModel__ProtocolClassesAssignment_5_4_in_rule__RoomModel__Alternatives_56501);
                     rule__RoomModel__ProtocolClassesAssignment_5_4();
 
                     state._fsp--;
@@ -8786,16 +8457,16 @@
                     }
                     break;
                 case 6 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3233:6: ( ( rule__RoomModel__ActorClassesAssignment_5_5 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3089:6: ( ( rule__RoomModel__ActorClassesAssignment_5_5 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3233:6: ( ( rule__RoomModel__ActorClassesAssignment_5_5 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3234:1: ( rule__RoomModel__ActorClassesAssignment_5_5 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3089:6: ( ( rule__RoomModel__ActorClassesAssignment_5_5 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3090:1: ( rule__RoomModel__ActorClassesAssignment_5_5 )
                     {
                      before(grammarAccess.getRoomModelAccess().getActorClassesAssignment_5_5()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3235:1: ( rule__RoomModel__ActorClassesAssignment_5_5 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3235:2: rule__RoomModel__ActorClassesAssignment_5_5
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3091:1: ( rule__RoomModel__ActorClassesAssignment_5_5 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3091:2: rule__RoomModel__ActorClassesAssignment_5_5
                     {
-                    pushFollow(FOLLOW_rule__RoomModel__ActorClassesAssignment_5_5_in_rule__RoomModel__Alternatives_56794);
+                    pushFollow(FOLLOW_rule__RoomModel__ActorClassesAssignment_5_5_in_rule__RoomModel__Alternatives_56519);
                     rule__RoomModel__ActorClassesAssignment_5_5();
 
                     state._fsp--;
@@ -8811,16 +8482,16 @@
                     }
                     break;
                 case 7 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3239:6: ( ( rule__RoomModel__SubSystemClassesAssignment_5_6 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3095:6: ( ( rule__RoomModel__SubSystemClassesAssignment_5_6 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3239:6: ( ( rule__RoomModel__SubSystemClassesAssignment_5_6 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3240:1: ( rule__RoomModel__SubSystemClassesAssignment_5_6 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3095:6: ( ( rule__RoomModel__SubSystemClassesAssignment_5_6 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3096:1: ( rule__RoomModel__SubSystemClassesAssignment_5_6 )
                     {
                      before(grammarAccess.getRoomModelAccess().getSubSystemClassesAssignment_5_6()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3241:1: ( rule__RoomModel__SubSystemClassesAssignment_5_6 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3241:2: rule__RoomModel__SubSystemClassesAssignment_5_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3097:1: ( rule__RoomModel__SubSystemClassesAssignment_5_6 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3097:2: rule__RoomModel__SubSystemClassesAssignment_5_6
                     {
-                    pushFollow(FOLLOW_rule__RoomModel__SubSystemClassesAssignment_5_6_in_rule__RoomModel__Alternatives_56812);
+                    pushFollow(FOLLOW_rule__RoomModel__SubSystemClassesAssignment_5_6_in_rule__RoomModel__Alternatives_56537);
                     rule__RoomModel__SubSystemClassesAssignment_5_6();
 
                     state._fsp--;
@@ -8836,16 +8507,16 @@
                     }
                     break;
                 case 8 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3245:6: ( ( rule__RoomModel__SystemsAssignment_5_7 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3101:6: ( ( rule__RoomModel__SystemsAssignment_5_7 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3245:6: ( ( rule__RoomModel__SystemsAssignment_5_7 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3246:1: ( rule__RoomModel__SystemsAssignment_5_7 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3101:6: ( ( rule__RoomModel__SystemsAssignment_5_7 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3102:1: ( rule__RoomModel__SystemsAssignment_5_7 )
                     {
                      before(grammarAccess.getRoomModelAccess().getSystemsAssignment_5_7()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3247:1: ( rule__RoomModel__SystemsAssignment_5_7 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3247:2: rule__RoomModel__SystemsAssignment_5_7
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3103:1: ( rule__RoomModel__SystemsAssignment_5_7 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3103:2: rule__RoomModel__SystemsAssignment_5_7
                     {
-                    pushFollow(FOLLOW_rule__RoomModel__SystemsAssignment_5_7_in_rule__RoomModel__Alternatives_56830);
+                    pushFollow(FOLLOW_rule__RoomModel__SystemsAssignment_5_7_in_rule__RoomModel__Alternatives_56555);
                     rule__RoomModel__SystemsAssignment_5_7();
 
                     state._fsp--;
@@ -8861,16 +8532,16 @@
                     }
                     break;
                 case 9 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3251:6: ( ( rule__RoomModel__AnnotationTypesAssignment_5_8 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3107:6: ( ( rule__RoomModel__AnnotationTypesAssignment_5_8 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3251:6: ( ( rule__RoomModel__AnnotationTypesAssignment_5_8 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3252:1: ( rule__RoomModel__AnnotationTypesAssignment_5_8 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3107:6: ( ( rule__RoomModel__AnnotationTypesAssignment_5_8 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3108:1: ( rule__RoomModel__AnnotationTypesAssignment_5_8 )
                     {
                      before(grammarAccess.getRoomModelAccess().getAnnotationTypesAssignment_5_8()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3253:1: ( rule__RoomModel__AnnotationTypesAssignment_5_8 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3253:2: rule__RoomModel__AnnotationTypesAssignment_5_8
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3109:1: ( rule__RoomModel__AnnotationTypesAssignment_5_8 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3109:2: rule__RoomModel__AnnotationTypesAssignment_5_8
                     {
-                    pushFollow(FOLLOW_rule__RoomModel__AnnotationTypesAssignment_5_8_in_rule__RoomModel__Alternatives_56848);
+                    pushFollow(FOLLOW_rule__RoomModel__AnnotationTypesAssignment_5_8_in_rule__RoomModel__Alternatives_56573);
                     rule__RoomModel__AnnotationTypesAssignment_5_8();
 
                     state._fsp--;
@@ -8903,20 +8574,20 @@
 
 
     // $ANTLR start "rule__StructureClass__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3263:1: rule__StructureClass__Alternatives : ( ( ruleActorContainerClass ) | ( ruleLogicalSystem ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3119:1: rule__StructureClass__Alternatives : ( ( ruleActorContainerClass ) | ( ruleLogicalSystem ) );
     public final void rule__StructureClass__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3267:1: ( ( ruleActorContainerClass ) | ( ruleLogicalSystem ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3123:1: ( ( ruleActorContainerClass ) | ( ruleLogicalSystem ) )
             int alt2=2;
             int LA2_0 = input.LA(1);
 
-            if ( (LA2_0==18||LA2_0==22||(LA2_0>=29 && LA2_0<=31)||LA2_0==34||LA2_0==128) ) {
+            if ( (LA2_0==17||LA2_0==21||(LA2_0>=30 && LA2_0<=32)||LA2_0==35||LA2_0==129) ) {
                 alt2=1;
             }
-            else if ( (LA2_0==23) ) {
+            else if ( (LA2_0==22) ) {
                 alt2=2;
             }
             else {
@@ -8927,13 +8598,13 @@
             }
             switch (alt2) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3268:1: ( ruleActorContainerClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3124:1: ( ruleActorContainerClass )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3268:1: ( ruleActorContainerClass )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3269:1: ruleActorContainerClass
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3124:1: ( ruleActorContainerClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3125:1: ruleActorContainerClass
                     {
                      before(grammarAccess.getStructureClassAccess().getActorContainerClassParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleActorContainerClass_in_rule__StructureClass__Alternatives6882);
+                    pushFollow(FOLLOW_ruleActorContainerClass_in_rule__StructureClass__Alternatives6607);
                     ruleActorContainerClass();
 
                     state._fsp--;
@@ -8946,13 +8617,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3274:6: ( ruleLogicalSystem )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3130:6: ( ruleLogicalSystem )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3274:6: ( ruleLogicalSystem )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3275:1: ruleLogicalSystem
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3130:6: ( ruleLogicalSystem )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3131:1: ruleLogicalSystem
                     {
                      before(grammarAccess.getStructureClassAccess().getLogicalSystemParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleLogicalSystem_in_rule__StructureClass__Alternatives6899);
+                    pushFollow(FOLLOW_ruleLogicalSystem_in_rule__StructureClass__Alternatives6624);
                     ruleLogicalSystem();
 
                     state._fsp--;
@@ -8982,20 +8653,20 @@
 
 
     // $ANTLR start "rule__ActorContainerClass__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3285:1: rule__ActorContainerClass__Alternatives : ( ( ruleActorClass ) | ( ruleSubSystemClass ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3141:1: rule__ActorContainerClass__Alternatives : ( ( ruleActorClass ) | ( ruleSubSystemClass ) );
     public final void rule__ActorContainerClass__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3289:1: ( ( ruleActorClass ) | ( ruleSubSystemClass ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3145:1: ( ( ruleActorClass ) | ( ruleSubSystemClass ) )
             int alt3=2;
             int LA3_0 = input.LA(1);
 
-            if ( (LA3_0==18||(LA3_0>=29 && LA3_0<=31)||LA3_0==34||LA3_0==128) ) {
+            if ( (LA3_0==17||(LA3_0>=30 && LA3_0<=32)||LA3_0==35||LA3_0==129) ) {
                 alt3=1;
             }
-            else if ( (LA3_0==22) ) {
+            else if ( (LA3_0==21) ) {
                 alt3=2;
             }
             else {
@@ -9006,13 +8677,13 @@
             }
             switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3290:1: ( ruleActorClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3146:1: ( ruleActorClass )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3290:1: ( ruleActorClass )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3291:1: ruleActorClass
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3146:1: ( ruleActorClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3147:1: ruleActorClass
                     {
                      before(grammarAccess.getActorContainerClassAccess().getActorClassParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleActorClass_in_rule__ActorContainerClass__Alternatives6931);
+                    pushFollow(FOLLOW_ruleActorClass_in_rule__ActorContainerClass__Alternatives6656);
                     ruleActorClass();
 
                     state._fsp--;
@@ -9025,13 +8696,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3296:6: ( ruleSubSystemClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3152:6: ( ruleSubSystemClass )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3296:6: ( ruleSubSystemClass )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3297:1: ruleSubSystemClass
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3152:6: ( ruleSubSystemClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3153:1: ruleSubSystemClass
                     {
                      before(grammarAccess.getActorContainerClassAccess().getSubSystemClassParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleSubSystemClass_in_rule__ActorContainerClass__Alternatives6948);
+                    pushFollow(FOLLOW_ruleSubSystemClass_in_rule__ActorContainerClass__Alternatives6673);
                     ruleSubSystemClass();
 
                     state._fsp--;
@@ -9061,27 +8732,27 @@
 
 
     // $ANTLR start "rule__DataType__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3307:1: rule__DataType__Alternatives : ( ( rulePrimitiveType ) | ( ruleEnumerationType ) | ( ruleComplexType ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3163:1: rule__DataType__Alternatives : ( ( rulePrimitiveType ) | ( ruleEnumerationType ) | ( ruleComplexType ) );
     public final void rule__DataType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3311:1: ( ( rulePrimitiveType ) | ( ruleEnumerationType ) | ( ruleComplexType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3167:1: ( ( rulePrimitiveType ) | ( ruleEnumerationType ) | ( ruleComplexType ) )
             int alt4=3;
             switch ( input.LA(1) ) {
-            case 43:
+            case 44:
                 {
                 alt4=1;
                 }
                 break;
-            case 48:
+            case 49:
                 {
                 alt4=2;
                 }
                 break;
-            case 17:
-            case 52:
+            case 16:
+            case 53:
                 {
                 alt4=3;
                 }
@@ -9095,13 +8766,13 @@
 
             switch (alt4) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3312:1: ( rulePrimitiveType )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3168:1: ( rulePrimitiveType )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3312:1: ( rulePrimitiveType )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3313:1: rulePrimitiveType
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3168:1: ( rulePrimitiveType )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3169:1: rulePrimitiveType
                     {
                      before(grammarAccess.getDataTypeAccess().getPrimitiveTypeParserRuleCall_0()); 
-                    pushFollow(FOLLOW_rulePrimitiveType_in_rule__DataType__Alternatives6980);
+                    pushFollow(FOLLOW_rulePrimitiveType_in_rule__DataType__Alternatives6705);
                     rulePrimitiveType();
 
                     state._fsp--;
@@ -9114,13 +8785,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3318:6: ( ruleEnumerationType )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3174:6: ( ruleEnumerationType )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3318:6: ( ruleEnumerationType )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3319:1: ruleEnumerationType
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3174:6: ( ruleEnumerationType )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3175:1: ruleEnumerationType
                     {
                      before(grammarAccess.getDataTypeAccess().getEnumerationTypeParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleEnumerationType_in_rule__DataType__Alternatives6997);
+                    pushFollow(FOLLOW_ruleEnumerationType_in_rule__DataType__Alternatives6722);
                     ruleEnumerationType();
 
                     state._fsp--;
@@ -9133,13 +8804,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3324:6: ( ruleComplexType )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3180:6: ( ruleComplexType )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3324:6: ( ruleComplexType )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3325:1: ruleComplexType
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3180:6: ( ruleComplexType )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3181:1: ruleComplexType
                     {
                      before(grammarAccess.getDataTypeAccess().getComplexTypeParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleComplexType_in_rule__DataType__Alternatives7014);
+                    pushFollow(FOLLOW_ruleComplexType_in_rule__DataType__Alternatives6739);
                     ruleComplexType();
 
                     state._fsp--;
@@ -9169,20 +8840,20 @@
 
 
     // $ANTLR start "rule__ComplexType__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3335:1: rule__ComplexType__Alternatives : ( ( ruleDataClass ) | ( ruleExternalType ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3191:1: rule__ComplexType__Alternatives : ( ( ruleDataClass ) | ( ruleExternalType ) );
     public final void rule__ComplexType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3339:1: ( ( ruleDataClass ) | ( ruleExternalType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3195:1: ( ( ruleDataClass ) | ( ruleExternalType ) )
             int alt5=2;
             int LA5_0 = input.LA(1);
 
-            if ( (LA5_0==17) ) {
+            if ( (LA5_0==16) ) {
                 alt5=1;
             }
-            else if ( (LA5_0==52) ) {
+            else if ( (LA5_0==53) ) {
                 alt5=2;
             }
             else {
@@ -9193,13 +8864,13 @@
             }
             switch (alt5) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3340:1: ( ruleDataClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3196:1: ( ruleDataClass )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3340:1: ( ruleDataClass )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3341:1: ruleDataClass
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3196:1: ( ruleDataClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3197:1: ruleDataClass
                     {
                      before(grammarAccess.getComplexTypeAccess().getDataClassParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleDataClass_in_rule__ComplexType__Alternatives7046);
+                    pushFollow(FOLLOW_ruleDataClass_in_rule__ComplexType__Alternatives6771);
                     ruleDataClass();
 
                     state._fsp--;
@@ -9212,13 +8883,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3346:6: ( ruleExternalType )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3202:6: ( ruleExternalType )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3346:6: ( ruleExternalType )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3347:1: ruleExternalType
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3202:6: ( ruleExternalType )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3203:1: ruleExternalType
                     {
                      before(grammarAccess.getComplexTypeAccess().getExternalTypeParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleExternalType_in_rule__ComplexType__Alternatives7063);
+                    pushFollow(FOLLOW_ruleExternalType_in_rule__ComplexType__Alternatives6788);
                     ruleExternalType();
 
                     state._fsp--;
@@ -9248,28 +8919,28 @@
 
 
     // $ANTLR start "rule__DataClass__Alternatives_9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3357:1: rule__DataClass__Alternatives_9 : ( ( ( rule__DataClass__OperationsAssignment_9_0 ) ) | ( ( rule__DataClass__StructorsAssignment_9_1 ) ) | ( ( rule__DataClass__AttributesAssignment_9_2 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3213:1: rule__DataClass__Alternatives_9 : ( ( ( rule__DataClass__OperationsAssignment_9_0 ) ) | ( ( rule__DataClass__StructorsAssignment_9_1 ) ) | ( ( rule__DataClass__AttributesAssignment_9_2 ) ) );
     public final void rule__DataClass__Alternatives_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3361:1: ( ( ( rule__DataClass__OperationsAssignment_9_0 ) ) | ( ( rule__DataClass__StructorsAssignment_9_1 ) ) | ( ( rule__DataClass__AttributesAssignment_9_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3217:1: ( ( ( rule__DataClass__OperationsAssignment_9_0 ) ) | ( ( rule__DataClass__StructorsAssignment_9_1 ) ) | ( ( rule__DataClass__AttributesAssignment_9_2 ) ) )
             int alt6=3;
             switch ( input.LA(1) ) {
-            case 60:
-            case 126:
+            case 61:
+            case 127:
                 {
                 alt6=1;
                 }
                 break;
+            case 13:
             case 14:
-            case 15:
                 {
                 alt6=2;
                 }
                 break;
-            case 57:
+            case 58:
                 {
                 alt6=3;
                 }
@@ -9283,16 +8954,16 @@
 
             switch (alt6) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3362:1: ( ( rule__DataClass__OperationsAssignment_9_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3218:1: ( ( rule__DataClass__OperationsAssignment_9_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3362:1: ( ( rule__DataClass__OperationsAssignment_9_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3363:1: ( rule__DataClass__OperationsAssignment_9_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3218:1: ( ( rule__DataClass__OperationsAssignment_9_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3219:1: ( rule__DataClass__OperationsAssignment_9_0 )
                     {
                      before(grammarAccess.getDataClassAccess().getOperationsAssignment_9_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3364:1: ( rule__DataClass__OperationsAssignment_9_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3364:2: rule__DataClass__OperationsAssignment_9_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3220:1: ( rule__DataClass__OperationsAssignment_9_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3220:2: rule__DataClass__OperationsAssignment_9_0
                     {
-                    pushFollow(FOLLOW_rule__DataClass__OperationsAssignment_9_0_in_rule__DataClass__Alternatives_97095);
+                    pushFollow(FOLLOW_rule__DataClass__OperationsAssignment_9_0_in_rule__DataClass__Alternatives_96820);
                     rule__DataClass__OperationsAssignment_9_0();
 
                     state._fsp--;
@@ -9308,16 +8979,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3368:6: ( ( rule__DataClass__StructorsAssignment_9_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3224:6: ( ( rule__DataClass__StructorsAssignment_9_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3368:6: ( ( rule__DataClass__StructorsAssignment_9_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3369:1: ( rule__DataClass__StructorsAssignment_9_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3224:6: ( ( rule__DataClass__StructorsAssignment_9_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3225:1: ( rule__DataClass__StructorsAssignment_9_1 )
                     {
                      before(grammarAccess.getDataClassAccess().getStructorsAssignment_9_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3370:1: ( rule__DataClass__StructorsAssignment_9_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3370:2: rule__DataClass__StructorsAssignment_9_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3226:1: ( rule__DataClass__StructorsAssignment_9_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3226:2: rule__DataClass__StructorsAssignment_9_1
                     {
-                    pushFollow(FOLLOW_rule__DataClass__StructorsAssignment_9_1_in_rule__DataClass__Alternatives_97113);
+                    pushFollow(FOLLOW_rule__DataClass__StructorsAssignment_9_1_in_rule__DataClass__Alternatives_96838);
                     rule__DataClass__StructorsAssignment_9_1();
 
                     state._fsp--;
@@ -9333,16 +9004,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3374:6: ( ( rule__DataClass__AttributesAssignment_9_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3230:6: ( ( rule__DataClass__AttributesAssignment_9_2 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3374:6: ( ( rule__DataClass__AttributesAssignment_9_2 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3375:1: ( rule__DataClass__AttributesAssignment_9_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3230:6: ( ( rule__DataClass__AttributesAssignment_9_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3231:1: ( rule__DataClass__AttributesAssignment_9_2 )
                     {
                      before(grammarAccess.getDataClassAccess().getAttributesAssignment_9_2()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3376:1: ( rule__DataClass__AttributesAssignment_9_2 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3376:2: rule__DataClass__AttributesAssignment_9_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3232:1: ( rule__DataClass__AttributesAssignment_9_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3232:2: rule__DataClass__AttributesAssignment_9_2
                     {
-                    pushFollow(FOLLOW_rule__DataClass__AttributesAssignment_9_2_in_rule__DataClass__Alternatives_97131);
+                    pushFollow(FOLLOW_rule__DataClass__AttributesAssignment_9_2_in_rule__DataClass__Alternatives_96856);
                     rule__DataClass__AttributesAssignment_9_2();
 
                     state._fsp--;
@@ -9375,17 +9046,17 @@
 
 
     // $ANTLR start "rule__StandardOperation__Alternatives_6_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3386:1: rule__StandardOperation__Alternatives_6_1 : ( ( 'void' ) | ( ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3242:1: rule__StandardOperation__Alternatives_6_1 : ( ( 'void' ) | ( ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 ) ) );
     public final void rule__StandardOperation__Alternatives_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3390:1: ( ( 'void' ) | ( ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3246:1: ( ( 'void' ) | ( ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 ) ) )
             int alt7=2;
             int LA7_0 = input.LA(1);
 
-            if ( (LA7_0==13) ) {
+            if ( (LA7_0==12) ) {
                 alt7=1;
             }
             else if ( (LA7_0==RULE_ID) ) {
@@ -9399,13 +9070,13 @@
             }
             switch (alt7) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3391:1: ( 'void' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3247:1: ( 'void' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3391:1: ( 'void' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3392:1: 'void'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3247:1: ( 'void' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3248:1: 'void'
                     {
                      before(grammarAccess.getStandardOperationAccess().getVoidKeyword_6_1_0()); 
-                    match(input,13,FOLLOW_13_in_rule__StandardOperation__Alternatives_6_17166); 
+                    match(input,12,FOLLOW_12_in_rule__StandardOperation__Alternatives_6_16891); 
                      after(grammarAccess.getStandardOperationAccess().getVoidKeyword_6_1_0()); 
 
                     }
@@ -9414,16 +9085,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3399:6: ( ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3255:6: ( ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3399:6: ( ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3400:1: ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3255:6: ( ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3256:1: ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 )
                     {
                      before(grammarAccess.getStandardOperationAccess().getReturnTypeAssignment_6_1_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3401:1: ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3401:2: rule__StandardOperation__ReturnTypeAssignment_6_1_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3257:1: ( rule__StandardOperation__ReturnTypeAssignment_6_1_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3257:2: rule__StandardOperation__ReturnTypeAssignment_6_1_1
                     {
-                    pushFollow(FOLLOW_rule__StandardOperation__ReturnTypeAssignment_6_1_1_in_rule__StandardOperation__Alternatives_6_17185);
+                    pushFollow(FOLLOW_rule__StandardOperation__ReturnTypeAssignment_6_1_1_in_rule__StandardOperation__Alternatives_6_16910);
                     rule__StandardOperation__ReturnTypeAssignment_6_1_1();
 
                     state._fsp--;
@@ -9456,20 +9127,20 @@
 
 
     // $ANTLR start "rule__PortOperation__Alternatives_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3410:1: rule__PortOperation__Alternatives_5 : ( ( ( rule__PortOperation__Group_5_0__0 ) ) | ( ( rule__PortOperation__Group_5_1__0 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3266:1: rule__PortOperation__Alternatives_5 : ( ( ( rule__PortOperation__Group_5_0__0 ) ) | ( ( rule__PortOperation__Group_5_1__0 ) ) );
     public final void rule__PortOperation__Alternatives_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3414:1: ( ( ( rule__PortOperation__Group_5_0__0 ) ) | ( ( rule__PortOperation__Group_5_1__0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3270:1: ( ( ( rule__PortOperation__Group_5_0__0 ) ) | ( ( rule__PortOperation__Group_5_1__0 ) ) )
             int alt8=2;
             int LA8_0 = input.LA(1);
 
-            if ( (LA8_0==42) ) {
+            if ( (LA8_0==43) ) {
                 alt8=1;
             }
-            else if ( (LA8_0==61) ) {
+            else if ( (LA8_0==62) ) {
                 alt8=2;
             }
             else {
@@ -9480,16 +9151,16 @@
             }
             switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3415:1: ( ( rule__PortOperation__Group_5_0__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3271:1: ( ( rule__PortOperation__Group_5_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3415:1: ( ( rule__PortOperation__Group_5_0__0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3416:1: ( rule__PortOperation__Group_5_0__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3271:1: ( ( rule__PortOperation__Group_5_0__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3272:1: ( rule__PortOperation__Group_5_0__0 )
                     {
                      before(grammarAccess.getPortOperationAccess().getGroup_5_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3417:1: ( rule__PortOperation__Group_5_0__0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3417:2: rule__PortOperation__Group_5_0__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3273:1: ( rule__PortOperation__Group_5_0__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3273:2: rule__PortOperation__Group_5_0__0
                     {
-                    pushFollow(FOLLOW_rule__PortOperation__Group_5_0__0_in_rule__PortOperation__Alternatives_57218);
+                    pushFollow(FOLLOW_rule__PortOperation__Group_5_0__0_in_rule__PortOperation__Alternatives_56943);
                     rule__PortOperation__Group_5_0__0();
 
                     state._fsp--;
@@ -9505,16 +9176,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3421:6: ( ( rule__PortOperation__Group_5_1__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3277:6: ( ( rule__PortOperation__Group_5_1__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3421:6: ( ( rule__PortOperation__Group_5_1__0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3422:1: ( rule__PortOperation__Group_5_1__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3277:6: ( ( rule__PortOperation__Group_5_1__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3278:1: ( rule__PortOperation__Group_5_1__0 )
                     {
                      before(grammarAccess.getPortOperationAccess().getGroup_5_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3423:1: ( rule__PortOperation__Group_5_1__0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3423:2: rule__PortOperation__Group_5_1__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3279:1: ( rule__PortOperation__Group_5_1__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3279:2: rule__PortOperation__Group_5_1__0
                     {
-                    pushFollow(FOLLOW_rule__PortOperation__Group_5_1__0_in_rule__PortOperation__Alternatives_57236);
+                    pushFollow(FOLLOW_rule__PortOperation__Group_5_1__0_in_rule__PortOperation__Alternatives_56961);
                     rule__PortOperation__Group_5_1__0();
 
                     state._fsp--;
@@ -9547,17 +9218,17 @@
 
 
     // $ANTLR start "rule__PortOperation__Alternatives_5_0_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3432:1: rule__PortOperation__Alternatives_5_0_1 : ( ( 'void' ) | ( ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3288:1: rule__PortOperation__Alternatives_5_0_1 : ( ( 'void' ) | ( ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 ) ) );
     public final void rule__PortOperation__Alternatives_5_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3436:1: ( ( 'void' ) | ( ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3292:1: ( ( 'void' ) | ( ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 ) ) )
             int alt9=2;
             int LA9_0 = input.LA(1);
 
-            if ( (LA9_0==13) ) {
+            if ( (LA9_0==12) ) {
                 alt9=1;
             }
             else if ( (LA9_0==RULE_ID) ) {
@@ -9571,13 +9242,13 @@
             }
             switch (alt9) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3437:1: ( 'void' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3293:1: ( 'void' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3437:1: ( 'void' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3438:1: 'void'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3293:1: ( 'void' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3294:1: 'void'
                     {
                      before(grammarAccess.getPortOperationAccess().getVoidKeyword_5_0_1_0()); 
-                    match(input,13,FOLLOW_13_in_rule__PortOperation__Alternatives_5_0_17270); 
+                    match(input,12,FOLLOW_12_in_rule__PortOperation__Alternatives_5_0_16995); 
                      after(grammarAccess.getPortOperationAccess().getVoidKeyword_5_0_1_0()); 
 
                     }
@@ -9586,16 +9257,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3445:6: ( ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3301:6: ( ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3445:6: ( ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3446:1: ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3301:6: ( ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3302:1: ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 )
                     {
                      before(grammarAccess.getPortOperationAccess().getReturnTypeAssignment_5_0_1_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3447:1: ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3447:2: rule__PortOperation__ReturnTypeAssignment_5_0_1_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3303:1: ( rule__PortOperation__ReturnTypeAssignment_5_0_1_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3303:2: rule__PortOperation__ReturnTypeAssignment_5_0_1_1
                     {
-                    pushFollow(FOLLOW_rule__PortOperation__ReturnTypeAssignment_5_0_1_1_in_rule__PortOperation__Alternatives_5_0_17289);
+                    pushFollow(FOLLOW_rule__PortOperation__ReturnTypeAssignment_5_0_1_1_in_rule__PortOperation__Alternatives_5_0_17014);
                     rule__PortOperation__ReturnTypeAssignment_5_0_1_1();
 
                     state._fsp--;
@@ -9628,20 +9299,20 @@
 
 
     // $ANTLR start "rule__ClassStructor__NameAlternatives_0_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3456:1: rule__ClassStructor__NameAlternatives_0_0 : ( ( 'ctor' ) | ( 'dtor' ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3312:1: rule__ClassStructor__NameAlternatives_0_0 : ( ( 'ctor' ) | ( 'dtor' ) );
     public final void rule__ClassStructor__NameAlternatives_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3460:1: ( ( 'ctor' ) | ( 'dtor' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3316:1: ( ( 'ctor' ) | ( 'dtor' ) )
             int alt10=2;
             int LA10_0 = input.LA(1);
 
-            if ( (LA10_0==14) ) {
+            if ( (LA10_0==13) ) {
                 alt10=1;
             }
-            else if ( (LA10_0==15) ) {
+            else if ( (LA10_0==14) ) {
                 alt10=2;
             }
             else {
@@ -9652,13 +9323,13 @@
             }
             switch (alt10) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3461:1: ( 'ctor' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3317:1: ( 'ctor' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3461:1: ( 'ctor' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3462:1: 'ctor'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3317:1: ( 'ctor' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3318:1: 'ctor'
                     {
                      before(grammarAccess.getClassStructorAccess().getNameCtorKeyword_0_0_0()); 
-                    match(input,14,FOLLOW_14_in_rule__ClassStructor__NameAlternatives_0_07323); 
+                    match(input,13,FOLLOW_13_in_rule__ClassStructor__NameAlternatives_0_07048); 
                      after(grammarAccess.getClassStructorAccess().getNameCtorKeyword_0_0_0()); 
 
                     }
@@ -9667,13 +9338,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3469:6: ( 'dtor' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3325:6: ( 'dtor' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3469:6: ( 'dtor' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3470:1: 'dtor'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3325:6: ( 'dtor' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3326:1: 'dtor'
                     {
                      before(grammarAccess.getClassStructorAccess().getNameDtorKeyword_0_0_1()); 
-                    match(input,15,FOLLOW_15_in_rule__ClassStructor__NameAlternatives_0_07343); 
+                    match(input,14,FOLLOW_14_in_rule__ClassStructor__NameAlternatives_0_07068); 
                      after(grammarAccess.getClassStructorAccess().getNameDtorKeyword_0_0_1()); 
 
                     }
@@ -9699,20 +9370,20 @@
 
 
     // $ANTLR start "rule__GeneralProtocolClass__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3482:1: rule__GeneralProtocolClass__Alternatives : ( ( ruleProtocolClass ) | ( ruleCompoundProtocolClass ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3338:1: rule__GeneralProtocolClass__Alternatives : ( ( ruleProtocolClass ) | ( ruleCompoundProtocolClass ) );
     public final void rule__GeneralProtocolClass__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3486:1: ( ( ruleProtocolClass ) | ( ruleCompoundProtocolClass ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3342:1: ( ( ruleProtocolClass ) | ( ruleCompoundProtocolClass ) )
             int alt11=2;
             int LA11_0 = input.LA(1);
 
-            if ( (LA11_0==20||(LA11_0>=29 && LA11_0<=31)) ) {
+            if ( (LA11_0==19||(LA11_0>=30 && LA11_0<=32)) ) {
                 alt11=1;
             }
-            else if ( (LA11_0==21) ) {
+            else if ( (LA11_0==20) ) {
                 alt11=2;
             }
             else {
@@ -9723,13 +9394,13 @@
             }
             switch (alt11) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3487:1: ( ruleProtocolClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3343:1: ( ruleProtocolClass )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3487:1: ( ruleProtocolClass )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3488:1: ruleProtocolClass
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3343:1: ( ruleProtocolClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3344:1: ruleProtocolClass
                     {
                      before(grammarAccess.getGeneralProtocolClassAccess().getProtocolClassParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleProtocolClass_in_rule__GeneralProtocolClass__Alternatives7377);
+                    pushFollow(FOLLOW_ruleProtocolClass_in_rule__GeneralProtocolClass__Alternatives7102);
                     ruleProtocolClass();
 
                     state._fsp--;
@@ -9742,13 +9413,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3493:6: ( ruleCompoundProtocolClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3349:6: ( ruleCompoundProtocolClass )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3493:6: ( ruleCompoundProtocolClass )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3494:1: ruleCompoundProtocolClass
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3349:6: ( ruleCompoundProtocolClass )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3350:1: ruleCompoundProtocolClass
                     {
                      before(grammarAccess.getGeneralProtocolClassAccess().getCompoundProtocolClassParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleCompoundProtocolClass_in_rule__GeneralProtocolClass__Alternatives7394);
+                    pushFollow(FOLLOW_ruleCompoundProtocolClass_in_rule__GeneralProtocolClass__Alternatives7119);
                     ruleCompoundProtocolClass();
 
                     state._fsp--;
@@ -9778,26 +9449,26 @@
 
 
     // $ANTLR start "rule__PortClass__Alternatives_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3504:1: rule__PortClass__Alternatives_3 : ( ( ( rule__PortClass__MsgHandlersAssignment_3_0 ) ) | ( ( rule__PortClass__OperationsAssignment_3_1 ) ) | ( ( rule__PortClass__AttributesAssignment_3_2 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3360:1: rule__PortClass__Alternatives_3 : ( ( ( rule__PortClass__MsgHandlersAssignment_3_0 ) ) | ( ( rule__PortClass__OperationsAssignment_3_1 ) ) | ( ( rule__PortClass__AttributesAssignment_3_2 ) ) );
     public final void rule__PortClass__Alternatives_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3508:1: ( ( ( rule__PortClass__MsgHandlersAssignment_3_0 ) ) | ( ( rule__PortClass__OperationsAssignment_3_1 ) ) | ( ( rule__PortClass__AttributesAssignment_3_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3364:1: ( ( ( rule__PortClass__MsgHandlersAssignment_3_0 ) ) | ( ( rule__PortClass__OperationsAssignment_3_1 ) ) | ( ( rule__PortClass__AttributesAssignment_3_2 ) ) )
             int alt12=3;
             switch ( input.LA(1) ) {
-            case 70:
+            case 71:
                 {
                 alt12=1;
                 }
                 break;
-            case 60:
+            case 61:
                 {
                 alt12=2;
                 }
                 break;
-            case 57:
+            case 58:
                 {
                 alt12=3;
                 }
@@ -9811,16 +9482,16 @@
 
             switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3509:1: ( ( rule__PortClass__MsgHandlersAssignment_3_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3365:1: ( ( rule__PortClass__MsgHandlersAssignment_3_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3509:1: ( ( rule__PortClass__MsgHandlersAssignment_3_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3510:1: ( rule__PortClass__MsgHandlersAssignment_3_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3365:1: ( ( rule__PortClass__MsgHandlersAssignment_3_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3366:1: ( rule__PortClass__MsgHandlersAssignment_3_0 )
                     {
                      before(grammarAccess.getPortClassAccess().getMsgHandlersAssignment_3_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3511:1: ( rule__PortClass__MsgHandlersAssignment_3_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3511:2: rule__PortClass__MsgHandlersAssignment_3_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3367:1: ( rule__PortClass__MsgHandlersAssignment_3_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3367:2: rule__PortClass__MsgHandlersAssignment_3_0
                     {
-                    pushFollow(FOLLOW_rule__PortClass__MsgHandlersAssignment_3_0_in_rule__PortClass__Alternatives_37426);
+                    pushFollow(FOLLOW_rule__PortClass__MsgHandlersAssignment_3_0_in_rule__PortClass__Alternatives_37151);
                     rule__PortClass__MsgHandlersAssignment_3_0();
 
                     state._fsp--;
@@ -9836,16 +9507,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3515:6: ( ( rule__PortClass__OperationsAssignment_3_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3371:6: ( ( rule__PortClass__OperationsAssignment_3_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3515:6: ( ( rule__PortClass__OperationsAssignment_3_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3516:1: ( rule__PortClass__OperationsAssignment_3_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3371:6: ( ( rule__PortClass__OperationsAssignment_3_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3372:1: ( rule__PortClass__OperationsAssignment_3_1 )
                     {
                      before(grammarAccess.getPortClassAccess().getOperationsAssignment_3_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3517:1: ( rule__PortClass__OperationsAssignment_3_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3517:2: rule__PortClass__OperationsAssignment_3_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3373:1: ( rule__PortClass__OperationsAssignment_3_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3373:2: rule__PortClass__OperationsAssignment_3_1
                     {
-                    pushFollow(FOLLOW_rule__PortClass__OperationsAssignment_3_1_in_rule__PortClass__Alternatives_37444);
+                    pushFollow(FOLLOW_rule__PortClass__OperationsAssignment_3_1_in_rule__PortClass__Alternatives_37169);
                     rule__PortClass__OperationsAssignment_3_1();
 
                     state._fsp--;
@@ -9861,16 +9532,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3521:6: ( ( rule__PortClass__AttributesAssignment_3_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3377:6: ( ( rule__PortClass__AttributesAssignment_3_2 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3521:6: ( ( rule__PortClass__AttributesAssignment_3_2 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3522:1: ( rule__PortClass__AttributesAssignment_3_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3377:6: ( ( rule__PortClass__AttributesAssignment_3_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3378:1: ( rule__PortClass__AttributesAssignment_3_2 )
                     {
                      before(grammarAccess.getPortClassAccess().getAttributesAssignment_3_2()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3523:1: ( rule__PortClass__AttributesAssignment_3_2 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3523:2: rule__PortClass__AttributesAssignment_3_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3379:1: ( rule__PortClass__AttributesAssignment_3_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3379:2: rule__PortClass__AttributesAssignment_3_2
                     {
-                    pushFollow(FOLLOW_rule__PortClass__AttributesAssignment_3_2_in_rule__PortClass__Alternatives_37462);
+                    pushFollow(FOLLOW_rule__PortClass__AttributesAssignment_3_2_in_rule__PortClass__Alternatives_37187);
                     rule__PortClass__AttributesAssignment_3_2();
 
                     state._fsp--;
@@ -9903,25 +9574,25 @@
 
 
     // $ANTLR start "rule__MessageHandler__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3532:1: rule__MessageHandler__Alternatives : ( ( ruleInMessageHandler ) | ( ruleOutMessageHandler ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3388:1: rule__MessageHandler__Alternatives : ( ( ruleInMessageHandler ) | ( ruleOutMessageHandler ) );
     public final void rule__MessageHandler__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3536:1: ( ( ruleInMessageHandler ) | ( ruleOutMessageHandler ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3392:1: ( ( ruleInMessageHandler ) | ( ruleOutMessageHandler ) )
             int alt13=2;
             int LA13_0 = input.LA(1);
 
-            if ( (LA13_0==70) ) {
+            if ( (LA13_0==71) ) {
                 int LA13_1 = input.LA(2);
 
                 if ( (LA13_1==63) ) {
-                    alt13=2;
-                }
-                else if ( (LA13_1==62) ) {
                     alt13=1;
                 }
+                else if ( (LA13_1==64) ) {
+                    alt13=2;
+                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 13, 1, input);
@@ -9937,13 +9608,13 @@
             }
             switch (alt13) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3537:1: ( ruleInMessageHandler )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3393:1: ( ruleInMessageHandler )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3537:1: ( ruleInMessageHandler )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3538:1: ruleInMessageHandler
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3393:1: ( ruleInMessageHandler )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3394:1: ruleInMessageHandler
                     {
                      before(grammarAccess.getMessageHandlerAccess().getInMessageHandlerParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleInMessageHandler_in_rule__MessageHandler__Alternatives7495);
+                    pushFollow(FOLLOW_ruleInMessageHandler_in_rule__MessageHandler__Alternatives7220);
                     ruleInMessageHandler();
 
                     state._fsp--;
@@ -9956,13 +9627,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3543:6: ( ruleOutMessageHandler )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3399:6: ( ruleOutMessageHandler )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3543:6: ( ruleOutMessageHandler )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3544:1: ruleOutMessageHandler
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3399:6: ( ruleOutMessageHandler )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3400:1: ruleOutMessageHandler
                     {
                      before(grammarAccess.getMessageHandlerAccess().getOutMessageHandlerParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleOutMessageHandler_in_rule__MessageHandler__Alternatives7512);
+                    pushFollow(FOLLOW_ruleOutMessageHandler_in_rule__MessageHandler__Alternatives7237);
                     ruleOutMessageHandler();
 
                     state._fsp--;
@@ -9992,20 +9663,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Alternatives_7_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3554:1: rule__ActorClass__Alternatives_7_2 : ( ( ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 ) ) | ( ( rule__ActorClass__InterfacePortsAssignment_7_2_1 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3410:1: rule__ActorClass__Alternatives_7_2 : ( ( ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 ) ) | ( ( rule__ActorClass__InterfacePortsAssignment_7_2_1 ) ) );
     public final void rule__ActorClass__Alternatives_7_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3558:1: ( ( ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 ) ) | ( ( rule__ActorClass__InterfacePortsAssignment_7_2_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3414:1: ( ( ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 ) ) | ( ( rule__ActorClass__InterfacePortsAssignment_7_2_1 ) ) )
             int alt14=2;
             int LA14_0 = input.LA(1);
 
-            if ( (LA14_0==77) ) {
+            if ( (LA14_0==78) ) {
                 alt14=1;
             }
-            else if ( (LA14_0==66||LA14_0==74) ) {
+            else if ( (LA14_0==67||LA14_0==75) ) {
                 alt14=2;
             }
             else {
@@ -10016,16 +9687,16 @@
             }
             switch (alt14) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3559:1: ( ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3415:1: ( ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3559:1: ( ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3560:1: ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3415:1: ( ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3416:1: ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 )
                     {
                      before(grammarAccess.getActorClassAccess().getServiceProvisionPointsAssignment_7_2_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3561:1: ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3561:2: rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3417:1: ( rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3417:2: rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0_in_rule__ActorClass__Alternatives_7_27544);
+                    pushFollow(FOLLOW_rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0_in_rule__ActorClass__Alternatives_7_27269);
                     rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0();
 
                     state._fsp--;
@@ -10041,16 +9712,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3565:6: ( ( rule__ActorClass__InterfacePortsAssignment_7_2_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3421:6: ( ( rule__ActorClass__InterfacePortsAssignment_7_2_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3565:6: ( ( rule__ActorClass__InterfacePortsAssignment_7_2_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3566:1: ( rule__ActorClass__InterfacePortsAssignment_7_2_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3421:6: ( ( rule__ActorClass__InterfacePortsAssignment_7_2_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3422:1: ( rule__ActorClass__InterfacePortsAssignment_7_2_1 )
                     {
                      before(grammarAccess.getActorClassAccess().getInterfacePortsAssignment_7_2_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3567:1: ( rule__ActorClass__InterfacePortsAssignment_7_2_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3567:2: rule__ActorClass__InterfacePortsAssignment_7_2_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3423:1: ( rule__ActorClass__InterfacePortsAssignment_7_2_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3423:2: rule__ActorClass__InterfacePortsAssignment_7_2_1
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__InterfacePortsAssignment_7_2_1_in_rule__ActorClass__Alternatives_7_27562);
+                    pushFollow(FOLLOW_rule__ActorClass__InterfacePortsAssignment_7_2_1_in_rule__ActorClass__Alternatives_7_27287);
                     rule__ActorClass__InterfacePortsAssignment_7_2_1();
 
                     state._fsp--;
@@ -10083,54 +9754,54 @@
 
 
     // $ANTLR start "rule__ActorClass__Alternatives_8_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3576:1: rule__ActorClass__Alternatives_8_6 : ( ( ( rule__ActorClass__ConnectionsAssignment_8_6_0 ) ) | ( ( rule__ActorClass__BindingsAssignment_8_6_1 ) ) | ( ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 ) ) | ( ( rule__ActorClass__AttributesAssignment_8_6_3 ) ) | ( ( rule__ActorClass__ActorRefsAssignment_8_6_4 ) ) | ( ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 ) ) | ( ( rule__ActorClass__InternalPortsAssignment_8_6_6 ) ) | ( ( rule__ActorClass__ExternalPortsAssignment_8_6_7 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3432:1: rule__ActorClass__Alternatives_8_6 : ( ( ( rule__ActorClass__ConnectionsAssignment_8_6_0 ) ) | ( ( rule__ActorClass__BindingsAssignment_8_6_1 ) ) | ( ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 ) ) | ( ( rule__ActorClass__AttributesAssignment_8_6_3 ) ) | ( ( rule__ActorClass__ActorRefsAssignment_8_6_4 ) ) | ( ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 ) ) | ( ( rule__ActorClass__InternalPortsAssignment_8_6_6 ) ) | ( ( rule__ActorClass__ExternalPortsAssignment_8_6_7 ) ) );
     public final void rule__ActorClass__Alternatives_8_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3580:1: ( ( ( rule__ActorClass__ConnectionsAssignment_8_6_0 ) ) | ( ( rule__ActorClass__BindingsAssignment_8_6_1 ) ) | ( ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 ) ) | ( ( rule__ActorClass__AttributesAssignment_8_6_3 ) ) | ( ( rule__ActorClass__ActorRefsAssignment_8_6_4 ) ) | ( ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 ) ) | ( ( rule__ActorClass__InternalPortsAssignment_8_6_6 ) ) | ( ( rule__ActorClass__ExternalPortsAssignment_8_6_7 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3436:1: ( ( ( rule__ActorClass__ConnectionsAssignment_8_6_0 ) ) | ( ( rule__ActorClass__BindingsAssignment_8_6_1 ) ) | ( ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 ) ) | ( ( rule__ActorClass__AttributesAssignment_8_6_3 ) ) | ( ( rule__ActorClass__ActorRefsAssignment_8_6_4 ) ) | ( ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 ) ) | ( ( rule__ActorClass__InternalPortsAssignment_8_6_6 ) ) | ( ( rule__ActorClass__ExternalPortsAssignment_8_6_7 ) ) )
             int alt15=8;
             switch ( input.LA(1) ) {
-            case 87:
+            case 88:
                 {
                 alt15=1;
                 }
                 break;
-            case 83:
+            case 84:
                 {
                 alt15=2;
                 }
                 break;
-            case 78:
+            case 79:
                 {
                 alt15=3;
                 }
                 break;
-            case 57:
+            case 58:
                 {
                 alt15=4;
                 }
                 break;
-            case 32:
             case 33:
-            case 91:
+            case 34:
+            case 92:
                 {
                 alt15=5;
                 }
                 break;
-            case 76:
+            case 77:
                 {
                 alt15=6;
                 }
                 break;
-            case 66:
-            case 74:
+            case 67:
+            case 75:
                 {
                 alt15=7;
                 }
                 break;
-            case 75:
+            case 76:
                 {
                 alt15=8;
                 }
@@ -10144,16 +9815,16 @@
 
             switch (alt15) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3581:1: ( ( rule__ActorClass__ConnectionsAssignment_8_6_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3437:1: ( ( rule__ActorClass__ConnectionsAssignment_8_6_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3581:1: ( ( rule__ActorClass__ConnectionsAssignment_8_6_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3582:1: ( rule__ActorClass__ConnectionsAssignment_8_6_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3437:1: ( ( rule__ActorClass__ConnectionsAssignment_8_6_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3438:1: ( rule__ActorClass__ConnectionsAssignment_8_6_0 )
                     {
                      before(grammarAccess.getActorClassAccess().getConnectionsAssignment_8_6_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3583:1: ( rule__ActorClass__ConnectionsAssignment_8_6_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3583:2: rule__ActorClass__ConnectionsAssignment_8_6_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3439:1: ( rule__ActorClass__ConnectionsAssignment_8_6_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3439:2: rule__ActorClass__ConnectionsAssignment_8_6_0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__ConnectionsAssignment_8_6_0_in_rule__ActorClass__Alternatives_8_67595);
+                    pushFollow(FOLLOW_rule__ActorClass__ConnectionsAssignment_8_6_0_in_rule__ActorClass__Alternatives_8_67320);
                     rule__ActorClass__ConnectionsAssignment_8_6_0();
 
                     state._fsp--;
@@ -10169,16 +9840,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3587:6: ( ( rule__ActorClass__BindingsAssignment_8_6_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3443:6: ( ( rule__ActorClass__BindingsAssignment_8_6_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3587:6: ( ( rule__ActorClass__BindingsAssignment_8_6_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3588:1: ( rule__ActorClass__BindingsAssignment_8_6_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3443:6: ( ( rule__ActorClass__BindingsAssignment_8_6_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3444:1: ( rule__ActorClass__BindingsAssignment_8_6_1 )
                     {
                      before(grammarAccess.getActorClassAccess().getBindingsAssignment_8_6_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3589:1: ( rule__ActorClass__BindingsAssignment_8_6_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3589:2: rule__ActorClass__BindingsAssignment_8_6_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3445:1: ( rule__ActorClass__BindingsAssignment_8_6_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3445:2: rule__ActorClass__BindingsAssignment_8_6_1
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__BindingsAssignment_8_6_1_in_rule__ActorClass__Alternatives_8_67613);
+                    pushFollow(FOLLOW_rule__ActorClass__BindingsAssignment_8_6_1_in_rule__ActorClass__Alternatives_8_67338);
                     rule__ActorClass__BindingsAssignment_8_6_1();
 
                     state._fsp--;
@@ -10194,16 +9865,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3593:6: ( ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3449:6: ( ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3593:6: ( ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3594:1: ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3449:6: ( ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3450:1: ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 )
                     {
                      before(grammarAccess.getActorClassAccess().getServiceImplementationsAssignment_8_6_2()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3595:1: ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3595:2: rule__ActorClass__ServiceImplementationsAssignment_8_6_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3451:1: ( rule__ActorClass__ServiceImplementationsAssignment_8_6_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3451:2: rule__ActorClass__ServiceImplementationsAssignment_8_6_2
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__ServiceImplementationsAssignment_8_6_2_in_rule__ActorClass__Alternatives_8_67631);
+                    pushFollow(FOLLOW_rule__ActorClass__ServiceImplementationsAssignment_8_6_2_in_rule__ActorClass__Alternatives_8_67356);
                     rule__ActorClass__ServiceImplementationsAssignment_8_6_2();
 
                     state._fsp--;
@@ -10219,16 +9890,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3599:6: ( ( rule__ActorClass__AttributesAssignment_8_6_3 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3455:6: ( ( rule__ActorClass__AttributesAssignment_8_6_3 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3599:6: ( ( rule__ActorClass__AttributesAssignment_8_6_3 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3600:1: ( rule__ActorClass__AttributesAssignment_8_6_3 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3455:6: ( ( rule__ActorClass__AttributesAssignment_8_6_3 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3456:1: ( rule__ActorClass__AttributesAssignment_8_6_3 )
                     {
                      before(grammarAccess.getActorClassAccess().getAttributesAssignment_8_6_3()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3601:1: ( rule__ActorClass__AttributesAssignment_8_6_3 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3601:2: rule__ActorClass__AttributesAssignment_8_6_3
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3457:1: ( rule__ActorClass__AttributesAssignment_8_6_3 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3457:2: rule__ActorClass__AttributesAssignment_8_6_3
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__AttributesAssignment_8_6_3_in_rule__ActorClass__Alternatives_8_67649);
+                    pushFollow(FOLLOW_rule__ActorClass__AttributesAssignment_8_6_3_in_rule__ActorClass__Alternatives_8_67374);
                     rule__ActorClass__AttributesAssignment_8_6_3();
 
                     state._fsp--;
@@ -10244,16 +9915,16 @@
                     }
                     break;
                 case 5 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3605:6: ( ( rule__ActorClass__ActorRefsAssignment_8_6_4 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3461:6: ( ( rule__ActorClass__ActorRefsAssignment_8_6_4 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3605:6: ( ( rule__ActorClass__ActorRefsAssignment_8_6_4 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3606:1: ( rule__ActorClass__ActorRefsAssignment_8_6_4 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3461:6: ( ( rule__ActorClass__ActorRefsAssignment_8_6_4 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3462:1: ( rule__ActorClass__ActorRefsAssignment_8_6_4 )
                     {
                      before(grammarAccess.getActorClassAccess().getActorRefsAssignment_8_6_4()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3607:1: ( rule__ActorClass__ActorRefsAssignment_8_6_4 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3607:2: rule__ActorClass__ActorRefsAssignment_8_6_4
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3463:1: ( rule__ActorClass__ActorRefsAssignment_8_6_4 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3463:2: rule__ActorClass__ActorRefsAssignment_8_6_4
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__ActorRefsAssignment_8_6_4_in_rule__ActorClass__Alternatives_8_67667);
+                    pushFollow(FOLLOW_rule__ActorClass__ActorRefsAssignment_8_6_4_in_rule__ActorClass__Alternatives_8_67392);
                     rule__ActorClass__ActorRefsAssignment_8_6_4();
 
                     state._fsp--;
@@ -10269,16 +9940,16 @@
                     }
                     break;
                 case 6 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3611:6: ( ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3467:6: ( ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3611:6: ( ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3612:1: ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3467:6: ( ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3468:1: ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 )
                     {
                      before(grammarAccess.getActorClassAccess().getServiceAccessPointsAssignment_8_6_5()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3613:1: ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3613:2: rule__ActorClass__ServiceAccessPointsAssignment_8_6_5
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3469:1: ( rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3469:2: rule__ActorClass__ServiceAccessPointsAssignment_8_6_5
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__ServiceAccessPointsAssignment_8_6_5_in_rule__ActorClass__Alternatives_8_67685);
+                    pushFollow(FOLLOW_rule__ActorClass__ServiceAccessPointsAssignment_8_6_5_in_rule__ActorClass__Alternatives_8_67410);
                     rule__ActorClass__ServiceAccessPointsAssignment_8_6_5();
 
                     state._fsp--;
@@ -10294,16 +9965,16 @@
                     }
                     break;
                 case 7 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3617:6: ( ( rule__ActorClass__InternalPortsAssignment_8_6_6 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3473:6: ( ( rule__ActorClass__InternalPortsAssignment_8_6_6 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3617:6: ( ( rule__ActorClass__InternalPortsAssignment_8_6_6 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3618:1: ( rule__ActorClass__InternalPortsAssignment_8_6_6 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3473:6: ( ( rule__ActorClass__InternalPortsAssignment_8_6_6 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3474:1: ( rule__ActorClass__InternalPortsAssignment_8_6_6 )
                     {
                      before(grammarAccess.getActorClassAccess().getInternalPortsAssignment_8_6_6()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3619:1: ( rule__ActorClass__InternalPortsAssignment_8_6_6 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3619:2: rule__ActorClass__InternalPortsAssignment_8_6_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3475:1: ( rule__ActorClass__InternalPortsAssignment_8_6_6 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3475:2: rule__ActorClass__InternalPortsAssignment_8_6_6
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__InternalPortsAssignment_8_6_6_in_rule__ActorClass__Alternatives_8_67703);
+                    pushFollow(FOLLOW_rule__ActorClass__InternalPortsAssignment_8_6_6_in_rule__ActorClass__Alternatives_8_67428);
                     rule__ActorClass__InternalPortsAssignment_8_6_6();
 
                     state._fsp--;
@@ -10319,16 +9990,16 @@
                     }
                     break;
                 case 8 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3623:6: ( ( rule__ActorClass__ExternalPortsAssignment_8_6_7 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3479:6: ( ( rule__ActorClass__ExternalPortsAssignment_8_6_7 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3623:6: ( ( rule__ActorClass__ExternalPortsAssignment_8_6_7 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3624:1: ( rule__ActorClass__ExternalPortsAssignment_8_6_7 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3479:6: ( ( rule__ActorClass__ExternalPortsAssignment_8_6_7 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3480:1: ( rule__ActorClass__ExternalPortsAssignment_8_6_7 )
                     {
                      before(grammarAccess.getActorClassAccess().getExternalPortsAssignment_8_6_7()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3625:1: ( rule__ActorClass__ExternalPortsAssignment_8_6_7 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3625:2: rule__ActorClass__ExternalPortsAssignment_8_6_7
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3481:1: ( rule__ActorClass__ExternalPortsAssignment_8_6_7 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3481:2: rule__ActorClass__ExternalPortsAssignment_8_6_7
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__ExternalPortsAssignment_8_6_7_in_rule__ActorClass__Alternatives_8_67721);
+                    pushFollow(FOLLOW_rule__ActorClass__ExternalPortsAssignment_8_6_7_in_rule__ActorClass__Alternatives_8_67446);
                     rule__ActorClass__ExternalPortsAssignment_8_6_7();
 
                     state._fsp--;
@@ -10361,20 +10032,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Alternatives_9_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3634:1: rule__ActorClass__Alternatives_9_4 : ( ( ( rule__ActorClass__OperationsAssignment_9_4_0 ) ) | ( ( rule__ActorClass__StructorsAssignment_9_4_1 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3490:1: rule__ActorClass__Alternatives_9_4 : ( ( ( rule__ActorClass__OperationsAssignment_9_4_0 ) ) | ( ( rule__ActorClass__StructorsAssignment_9_4_1 ) ) );
     public final void rule__ActorClass__Alternatives_9_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3638:1: ( ( ( rule__ActorClass__OperationsAssignment_9_4_0 ) ) | ( ( rule__ActorClass__StructorsAssignment_9_4_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3494:1: ( ( ( rule__ActorClass__OperationsAssignment_9_4_0 ) ) | ( ( rule__ActorClass__StructorsAssignment_9_4_1 ) ) )
             int alt16=2;
             int LA16_0 = input.LA(1);
 
-            if ( (LA16_0==60||LA16_0==126) ) {
+            if ( (LA16_0==61||LA16_0==127) ) {
                 alt16=1;
             }
-            else if ( ((LA16_0>=14 && LA16_0<=15)) ) {
+            else if ( ((LA16_0>=13 && LA16_0<=14)) ) {
                 alt16=2;
             }
             else {
@@ -10385,16 +10056,16 @@
             }
             switch (alt16) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3639:1: ( ( rule__ActorClass__OperationsAssignment_9_4_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3495:1: ( ( rule__ActorClass__OperationsAssignment_9_4_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3639:1: ( ( rule__ActorClass__OperationsAssignment_9_4_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3640:1: ( rule__ActorClass__OperationsAssignment_9_4_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3495:1: ( ( rule__ActorClass__OperationsAssignment_9_4_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3496:1: ( rule__ActorClass__OperationsAssignment_9_4_0 )
                     {
                      before(grammarAccess.getActorClassAccess().getOperationsAssignment_9_4_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3641:1: ( rule__ActorClass__OperationsAssignment_9_4_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3641:2: rule__ActorClass__OperationsAssignment_9_4_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3497:1: ( rule__ActorClass__OperationsAssignment_9_4_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3497:2: rule__ActorClass__OperationsAssignment_9_4_0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__OperationsAssignment_9_4_0_in_rule__ActorClass__Alternatives_9_47754);
+                    pushFollow(FOLLOW_rule__ActorClass__OperationsAssignment_9_4_0_in_rule__ActorClass__Alternatives_9_47479);
                     rule__ActorClass__OperationsAssignment_9_4_0();
 
                     state._fsp--;
@@ -10410,16 +10081,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3645:6: ( ( rule__ActorClass__StructorsAssignment_9_4_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3501:6: ( ( rule__ActorClass__StructorsAssignment_9_4_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3645:6: ( ( rule__ActorClass__StructorsAssignment_9_4_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3646:1: ( rule__ActorClass__StructorsAssignment_9_4_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3501:6: ( ( rule__ActorClass__StructorsAssignment_9_4_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3502:1: ( rule__ActorClass__StructorsAssignment_9_4_1 )
                     {
                      before(grammarAccess.getActorClassAccess().getStructorsAssignment_9_4_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3647:1: ( rule__ActorClass__StructorsAssignment_9_4_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3647:2: rule__ActorClass__StructorsAssignment_9_4_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3503:1: ( rule__ActorClass__StructorsAssignment_9_4_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3503:2: rule__ActorClass__StructorsAssignment_9_4_1
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__StructorsAssignment_9_4_1_in_rule__ActorClass__Alternatives_9_47772);
+                    pushFollow(FOLLOW_rule__ActorClass__StructorsAssignment_9_4_1_in_rule__ActorClass__Alternatives_9_47497);
                     rule__ActorClass__StructorsAssignment_9_4_1();
 
                     state._fsp--;
@@ -10452,27 +10123,27 @@
 
 
     // $ANTLR start "rule__InterfaceItem__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3656:1: rule__InterfaceItem__Alternatives : ( ( rulePort ) | ( ruleSAP ) | ( ruleSPP ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3512:1: rule__InterfaceItem__Alternatives : ( ( rulePort ) | ( ruleSAP ) | ( ruleSPP ) );
     public final void rule__InterfaceItem__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3660:1: ( ( rulePort ) | ( ruleSAP ) | ( ruleSPP ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3516:1: ( ( rulePort ) | ( ruleSAP ) | ( ruleSPP ) )
             int alt17=3;
             switch ( input.LA(1) ) {
-            case 66:
-            case 74:
+            case 67:
+            case 75:
                 {
                 alt17=1;
                 }
                 break;
-            case 76:
+            case 77:
                 {
                 alt17=2;
                 }
                 break;
-            case 77:
+            case 78:
                 {
                 alt17=3;
                 }
@@ -10486,13 +10157,13 @@
 
             switch (alt17) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3661:1: ( rulePort )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3517:1: ( rulePort )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3661:1: ( rulePort )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3662:1: rulePort
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3517:1: ( rulePort )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3518:1: rulePort
                     {
                      before(grammarAccess.getInterfaceItemAccess().getPortParserRuleCall_0()); 
-                    pushFollow(FOLLOW_rulePort_in_rule__InterfaceItem__Alternatives7805);
+                    pushFollow(FOLLOW_rulePort_in_rule__InterfaceItem__Alternatives7530);
                     rulePort();
 
                     state._fsp--;
@@ -10505,13 +10176,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3667:6: ( ruleSAP )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3523:6: ( ruleSAP )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3667:6: ( ruleSAP )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3668:1: ruleSAP
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3523:6: ( ruleSAP )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3524:1: ruleSAP
                     {
                      before(grammarAccess.getInterfaceItemAccess().getSAPParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleSAP_in_rule__InterfaceItem__Alternatives7822);
+                    pushFollow(FOLLOW_ruleSAP_in_rule__InterfaceItem__Alternatives7547);
                     ruleSAP();
 
                     state._fsp--;
@@ -10524,13 +10195,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3673:6: ( ruleSPP )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3529:6: ( ruleSPP )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3673:6: ( ruleSPP )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3674:1: ruleSPP
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3529:6: ( ruleSPP )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3530:1: ruleSPP
                     {
                      before(grammarAccess.getInterfaceItemAccess().getSPPParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleSPP_in_rule__InterfaceItem__Alternatives7839);
+                    pushFollow(FOLLOW_ruleSPP_in_rule__InterfaceItem__Alternatives7564);
                     ruleSPP();
 
                     state._fsp--;
@@ -10560,26 +10231,26 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Alternatives_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3684:1: rule__LogicalSystem__Alternatives_5 : ( ( ( rule__LogicalSystem__ConnectionsAssignment_5_0 ) ) | ( ( rule__LogicalSystem__BindingsAssignment_5_1 ) ) | ( ( rule__LogicalSystem__SubSystemsAssignment_5_2 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3540:1: rule__LogicalSystem__Alternatives_5 : ( ( ( rule__LogicalSystem__ConnectionsAssignment_5_0 ) ) | ( ( rule__LogicalSystem__BindingsAssignment_5_1 ) ) | ( ( rule__LogicalSystem__SubSystemsAssignment_5_2 ) ) );
     public final void rule__LogicalSystem__Alternatives_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3688:1: ( ( ( rule__LogicalSystem__ConnectionsAssignment_5_0 ) ) | ( ( rule__LogicalSystem__BindingsAssignment_5_1 ) ) | ( ( rule__LogicalSystem__SubSystemsAssignment_5_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3544:1: ( ( ( rule__LogicalSystem__ConnectionsAssignment_5_0 ) ) | ( ( rule__LogicalSystem__BindingsAssignment_5_1 ) ) | ( ( rule__LogicalSystem__SubSystemsAssignment_5_2 ) ) )
             int alt18=3;
             switch ( input.LA(1) ) {
-            case 87:
+            case 88:
                 {
                 alt18=1;
                 }
                 break;
-            case 83:
+            case 84:
                 {
                 alt18=2;
                 }
                 break;
-            case 79:
+            case 80:
                 {
                 alt18=3;
                 }
@@ -10593,16 +10264,16 @@
 
             switch (alt18) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3689:1: ( ( rule__LogicalSystem__ConnectionsAssignment_5_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3545:1: ( ( rule__LogicalSystem__ConnectionsAssignment_5_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3689:1: ( ( rule__LogicalSystem__ConnectionsAssignment_5_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3690:1: ( rule__LogicalSystem__ConnectionsAssignment_5_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3545:1: ( ( rule__LogicalSystem__ConnectionsAssignment_5_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3546:1: ( rule__LogicalSystem__ConnectionsAssignment_5_0 )
                     {
                      before(grammarAccess.getLogicalSystemAccess().getConnectionsAssignment_5_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3691:1: ( rule__LogicalSystem__ConnectionsAssignment_5_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3691:2: rule__LogicalSystem__ConnectionsAssignment_5_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3547:1: ( rule__LogicalSystem__ConnectionsAssignment_5_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3547:2: rule__LogicalSystem__ConnectionsAssignment_5_0
                     {
-                    pushFollow(FOLLOW_rule__LogicalSystem__ConnectionsAssignment_5_0_in_rule__LogicalSystem__Alternatives_57871);
+                    pushFollow(FOLLOW_rule__LogicalSystem__ConnectionsAssignment_5_0_in_rule__LogicalSystem__Alternatives_57596);
                     rule__LogicalSystem__ConnectionsAssignment_5_0();
 
                     state._fsp--;
@@ -10618,16 +10289,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3695:6: ( ( rule__LogicalSystem__BindingsAssignment_5_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3551:6: ( ( rule__LogicalSystem__BindingsAssignment_5_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3695:6: ( ( rule__LogicalSystem__BindingsAssignment_5_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3696:1: ( rule__LogicalSystem__BindingsAssignment_5_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3551:6: ( ( rule__LogicalSystem__BindingsAssignment_5_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3552:1: ( rule__LogicalSystem__BindingsAssignment_5_1 )
                     {
                      before(grammarAccess.getLogicalSystemAccess().getBindingsAssignment_5_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3697:1: ( rule__LogicalSystem__BindingsAssignment_5_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3697:2: rule__LogicalSystem__BindingsAssignment_5_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3553:1: ( rule__LogicalSystem__BindingsAssignment_5_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3553:2: rule__LogicalSystem__BindingsAssignment_5_1
                     {
-                    pushFollow(FOLLOW_rule__LogicalSystem__BindingsAssignment_5_1_in_rule__LogicalSystem__Alternatives_57889);
+                    pushFollow(FOLLOW_rule__LogicalSystem__BindingsAssignment_5_1_in_rule__LogicalSystem__Alternatives_57614);
                     rule__LogicalSystem__BindingsAssignment_5_1();
 
                     state._fsp--;
@@ -10643,16 +10314,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3701:6: ( ( rule__LogicalSystem__SubSystemsAssignment_5_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3557:6: ( ( rule__LogicalSystem__SubSystemsAssignment_5_2 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3701:6: ( ( rule__LogicalSystem__SubSystemsAssignment_5_2 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3702:1: ( rule__LogicalSystem__SubSystemsAssignment_5_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3557:6: ( ( rule__LogicalSystem__SubSystemsAssignment_5_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3558:1: ( rule__LogicalSystem__SubSystemsAssignment_5_2 )
                     {
                      before(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_5_2()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3703:1: ( rule__LogicalSystem__SubSystemsAssignment_5_2 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3703:2: rule__LogicalSystem__SubSystemsAssignment_5_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3559:1: ( rule__LogicalSystem__SubSystemsAssignment_5_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3559:2: rule__LogicalSystem__SubSystemsAssignment_5_2
                     {
-                    pushFollow(FOLLOW_rule__LogicalSystem__SubSystemsAssignment_5_2_in_rule__LogicalSystem__Alternatives_57907);
+                    pushFollow(FOLLOW_rule__LogicalSystem__SubSystemsAssignment_5_2_in_rule__LogicalSystem__Alternatives_57632);
                     rule__LogicalSystem__SubSystemsAssignment_5_2();
 
                     state._fsp--;
@@ -10685,49 +10356,49 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Alternatives_8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3713:1: rule__SubSystemClass__Alternatives_8 : ( ( ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 ) ) | ( ( rule__SubSystemClass__ThreadsAssignment_8_1 ) ) | ( ( rule__SubSystemClass__ConnectionsAssignment_8_2 ) ) | ( ( rule__SubSystemClass__BindingsAssignment_8_3 ) ) | ( ( rule__SubSystemClass__ActorRefsAssignment_8_4 ) ) | ( ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 ) ) | ( ( rule__SubSystemClass__RelayPortsAssignment_8_6 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3569:1: rule__SubSystemClass__Alternatives_8 : ( ( ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 ) ) | ( ( rule__SubSystemClass__ThreadsAssignment_8_1 ) ) | ( ( rule__SubSystemClass__ConnectionsAssignment_8_2 ) ) | ( ( rule__SubSystemClass__BindingsAssignment_8_3 ) ) | ( ( rule__SubSystemClass__ActorRefsAssignment_8_4 ) ) | ( ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 ) ) | ( ( rule__SubSystemClass__RelayPortsAssignment_8_6 ) ) );
     public final void rule__SubSystemClass__Alternatives_8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3717:1: ( ( ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 ) ) | ( ( rule__SubSystemClass__ThreadsAssignment_8_1 ) ) | ( ( rule__SubSystemClass__ConnectionsAssignment_8_2 ) ) | ( ( rule__SubSystemClass__BindingsAssignment_8_3 ) ) | ( ( rule__SubSystemClass__ActorRefsAssignment_8_4 ) ) | ( ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 ) ) | ( ( rule__SubSystemClass__RelayPortsAssignment_8_6 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3573:1: ( ( ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 ) ) | ( ( rule__SubSystemClass__ThreadsAssignment_8_1 ) ) | ( ( rule__SubSystemClass__ConnectionsAssignment_8_2 ) ) | ( ( rule__SubSystemClass__BindingsAssignment_8_3 ) ) | ( ( rule__SubSystemClass__ActorRefsAssignment_8_4 ) ) | ( ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 ) ) | ( ( rule__SubSystemClass__RelayPortsAssignment_8_6 ) ) )
             int alt19=7;
             switch ( input.LA(1) ) {
-            case 81:
+            case 82:
                 {
                 alt19=1;
                 }
                 break;
-            case 80:
+            case 81:
                 {
                 alt19=2;
                 }
                 break;
-            case 87:
+            case 88:
                 {
                 alt19=3;
                 }
                 break;
-            case 83:
+            case 84:
                 {
                 alt19=4;
                 }
                 break;
-            case 32:
             case 33:
-            case 91:
+            case 34:
+            case 92:
                 {
                 alt19=5;
                 }
                 break;
-            case 77:
+            case 78:
                 {
                 alt19=6;
                 }
                 break;
-            case 66:
-            case 74:
+            case 67:
+            case 75:
                 {
                 alt19=7;
                 }
@@ -10741,16 +10412,16 @@
 
             switch (alt19) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3718:1: ( ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3574:1: ( ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3718:1: ( ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3719:1: ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3574:1: ( ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3575:1: ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 )
                     {
                      before(grammarAccess.getSubSystemClassAccess().getActorInstanceMappingsAssignment_8_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3720:1: ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3720:2: rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3576:1: ( rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3576:2: rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0
                     {
-                    pushFollow(FOLLOW_rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0_in_rule__SubSystemClass__Alternatives_87941);
+                    pushFollow(FOLLOW_rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0_in_rule__SubSystemClass__Alternatives_87666);
                     rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0();
 
                     state._fsp--;
@@ -10766,16 +10437,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3724:6: ( ( rule__SubSystemClass__ThreadsAssignment_8_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3580:6: ( ( rule__SubSystemClass__ThreadsAssignment_8_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3724:6: ( ( rule__SubSystemClass__ThreadsAssignment_8_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3725:1: ( rule__SubSystemClass__ThreadsAssignment_8_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3580:6: ( ( rule__SubSystemClass__ThreadsAssignment_8_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3581:1: ( rule__SubSystemClass__ThreadsAssignment_8_1 )
                     {
                      before(grammarAccess.getSubSystemClassAccess().getThreadsAssignment_8_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3726:1: ( rule__SubSystemClass__ThreadsAssignment_8_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3726:2: rule__SubSystemClass__ThreadsAssignment_8_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3582:1: ( rule__SubSystemClass__ThreadsAssignment_8_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3582:2: rule__SubSystemClass__ThreadsAssignment_8_1
                     {
-                    pushFollow(FOLLOW_rule__SubSystemClass__ThreadsAssignment_8_1_in_rule__SubSystemClass__Alternatives_87959);
+                    pushFollow(FOLLOW_rule__SubSystemClass__ThreadsAssignment_8_1_in_rule__SubSystemClass__Alternatives_87684);
                     rule__SubSystemClass__ThreadsAssignment_8_1();
 
                     state._fsp--;
@@ -10791,16 +10462,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3730:6: ( ( rule__SubSystemClass__ConnectionsAssignment_8_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3586:6: ( ( rule__SubSystemClass__ConnectionsAssignment_8_2 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3730:6: ( ( rule__SubSystemClass__ConnectionsAssignment_8_2 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3731:1: ( rule__SubSystemClass__ConnectionsAssignment_8_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3586:6: ( ( rule__SubSystemClass__ConnectionsAssignment_8_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3587:1: ( rule__SubSystemClass__ConnectionsAssignment_8_2 )
                     {
                      before(grammarAccess.getSubSystemClassAccess().getConnectionsAssignment_8_2()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3732:1: ( rule__SubSystemClass__ConnectionsAssignment_8_2 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3732:2: rule__SubSystemClass__ConnectionsAssignment_8_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3588:1: ( rule__SubSystemClass__ConnectionsAssignment_8_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3588:2: rule__SubSystemClass__ConnectionsAssignment_8_2
                     {
-                    pushFollow(FOLLOW_rule__SubSystemClass__ConnectionsAssignment_8_2_in_rule__SubSystemClass__Alternatives_87977);
+                    pushFollow(FOLLOW_rule__SubSystemClass__ConnectionsAssignment_8_2_in_rule__SubSystemClass__Alternatives_87702);
                     rule__SubSystemClass__ConnectionsAssignment_8_2();
 
                     state._fsp--;
@@ -10816,16 +10487,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3736:6: ( ( rule__SubSystemClass__BindingsAssignment_8_3 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3592:6: ( ( rule__SubSystemClass__BindingsAssignment_8_3 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3736:6: ( ( rule__SubSystemClass__BindingsAssignment_8_3 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3737:1: ( rule__SubSystemClass__BindingsAssignment_8_3 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3592:6: ( ( rule__SubSystemClass__BindingsAssignment_8_3 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3593:1: ( rule__SubSystemClass__BindingsAssignment_8_3 )
                     {
                      before(grammarAccess.getSubSystemClassAccess().getBindingsAssignment_8_3()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3738:1: ( rule__SubSystemClass__BindingsAssignment_8_3 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3738:2: rule__SubSystemClass__BindingsAssignment_8_3
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3594:1: ( rule__SubSystemClass__BindingsAssignment_8_3 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3594:2: rule__SubSystemClass__BindingsAssignment_8_3
                     {
-                    pushFollow(FOLLOW_rule__SubSystemClass__BindingsAssignment_8_3_in_rule__SubSystemClass__Alternatives_87995);
+                    pushFollow(FOLLOW_rule__SubSystemClass__BindingsAssignment_8_3_in_rule__SubSystemClass__Alternatives_87720);
                     rule__SubSystemClass__BindingsAssignment_8_3();
 
                     state._fsp--;
@@ -10841,16 +10512,16 @@
                     }
                     break;
                 case 5 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3742:6: ( ( rule__SubSystemClass__ActorRefsAssignment_8_4 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3598:6: ( ( rule__SubSystemClass__ActorRefsAssignment_8_4 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3742:6: ( ( rule__SubSystemClass__ActorRefsAssignment_8_4 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3743:1: ( rule__SubSystemClass__ActorRefsAssignment_8_4 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3598:6: ( ( rule__SubSystemClass__ActorRefsAssignment_8_4 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3599:1: ( rule__SubSystemClass__ActorRefsAssignment_8_4 )
                     {
                      before(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_8_4()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3744:1: ( rule__SubSystemClass__ActorRefsAssignment_8_4 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3744:2: rule__SubSystemClass__ActorRefsAssignment_8_4
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3600:1: ( rule__SubSystemClass__ActorRefsAssignment_8_4 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3600:2: rule__SubSystemClass__ActorRefsAssignment_8_4
                     {
-                    pushFollow(FOLLOW_rule__SubSystemClass__ActorRefsAssignment_8_4_in_rule__SubSystemClass__Alternatives_88013);
+                    pushFollow(FOLLOW_rule__SubSystemClass__ActorRefsAssignment_8_4_in_rule__SubSystemClass__Alternatives_87738);
                     rule__SubSystemClass__ActorRefsAssignment_8_4();
 
                     state._fsp--;
@@ -10866,16 +10537,16 @@
                     }
                     break;
                 case 6 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3748:6: ( ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3604:6: ( ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3748:6: ( ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3749:1: ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3604:6: ( ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3605:1: ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 )
                     {
                      before(grammarAccess.getSubSystemClassAccess().getServiceProvisionPointsAssignment_8_5()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3750:1: ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3750:2: rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3606:1: ( rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3606:2: rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5
                     {
-                    pushFollow(FOLLOW_rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5_in_rule__SubSystemClass__Alternatives_88031);
+                    pushFollow(FOLLOW_rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5_in_rule__SubSystemClass__Alternatives_87756);
                     rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5();
 
                     state._fsp--;
@@ -10891,16 +10562,16 @@
                     }
                     break;
                 case 7 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3754:6: ( ( rule__SubSystemClass__RelayPortsAssignment_8_6 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3610:6: ( ( rule__SubSystemClass__RelayPortsAssignment_8_6 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3754:6: ( ( rule__SubSystemClass__RelayPortsAssignment_8_6 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3755:1: ( rule__SubSystemClass__RelayPortsAssignment_8_6 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3610:6: ( ( rule__SubSystemClass__RelayPortsAssignment_8_6 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3611:1: ( rule__SubSystemClass__RelayPortsAssignment_8_6 )
                     {
                      before(grammarAccess.getSubSystemClassAccess().getRelayPortsAssignment_8_6()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3756:1: ( rule__SubSystemClass__RelayPortsAssignment_8_6 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3756:2: rule__SubSystemClass__RelayPortsAssignment_8_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3612:1: ( rule__SubSystemClass__RelayPortsAssignment_8_6 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3612:2: rule__SubSystemClass__RelayPortsAssignment_8_6
                     {
-                    pushFollow(FOLLOW_rule__SubSystemClass__RelayPortsAssignment_8_6_in_rule__SubSystemClass__Alternatives_88049);
+                    pushFollow(FOLLOW_rule__SubSystemClass__RelayPortsAssignment_8_6_in_rule__SubSystemClass__Alternatives_87774);
                     rule__SubSystemClass__RelayPortsAssignment_8_6();
 
                     state._fsp--;
@@ -10933,20 +10604,20 @@
 
 
     // $ANTLR start "rule__SAPoint__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3765:1: rule__SAPoint__Alternatives : ( ( ruleRefSAPoint ) | ( ruleRelaySAPoint ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3621:1: rule__SAPoint__Alternatives : ( ( ruleRefSAPoint ) | ( ruleRelaySAPoint ) );
     public final void rule__SAPoint__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3769:1: ( ( ruleRefSAPoint ) | ( ruleRelaySAPoint ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3625:1: ( ( ruleRefSAPoint ) | ( ruleRelaySAPoint ) )
             int alt20=2;
             int LA20_0 = input.LA(1);
 
-            if ( (LA20_0==89) ) {
+            if ( (LA20_0==90) ) {
                 alt20=1;
             }
-            else if ( (LA20_0==90) ) {
+            else if ( (LA20_0==91) ) {
                 alt20=2;
             }
             else {
@@ -10957,13 +10628,13 @@
             }
             switch (alt20) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3770:1: ( ruleRefSAPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3626:1: ( ruleRefSAPoint )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3770:1: ( ruleRefSAPoint )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3771:1: ruleRefSAPoint
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3626:1: ( ruleRefSAPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3627:1: ruleRefSAPoint
                     {
                      before(grammarAccess.getSAPointAccess().getRefSAPointParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleRefSAPoint_in_rule__SAPoint__Alternatives8082);
+                    pushFollow(FOLLOW_ruleRefSAPoint_in_rule__SAPoint__Alternatives7807);
                     ruleRefSAPoint();
 
                     state._fsp--;
@@ -10976,13 +10647,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3776:6: ( ruleRelaySAPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3632:6: ( ruleRelaySAPoint )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3776:6: ( ruleRelaySAPoint )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3777:1: ruleRelaySAPoint
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3632:6: ( ruleRelaySAPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3633:1: ruleRelaySAPoint
                     {
                      before(grammarAccess.getSAPointAccess().getRelaySAPointParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleRelaySAPoint_in_rule__SAPoint__Alternatives8099);
+                    pushFollow(FOLLOW_ruleRelaySAPoint_in_rule__SAPoint__Alternatives7824);
                     ruleRelaySAPoint();
 
                     state._fsp--;
@@ -11012,17 +10683,17 @@
 
 
     // $ANTLR start "rule__MULTIPLICITY__Alternatives_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3787:1: rule__MULTIPLICITY__Alternatives_1 : ( ( '*' ) | ( RULE_INT ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3643:1: rule__MULTIPLICITY__Alternatives_1 : ( ( '*' ) | ( RULE_INT ) );
     public final void rule__MULTIPLICITY__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3791:1: ( ( '*' ) | ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3647:1: ( ( '*' ) | ( RULE_INT ) )
             int alt21=2;
             int LA21_0 = input.LA(1);
 
-            if ( (LA21_0==16) ) {
+            if ( (LA21_0==15) ) {
                 alt21=1;
             }
             else if ( (LA21_0==RULE_INT) ) {
@@ -11036,13 +10707,13 @@
             }
             switch (alt21) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3792:1: ( '*' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3648:1: ( '*' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3792:1: ( '*' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3793:1: '*'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3648:1: ( '*' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3649:1: '*'
                     {
                      before(grammarAccess.getMULTIPLICITYAccess().getAsteriskKeyword_1_0()); 
-                    match(input,16,FOLLOW_16_in_rule__MULTIPLICITY__Alternatives_18132); 
+                    match(input,15,FOLLOW_15_in_rule__MULTIPLICITY__Alternatives_17857); 
                      after(grammarAccess.getMULTIPLICITYAccess().getAsteriskKeyword_1_0()); 
 
                     }
@@ -11051,13 +10722,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3800:6: ( RULE_INT )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3656:6: ( RULE_INT )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3800:6: ( RULE_INT )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3801:1: RULE_INT
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3656:6: ( RULE_INT )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3657:1: RULE_INT
                     {
                      before(grammarAccess.getMULTIPLICITYAccess().getINTTerminalRuleCall_1_1()); 
-                    match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__MULTIPLICITY__Alternatives_18151); 
+                    match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__MULTIPLICITY__Alternatives_17876); 
                      after(grammarAccess.getMULTIPLICITYAccess().getINTTerminalRuleCall_1_1()); 
 
                     }
@@ -11083,46 +10754,46 @@
 
 
     // $ANTLR start "rule__AnnotationTargetType__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3811:1: rule__AnnotationTargetType__Alternatives : ( ( 'DataClass' ) | ( 'ActorClass' ) | ( 'ActorBehavior' ) | ( 'ProtocolClass' ) | ( 'CompoundProtocolClass' ) | ( 'SubSystemClass' ) | ( 'LogicalSystem' ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3667:1: rule__AnnotationTargetType__Alternatives : ( ( 'DataClass' ) | ( 'ActorClass' ) | ( 'ActorBehavior' ) | ( 'ProtocolClass' ) | ( 'CompoundProtocolClass' ) | ( 'SubSystemClass' ) | ( 'LogicalSystem' ) );
     public final void rule__AnnotationTargetType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3815:1: ( ( 'DataClass' ) | ( 'ActorClass' ) | ( 'ActorBehavior' ) | ( 'ProtocolClass' ) | ( 'CompoundProtocolClass' ) | ( 'SubSystemClass' ) | ( 'LogicalSystem' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3671:1: ( ( 'DataClass' ) | ( 'ActorClass' ) | ( 'ActorBehavior' ) | ( 'ProtocolClass' ) | ( 'CompoundProtocolClass' ) | ( 'SubSystemClass' ) | ( 'LogicalSystem' ) )
             int alt22=7;
             switch ( input.LA(1) ) {
-            case 17:
+            case 16:
                 {
                 alt22=1;
                 }
                 break;
-            case 18:
+            case 17:
                 {
                 alt22=2;
                 }
                 break;
-            case 19:
+            case 18:
                 {
                 alt22=3;
                 }
                 break;
-            case 20:
+            case 19:
                 {
                 alt22=4;
                 }
                 break;
-            case 21:
+            case 20:
                 {
                 alt22=5;
                 }
                 break;
-            case 22:
+            case 21:
                 {
                 alt22=6;
                 }
                 break;
-            case 23:
+            case 22:
                 {
                 alt22=7;
                 }
@@ -11136,13 +10807,13 @@
 
             switch (alt22) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3816:1: ( 'DataClass' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3672:1: ( 'DataClass' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3816:1: ( 'DataClass' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3817:1: 'DataClass'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3672:1: ( 'DataClass' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3673:1: 'DataClass'
                     {
                      before(grammarAccess.getAnnotationTargetTypeAccess().getDataClassKeyword_0()); 
-                    match(input,17,FOLLOW_17_in_rule__AnnotationTargetType__Alternatives8184); 
+                    match(input,16,FOLLOW_16_in_rule__AnnotationTargetType__Alternatives7909); 
                      after(grammarAccess.getAnnotationTargetTypeAccess().getDataClassKeyword_0()); 
 
                     }
@@ -11151,13 +10822,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3824:6: ( 'ActorClass' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3680:6: ( 'ActorClass' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3824:6: ( 'ActorClass' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3825:1: 'ActorClass'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3680:6: ( 'ActorClass' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3681:1: 'ActorClass'
                     {
                      before(grammarAccess.getAnnotationTargetTypeAccess().getActorClassKeyword_1()); 
-                    match(input,18,FOLLOW_18_in_rule__AnnotationTargetType__Alternatives8204); 
+                    match(input,17,FOLLOW_17_in_rule__AnnotationTargetType__Alternatives7929); 
                      after(grammarAccess.getAnnotationTargetTypeAccess().getActorClassKeyword_1()); 
 
                     }
@@ -11166,13 +10837,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3832:6: ( 'ActorBehavior' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3688:6: ( 'ActorBehavior' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3832:6: ( 'ActorBehavior' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3833:1: 'ActorBehavior'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3688:6: ( 'ActorBehavior' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3689:1: 'ActorBehavior'
                     {
                      before(grammarAccess.getAnnotationTargetTypeAccess().getActorBehaviorKeyword_2()); 
-                    match(input,19,FOLLOW_19_in_rule__AnnotationTargetType__Alternatives8224); 
+                    match(input,18,FOLLOW_18_in_rule__AnnotationTargetType__Alternatives7949); 
                      after(grammarAccess.getAnnotationTargetTypeAccess().getActorBehaviorKeyword_2()); 
 
                     }
@@ -11181,13 +10852,13 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3840:6: ( 'ProtocolClass' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3696:6: ( 'ProtocolClass' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3840:6: ( 'ProtocolClass' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3841:1: 'ProtocolClass'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3696:6: ( 'ProtocolClass' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3697:1: 'ProtocolClass'
                     {
                      before(grammarAccess.getAnnotationTargetTypeAccess().getProtocolClassKeyword_3()); 
-                    match(input,20,FOLLOW_20_in_rule__AnnotationTargetType__Alternatives8244); 
+                    match(input,19,FOLLOW_19_in_rule__AnnotationTargetType__Alternatives7969); 
                      after(grammarAccess.getAnnotationTargetTypeAccess().getProtocolClassKeyword_3()); 
 
                     }
@@ -11196,13 +10867,13 @@
                     }
                     break;
                 case 5 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3848:6: ( 'CompoundProtocolClass' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3704:6: ( 'CompoundProtocolClass' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3848:6: ( 'CompoundProtocolClass' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3849:1: 'CompoundProtocolClass'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3704:6: ( 'CompoundProtocolClass' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3705:1: 'CompoundProtocolClass'
                     {
                      before(grammarAccess.getAnnotationTargetTypeAccess().getCompoundProtocolClassKeyword_4()); 
-                    match(input,21,FOLLOW_21_in_rule__AnnotationTargetType__Alternatives8264); 
+                    match(input,20,FOLLOW_20_in_rule__AnnotationTargetType__Alternatives7989); 
                      after(grammarAccess.getAnnotationTargetTypeAccess().getCompoundProtocolClassKeyword_4()); 
 
                     }
@@ -11211,13 +10882,13 @@
                     }
                     break;
                 case 6 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3856:6: ( 'SubSystemClass' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3712:6: ( 'SubSystemClass' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3856:6: ( 'SubSystemClass' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3857:1: 'SubSystemClass'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3712:6: ( 'SubSystemClass' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3713:1: 'SubSystemClass'
                     {
                      before(grammarAccess.getAnnotationTargetTypeAccess().getSubSystemClassKeyword_5()); 
-                    match(input,22,FOLLOW_22_in_rule__AnnotationTargetType__Alternatives8284); 
+                    match(input,21,FOLLOW_21_in_rule__AnnotationTargetType__Alternatives8009); 
                      after(grammarAccess.getAnnotationTargetTypeAccess().getSubSystemClassKeyword_5()); 
 
                     }
@@ -11226,13 +10897,13 @@
                     }
                     break;
                 case 7 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3864:6: ( 'LogicalSystem' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3720:6: ( 'LogicalSystem' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3864:6: ( 'LogicalSystem' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3865:1: 'LogicalSystem'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3720:6: ( 'LogicalSystem' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3721:1: 'LogicalSystem'
                     {
                      before(grammarAccess.getAnnotationTargetTypeAccess().getLogicalSystemKeyword_6()); 
-                    match(input,23,FOLLOW_23_in_rule__AnnotationTargetType__Alternatives8304); 
+                    match(input,22,FOLLOW_22_in_rule__AnnotationTargetType__Alternatives8029); 
                      after(grammarAccess.getAnnotationTargetTypeAccess().getLogicalSystemKeyword_6()); 
 
                     }
@@ -11258,30 +10929,30 @@
 
 
     // $ANTLR start "rule__StateGraphNode__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3877:1: rule__StateGraphNode__Alternatives : ( ( ruleState ) | ( ruleChoicePoint ) | ( ruleTrPoint ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3733:1: rule__StateGraphNode__Alternatives : ( ( ruleState ) | ( ruleChoicePoint ) | ( ruleTrPoint ) );
     public final void rule__StateGraphNode__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3881:1: ( ( ruleState ) | ( ruleChoicePoint ) | ( ruleTrPoint ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3737:1: ( ( ruleState ) | ( ruleChoicePoint ) | ( ruleTrPoint ) )
             int alt23=3;
             switch ( input.LA(1) ) {
-            case 93:
-            case 98:
+            case 94:
+            case 99:
                 {
                 alt23=1;
                 }
                 break;
-            case 102:
+            case 103:
                 {
                 alt23=2;
                 }
                 break;
-            case 99:
             case 100:
             case 101:
-            case 129:
+            case 102:
+            case 130:
                 {
                 alt23=3;
                 }
@@ -11295,13 +10966,13 @@
 
             switch (alt23) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3882:1: ( ruleState )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3738:1: ( ruleState )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3882:1: ( ruleState )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3883:1: ruleState
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3738:1: ( ruleState )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3739:1: ruleState
                     {
                      before(grammarAccess.getStateGraphNodeAccess().getStateParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleState_in_rule__StateGraphNode__Alternatives8338);
+                    pushFollow(FOLLOW_ruleState_in_rule__StateGraphNode__Alternatives8063);
                     ruleState();
 
                     state._fsp--;
@@ -11314,13 +10985,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3888:6: ( ruleChoicePoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3744:6: ( ruleChoicePoint )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3888:6: ( ruleChoicePoint )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3889:1: ruleChoicePoint
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3744:6: ( ruleChoicePoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3745:1: ruleChoicePoint
                     {
                      before(grammarAccess.getStateGraphNodeAccess().getChoicePointParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateGraphNode__Alternatives8355);
+                    pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateGraphNode__Alternatives8080);
                     ruleChoicePoint();
 
                     state._fsp--;
@@ -11333,13 +11004,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3894:6: ( ruleTrPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3750:6: ( ruleTrPoint )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3894:6: ( ruleTrPoint )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3895:1: ruleTrPoint
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3750:6: ( ruleTrPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3751:1: ruleTrPoint
                     {
                      before(grammarAccess.getStateGraphNodeAccess().getTrPointParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleTrPoint_in_rule__StateGraphNode__Alternatives8372);
+                    pushFollow(FOLLOW_ruleTrPoint_in_rule__StateGraphNode__Alternatives8097);
                     ruleTrPoint();
 
                     state._fsp--;
@@ -11369,40 +11040,40 @@
 
 
     // $ANTLR start "rule__StateGraph__Alternatives_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3906:1: rule__StateGraph__Alternatives_2 : ( ( ( rule__StateGraph__StatesAssignment_2_0 ) ) | ( ( rule__StateGraph__TrPointsAssignment_2_1 ) ) | ( ( rule__StateGraph__ChPointsAssignment_2_2 ) ) | ( ( rule__StateGraph__TransitionsAssignment_2_3 ) ) | ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3762:1: rule__StateGraph__Alternatives_2 : ( ( ( rule__StateGraph__StatesAssignment_2_0 ) ) | ( ( rule__StateGraph__TrPointsAssignment_2_1 ) ) | ( ( rule__StateGraph__ChPointsAssignment_2_2 ) ) | ( ( rule__StateGraph__TransitionsAssignment_2_3 ) ) | ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) ) );
     public final void rule__StateGraph__Alternatives_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3910:1: ( ( ( rule__StateGraph__StatesAssignment_2_0 ) ) | ( ( rule__StateGraph__TrPointsAssignment_2_1 ) ) | ( ( rule__StateGraph__ChPointsAssignment_2_2 ) ) | ( ( rule__StateGraph__TransitionsAssignment_2_3 ) ) | ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3766:1: ( ( ( rule__StateGraph__StatesAssignment_2_0 ) ) | ( ( rule__StateGraph__TrPointsAssignment_2_1 ) ) | ( ( rule__StateGraph__ChPointsAssignment_2_2 ) ) | ( ( rule__StateGraph__TransitionsAssignment_2_3 ) ) | ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) ) )
             int alt24=5;
             switch ( input.LA(1) ) {
-            case 93:
-            case 98:
+            case 94:
+            case 99:
                 {
                 alt24=1;
                 }
                 break;
-            case 99:
             case 100:
             case 101:
-            case 129:
+            case 102:
+            case 130:
                 {
                 alt24=2;
                 }
                 break;
-            case 102:
+            case 103:
                 {
                 alt24=3;
                 }
                 break;
-            case 103:
+            case 104:
                 {
                 alt24=4;
                 }
                 break;
-            case 110:
+            case 111:
                 {
                 alt24=5;
                 }
@@ -11416,16 +11087,16 @@
 
             switch (alt24) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3911:1: ( ( rule__StateGraph__StatesAssignment_2_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3767:1: ( ( rule__StateGraph__StatesAssignment_2_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3911:1: ( ( rule__StateGraph__StatesAssignment_2_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3912:1: ( rule__StateGraph__StatesAssignment_2_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3767:1: ( ( rule__StateGraph__StatesAssignment_2_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3768:1: ( rule__StateGraph__StatesAssignment_2_0 )
                     {
                      before(grammarAccess.getStateGraphAccess().getStatesAssignment_2_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3913:1: ( rule__StateGraph__StatesAssignment_2_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3913:2: rule__StateGraph__StatesAssignment_2_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3769:1: ( rule__StateGraph__StatesAssignment_2_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3769:2: rule__StateGraph__StatesAssignment_2_0
                     {
-                    pushFollow(FOLLOW_rule__StateGraph__StatesAssignment_2_0_in_rule__StateGraph__Alternatives_28405);
+                    pushFollow(FOLLOW_rule__StateGraph__StatesAssignment_2_0_in_rule__StateGraph__Alternatives_28130);
                     rule__StateGraph__StatesAssignment_2_0();
 
                     state._fsp--;
@@ -11441,16 +11112,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3917:6: ( ( rule__StateGraph__TrPointsAssignment_2_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3773:6: ( ( rule__StateGraph__TrPointsAssignment_2_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3917:6: ( ( rule__StateGraph__TrPointsAssignment_2_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3918:1: ( rule__StateGraph__TrPointsAssignment_2_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3773:6: ( ( rule__StateGraph__TrPointsAssignment_2_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3774:1: ( rule__StateGraph__TrPointsAssignment_2_1 )
                     {
                      before(grammarAccess.getStateGraphAccess().getTrPointsAssignment_2_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3919:1: ( rule__StateGraph__TrPointsAssignment_2_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3919:2: rule__StateGraph__TrPointsAssignment_2_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3775:1: ( rule__StateGraph__TrPointsAssignment_2_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3775:2: rule__StateGraph__TrPointsAssignment_2_1
                     {
-                    pushFollow(FOLLOW_rule__StateGraph__TrPointsAssignment_2_1_in_rule__StateGraph__Alternatives_28423);
+                    pushFollow(FOLLOW_rule__StateGraph__TrPointsAssignment_2_1_in_rule__StateGraph__Alternatives_28148);
                     rule__StateGraph__TrPointsAssignment_2_1();
 
                     state._fsp--;
@@ -11466,16 +11137,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3923:6: ( ( rule__StateGraph__ChPointsAssignment_2_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3779:6: ( ( rule__StateGraph__ChPointsAssignment_2_2 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3923:6: ( ( rule__StateGraph__ChPointsAssignment_2_2 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3924:1: ( rule__StateGraph__ChPointsAssignment_2_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3779:6: ( ( rule__StateGraph__ChPointsAssignment_2_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3780:1: ( rule__StateGraph__ChPointsAssignment_2_2 )
                     {
                      before(grammarAccess.getStateGraphAccess().getChPointsAssignment_2_2()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3925:1: ( rule__StateGraph__ChPointsAssignment_2_2 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3925:2: rule__StateGraph__ChPointsAssignment_2_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3781:1: ( rule__StateGraph__ChPointsAssignment_2_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3781:2: rule__StateGraph__ChPointsAssignment_2_2
                     {
-                    pushFollow(FOLLOW_rule__StateGraph__ChPointsAssignment_2_2_in_rule__StateGraph__Alternatives_28441);
+                    pushFollow(FOLLOW_rule__StateGraph__ChPointsAssignment_2_2_in_rule__StateGraph__Alternatives_28166);
                     rule__StateGraph__ChPointsAssignment_2_2();
 
                     state._fsp--;
@@ -11491,16 +11162,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3929:6: ( ( rule__StateGraph__TransitionsAssignment_2_3 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3785:6: ( ( rule__StateGraph__TransitionsAssignment_2_3 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3929:6: ( ( rule__StateGraph__TransitionsAssignment_2_3 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3930:1: ( rule__StateGraph__TransitionsAssignment_2_3 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3785:6: ( ( rule__StateGraph__TransitionsAssignment_2_3 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3786:1: ( rule__StateGraph__TransitionsAssignment_2_3 )
                     {
                      before(grammarAccess.getStateGraphAccess().getTransitionsAssignment_2_3()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3931:1: ( rule__StateGraph__TransitionsAssignment_2_3 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3931:2: rule__StateGraph__TransitionsAssignment_2_3
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3787:1: ( rule__StateGraph__TransitionsAssignment_2_3 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3787:2: rule__StateGraph__TransitionsAssignment_2_3
                     {
-                    pushFollow(FOLLOW_rule__StateGraph__TransitionsAssignment_2_3_in_rule__StateGraph__Alternatives_28459);
+                    pushFollow(FOLLOW_rule__StateGraph__TransitionsAssignment_2_3_in_rule__StateGraph__Alternatives_28184);
                     rule__StateGraph__TransitionsAssignment_2_3();
 
                     state._fsp--;
@@ -11516,16 +11187,16 @@
                     }
                     break;
                 case 5 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3935:6: ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3791:6: ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3935:6: ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3936:1: ( rule__StateGraph__RefinedTransitionsAssignment_2_4 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3791:6: ( ( rule__StateGraph__RefinedTransitionsAssignment_2_4 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3792:1: ( rule__StateGraph__RefinedTransitionsAssignment_2_4 )
                     {
                      before(grammarAccess.getStateGraphAccess().getRefinedTransitionsAssignment_2_4()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3937:1: ( rule__StateGraph__RefinedTransitionsAssignment_2_4 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3937:2: rule__StateGraph__RefinedTransitionsAssignment_2_4
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3793:1: ( rule__StateGraph__RefinedTransitionsAssignment_2_4 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3793:2: rule__StateGraph__RefinedTransitionsAssignment_2_4
                     {
-                    pushFollow(FOLLOW_rule__StateGraph__RefinedTransitionsAssignment_2_4_in_rule__StateGraph__Alternatives_28477);
+                    pushFollow(FOLLOW_rule__StateGraph__RefinedTransitionsAssignment_2_4_in_rule__StateGraph__Alternatives_28202);
                     rule__StateGraph__RefinedTransitionsAssignment_2_4();
 
                     state._fsp--;
@@ -11558,40 +11229,40 @@
 
 
     // $ANTLR start "rule__StateMachine__Alternatives_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3946:1: rule__StateMachine__Alternatives_3 : ( ( ( rule__StateMachine__StatesAssignment_3_0 ) ) | ( ( rule__StateMachine__TrPointsAssignment_3_1 ) ) | ( ( rule__StateMachine__ChPointsAssignment_3_2 ) ) | ( ( rule__StateMachine__TransitionsAssignment_3_3 ) ) | ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3802:1: rule__StateMachine__Alternatives_3 : ( ( ( rule__StateMachine__StatesAssignment_3_0 ) ) | ( ( rule__StateMachine__TrPointsAssignment_3_1 ) ) | ( ( rule__StateMachine__ChPointsAssignment_3_2 ) ) | ( ( rule__StateMachine__TransitionsAssignment_3_3 ) ) | ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) ) );
     public final void rule__StateMachine__Alternatives_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3950:1: ( ( ( rule__StateMachine__StatesAssignment_3_0 ) ) | ( ( rule__StateMachine__TrPointsAssignment_3_1 ) ) | ( ( rule__StateMachine__ChPointsAssignment_3_2 ) ) | ( ( rule__StateMachine__TransitionsAssignment_3_3 ) ) | ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3806:1: ( ( ( rule__StateMachine__StatesAssignment_3_0 ) ) | ( ( rule__StateMachine__TrPointsAssignment_3_1 ) ) | ( ( rule__StateMachine__ChPointsAssignment_3_2 ) ) | ( ( rule__StateMachine__TransitionsAssignment_3_3 ) ) | ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) ) )
             int alt25=5;
             switch ( input.LA(1) ) {
-            case 93:
-            case 98:
+            case 94:
+            case 99:
                 {
                 alt25=1;
                 }
                 break;
-            case 99:
             case 100:
             case 101:
-            case 129:
+            case 102:
+            case 130:
                 {
                 alt25=2;
                 }
                 break;
-            case 102:
+            case 103:
                 {
                 alt25=3;
                 }
                 break;
-            case 103:
+            case 104:
                 {
                 alt25=4;
                 }
                 break;
-            case 110:
+            case 111:
                 {
                 alt25=5;
                 }
@@ -11605,16 +11276,16 @@
 
             switch (alt25) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3951:1: ( ( rule__StateMachine__StatesAssignment_3_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3807:1: ( ( rule__StateMachine__StatesAssignment_3_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3951:1: ( ( rule__StateMachine__StatesAssignment_3_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3952:1: ( rule__StateMachine__StatesAssignment_3_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3807:1: ( ( rule__StateMachine__StatesAssignment_3_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3808:1: ( rule__StateMachine__StatesAssignment_3_0 )
                     {
                      before(grammarAccess.getStateMachineAccess().getStatesAssignment_3_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3953:1: ( rule__StateMachine__StatesAssignment_3_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3953:2: rule__StateMachine__StatesAssignment_3_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3809:1: ( rule__StateMachine__StatesAssignment_3_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3809:2: rule__StateMachine__StatesAssignment_3_0
                     {
-                    pushFollow(FOLLOW_rule__StateMachine__StatesAssignment_3_0_in_rule__StateMachine__Alternatives_38510);
+                    pushFollow(FOLLOW_rule__StateMachine__StatesAssignment_3_0_in_rule__StateMachine__Alternatives_38235);
                     rule__StateMachine__StatesAssignment_3_0();
 
                     state._fsp--;
@@ -11630,16 +11301,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3957:6: ( ( rule__StateMachine__TrPointsAssignment_3_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3813:6: ( ( rule__StateMachine__TrPointsAssignment_3_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3957:6: ( ( rule__StateMachine__TrPointsAssignment_3_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3958:1: ( rule__StateMachine__TrPointsAssignment_3_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3813:6: ( ( rule__StateMachine__TrPointsAssignment_3_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3814:1: ( rule__StateMachine__TrPointsAssignment_3_1 )
                     {
                      before(grammarAccess.getStateMachineAccess().getTrPointsAssignment_3_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3959:1: ( rule__StateMachine__TrPointsAssignment_3_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3959:2: rule__StateMachine__TrPointsAssignment_3_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3815:1: ( rule__StateMachine__TrPointsAssignment_3_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3815:2: rule__StateMachine__TrPointsAssignment_3_1
                     {
-                    pushFollow(FOLLOW_rule__StateMachine__TrPointsAssignment_3_1_in_rule__StateMachine__Alternatives_38528);
+                    pushFollow(FOLLOW_rule__StateMachine__TrPointsAssignment_3_1_in_rule__StateMachine__Alternatives_38253);
                     rule__StateMachine__TrPointsAssignment_3_1();
 
                     state._fsp--;
@@ -11655,16 +11326,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3963:6: ( ( rule__StateMachine__ChPointsAssignment_3_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3819:6: ( ( rule__StateMachine__ChPointsAssignment_3_2 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3963:6: ( ( rule__StateMachine__ChPointsAssignment_3_2 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3964:1: ( rule__StateMachine__ChPointsAssignment_3_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3819:6: ( ( rule__StateMachine__ChPointsAssignment_3_2 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3820:1: ( rule__StateMachine__ChPointsAssignment_3_2 )
                     {
                      before(grammarAccess.getStateMachineAccess().getChPointsAssignment_3_2()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3965:1: ( rule__StateMachine__ChPointsAssignment_3_2 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3965:2: rule__StateMachine__ChPointsAssignment_3_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3821:1: ( rule__StateMachine__ChPointsAssignment_3_2 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3821:2: rule__StateMachine__ChPointsAssignment_3_2
                     {
-                    pushFollow(FOLLOW_rule__StateMachine__ChPointsAssignment_3_2_in_rule__StateMachine__Alternatives_38546);
+                    pushFollow(FOLLOW_rule__StateMachine__ChPointsAssignment_3_2_in_rule__StateMachine__Alternatives_38271);
                     rule__StateMachine__ChPointsAssignment_3_2();
 
                     state._fsp--;
@@ -11680,16 +11351,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3969:6: ( ( rule__StateMachine__TransitionsAssignment_3_3 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3825:6: ( ( rule__StateMachine__TransitionsAssignment_3_3 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3969:6: ( ( rule__StateMachine__TransitionsAssignment_3_3 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3970:1: ( rule__StateMachine__TransitionsAssignment_3_3 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3825:6: ( ( rule__StateMachine__TransitionsAssignment_3_3 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3826:1: ( rule__StateMachine__TransitionsAssignment_3_3 )
                     {
                      before(grammarAccess.getStateMachineAccess().getTransitionsAssignment_3_3()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3971:1: ( rule__StateMachine__TransitionsAssignment_3_3 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3971:2: rule__StateMachine__TransitionsAssignment_3_3
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3827:1: ( rule__StateMachine__TransitionsAssignment_3_3 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3827:2: rule__StateMachine__TransitionsAssignment_3_3
                     {
-                    pushFollow(FOLLOW_rule__StateMachine__TransitionsAssignment_3_3_in_rule__StateMachine__Alternatives_38564);
+                    pushFollow(FOLLOW_rule__StateMachine__TransitionsAssignment_3_3_in_rule__StateMachine__Alternatives_38289);
                     rule__StateMachine__TransitionsAssignment_3_3();
 
                     state._fsp--;
@@ -11705,16 +11376,16 @@
                     }
                     break;
                 case 5 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3975:6: ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3831:6: ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3975:6: ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3976:1: ( rule__StateMachine__RefinedTransitionsAssignment_3_4 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3831:6: ( ( rule__StateMachine__RefinedTransitionsAssignment_3_4 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3832:1: ( rule__StateMachine__RefinedTransitionsAssignment_3_4 )
                     {
                      before(grammarAccess.getStateMachineAccess().getRefinedTransitionsAssignment_3_4()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3977:1: ( rule__StateMachine__RefinedTransitionsAssignment_3_4 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3977:2: rule__StateMachine__RefinedTransitionsAssignment_3_4
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3833:1: ( rule__StateMachine__RefinedTransitionsAssignment_3_4 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3833:2: rule__StateMachine__RefinedTransitionsAssignment_3_4
                     {
-                    pushFollow(FOLLOW_rule__StateMachine__RefinedTransitionsAssignment_3_4_in_rule__StateMachine__Alternatives_38582);
+                    pushFollow(FOLLOW_rule__StateMachine__RefinedTransitionsAssignment_3_4_in_rule__StateMachine__Alternatives_38307);
                     rule__StateMachine__RefinedTransitionsAssignment_3_4();
 
                     state._fsp--;
@@ -11747,20 +11418,20 @@
 
 
     // $ANTLR start "rule__State__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3986:1: rule__State__Alternatives : ( ( ruleSimpleState ) | ( ruleRefinedState ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3842:1: rule__State__Alternatives : ( ( ruleSimpleState ) | ( ruleRefinedState ) );
     public final void rule__State__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3990:1: ( ( ruleSimpleState ) | ( ruleRefinedState ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3846:1: ( ( ruleSimpleState ) | ( ruleRefinedState ) )
             int alt26=2;
             int LA26_0 = input.LA(1);
 
-            if ( (LA26_0==93) ) {
+            if ( (LA26_0==94) ) {
                 alt26=1;
             }
-            else if ( (LA26_0==98) ) {
+            else if ( (LA26_0==99) ) {
                 alt26=2;
             }
             else {
@@ -11771,13 +11442,13 @@
             }
             switch (alt26) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3991:1: ( ruleSimpleState )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3847:1: ( ruleSimpleState )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3991:1: ( ruleSimpleState )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3992:1: ruleSimpleState
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3847:1: ( ruleSimpleState )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3848:1: ruleSimpleState
                     {
                      before(grammarAccess.getStateAccess().getSimpleStateParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSimpleState_in_rule__State__Alternatives8615);
+                    pushFollow(FOLLOW_ruleSimpleState_in_rule__State__Alternatives8340);
                     ruleSimpleState();
 
                     state._fsp--;
@@ -11790,13 +11461,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3997:6: ( ruleRefinedState )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3853:6: ( ruleRefinedState )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3997:6: ( ruleRefinedState )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3998:1: ruleRefinedState
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3853:6: ( ruleRefinedState )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3854:1: ruleRefinedState
                     {
                      before(grammarAccess.getStateAccess().getRefinedStateParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleRefinedState_in_rule__State__Alternatives8632);
+                    pushFollow(FOLLOW_ruleRefinedState_in_rule__State__Alternatives8357);
                     ruleRefinedState();
 
                     state._fsp--;
@@ -11826,27 +11497,27 @@
 
 
     // $ANTLR start "rule__TrPoint__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4008:1: rule__TrPoint__Alternatives : ( ( ruleTransitionPoint ) | ( ruleEntryPoint ) | ( ruleExitPoint ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3864:1: rule__TrPoint__Alternatives : ( ( ruleTransitionPoint ) | ( ruleEntryPoint ) | ( ruleExitPoint ) );
     public final void rule__TrPoint__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4012:1: ( ( ruleTransitionPoint ) | ( ruleEntryPoint ) | ( ruleExitPoint ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3868:1: ( ( ruleTransitionPoint ) | ( ruleEntryPoint ) | ( ruleExitPoint ) )
             int alt27=3;
             switch ( input.LA(1) ) {
-            case 99:
-            case 129:
+            case 100:
+            case 130:
                 {
                 alt27=1;
                 }
                 break;
-            case 100:
+            case 101:
                 {
                 alt27=2;
                 }
                 break;
-            case 101:
+            case 102:
                 {
                 alt27=3;
                 }
@@ -11860,13 +11531,13 @@
 
             switch (alt27) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4013:1: ( ruleTransitionPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3869:1: ( ruleTransitionPoint )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4013:1: ( ruleTransitionPoint )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4014:1: ruleTransitionPoint
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3869:1: ( ruleTransitionPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3870:1: ruleTransitionPoint
                     {
                      before(grammarAccess.getTrPointAccess().getTransitionPointParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleTransitionPoint_in_rule__TrPoint__Alternatives8664);
+                    pushFollow(FOLLOW_ruleTransitionPoint_in_rule__TrPoint__Alternatives8389);
                     ruleTransitionPoint();
 
                     state._fsp--;
@@ -11879,13 +11550,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4019:6: ( ruleEntryPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3875:6: ( ruleEntryPoint )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4019:6: ( ruleEntryPoint )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4020:1: ruleEntryPoint
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3875:6: ( ruleEntryPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3876:1: ruleEntryPoint
                     {
                      before(grammarAccess.getTrPointAccess().getEntryPointParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleEntryPoint_in_rule__TrPoint__Alternatives8681);
+                    pushFollow(FOLLOW_ruleEntryPoint_in_rule__TrPoint__Alternatives8406);
                     ruleEntryPoint();
 
                     state._fsp--;
@@ -11898,13 +11569,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4025:6: ( ruleExitPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3881:6: ( ruleExitPoint )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4025:6: ( ruleExitPoint )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4026:1: ruleExitPoint
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3881:6: ( ruleExitPoint )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3882:1: ruleExitPoint
                     {
                      before(grammarAccess.getTrPointAccess().getExitPointParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleExitPoint_in_rule__TrPoint__Alternatives8698);
+                    pushFollow(FOLLOW_ruleExitPoint_in_rule__TrPoint__Alternatives8423);
                     ruleExitPoint();
 
                     state._fsp--;
@@ -11934,29 +11605,29 @@
 
 
     // $ANTLR start "rule__Transition__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4036:1: rule__Transition__Alternatives : ( ( ruleInitialTransition ) | ( ruleNonInitialTransition ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3892:1: rule__Transition__Alternatives : ( ( ruleInitialTransition ) | ( ruleNonInitialTransition ) );
     public final void rule__Transition__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4040:1: ( ( ruleInitialTransition ) | ( ruleNonInitialTransition ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3896:1: ( ( ruleInitialTransition ) | ( ruleNonInitialTransition ) )
             int alt28=2;
             int LA28_0 = input.LA(1);
 
-            if ( (LA28_0==103) ) {
+            if ( (LA28_0==104) ) {
                 int LA28_1 = input.LA(2);
 
                 if ( (LA28_1==RULE_ID) ) {
                     int LA28_2 = input.LA(3);
 
-                    if ( (LA28_2==42) ) {
+                    if ( (LA28_2==43) ) {
                         int LA28_3 = input.LA(4);
 
-                        if ( (LA28_3==RULE_ID||(LA28_3>=111 && LA28_3<=112)) ) {
+                        if ( (LA28_3==RULE_ID||(LA28_3>=112 && LA28_3<=113)) ) {
                             alt28=2;
                         }
-                        else if ( (LA28_3==104) ) {
+                        else if ( (LA28_3==105) ) {
                             alt28=1;
                         }
                         else {
@@ -11973,13 +11644,13 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA28_1==42) ) {
+                else if ( (LA28_1==43) ) {
                     int LA28_3 = input.LA(3);
 
-                    if ( (LA28_3==RULE_ID||(LA28_3>=111 && LA28_3<=112)) ) {
+                    if ( (LA28_3==RULE_ID||(LA28_3>=112 && LA28_3<=113)) ) {
                         alt28=2;
                     }
-                    else if ( (LA28_3==104) ) {
+                    else if ( (LA28_3==105) ) {
                         alt28=1;
                     }
                     else {
@@ -12004,13 +11675,13 @@
             }
             switch (alt28) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4041:1: ( ruleInitialTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3897:1: ( ruleInitialTransition )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4041:1: ( ruleInitialTransition )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4042:1: ruleInitialTransition
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3897:1: ( ruleInitialTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3898:1: ruleInitialTransition
                     {
                      before(grammarAccess.getTransitionAccess().getInitialTransitionParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleInitialTransition_in_rule__Transition__Alternatives8730);
+                    pushFollow(FOLLOW_ruleInitialTransition_in_rule__Transition__Alternatives8455);
                     ruleInitialTransition();
 
                     state._fsp--;
@@ -12023,13 +11694,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4047:6: ( ruleNonInitialTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3903:6: ( ruleNonInitialTransition )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4047:6: ( ruleNonInitialTransition )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4048:1: ruleNonInitialTransition
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3903:6: ( ruleNonInitialTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3904:1: ruleNonInitialTransition
                     {
                      before(grammarAccess.getTransitionAccess().getNonInitialTransitionParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleNonInitialTransition_in_rule__Transition__Alternatives8747);
+                    pushFollow(FOLLOW_ruleNonInitialTransition_in_rule__Transition__Alternatives8472);
                     ruleNonInitialTransition();
 
                     state._fsp--;
@@ -12059,24 +11730,24 @@
 
 
     // $ANTLR start "rule__NonInitialTransition__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4058:1: rule__NonInitialTransition__Alternatives : ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3914:1: rule__NonInitialTransition__Alternatives : ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) );
     public final void rule__NonInitialTransition__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4062:1: ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3918:1: ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) )
             int alt29=3;
             alt29 = dfa29.predict(input);
             switch (alt29) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4063:1: ( ruleTransitionChainStartTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3919:1: ( ruleTransitionChainStartTransition )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4063:1: ( ruleTransitionChainStartTransition )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4064:1: ruleTransitionChainStartTransition
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3919:1: ( ruleTransitionChainStartTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3920:1: ruleTransitionChainStartTransition
                     {
                      before(grammarAccess.getNonInitialTransitionAccess().getTransitionChainStartTransitionParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleTransitionChainStartTransition_in_rule__NonInitialTransition__Alternatives8779);
+                    pushFollow(FOLLOW_ruleTransitionChainStartTransition_in_rule__NonInitialTransition__Alternatives8504);
                     ruleTransitionChainStartTransition();
 
                     state._fsp--;
@@ -12089,13 +11760,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4069:6: ( ruleContinuationTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3925:6: ( ruleContinuationTransition )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4069:6: ( ruleContinuationTransition )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4070:1: ruleContinuationTransition
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3925:6: ( ruleContinuationTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3926:1: ruleContinuationTransition
                     {
                      before(grammarAccess.getNonInitialTransitionAccess().getContinuationTransitionParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleContinuationTransition_in_rule__NonInitialTransition__Alternatives8796);
+                    pushFollow(FOLLOW_ruleContinuationTransition_in_rule__NonInitialTransition__Alternatives8521);
                     ruleContinuationTransition();
 
                     state._fsp--;
@@ -12108,13 +11779,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4075:6: ( ruleCPBranchTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3931:6: ( ruleCPBranchTransition )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4075:6: ( ruleCPBranchTransition )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4076:1: ruleCPBranchTransition
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3931:6: ( ruleCPBranchTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3932:1: ruleCPBranchTransition
                     {
                      before(grammarAccess.getNonInitialTransitionAccess().getCPBranchTransitionParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleCPBranchTransition_in_rule__NonInitialTransition__Alternatives8813);
+                    pushFollow(FOLLOW_ruleCPBranchTransition_in_rule__NonInitialTransition__Alternatives8538);
                     ruleCPBranchTransition();
 
                     state._fsp--;
@@ -12144,24 +11815,24 @@
 
 
     // $ANTLR start "rule__TransitionChainStartTransition__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4086:1: rule__TransitionChainStartTransition__Alternatives : ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3942:1: rule__TransitionChainStartTransition__Alternatives : ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) );
     public final void rule__TransitionChainStartTransition__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4090:1: ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3946:1: ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) )
             int alt30=2;
             alt30 = dfa30.predict(input);
             switch (alt30) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4091:1: ( ruleTriggeredTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3947:1: ( ruleTriggeredTransition )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4091:1: ( ruleTriggeredTransition )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4092:1: ruleTriggeredTransition
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3947:1: ( ruleTriggeredTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3948:1: ruleTriggeredTransition
                     {
                      before(grammarAccess.getTransitionChainStartTransitionAccess().getTriggeredTransitionParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleTriggeredTransition_in_rule__TransitionChainStartTransition__Alternatives8845);
+                    pushFollow(FOLLOW_ruleTriggeredTransition_in_rule__TransitionChainStartTransition__Alternatives8570);
                     ruleTriggeredTransition();
 
                     state._fsp--;
@@ -12174,13 +11845,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4097:6: ( ruleGuardedTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3953:6: ( ruleGuardedTransition )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4097:6: ( ruleGuardedTransition )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4098:1: ruleGuardedTransition
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3953:6: ( ruleGuardedTransition )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3954:1: ruleGuardedTransition
                     {
                      before(grammarAccess.getTransitionChainStartTransitionAccess().getGuardedTransitionParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleGuardedTransition_in_rule__TransitionChainStartTransition__Alternatives8862);
+                    pushFollow(FOLLOW_ruleGuardedTransition_in_rule__TransitionChainStartTransition__Alternatives8587);
                     ruleGuardedTransition();
 
                     state._fsp--;
@@ -12210,23 +11881,23 @@
 
 
     // $ANTLR start "rule__TransitionTerminal__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4108:1: rule__TransitionTerminal__Alternatives : ( ( ruleStateTerminal ) | ( ruleTrPointTerminal ) | ( ruleSubStateTrPointTerminal ) | ( ruleChoicepointTerminal ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3964:1: rule__TransitionTerminal__Alternatives : ( ( ruleStateTerminal ) | ( ruleTrPointTerminal ) | ( ruleSubStateTrPointTerminal ) | ( ruleChoicepointTerminal ) );
     public final void rule__TransitionTerminal__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4112:1: ( ( ruleStateTerminal ) | ( ruleTrPointTerminal ) | ( ruleSubStateTrPointTerminal ) | ( ruleChoicepointTerminal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3968:1: ( ( ruleStateTerminal ) | ( ruleTrPointTerminal ) | ( ruleSubStateTrPointTerminal ) | ( ruleChoicepointTerminal ) )
             int alt31=4;
             switch ( input.LA(1) ) {
             case RULE_ID:
                 {
                 int LA31_1 = input.LA(2);
 
-                if ( (LA31_1==EOF||(LA31_1>=40 && LA31_1<=41)||LA31_1==44||LA31_1==58||LA31_1==93||(LA31_1>=98 && LA31_1<=103)||LA31_1==110||LA31_1==129) ) {
+                if ( (LA31_1==EOF||(LA31_1>=41 && LA31_1<=42)||LA31_1==45||LA31_1==59||LA31_1==94||(LA31_1>=99 && LA31_1<=104)||LA31_1==111||LA31_1==130) ) {
                     alt31=1;
                 }
-                else if ( (LA31_1==49) ) {
+                else if ( (LA31_1==50) ) {
                     alt31=3;
                 }
                 else {
@@ -12237,12 +11908,12 @@
                 }
                 }
                 break;
-            case 111:
+            case 112:
                 {
                 alt31=2;
                 }
                 break;
-            case 112:
+            case 113:
                 {
                 alt31=4;
                 }
@@ -12256,13 +11927,13 @@
 
             switch (alt31) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4113:1: ( ruleStateTerminal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3969:1: ( ruleStateTerminal )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4113:1: ( ruleStateTerminal )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4114:1: ruleStateTerminal
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3969:1: ( ruleStateTerminal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3970:1: ruleStateTerminal
                     {
                      before(grammarAccess.getTransitionTerminalAccess().getStateTerminalParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleStateTerminal_in_rule__TransitionTerminal__Alternatives8894);
+                    pushFollow(FOLLOW_ruleStateTerminal_in_rule__TransitionTerminal__Alternatives8619);
                     ruleStateTerminal();
 
                     state._fsp--;
@@ -12275,13 +11946,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4119:6: ( ruleTrPointTerminal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3975:6: ( ruleTrPointTerminal )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4119:6: ( ruleTrPointTerminal )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4120:1: ruleTrPointTerminal
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3975:6: ( ruleTrPointTerminal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3976:1: ruleTrPointTerminal
                     {
                      before(grammarAccess.getTransitionTerminalAccess().getTrPointTerminalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleTrPointTerminal_in_rule__TransitionTerminal__Alternatives8911);
+                    pushFollow(FOLLOW_ruleTrPointTerminal_in_rule__TransitionTerminal__Alternatives8636);
                     ruleTrPointTerminal();
 
                     state._fsp--;
@@ -12294,13 +11965,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4125:6: ( ruleSubStateTrPointTerminal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3981:6: ( ruleSubStateTrPointTerminal )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4125:6: ( ruleSubStateTrPointTerminal )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4126:1: ruleSubStateTrPointTerminal
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3981:6: ( ruleSubStateTrPointTerminal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3982:1: ruleSubStateTrPointTerminal
                     {
                      before(grammarAccess.getTransitionTerminalAccess().getSubStateTrPointTerminalParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleSubStateTrPointTerminal_in_rule__TransitionTerminal__Alternatives8928);
+                    pushFollow(FOLLOW_ruleSubStateTrPointTerminal_in_rule__TransitionTerminal__Alternatives8653);
                     ruleSubStateTrPointTerminal();
 
                     state._fsp--;
@@ -12313,13 +11984,13 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4131:6: ( ruleChoicepointTerminal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3987:6: ( ruleChoicepointTerminal )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4131:6: ( ruleChoicepointTerminal )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4132:1: ruleChoicepointTerminal
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3987:6: ( ruleChoicepointTerminal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3988:1: ruleChoicepointTerminal
                     {
                      before(grammarAccess.getTransitionTerminalAccess().getChoicepointTerminalParserRuleCall_3()); 
-                    pushFollow(FOLLOW_ruleChoicepointTerminal_in_rule__TransitionTerminal__Alternatives8945);
+                    pushFollow(FOLLOW_ruleChoicepointTerminal_in_rule__TransitionTerminal__Alternatives8670);
                     ruleChoicepointTerminal();
 
                     state._fsp--;
@@ -12349,20 +12020,20 @@
 
 
     // $ANTLR start "rule__SemanticsRule__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4142:1: rule__SemanticsRule__Alternatives : ( ( ruleInSemanticsRule ) | ( ruleOutSemanticsRule ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:3998:1: rule__SemanticsRule__Alternatives : ( ( ruleInSemanticsRule ) | ( ruleOutSemanticsRule ) );
     public final void rule__SemanticsRule__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4146:1: ( ( ruleInSemanticsRule ) | ( ruleOutSemanticsRule ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4002:1: ( ( ruleInSemanticsRule ) | ( ruleOutSemanticsRule ) )
             int alt32=2;
             int LA32_0 = input.LA(1);
 
-            if ( (LA32_0==117) ) {
+            if ( (LA32_0==118) ) {
                 alt32=1;
             }
-            else if ( (LA32_0==118) ) {
+            else if ( (LA32_0==119) ) {
                 alt32=2;
             }
             else {
@@ -12373,13 +12044,13 @@
             }
             switch (alt32) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4147:1: ( ruleInSemanticsRule )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4003:1: ( ruleInSemanticsRule )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4147:1: ( ruleInSemanticsRule )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4148:1: ruleInSemanticsRule
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4003:1: ( ruleInSemanticsRule )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4004:1: ruleInSemanticsRule
                     {
                      before(grammarAccess.getSemanticsRuleAccess().getInSemanticsRuleParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleInSemanticsRule_in_rule__SemanticsRule__Alternatives8977);
+                    pushFollow(FOLLOW_ruleInSemanticsRule_in_rule__SemanticsRule__Alternatives8702);
                     ruleInSemanticsRule();
 
                     state._fsp--;
@@ -12392,13 +12063,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4153:6: ( ruleOutSemanticsRule )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4009:6: ( ruleOutSemanticsRule )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4153:6: ( ruleOutSemanticsRule )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4154:1: ruleOutSemanticsRule
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4009:6: ( ruleOutSemanticsRule )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4010:1: ruleOutSemanticsRule
                     {
                      before(grammarAccess.getSemanticsRuleAccess().getOutSemanticsRuleParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleOutSemanticsRule_in_rule__SemanticsRule__Alternatives8994);
+                    pushFollow(FOLLOW_ruleOutSemanticsRule_in_rule__SemanticsRule__Alternatives8719);
                     ruleOutSemanticsRule();
 
                     state._fsp--;
@@ -12428,20 +12099,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Alternatives_3_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4164:1: rule__InSemanticsRule__Alternatives_3_1 : ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__InSemanticsRule__Group_3_1_1__0 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4020:1: rule__InSemanticsRule__Alternatives_3_1 : ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__InSemanticsRule__Group_3_1_1__0 ) ) );
     public final void rule__InSemanticsRule__Alternatives_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4168:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__InSemanticsRule__Group_3_1_1__0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4024:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__InSemanticsRule__Group_3_1_1__0 ) ) )
             int alt33=2;
             int LA33_0 = input.LA(1);
 
-            if ( ((LA33_0>=117 && LA33_0<=118)) ) {
+            if ( ((LA33_0>=118 && LA33_0<=119)) ) {
                 alt33=1;
             }
-            else if ( (LA33_0==46) ) {
+            else if ( (LA33_0==47) ) {
                 alt33=2;
             }
             else {
@@ -12452,16 +12123,16 @@
             }
             switch (alt33) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4169:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4025:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4169:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4170:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4025:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4026:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 )
                     {
                      before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsAssignment_3_1_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4171:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4171:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4027:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4027:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_0
                     {
-                    pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__InSemanticsRule__Alternatives_3_19026);
+                    pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__InSemanticsRule__Alternatives_3_18751);
                     rule__InSemanticsRule__FollowUpsAssignment_3_1_0();
 
                     state._fsp--;
@@ -12477,16 +12148,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4175:6: ( ( rule__InSemanticsRule__Group_3_1_1__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4031:6: ( ( rule__InSemanticsRule__Group_3_1_1__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4175:6: ( ( rule__InSemanticsRule__Group_3_1_1__0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4176:1: ( rule__InSemanticsRule__Group_3_1_1__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4031:6: ( ( rule__InSemanticsRule__Group_3_1_1__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4032:1: ( rule__InSemanticsRule__Group_3_1_1__0 )
                     {
                      before(grammarAccess.getInSemanticsRuleAccess().getGroup_3_1_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4177:1: ( rule__InSemanticsRule__Group_3_1_1__0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4177:2: rule__InSemanticsRule__Group_3_1_1__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4033:1: ( rule__InSemanticsRule__Group_3_1_1__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4033:2: rule__InSemanticsRule__Group_3_1_1__0
                     {
-                    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__0_in_rule__InSemanticsRule__Alternatives_3_19044);
+                    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__0_in_rule__InSemanticsRule__Alternatives_3_18769);
                     rule__InSemanticsRule__Group_3_1_1__0();
 
                     state._fsp--;
@@ -12519,20 +12190,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Alternatives_3_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4186:1: rule__OutSemanticsRule__Alternatives_3_1 : ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4042:1: rule__OutSemanticsRule__Alternatives_3_1 : ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) ) );
     public final void rule__OutSemanticsRule__Alternatives_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4190:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4046:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) ) | ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) ) )
             int alt34=2;
             int LA34_0 = input.LA(1);
 
-            if ( ((LA34_0>=117 && LA34_0<=118)) ) {
+            if ( ((LA34_0>=118 && LA34_0<=119)) ) {
                 alt34=1;
             }
-            else if ( (LA34_0==46) ) {
+            else if ( (LA34_0==47) ) {
                 alt34=2;
             }
             else {
@@ -12543,16 +12214,16 @@
             }
             switch (alt34) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4191:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4047:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4191:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4192:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4047:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4048:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 )
                     {
                      before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsAssignment_3_1_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4193:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4193:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4049:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4049:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_0
                     {
-                    pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__OutSemanticsRule__Alternatives_3_19077);
+                    pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__OutSemanticsRule__Alternatives_3_18802);
                     rule__OutSemanticsRule__FollowUpsAssignment_3_1_0();
 
                     state._fsp--;
@@ -12568,16 +12239,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4197:6: ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4053:6: ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4197:6: ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4198:1: ( rule__OutSemanticsRule__Group_3_1_1__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4053:6: ( ( rule__OutSemanticsRule__Group_3_1_1__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4054:1: ( rule__OutSemanticsRule__Group_3_1_1__0 )
                     {
                      before(grammarAccess.getOutSemanticsRuleAccess().getGroup_3_1_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4199:1: ( rule__OutSemanticsRule__Group_3_1_1__0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4199:2: rule__OutSemanticsRule__Group_3_1_1__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4055:1: ( rule__OutSemanticsRule__Group_3_1_1__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4055:2: rule__OutSemanticsRule__Group_3_1_1__0
                     {
-                    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0_in_rule__OutSemanticsRule__Alternatives_3_19095);
+                    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0_in_rule__OutSemanticsRule__Alternatives_3_18820);
                     rule__OutSemanticsRule__Group_3_1_1__0();
 
                     state._fsp--;
@@ -12610,20 +12281,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__Alternatives_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4208:1: rule__AnnotationType__Alternatives_6 : ( ( ( rule__AnnotationType__TargetsAssignment_6_0 ) ) | ( ( rule__AnnotationType__Group_6_1__0 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4064:1: rule__AnnotationType__Alternatives_6 : ( ( ( rule__AnnotationType__TargetsAssignment_6_0 ) ) | ( ( rule__AnnotationType__Group_6_1__0 ) ) );
     public final void rule__AnnotationType__Alternatives_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4212:1: ( ( ( rule__AnnotationType__TargetsAssignment_6_0 ) ) | ( ( rule__AnnotationType__Group_6_1__0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4068:1: ( ( ( rule__AnnotationType__TargetsAssignment_6_0 ) ) | ( ( rule__AnnotationType__Group_6_1__0 ) ) )
             int alt35=2;
             int LA35_0 = input.LA(1);
 
-            if ( ((LA35_0>=17 && LA35_0<=23)) ) {
+            if ( ((LA35_0>=16 && LA35_0<=22)) ) {
                 alt35=1;
             }
-            else if ( (LA35_0==40) ) {
+            else if ( (LA35_0==41) ) {
                 alt35=2;
             }
             else {
@@ -12634,16 +12305,16 @@
             }
             switch (alt35) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4213:1: ( ( rule__AnnotationType__TargetsAssignment_6_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4069:1: ( ( rule__AnnotationType__TargetsAssignment_6_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4213:1: ( ( rule__AnnotationType__TargetsAssignment_6_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4214:1: ( rule__AnnotationType__TargetsAssignment_6_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4069:1: ( ( rule__AnnotationType__TargetsAssignment_6_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4070:1: ( rule__AnnotationType__TargetsAssignment_6_0 )
                     {
                      before(grammarAccess.getAnnotationTypeAccess().getTargetsAssignment_6_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4215:1: ( rule__AnnotationType__TargetsAssignment_6_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4215:2: rule__AnnotationType__TargetsAssignment_6_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4071:1: ( rule__AnnotationType__TargetsAssignment_6_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4071:2: rule__AnnotationType__TargetsAssignment_6_0
                     {
-                    pushFollow(FOLLOW_rule__AnnotationType__TargetsAssignment_6_0_in_rule__AnnotationType__Alternatives_69128);
+                    pushFollow(FOLLOW_rule__AnnotationType__TargetsAssignment_6_0_in_rule__AnnotationType__Alternatives_68853);
                     rule__AnnotationType__TargetsAssignment_6_0();
 
                     state._fsp--;
@@ -12659,16 +12330,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4219:6: ( ( rule__AnnotationType__Group_6_1__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4075:6: ( ( rule__AnnotationType__Group_6_1__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4219:6: ( ( rule__AnnotationType__Group_6_1__0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4220:1: ( rule__AnnotationType__Group_6_1__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4075:6: ( ( rule__AnnotationType__Group_6_1__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4076:1: ( rule__AnnotationType__Group_6_1__0 )
                     {
                      before(grammarAccess.getAnnotationTypeAccess().getGroup_6_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4221:1: ( rule__AnnotationType__Group_6_1__0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4221:2: rule__AnnotationType__Group_6_1__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4077:1: ( rule__AnnotationType__Group_6_1__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4077:2: rule__AnnotationType__Group_6_1__0
                     {
-                    pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__0_in_rule__AnnotationType__Alternatives_69146);
+                    pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__0_in_rule__AnnotationType__Alternatives_68871);
                     rule__AnnotationType__Group_6_1__0();
 
                     state._fsp--;
@@ -12701,34 +12372,34 @@
 
 
     // $ANTLR start "rule__AnnotationAttribute__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4230:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4086:1: rule__AnnotationAttribute__Alternatives : ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) );
     public final void rule__AnnotationAttribute__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4234:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4090:1: ( ( ruleSimpleAnnotationAttribute ) | ( ruleEnumAnnotationAttribute ) )
             int alt36=2;
             int LA36_0 = input.LA(1);
 
-            if ( (LA36_0==33) ) {
+            if ( (LA36_0==34) ) {
                 int LA36_1 = input.LA(2);
 
-                if ( (LA36_1==122) ) {
+                if ( (LA36_1==123) ) {
                     int LA36_3 = input.LA(3);
 
                     if ( (LA36_3==RULE_ID) ) {
                         int LA36_4 = input.LA(4);
 
-                        if ( (LA36_4==42) ) {
+                        if ( (LA36_4==43) ) {
                             int LA36_5 = input.LA(5);
 
-                            if ( (LA36_5==40) ) {
-                                alt36=2;
-                            }
-                            else if ( ((LA36_5>=35 && LA36_5<=38)) ) {
+                            if ( ((LA36_5>=36 && LA36_5<=39)) ) {
                                 alt36=1;
                             }
+                            else if ( (LA36_5==41) ) {
+                                alt36=2;
+                            }
                             else {
                                 NoViableAltException nvae =
                                     new NoViableAltException("", 36, 5, input);
@@ -12757,24 +12428,24 @@
                     throw nvae;
                 }
             }
-            else if ( (LA36_0==24) ) {
+            else if ( (LA36_0==23) ) {
                 int LA36_2 = input.LA(2);
 
-                if ( (LA36_2==122) ) {
+                if ( (LA36_2==123) ) {
                     int LA36_3 = input.LA(3);
 
                     if ( (LA36_3==RULE_ID) ) {
                         int LA36_4 = input.LA(4);
 
-                        if ( (LA36_4==42) ) {
+                        if ( (LA36_4==43) ) {
                             int LA36_5 = input.LA(5);
 
-                            if ( (LA36_5==40) ) {
-                                alt36=2;
-                            }
-                            else if ( ((LA36_5>=35 && LA36_5<=38)) ) {
+                            if ( ((LA36_5>=36 && LA36_5<=39)) ) {
                                 alt36=1;
                             }
+                            else if ( (LA36_5==41) ) {
+                                alt36=2;
+                            }
                             else {
                                 NoViableAltException nvae =
                                     new NoViableAltException("", 36, 5, input);
@@ -12811,13 +12482,13 @@
             }
             switch (alt36) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4235:1: ( ruleSimpleAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4091:1: ( ruleSimpleAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4235:1: ( ruleSimpleAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4236:1: ruleSimpleAnnotationAttribute
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4091:1: ( ruleSimpleAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4092:1: ruleSimpleAnnotationAttribute
                     {
                      before(grammarAccess.getAnnotationAttributeAccess().getSimpleAnnotationAttributeParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives9179);
+                    pushFollow(FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives8904);
                     ruleSimpleAnnotationAttribute();
 
                     state._fsp--;
@@ -12830,13 +12501,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4241:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4097:6: ( ruleEnumAnnotationAttribute )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4241:6: ( ruleEnumAnnotationAttribute )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4242:1: ruleEnumAnnotationAttribute
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4097:6: ( ruleEnumAnnotationAttribute )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4098:1: ruleEnumAnnotationAttribute
                     {
                      before(grammarAccess.getAnnotationAttributeAccess().getEnumAnnotationAttributeParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives9196);
+                    pushFollow(FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives8921);
                     ruleEnumAnnotationAttribute();
 
                     state._fsp--;
@@ -12866,20 +12537,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4252:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4108:1: rule__SimpleAnnotationAttribute__Alternatives_0 : ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__SimpleAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4256:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4112:1: ( ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
             int alt37=2;
             int LA37_0 = input.LA(1);
 
-            if ( (LA37_0==33) ) {
+            if ( (LA37_0==34) ) {
                 alt37=1;
             }
-            else if ( (LA37_0==24) ) {
+            else if ( (LA37_0==23) ) {
                 alt37=2;
             }
             else {
@@ -12890,16 +12561,16 @@
             }
             switch (alt37) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4257:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4113:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4257:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4258:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4113:1: ( ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4114:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
                     {
                      before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4259:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4259:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4115:1: ( rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4115:2: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_09228);
+                    pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_08953);
                     rule__SimpleAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
@@ -12915,13 +12586,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4263:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4119:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4263:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4264:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4119:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4120:1: 'mandatory'
                     {
                      before(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
-                    match(input,24,FOLLOW_24_in_rule__SimpleAnnotationAttribute__Alternatives_09247); 
+                    match(input,23,FOLLOW_23_in_rule__SimpleAnnotationAttribute__Alternatives_08972); 
                      after(grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
 
                     }
@@ -12947,20 +12618,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Alternatives_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4276:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4132:1: rule__EnumAnnotationAttribute__Alternatives_0 : ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) );
     public final void rule__EnumAnnotationAttribute__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4280:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4136:1: ( ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) ) | ( 'mandatory' ) )
             int alt38=2;
             int LA38_0 = input.LA(1);
 
-            if ( (LA38_0==33) ) {
+            if ( (LA38_0==34) ) {
                 alt38=1;
             }
-            else if ( (LA38_0==24) ) {
+            else if ( (LA38_0==23) ) {
                 alt38=2;
             }
             else {
@@ -12971,16 +12642,16 @@
             }
             switch (alt38) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4281:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4137:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4281:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4282:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4137:1: ( ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4138:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
                     {
                      before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4283:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4283:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4139:1: ( rule__EnumAnnotationAttribute__OptionalAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4139:2: rule__EnumAnnotationAttribute__OptionalAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_09281);
+                    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_09006);
                     rule__EnumAnnotationAttribute__OptionalAssignment_0_0();
 
                     state._fsp--;
@@ -12996,13 +12667,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4287:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4143:6: ( 'mandatory' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4287:6: ( 'mandatory' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4288:1: 'mandatory'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4143:6: ( 'mandatory' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4144:1: 'mandatory'
                     {
                      before(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
-                    match(input,24,FOLLOW_24_in_rule__EnumAnnotationAttribute__Alternatives_09300); 
+                    match(input,23,FOLLOW_23_in_rule__EnumAnnotationAttribute__Alternatives_09025); 
                      after(grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1()); 
 
                     }
@@ -13028,20 +12699,20 @@
 
 
     // $ANTLR start "rule__Import__Alternatives_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4300:1: rule__Import__Alternatives_1 : ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4156:1: rule__Import__Alternatives_1 : ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) );
     public final void rule__Import__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4304:1: ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4160:1: ( ( ( rule__Import__Group_1_0__0 ) ) | ( 'model' ) )
             int alt39=2;
             int LA39_0 = input.LA(1);
 
             if ( (LA39_0==RULE_ID) ) {
                 alt39=1;
             }
-            else if ( (LA39_0==25) ) {
+            else if ( (LA39_0==24) ) {
                 alt39=2;
             }
             else {
@@ -13052,16 +12723,16 @@
             }
             switch (alt39) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4305:1: ( ( rule__Import__Group_1_0__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4161:1: ( ( rule__Import__Group_1_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4305:1: ( ( rule__Import__Group_1_0__0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4306:1: ( rule__Import__Group_1_0__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4161:1: ( ( rule__Import__Group_1_0__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4162:1: ( rule__Import__Group_1_0__0 )
                     {
                      before(grammarAccess.getImportAccess().getGroup_1_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4307:1: ( rule__Import__Group_1_0__0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4307:2: rule__Import__Group_1_0__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4163:1: ( rule__Import__Group_1_0__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4163:2: rule__Import__Group_1_0__0
                     {
-                    pushFollow(FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_19334);
+                    pushFollow(FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_19059);
                     rule__Import__Group_1_0__0();
 
                     state._fsp--;
@@ -13077,13 +12748,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4311:6: ( 'model' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4167:6: ( 'model' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4311:6: ( 'model' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4312:1: 'model'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4167:6: ( 'model' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4168:1: 'model'
                     {
                      before(grammarAccess.getImportAccess().getModelKeyword_1_1()); 
-                    match(input,25,FOLLOW_25_in_rule__Import__Alternatives_19353); 
+                    match(input,24,FOLLOW_24_in_rule__Import__Alternatives_19078); 
                      after(grammarAccess.getImportAccess().getModelKeyword_1_1()); 
 
                     }
@@ -13109,26 +12780,25 @@
 
 
     // $ANTLR start "rule__Literal__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4325:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4181:1: rule__Literal__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) );
     public final void rule__Literal__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4329:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4185:1: ( ( ruleBooleanLiteral ) | ( ruleNumberLiteral ) | ( ruleStringLiteral ) )
             int alt40=3;
             switch ( input.LA(1) ) {
-            case 26:
-            case 130:
+            case 25:
+            case 131:
                 {
                 alt40=1;
                 }
                 break;
-            case RULE_HEX:
             case RULE_INT:
+            case RULE_HEX:
+            case 26:
             case 27:
-            case 28:
-            case 85:
                 {
                 alt40=2;
                 }
@@ -13147,13 +12817,13 @@
 
             switch (alt40) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4330:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4186:1: ( ruleBooleanLiteral )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4330:1: ( ruleBooleanLiteral )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4331:1: ruleBooleanLiteral
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4186:1: ( ruleBooleanLiteral )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4187:1: ruleBooleanLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getBooleanLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives9388);
+                    pushFollow(FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives9113);
                     ruleBooleanLiteral();
 
                     state._fsp--;
@@ -13166,13 +12836,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4336:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4192:6: ( ruleNumberLiteral )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4336:6: ( ruleNumberLiteral )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4337:1: ruleNumberLiteral
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4192:6: ( ruleNumberLiteral )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4193:1: ruleNumberLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getNumberLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives9405);
+                    pushFollow(FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives9130);
                     ruleNumberLiteral();
 
                     state._fsp--;
@@ -13185,13 +12855,13 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4342:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4198:6: ( ruleStringLiteral )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4342:6: ( ruleStringLiteral )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4343:1: ruleStringLiteral
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4198:6: ( ruleStringLiteral )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4199:1: ruleStringLiteral
                     {
                      before(grammarAccess.getLiteralAccess().getStringLiteralParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives9422);
+                    pushFollow(FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives9147);
                     ruleStringLiteral();
 
                     state._fsp--;
@@ -13221,20 +12891,20 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Alternatives_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4353:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4209:1: rule__BooleanLiteral__Alternatives_1 : ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) );
     public final void rule__BooleanLiteral__Alternatives_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4357:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4213:1: ( ( 'false' ) | ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) ) )
             int alt41=2;
             int LA41_0 = input.LA(1);
 
-            if ( (LA41_0==26) ) {
+            if ( (LA41_0==25) ) {
                 alt41=1;
             }
-            else if ( (LA41_0==130) ) {
+            else if ( (LA41_0==131) ) {
                 alt41=2;
             }
             else {
@@ -13245,13 +12915,13 @@
             }
             switch (alt41) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4358:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4214:1: ( 'false' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4358:1: ( 'false' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4359:1: 'false'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4214:1: ( 'false' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4215:1: 'false'
                     {
                      before(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
-                    match(input,26,FOLLOW_26_in_rule__BooleanLiteral__Alternatives_19455); 
+                    match(input,25,FOLLOW_25_in_rule__BooleanLiteral__Alternatives_19180); 
                      after(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0()); 
 
                     }
@@ -13260,16 +12930,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4366:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4222:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4366:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4367:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4222:6: ( ( rule__BooleanLiteral__IsTrueAssignment_1_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4223:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
                     {
                      before(grammarAccess.getBooleanLiteralAccess().getIsTrueAssignment_1_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4368:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4368:2: rule__BooleanLiteral__IsTrueAssignment_1_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4224:1: ( rule__BooleanLiteral__IsTrueAssignment_1_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4224:2: rule__BooleanLiteral__IsTrueAssignment_1_1
                     {
-                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_19474);
+                    pushFollow(FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_19199);
                     rule__BooleanLiteral__IsTrueAssignment_1_1();
 
                     state._fsp--;
@@ -13302,26 +12972,26 @@
 
 
     // $ANTLR start "rule__NumberLiteral__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4377:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4233:1: rule__NumberLiteral__Alternatives : ( ( ruleIntLiteral ) | ( ruleRealLiteral ) );
     public final void rule__NumberLiteral__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4381:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4237:1: ( ( ruleIntLiteral ) | ( ruleRealLiteral ) )
             int alt42=2;
             switch ( input.LA(1) ) {
-            case 27:
+            case 26:
                 {
                 int LA42_1 = input.LA(2);
 
                 if ( (LA42_1==RULE_INT) ) {
                     int LA42_3 = input.LA(3);
 
-                    if ( (LA42_3==85) ) {
+                    if ( (LA42_3==86) ) {
                         alt42=2;
                     }
-                    else if ( (LA42_3==EOF||LA42_3==47||LA42_3==50) ) {
+                    else if ( (LA42_3==EOF||LA42_3==48||LA42_3==51) ) {
                         alt42=1;
                     }
                     else {
@@ -13331,9 +13001,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA42_1==85) ) {
-                    alt42=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 42, 1, input);
@@ -13342,17 +13009,17 @@
                 }
                 }
                 break;
-            case 28:
+            case 27:
                 {
                 int LA42_2 = input.LA(2);
 
                 if ( (LA42_2==RULE_INT) ) {
                     int LA42_3 = input.LA(3);
 
-                    if ( (LA42_3==85) ) {
+                    if ( (LA42_3==86) ) {
                         alt42=2;
                     }
-                    else if ( (LA42_3==EOF||LA42_3==47||LA42_3==50) ) {
+                    else if ( (LA42_3==EOF||LA42_3==48||LA42_3==51) ) {
                         alt42=1;
                     }
                     else {
@@ -13362,9 +13029,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA42_2==85) ) {
-                    alt42=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 42, 2, input);
@@ -13377,10 +13041,10 @@
                 {
                 int LA42_3 = input.LA(2);
 
-                if ( (LA42_3==85) ) {
+                if ( (LA42_3==86) ) {
                     alt42=2;
                 }
-                else if ( (LA42_3==EOF||LA42_3==47||LA42_3==50) ) {
+                else if ( (LA42_3==EOF||LA42_3==48||LA42_3==51) ) {
                     alt42=1;
                 }
                 else {
@@ -13396,11 +13060,6 @@
                 alt42=1;
                 }
                 break;
-            case 85:
-                {
-                alt42=2;
-                }
-                break;
             default:
                 NoViableAltException nvae =
                     new NoViableAltException("", 42, 0, input);
@@ -13410,13 +13069,13 @@
 
             switch (alt42) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4382:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4238:1: ( ruleIntLiteral )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4382:1: ( ruleIntLiteral )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4383:1: ruleIntLiteral
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4238:1: ( ruleIntLiteral )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4239:1: ruleIntLiteral
                     {
                      before(grammarAccess.getNumberLiteralAccess().getIntLiteralParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives9507);
+                    pushFollow(FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives9232);
                     ruleIntLiteral();
 
                     state._fsp--;
@@ -13429,13 +13088,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4388:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4244:6: ( ruleRealLiteral )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4388:6: ( ruleRealLiteral )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4389:1: ruleRealLiteral
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4244:6: ( ruleRealLiteral )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4245:1: ruleRealLiteral
                     {
                      before(grammarAccess.getNumberLiteralAccess().getRealLiteralParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives9524);
+                    pushFollow(FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives9249);
                     ruleRealLiteral();
 
                     state._fsp--;
@@ -13465,17 +13124,17 @@
 
 
     // $ANTLR start "rule__Integer__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4399:1: rule__Integer__Alternatives : ( ( ruleSignedInteger ) | ( ruleHexadecimal ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4255:1: rule__Integer__Alternatives : ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) );
     public final void rule__Integer__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4403:1: ( ( ruleSignedInteger ) | ( ruleHexadecimal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4259:1: ( ( ( rule__Integer__Group_0__0 ) ) | ( RULE_HEX ) )
             int alt43=2;
             int LA43_0 = input.LA(1);
 
-            if ( (LA43_0==RULE_INT||(LA43_0>=27 && LA43_0<=28)) ) {
+            if ( (LA43_0==RULE_INT||(LA43_0>=26 && LA43_0<=27)) ) {
                 alt43=1;
             }
             else if ( (LA43_0==RULE_HEX) ) {
@@ -13489,18 +13148,24 @@
             }
             switch (alt43) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4404:1: ( ruleSignedInteger )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4260:1: ( ( rule__Integer__Group_0__0 ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4404:1: ( ruleSignedInteger )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4405:1: ruleSignedInteger
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4260:1: ( ( rule__Integer__Group_0__0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4261:1: ( rule__Integer__Group_0__0 )
                     {
-                     before(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives9556);
-                    ruleSignedInteger();
+                     before(grammarAccess.getIntegerAccess().getGroup_0()); 
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4262:1: ( rule__Integer__Group_0__0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4262:2: rule__Integer__Group_0__0
+                    {
+                    pushFollow(FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives9281);
+                    rule__Integer__Group_0__0();
 
                     state._fsp--;
 
-                     after(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
+
+                    }
+
+                     after(grammarAccess.getIntegerAccess().getGroup_0()); 
 
                     }
 
@@ -13508,18 +13173,14 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4410:6: ( ruleHexadecimal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4266:6: ( RULE_HEX )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4410:6: ( ruleHexadecimal )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4411:1: ruleHexadecimal
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4266:6: ( RULE_HEX )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4267:1: RULE_HEX
                     {
-                     before(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives9573);
-                    ruleHexadecimal();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
+                     before(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
+                    match(input,RULE_HEX,FOLLOW_RULE_HEX_in_rule__Integer__Alternatives9299); 
+                     after(grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
 
                     }
 
@@ -13543,21 +13204,21 @@
     // $ANTLR end "rule__Integer__Alternatives"
 
 
-    // $ANTLR start "rule__SignedInteger__Alternatives_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4421:1: rule__SignedInteger__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__SignedInteger__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Alternatives_0_0"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4277:1: rule__Integer__Alternatives_0_0 : ( ( '+' ) | ( '-' ) );
+    public final void rule__Integer__Alternatives_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4425:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4281:1: ( ( '+' ) | ( '-' ) )
             int alt44=2;
             int LA44_0 = input.LA(1);
 
-            if ( (LA44_0==27) ) {
+            if ( (LA44_0==26) ) {
                 alt44=1;
             }
-            else if ( (LA44_0==28) ) {
+            else if ( (LA44_0==27) ) {
                 alt44=2;
             }
             else {
@@ -13568,14 +13229,14 @@
             }
             switch (alt44) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4426:1: ( '+' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4282:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4426:1: ( '+' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4427:1: '+'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4282:1: ( '+' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4283:1: '+'
                     {
-                     before(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                    match(input,27,FOLLOW_27_in_rule__SignedInteger__Alternatives_09606); 
-                     after(grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+                     before(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                    match(input,26,FOLLOW_26_in_rule__Integer__Alternatives_0_09332); 
+                     after(grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
 
                     }
 
@@ -13583,14 +13244,14 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4434:6: ( '-' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4290:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4434:6: ( '-' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4435:1: '-'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4290:6: ( '-' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4291:1: '-'
                     {
-                     before(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,28,FOLLOW_28_in_rule__SignedInteger__Alternatives_09626); 
-                     after(grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+                     before(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                    match(input,27,FOLLOW_27_in_rule__Integer__Alternatives_0_09352); 
+                     after(grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
 
                     }
 
@@ -13611,28 +13272,169 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Alternatives_0"
+    // $ANTLR end "rule__Integer__Alternatives_0_0"
 
 
     // $ANTLR start "rule__Real__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4447:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4303:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDecimalExp ) );
     public final void rule__Real__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4451:1: ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) )
-            int alt45=4;
-            alt45 = dfa45.predict(input);
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4307:1: ( ( ruleDecimal ) | ( ruleDecimalExp ) )
+            int alt45=2;
+            switch ( input.LA(1) ) {
+            case 26:
+                {
+                int LA45_1 = input.LA(2);
+
+                if ( (LA45_1==RULE_INT) ) {
+                    int LA45_3 = input.LA(3);
+
+                    if ( (LA45_3==86) ) {
+                        int LA45_4 = input.LA(4);
+
+                        if ( (LA45_4==RULE_INT) ) {
+                            int LA45_5 = input.LA(5);
+
+                            if ( (LA45_5==EOF||LA45_5==48||LA45_5==51) ) {
+                                alt45=1;
+                            }
+                            else if ( ((LA45_5>=28 && LA45_5<=29)) ) {
+                                alt45=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 45, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 45, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 45, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 45, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 27:
+                {
+                int LA45_2 = input.LA(2);
+
+                if ( (LA45_2==RULE_INT) ) {
+                    int LA45_3 = input.LA(3);
+
+                    if ( (LA45_3==86) ) {
+                        int LA45_4 = input.LA(4);
+
+                        if ( (LA45_4==RULE_INT) ) {
+                            int LA45_5 = input.LA(5);
+
+                            if ( (LA45_5==EOF||LA45_5==48||LA45_5==51) ) {
+                                alt45=1;
+                            }
+                            else if ( ((LA45_5>=28 && LA45_5<=29)) ) {
+                                alt45=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 45, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 45, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 45, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 45, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA45_3 = input.LA(2);
+
+                if ( (LA45_3==86) ) {
+                    int LA45_4 = input.LA(3);
+
+                    if ( (LA45_4==RULE_INT) ) {
+                        int LA45_5 = input.LA(4);
+
+                        if ( (LA45_5==EOF||LA45_5==48||LA45_5==51) ) {
+                            alt45=1;
+                        }
+                        else if ( ((LA45_5>=28 && LA45_5<=29)) ) {
+                            alt45=2;
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 45, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 45, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 45, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 45, 0, input);
+
+                throw nvae;
+            }
+
             switch (alt45) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4452:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4308:1: ( ruleDecimal )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4452:1: ( ruleDecimal )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4453:1: ruleDecimal
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4308:1: ( ruleDecimal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4309:1: ruleDecimal
                     {
                      before(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
-                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives9660);
+                    pushFollow(FOLLOW_ruleDecimal_in_rule__Real__Alternatives9386);
                     ruleDecimal();
 
                     state._fsp--;
@@ -13645,56 +13447,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4458:6: ( ruleDotDecimal )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4314:6: ( ruleDecimalExp )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4458:6: ( ruleDotDecimal )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4459:1: ruleDotDecimal
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4314:6: ( ruleDecimalExp )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4315:1: ruleDecimalExp
                     {
-                     before(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-                    pushFollow(FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives9677);
-                    ruleDotDecimal();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4464:6: ( ruleDecimalDot )
-                    {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4464:6: ( ruleDecimalDot )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4465:1: ruleDecimalDot
-                    {
-                     before(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                    pushFollow(FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives9694);
-                    ruleDecimalDot();
-
-                    state._fsp--;
-
-                     after(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4470:6: ( ruleDecimalExp )
-                    {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4470:6: ( ruleDecimalExp )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4471:1: ruleDecimalExp
-                    {
-                     before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives9711);
+                     before(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
+                    pushFollow(FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives9403);
                     ruleDecimalExp();
 
                     state._fsp--;
 
-                     after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
+                     after(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
 
                     }
 
@@ -13719,20 +13483,20 @@
 
 
     // $ANTLR start "rule__Decimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4481:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4325:1: rule__Decimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
     public final void rule__Decimal__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4485:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4329:1: ( ( '+' ) | ( '-' ) )
             int alt46=2;
             int LA46_0 = input.LA(1);
 
-            if ( (LA46_0==27) ) {
+            if ( (LA46_0==26) ) {
                 alt46=1;
             }
-            else if ( (LA46_0==28) ) {
+            else if ( (LA46_0==27) ) {
                 alt46=2;
             }
             else {
@@ -13743,13 +13507,13 @@
             }
             switch (alt46) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4486:1: ( '+' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4330:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4486:1: ( '+' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4487:1: '+'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4330:1: ( '+' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4331:1: '+'
                     {
                      before(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
-                    match(input,27,FOLLOW_27_in_rule__Decimal__Alternatives_09744); 
+                    match(input,26,FOLLOW_26_in_rule__Decimal__Alternatives_09436); 
                      after(grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
 
                     }
@@ -13758,13 +13522,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4494:6: ( '-' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4338:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4494:6: ( '-' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4495:1: '-'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4338:6: ( '-' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4339:1: '-'
                     {
                      before(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,28,FOLLOW_28_in_rule__Decimal__Alternatives_09764); 
+                    match(input,27,FOLLOW_27_in_rule__Decimal__Alternatives_09456); 
                      after(grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
 
                     }
@@ -13789,21 +13553,21 @@
     // $ANTLR end "rule__Decimal__Alternatives_0"
 
 
-    // $ANTLR start "rule__DotDecimal__Alternatives_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4507:1: rule__DotDecimal__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DotDecimal__Alternatives_0() throws RecognitionException {
+    // $ANTLR start "rule__DecimalExp__Alternatives_0"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4351:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
+    public final void rule__DecimalExp__Alternatives_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4511:1: ( ( '+' ) | ( '-' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4355:1: ( ( '+' ) | ( '-' ) )
             int alt47=2;
             int LA47_0 = input.LA(1);
 
-            if ( (LA47_0==27) ) {
+            if ( (LA47_0==26) ) {
                 alt47=1;
             }
-            else if ( (LA47_0==28) ) {
+            else if ( (LA47_0==27) ) {
                 alt47=2;
             }
             else {
@@ -13814,155 +13578,13 @@
             }
             switch (alt47) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4512:1: ( '+' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4356:1: ( '+' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4512:1: ( '+' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4513:1: '+'
-                    {
-                     before(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                    match(input,27,FOLLOW_27_in_rule__DotDecimal__Alternatives_09799); 
-                     after(grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4520:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4520:6: ( '-' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4521:1: '-'
-                    {
-                     before(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,28,FOLLOW_28_in_rule__DotDecimal__Alternatives_09819); 
-                     after(grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Alternatives_0"
-
-
-    // $ANTLR start "rule__DecimalDot__Alternatives_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4533:1: rule__DecimalDot__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DecimalDot__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4537:1: ( ( '+' ) | ( '-' ) )
-            int alt48=2;
-            int LA48_0 = input.LA(1);
-
-            if ( (LA48_0==27) ) {
-                alt48=1;
-            }
-            else if ( (LA48_0==28) ) {
-                alt48=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 48, 0, input);
-
-                throw nvae;
-            }
-            switch (alt48) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4538:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4538:1: ( '+' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4539:1: '+'
-                    {
-                     before(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                    match(input,27,FOLLOW_27_in_rule__DecimalDot__Alternatives_09854); 
-                     after(grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-
-                    }
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4546:6: ( '-' )
-                    {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4546:6: ( '-' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4547:1: '-'
-                    {
-                     before(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,28,FOLLOW_28_in_rule__DecimalDot__Alternatives_09874); 
-                     after(grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-
-                    }
-
-
-                    }
-                    break;
-
-            }
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Alternatives_0"
-
-
-    // $ANTLR start "rule__DecimalExp__Alternatives_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4559:1: rule__DecimalExp__Alternatives_0 : ( ( '+' ) | ( '-' ) );
-    public final void rule__DecimalExp__Alternatives_0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4563:1: ( ( '+' ) | ( '-' ) )
-            int alt49=2;
-            int LA49_0 = input.LA(1);
-
-            if ( (LA49_0==27) ) {
-                alt49=1;
-            }
-            else if ( (LA49_0==28) ) {
-                alt49=2;
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 49, 0, input);
-
-                throw nvae;
-            }
-            switch (alt49) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4564:1: ( '+' )
-                    {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4564:1: ( '+' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4565:1: '+'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4356:1: ( '+' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4357:1: '+'
                     {
                      before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
-                    match(input,27,FOLLOW_27_in_rule__DecimalExp__Alternatives_09909); 
+                    match(input,26,FOLLOW_26_in_rule__DecimalExp__Alternatives_09491); 
                      after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
 
                     }
@@ -13971,13 +13593,13 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4572:6: ( '-' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4364:6: ( '-' )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4572:6: ( '-' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4573:1: '-'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4364:6: ( '-' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4365:1: '-'
                     {
                      before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
-                    match(input,28,FOLLOW_28_in_rule__DecimalExp__Alternatives_09929); 
+                    match(input,27,FOLLOW_27_in_rule__DecimalExp__Alternatives_09511); 
                      after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
 
                     }
@@ -14002,27 +13624,169 @@
     // $ANTLR end "rule__DecimalExp__Alternatives_0"
 
 
+    // $ANTLR start "rule__DecimalExp__Alternatives_4"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4377:1: rule__DecimalExp__Alternatives_4 : ( ( 'e' ) | ( 'E' ) );
+    public final void rule__DecimalExp__Alternatives_4() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4381:1: ( ( 'e' ) | ( 'E' ) )
+            int alt48=2;
+            int LA48_0 = input.LA(1);
+
+            if ( (LA48_0==28) ) {
+                alt48=1;
+            }
+            else if ( (LA48_0==29) ) {
+                alt48=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 48, 0, input);
+
+                throw nvae;
+            }
+            switch (alt48) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4382:1: ( 'e' )
+                    {
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4382:1: ( 'e' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4383:1: 'e'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                    match(input,28,FOLLOW_28_in_rule__DecimalExp__Alternatives_49546); 
+                     after(grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4390:6: ( 'E' )
+                    {
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4390:6: ( 'E' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4391:1: 'E'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                    match(input,29,FOLLOW_29_in_rule__DecimalExp__Alternatives_49566); 
+                     after(grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_4"
+
+
+    // $ANTLR start "rule__DecimalExp__Alternatives_5"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4403:1: rule__DecimalExp__Alternatives_5 : ( ( '+' ) | ( '-' ) );
+    public final void rule__DecimalExp__Alternatives_5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4407:1: ( ( '+' ) | ( '-' ) )
+            int alt49=2;
+            int LA49_0 = input.LA(1);
+
+            if ( (LA49_0==26) ) {
+                alt49=1;
+            }
+            else if ( (LA49_0==27) ) {
+                alt49=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 49, 0, input);
+
+                throw nvae;
+            }
+            switch (alt49) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4408:1: ( '+' )
+                    {
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4408:1: ( '+' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4409:1: '+'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                    match(input,26,FOLLOW_26_in_rule__DecimalExp__Alternatives_59601); 
+                     after(grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4416:6: ( '-' )
+                    {
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4416:6: ( '-' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4417:1: '-'
+                    {
+                     before(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                    match(input,27,FOLLOW_27_in_rule__DecimalExp__Alternatives_59621); 
+                     after(grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Alternatives_5"
+
+
     // $ANTLR start "rule__CommunicationType__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4585:1: rule__CommunicationType__Alternatives : ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'sync' ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4429:1: rule__CommunicationType__Alternatives : ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'sync' ) ) );
     public final void rule__CommunicationType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4589:1: ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'sync' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4433:1: ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'sync' ) ) )
             int alt50=3;
             switch ( input.LA(1) ) {
-            case 29:
+            case 30:
                 {
                 alt50=1;
                 }
                 break;
-            case 30:
+            case 31:
                 {
                 alt50=2;
                 }
                 break;
-            case 31:
+            case 32:
                 {
                 alt50=3;
                 }
@@ -14036,16 +13800,16 @@
 
             switch (alt50) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4590:1: ( ( 'eventdriven' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4434:1: ( ( 'eventdriven' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4590:1: ( ( 'eventdriven' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4591:1: ( 'eventdriven' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4434:1: ( ( 'eventdriven' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4435:1: ( 'eventdriven' )
                     {
                      before(grammarAccess.getCommunicationTypeAccess().getEVENT_DRIVENEnumLiteralDeclaration_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4592:1: ( 'eventdriven' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4592:3: 'eventdriven'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4436:1: ( 'eventdriven' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4436:3: 'eventdriven'
                     {
-                    match(input,29,FOLLOW_29_in_rule__CommunicationType__Alternatives9964); 
+                    match(input,30,FOLLOW_30_in_rule__CommunicationType__Alternatives9656); 
 
                     }
 
@@ -14057,16 +13821,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4597:6: ( ( 'datadriven' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4441:6: ( ( 'datadriven' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4597:6: ( ( 'datadriven' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4598:1: ( 'datadriven' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4441:6: ( ( 'datadriven' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4442:1: ( 'datadriven' )
                     {
                      before(grammarAccess.getCommunicationTypeAccess().getDATA_DRIVENEnumLiteralDeclaration_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4599:1: ( 'datadriven' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4599:3: 'datadriven'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4443:1: ( 'datadriven' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4443:3: 'datadriven'
                     {
-                    match(input,30,FOLLOW_30_in_rule__CommunicationType__Alternatives9985); 
+                    match(input,31,FOLLOW_31_in_rule__CommunicationType__Alternatives9677); 
 
                     }
 
@@ -14078,16 +13842,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4604:6: ( ( 'sync' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4448:6: ( ( 'sync' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4604:6: ( ( 'sync' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4605:1: ( 'sync' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4448:6: ( ( 'sync' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4449:1: ( 'sync' )
                     {
                      before(grammarAccess.getCommunicationTypeAccess().getSYNCHRONOUSEnumLiteralDeclaration_2()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4606:1: ( 'sync' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4606:3: 'sync'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4450:1: ( 'sync' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4450:3: 'sync'
                     {
-                    match(input,31,FOLLOW_31_in_rule__CommunicationType__Alternatives10006); 
+                    match(input,32,FOLLOW_32_in_rule__CommunicationType__Alternatives9698); 
 
                     }
 
@@ -14116,20 +13880,20 @@
 
 
     // $ANTLR start "rule__ReferenceType__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4616:1: rule__ReferenceType__Alternatives : ( ( ( 'fixed' ) ) | ( ( 'optional' ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4460:1: rule__ReferenceType__Alternatives : ( ( ( 'fixed' ) ) | ( ( 'optional' ) ) );
     public final void rule__ReferenceType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4620:1: ( ( ( 'fixed' ) ) | ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4464:1: ( ( ( 'fixed' ) ) | ( ( 'optional' ) ) )
             int alt51=2;
             int LA51_0 = input.LA(1);
 
-            if ( (LA51_0==32) ) {
+            if ( (LA51_0==33) ) {
                 alt51=1;
             }
-            else if ( (LA51_0==33) ) {
+            else if ( (LA51_0==34) ) {
                 alt51=2;
             }
             else {
@@ -14140,16 +13904,16 @@
             }
             switch (alt51) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4621:1: ( ( 'fixed' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4465:1: ( ( 'fixed' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4621:1: ( ( 'fixed' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4622:1: ( 'fixed' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4465:1: ( ( 'fixed' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4466:1: ( 'fixed' )
                     {
                      before(grammarAccess.getReferenceTypeAccess().getFIXEDEnumLiteralDeclaration_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4623:1: ( 'fixed' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4623:3: 'fixed'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4467:1: ( 'fixed' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4467:3: 'fixed'
                     {
-                    match(input,32,FOLLOW_32_in_rule__ReferenceType__Alternatives10042); 
+                    match(input,33,FOLLOW_33_in_rule__ReferenceType__Alternatives9734); 
 
                     }
 
@@ -14161,16 +13925,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4628:6: ( ( 'optional' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4472:6: ( ( 'optional' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4628:6: ( ( 'optional' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4629:1: ( 'optional' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4472:6: ( ( 'optional' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4473:1: ( 'optional' )
                     {
                      before(grammarAccess.getReferenceTypeAccess().getOPTIONALEnumLiteralDeclaration_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4630:1: ( 'optional' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4630:3: 'optional'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4474:1: ( 'optional' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4474:3: 'optional'
                     {
-                    match(input,33,FOLLOW_33_in_rule__ReferenceType__Alternatives10063); 
+                    match(input,34,FOLLOW_34_in_rule__ReferenceType__Alternatives9755); 
 
                     }
 
@@ -14199,31 +13963,31 @@
 
 
     // $ANTLR start "rule__ComponentCommunicationType__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4641:1: rule__ComponentCommunicationType__Alternatives : ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'async' ) ) | ( ( 'sync' ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4485:1: rule__ComponentCommunicationType__Alternatives : ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'async' ) ) | ( ( 'sync' ) ) );
     public final void rule__ComponentCommunicationType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4645:1: ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'async' ) ) | ( ( 'sync' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4489:1: ( ( ( 'eventdriven' ) ) | ( ( 'datadriven' ) ) | ( ( 'async' ) ) | ( ( 'sync' ) ) )
             int alt52=4;
             switch ( input.LA(1) ) {
-            case 29:
+            case 30:
                 {
                 alt52=1;
                 }
                 break;
-            case 30:
+            case 31:
                 {
                 alt52=2;
                 }
                 break;
-            case 34:
+            case 35:
                 {
                 alt52=3;
                 }
                 break;
-            case 31:
+            case 32:
                 {
                 alt52=4;
                 }
@@ -14237,16 +14001,16 @@
 
             switch (alt52) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4646:1: ( ( 'eventdriven' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4490:1: ( ( 'eventdriven' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4646:1: ( ( 'eventdriven' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4647:1: ( 'eventdriven' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4490:1: ( ( 'eventdriven' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4491:1: ( 'eventdriven' )
                     {
                      before(grammarAccess.getComponentCommunicationTypeAccess().getEVENT_DRIVENEnumLiteralDeclaration_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4648:1: ( 'eventdriven' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4648:3: 'eventdriven'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4492:1: ( 'eventdriven' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4492:3: 'eventdriven'
                     {
-                    match(input,29,FOLLOW_29_in_rule__ComponentCommunicationType__Alternatives10100); 
+                    match(input,30,FOLLOW_30_in_rule__ComponentCommunicationType__Alternatives9792); 
 
                     }
 
@@ -14258,16 +14022,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4653:6: ( ( 'datadriven' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4497:6: ( ( 'datadriven' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4653:6: ( ( 'datadriven' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4654:1: ( 'datadriven' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4497:6: ( ( 'datadriven' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4498:1: ( 'datadriven' )
                     {
                      before(grammarAccess.getComponentCommunicationTypeAccess().getDATA_DRIVENEnumLiteralDeclaration_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4655:1: ( 'datadriven' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4655:3: 'datadriven'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4499:1: ( 'datadriven' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4499:3: 'datadriven'
                     {
-                    match(input,30,FOLLOW_30_in_rule__ComponentCommunicationType__Alternatives10121); 
+                    match(input,31,FOLLOW_31_in_rule__ComponentCommunicationType__Alternatives9813); 
 
                     }
 
@@ -14279,16 +14043,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4660:6: ( ( 'async' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4504:6: ( ( 'async' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4660:6: ( ( 'async' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4661:1: ( 'async' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4504:6: ( ( 'async' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4505:1: ( 'async' )
                     {
                      before(grammarAccess.getComponentCommunicationTypeAccess().getASYNCHRONOUSEnumLiteralDeclaration_2()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4662:1: ( 'async' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4662:3: 'async'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4506:1: ( 'async' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4506:3: 'async'
                     {
-                    match(input,34,FOLLOW_34_in_rule__ComponentCommunicationType__Alternatives10142); 
+                    match(input,35,FOLLOW_35_in_rule__ComponentCommunicationType__Alternatives9834); 
 
                     }
 
@@ -14300,16 +14064,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4667:6: ( ( 'sync' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4511:6: ( ( 'sync' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4667:6: ( ( 'sync' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4668:1: ( 'sync' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4511:6: ( ( 'sync' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4512:1: ( 'sync' )
                     {
                      before(grammarAccess.getComponentCommunicationTypeAccess().getSYNCHRONOUSEnumLiteralDeclaration_3()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4669:1: ( 'sync' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4669:3: 'sync'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4513:1: ( 'sync' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4513:3: 'sync'
                     {
-                    match(input,31,FOLLOW_31_in_rule__ComponentCommunicationType__Alternatives10163); 
+                    match(input,32,FOLLOW_32_in_rule__ComponentCommunicationType__Alternatives9855); 
 
                     }
 
@@ -14338,31 +14102,31 @@
 
 
     // $ANTLR start "rule__LiteralType__Alternatives"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4679:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4523:1: rule__LiteralType__Alternatives : ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) );
     public final void rule__LiteralType__Alternatives() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4683:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4527:1: ( ( ( 'ptBoolean' ) ) | ( ( 'ptInteger' ) ) | ( ( 'ptReal' ) ) | ( ( 'ptCharacter' ) ) )
             int alt53=4;
             switch ( input.LA(1) ) {
-            case 35:
+            case 36:
                 {
                 alt53=1;
                 }
                 break;
-            case 36:
+            case 37:
                 {
                 alt53=2;
                 }
                 break;
-            case 37:
+            case 38:
                 {
                 alt53=3;
                 }
                 break;
-            case 38:
+            case 39:
                 {
                 alt53=4;
                 }
@@ -14376,16 +14140,16 @@
 
             switch (alt53) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4684:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4528:1: ( ( 'ptBoolean' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4684:1: ( ( 'ptBoolean' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4685:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4528:1: ( ( 'ptBoolean' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4529:1: ( 'ptBoolean' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4686:1: ( 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4686:3: 'ptBoolean'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4530:1: ( 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4530:3: 'ptBoolean'
                     {
-                    match(input,35,FOLLOW_35_in_rule__LiteralType__Alternatives10199); 
+                    match(input,36,FOLLOW_36_in_rule__LiteralType__Alternatives9891); 
 
                     }
 
@@ -14397,16 +14161,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4691:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4535:6: ( ( 'ptInteger' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4691:6: ( ( 'ptInteger' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4692:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4535:6: ( ( 'ptInteger' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4536:1: ( 'ptInteger' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4693:1: ( 'ptInteger' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4693:3: 'ptInteger'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4537:1: ( 'ptInteger' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4537:3: 'ptInteger'
                     {
-                    match(input,36,FOLLOW_36_in_rule__LiteralType__Alternatives10220); 
+                    match(input,37,FOLLOW_37_in_rule__LiteralType__Alternatives9912); 
 
                     }
 
@@ -14418,16 +14182,16 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4698:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4542:6: ( ( 'ptReal' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4698:6: ( ( 'ptReal' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4699:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4542:6: ( ( 'ptReal' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4543:1: ( 'ptReal' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4700:1: ( 'ptReal' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4700:3: 'ptReal'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4544:1: ( 'ptReal' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4544:3: 'ptReal'
                     {
-                    match(input,37,FOLLOW_37_in_rule__LiteralType__Alternatives10241); 
+                    match(input,38,FOLLOW_38_in_rule__LiteralType__Alternatives9933); 
 
                     }
 
@@ -14439,16 +14203,16 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4705:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4549:6: ( ( 'ptCharacter' ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4705:6: ( ( 'ptCharacter' ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4706:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4549:6: ( ( 'ptCharacter' ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4550:1: ( 'ptCharacter' )
                     {
                      before(grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4707:1: ( 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4707:3: 'ptCharacter'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4551:1: ( 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4551:3: 'ptCharacter'
                     {
-                    match(input,38,FOLLOW_38_in_rule__LiteralType__Alternatives10262); 
+                    match(input,39,FOLLOW_39_in_rule__LiteralType__Alternatives9954); 
 
                     }
 
@@ -14477,21 +14241,21 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4719:1: rule__RoomModel__Group__0 : rule__RoomModel__Group__0__Impl rule__RoomModel__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4563:1: rule__RoomModel__Group__0 : rule__RoomModel__Group__0__Impl rule__RoomModel__Group__1 ;
     public final void rule__RoomModel__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4723:1: ( rule__RoomModel__Group__0__Impl rule__RoomModel__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4724:2: rule__RoomModel__Group__0__Impl rule__RoomModel__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4567:1: ( rule__RoomModel__Group__0__Impl rule__RoomModel__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4568:2: rule__RoomModel__Group__0__Impl rule__RoomModel__Group__1
             {
-            pushFollow(FOLLOW_rule__RoomModel__Group__0__Impl_in_rule__RoomModel__Group__010295);
+            pushFollow(FOLLOW_rule__RoomModel__Group__0__Impl_in_rule__RoomModel__Group__09987);
             rule__RoomModel__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RoomModel__Group__1_in_rule__RoomModel__Group__010298);
+            pushFollow(FOLLOW_rule__RoomModel__Group__1_in_rule__RoomModel__Group__09990);
             rule__RoomModel__Group__1();
 
             state._fsp--;
@@ -14515,20 +14279,20 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4731:1: rule__RoomModel__Group__0__Impl : ( 'RoomModel' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4575:1: rule__RoomModel__Group__0__Impl : ( 'RoomModel' ) ;
     public final void rule__RoomModel__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4735:1: ( ( 'RoomModel' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4736:1: ( 'RoomModel' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4579:1: ( ( 'RoomModel' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4580:1: ( 'RoomModel' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4736:1: ( 'RoomModel' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4737:1: 'RoomModel'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4580:1: ( 'RoomModel' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4581:1: 'RoomModel'
             {
              before(grammarAccess.getRoomModelAccess().getRoomModelKeyword_0()); 
-            match(input,39,FOLLOW_39_in_rule__RoomModel__Group__0__Impl10326); 
+            match(input,40,FOLLOW_40_in_rule__RoomModel__Group__0__Impl10018); 
              after(grammarAccess.getRoomModelAccess().getRoomModelKeyword_0()); 
 
             }
@@ -14552,21 +14316,21 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4750:1: rule__RoomModel__Group__1 : rule__RoomModel__Group__1__Impl rule__RoomModel__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4594:1: rule__RoomModel__Group__1 : rule__RoomModel__Group__1__Impl rule__RoomModel__Group__2 ;
     public final void rule__RoomModel__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4754:1: ( rule__RoomModel__Group__1__Impl rule__RoomModel__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4755:2: rule__RoomModel__Group__1__Impl rule__RoomModel__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4598:1: ( rule__RoomModel__Group__1__Impl rule__RoomModel__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4599:2: rule__RoomModel__Group__1__Impl rule__RoomModel__Group__2
             {
-            pushFollow(FOLLOW_rule__RoomModel__Group__1__Impl_in_rule__RoomModel__Group__110357);
+            pushFollow(FOLLOW_rule__RoomModel__Group__1__Impl_in_rule__RoomModel__Group__110049);
             rule__RoomModel__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RoomModel__Group__2_in_rule__RoomModel__Group__110360);
+            pushFollow(FOLLOW_rule__RoomModel__Group__2_in_rule__RoomModel__Group__110052);
             rule__RoomModel__Group__2();
 
             state._fsp--;
@@ -14590,23 +14354,23 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4762:1: rule__RoomModel__Group__1__Impl : ( ( rule__RoomModel__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4606:1: rule__RoomModel__Group__1__Impl : ( ( rule__RoomModel__NameAssignment_1 ) ) ;
     public final void rule__RoomModel__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4766:1: ( ( ( rule__RoomModel__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4767:1: ( ( rule__RoomModel__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4610:1: ( ( ( rule__RoomModel__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4611:1: ( ( rule__RoomModel__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4767:1: ( ( rule__RoomModel__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4768:1: ( rule__RoomModel__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4611:1: ( ( rule__RoomModel__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4612:1: ( rule__RoomModel__NameAssignment_1 )
             {
              before(grammarAccess.getRoomModelAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4769:1: ( rule__RoomModel__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4769:2: rule__RoomModel__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4613:1: ( rule__RoomModel__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4613:2: rule__RoomModel__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__RoomModel__NameAssignment_1_in_rule__RoomModel__Group__1__Impl10387);
+            pushFollow(FOLLOW_rule__RoomModel__NameAssignment_1_in_rule__RoomModel__Group__1__Impl10079);
             rule__RoomModel__NameAssignment_1();
 
             state._fsp--;
@@ -14637,21 +14401,21 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4779:1: rule__RoomModel__Group__2 : rule__RoomModel__Group__2__Impl rule__RoomModel__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4623:1: rule__RoomModel__Group__2 : rule__RoomModel__Group__2__Impl rule__RoomModel__Group__3 ;
     public final void rule__RoomModel__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4783:1: ( rule__RoomModel__Group__2__Impl rule__RoomModel__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4784:2: rule__RoomModel__Group__2__Impl rule__RoomModel__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4627:1: ( rule__RoomModel__Group__2__Impl rule__RoomModel__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4628:2: rule__RoomModel__Group__2__Impl rule__RoomModel__Group__3
             {
-            pushFollow(FOLLOW_rule__RoomModel__Group__2__Impl_in_rule__RoomModel__Group__210417);
+            pushFollow(FOLLOW_rule__RoomModel__Group__2__Impl_in_rule__RoomModel__Group__210109);
             rule__RoomModel__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RoomModel__Group__3_in_rule__RoomModel__Group__210420);
+            pushFollow(FOLLOW_rule__RoomModel__Group__3_in_rule__RoomModel__Group__210112);
             rule__RoomModel__Group__3();
 
             state._fsp--;
@@ -14675,31 +14439,31 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4791:1: rule__RoomModel__Group__2__Impl : ( ( rule__RoomModel__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4635:1: rule__RoomModel__Group__2__Impl : ( ( rule__RoomModel__DocuAssignment_2 )? ) ;
     public final void rule__RoomModel__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4795:1: ( ( ( rule__RoomModel__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4796:1: ( ( rule__RoomModel__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4639:1: ( ( ( rule__RoomModel__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4640:1: ( ( rule__RoomModel__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4796:1: ( ( rule__RoomModel__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4797:1: ( rule__RoomModel__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4640:1: ( ( rule__RoomModel__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4641:1: ( rule__RoomModel__DocuAssignment_2 )?
             {
              before(grammarAccess.getRoomModelAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4798:1: ( rule__RoomModel__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4642:1: ( rule__RoomModel__DocuAssignment_2 )?
             int alt54=2;
             int LA54_0 = input.LA(1);
 
-            if ( (LA54_0==58) ) {
+            if ( (LA54_0==59) ) {
                 alt54=1;
             }
             switch (alt54) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4798:2: rule__RoomModel__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4642:2: rule__RoomModel__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__RoomModel__DocuAssignment_2_in_rule__RoomModel__Group__2__Impl10447);
+                    pushFollow(FOLLOW_rule__RoomModel__DocuAssignment_2_in_rule__RoomModel__Group__2__Impl10139);
                     rule__RoomModel__DocuAssignment_2();
 
                     state._fsp--;
@@ -14733,21 +14497,21 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4808:1: rule__RoomModel__Group__3 : rule__RoomModel__Group__3__Impl rule__RoomModel__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4652:1: rule__RoomModel__Group__3 : rule__RoomModel__Group__3__Impl rule__RoomModel__Group__4 ;
     public final void rule__RoomModel__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4812:1: ( rule__RoomModel__Group__3__Impl rule__RoomModel__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4813:2: rule__RoomModel__Group__3__Impl rule__RoomModel__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4656:1: ( rule__RoomModel__Group__3__Impl rule__RoomModel__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4657:2: rule__RoomModel__Group__3__Impl rule__RoomModel__Group__4
             {
-            pushFollow(FOLLOW_rule__RoomModel__Group__3__Impl_in_rule__RoomModel__Group__310478);
+            pushFollow(FOLLOW_rule__RoomModel__Group__3__Impl_in_rule__RoomModel__Group__310170);
             rule__RoomModel__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RoomModel__Group__4_in_rule__RoomModel__Group__310481);
+            pushFollow(FOLLOW_rule__RoomModel__Group__4_in_rule__RoomModel__Group__310173);
             rule__RoomModel__Group__4();
 
             state._fsp--;
@@ -14771,20 +14535,20 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4820:1: rule__RoomModel__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4664:1: rule__RoomModel__Group__3__Impl : ( '{' ) ;
     public final void rule__RoomModel__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4824:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4825:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4668:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4669:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4825:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4826:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4669:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4670:1: '{'
             {
              before(grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,40,FOLLOW_40_in_rule__RoomModel__Group__3__Impl10509); 
+            match(input,41,FOLLOW_41_in_rule__RoomModel__Group__3__Impl10201); 
              after(grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_3()); 
 
             }
@@ -14808,21 +14572,21 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4839:1: rule__RoomModel__Group__4 : rule__RoomModel__Group__4__Impl rule__RoomModel__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4683:1: rule__RoomModel__Group__4 : rule__RoomModel__Group__4__Impl rule__RoomModel__Group__5 ;
     public final void rule__RoomModel__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4843:1: ( rule__RoomModel__Group__4__Impl rule__RoomModel__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4844:2: rule__RoomModel__Group__4__Impl rule__RoomModel__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4687:1: ( rule__RoomModel__Group__4__Impl rule__RoomModel__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4688:2: rule__RoomModel__Group__4__Impl rule__RoomModel__Group__5
             {
-            pushFollow(FOLLOW_rule__RoomModel__Group__4__Impl_in_rule__RoomModel__Group__410540);
+            pushFollow(FOLLOW_rule__RoomModel__Group__4__Impl_in_rule__RoomModel__Group__410232);
             rule__RoomModel__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RoomModel__Group__5_in_rule__RoomModel__Group__410543);
+            pushFollow(FOLLOW_rule__RoomModel__Group__5_in_rule__RoomModel__Group__410235);
             rule__RoomModel__Group__5();
 
             state._fsp--;
@@ -14846,35 +14610,35 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4851:1: rule__RoomModel__Group__4__Impl : ( ( rule__RoomModel__ImportsAssignment_4 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4695:1: rule__RoomModel__Group__4__Impl : ( ( rule__RoomModel__ImportsAssignment_4 )* ) ;
     public final void rule__RoomModel__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4855:1: ( ( ( rule__RoomModel__ImportsAssignment_4 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4856:1: ( ( rule__RoomModel__ImportsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4699:1: ( ( ( rule__RoomModel__ImportsAssignment_4 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4700:1: ( ( rule__RoomModel__ImportsAssignment_4 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4856:1: ( ( rule__RoomModel__ImportsAssignment_4 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4857:1: ( rule__RoomModel__ImportsAssignment_4 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4700:1: ( ( rule__RoomModel__ImportsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4701:1: ( rule__RoomModel__ImportsAssignment_4 )*
             {
              before(grammarAccess.getRoomModelAccess().getImportsAssignment_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4858:1: ( rule__RoomModel__ImportsAssignment_4 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4702:1: ( rule__RoomModel__ImportsAssignment_4 )*
             loop55:
             do {
                 int alt55=2;
                 int LA55_0 = input.LA(1);
 
-                if ( (LA55_0==123) ) {
+                if ( (LA55_0==124) ) {
                     alt55=1;
                 }
 
 
                 switch (alt55) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4858:2: rule__RoomModel__ImportsAssignment_4
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4702:2: rule__RoomModel__ImportsAssignment_4
             	    {
-            	    pushFollow(FOLLOW_rule__RoomModel__ImportsAssignment_4_in_rule__RoomModel__Group__4__Impl10570);
+            	    pushFollow(FOLLOW_rule__RoomModel__ImportsAssignment_4_in_rule__RoomModel__Group__4__Impl10262);
             	    rule__RoomModel__ImportsAssignment_4();
 
             	    state._fsp--;
@@ -14911,21 +14675,21 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4868:1: rule__RoomModel__Group__5 : rule__RoomModel__Group__5__Impl rule__RoomModel__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4712:1: rule__RoomModel__Group__5 : rule__RoomModel__Group__5__Impl rule__RoomModel__Group__6 ;
     public final void rule__RoomModel__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4872:1: ( rule__RoomModel__Group__5__Impl rule__RoomModel__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4873:2: rule__RoomModel__Group__5__Impl rule__RoomModel__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4716:1: ( rule__RoomModel__Group__5__Impl rule__RoomModel__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4717:2: rule__RoomModel__Group__5__Impl rule__RoomModel__Group__6
             {
-            pushFollow(FOLLOW_rule__RoomModel__Group__5__Impl_in_rule__RoomModel__Group__510601);
+            pushFollow(FOLLOW_rule__RoomModel__Group__5__Impl_in_rule__RoomModel__Group__510293);
             rule__RoomModel__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RoomModel__Group__6_in_rule__RoomModel__Group__510604);
+            pushFollow(FOLLOW_rule__RoomModel__Group__6_in_rule__RoomModel__Group__510296);
             rule__RoomModel__Group__6();
 
             state._fsp--;
@@ -14949,35 +14713,35 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4880:1: rule__RoomModel__Group__5__Impl : ( ( rule__RoomModel__Alternatives_5 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4724:1: rule__RoomModel__Group__5__Impl : ( ( rule__RoomModel__Alternatives_5 )* ) ;
     public final void rule__RoomModel__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4884:1: ( ( ( rule__RoomModel__Alternatives_5 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4885:1: ( ( rule__RoomModel__Alternatives_5 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4728:1: ( ( ( rule__RoomModel__Alternatives_5 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4729:1: ( ( rule__RoomModel__Alternatives_5 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4885:1: ( ( rule__RoomModel__Alternatives_5 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4886:1: ( rule__RoomModel__Alternatives_5 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4729:1: ( ( rule__RoomModel__Alternatives_5 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4730:1: ( rule__RoomModel__Alternatives_5 )*
             {
              before(grammarAccess.getRoomModelAccess().getAlternatives_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4887:1: ( rule__RoomModel__Alternatives_5 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4731:1: ( rule__RoomModel__Alternatives_5 )*
             loop56:
             do {
                 int alt56=2;
                 int LA56_0 = input.LA(1);
 
-                if ( ((LA56_0>=17 && LA56_0<=18)||(LA56_0>=20 && LA56_0<=23)||(LA56_0>=29 && LA56_0<=31)||LA56_0==34||LA56_0==43||LA56_0==48||LA56_0==52||LA56_0==120||LA56_0==128) ) {
+                if ( ((LA56_0>=16 && LA56_0<=17)||(LA56_0>=19 && LA56_0<=22)||(LA56_0>=30 && LA56_0<=32)||LA56_0==35||LA56_0==44||LA56_0==49||LA56_0==53||LA56_0==121||LA56_0==129) ) {
                     alt56=1;
                 }
 
 
                 switch (alt56) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4887:2: rule__RoomModel__Alternatives_5
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4731:2: rule__RoomModel__Alternatives_5
             	    {
-            	    pushFollow(FOLLOW_rule__RoomModel__Alternatives_5_in_rule__RoomModel__Group__5__Impl10631);
+            	    pushFollow(FOLLOW_rule__RoomModel__Alternatives_5_in_rule__RoomModel__Group__5__Impl10323);
             	    rule__RoomModel__Alternatives_5();
 
             	    state._fsp--;
@@ -15014,16 +14778,16 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4897:1: rule__RoomModel__Group__6 : rule__RoomModel__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4741:1: rule__RoomModel__Group__6 : rule__RoomModel__Group__6__Impl ;
     public final void rule__RoomModel__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4901:1: ( rule__RoomModel__Group__6__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4902:2: rule__RoomModel__Group__6__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4745:1: ( rule__RoomModel__Group__6__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4746:2: rule__RoomModel__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__RoomModel__Group__6__Impl_in_rule__RoomModel__Group__610662);
+            pushFollow(FOLLOW_rule__RoomModel__Group__6__Impl_in_rule__RoomModel__Group__610354);
             rule__RoomModel__Group__6__Impl();
 
             state._fsp--;
@@ -15047,20 +14811,20 @@
 
 
     // $ANTLR start "rule__RoomModel__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4908:1: rule__RoomModel__Group__6__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4752:1: rule__RoomModel__Group__6__Impl : ( '}' ) ;
     public final void rule__RoomModel__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4912:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4913:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4756:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4757:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4913:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4914:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4757:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4758:1: '}'
             {
              before(grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,41,FOLLOW_41_in_rule__RoomModel__Group__6__Impl10690); 
+            match(input,42,FOLLOW_42_in_rule__RoomModel__Group__6__Impl10382); 
              after(grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_6()); 
 
             }
@@ -15084,21 +14848,21 @@
 
 
     // $ANTLR start "rule__VarDecl__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4941:1: rule__VarDecl__Group__0 : rule__VarDecl__Group__0__Impl rule__VarDecl__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4785:1: rule__VarDecl__Group__0 : rule__VarDecl__Group__0__Impl rule__VarDecl__Group__1 ;
     public final void rule__VarDecl__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4945:1: ( rule__VarDecl__Group__0__Impl rule__VarDecl__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4946:2: rule__VarDecl__Group__0__Impl rule__VarDecl__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4789:1: ( rule__VarDecl__Group__0__Impl rule__VarDecl__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4790:2: rule__VarDecl__Group__0__Impl rule__VarDecl__Group__1
             {
-            pushFollow(FOLLOW_rule__VarDecl__Group__0__Impl_in_rule__VarDecl__Group__010735);
+            pushFollow(FOLLOW_rule__VarDecl__Group__0__Impl_in_rule__VarDecl__Group__010427);
             rule__VarDecl__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__VarDecl__Group__1_in_rule__VarDecl__Group__010738);
+            pushFollow(FOLLOW_rule__VarDecl__Group__1_in_rule__VarDecl__Group__010430);
             rule__VarDecl__Group__1();
 
             state._fsp--;
@@ -15122,23 +14886,23 @@
 
 
     // $ANTLR start "rule__VarDecl__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4953:1: rule__VarDecl__Group__0__Impl : ( ( rule__VarDecl__NameAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4797:1: rule__VarDecl__Group__0__Impl : ( ( rule__VarDecl__NameAssignment_0 ) ) ;
     public final void rule__VarDecl__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4957:1: ( ( ( rule__VarDecl__NameAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4958:1: ( ( rule__VarDecl__NameAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4801:1: ( ( ( rule__VarDecl__NameAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4802:1: ( ( rule__VarDecl__NameAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4958:1: ( ( rule__VarDecl__NameAssignment_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4959:1: ( rule__VarDecl__NameAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4802:1: ( ( rule__VarDecl__NameAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4803:1: ( rule__VarDecl__NameAssignment_0 )
             {
              before(grammarAccess.getVarDeclAccess().getNameAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4960:1: ( rule__VarDecl__NameAssignment_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4960:2: rule__VarDecl__NameAssignment_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4804:1: ( rule__VarDecl__NameAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4804:2: rule__VarDecl__NameAssignment_0
             {
-            pushFollow(FOLLOW_rule__VarDecl__NameAssignment_0_in_rule__VarDecl__Group__0__Impl10765);
+            pushFollow(FOLLOW_rule__VarDecl__NameAssignment_0_in_rule__VarDecl__Group__0__Impl10457);
             rule__VarDecl__NameAssignment_0();
 
             state._fsp--;
@@ -15169,21 +14933,21 @@
 
 
     // $ANTLR start "rule__VarDecl__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4970:1: rule__VarDecl__Group__1 : rule__VarDecl__Group__1__Impl rule__VarDecl__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4814:1: rule__VarDecl__Group__1 : rule__VarDecl__Group__1__Impl rule__VarDecl__Group__2 ;
     public final void rule__VarDecl__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4974:1: ( rule__VarDecl__Group__1__Impl rule__VarDecl__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4975:2: rule__VarDecl__Group__1__Impl rule__VarDecl__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4818:1: ( rule__VarDecl__Group__1__Impl rule__VarDecl__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4819:2: rule__VarDecl__Group__1__Impl rule__VarDecl__Group__2
             {
-            pushFollow(FOLLOW_rule__VarDecl__Group__1__Impl_in_rule__VarDecl__Group__110795);
+            pushFollow(FOLLOW_rule__VarDecl__Group__1__Impl_in_rule__VarDecl__Group__110487);
             rule__VarDecl__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__VarDecl__Group__2_in_rule__VarDecl__Group__110798);
+            pushFollow(FOLLOW_rule__VarDecl__Group__2_in_rule__VarDecl__Group__110490);
             rule__VarDecl__Group__2();
 
             state._fsp--;
@@ -15207,20 +14971,20 @@
 
 
     // $ANTLR start "rule__VarDecl__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4982:1: rule__VarDecl__Group__1__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4826:1: rule__VarDecl__Group__1__Impl : ( ':' ) ;
     public final void rule__VarDecl__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4986:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4987:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4830:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4831:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4987:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4988:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4831:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4832:1: ':'
             {
              before(grammarAccess.getVarDeclAccess().getColonKeyword_1()); 
-            match(input,42,FOLLOW_42_in_rule__VarDecl__Group__1__Impl10826); 
+            match(input,43,FOLLOW_43_in_rule__VarDecl__Group__1__Impl10518); 
              after(grammarAccess.getVarDeclAccess().getColonKeyword_1()); 
 
             }
@@ -15244,16 +15008,16 @@
 
 
     // $ANTLR start "rule__VarDecl__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5001:1: rule__VarDecl__Group__2 : rule__VarDecl__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4845:1: rule__VarDecl__Group__2 : rule__VarDecl__Group__2__Impl ;
     public final void rule__VarDecl__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5005:1: ( rule__VarDecl__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5006:2: rule__VarDecl__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4849:1: ( rule__VarDecl__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4850:2: rule__VarDecl__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__VarDecl__Group__2__Impl_in_rule__VarDecl__Group__210857);
+            pushFollow(FOLLOW_rule__VarDecl__Group__2__Impl_in_rule__VarDecl__Group__210549);
             rule__VarDecl__Group__2__Impl();
 
             state._fsp--;
@@ -15277,23 +15041,23 @@
 
 
     // $ANTLR start "rule__VarDecl__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5012:1: rule__VarDecl__Group__2__Impl : ( ( rule__VarDecl__RefTypeAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4856:1: rule__VarDecl__Group__2__Impl : ( ( rule__VarDecl__RefTypeAssignment_2 ) ) ;
     public final void rule__VarDecl__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5016:1: ( ( ( rule__VarDecl__RefTypeAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5017:1: ( ( rule__VarDecl__RefTypeAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4860:1: ( ( ( rule__VarDecl__RefTypeAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4861:1: ( ( rule__VarDecl__RefTypeAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5017:1: ( ( rule__VarDecl__RefTypeAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5018:1: ( rule__VarDecl__RefTypeAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4861:1: ( ( rule__VarDecl__RefTypeAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4862:1: ( rule__VarDecl__RefTypeAssignment_2 )
             {
              before(grammarAccess.getVarDeclAccess().getRefTypeAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5019:1: ( rule__VarDecl__RefTypeAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5019:2: rule__VarDecl__RefTypeAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4863:1: ( rule__VarDecl__RefTypeAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4863:2: rule__VarDecl__RefTypeAssignment_2
             {
-            pushFollow(FOLLOW_rule__VarDecl__RefTypeAssignment_2_in_rule__VarDecl__Group__2__Impl10884);
+            pushFollow(FOLLOW_rule__VarDecl__RefTypeAssignment_2_in_rule__VarDecl__Group__2__Impl10576);
             rule__VarDecl__RefTypeAssignment_2();
 
             state._fsp--;
@@ -15324,21 +15088,21 @@
 
 
     // $ANTLR start "rule__RefableType__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5035:1: rule__RefableType__Group__0 : rule__RefableType__Group__0__Impl rule__RefableType__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4879:1: rule__RefableType__Group__0 : rule__RefableType__Group__0__Impl rule__RefableType__Group__1 ;
     public final void rule__RefableType__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5039:1: ( rule__RefableType__Group__0__Impl rule__RefableType__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5040:2: rule__RefableType__Group__0__Impl rule__RefableType__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4883:1: ( rule__RefableType__Group__0__Impl rule__RefableType__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4884:2: rule__RefableType__Group__0__Impl rule__RefableType__Group__1
             {
-            pushFollow(FOLLOW_rule__RefableType__Group__0__Impl_in_rule__RefableType__Group__010920);
+            pushFollow(FOLLOW_rule__RefableType__Group__0__Impl_in_rule__RefableType__Group__010612);
             rule__RefableType__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefableType__Group__1_in_rule__RefableType__Group__010923);
+            pushFollow(FOLLOW_rule__RefableType__Group__1_in_rule__RefableType__Group__010615);
             rule__RefableType__Group__1();
 
             state._fsp--;
@@ -15362,23 +15126,23 @@
 
 
     // $ANTLR start "rule__RefableType__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5047:1: rule__RefableType__Group__0__Impl : ( ( rule__RefableType__TypeAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4891:1: rule__RefableType__Group__0__Impl : ( ( rule__RefableType__TypeAssignment_0 ) ) ;
     public final void rule__RefableType__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5051:1: ( ( ( rule__RefableType__TypeAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5052:1: ( ( rule__RefableType__TypeAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4895:1: ( ( ( rule__RefableType__TypeAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4896:1: ( ( rule__RefableType__TypeAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5052:1: ( ( rule__RefableType__TypeAssignment_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5053:1: ( rule__RefableType__TypeAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4896:1: ( ( rule__RefableType__TypeAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4897:1: ( rule__RefableType__TypeAssignment_0 )
             {
              before(grammarAccess.getRefableTypeAccess().getTypeAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5054:1: ( rule__RefableType__TypeAssignment_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5054:2: rule__RefableType__TypeAssignment_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4898:1: ( rule__RefableType__TypeAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4898:2: rule__RefableType__TypeAssignment_0
             {
-            pushFollow(FOLLOW_rule__RefableType__TypeAssignment_0_in_rule__RefableType__Group__0__Impl10950);
+            pushFollow(FOLLOW_rule__RefableType__TypeAssignment_0_in_rule__RefableType__Group__0__Impl10642);
             rule__RefableType__TypeAssignment_0();
 
             state._fsp--;
@@ -15409,16 +15173,16 @@
 
 
     // $ANTLR start "rule__RefableType__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5064:1: rule__RefableType__Group__1 : rule__RefableType__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4908:1: rule__RefableType__Group__1 : rule__RefableType__Group__1__Impl ;
     public final void rule__RefableType__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5068:1: ( rule__RefableType__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5069:2: rule__RefableType__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4912:1: ( rule__RefableType__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4913:2: rule__RefableType__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefableType__Group__1__Impl_in_rule__RefableType__Group__110980);
+            pushFollow(FOLLOW_rule__RefableType__Group__1__Impl_in_rule__RefableType__Group__110672);
             rule__RefableType__Group__1__Impl();
 
             state._fsp--;
@@ -15442,31 +15206,31 @@
 
 
     // $ANTLR start "rule__RefableType__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5075:1: rule__RefableType__Group__1__Impl : ( ( rule__RefableType__RefAssignment_1 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4919:1: rule__RefableType__Group__1__Impl : ( ( rule__RefableType__RefAssignment_1 )? ) ;
     public final void rule__RefableType__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5079:1: ( ( ( rule__RefableType__RefAssignment_1 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5080:1: ( ( rule__RefableType__RefAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4923:1: ( ( ( rule__RefableType__RefAssignment_1 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4924:1: ( ( rule__RefableType__RefAssignment_1 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5080:1: ( ( rule__RefableType__RefAssignment_1 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5081:1: ( rule__RefableType__RefAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4924:1: ( ( rule__RefableType__RefAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4925:1: ( rule__RefableType__RefAssignment_1 )?
             {
              before(grammarAccess.getRefableTypeAccess().getRefAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5082:1: ( rule__RefableType__RefAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4926:1: ( rule__RefableType__RefAssignment_1 )?
             int alt57=2;
             int LA57_0 = input.LA(1);
 
-            if ( (LA57_0==89) ) {
+            if ( (LA57_0==90) ) {
                 alt57=1;
             }
             switch (alt57) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5082:2: rule__RefableType__RefAssignment_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4926:2: rule__RefableType__RefAssignment_1
                     {
-                    pushFollow(FOLLOW_rule__RefableType__RefAssignment_1_in_rule__RefableType__Group__1__Impl11007);
+                    pushFollow(FOLLOW_rule__RefableType__RefAssignment_1_in_rule__RefableType__Group__1__Impl10699);
                     rule__RefableType__RefAssignment_1();
 
                     state._fsp--;
@@ -15500,21 +15264,21 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5096:1: rule__PrimitiveType__Group__0 : rule__PrimitiveType__Group__0__Impl rule__PrimitiveType__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4940:1: rule__PrimitiveType__Group__0 : rule__PrimitiveType__Group__0__Impl rule__PrimitiveType__Group__1 ;
     public final void rule__PrimitiveType__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5100:1: ( rule__PrimitiveType__Group__0__Impl rule__PrimitiveType__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5101:2: rule__PrimitiveType__Group__0__Impl rule__PrimitiveType__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4944:1: ( rule__PrimitiveType__Group__0__Impl rule__PrimitiveType__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4945:2: rule__PrimitiveType__Group__0__Impl rule__PrimitiveType__Group__1
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__0__Impl_in_rule__PrimitiveType__Group__011042);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__0__Impl_in_rule__PrimitiveType__Group__010734);
             rule__PrimitiveType__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__1_in_rule__PrimitiveType__Group__011045);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__1_in_rule__PrimitiveType__Group__010737);
             rule__PrimitiveType__Group__1();
 
             state._fsp--;
@@ -15538,20 +15302,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5108:1: rule__PrimitiveType__Group__0__Impl : ( 'PrimitiveType' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4952:1: rule__PrimitiveType__Group__0__Impl : ( 'PrimitiveType' ) ;
     public final void rule__PrimitiveType__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5112:1: ( ( 'PrimitiveType' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5113:1: ( 'PrimitiveType' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4956:1: ( ( 'PrimitiveType' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4957:1: ( 'PrimitiveType' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5113:1: ( 'PrimitiveType' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5114:1: 'PrimitiveType'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4957:1: ( 'PrimitiveType' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4958:1: 'PrimitiveType'
             {
              before(grammarAccess.getPrimitiveTypeAccess().getPrimitiveTypeKeyword_0()); 
-            match(input,43,FOLLOW_43_in_rule__PrimitiveType__Group__0__Impl11073); 
+            match(input,44,FOLLOW_44_in_rule__PrimitiveType__Group__0__Impl10765); 
              after(grammarAccess.getPrimitiveTypeAccess().getPrimitiveTypeKeyword_0()); 
 
             }
@@ -15575,21 +15339,21 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5127:1: rule__PrimitiveType__Group__1 : rule__PrimitiveType__Group__1__Impl rule__PrimitiveType__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4971:1: rule__PrimitiveType__Group__1 : rule__PrimitiveType__Group__1__Impl rule__PrimitiveType__Group__2 ;
     public final void rule__PrimitiveType__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5131:1: ( rule__PrimitiveType__Group__1__Impl rule__PrimitiveType__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5132:2: rule__PrimitiveType__Group__1__Impl rule__PrimitiveType__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4975:1: ( rule__PrimitiveType__Group__1__Impl rule__PrimitiveType__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4976:2: rule__PrimitiveType__Group__1__Impl rule__PrimitiveType__Group__2
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__1__Impl_in_rule__PrimitiveType__Group__111104);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__1__Impl_in_rule__PrimitiveType__Group__110796);
             rule__PrimitiveType__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__2_in_rule__PrimitiveType__Group__111107);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__2_in_rule__PrimitiveType__Group__110799);
             rule__PrimitiveType__Group__2();
 
             state._fsp--;
@@ -15613,23 +15377,23 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5139:1: rule__PrimitiveType__Group__1__Impl : ( ( rule__PrimitiveType__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4983:1: rule__PrimitiveType__Group__1__Impl : ( ( rule__PrimitiveType__NameAssignment_1 ) ) ;
     public final void rule__PrimitiveType__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5143:1: ( ( ( rule__PrimitiveType__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5144:1: ( ( rule__PrimitiveType__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4987:1: ( ( ( rule__PrimitiveType__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4988:1: ( ( rule__PrimitiveType__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5144:1: ( ( rule__PrimitiveType__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5145:1: ( rule__PrimitiveType__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4988:1: ( ( rule__PrimitiveType__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4989:1: ( rule__PrimitiveType__NameAssignment_1 )
             {
              before(grammarAccess.getPrimitiveTypeAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5146:1: ( rule__PrimitiveType__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5146:2: rule__PrimitiveType__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4990:1: ( rule__PrimitiveType__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:4990:2: rule__PrimitiveType__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__NameAssignment_1_in_rule__PrimitiveType__Group__1__Impl11134);
+            pushFollow(FOLLOW_rule__PrimitiveType__NameAssignment_1_in_rule__PrimitiveType__Group__1__Impl10826);
             rule__PrimitiveType__NameAssignment_1();
 
             state._fsp--;
@@ -15660,21 +15424,21 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5156:1: rule__PrimitiveType__Group__2 : rule__PrimitiveType__Group__2__Impl rule__PrimitiveType__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5000:1: rule__PrimitiveType__Group__2 : rule__PrimitiveType__Group__2__Impl rule__PrimitiveType__Group__3 ;
     public final void rule__PrimitiveType__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5160:1: ( rule__PrimitiveType__Group__2__Impl rule__PrimitiveType__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5161:2: rule__PrimitiveType__Group__2__Impl rule__PrimitiveType__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5004:1: ( rule__PrimitiveType__Group__2__Impl rule__PrimitiveType__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5005:2: rule__PrimitiveType__Group__2__Impl rule__PrimitiveType__Group__3
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__2__Impl_in_rule__PrimitiveType__Group__211164);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__2__Impl_in_rule__PrimitiveType__Group__210856);
             rule__PrimitiveType__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__3_in_rule__PrimitiveType__Group__211167);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__3_in_rule__PrimitiveType__Group__210859);
             rule__PrimitiveType__Group__3();
 
             state._fsp--;
@@ -15698,20 +15462,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5168:1: rule__PrimitiveType__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5012:1: rule__PrimitiveType__Group__2__Impl : ( ':' ) ;
     public final void rule__PrimitiveType__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5172:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5173:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5016:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5017:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5173:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5174:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5017:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5018:1: ':'
             {
              before(grammarAccess.getPrimitiveTypeAccess().getColonKeyword_2()); 
-            match(input,42,FOLLOW_42_in_rule__PrimitiveType__Group__2__Impl11195); 
+            match(input,43,FOLLOW_43_in_rule__PrimitiveType__Group__2__Impl10887); 
              after(grammarAccess.getPrimitiveTypeAccess().getColonKeyword_2()); 
 
             }
@@ -15735,21 +15499,21 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5187:1: rule__PrimitiveType__Group__3 : rule__PrimitiveType__Group__3__Impl rule__PrimitiveType__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5031:1: rule__PrimitiveType__Group__3 : rule__PrimitiveType__Group__3__Impl rule__PrimitiveType__Group__4 ;
     public final void rule__PrimitiveType__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5191:1: ( rule__PrimitiveType__Group__3__Impl rule__PrimitiveType__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5192:2: rule__PrimitiveType__Group__3__Impl rule__PrimitiveType__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5035:1: ( rule__PrimitiveType__Group__3__Impl rule__PrimitiveType__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5036:2: rule__PrimitiveType__Group__3__Impl rule__PrimitiveType__Group__4
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__3__Impl_in_rule__PrimitiveType__Group__311226);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__3__Impl_in_rule__PrimitiveType__Group__310918);
             rule__PrimitiveType__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__4_in_rule__PrimitiveType__Group__311229);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__4_in_rule__PrimitiveType__Group__310921);
             rule__PrimitiveType__Group__4();
 
             state._fsp--;
@@ -15773,23 +15537,23 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5199:1: rule__PrimitiveType__Group__3__Impl : ( ( rule__PrimitiveType__TypeAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5043:1: rule__PrimitiveType__Group__3__Impl : ( ( rule__PrimitiveType__TypeAssignment_3 ) ) ;
     public final void rule__PrimitiveType__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5203:1: ( ( ( rule__PrimitiveType__TypeAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5204:1: ( ( rule__PrimitiveType__TypeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5047:1: ( ( ( rule__PrimitiveType__TypeAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5048:1: ( ( rule__PrimitiveType__TypeAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5204:1: ( ( rule__PrimitiveType__TypeAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5205:1: ( rule__PrimitiveType__TypeAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5048:1: ( ( rule__PrimitiveType__TypeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5049:1: ( rule__PrimitiveType__TypeAssignment_3 )
             {
              before(grammarAccess.getPrimitiveTypeAccess().getTypeAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5206:1: ( rule__PrimitiveType__TypeAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5206:2: rule__PrimitiveType__TypeAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5050:1: ( rule__PrimitiveType__TypeAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5050:2: rule__PrimitiveType__TypeAssignment_3
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__TypeAssignment_3_in_rule__PrimitiveType__Group__3__Impl11256);
+            pushFollow(FOLLOW_rule__PrimitiveType__TypeAssignment_3_in_rule__PrimitiveType__Group__3__Impl10948);
             rule__PrimitiveType__TypeAssignment_3();
 
             state._fsp--;
@@ -15820,21 +15584,21 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5216:1: rule__PrimitiveType__Group__4 : rule__PrimitiveType__Group__4__Impl rule__PrimitiveType__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5060:1: rule__PrimitiveType__Group__4 : rule__PrimitiveType__Group__4__Impl rule__PrimitiveType__Group__5 ;
     public final void rule__PrimitiveType__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5220:1: ( rule__PrimitiveType__Group__4__Impl rule__PrimitiveType__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5221:2: rule__PrimitiveType__Group__4__Impl rule__PrimitiveType__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5064:1: ( rule__PrimitiveType__Group__4__Impl rule__PrimitiveType__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5065:2: rule__PrimitiveType__Group__4__Impl rule__PrimitiveType__Group__5
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__4__Impl_in_rule__PrimitiveType__Group__411286);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__4__Impl_in_rule__PrimitiveType__Group__410978);
             rule__PrimitiveType__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__5_in_rule__PrimitiveType__Group__411289);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__5_in_rule__PrimitiveType__Group__410981);
             rule__PrimitiveType__Group__5();
 
             state._fsp--;
@@ -15858,20 +15622,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5228:1: rule__PrimitiveType__Group__4__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5072:1: rule__PrimitiveType__Group__4__Impl : ( '->' ) ;
     public final void rule__PrimitiveType__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5232:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5233:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5076:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5077:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5233:1: ( '->' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5234:1: '->'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5077:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5078:1: '->'
             {
              before(grammarAccess.getPrimitiveTypeAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
-            match(input,44,FOLLOW_44_in_rule__PrimitiveType__Group__4__Impl11317); 
+            match(input,45,FOLLOW_45_in_rule__PrimitiveType__Group__4__Impl11009); 
              after(grammarAccess.getPrimitiveTypeAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
 
             }
@@ -15895,21 +15659,21 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5247:1: rule__PrimitiveType__Group__5 : rule__PrimitiveType__Group__5__Impl rule__PrimitiveType__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5091:1: rule__PrimitiveType__Group__5 : rule__PrimitiveType__Group__5__Impl rule__PrimitiveType__Group__6 ;
     public final void rule__PrimitiveType__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5251:1: ( rule__PrimitiveType__Group__5__Impl rule__PrimitiveType__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5252:2: rule__PrimitiveType__Group__5__Impl rule__PrimitiveType__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5095:1: ( rule__PrimitiveType__Group__5__Impl rule__PrimitiveType__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5096:2: rule__PrimitiveType__Group__5__Impl rule__PrimitiveType__Group__6
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__5__Impl_in_rule__PrimitiveType__Group__511348);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__5__Impl_in_rule__PrimitiveType__Group__511040);
             rule__PrimitiveType__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__6_in_rule__PrimitiveType__Group__511351);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__6_in_rule__PrimitiveType__Group__511043);
             rule__PrimitiveType__Group__6();
 
             state._fsp--;
@@ -15933,23 +15697,23 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5259:1: rule__PrimitiveType__Group__5__Impl : ( ( rule__PrimitiveType__TargetNameAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5103:1: rule__PrimitiveType__Group__5__Impl : ( ( rule__PrimitiveType__TargetNameAssignment_5 ) ) ;
     public final void rule__PrimitiveType__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5263:1: ( ( ( rule__PrimitiveType__TargetNameAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5264:1: ( ( rule__PrimitiveType__TargetNameAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5107:1: ( ( ( rule__PrimitiveType__TargetNameAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5108:1: ( ( rule__PrimitiveType__TargetNameAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5264:1: ( ( rule__PrimitiveType__TargetNameAssignment_5 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5265:1: ( rule__PrimitiveType__TargetNameAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5108:1: ( ( rule__PrimitiveType__TargetNameAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5109:1: ( rule__PrimitiveType__TargetNameAssignment_5 )
             {
              before(grammarAccess.getPrimitiveTypeAccess().getTargetNameAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5266:1: ( rule__PrimitiveType__TargetNameAssignment_5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5266:2: rule__PrimitiveType__TargetNameAssignment_5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5110:1: ( rule__PrimitiveType__TargetNameAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5110:2: rule__PrimitiveType__TargetNameAssignment_5
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__TargetNameAssignment_5_in_rule__PrimitiveType__Group__5__Impl11378);
+            pushFollow(FOLLOW_rule__PrimitiveType__TargetNameAssignment_5_in_rule__PrimitiveType__Group__5__Impl11070);
             rule__PrimitiveType__TargetNameAssignment_5();
 
             state._fsp--;
@@ -15980,21 +15744,21 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5276:1: rule__PrimitiveType__Group__6 : rule__PrimitiveType__Group__6__Impl rule__PrimitiveType__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5120:1: rule__PrimitiveType__Group__6 : rule__PrimitiveType__Group__6__Impl rule__PrimitiveType__Group__7 ;
     public final void rule__PrimitiveType__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5280:1: ( rule__PrimitiveType__Group__6__Impl rule__PrimitiveType__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5281:2: rule__PrimitiveType__Group__6__Impl rule__PrimitiveType__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5124:1: ( rule__PrimitiveType__Group__6__Impl rule__PrimitiveType__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5125:2: rule__PrimitiveType__Group__6__Impl rule__PrimitiveType__Group__7
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__6__Impl_in_rule__PrimitiveType__Group__611408);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__6__Impl_in_rule__PrimitiveType__Group__611100);
             rule__PrimitiveType__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__7_in_rule__PrimitiveType__Group__611411);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__7_in_rule__PrimitiveType__Group__611103);
             rule__PrimitiveType__Group__7();
 
             state._fsp--;
@@ -16018,31 +15782,31 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5288:1: rule__PrimitiveType__Group__6__Impl : ( ( rule__PrimitiveType__Group_6__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5132:1: rule__PrimitiveType__Group__6__Impl : ( ( rule__PrimitiveType__Group_6__0 )? ) ;
     public final void rule__PrimitiveType__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5292:1: ( ( ( rule__PrimitiveType__Group_6__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5293:1: ( ( rule__PrimitiveType__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5136:1: ( ( ( rule__PrimitiveType__Group_6__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5137:1: ( ( rule__PrimitiveType__Group_6__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5293:1: ( ( rule__PrimitiveType__Group_6__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5294:1: ( rule__PrimitiveType__Group_6__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5137:1: ( ( rule__PrimitiveType__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5138:1: ( rule__PrimitiveType__Group_6__0 )?
             {
              before(grammarAccess.getPrimitiveTypeAccess().getGroup_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5295:1: ( rule__PrimitiveType__Group_6__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5139:1: ( rule__PrimitiveType__Group_6__0 )?
             int alt58=2;
             int LA58_0 = input.LA(1);
 
-            if ( (LA58_0==46) ) {
+            if ( (LA58_0==47) ) {
                 alt58=1;
             }
             switch (alt58) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5295:2: rule__PrimitiveType__Group_6__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5139:2: rule__PrimitiveType__Group_6__0
                     {
-                    pushFollow(FOLLOW_rule__PrimitiveType__Group_6__0_in_rule__PrimitiveType__Group__6__Impl11438);
+                    pushFollow(FOLLOW_rule__PrimitiveType__Group_6__0_in_rule__PrimitiveType__Group__6__Impl11130);
                     rule__PrimitiveType__Group_6__0();
 
                     state._fsp--;
@@ -16076,21 +15840,21 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5305:1: rule__PrimitiveType__Group__7 : rule__PrimitiveType__Group__7__Impl rule__PrimitiveType__Group__8 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5149:1: rule__PrimitiveType__Group__7 : rule__PrimitiveType__Group__7__Impl rule__PrimitiveType__Group__8 ;
     public final void rule__PrimitiveType__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5309:1: ( rule__PrimitiveType__Group__7__Impl rule__PrimitiveType__Group__8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5310:2: rule__PrimitiveType__Group__7__Impl rule__PrimitiveType__Group__8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5153:1: ( rule__PrimitiveType__Group__7__Impl rule__PrimitiveType__Group__8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5154:2: rule__PrimitiveType__Group__7__Impl rule__PrimitiveType__Group__8
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__7__Impl_in_rule__PrimitiveType__Group__711469);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__7__Impl_in_rule__PrimitiveType__Group__711161);
             rule__PrimitiveType__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__8_in_rule__PrimitiveType__Group__711472);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__8_in_rule__PrimitiveType__Group__711164);
             rule__PrimitiveType__Group__8();
 
             state._fsp--;
@@ -16114,20 +15878,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5317:1: rule__PrimitiveType__Group__7__Impl : ( 'default' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5161:1: rule__PrimitiveType__Group__7__Impl : ( 'default' ) ;
     public final void rule__PrimitiveType__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5321:1: ( ( 'default' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5322:1: ( 'default' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5165:1: ( ( 'default' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5166:1: ( 'default' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5322:1: ( 'default' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5323:1: 'default'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5166:1: ( 'default' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5167:1: 'default'
             {
              before(grammarAccess.getPrimitiveTypeAccess().getDefaultKeyword_7()); 
-            match(input,45,FOLLOW_45_in_rule__PrimitiveType__Group__7__Impl11500); 
+            match(input,46,FOLLOW_46_in_rule__PrimitiveType__Group__7__Impl11192); 
              after(grammarAccess.getPrimitiveTypeAccess().getDefaultKeyword_7()); 
 
             }
@@ -16151,21 +15915,21 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5336:1: rule__PrimitiveType__Group__8 : rule__PrimitiveType__Group__8__Impl rule__PrimitiveType__Group__9 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5180:1: rule__PrimitiveType__Group__8 : rule__PrimitiveType__Group__8__Impl rule__PrimitiveType__Group__9 ;
     public final void rule__PrimitiveType__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5340:1: ( rule__PrimitiveType__Group__8__Impl rule__PrimitiveType__Group__9 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5341:2: rule__PrimitiveType__Group__8__Impl rule__PrimitiveType__Group__9
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5184:1: ( rule__PrimitiveType__Group__8__Impl rule__PrimitiveType__Group__9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5185:2: rule__PrimitiveType__Group__8__Impl rule__PrimitiveType__Group__9
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__8__Impl_in_rule__PrimitiveType__Group__811531);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__8__Impl_in_rule__PrimitiveType__Group__811223);
             rule__PrimitiveType__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__9_in_rule__PrimitiveType__Group__811534);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__9_in_rule__PrimitiveType__Group__811226);
             rule__PrimitiveType__Group__9();
 
             state._fsp--;
@@ -16189,23 +15953,23 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__8__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5348:1: rule__PrimitiveType__Group__8__Impl : ( ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5192:1: rule__PrimitiveType__Group__8__Impl : ( ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 ) ) ;
     public final void rule__PrimitiveType__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5352:1: ( ( ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5353:1: ( ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5196:1: ( ( ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5197:1: ( ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5353:1: ( ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5354:1: ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5197:1: ( ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5198:1: ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 )
             {
              before(grammarAccess.getPrimitiveTypeAccess().getDefaultValueLiteralAssignment_8()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5355:1: ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5355:2: rule__PrimitiveType__DefaultValueLiteralAssignment_8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5199:1: ( rule__PrimitiveType__DefaultValueLiteralAssignment_8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5199:2: rule__PrimitiveType__DefaultValueLiteralAssignment_8
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__DefaultValueLiteralAssignment_8_in_rule__PrimitiveType__Group__8__Impl11561);
+            pushFollow(FOLLOW_rule__PrimitiveType__DefaultValueLiteralAssignment_8_in_rule__PrimitiveType__Group__8__Impl11253);
             rule__PrimitiveType__DefaultValueLiteralAssignment_8();
 
             state._fsp--;
@@ -16236,16 +16000,16 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5365:1: rule__PrimitiveType__Group__9 : rule__PrimitiveType__Group__9__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5209:1: rule__PrimitiveType__Group__9 : rule__PrimitiveType__Group__9__Impl ;
     public final void rule__PrimitiveType__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5369:1: ( rule__PrimitiveType__Group__9__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5370:2: rule__PrimitiveType__Group__9__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5213:1: ( rule__PrimitiveType__Group__9__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5214:2: rule__PrimitiveType__Group__9__Impl
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group__9__Impl_in_rule__PrimitiveType__Group__911591);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group__9__Impl_in_rule__PrimitiveType__Group__911283);
             rule__PrimitiveType__Group__9__Impl();
 
             state._fsp--;
@@ -16269,31 +16033,31 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group__9__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5376:1: rule__PrimitiveType__Group__9__Impl : ( ( rule__PrimitiveType__DocuAssignment_9 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5220:1: rule__PrimitiveType__Group__9__Impl : ( ( rule__PrimitiveType__DocuAssignment_9 )? ) ;
     public final void rule__PrimitiveType__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5380:1: ( ( ( rule__PrimitiveType__DocuAssignment_9 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5381:1: ( ( rule__PrimitiveType__DocuAssignment_9 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5224:1: ( ( ( rule__PrimitiveType__DocuAssignment_9 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5225:1: ( ( rule__PrimitiveType__DocuAssignment_9 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5381:1: ( ( rule__PrimitiveType__DocuAssignment_9 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5382:1: ( rule__PrimitiveType__DocuAssignment_9 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5225:1: ( ( rule__PrimitiveType__DocuAssignment_9 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5226:1: ( rule__PrimitiveType__DocuAssignment_9 )?
             {
              before(grammarAccess.getPrimitiveTypeAccess().getDocuAssignment_9()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5383:1: ( rule__PrimitiveType__DocuAssignment_9 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5227:1: ( rule__PrimitiveType__DocuAssignment_9 )?
             int alt59=2;
             int LA59_0 = input.LA(1);
 
-            if ( (LA59_0==58) ) {
+            if ( (LA59_0==59) ) {
                 alt59=1;
             }
             switch (alt59) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5383:2: rule__PrimitiveType__DocuAssignment_9
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5227:2: rule__PrimitiveType__DocuAssignment_9
                     {
-                    pushFollow(FOLLOW_rule__PrimitiveType__DocuAssignment_9_in_rule__PrimitiveType__Group__9__Impl11618);
+                    pushFollow(FOLLOW_rule__PrimitiveType__DocuAssignment_9_in_rule__PrimitiveType__Group__9__Impl11310);
                     rule__PrimitiveType__DocuAssignment_9();
 
                     state._fsp--;
@@ -16327,21 +16091,21 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group_6__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5413:1: rule__PrimitiveType__Group_6__0 : rule__PrimitiveType__Group_6__0__Impl rule__PrimitiveType__Group_6__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5257:1: rule__PrimitiveType__Group_6__0 : rule__PrimitiveType__Group_6__0__Impl rule__PrimitiveType__Group_6__1 ;
     public final void rule__PrimitiveType__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5417:1: ( rule__PrimitiveType__Group_6__0__Impl rule__PrimitiveType__Group_6__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5418:2: rule__PrimitiveType__Group_6__0__Impl rule__PrimitiveType__Group_6__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5261:1: ( rule__PrimitiveType__Group_6__0__Impl rule__PrimitiveType__Group_6__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5262:2: rule__PrimitiveType__Group_6__0__Impl rule__PrimitiveType__Group_6__1
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group_6__0__Impl_in_rule__PrimitiveType__Group_6__011669);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group_6__0__Impl_in_rule__PrimitiveType__Group_6__011361);
             rule__PrimitiveType__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PrimitiveType__Group_6__1_in_rule__PrimitiveType__Group_6__011672);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group_6__1_in_rule__PrimitiveType__Group_6__011364);
             rule__PrimitiveType__Group_6__1();
 
             state._fsp--;
@@ -16365,20 +16129,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5425:1: rule__PrimitiveType__Group_6__0__Impl : ( '(' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5269:1: rule__PrimitiveType__Group_6__0__Impl : ( '(' ) ;
     public final void rule__PrimitiveType__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5429:1: ( ( '(' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5430:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5273:1: ( ( '(' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5274:1: ( '(' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5430:1: ( '(' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5431:1: '('
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5274:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5275:1: '('
             {
              before(grammarAccess.getPrimitiveTypeAccess().getLeftParenthesisKeyword_6_0()); 
-            match(input,46,FOLLOW_46_in_rule__PrimitiveType__Group_6__0__Impl11700); 
+            match(input,47,FOLLOW_47_in_rule__PrimitiveType__Group_6__0__Impl11392); 
              after(grammarAccess.getPrimitiveTypeAccess().getLeftParenthesisKeyword_6_0()); 
 
             }
@@ -16402,21 +16166,21 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group_6__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5444:1: rule__PrimitiveType__Group_6__1 : rule__PrimitiveType__Group_6__1__Impl rule__PrimitiveType__Group_6__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5288:1: rule__PrimitiveType__Group_6__1 : rule__PrimitiveType__Group_6__1__Impl rule__PrimitiveType__Group_6__2 ;
     public final void rule__PrimitiveType__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5448:1: ( rule__PrimitiveType__Group_6__1__Impl rule__PrimitiveType__Group_6__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5449:2: rule__PrimitiveType__Group_6__1__Impl rule__PrimitiveType__Group_6__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5292:1: ( rule__PrimitiveType__Group_6__1__Impl rule__PrimitiveType__Group_6__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5293:2: rule__PrimitiveType__Group_6__1__Impl rule__PrimitiveType__Group_6__2
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group_6__1__Impl_in_rule__PrimitiveType__Group_6__111731);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group_6__1__Impl_in_rule__PrimitiveType__Group_6__111423);
             rule__PrimitiveType__Group_6__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PrimitiveType__Group_6__2_in_rule__PrimitiveType__Group_6__111734);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group_6__2_in_rule__PrimitiveType__Group_6__111426);
             rule__PrimitiveType__Group_6__2();
 
             state._fsp--;
@@ -16440,23 +16204,23 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5456:1: rule__PrimitiveType__Group_6__1__Impl : ( ( rule__PrimitiveType__CastNameAssignment_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5300:1: rule__PrimitiveType__Group_6__1__Impl : ( ( rule__PrimitiveType__CastNameAssignment_6_1 ) ) ;
     public final void rule__PrimitiveType__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5460:1: ( ( ( rule__PrimitiveType__CastNameAssignment_6_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5461:1: ( ( rule__PrimitiveType__CastNameAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5304:1: ( ( ( rule__PrimitiveType__CastNameAssignment_6_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5305:1: ( ( rule__PrimitiveType__CastNameAssignment_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5461:1: ( ( rule__PrimitiveType__CastNameAssignment_6_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5462:1: ( rule__PrimitiveType__CastNameAssignment_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5305:1: ( ( rule__PrimitiveType__CastNameAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5306:1: ( rule__PrimitiveType__CastNameAssignment_6_1 )
             {
              before(grammarAccess.getPrimitiveTypeAccess().getCastNameAssignment_6_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5463:1: ( rule__PrimitiveType__CastNameAssignment_6_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5463:2: rule__PrimitiveType__CastNameAssignment_6_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5307:1: ( rule__PrimitiveType__CastNameAssignment_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5307:2: rule__PrimitiveType__CastNameAssignment_6_1
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__CastNameAssignment_6_1_in_rule__PrimitiveType__Group_6__1__Impl11761);
+            pushFollow(FOLLOW_rule__PrimitiveType__CastNameAssignment_6_1_in_rule__PrimitiveType__Group_6__1__Impl11453);
             rule__PrimitiveType__CastNameAssignment_6_1();
 
             state._fsp--;
@@ -16487,16 +16251,16 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group_6__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5473:1: rule__PrimitiveType__Group_6__2 : rule__PrimitiveType__Group_6__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5317:1: rule__PrimitiveType__Group_6__2 : rule__PrimitiveType__Group_6__2__Impl ;
     public final void rule__PrimitiveType__Group_6__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5477:1: ( rule__PrimitiveType__Group_6__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5478:2: rule__PrimitiveType__Group_6__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5321:1: ( rule__PrimitiveType__Group_6__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5322:2: rule__PrimitiveType__Group_6__2__Impl
             {
-            pushFollow(FOLLOW_rule__PrimitiveType__Group_6__2__Impl_in_rule__PrimitiveType__Group_6__211791);
+            pushFollow(FOLLOW_rule__PrimitiveType__Group_6__2__Impl_in_rule__PrimitiveType__Group_6__211483);
             rule__PrimitiveType__Group_6__2__Impl();
 
             state._fsp--;
@@ -16520,20 +16284,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__Group_6__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5484:1: rule__PrimitiveType__Group_6__2__Impl : ( ')' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5328:1: rule__PrimitiveType__Group_6__2__Impl : ( ')' ) ;
     public final void rule__PrimitiveType__Group_6__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5488:1: ( ( ')' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5489:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5332:1: ( ( ')' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5333:1: ( ')' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5489:1: ( ')' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5490:1: ')'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5333:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5334:1: ')'
             {
              before(grammarAccess.getPrimitiveTypeAccess().getRightParenthesisKeyword_6_2()); 
-            match(input,47,FOLLOW_47_in_rule__PrimitiveType__Group_6__2__Impl11819); 
+            match(input,48,FOLLOW_48_in_rule__PrimitiveType__Group_6__2__Impl11511); 
              after(grammarAccess.getPrimitiveTypeAccess().getRightParenthesisKeyword_6_2()); 
 
             }
@@ -16557,21 +16321,21 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5509:1: rule__EnumerationType__Group__0 : rule__EnumerationType__Group__0__Impl rule__EnumerationType__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5353:1: rule__EnumerationType__Group__0 : rule__EnumerationType__Group__0__Impl rule__EnumerationType__Group__1 ;
     public final void rule__EnumerationType__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5513:1: ( rule__EnumerationType__Group__0__Impl rule__EnumerationType__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5514:2: rule__EnumerationType__Group__0__Impl rule__EnumerationType__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5357:1: ( rule__EnumerationType__Group__0__Impl rule__EnumerationType__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5358:2: rule__EnumerationType__Group__0__Impl rule__EnumerationType__Group__1
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group__0__Impl_in_rule__EnumerationType__Group__011856);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__0__Impl_in_rule__EnumerationType__Group__011548);
             rule__EnumerationType__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumerationType__Group__1_in_rule__EnumerationType__Group__011859);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__1_in_rule__EnumerationType__Group__011551);
             rule__EnumerationType__Group__1();
 
             state._fsp--;
@@ -16595,20 +16359,20 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5521:1: rule__EnumerationType__Group__0__Impl : ( 'Enumeration' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5365:1: rule__EnumerationType__Group__0__Impl : ( 'Enumeration' ) ;
     public final void rule__EnumerationType__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5525:1: ( ( 'Enumeration' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5526:1: ( 'Enumeration' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5369:1: ( ( 'Enumeration' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5370:1: ( 'Enumeration' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5526:1: ( 'Enumeration' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5527:1: 'Enumeration'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5370:1: ( 'Enumeration' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5371:1: 'Enumeration'
             {
              before(grammarAccess.getEnumerationTypeAccess().getEnumerationKeyword_0()); 
-            match(input,48,FOLLOW_48_in_rule__EnumerationType__Group__0__Impl11887); 
+            match(input,49,FOLLOW_49_in_rule__EnumerationType__Group__0__Impl11579); 
              after(grammarAccess.getEnumerationTypeAccess().getEnumerationKeyword_0()); 
 
             }
@@ -16632,21 +16396,21 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5540:1: rule__EnumerationType__Group__1 : rule__EnumerationType__Group__1__Impl rule__EnumerationType__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5384:1: rule__EnumerationType__Group__1 : rule__EnumerationType__Group__1__Impl rule__EnumerationType__Group__2 ;
     public final void rule__EnumerationType__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5544:1: ( rule__EnumerationType__Group__1__Impl rule__EnumerationType__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5545:2: rule__EnumerationType__Group__1__Impl rule__EnumerationType__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5388:1: ( rule__EnumerationType__Group__1__Impl rule__EnumerationType__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5389:2: rule__EnumerationType__Group__1__Impl rule__EnumerationType__Group__2
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group__1__Impl_in_rule__EnumerationType__Group__111918);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__1__Impl_in_rule__EnumerationType__Group__111610);
             rule__EnumerationType__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumerationType__Group__2_in_rule__EnumerationType__Group__111921);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__2_in_rule__EnumerationType__Group__111613);
             rule__EnumerationType__Group__2();
 
             state._fsp--;
@@ -16670,23 +16434,23 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5552:1: rule__EnumerationType__Group__1__Impl : ( ( rule__EnumerationType__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5396:1: rule__EnumerationType__Group__1__Impl : ( ( rule__EnumerationType__NameAssignment_1 ) ) ;
     public final void rule__EnumerationType__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5556:1: ( ( ( rule__EnumerationType__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5557:1: ( ( rule__EnumerationType__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5400:1: ( ( ( rule__EnumerationType__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5401:1: ( ( rule__EnumerationType__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5557:1: ( ( rule__EnumerationType__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5558:1: ( rule__EnumerationType__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5401:1: ( ( rule__EnumerationType__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5402:1: ( rule__EnumerationType__NameAssignment_1 )
             {
              before(grammarAccess.getEnumerationTypeAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5559:1: ( rule__EnumerationType__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5559:2: rule__EnumerationType__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5403:1: ( rule__EnumerationType__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5403:2: rule__EnumerationType__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__EnumerationType__NameAssignment_1_in_rule__EnumerationType__Group__1__Impl11948);
+            pushFollow(FOLLOW_rule__EnumerationType__NameAssignment_1_in_rule__EnumerationType__Group__1__Impl11640);
             rule__EnumerationType__NameAssignment_1();
 
             state._fsp--;
@@ -16717,21 +16481,21 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5569:1: rule__EnumerationType__Group__2 : rule__EnumerationType__Group__2__Impl rule__EnumerationType__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5413:1: rule__EnumerationType__Group__2 : rule__EnumerationType__Group__2__Impl rule__EnumerationType__Group__3 ;
     public final void rule__EnumerationType__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5573:1: ( rule__EnumerationType__Group__2__Impl rule__EnumerationType__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5574:2: rule__EnumerationType__Group__2__Impl rule__EnumerationType__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5417:1: ( rule__EnumerationType__Group__2__Impl rule__EnumerationType__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5418:2: rule__EnumerationType__Group__2__Impl rule__EnumerationType__Group__3
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group__2__Impl_in_rule__EnumerationType__Group__211978);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__2__Impl_in_rule__EnumerationType__Group__211670);
             rule__EnumerationType__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumerationType__Group__3_in_rule__EnumerationType__Group__211981);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__3_in_rule__EnumerationType__Group__211673);
             rule__EnumerationType__Group__3();
 
             state._fsp--;
@@ -16755,31 +16519,31 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5581:1: rule__EnumerationType__Group__2__Impl : ( ( rule__EnumerationType__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5425:1: rule__EnumerationType__Group__2__Impl : ( ( rule__EnumerationType__DocuAssignment_2 )? ) ;
     public final void rule__EnumerationType__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5585:1: ( ( ( rule__EnumerationType__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5586:1: ( ( rule__EnumerationType__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5429:1: ( ( ( rule__EnumerationType__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5430:1: ( ( rule__EnumerationType__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5586:1: ( ( rule__EnumerationType__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5587:1: ( rule__EnumerationType__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5430:1: ( ( rule__EnumerationType__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5431:1: ( rule__EnumerationType__DocuAssignment_2 )?
             {
              before(grammarAccess.getEnumerationTypeAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5588:1: ( rule__EnumerationType__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5432:1: ( rule__EnumerationType__DocuAssignment_2 )?
             int alt60=2;
             int LA60_0 = input.LA(1);
 
-            if ( (LA60_0==58) ) {
+            if ( (LA60_0==59) ) {
                 alt60=1;
             }
             switch (alt60) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5588:2: rule__EnumerationType__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5432:2: rule__EnumerationType__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__EnumerationType__DocuAssignment_2_in_rule__EnumerationType__Group__2__Impl12008);
+                    pushFollow(FOLLOW_rule__EnumerationType__DocuAssignment_2_in_rule__EnumerationType__Group__2__Impl11700);
                     rule__EnumerationType__DocuAssignment_2();
 
                     state._fsp--;
@@ -16813,21 +16577,21 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5598:1: rule__EnumerationType__Group__3 : rule__EnumerationType__Group__3__Impl rule__EnumerationType__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5442:1: rule__EnumerationType__Group__3 : rule__EnumerationType__Group__3__Impl rule__EnumerationType__Group__4 ;
     public final void rule__EnumerationType__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5602:1: ( rule__EnumerationType__Group__3__Impl rule__EnumerationType__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5603:2: rule__EnumerationType__Group__3__Impl rule__EnumerationType__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5446:1: ( rule__EnumerationType__Group__3__Impl rule__EnumerationType__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5447:2: rule__EnumerationType__Group__3__Impl rule__EnumerationType__Group__4
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group__3__Impl_in_rule__EnumerationType__Group__312039);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__3__Impl_in_rule__EnumerationType__Group__311731);
             rule__EnumerationType__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumerationType__Group__4_in_rule__EnumerationType__Group__312042);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__4_in_rule__EnumerationType__Group__311734);
             rule__EnumerationType__Group__4();
 
             state._fsp--;
@@ -16851,31 +16615,31 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5610:1: rule__EnumerationType__Group__3__Impl : ( ( rule__EnumerationType__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5454:1: rule__EnumerationType__Group__3__Impl : ( ( rule__EnumerationType__Group_3__0 )? ) ;
     public final void rule__EnumerationType__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5614:1: ( ( ( rule__EnumerationType__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5615:1: ( ( rule__EnumerationType__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5458:1: ( ( ( rule__EnumerationType__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5459:1: ( ( rule__EnumerationType__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5615:1: ( ( rule__EnumerationType__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5616:1: ( rule__EnumerationType__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5459:1: ( ( rule__EnumerationType__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5460:1: ( rule__EnumerationType__Group_3__0 )?
             {
              before(grammarAccess.getEnumerationTypeAccess().getGroup_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5617:1: ( rule__EnumerationType__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5461:1: ( rule__EnumerationType__Group_3__0 )?
             int alt61=2;
             int LA61_0 = input.LA(1);
 
-            if ( (LA61_0==49) ) {
+            if ( (LA61_0==50) ) {
                 alt61=1;
             }
             switch (alt61) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5617:2: rule__EnumerationType__Group_3__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5461:2: rule__EnumerationType__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__EnumerationType__Group_3__0_in_rule__EnumerationType__Group__3__Impl12069);
+                    pushFollow(FOLLOW_rule__EnumerationType__Group_3__0_in_rule__EnumerationType__Group__3__Impl11761);
                     rule__EnumerationType__Group_3__0();
 
                     state._fsp--;
@@ -16909,21 +16673,21 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5627:1: rule__EnumerationType__Group__4 : rule__EnumerationType__Group__4__Impl rule__EnumerationType__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5471:1: rule__EnumerationType__Group__4 : rule__EnumerationType__Group__4__Impl rule__EnumerationType__Group__5 ;
     public final void rule__EnumerationType__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5631:1: ( rule__EnumerationType__Group__4__Impl rule__EnumerationType__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5632:2: rule__EnumerationType__Group__4__Impl rule__EnumerationType__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5475:1: ( rule__EnumerationType__Group__4__Impl rule__EnumerationType__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5476:2: rule__EnumerationType__Group__4__Impl rule__EnumerationType__Group__5
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group__4__Impl_in_rule__EnumerationType__Group__412100);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__4__Impl_in_rule__EnumerationType__Group__411792);
             rule__EnumerationType__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumerationType__Group__5_in_rule__EnumerationType__Group__412103);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__5_in_rule__EnumerationType__Group__411795);
             rule__EnumerationType__Group__5();
 
             state._fsp--;
@@ -16947,20 +16711,20 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5639:1: rule__EnumerationType__Group__4__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5483:1: rule__EnumerationType__Group__4__Impl : ( '{' ) ;
     public final void rule__EnumerationType__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5643:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5644:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5487:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5488:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5644:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5645:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5488:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5489:1: '{'
             {
              before(grammarAccess.getEnumerationTypeAccess().getLeftCurlyBracketKeyword_4()); 
-            match(input,40,FOLLOW_40_in_rule__EnumerationType__Group__4__Impl12131); 
+            match(input,41,FOLLOW_41_in_rule__EnumerationType__Group__4__Impl11823); 
              after(grammarAccess.getEnumerationTypeAccess().getLeftCurlyBracketKeyword_4()); 
 
             }
@@ -16984,21 +16748,21 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5658:1: rule__EnumerationType__Group__5 : rule__EnumerationType__Group__5__Impl rule__EnumerationType__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5502:1: rule__EnumerationType__Group__5 : rule__EnumerationType__Group__5__Impl rule__EnumerationType__Group__6 ;
     public final void rule__EnumerationType__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5662:1: ( rule__EnumerationType__Group__5__Impl rule__EnumerationType__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5663:2: rule__EnumerationType__Group__5__Impl rule__EnumerationType__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5506:1: ( rule__EnumerationType__Group__5__Impl rule__EnumerationType__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5507:2: rule__EnumerationType__Group__5__Impl rule__EnumerationType__Group__6
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group__5__Impl_in_rule__EnumerationType__Group__512162);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__5__Impl_in_rule__EnumerationType__Group__511854);
             rule__EnumerationType__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumerationType__Group__6_in_rule__EnumerationType__Group__512165);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__6_in_rule__EnumerationType__Group__511857);
             rule__EnumerationType__Group__6();
 
             state._fsp--;
@@ -17022,20 +16786,20 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5670:1: rule__EnumerationType__Group__5__Impl : ( ( rule__EnumerationType__Group_5__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5514:1: rule__EnumerationType__Group__5__Impl : ( ( rule__EnumerationType__Group_5__0 )? ) ;
     public final void rule__EnumerationType__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5674:1: ( ( ( rule__EnumerationType__Group_5__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5675:1: ( ( rule__EnumerationType__Group_5__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5518:1: ( ( ( rule__EnumerationType__Group_5__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5519:1: ( ( rule__EnumerationType__Group_5__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5675:1: ( ( rule__EnumerationType__Group_5__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5676:1: ( rule__EnumerationType__Group_5__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5519:1: ( ( rule__EnumerationType__Group_5__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5520:1: ( rule__EnumerationType__Group_5__0 )?
             {
              before(grammarAccess.getEnumerationTypeAccess().getGroup_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5677:1: ( rule__EnumerationType__Group_5__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5521:1: ( rule__EnumerationType__Group_5__0 )?
             int alt62=2;
             int LA62_0 = input.LA(1);
 
@@ -17044,9 +16808,9 @@
             }
             switch (alt62) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5677:2: rule__EnumerationType__Group_5__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5521:2: rule__EnumerationType__Group_5__0
                     {
-                    pushFollow(FOLLOW_rule__EnumerationType__Group_5__0_in_rule__EnumerationType__Group__5__Impl12192);
+                    pushFollow(FOLLOW_rule__EnumerationType__Group_5__0_in_rule__EnumerationType__Group__5__Impl11884);
                     rule__EnumerationType__Group_5__0();
 
                     state._fsp--;
@@ -17080,16 +16844,16 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5687:1: rule__EnumerationType__Group__6 : rule__EnumerationType__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5531:1: rule__EnumerationType__Group__6 : rule__EnumerationType__Group__6__Impl ;
     public final void rule__EnumerationType__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5691:1: ( rule__EnumerationType__Group__6__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5692:2: rule__EnumerationType__Group__6__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5535:1: ( rule__EnumerationType__Group__6__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5536:2: rule__EnumerationType__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group__6__Impl_in_rule__EnumerationType__Group__612223);
+            pushFollow(FOLLOW_rule__EnumerationType__Group__6__Impl_in_rule__EnumerationType__Group__611915);
             rule__EnumerationType__Group__6__Impl();
 
             state._fsp--;
@@ -17113,20 +16877,20 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5698:1: rule__EnumerationType__Group__6__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5542:1: rule__EnumerationType__Group__6__Impl : ( '}' ) ;
     public final void rule__EnumerationType__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5702:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5703:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5546:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5547:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5703:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5704:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5547:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5548:1: '}'
             {
              before(grammarAccess.getEnumerationTypeAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,41,FOLLOW_41_in_rule__EnumerationType__Group__6__Impl12251); 
+            match(input,42,FOLLOW_42_in_rule__EnumerationType__Group__6__Impl11943); 
              after(grammarAccess.getEnumerationTypeAccess().getRightCurlyBracketKeyword_6()); 
 
             }
@@ -17150,21 +16914,21 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_3__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5731:1: rule__EnumerationType__Group_3__0 : rule__EnumerationType__Group_3__0__Impl rule__EnumerationType__Group_3__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5575:1: rule__EnumerationType__Group_3__0 : rule__EnumerationType__Group_3__0__Impl rule__EnumerationType__Group_3__1 ;
     public final void rule__EnumerationType__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5735:1: ( rule__EnumerationType__Group_3__0__Impl rule__EnumerationType__Group_3__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5736:2: rule__EnumerationType__Group_3__0__Impl rule__EnumerationType__Group_3__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5579:1: ( rule__EnumerationType__Group_3__0__Impl rule__EnumerationType__Group_3__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5580:2: rule__EnumerationType__Group_3__0__Impl rule__EnumerationType__Group_3__1
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group_3__0__Impl_in_rule__EnumerationType__Group_3__012296);
+            pushFollow(FOLLOW_rule__EnumerationType__Group_3__0__Impl_in_rule__EnumerationType__Group_3__011988);
             rule__EnumerationType__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumerationType__Group_3__1_in_rule__EnumerationType__Group_3__012299);
+            pushFollow(FOLLOW_rule__EnumerationType__Group_3__1_in_rule__EnumerationType__Group_3__011991);
             rule__EnumerationType__Group_3__1();
 
             state._fsp--;
@@ -17188,20 +16952,20 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5743:1: rule__EnumerationType__Group_3__0__Impl : ( 'of' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5587:1: rule__EnumerationType__Group_3__0__Impl : ( 'of' ) ;
     public final void rule__EnumerationType__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5747:1: ( ( 'of' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5748:1: ( 'of' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5591:1: ( ( 'of' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5592:1: ( 'of' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5748:1: ( 'of' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5749:1: 'of'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5592:1: ( 'of' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5593:1: 'of'
             {
              before(grammarAccess.getEnumerationTypeAccess().getOfKeyword_3_0()); 
-            match(input,49,FOLLOW_49_in_rule__EnumerationType__Group_3__0__Impl12327); 
+            match(input,50,FOLLOW_50_in_rule__EnumerationType__Group_3__0__Impl12019); 
              after(grammarAccess.getEnumerationTypeAccess().getOfKeyword_3_0()); 
 
             }
@@ -17225,16 +16989,16 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_3__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5762:1: rule__EnumerationType__Group_3__1 : rule__EnumerationType__Group_3__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5606:1: rule__EnumerationType__Group_3__1 : rule__EnumerationType__Group_3__1__Impl ;
     public final void rule__EnumerationType__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5766:1: ( rule__EnumerationType__Group_3__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5767:2: rule__EnumerationType__Group_3__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5610:1: ( rule__EnumerationType__Group_3__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5611:2: rule__EnumerationType__Group_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group_3__1__Impl_in_rule__EnumerationType__Group_3__112358);
+            pushFollow(FOLLOW_rule__EnumerationType__Group_3__1__Impl_in_rule__EnumerationType__Group_3__112050);
             rule__EnumerationType__Group_3__1__Impl();
 
             state._fsp--;
@@ -17258,23 +17022,23 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5773:1: rule__EnumerationType__Group_3__1__Impl : ( ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5617:1: rule__EnumerationType__Group_3__1__Impl : ( ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 ) ) ;
     public final void rule__EnumerationType__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5777:1: ( ( ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5778:1: ( ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5621:1: ( ( ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5622:1: ( ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5778:1: ( ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5779:1: ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5622:1: ( ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5623:1: ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 )
             {
              before(grammarAccess.getEnumerationTypeAccess().getPrimitiveTypeAssignment_3_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5780:1: ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5780:2: rule__EnumerationType__PrimitiveTypeAssignment_3_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5624:1: ( rule__EnumerationType__PrimitiveTypeAssignment_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5624:2: rule__EnumerationType__PrimitiveTypeAssignment_3_1
             {
-            pushFollow(FOLLOW_rule__EnumerationType__PrimitiveTypeAssignment_3_1_in_rule__EnumerationType__Group_3__1__Impl12385);
+            pushFollow(FOLLOW_rule__EnumerationType__PrimitiveTypeAssignment_3_1_in_rule__EnumerationType__Group_3__1__Impl12077);
             rule__EnumerationType__PrimitiveTypeAssignment_3_1();
 
             state._fsp--;
@@ -17305,21 +17069,21 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_5__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5794:1: rule__EnumerationType__Group_5__0 : rule__EnumerationType__Group_5__0__Impl rule__EnumerationType__Group_5__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5638:1: rule__EnumerationType__Group_5__0 : rule__EnumerationType__Group_5__0__Impl rule__EnumerationType__Group_5__1 ;
     public final void rule__EnumerationType__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5798:1: ( rule__EnumerationType__Group_5__0__Impl rule__EnumerationType__Group_5__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5799:2: rule__EnumerationType__Group_5__0__Impl rule__EnumerationType__Group_5__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5642:1: ( rule__EnumerationType__Group_5__0__Impl rule__EnumerationType__Group_5__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5643:2: rule__EnumerationType__Group_5__0__Impl rule__EnumerationType__Group_5__1
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group_5__0__Impl_in_rule__EnumerationType__Group_5__012419);
+            pushFollow(FOLLOW_rule__EnumerationType__Group_5__0__Impl_in_rule__EnumerationType__Group_5__012111);
             rule__EnumerationType__Group_5__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumerationType__Group_5__1_in_rule__EnumerationType__Group_5__012422);
+            pushFollow(FOLLOW_rule__EnumerationType__Group_5__1_in_rule__EnumerationType__Group_5__012114);
             rule__EnumerationType__Group_5__1();
 
             state._fsp--;
@@ -17343,23 +17107,23 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_5__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5806:1: rule__EnumerationType__Group_5__0__Impl : ( ( rule__EnumerationType__LiteralsAssignment_5_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5650:1: rule__EnumerationType__Group_5__0__Impl : ( ( rule__EnumerationType__LiteralsAssignment_5_0 ) ) ;
     public final void rule__EnumerationType__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5810:1: ( ( ( rule__EnumerationType__LiteralsAssignment_5_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5811:1: ( ( rule__EnumerationType__LiteralsAssignment_5_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5654:1: ( ( ( rule__EnumerationType__LiteralsAssignment_5_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5655:1: ( ( rule__EnumerationType__LiteralsAssignment_5_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5811:1: ( ( rule__EnumerationType__LiteralsAssignment_5_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5812:1: ( rule__EnumerationType__LiteralsAssignment_5_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5655:1: ( ( rule__EnumerationType__LiteralsAssignment_5_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5656:1: ( rule__EnumerationType__LiteralsAssignment_5_0 )
             {
              before(grammarAccess.getEnumerationTypeAccess().getLiteralsAssignment_5_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5813:1: ( rule__EnumerationType__LiteralsAssignment_5_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5813:2: rule__EnumerationType__LiteralsAssignment_5_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5657:1: ( rule__EnumerationType__LiteralsAssignment_5_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5657:2: rule__EnumerationType__LiteralsAssignment_5_0
             {
-            pushFollow(FOLLOW_rule__EnumerationType__LiteralsAssignment_5_0_in_rule__EnumerationType__Group_5__0__Impl12449);
+            pushFollow(FOLLOW_rule__EnumerationType__LiteralsAssignment_5_0_in_rule__EnumerationType__Group_5__0__Impl12141);
             rule__EnumerationType__LiteralsAssignment_5_0();
 
             state._fsp--;
@@ -17390,16 +17154,16 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_5__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5823:1: rule__EnumerationType__Group_5__1 : rule__EnumerationType__Group_5__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5667:1: rule__EnumerationType__Group_5__1 : rule__EnumerationType__Group_5__1__Impl ;
     public final void rule__EnumerationType__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5827:1: ( rule__EnumerationType__Group_5__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5828:2: rule__EnumerationType__Group_5__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5671:1: ( rule__EnumerationType__Group_5__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5672:2: rule__EnumerationType__Group_5__1__Impl
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group_5__1__Impl_in_rule__EnumerationType__Group_5__112479);
+            pushFollow(FOLLOW_rule__EnumerationType__Group_5__1__Impl_in_rule__EnumerationType__Group_5__112171);
             rule__EnumerationType__Group_5__1__Impl();
 
             state._fsp--;
@@ -17423,35 +17187,35 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_5__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5834:1: rule__EnumerationType__Group_5__1__Impl : ( ( rule__EnumerationType__Group_5_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5678:1: rule__EnumerationType__Group_5__1__Impl : ( ( rule__EnumerationType__Group_5_1__0 )* ) ;
     public final void rule__EnumerationType__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5838:1: ( ( ( rule__EnumerationType__Group_5_1__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5839:1: ( ( rule__EnumerationType__Group_5_1__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5682:1: ( ( ( rule__EnumerationType__Group_5_1__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5683:1: ( ( rule__EnumerationType__Group_5_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5839:1: ( ( rule__EnumerationType__Group_5_1__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5840:1: ( rule__EnumerationType__Group_5_1__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5683:1: ( ( rule__EnumerationType__Group_5_1__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5684:1: ( rule__EnumerationType__Group_5_1__0 )*
             {
              before(grammarAccess.getEnumerationTypeAccess().getGroup_5_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5841:1: ( rule__EnumerationType__Group_5_1__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5685:1: ( rule__EnumerationType__Group_5_1__0 )*
             loop63:
             do {
                 int alt63=2;
                 int LA63_0 = input.LA(1);
 
-                if ( (LA63_0==50) ) {
+                if ( (LA63_0==51) ) {
                     alt63=1;
                 }
 
 
                 switch (alt63) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5841:2: rule__EnumerationType__Group_5_1__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5685:2: rule__EnumerationType__Group_5_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__EnumerationType__Group_5_1__0_in_rule__EnumerationType__Group_5__1__Impl12506);
+            	    pushFollow(FOLLOW_rule__EnumerationType__Group_5_1__0_in_rule__EnumerationType__Group_5__1__Impl12198);
             	    rule__EnumerationType__Group_5_1__0();
 
             	    state._fsp--;
@@ -17488,21 +17252,21 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_5_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5855:1: rule__EnumerationType__Group_5_1__0 : rule__EnumerationType__Group_5_1__0__Impl rule__EnumerationType__Group_5_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5699:1: rule__EnumerationType__Group_5_1__0 : rule__EnumerationType__Group_5_1__0__Impl rule__EnumerationType__Group_5_1__1 ;
     public final void rule__EnumerationType__Group_5_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5859:1: ( rule__EnumerationType__Group_5_1__0__Impl rule__EnumerationType__Group_5_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5860:2: rule__EnumerationType__Group_5_1__0__Impl rule__EnumerationType__Group_5_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5703:1: ( rule__EnumerationType__Group_5_1__0__Impl rule__EnumerationType__Group_5_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5704:2: rule__EnumerationType__Group_5_1__0__Impl rule__EnumerationType__Group_5_1__1
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group_5_1__0__Impl_in_rule__EnumerationType__Group_5_1__012541);
+            pushFollow(FOLLOW_rule__EnumerationType__Group_5_1__0__Impl_in_rule__EnumerationType__Group_5_1__012233);
             rule__EnumerationType__Group_5_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumerationType__Group_5_1__1_in_rule__EnumerationType__Group_5_1__012544);
+            pushFollow(FOLLOW_rule__EnumerationType__Group_5_1__1_in_rule__EnumerationType__Group_5_1__012236);
             rule__EnumerationType__Group_5_1__1();
 
             state._fsp--;
@@ -17526,20 +17290,20 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_5_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5867:1: rule__EnumerationType__Group_5_1__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5711:1: rule__EnumerationType__Group_5_1__0__Impl : ( ',' ) ;
     public final void rule__EnumerationType__Group_5_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5871:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5872:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5715:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5716:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5872:1: ( ',' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5873:1: ','
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5716:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5717:1: ','
             {
              before(grammarAccess.getEnumerationTypeAccess().getCommaKeyword_5_1_0()); 
-            match(input,50,FOLLOW_50_in_rule__EnumerationType__Group_5_1__0__Impl12572); 
+            match(input,51,FOLLOW_51_in_rule__EnumerationType__Group_5_1__0__Impl12264); 
              after(grammarAccess.getEnumerationTypeAccess().getCommaKeyword_5_1_0()); 
 
             }
@@ -17563,16 +17327,16 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_5_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5886:1: rule__EnumerationType__Group_5_1__1 : rule__EnumerationType__Group_5_1__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5730:1: rule__EnumerationType__Group_5_1__1 : rule__EnumerationType__Group_5_1__1__Impl ;
     public final void rule__EnumerationType__Group_5_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5890:1: ( rule__EnumerationType__Group_5_1__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5891:2: rule__EnumerationType__Group_5_1__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5734:1: ( rule__EnumerationType__Group_5_1__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5735:2: rule__EnumerationType__Group_5_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__EnumerationType__Group_5_1__1__Impl_in_rule__EnumerationType__Group_5_1__112603);
+            pushFollow(FOLLOW_rule__EnumerationType__Group_5_1__1__Impl_in_rule__EnumerationType__Group_5_1__112295);
             rule__EnumerationType__Group_5_1__1__Impl();
 
             state._fsp--;
@@ -17596,23 +17360,23 @@
 
 
     // $ANTLR start "rule__EnumerationType__Group_5_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5897:1: rule__EnumerationType__Group_5_1__1__Impl : ( ( rule__EnumerationType__LiteralsAssignment_5_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5741:1: rule__EnumerationType__Group_5_1__1__Impl : ( ( rule__EnumerationType__LiteralsAssignment_5_1_1 ) ) ;
     public final void rule__EnumerationType__Group_5_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5901:1: ( ( ( rule__EnumerationType__LiteralsAssignment_5_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5902:1: ( ( rule__EnumerationType__LiteralsAssignment_5_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5745:1: ( ( ( rule__EnumerationType__LiteralsAssignment_5_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5746:1: ( ( rule__EnumerationType__LiteralsAssignment_5_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5902:1: ( ( rule__EnumerationType__LiteralsAssignment_5_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5903:1: ( rule__EnumerationType__LiteralsAssignment_5_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5746:1: ( ( rule__EnumerationType__LiteralsAssignment_5_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5747:1: ( rule__EnumerationType__LiteralsAssignment_5_1_1 )
             {
              before(grammarAccess.getEnumerationTypeAccess().getLiteralsAssignment_5_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5904:1: ( rule__EnumerationType__LiteralsAssignment_5_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5904:2: rule__EnumerationType__LiteralsAssignment_5_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5748:1: ( rule__EnumerationType__LiteralsAssignment_5_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5748:2: rule__EnumerationType__LiteralsAssignment_5_1_1
             {
-            pushFollow(FOLLOW_rule__EnumerationType__LiteralsAssignment_5_1_1_in_rule__EnumerationType__Group_5_1__1__Impl12630);
+            pushFollow(FOLLOW_rule__EnumerationType__LiteralsAssignment_5_1_1_in_rule__EnumerationType__Group_5_1__1__Impl12322);
             rule__EnumerationType__LiteralsAssignment_5_1_1();
 
             state._fsp--;
@@ -17643,21 +17407,21 @@
 
 
     // $ANTLR start "rule__EnumLiteral__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5918:1: rule__EnumLiteral__Group__0 : rule__EnumLiteral__Group__0__Impl rule__EnumLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5762:1: rule__EnumLiteral__Group__0 : rule__EnumLiteral__Group__0__Impl rule__EnumLiteral__Group__1 ;
     public final void rule__EnumLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5922:1: ( rule__EnumLiteral__Group__0__Impl rule__EnumLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5923:2: rule__EnumLiteral__Group__0__Impl rule__EnumLiteral__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5766:1: ( rule__EnumLiteral__Group__0__Impl rule__EnumLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5767:2: rule__EnumLiteral__Group__0__Impl rule__EnumLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__EnumLiteral__Group__0__Impl_in_rule__EnumLiteral__Group__012664);
+            pushFollow(FOLLOW_rule__EnumLiteral__Group__0__Impl_in_rule__EnumLiteral__Group__012356);
             rule__EnumLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumLiteral__Group__1_in_rule__EnumLiteral__Group__012667);
+            pushFollow(FOLLOW_rule__EnumLiteral__Group__1_in_rule__EnumLiteral__Group__012359);
             rule__EnumLiteral__Group__1();
 
             state._fsp--;
@@ -17681,23 +17445,23 @@
 
 
     // $ANTLR start "rule__EnumLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5930:1: rule__EnumLiteral__Group__0__Impl : ( ( rule__EnumLiteral__NameAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5774:1: rule__EnumLiteral__Group__0__Impl : ( ( rule__EnumLiteral__NameAssignment_0 ) ) ;
     public final void rule__EnumLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5934:1: ( ( ( rule__EnumLiteral__NameAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5935:1: ( ( rule__EnumLiteral__NameAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5778:1: ( ( ( rule__EnumLiteral__NameAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5779:1: ( ( rule__EnumLiteral__NameAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5935:1: ( ( rule__EnumLiteral__NameAssignment_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5936:1: ( rule__EnumLiteral__NameAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5779:1: ( ( rule__EnumLiteral__NameAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5780:1: ( rule__EnumLiteral__NameAssignment_0 )
             {
              before(grammarAccess.getEnumLiteralAccess().getNameAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5937:1: ( rule__EnumLiteral__NameAssignment_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5937:2: rule__EnumLiteral__NameAssignment_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5781:1: ( rule__EnumLiteral__NameAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5781:2: rule__EnumLiteral__NameAssignment_0
             {
-            pushFollow(FOLLOW_rule__EnumLiteral__NameAssignment_0_in_rule__EnumLiteral__Group__0__Impl12694);
+            pushFollow(FOLLOW_rule__EnumLiteral__NameAssignment_0_in_rule__EnumLiteral__Group__0__Impl12386);
             rule__EnumLiteral__NameAssignment_0();
 
             state._fsp--;
@@ -17728,16 +17492,16 @@
 
 
     // $ANTLR start "rule__EnumLiteral__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5947:1: rule__EnumLiteral__Group__1 : rule__EnumLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5791:1: rule__EnumLiteral__Group__1 : rule__EnumLiteral__Group__1__Impl ;
     public final void rule__EnumLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5951:1: ( rule__EnumLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5952:2: rule__EnumLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5795:1: ( rule__EnumLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5796:2: rule__EnumLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__EnumLiteral__Group__1__Impl_in_rule__EnumLiteral__Group__112724);
+            pushFollow(FOLLOW_rule__EnumLiteral__Group__1__Impl_in_rule__EnumLiteral__Group__112416);
             rule__EnumLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -17761,31 +17525,31 @@
 
 
     // $ANTLR start "rule__EnumLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5958:1: rule__EnumLiteral__Group__1__Impl : ( ( rule__EnumLiteral__Group_1__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5802:1: rule__EnumLiteral__Group__1__Impl : ( ( rule__EnumLiteral__Group_1__0 )? ) ;
     public final void rule__EnumLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5962:1: ( ( ( rule__EnumLiteral__Group_1__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5963:1: ( ( rule__EnumLiteral__Group_1__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5806:1: ( ( ( rule__EnumLiteral__Group_1__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5807:1: ( ( rule__EnumLiteral__Group_1__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5963:1: ( ( rule__EnumLiteral__Group_1__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5964:1: ( rule__EnumLiteral__Group_1__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5807:1: ( ( rule__EnumLiteral__Group_1__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5808:1: ( rule__EnumLiteral__Group_1__0 )?
             {
              before(grammarAccess.getEnumLiteralAccess().getGroup_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5965:1: ( rule__EnumLiteral__Group_1__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5809:1: ( rule__EnumLiteral__Group_1__0 )?
             int alt64=2;
             int LA64_0 = input.LA(1);
 
-            if ( (LA64_0==51) ) {
+            if ( (LA64_0==52) ) {
                 alt64=1;
             }
             switch (alt64) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5965:2: rule__EnumLiteral__Group_1__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5809:2: rule__EnumLiteral__Group_1__0
                     {
-                    pushFollow(FOLLOW_rule__EnumLiteral__Group_1__0_in_rule__EnumLiteral__Group__1__Impl12751);
+                    pushFollow(FOLLOW_rule__EnumLiteral__Group_1__0_in_rule__EnumLiteral__Group__1__Impl12443);
                     rule__EnumLiteral__Group_1__0();
 
                     state._fsp--;
@@ -17819,21 +17583,21 @@
 
 
     // $ANTLR start "rule__EnumLiteral__Group_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5979:1: rule__EnumLiteral__Group_1__0 : rule__EnumLiteral__Group_1__0__Impl rule__EnumLiteral__Group_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5823:1: rule__EnumLiteral__Group_1__0 : rule__EnumLiteral__Group_1__0__Impl rule__EnumLiteral__Group_1__1 ;
     public final void rule__EnumLiteral__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5983:1: ( rule__EnumLiteral__Group_1__0__Impl rule__EnumLiteral__Group_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5984:2: rule__EnumLiteral__Group_1__0__Impl rule__EnumLiteral__Group_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5827:1: ( rule__EnumLiteral__Group_1__0__Impl rule__EnumLiteral__Group_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5828:2: rule__EnumLiteral__Group_1__0__Impl rule__EnumLiteral__Group_1__1
             {
-            pushFollow(FOLLOW_rule__EnumLiteral__Group_1__0__Impl_in_rule__EnumLiteral__Group_1__012786);
+            pushFollow(FOLLOW_rule__EnumLiteral__Group_1__0__Impl_in_rule__EnumLiteral__Group_1__012478);
             rule__EnumLiteral__Group_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumLiteral__Group_1__1_in_rule__EnumLiteral__Group_1__012789);
+            pushFollow(FOLLOW_rule__EnumLiteral__Group_1__1_in_rule__EnumLiteral__Group_1__012481);
             rule__EnumLiteral__Group_1__1();
 
             state._fsp--;
@@ -17857,20 +17621,20 @@
 
 
     // $ANTLR start "rule__EnumLiteral__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5991:1: rule__EnumLiteral__Group_1__0__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5835:1: rule__EnumLiteral__Group_1__0__Impl : ( '=' ) ;
     public final void rule__EnumLiteral__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5995:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5996:1: ( '=' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5839:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5840:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5996:1: ( '=' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5997:1: '='
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5840:1: ( '=' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5841:1: '='
             {
              before(grammarAccess.getEnumLiteralAccess().getEqualsSignKeyword_1_0()); 
-            match(input,51,FOLLOW_51_in_rule__EnumLiteral__Group_1__0__Impl12817); 
+            match(input,52,FOLLOW_52_in_rule__EnumLiteral__Group_1__0__Impl12509); 
              after(grammarAccess.getEnumLiteralAccess().getEqualsSignKeyword_1_0()); 
 
             }
@@ -17894,16 +17658,16 @@
 
 
     // $ANTLR start "rule__EnumLiteral__Group_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6010:1: rule__EnumLiteral__Group_1__1 : rule__EnumLiteral__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5854:1: rule__EnumLiteral__Group_1__1 : rule__EnumLiteral__Group_1__1__Impl ;
     public final void rule__EnumLiteral__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6014:1: ( rule__EnumLiteral__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6015:2: rule__EnumLiteral__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5858:1: ( rule__EnumLiteral__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5859:2: rule__EnumLiteral__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__EnumLiteral__Group_1__1__Impl_in_rule__EnumLiteral__Group_1__112848);
+            pushFollow(FOLLOW_rule__EnumLiteral__Group_1__1__Impl_in_rule__EnumLiteral__Group_1__112540);
             rule__EnumLiteral__Group_1__1__Impl();
 
             state._fsp--;
@@ -17927,23 +17691,23 @@
 
 
     // $ANTLR start "rule__EnumLiteral__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6021:1: rule__EnumLiteral__Group_1__1__Impl : ( ( rule__EnumLiteral__LiteralAssignment_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5865:1: rule__EnumLiteral__Group_1__1__Impl : ( ( rule__EnumLiteral__LiteralAssignment_1_1 ) ) ;
     public final void rule__EnumLiteral__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6025:1: ( ( ( rule__EnumLiteral__LiteralAssignment_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6026:1: ( ( rule__EnumLiteral__LiteralAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5869:1: ( ( ( rule__EnumLiteral__LiteralAssignment_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5870:1: ( ( rule__EnumLiteral__LiteralAssignment_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6026:1: ( ( rule__EnumLiteral__LiteralAssignment_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6027:1: ( rule__EnumLiteral__LiteralAssignment_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5870:1: ( ( rule__EnumLiteral__LiteralAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5871:1: ( rule__EnumLiteral__LiteralAssignment_1_1 )
             {
              before(grammarAccess.getEnumLiteralAccess().getLiteralAssignment_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6028:1: ( rule__EnumLiteral__LiteralAssignment_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6028:2: rule__EnumLiteral__LiteralAssignment_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5872:1: ( rule__EnumLiteral__LiteralAssignment_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5872:2: rule__EnumLiteral__LiteralAssignment_1_1
             {
-            pushFollow(FOLLOW_rule__EnumLiteral__LiteralAssignment_1_1_in_rule__EnumLiteral__Group_1__1__Impl12875);
+            pushFollow(FOLLOW_rule__EnumLiteral__LiteralAssignment_1_1_in_rule__EnumLiteral__Group_1__1__Impl12567);
             rule__EnumLiteral__LiteralAssignment_1_1();
 
             state._fsp--;
@@ -17974,21 +17738,21 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6042:1: rule__ExternalType__Group__0 : rule__ExternalType__Group__0__Impl rule__ExternalType__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5886:1: rule__ExternalType__Group__0 : rule__ExternalType__Group__0__Impl rule__ExternalType__Group__1 ;
     public final void rule__ExternalType__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6046:1: ( rule__ExternalType__Group__0__Impl rule__ExternalType__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6047:2: rule__ExternalType__Group__0__Impl rule__ExternalType__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5890:1: ( rule__ExternalType__Group__0__Impl rule__ExternalType__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5891:2: rule__ExternalType__Group__0__Impl rule__ExternalType__Group__1
             {
-            pushFollow(FOLLOW_rule__ExternalType__Group__0__Impl_in_rule__ExternalType__Group__012909);
+            pushFollow(FOLLOW_rule__ExternalType__Group__0__Impl_in_rule__ExternalType__Group__012601);
             rule__ExternalType__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ExternalType__Group__1_in_rule__ExternalType__Group__012912);
+            pushFollow(FOLLOW_rule__ExternalType__Group__1_in_rule__ExternalType__Group__012604);
             rule__ExternalType__Group__1();
 
             state._fsp--;
@@ -18012,20 +17776,20 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6054:1: rule__ExternalType__Group__0__Impl : ( 'ExternalType' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5898:1: rule__ExternalType__Group__0__Impl : ( 'ExternalType' ) ;
     public final void rule__ExternalType__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6058:1: ( ( 'ExternalType' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6059:1: ( 'ExternalType' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5902:1: ( ( 'ExternalType' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5903:1: ( 'ExternalType' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6059:1: ( 'ExternalType' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6060:1: 'ExternalType'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5903:1: ( 'ExternalType' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5904:1: 'ExternalType'
             {
              before(grammarAccess.getExternalTypeAccess().getExternalTypeKeyword_0()); 
-            match(input,52,FOLLOW_52_in_rule__ExternalType__Group__0__Impl12940); 
+            match(input,53,FOLLOW_53_in_rule__ExternalType__Group__0__Impl12632); 
              after(grammarAccess.getExternalTypeAccess().getExternalTypeKeyword_0()); 
 
             }
@@ -18049,21 +17813,21 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6073:1: rule__ExternalType__Group__1 : rule__ExternalType__Group__1__Impl rule__ExternalType__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5917:1: rule__ExternalType__Group__1 : rule__ExternalType__Group__1__Impl rule__ExternalType__Group__2 ;
     public final void rule__ExternalType__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6077:1: ( rule__ExternalType__Group__1__Impl rule__ExternalType__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6078:2: rule__ExternalType__Group__1__Impl rule__ExternalType__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5921:1: ( rule__ExternalType__Group__1__Impl rule__ExternalType__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5922:2: rule__ExternalType__Group__1__Impl rule__ExternalType__Group__2
             {
-            pushFollow(FOLLOW_rule__ExternalType__Group__1__Impl_in_rule__ExternalType__Group__112971);
+            pushFollow(FOLLOW_rule__ExternalType__Group__1__Impl_in_rule__ExternalType__Group__112663);
             rule__ExternalType__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ExternalType__Group__2_in_rule__ExternalType__Group__112974);
+            pushFollow(FOLLOW_rule__ExternalType__Group__2_in_rule__ExternalType__Group__112666);
             rule__ExternalType__Group__2();
 
             state._fsp--;
@@ -18087,23 +17851,23 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6085:1: rule__ExternalType__Group__1__Impl : ( ( rule__ExternalType__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5929:1: rule__ExternalType__Group__1__Impl : ( ( rule__ExternalType__NameAssignment_1 ) ) ;
     public final void rule__ExternalType__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6089:1: ( ( ( rule__ExternalType__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6090:1: ( ( rule__ExternalType__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5933:1: ( ( ( rule__ExternalType__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5934:1: ( ( rule__ExternalType__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6090:1: ( ( rule__ExternalType__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6091:1: ( rule__ExternalType__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5934:1: ( ( rule__ExternalType__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5935:1: ( rule__ExternalType__NameAssignment_1 )
             {
              before(grammarAccess.getExternalTypeAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6092:1: ( rule__ExternalType__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6092:2: rule__ExternalType__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5936:1: ( rule__ExternalType__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5936:2: rule__ExternalType__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__ExternalType__NameAssignment_1_in_rule__ExternalType__Group__1__Impl13001);
+            pushFollow(FOLLOW_rule__ExternalType__NameAssignment_1_in_rule__ExternalType__Group__1__Impl12693);
             rule__ExternalType__NameAssignment_1();
 
             state._fsp--;
@@ -18134,21 +17898,21 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6102:1: rule__ExternalType__Group__2 : rule__ExternalType__Group__2__Impl rule__ExternalType__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5946:1: rule__ExternalType__Group__2 : rule__ExternalType__Group__2__Impl rule__ExternalType__Group__3 ;
     public final void rule__ExternalType__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6106:1: ( rule__ExternalType__Group__2__Impl rule__ExternalType__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6107:2: rule__ExternalType__Group__2__Impl rule__ExternalType__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5950:1: ( rule__ExternalType__Group__2__Impl rule__ExternalType__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5951:2: rule__ExternalType__Group__2__Impl rule__ExternalType__Group__3
             {
-            pushFollow(FOLLOW_rule__ExternalType__Group__2__Impl_in_rule__ExternalType__Group__213031);
+            pushFollow(FOLLOW_rule__ExternalType__Group__2__Impl_in_rule__ExternalType__Group__212723);
             rule__ExternalType__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ExternalType__Group__3_in_rule__ExternalType__Group__213034);
+            pushFollow(FOLLOW_rule__ExternalType__Group__3_in_rule__ExternalType__Group__212726);
             rule__ExternalType__Group__3();
 
             state._fsp--;
@@ -18172,20 +17936,20 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6114:1: rule__ExternalType__Group__2__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5958:1: rule__ExternalType__Group__2__Impl : ( '->' ) ;
     public final void rule__ExternalType__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6118:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6119:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5962:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5963:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6119:1: ( '->' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6120:1: '->'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5963:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5964:1: '->'
             {
              before(grammarAccess.getExternalTypeAccess().getHyphenMinusGreaterThanSignKeyword_2()); 
-            match(input,44,FOLLOW_44_in_rule__ExternalType__Group__2__Impl13062); 
+            match(input,45,FOLLOW_45_in_rule__ExternalType__Group__2__Impl12754); 
              after(grammarAccess.getExternalTypeAccess().getHyphenMinusGreaterThanSignKeyword_2()); 
 
             }
@@ -18209,21 +17973,21 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6133:1: rule__ExternalType__Group__3 : rule__ExternalType__Group__3__Impl rule__ExternalType__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5977:1: rule__ExternalType__Group__3 : rule__ExternalType__Group__3__Impl rule__ExternalType__Group__4 ;
     public final void rule__ExternalType__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6137:1: ( rule__ExternalType__Group__3__Impl rule__ExternalType__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6138:2: rule__ExternalType__Group__3__Impl rule__ExternalType__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5981:1: ( rule__ExternalType__Group__3__Impl rule__ExternalType__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5982:2: rule__ExternalType__Group__3__Impl rule__ExternalType__Group__4
             {
-            pushFollow(FOLLOW_rule__ExternalType__Group__3__Impl_in_rule__ExternalType__Group__313093);
+            pushFollow(FOLLOW_rule__ExternalType__Group__3__Impl_in_rule__ExternalType__Group__312785);
             rule__ExternalType__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ExternalType__Group__4_in_rule__ExternalType__Group__313096);
+            pushFollow(FOLLOW_rule__ExternalType__Group__4_in_rule__ExternalType__Group__312788);
             rule__ExternalType__Group__4();
 
             state._fsp--;
@@ -18247,23 +18011,23 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6145:1: rule__ExternalType__Group__3__Impl : ( ( rule__ExternalType__TargetNameAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5989:1: rule__ExternalType__Group__3__Impl : ( ( rule__ExternalType__TargetNameAssignment_3 ) ) ;
     public final void rule__ExternalType__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6149:1: ( ( ( rule__ExternalType__TargetNameAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6150:1: ( ( rule__ExternalType__TargetNameAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5993:1: ( ( ( rule__ExternalType__TargetNameAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5994:1: ( ( rule__ExternalType__TargetNameAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6150:1: ( ( rule__ExternalType__TargetNameAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6151:1: ( rule__ExternalType__TargetNameAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5994:1: ( ( rule__ExternalType__TargetNameAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5995:1: ( rule__ExternalType__TargetNameAssignment_3 )
             {
              before(grammarAccess.getExternalTypeAccess().getTargetNameAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6152:1: ( rule__ExternalType__TargetNameAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6152:2: rule__ExternalType__TargetNameAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5996:1: ( rule__ExternalType__TargetNameAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:5996:2: rule__ExternalType__TargetNameAssignment_3
             {
-            pushFollow(FOLLOW_rule__ExternalType__TargetNameAssignment_3_in_rule__ExternalType__Group__3__Impl13123);
+            pushFollow(FOLLOW_rule__ExternalType__TargetNameAssignment_3_in_rule__ExternalType__Group__3__Impl12815);
             rule__ExternalType__TargetNameAssignment_3();
 
             state._fsp--;
@@ -18294,21 +18058,21 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6162:1: rule__ExternalType__Group__4 : rule__ExternalType__Group__4__Impl rule__ExternalType__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6006:1: rule__ExternalType__Group__4 : rule__ExternalType__Group__4__Impl rule__ExternalType__Group__5 ;
     public final void rule__ExternalType__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6166:1: ( rule__ExternalType__Group__4__Impl rule__ExternalType__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6167:2: rule__ExternalType__Group__4__Impl rule__ExternalType__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6010:1: ( rule__ExternalType__Group__4__Impl rule__ExternalType__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6011:2: rule__ExternalType__Group__4__Impl rule__ExternalType__Group__5
             {
-            pushFollow(FOLLOW_rule__ExternalType__Group__4__Impl_in_rule__ExternalType__Group__413153);
+            pushFollow(FOLLOW_rule__ExternalType__Group__4__Impl_in_rule__ExternalType__Group__412845);
             rule__ExternalType__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ExternalType__Group__5_in_rule__ExternalType__Group__413156);
+            pushFollow(FOLLOW_rule__ExternalType__Group__5_in_rule__ExternalType__Group__412848);
             rule__ExternalType__Group__5();
 
             state._fsp--;
@@ -18332,31 +18096,31 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6174:1: rule__ExternalType__Group__4__Impl : ( ( rule__ExternalType__Group_4__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6018:1: rule__ExternalType__Group__4__Impl : ( ( rule__ExternalType__Group_4__0 )? ) ;
     public final void rule__ExternalType__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6178:1: ( ( ( rule__ExternalType__Group_4__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6179:1: ( ( rule__ExternalType__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6022:1: ( ( ( rule__ExternalType__Group_4__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6023:1: ( ( rule__ExternalType__Group_4__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6179:1: ( ( rule__ExternalType__Group_4__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6180:1: ( rule__ExternalType__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6023:1: ( ( rule__ExternalType__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6024:1: ( rule__ExternalType__Group_4__0 )?
             {
              before(grammarAccess.getExternalTypeAccess().getGroup_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6181:1: ( rule__ExternalType__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6025:1: ( rule__ExternalType__Group_4__0 )?
             int alt65=2;
             int LA65_0 = input.LA(1);
 
-            if ( (LA65_0==45) ) {
+            if ( (LA65_0==46) ) {
                 alt65=1;
             }
             switch (alt65) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6181:2: rule__ExternalType__Group_4__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6025:2: rule__ExternalType__Group_4__0
                     {
-                    pushFollow(FOLLOW_rule__ExternalType__Group_4__0_in_rule__ExternalType__Group__4__Impl13183);
+                    pushFollow(FOLLOW_rule__ExternalType__Group_4__0_in_rule__ExternalType__Group__4__Impl12875);
                     rule__ExternalType__Group_4__0();
 
                     state._fsp--;
@@ -18390,16 +18154,16 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6191:1: rule__ExternalType__Group__5 : rule__ExternalType__Group__5__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6035:1: rule__ExternalType__Group__5 : rule__ExternalType__Group__5__Impl ;
     public final void rule__ExternalType__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6195:1: ( rule__ExternalType__Group__5__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6196:2: rule__ExternalType__Group__5__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6039:1: ( rule__ExternalType__Group__5__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6040:2: rule__ExternalType__Group__5__Impl
             {
-            pushFollow(FOLLOW_rule__ExternalType__Group__5__Impl_in_rule__ExternalType__Group__513214);
+            pushFollow(FOLLOW_rule__ExternalType__Group__5__Impl_in_rule__ExternalType__Group__512906);
             rule__ExternalType__Group__5__Impl();
 
             state._fsp--;
@@ -18423,31 +18187,31 @@
 
 
     // $ANTLR start "rule__ExternalType__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6202:1: rule__ExternalType__Group__5__Impl : ( ( rule__ExternalType__DocuAssignment_5 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6046:1: rule__ExternalType__Group__5__Impl : ( ( rule__ExternalType__DocuAssignment_5 )? ) ;
     public final void rule__ExternalType__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6206:1: ( ( ( rule__ExternalType__DocuAssignment_5 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6207:1: ( ( rule__ExternalType__DocuAssignment_5 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6050:1: ( ( ( rule__ExternalType__DocuAssignment_5 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6051:1: ( ( rule__ExternalType__DocuAssignment_5 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6207:1: ( ( rule__ExternalType__DocuAssignment_5 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6208:1: ( rule__ExternalType__DocuAssignment_5 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6051:1: ( ( rule__ExternalType__DocuAssignment_5 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6052:1: ( rule__ExternalType__DocuAssignment_5 )?
             {
              before(grammarAccess.getExternalTypeAccess().getDocuAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6209:1: ( rule__ExternalType__DocuAssignment_5 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6053:1: ( rule__ExternalType__DocuAssignment_5 )?
             int alt66=2;
             int LA66_0 = input.LA(1);
 
-            if ( (LA66_0==58) ) {
+            if ( (LA66_0==59) ) {
                 alt66=1;
             }
             switch (alt66) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6209:2: rule__ExternalType__DocuAssignment_5
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6053:2: rule__ExternalType__DocuAssignment_5
                     {
-                    pushFollow(FOLLOW_rule__ExternalType__DocuAssignment_5_in_rule__ExternalType__Group__5__Impl13241);
+                    pushFollow(FOLLOW_rule__ExternalType__DocuAssignment_5_in_rule__ExternalType__Group__5__Impl12933);
                     rule__ExternalType__DocuAssignment_5();
 
                     state._fsp--;
@@ -18481,21 +18245,21 @@
 
 
     // $ANTLR start "rule__ExternalType__Group_4__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6231:1: rule__ExternalType__Group_4__0 : rule__ExternalType__Group_4__0__Impl rule__ExternalType__Group_4__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6075:1: rule__ExternalType__Group_4__0 : rule__ExternalType__Group_4__0__Impl rule__ExternalType__Group_4__1 ;
     public final void rule__ExternalType__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6235:1: ( rule__ExternalType__Group_4__0__Impl rule__ExternalType__Group_4__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6236:2: rule__ExternalType__Group_4__0__Impl rule__ExternalType__Group_4__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6079:1: ( rule__ExternalType__Group_4__0__Impl rule__ExternalType__Group_4__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6080:2: rule__ExternalType__Group_4__0__Impl rule__ExternalType__Group_4__1
             {
-            pushFollow(FOLLOW_rule__ExternalType__Group_4__0__Impl_in_rule__ExternalType__Group_4__013284);
+            pushFollow(FOLLOW_rule__ExternalType__Group_4__0__Impl_in_rule__ExternalType__Group_4__012976);
             rule__ExternalType__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ExternalType__Group_4__1_in_rule__ExternalType__Group_4__013287);
+            pushFollow(FOLLOW_rule__ExternalType__Group_4__1_in_rule__ExternalType__Group_4__012979);
             rule__ExternalType__Group_4__1();
 
             state._fsp--;
@@ -18519,20 +18283,20 @@
 
 
     // $ANTLR start "rule__ExternalType__Group_4__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6243:1: rule__ExternalType__Group_4__0__Impl : ( 'default' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6087:1: rule__ExternalType__Group_4__0__Impl : ( 'default' ) ;
     public final void rule__ExternalType__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6247:1: ( ( 'default' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6248:1: ( 'default' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6091:1: ( ( 'default' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6092:1: ( 'default' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6248:1: ( 'default' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6249:1: 'default'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6092:1: ( 'default' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6093:1: 'default'
             {
              before(grammarAccess.getExternalTypeAccess().getDefaultKeyword_4_0()); 
-            match(input,45,FOLLOW_45_in_rule__ExternalType__Group_4__0__Impl13315); 
+            match(input,46,FOLLOW_46_in_rule__ExternalType__Group_4__0__Impl13007); 
              after(grammarAccess.getExternalTypeAccess().getDefaultKeyword_4_0()); 
 
             }
@@ -18556,16 +18320,16 @@
 
 
     // $ANTLR start "rule__ExternalType__Group_4__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6262:1: rule__ExternalType__Group_4__1 : rule__ExternalType__Group_4__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6106:1: rule__ExternalType__Group_4__1 : rule__ExternalType__Group_4__1__Impl ;
     public final void rule__ExternalType__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6266:1: ( rule__ExternalType__Group_4__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6267:2: rule__ExternalType__Group_4__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6110:1: ( rule__ExternalType__Group_4__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6111:2: rule__ExternalType__Group_4__1__Impl
             {
-            pushFollow(FOLLOW_rule__ExternalType__Group_4__1__Impl_in_rule__ExternalType__Group_4__113346);
+            pushFollow(FOLLOW_rule__ExternalType__Group_4__1__Impl_in_rule__ExternalType__Group_4__113038);
             rule__ExternalType__Group_4__1__Impl();
 
             state._fsp--;
@@ -18589,23 +18353,23 @@
 
 
     // $ANTLR start "rule__ExternalType__Group_4__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6273:1: rule__ExternalType__Group_4__1__Impl : ( ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6117:1: rule__ExternalType__Group_4__1__Impl : ( ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 ) ) ;
     public final void rule__ExternalType__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6277:1: ( ( ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6278:1: ( ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6121:1: ( ( ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6122:1: ( ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6278:1: ( ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6279:1: ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6122:1: ( ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6123:1: ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 )
             {
              before(grammarAccess.getExternalTypeAccess().getDefaultValueLiteralAssignment_4_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6280:1: ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6280:2: rule__ExternalType__DefaultValueLiteralAssignment_4_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6124:1: ( rule__ExternalType__DefaultValueLiteralAssignment_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6124:2: rule__ExternalType__DefaultValueLiteralAssignment_4_1
             {
-            pushFollow(FOLLOW_rule__ExternalType__DefaultValueLiteralAssignment_4_1_in_rule__ExternalType__Group_4__1__Impl13373);
+            pushFollow(FOLLOW_rule__ExternalType__DefaultValueLiteralAssignment_4_1_in_rule__ExternalType__Group_4__1__Impl13065);
             rule__ExternalType__DefaultValueLiteralAssignment_4_1();
 
             state._fsp--;
@@ -18636,21 +18400,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6294:1: rule__DataClass__Group__0 : rule__DataClass__Group__0__Impl rule__DataClass__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6138:1: rule__DataClass__Group__0 : rule__DataClass__Group__0__Impl rule__DataClass__Group__1 ;
     public final void rule__DataClass__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6298:1: ( rule__DataClass__Group__0__Impl rule__DataClass__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6299:2: rule__DataClass__Group__0__Impl rule__DataClass__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6142:1: ( rule__DataClass__Group__0__Impl rule__DataClass__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6143:2: rule__DataClass__Group__0__Impl rule__DataClass__Group__1
             {
-            pushFollow(FOLLOW_rule__DataClass__Group__0__Impl_in_rule__DataClass__Group__013407);
+            pushFollow(FOLLOW_rule__DataClass__Group__0__Impl_in_rule__DataClass__Group__013099);
             rule__DataClass__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group__1_in_rule__DataClass__Group__013410);
+            pushFollow(FOLLOW_rule__DataClass__Group__1_in_rule__DataClass__Group__013102);
             rule__DataClass__Group__1();
 
             state._fsp--;
@@ -18674,20 +18438,20 @@
 
 
     // $ANTLR start "rule__DataClass__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6306:1: rule__DataClass__Group__0__Impl : ( 'DataClass' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6150:1: rule__DataClass__Group__0__Impl : ( 'DataClass' ) ;
     public final void rule__DataClass__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6310:1: ( ( 'DataClass' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6311:1: ( 'DataClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6154:1: ( ( 'DataClass' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6155:1: ( 'DataClass' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6311:1: ( 'DataClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6312:1: 'DataClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6155:1: ( 'DataClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6156:1: 'DataClass'
             {
              before(grammarAccess.getDataClassAccess().getDataClassKeyword_0()); 
-            match(input,17,FOLLOW_17_in_rule__DataClass__Group__0__Impl13438); 
+            match(input,16,FOLLOW_16_in_rule__DataClass__Group__0__Impl13130); 
              after(grammarAccess.getDataClassAccess().getDataClassKeyword_0()); 
 
             }
@@ -18711,21 +18475,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6325:1: rule__DataClass__Group__1 : rule__DataClass__Group__1__Impl rule__DataClass__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6169:1: rule__DataClass__Group__1 : rule__DataClass__Group__1__Impl rule__DataClass__Group__2 ;
     public final void rule__DataClass__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6329:1: ( rule__DataClass__Group__1__Impl rule__DataClass__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6330:2: rule__DataClass__Group__1__Impl rule__DataClass__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6173:1: ( rule__DataClass__Group__1__Impl rule__DataClass__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6174:2: rule__DataClass__Group__1__Impl rule__DataClass__Group__2
             {
-            pushFollow(FOLLOW_rule__DataClass__Group__1__Impl_in_rule__DataClass__Group__113469);
+            pushFollow(FOLLOW_rule__DataClass__Group__1__Impl_in_rule__DataClass__Group__113161);
             rule__DataClass__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group__2_in_rule__DataClass__Group__113472);
+            pushFollow(FOLLOW_rule__DataClass__Group__2_in_rule__DataClass__Group__113164);
             rule__DataClass__Group__2();
 
             state._fsp--;
@@ -18749,23 +18513,23 @@
 
 
     // $ANTLR start "rule__DataClass__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6337:1: rule__DataClass__Group__1__Impl : ( ( rule__DataClass__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6181:1: rule__DataClass__Group__1__Impl : ( ( rule__DataClass__NameAssignment_1 ) ) ;
     public final void rule__DataClass__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6341:1: ( ( ( rule__DataClass__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6342:1: ( ( rule__DataClass__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6185:1: ( ( ( rule__DataClass__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6186:1: ( ( rule__DataClass__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6342:1: ( ( rule__DataClass__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6343:1: ( rule__DataClass__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6186:1: ( ( rule__DataClass__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6187:1: ( rule__DataClass__NameAssignment_1 )
             {
              before(grammarAccess.getDataClassAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6344:1: ( rule__DataClass__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6344:2: rule__DataClass__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6188:1: ( rule__DataClass__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6188:2: rule__DataClass__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__DataClass__NameAssignment_1_in_rule__DataClass__Group__1__Impl13499);
+            pushFollow(FOLLOW_rule__DataClass__NameAssignment_1_in_rule__DataClass__Group__1__Impl13191);
             rule__DataClass__NameAssignment_1();
 
             state._fsp--;
@@ -18796,21 +18560,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6354:1: rule__DataClass__Group__2 : rule__DataClass__Group__2__Impl rule__DataClass__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6198:1: rule__DataClass__Group__2 : rule__DataClass__Group__2__Impl rule__DataClass__Group__3 ;
     public final void rule__DataClass__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6358:1: ( rule__DataClass__Group__2__Impl rule__DataClass__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6359:2: rule__DataClass__Group__2__Impl rule__DataClass__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6202:1: ( rule__DataClass__Group__2__Impl rule__DataClass__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6203:2: rule__DataClass__Group__2__Impl rule__DataClass__Group__3
             {
-            pushFollow(FOLLOW_rule__DataClass__Group__2__Impl_in_rule__DataClass__Group__213529);
+            pushFollow(FOLLOW_rule__DataClass__Group__2__Impl_in_rule__DataClass__Group__213221);
             rule__DataClass__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group__3_in_rule__DataClass__Group__213532);
+            pushFollow(FOLLOW_rule__DataClass__Group__3_in_rule__DataClass__Group__213224);
             rule__DataClass__Group__3();
 
             state._fsp--;
@@ -18834,31 +18598,31 @@
 
 
     // $ANTLR start "rule__DataClass__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6366:1: rule__DataClass__Group__2__Impl : ( ( rule__DataClass__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6210:1: rule__DataClass__Group__2__Impl : ( ( rule__DataClass__DocuAssignment_2 )? ) ;
     public final void rule__DataClass__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6370:1: ( ( ( rule__DataClass__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6371:1: ( ( rule__DataClass__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6214:1: ( ( ( rule__DataClass__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6215:1: ( ( rule__DataClass__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6371:1: ( ( rule__DataClass__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6372:1: ( rule__DataClass__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6215:1: ( ( rule__DataClass__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6216:1: ( rule__DataClass__DocuAssignment_2 )?
             {
              before(grammarAccess.getDataClassAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6373:1: ( rule__DataClass__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6217:1: ( rule__DataClass__DocuAssignment_2 )?
             int alt67=2;
             int LA67_0 = input.LA(1);
 
-            if ( (LA67_0==58) ) {
+            if ( (LA67_0==59) ) {
                 alt67=1;
             }
             switch (alt67) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6373:2: rule__DataClass__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6217:2: rule__DataClass__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__DataClass__DocuAssignment_2_in_rule__DataClass__Group__2__Impl13559);
+                    pushFollow(FOLLOW_rule__DataClass__DocuAssignment_2_in_rule__DataClass__Group__2__Impl13251);
                     rule__DataClass__DocuAssignment_2();
 
                     state._fsp--;
@@ -18892,21 +18656,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6383:1: rule__DataClass__Group__3 : rule__DataClass__Group__3__Impl rule__DataClass__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6227:1: rule__DataClass__Group__3 : rule__DataClass__Group__3__Impl rule__DataClass__Group__4 ;
     public final void rule__DataClass__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6387:1: ( rule__DataClass__Group__3__Impl rule__DataClass__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6388:2: rule__DataClass__Group__3__Impl rule__DataClass__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6231:1: ( rule__DataClass__Group__3__Impl rule__DataClass__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6232:2: rule__DataClass__Group__3__Impl rule__DataClass__Group__4
             {
-            pushFollow(FOLLOW_rule__DataClass__Group__3__Impl_in_rule__DataClass__Group__313590);
+            pushFollow(FOLLOW_rule__DataClass__Group__3__Impl_in_rule__DataClass__Group__313282);
             rule__DataClass__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group__4_in_rule__DataClass__Group__313593);
+            pushFollow(FOLLOW_rule__DataClass__Group__4_in_rule__DataClass__Group__313285);
             rule__DataClass__Group__4();
 
             state._fsp--;
@@ -18930,31 +18694,31 @@
 
 
     // $ANTLR start "rule__DataClass__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6395:1: rule__DataClass__Group__3__Impl : ( ( rule__DataClass__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6239:1: rule__DataClass__Group__3__Impl : ( ( rule__DataClass__Group_3__0 )? ) ;
     public final void rule__DataClass__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6399:1: ( ( ( rule__DataClass__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6400:1: ( ( rule__DataClass__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6243:1: ( ( ( rule__DataClass__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6244:1: ( ( rule__DataClass__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6400:1: ( ( rule__DataClass__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6401:1: ( rule__DataClass__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6244:1: ( ( rule__DataClass__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6245:1: ( rule__DataClass__Group_3__0 )?
             {
              before(grammarAccess.getDataClassAccess().getGroup_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6402:1: ( rule__DataClass__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6246:1: ( rule__DataClass__Group_3__0 )?
             int alt68=2;
             int LA68_0 = input.LA(1);
 
-            if ( (LA68_0==53) ) {
+            if ( (LA68_0==54) ) {
                 alt68=1;
             }
             switch (alt68) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6402:2: rule__DataClass__Group_3__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6246:2: rule__DataClass__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__DataClass__Group_3__0_in_rule__DataClass__Group__3__Impl13620);
+                    pushFollow(FOLLOW_rule__DataClass__Group_3__0_in_rule__DataClass__Group__3__Impl13312);
                     rule__DataClass__Group_3__0();
 
                     state._fsp--;
@@ -18988,21 +18752,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6412:1: rule__DataClass__Group__4 : rule__DataClass__Group__4__Impl rule__DataClass__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6256:1: rule__DataClass__Group__4 : rule__DataClass__Group__4__Impl rule__DataClass__Group__5 ;
     public final void rule__DataClass__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6416:1: ( rule__DataClass__Group__4__Impl rule__DataClass__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6417:2: rule__DataClass__Group__4__Impl rule__DataClass__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6260:1: ( rule__DataClass__Group__4__Impl rule__DataClass__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6261:2: rule__DataClass__Group__4__Impl rule__DataClass__Group__5
             {
-            pushFollow(FOLLOW_rule__DataClass__Group__4__Impl_in_rule__DataClass__Group__413651);
+            pushFollow(FOLLOW_rule__DataClass__Group__4__Impl_in_rule__DataClass__Group__413343);
             rule__DataClass__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group__5_in_rule__DataClass__Group__413654);
+            pushFollow(FOLLOW_rule__DataClass__Group__5_in_rule__DataClass__Group__413346);
             rule__DataClass__Group__5();
 
             state._fsp--;
@@ -19026,20 +18790,20 @@
 
 
     // $ANTLR start "rule__DataClass__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6424:1: rule__DataClass__Group__4__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6268:1: rule__DataClass__Group__4__Impl : ( '{' ) ;
     public final void rule__DataClass__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6428:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6429:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6272:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6273:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6429:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6430:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6273:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6274:1: '{'
             {
              before(grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_4()); 
-            match(input,40,FOLLOW_40_in_rule__DataClass__Group__4__Impl13682); 
+            match(input,41,FOLLOW_41_in_rule__DataClass__Group__4__Impl13374); 
              after(grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_4()); 
 
             }
@@ -19063,21 +18827,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6443:1: rule__DataClass__Group__5 : rule__DataClass__Group__5__Impl rule__DataClass__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6287:1: rule__DataClass__Group__5 : rule__DataClass__Group__5__Impl rule__DataClass__Group__6 ;
     public final void rule__DataClass__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6447:1: ( rule__DataClass__Group__5__Impl rule__DataClass__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6448:2: rule__DataClass__Group__5__Impl rule__DataClass__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6291:1: ( rule__DataClass__Group__5__Impl rule__DataClass__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6292:2: rule__DataClass__Group__5__Impl rule__DataClass__Group__6
             {
-            pushFollow(FOLLOW_rule__DataClass__Group__5__Impl_in_rule__DataClass__Group__513713);
+            pushFollow(FOLLOW_rule__DataClass__Group__5__Impl_in_rule__DataClass__Group__513405);
             rule__DataClass__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group__6_in_rule__DataClass__Group__513716);
+            pushFollow(FOLLOW_rule__DataClass__Group__6_in_rule__DataClass__Group__513408);
             rule__DataClass__Group__6();
 
             state._fsp--;
@@ -19101,35 +18865,35 @@
 
 
     // $ANTLR start "rule__DataClass__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6455:1: rule__DataClass__Group__5__Impl : ( ( rule__DataClass__AnnotationsAssignment_5 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6299:1: rule__DataClass__Group__5__Impl : ( ( rule__DataClass__AnnotationsAssignment_5 )* ) ;
     public final void rule__DataClass__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6459:1: ( ( ( rule__DataClass__AnnotationsAssignment_5 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6460:1: ( ( rule__DataClass__AnnotationsAssignment_5 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6303:1: ( ( ( rule__DataClass__AnnotationsAssignment_5 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6304:1: ( ( rule__DataClass__AnnotationsAssignment_5 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6460:1: ( ( rule__DataClass__AnnotationsAssignment_5 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6461:1: ( rule__DataClass__AnnotationsAssignment_5 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6304:1: ( ( rule__DataClass__AnnotationsAssignment_5 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6305:1: ( rule__DataClass__AnnotationsAssignment_5 )*
             {
              before(grammarAccess.getDataClassAccess().getAnnotationsAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6462:1: ( rule__DataClass__AnnotationsAssignment_5 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6306:1: ( rule__DataClass__AnnotationsAssignment_5 )*
             loop69:
             do {
                 int alt69=2;
                 int LA69_0 = input.LA(1);
 
-                if ( (LA69_0==119) ) {
+                if ( (LA69_0==120) ) {
                     alt69=1;
                 }
 
 
                 switch (alt69) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6462:2: rule__DataClass__AnnotationsAssignment_5
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6306:2: rule__DataClass__AnnotationsAssignment_5
             	    {
-            	    pushFollow(FOLLOW_rule__DataClass__AnnotationsAssignment_5_in_rule__DataClass__Group__5__Impl13743);
+            	    pushFollow(FOLLOW_rule__DataClass__AnnotationsAssignment_5_in_rule__DataClass__Group__5__Impl13435);
             	    rule__DataClass__AnnotationsAssignment_5();
 
             	    state._fsp--;
@@ -19166,21 +18930,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6472:1: rule__DataClass__Group__6 : rule__DataClass__Group__6__Impl rule__DataClass__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6316:1: rule__DataClass__Group__6 : rule__DataClass__Group__6__Impl rule__DataClass__Group__7 ;
     public final void rule__DataClass__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6476:1: ( rule__DataClass__Group__6__Impl rule__DataClass__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6477:2: rule__DataClass__Group__6__Impl rule__DataClass__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6320:1: ( rule__DataClass__Group__6__Impl rule__DataClass__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6321:2: rule__DataClass__Group__6__Impl rule__DataClass__Group__7
             {
-            pushFollow(FOLLOW_rule__DataClass__Group__6__Impl_in_rule__DataClass__Group__613774);
+            pushFollow(FOLLOW_rule__DataClass__Group__6__Impl_in_rule__DataClass__Group__613466);
             rule__DataClass__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group__7_in_rule__DataClass__Group__613777);
+            pushFollow(FOLLOW_rule__DataClass__Group__7_in_rule__DataClass__Group__613469);
             rule__DataClass__Group__7();
 
             state._fsp--;
@@ -19204,31 +18968,31 @@
 
 
     // $ANTLR start "rule__DataClass__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6484:1: rule__DataClass__Group__6__Impl : ( ( rule__DataClass__Group_6__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6328:1: rule__DataClass__Group__6__Impl : ( ( rule__DataClass__Group_6__0 )? ) ;
     public final void rule__DataClass__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6488:1: ( ( ( rule__DataClass__Group_6__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6489:1: ( ( rule__DataClass__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6332:1: ( ( ( rule__DataClass__Group_6__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6333:1: ( ( rule__DataClass__Group_6__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6489:1: ( ( rule__DataClass__Group_6__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6490:1: ( rule__DataClass__Group_6__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6333:1: ( ( rule__DataClass__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6334:1: ( rule__DataClass__Group_6__0 )?
             {
              before(grammarAccess.getDataClassAccess().getGroup_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6491:1: ( rule__DataClass__Group_6__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6335:1: ( rule__DataClass__Group_6__0 )?
             int alt70=2;
             int LA70_0 = input.LA(1);
 
-            if ( (LA70_0==54) ) {
+            if ( (LA70_0==55) ) {
                 alt70=1;
             }
             switch (alt70) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6491:2: rule__DataClass__Group_6__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6335:2: rule__DataClass__Group_6__0
                     {
-                    pushFollow(FOLLOW_rule__DataClass__Group_6__0_in_rule__DataClass__Group__6__Impl13804);
+                    pushFollow(FOLLOW_rule__DataClass__Group_6__0_in_rule__DataClass__Group__6__Impl13496);
                     rule__DataClass__Group_6__0();
 
                     state._fsp--;
@@ -19262,21 +19026,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6501:1: rule__DataClass__Group__7 : rule__DataClass__Group__7__Impl rule__DataClass__Group__8 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6345:1: rule__DataClass__Group__7 : rule__DataClass__Group__7__Impl rule__DataClass__Group__8 ;
     public final void rule__DataClass__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6505:1: ( rule__DataClass__Group__7__Impl rule__DataClass__Group__8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6506:2: rule__DataClass__Group__7__Impl rule__DataClass__Group__8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6349:1: ( rule__DataClass__Group__7__Impl rule__DataClass__Group__8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6350:2: rule__DataClass__Group__7__Impl rule__DataClass__Group__8
             {
-            pushFollow(FOLLOW_rule__DataClass__Group__7__Impl_in_rule__DataClass__Group__713835);
+            pushFollow(FOLLOW_rule__DataClass__Group__7__Impl_in_rule__DataClass__Group__713527);
             rule__DataClass__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group__8_in_rule__DataClass__Group__713838);
+            pushFollow(FOLLOW_rule__DataClass__Group__8_in_rule__DataClass__Group__713530);
             rule__DataClass__Group__8();
 
             state._fsp--;
@@ -19300,31 +19064,31 @@
 
 
     // $ANTLR start "rule__DataClass__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6513:1: rule__DataClass__Group__7__Impl : ( ( rule__DataClass__Group_7__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6357:1: rule__DataClass__Group__7__Impl : ( ( rule__DataClass__Group_7__0 )? ) ;
     public final void rule__DataClass__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6517:1: ( ( ( rule__DataClass__Group_7__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6518:1: ( ( rule__DataClass__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6361:1: ( ( ( rule__DataClass__Group_7__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6362:1: ( ( rule__DataClass__Group_7__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6518:1: ( ( rule__DataClass__Group_7__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6519:1: ( rule__DataClass__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6362:1: ( ( rule__DataClass__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6363:1: ( rule__DataClass__Group_7__0 )?
             {
              before(grammarAccess.getDataClassAccess().getGroup_7()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6520:1: ( rule__DataClass__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6364:1: ( rule__DataClass__Group_7__0 )?
             int alt71=2;
             int LA71_0 = input.LA(1);
 
-            if ( (LA71_0==55) ) {
+            if ( (LA71_0==56) ) {
                 alt71=1;
             }
             switch (alt71) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6520:2: rule__DataClass__Group_7__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6364:2: rule__DataClass__Group_7__0
                     {
-                    pushFollow(FOLLOW_rule__DataClass__Group_7__0_in_rule__DataClass__Group__7__Impl13865);
+                    pushFollow(FOLLOW_rule__DataClass__Group_7__0_in_rule__DataClass__Group__7__Impl13557);
                     rule__DataClass__Group_7__0();
 
                     state._fsp--;
@@ -19358,21 +19122,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group__8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6530:1: rule__DataClass__Group__8 : rule__DataClass__Group__8__Impl rule__DataClass__Group__9 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6374:1: rule__DataClass__Group__8 : rule__DataClass__Group__8__Impl rule__DataClass__Group__9 ;
     public final void rule__DataClass__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6534:1: ( rule__DataClass__Group__8__Impl rule__DataClass__Group__9 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6535:2: rule__DataClass__Group__8__Impl rule__DataClass__Group__9
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6378:1: ( rule__DataClass__Group__8__Impl rule__DataClass__Group__9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6379:2: rule__DataClass__Group__8__Impl rule__DataClass__Group__9
             {
-            pushFollow(FOLLOW_rule__DataClass__Group__8__Impl_in_rule__DataClass__Group__813896);
+            pushFollow(FOLLOW_rule__DataClass__Group__8__Impl_in_rule__DataClass__Group__813588);
             rule__DataClass__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group__9_in_rule__DataClass__Group__813899);
+            pushFollow(FOLLOW_rule__DataClass__Group__9_in_rule__DataClass__Group__813591);
             rule__DataClass__Group__9();
 
             state._fsp--;
@@ -19396,31 +19160,31 @@
 
 
     // $ANTLR start "rule__DataClass__Group__8__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6542:1: rule__DataClass__Group__8__Impl : ( ( rule__DataClass__Group_8__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6386:1: rule__DataClass__Group__8__Impl : ( ( rule__DataClass__Group_8__0 )? ) ;
     public final void rule__DataClass__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6546:1: ( ( ( rule__DataClass__Group_8__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6547:1: ( ( rule__DataClass__Group_8__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6390:1: ( ( ( rule__DataClass__Group_8__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6391:1: ( ( rule__DataClass__Group_8__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6547:1: ( ( rule__DataClass__Group_8__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6548:1: ( rule__DataClass__Group_8__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6391:1: ( ( rule__DataClass__Group_8__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6392:1: ( rule__DataClass__Group_8__0 )?
             {
              before(grammarAccess.getDataClassAccess().getGroup_8()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6549:1: ( rule__DataClass__Group_8__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6393:1: ( rule__DataClass__Group_8__0 )?
             int alt72=2;
             int LA72_0 = input.LA(1);
 
-            if ( (LA72_0==56) ) {
+            if ( (LA72_0==57) ) {
                 alt72=1;
             }
             switch (alt72) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6549:2: rule__DataClass__Group_8__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6393:2: rule__DataClass__Group_8__0
                     {
-                    pushFollow(FOLLOW_rule__DataClass__Group_8__0_in_rule__DataClass__Group__8__Impl13926);
+                    pushFollow(FOLLOW_rule__DataClass__Group_8__0_in_rule__DataClass__Group__8__Impl13618);
                     rule__DataClass__Group_8__0();
 
                     state._fsp--;
@@ -19454,21 +19218,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group__9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6559:1: rule__DataClass__Group__9 : rule__DataClass__Group__9__Impl rule__DataClass__Group__10 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6403:1: rule__DataClass__Group__9 : rule__DataClass__Group__9__Impl rule__DataClass__Group__10 ;
     public final void rule__DataClass__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6563:1: ( rule__DataClass__Group__9__Impl rule__DataClass__Group__10 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6564:2: rule__DataClass__Group__9__Impl rule__DataClass__Group__10
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6407:1: ( rule__DataClass__Group__9__Impl rule__DataClass__Group__10 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6408:2: rule__DataClass__Group__9__Impl rule__DataClass__Group__10
             {
-            pushFollow(FOLLOW_rule__DataClass__Group__9__Impl_in_rule__DataClass__Group__913957);
+            pushFollow(FOLLOW_rule__DataClass__Group__9__Impl_in_rule__DataClass__Group__913649);
             rule__DataClass__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group__10_in_rule__DataClass__Group__913960);
+            pushFollow(FOLLOW_rule__DataClass__Group__10_in_rule__DataClass__Group__913652);
             rule__DataClass__Group__10();
 
             state._fsp--;
@@ -19492,35 +19256,35 @@
 
 
     // $ANTLR start "rule__DataClass__Group__9__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6571:1: rule__DataClass__Group__9__Impl : ( ( rule__DataClass__Alternatives_9 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6415:1: rule__DataClass__Group__9__Impl : ( ( rule__DataClass__Alternatives_9 )* ) ;
     public final void rule__DataClass__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6575:1: ( ( ( rule__DataClass__Alternatives_9 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6576:1: ( ( rule__DataClass__Alternatives_9 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6419:1: ( ( ( rule__DataClass__Alternatives_9 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6420:1: ( ( rule__DataClass__Alternatives_9 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6576:1: ( ( rule__DataClass__Alternatives_9 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6577:1: ( rule__DataClass__Alternatives_9 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6420:1: ( ( rule__DataClass__Alternatives_9 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6421:1: ( rule__DataClass__Alternatives_9 )*
             {
              before(grammarAccess.getDataClassAccess().getAlternatives_9()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6578:1: ( rule__DataClass__Alternatives_9 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6422:1: ( rule__DataClass__Alternatives_9 )*
             loop73:
             do {
                 int alt73=2;
                 int LA73_0 = input.LA(1);
 
-                if ( ((LA73_0>=14 && LA73_0<=15)||LA73_0==57||LA73_0==60||LA73_0==126) ) {
+                if ( ((LA73_0>=13 && LA73_0<=14)||LA73_0==58||LA73_0==61||LA73_0==127) ) {
                     alt73=1;
                 }
 
 
                 switch (alt73) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6578:2: rule__DataClass__Alternatives_9
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6422:2: rule__DataClass__Alternatives_9
             	    {
-            	    pushFollow(FOLLOW_rule__DataClass__Alternatives_9_in_rule__DataClass__Group__9__Impl13987);
+            	    pushFollow(FOLLOW_rule__DataClass__Alternatives_9_in_rule__DataClass__Group__9__Impl13679);
             	    rule__DataClass__Alternatives_9();
 
             	    state._fsp--;
@@ -19557,16 +19321,16 @@
 
 
     // $ANTLR start "rule__DataClass__Group__10"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6588:1: rule__DataClass__Group__10 : rule__DataClass__Group__10__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6432:1: rule__DataClass__Group__10 : rule__DataClass__Group__10__Impl ;
     public final void rule__DataClass__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6592:1: ( rule__DataClass__Group__10__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6593:2: rule__DataClass__Group__10__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6436:1: ( rule__DataClass__Group__10__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6437:2: rule__DataClass__Group__10__Impl
             {
-            pushFollow(FOLLOW_rule__DataClass__Group__10__Impl_in_rule__DataClass__Group__1014018);
+            pushFollow(FOLLOW_rule__DataClass__Group__10__Impl_in_rule__DataClass__Group__1013710);
             rule__DataClass__Group__10__Impl();
 
             state._fsp--;
@@ -19590,20 +19354,20 @@
 
 
     // $ANTLR start "rule__DataClass__Group__10__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6599:1: rule__DataClass__Group__10__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6443:1: rule__DataClass__Group__10__Impl : ( '}' ) ;
     public final void rule__DataClass__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6603:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6604:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6447:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6448:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6604:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6605:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6448:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6449:1: '}'
             {
              before(grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_10()); 
-            match(input,41,FOLLOW_41_in_rule__DataClass__Group__10__Impl14046); 
+            match(input,42,FOLLOW_42_in_rule__DataClass__Group__10__Impl13738); 
              after(grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_10()); 
 
             }
@@ -19627,21 +19391,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group_3__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6640:1: rule__DataClass__Group_3__0 : rule__DataClass__Group_3__0__Impl rule__DataClass__Group_3__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6484:1: rule__DataClass__Group_3__0 : rule__DataClass__Group_3__0__Impl rule__DataClass__Group_3__1 ;
     public final void rule__DataClass__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6644:1: ( rule__DataClass__Group_3__0__Impl rule__DataClass__Group_3__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6645:2: rule__DataClass__Group_3__0__Impl rule__DataClass__Group_3__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6488:1: ( rule__DataClass__Group_3__0__Impl rule__DataClass__Group_3__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6489:2: rule__DataClass__Group_3__0__Impl rule__DataClass__Group_3__1
             {
-            pushFollow(FOLLOW_rule__DataClass__Group_3__0__Impl_in_rule__DataClass__Group_3__014099);
+            pushFollow(FOLLOW_rule__DataClass__Group_3__0__Impl_in_rule__DataClass__Group_3__013791);
             rule__DataClass__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group_3__1_in_rule__DataClass__Group_3__014102);
+            pushFollow(FOLLOW_rule__DataClass__Group_3__1_in_rule__DataClass__Group_3__013794);
             rule__DataClass__Group_3__1();
 
             state._fsp--;
@@ -19665,20 +19429,20 @@
 
 
     // $ANTLR start "rule__DataClass__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6652:1: rule__DataClass__Group_3__0__Impl : ( 'extends' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6496:1: rule__DataClass__Group_3__0__Impl : ( 'extends' ) ;
     public final void rule__DataClass__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6656:1: ( ( 'extends' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6657:1: ( 'extends' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6500:1: ( ( 'extends' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6501:1: ( 'extends' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6657:1: ( 'extends' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6658:1: 'extends'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6501:1: ( 'extends' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6502:1: 'extends'
             {
              before(grammarAccess.getDataClassAccess().getExtendsKeyword_3_0()); 
-            match(input,53,FOLLOW_53_in_rule__DataClass__Group_3__0__Impl14130); 
+            match(input,54,FOLLOW_54_in_rule__DataClass__Group_3__0__Impl13822); 
              after(grammarAccess.getDataClassAccess().getExtendsKeyword_3_0()); 
 
             }
@@ -19702,16 +19466,16 @@
 
 
     // $ANTLR start "rule__DataClass__Group_3__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6671:1: rule__DataClass__Group_3__1 : rule__DataClass__Group_3__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6515:1: rule__DataClass__Group_3__1 : rule__DataClass__Group_3__1__Impl ;
     public final void rule__DataClass__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6675:1: ( rule__DataClass__Group_3__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6676:2: rule__DataClass__Group_3__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6519:1: ( rule__DataClass__Group_3__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6520:2: rule__DataClass__Group_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__DataClass__Group_3__1__Impl_in_rule__DataClass__Group_3__114161);
+            pushFollow(FOLLOW_rule__DataClass__Group_3__1__Impl_in_rule__DataClass__Group_3__113853);
             rule__DataClass__Group_3__1__Impl();
 
             state._fsp--;
@@ -19735,23 +19499,23 @@
 
 
     // $ANTLR start "rule__DataClass__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6682:1: rule__DataClass__Group_3__1__Impl : ( ( rule__DataClass__BaseAssignment_3_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6526:1: rule__DataClass__Group_3__1__Impl : ( ( rule__DataClass__BaseAssignment_3_1 ) ) ;
     public final void rule__DataClass__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6686:1: ( ( ( rule__DataClass__BaseAssignment_3_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6687:1: ( ( rule__DataClass__BaseAssignment_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6530:1: ( ( ( rule__DataClass__BaseAssignment_3_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6531:1: ( ( rule__DataClass__BaseAssignment_3_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6687:1: ( ( rule__DataClass__BaseAssignment_3_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6688:1: ( rule__DataClass__BaseAssignment_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6531:1: ( ( rule__DataClass__BaseAssignment_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6532:1: ( rule__DataClass__BaseAssignment_3_1 )
             {
              before(grammarAccess.getDataClassAccess().getBaseAssignment_3_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6689:1: ( rule__DataClass__BaseAssignment_3_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6689:2: rule__DataClass__BaseAssignment_3_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6533:1: ( rule__DataClass__BaseAssignment_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6533:2: rule__DataClass__BaseAssignment_3_1
             {
-            pushFollow(FOLLOW_rule__DataClass__BaseAssignment_3_1_in_rule__DataClass__Group_3__1__Impl14188);
+            pushFollow(FOLLOW_rule__DataClass__BaseAssignment_3_1_in_rule__DataClass__Group_3__1__Impl13880);
             rule__DataClass__BaseAssignment_3_1();
 
             state._fsp--;
@@ -19782,21 +19546,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group_6__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6703:1: rule__DataClass__Group_6__0 : rule__DataClass__Group_6__0__Impl rule__DataClass__Group_6__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6547:1: rule__DataClass__Group_6__0 : rule__DataClass__Group_6__0__Impl rule__DataClass__Group_6__1 ;
     public final void rule__DataClass__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6707:1: ( rule__DataClass__Group_6__0__Impl rule__DataClass__Group_6__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6708:2: rule__DataClass__Group_6__0__Impl rule__DataClass__Group_6__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6551:1: ( rule__DataClass__Group_6__0__Impl rule__DataClass__Group_6__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6552:2: rule__DataClass__Group_6__0__Impl rule__DataClass__Group_6__1
             {
-            pushFollow(FOLLOW_rule__DataClass__Group_6__0__Impl_in_rule__DataClass__Group_6__014222);
+            pushFollow(FOLLOW_rule__DataClass__Group_6__0__Impl_in_rule__DataClass__Group_6__013914);
             rule__DataClass__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group_6__1_in_rule__DataClass__Group_6__014225);
+            pushFollow(FOLLOW_rule__DataClass__Group_6__1_in_rule__DataClass__Group_6__013917);
             rule__DataClass__Group_6__1();
 
             state._fsp--;
@@ -19820,20 +19584,20 @@
 
 
     // $ANTLR start "rule__DataClass__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6715:1: rule__DataClass__Group_6__0__Impl : ( 'usercode1' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6559:1: rule__DataClass__Group_6__0__Impl : ( 'usercode1' ) ;
     public final void rule__DataClass__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6719:1: ( ( 'usercode1' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6720:1: ( 'usercode1' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6563:1: ( ( 'usercode1' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6564:1: ( 'usercode1' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6720:1: ( 'usercode1' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6721:1: 'usercode1'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6564:1: ( 'usercode1' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6565:1: 'usercode1'
             {
              before(grammarAccess.getDataClassAccess().getUsercode1Keyword_6_0()); 
-            match(input,54,FOLLOW_54_in_rule__DataClass__Group_6__0__Impl14253); 
+            match(input,55,FOLLOW_55_in_rule__DataClass__Group_6__0__Impl13945); 
              after(grammarAccess.getDataClassAccess().getUsercode1Keyword_6_0()); 
 
             }
@@ -19857,16 +19621,16 @@
 
 
     // $ANTLR start "rule__DataClass__Group_6__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6734:1: rule__DataClass__Group_6__1 : rule__DataClass__Group_6__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6578:1: rule__DataClass__Group_6__1 : rule__DataClass__Group_6__1__Impl ;
     public final void rule__DataClass__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6738:1: ( rule__DataClass__Group_6__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6739:2: rule__DataClass__Group_6__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6582:1: ( rule__DataClass__Group_6__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6583:2: rule__DataClass__Group_6__1__Impl
             {
-            pushFollow(FOLLOW_rule__DataClass__Group_6__1__Impl_in_rule__DataClass__Group_6__114284);
+            pushFollow(FOLLOW_rule__DataClass__Group_6__1__Impl_in_rule__DataClass__Group_6__113976);
             rule__DataClass__Group_6__1__Impl();
 
             state._fsp--;
@@ -19890,23 +19654,23 @@
 
 
     // $ANTLR start "rule__DataClass__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6745:1: rule__DataClass__Group_6__1__Impl : ( ( rule__DataClass__UserCode1Assignment_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6589:1: rule__DataClass__Group_6__1__Impl : ( ( rule__DataClass__UserCode1Assignment_6_1 ) ) ;
     public final void rule__DataClass__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6749:1: ( ( ( rule__DataClass__UserCode1Assignment_6_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6750:1: ( ( rule__DataClass__UserCode1Assignment_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6593:1: ( ( ( rule__DataClass__UserCode1Assignment_6_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6594:1: ( ( rule__DataClass__UserCode1Assignment_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6750:1: ( ( rule__DataClass__UserCode1Assignment_6_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6751:1: ( rule__DataClass__UserCode1Assignment_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6594:1: ( ( rule__DataClass__UserCode1Assignment_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6595:1: ( rule__DataClass__UserCode1Assignment_6_1 )
             {
              before(grammarAccess.getDataClassAccess().getUserCode1Assignment_6_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6752:1: ( rule__DataClass__UserCode1Assignment_6_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6752:2: rule__DataClass__UserCode1Assignment_6_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6596:1: ( rule__DataClass__UserCode1Assignment_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6596:2: rule__DataClass__UserCode1Assignment_6_1
             {
-            pushFollow(FOLLOW_rule__DataClass__UserCode1Assignment_6_1_in_rule__DataClass__Group_6__1__Impl14311);
+            pushFollow(FOLLOW_rule__DataClass__UserCode1Assignment_6_1_in_rule__DataClass__Group_6__1__Impl14003);
             rule__DataClass__UserCode1Assignment_6_1();
 
             state._fsp--;
@@ -19937,21 +19701,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group_7__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6766:1: rule__DataClass__Group_7__0 : rule__DataClass__Group_7__0__Impl rule__DataClass__Group_7__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6610:1: rule__DataClass__Group_7__0 : rule__DataClass__Group_7__0__Impl rule__DataClass__Group_7__1 ;
     public final void rule__DataClass__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6770:1: ( rule__DataClass__Group_7__0__Impl rule__DataClass__Group_7__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6771:2: rule__DataClass__Group_7__0__Impl rule__DataClass__Group_7__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6614:1: ( rule__DataClass__Group_7__0__Impl rule__DataClass__Group_7__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6615:2: rule__DataClass__Group_7__0__Impl rule__DataClass__Group_7__1
             {
-            pushFollow(FOLLOW_rule__DataClass__Group_7__0__Impl_in_rule__DataClass__Group_7__014345);
+            pushFollow(FOLLOW_rule__DataClass__Group_7__0__Impl_in_rule__DataClass__Group_7__014037);
             rule__DataClass__Group_7__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group_7__1_in_rule__DataClass__Group_7__014348);
+            pushFollow(FOLLOW_rule__DataClass__Group_7__1_in_rule__DataClass__Group_7__014040);
             rule__DataClass__Group_7__1();
 
             state._fsp--;
@@ -19975,20 +19739,20 @@
 
 
     // $ANTLR start "rule__DataClass__Group_7__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6778:1: rule__DataClass__Group_7__0__Impl : ( 'usercode2' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6622:1: rule__DataClass__Group_7__0__Impl : ( 'usercode2' ) ;
     public final void rule__DataClass__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6782:1: ( ( 'usercode2' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6783:1: ( 'usercode2' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6626:1: ( ( 'usercode2' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6627:1: ( 'usercode2' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6783:1: ( 'usercode2' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6784:1: 'usercode2'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6627:1: ( 'usercode2' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6628:1: 'usercode2'
             {
              before(grammarAccess.getDataClassAccess().getUsercode2Keyword_7_0()); 
-            match(input,55,FOLLOW_55_in_rule__DataClass__Group_7__0__Impl14376); 
+            match(input,56,FOLLOW_56_in_rule__DataClass__Group_7__0__Impl14068); 
              after(grammarAccess.getDataClassAccess().getUsercode2Keyword_7_0()); 
 
             }
@@ -20012,16 +19776,16 @@
 
 
     // $ANTLR start "rule__DataClass__Group_7__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6797:1: rule__DataClass__Group_7__1 : rule__DataClass__Group_7__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6641:1: rule__DataClass__Group_7__1 : rule__DataClass__Group_7__1__Impl ;
     public final void rule__DataClass__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6801:1: ( rule__DataClass__Group_7__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6802:2: rule__DataClass__Group_7__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6645:1: ( rule__DataClass__Group_7__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6646:2: rule__DataClass__Group_7__1__Impl
             {
-            pushFollow(FOLLOW_rule__DataClass__Group_7__1__Impl_in_rule__DataClass__Group_7__114407);
+            pushFollow(FOLLOW_rule__DataClass__Group_7__1__Impl_in_rule__DataClass__Group_7__114099);
             rule__DataClass__Group_7__1__Impl();
 
             state._fsp--;
@@ -20045,23 +19809,23 @@
 
 
     // $ANTLR start "rule__DataClass__Group_7__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6808:1: rule__DataClass__Group_7__1__Impl : ( ( rule__DataClass__UserCode2Assignment_7_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6652:1: rule__DataClass__Group_7__1__Impl : ( ( rule__DataClass__UserCode2Assignment_7_1 ) ) ;
     public final void rule__DataClass__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6812:1: ( ( ( rule__DataClass__UserCode2Assignment_7_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6813:1: ( ( rule__DataClass__UserCode2Assignment_7_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6656:1: ( ( ( rule__DataClass__UserCode2Assignment_7_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6657:1: ( ( rule__DataClass__UserCode2Assignment_7_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6813:1: ( ( rule__DataClass__UserCode2Assignment_7_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6814:1: ( rule__DataClass__UserCode2Assignment_7_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6657:1: ( ( rule__DataClass__UserCode2Assignment_7_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6658:1: ( rule__DataClass__UserCode2Assignment_7_1 )
             {
              before(grammarAccess.getDataClassAccess().getUserCode2Assignment_7_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6815:1: ( rule__DataClass__UserCode2Assignment_7_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6815:2: rule__DataClass__UserCode2Assignment_7_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6659:1: ( rule__DataClass__UserCode2Assignment_7_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6659:2: rule__DataClass__UserCode2Assignment_7_1
             {
-            pushFollow(FOLLOW_rule__DataClass__UserCode2Assignment_7_1_in_rule__DataClass__Group_7__1__Impl14434);
+            pushFollow(FOLLOW_rule__DataClass__UserCode2Assignment_7_1_in_rule__DataClass__Group_7__1__Impl14126);
             rule__DataClass__UserCode2Assignment_7_1();
 
             state._fsp--;
@@ -20092,21 +19856,21 @@
 
 
     // $ANTLR start "rule__DataClass__Group_8__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6829:1: rule__DataClass__Group_8__0 : rule__DataClass__Group_8__0__Impl rule__DataClass__Group_8__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6673:1: rule__DataClass__Group_8__0 : rule__DataClass__Group_8__0__Impl rule__DataClass__Group_8__1 ;
     public final void rule__DataClass__Group_8__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6833:1: ( rule__DataClass__Group_8__0__Impl rule__DataClass__Group_8__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6834:2: rule__DataClass__Group_8__0__Impl rule__DataClass__Group_8__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6677:1: ( rule__DataClass__Group_8__0__Impl rule__DataClass__Group_8__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6678:2: rule__DataClass__Group_8__0__Impl rule__DataClass__Group_8__1
             {
-            pushFollow(FOLLOW_rule__DataClass__Group_8__0__Impl_in_rule__DataClass__Group_8__014468);
+            pushFollow(FOLLOW_rule__DataClass__Group_8__0__Impl_in_rule__DataClass__Group_8__014160);
             rule__DataClass__Group_8__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DataClass__Group_8__1_in_rule__DataClass__Group_8__014471);
+            pushFollow(FOLLOW_rule__DataClass__Group_8__1_in_rule__DataClass__Group_8__014163);
             rule__DataClass__Group_8__1();
 
             state._fsp--;
@@ -20130,20 +19894,20 @@
 
 
     // $ANTLR start "rule__DataClass__Group_8__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6841:1: rule__DataClass__Group_8__0__Impl : ( 'usercode3' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6685:1: rule__DataClass__Group_8__0__Impl : ( 'usercode3' ) ;
     public final void rule__DataClass__Group_8__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6845:1: ( ( 'usercode3' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6846:1: ( 'usercode3' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6689:1: ( ( 'usercode3' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6690:1: ( 'usercode3' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6846:1: ( 'usercode3' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6847:1: 'usercode3'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6690:1: ( 'usercode3' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6691:1: 'usercode3'
             {
              before(grammarAccess.getDataClassAccess().getUsercode3Keyword_8_0()); 
-            match(input,56,FOLLOW_56_in_rule__DataClass__Group_8__0__Impl14499); 
+            match(input,57,FOLLOW_57_in_rule__DataClass__Group_8__0__Impl14191); 
              after(grammarAccess.getDataClassAccess().getUsercode3Keyword_8_0()); 
 
             }
@@ -20167,16 +19931,16 @@
 
 
     // $ANTLR start "rule__DataClass__Group_8__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6860:1: rule__DataClass__Group_8__1 : rule__DataClass__Group_8__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6704:1: rule__DataClass__Group_8__1 : rule__DataClass__Group_8__1__Impl ;
     public final void rule__DataClass__Group_8__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6864:1: ( rule__DataClass__Group_8__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6865:2: rule__DataClass__Group_8__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6708:1: ( rule__DataClass__Group_8__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6709:2: rule__DataClass__Group_8__1__Impl
             {
-            pushFollow(FOLLOW_rule__DataClass__Group_8__1__Impl_in_rule__DataClass__Group_8__114530);
+            pushFollow(FOLLOW_rule__DataClass__Group_8__1__Impl_in_rule__DataClass__Group_8__114222);
             rule__DataClass__Group_8__1__Impl();
 
             state._fsp--;
@@ -20200,23 +19964,23 @@
 
 
     // $ANTLR start "rule__DataClass__Group_8__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6871:1: rule__DataClass__Group_8__1__Impl : ( ( rule__DataClass__UserCode3Assignment_8_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6715:1: rule__DataClass__Group_8__1__Impl : ( ( rule__DataClass__UserCode3Assignment_8_1 ) ) ;
     public final void rule__DataClass__Group_8__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6875:1: ( ( ( rule__DataClass__UserCode3Assignment_8_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6876:1: ( ( rule__DataClass__UserCode3Assignment_8_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6719:1: ( ( ( rule__DataClass__UserCode3Assignment_8_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6720:1: ( ( rule__DataClass__UserCode3Assignment_8_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6876:1: ( ( rule__DataClass__UserCode3Assignment_8_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6877:1: ( rule__DataClass__UserCode3Assignment_8_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6720:1: ( ( rule__DataClass__UserCode3Assignment_8_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6721:1: ( rule__DataClass__UserCode3Assignment_8_1 )
             {
              before(grammarAccess.getDataClassAccess().getUserCode3Assignment_8_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6878:1: ( rule__DataClass__UserCode3Assignment_8_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6878:2: rule__DataClass__UserCode3Assignment_8_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6722:1: ( rule__DataClass__UserCode3Assignment_8_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6722:2: rule__DataClass__UserCode3Assignment_8_1
             {
-            pushFollow(FOLLOW_rule__DataClass__UserCode3Assignment_8_1_in_rule__DataClass__Group_8__1__Impl14557);
+            pushFollow(FOLLOW_rule__DataClass__UserCode3Assignment_8_1_in_rule__DataClass__Group_8__1__Impl14249);
             rule__DataClass__UserCode3Assignment_8_1();
 
             state._fsp--;
@@ -20247,21 +20011,21 @@
 
 
     // $ANTLR start "rule__Attribute__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6892:1: rule__Attribute__Group__0 : rule__Attribute__Group__0__Impl rule__Attribute__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6736:1: rule__Attribute__Group__0 : rule__Attribute__Group__0__Impl rule__Attribute__Group__1 ;
     public final void rule__Attribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6896:1: ( rule__Attribute__Group__0__Impl rule__Attribute__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6897:2: rule__Attribute__Group__0__Impl rule__Attribute__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6740:1: ( rule__Attribute__Group__0__Impl rule__Attribute__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6741:2: rule__Attribute__Group__0__Impl rule__Attribute__Group__1
             {
-            pushFollow(FOLLOW_rule__Attribute__Group__0__Impl_in_rule__Attribute__Group__014591);
+            pushFollow(FOLLOW_rule__Attribute__Group__0__Impl_in_rule__Attribute__Group__014283);
             rule__Attribute__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Attribute__Group__1_in_rule__Attribute__Group__014594);
+            pushFollow(FOLLOW_rule__Attribute__Group__1_in_rule__Attribute__Group__014286);
             rule__Attribute__Group__1();
 
             state._fsp--;
@@ -20285,20 +20049,20 @@
 
 
     // $ANTLR start "rule__Attribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6904:1: rule__Attribute__Group__0__Impl : ( 'Attribute' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6748:1: rule__Attribute__Group__0__Impl : ( 'Attribute' ) ;
     public final void rule__Attribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6908:1: ( ( 'Attribute' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6909:1: ( 'Attribute' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6752:1: ( ( 'Attribute' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6753:1: ( 'Attribute' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6909:1: ( 'Attribute' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6910:1: 'Attribute'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6753:1: ( 'Attribute' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6754:1: 'Attribute'
             {
              before(grammarAccess.getAttributeAccess().getAttributeKeyword_0()); 
-            match(input,57,FOLLOW_57_in_rule__Attribute__Group__0__Impl14622); 
+            match(input,58,FOLLOW_58_in_rule__Attribute__Group__0__Impl14314); 
              after(grammarAccess.getAttributeAccess().getAttributeKeyword_0()); 
 
             }
@@ -20322,21 +20086,21 @@
 
 
     // $ANTLR start "rule__Attribute__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6923:1: rule__Attribute__Group__1 : rule__Attribute__Group__1__Impl rule__Attribute__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6767:1: rule__Attribute__Group__1 : rule__Attribute__Group__1__Impl rule__Attribute__Group__2 ;
     public final void rule__Attribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6927:1: ( rule__Attribute__Group__1__Impl rule__Attribute__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6928:2: rule__Attribute__Group__1__Impl rule__Attribute__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6771:1: ( rule__Attribute__Group__1__Impl rule__Attribute__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6772:2: rule__Attribute__Group__1__Impl rule__Attribute__Group__2
             {
-            pushFollow(FOLLOW_rule__Attribute__Group__1__Impl_in_rule__Attribute__Group__114653);
+            pushFollow(FOLLOW_rule__Attribute__Group__1__Impl_in_rule__Attribute__Group__114345);
             rule__Attribute__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Attribute__Group__2_in_rule__Attribute__Group__114656);
+            pushFollow(FOLLOW_rule__Attribute__Group__2_in_rule__Attribute__Group__114348);
             rule__Attribute__Group__2();
 
             state._fsp--;
@@ -20360,23 +20124,23 @@
 
 
     // $ANTLR start "rule__Attribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6935:1: rule__Attribute__Group__1__Impl : ( ( rule__Attribute__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6779:1: rule__Attribute__Group__1__Impl : ( ( rule__Attribute__NameAssignment_1 ) ) ;
     public final void rule__Attribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6939:1: ( ( ( rule__Attribute__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6940:1: ( ( rule__Attribute__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6783:1: ( ( ( rule__Attribute__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6784:1: ( ( rule__Attribute__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6940:1: ( ( rule__Attribute__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6941:1: ( rule__Attribute__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6784:1: ( ( rule__Attribute__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6785:1: ( rule__Attribute__NameAssignment_1 )
             {
              before(grammarAccess.getAttributeAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6942:1: ( rule__Attribute__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6942:2: rule__Attribute__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6786:1: ( rule__Attribute__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6786:2: rule__Attribute__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__Attribute__NameAssignment_1_in_rule__Attribute__Group__1__Impl14683);
+            pushFollow(FOLLOW_rule__Attribute__NameAssignment_1_in_rule__Attribute__Group__1__Impl14375);
             rule__Attribute__NameAssignment_1();
 
             state._fsp--;
@@ -20407,21 +20171,21 @@
 
 
     // $ANTLR start "rule__Attribute__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6952:1: rule__Attribute__Group__2 : rule__Attribute__Group__2__Impl rule__Attribute__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6796:1: rule__Attribute__Group__2 : rule__Attribute__Group__2__Impl rule__Attribute__Group__3 ;
     public final void rule__Attribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6956:1: ( rule__Attribute__Group__2__Impl rule__Attribute__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6957:2: rule__Attribute__Group__2__Impl rule__Attribute__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6800:1: ( rule__Attribute__Group__2__Impl rule__Attribute__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6801:2: rule__Attribute__Group__2__Impl rule__Attribute__Group__3
             {
-            pushFollow(FOLLOW_rule__Attribute__Group__2__Impl_in_rule__Attribute__Group__214713);
+            pushFollow(FOLLOW_rule__Attribute__Group__2__Impl_in_rule__Attribute__Group__214405);
             rule__Attribute__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Attribute__Group__3_in_rule__Attribute__Group__214716);
+            pushFollow(FOLLOW_rule__Attribute__Group__3_in_rule__Attribute__Group__214408);
             rule__Attribute__Group__3();
 
             state._fsp--;
@@ -20445,31 +20209,31 @@
 
 
     // $ANTLR start "rule__Attribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6964:1: rule__Attribute__Group__2__Impl : ( ( rule__Attribute__Group_2__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6808:1: rule__Attribute__Group__2__Impl : ( ( rule__Attribute__Group_2__0 )? ) ;
     public final void rule__Attribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6968:1: ( ( ( rule__Attribute__Group_2__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6969:1: ( ( rule__Attribute__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6812:1: ( ( ( rule__Attribute__Group_2__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6813:1: ( ( rule__Attribute__Group_2__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6969:1: ( ( rule__Attribute__Group_2__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6970:1: ( rule__Attribute__Group_2__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6813:1: ( ( rule__Attribute__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6814:1: ( rule__Attribute__Group_2__0 )?
             {
              before(grammarAccess.getAttributeAccess().getGroup_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6971:1: ( rule__Attribute__Group_2__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6815:1: ( rule__Attribute__Group_2__0 )?
             int alt74=2;
             int LA74_0 = input.LA(1);
 
-            if ( (LA74_0==58) ) {
+            if ( (LA74_0==59) ) {
                 alt74=1;
             }
             switch (alt74) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6971:2: rule__Attribute__Group_2__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6815:2: rule__Attribute__Group_2__0
                     {
-                    pushFollow(FOLLOW_rule__Attribute__Group_2__0_in_rule__Attribute__Group__2__Impl14743);
+                    pushFollow(FOLLOW_rule__Attribute__Group_2__0_in_rule__Attribute__Group__2__Impl14435);
                     rule__Attribute__Group_2__0();
 
                     state._fsp--;
@@ -20503,21 +20267,21 @@
 
 
     // $ANTLR start "rule__Attribute__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6981:1: rule__Attribute__Group__3 : rule__Attribute__Group__3__Impl rule__Attribute__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6825:1: rule__Attribute__Group__3 : rule__Attribute__Group__3__Impl rule__Attribute__Group__4 ;
     public final void rule__Attribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6985:1: ( rule__Attribute__Group__3__Impl rule__Attribute__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6986:2: rule__Attribute__Group__3__Impl rule__Attribute__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6829:1: ( rule__Attribute__Group__3__Impl rule__Attribute__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6830:2: rule__Attribute__Group__3__Impl rule__Attribute__Group__4
             {
-            pushFollow(FOLLOW_rule__Attribute__Group__3__Impl_in_rule__Attribute__Group__314774);
+            pushFollow(FOLLOW_rule__Attribute__Group__3__Impl_in_rule__Attribute__Group__314466);
             rule__Attribute__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Attribute__Group__4_in_rule__Attribute__Group__314777);
+            pushFollow(FOLLOW_rule__Attribute__Group__4_in_rule__Attribute__Group__314469);
             rule__Attribute__Group__4();
 
             state._fsp--;
@@ -20541,20 +20305,20 @@
 
 
     // $ANTLR start "rule__Attribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6993:1: rule__Attribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6837:1: rule__Attribute__Group__3__Impl : ( ':' ) ;
     public final void rule__Attribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6997:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6998:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6841:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6842:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6998:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6999:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6842:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6843:1: ':'
             {
              before(grammarAccess.getAttributeAccess().getColonKeyword_3()); 
-            match(input,42,FOLLOW_42_in_rule__Attribute__Group__3__Impl14805); 
+            match(input,43,FOLLOW_43_in_rule__Attribute__Group__3__Impl14497); 
              after(grammarAccess.getAttributeAccess().getColonKeyword_3()); 
 
             }
@@ -20578,21 +20342,21 @@
 
 
     // $ANTLR start "rule__Attribute__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7012:1: rule__Attribute__Group__4 : rule__Attribute__Group__4__Impl rule__Attribute__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6856:1: rule__Attribute__Group__4 : rule__Attribute__Group__4__Impl rule__Attribute__Group__5 ;
     public final void rule__Attribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7016:1: ( rule__Attribute__Group__4__Impl rule__Attribute__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7017:2: rule__Attribute__Group__4__Impl rule__Attribute__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6860:1: ( rule__Attribute__Group__4__Impl rule__Attribute__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6861:2: rule__Attribute__Group__4__Impl rule__Attribute__Group__5
             {
-            pushFollow(FOLLOW_rule__Attribute__Group__4__Impl_in_rule__Attribute__Group__414836);
+            pushFollow(FOLLOW_rule__Attribute__Group__4__Impl_in_rule__Attribute__Group__414528);
             rule__Attribute__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Attribute__Group__5_in_rule__Attribute__Group__414839);
+            pushFollow(FOLLOW_rule__Attribute__Group__5_in_rule__Attribute__Group__414531);
             rule__Attribute__Group__5();
 
             state._fsp--;
@@ -20616,20 +20380,20 @@
 
 
     // $ANTLR start "rule__Attribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7024:1: rule__Attribute__Group__4__Impl : ( ( rule__Attribute__TypeAssignment_4 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6868:1: rule__Attribute__Group__4__Impl : ( ( rule__Attribute__TypeAssignment_4 )? ) ;
     public final void rule__Attribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7028:1: ( ( ( rule__Attribute__TypeAssignment_4 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7029:1: ( ( rule__Attribute__TypeAssignment_4 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6872:1: ( ( ( rule__Attribute__TypeAssignment_4 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6873:1: ( ( rule__Attribute__TypeAssignment_4 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7029:1: ( ( rule__Attribute__TypeAssignment_4 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7030:1: ( rule__Attribute__TypeAssignment_4 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6873:1: ( ( rule__Attribute__TypeAssignment_4 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6874:1: ( rule__Attribute__TypeAssignment_4 )?
             {
              before(grammarAccess.getAttributeAccess().getTypeAssignment_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7031:1: ( rule__Attribute__TypeAssignment_4 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6875:1: ( rule__Attribute__TypeAssignment_4 )?
             int alt75=2;
             int LA75_0 = input.LA(1);
 
@@ -20638,9 +20402,9 @@
             }
             switch (alt75) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7031:2: rule__Attribute__TypeAssignment_4
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6875:2: rule__Attribute__TypeAssignment_4
                     {
-                    pushFollow(FOLLOW_rule__Attribute__TypeAssignment_4_in_rule__Attribute__Group__4__Impl14866);
+                    pushFollow(FOLLOW_rule__Attribute__TypeAssignment_4_in_rule__Attribute__Group__4__Impl14558);
                     rule__Attribute__TypeAssignment_4();
 
                     state._fsp--;
@@ -20674,21 +20438,21 @@
 
 
     // $ANTLR start "rule__Attribute__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7041:1: rule__Attribute__Group__5 : rule__Attribute__Group__5__Impl rule__Attribute__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6885:1: rule__Attribute__Group__5 : rule__Attribute__Group__5__Impl rule__Attribute__Group__6 ;
     public final void rule__Attribute__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7045:1: ( rule__Attribute__Group__5__Impl rule__Attribute__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7046:2: rule__Attribute__Group__5__Impl rule__Attribute__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6889:1: ( rule__Attribute__Group__5__Impl rule__Attribute__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6890:2: rule__Attribute__Group__5__Impl rule__Attribute__Group__6
             {
-            pushFollow(FOLLOW_rule__Attribute__Group__5__Impl_in_rule__Attribute__Group__514897);
+            pushFollow(FOLLOW_rule__Attribute__Group__5__Impl_in_rule__Attribute__Group__514589);
             rule__Attribute__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Attribute__Group__6_in_rule__Attribute__Group__514900);
+            pushFollow(FOLLOW_rule__Attribute__Group__6_in_rule__Attribute__Group__514592);
             rule__Attribute__Group__6();
 
             state._fsp--;
@@ -20712,31 +20476,31 @@
 
 
     // $ANTLR start "rule__Attribute__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7053:1: rule__Attribute__Group__5__Impl : ( ( rule__Attribute__Group_5__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6897:1: rule__Attribute__Group__5__Impl : ( ( rule__Attribute__Group_5__0 )? ) ;
     public final void rule__Attribute__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7057:1: ( ( ( rule__Attribute__Group_5__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7058:1: ( ( rule__Attribute__Group_5__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6901:1: ( ( ( rule__Attribute__Group_5__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6902:1: ( ( rule__Attribute__Group_5__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7058:1: ( ( rule__Attribute__Group_5__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7059:1: ( rule__Attribute__Group_5__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6902:1: ( ( rule__Attribute__Group_5__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6903:1: ( rule__Attribute__Group_5__0 )?
             {
              before(grammarAccess.getAttributeAccess().getGroup_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7060:1: ( rule__Attribute__Group_5__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6904:1: ( rule__Attribute__Group_5__0 )?
             int alt76=2;
             int LA76_0 = input.LA(1);
 
-            if ( (LA76_0==51) ) {
+            if ( (LA76_0==52) ) {
                 alt76=1;
             }
             switch (alt76) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7060:2: rule__Attribute__Group_5__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6904:2: rule__Attribute__Group_5__0
                     {
-                    pushFollow(FOLLOW_rule__Attribute__Group_5__0_in_rule__Attribute__Group__5__Impl14927);
+                    pushFollow(FOLLOW_rule__Attribute__Group_5__0_in_rule__Attribute__Group__5__Impl14619);
                     rule__Attribute__Group_5__0();
 
                     state._fsp--;
@@ -20770,16 +20534,16 @@
 
 
     // $ANTLR start "rule__Attribute__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7070:1: rule__Attribute__Group__6 : rule__Attribute__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6914:1: rule__Attribute__Group__6 : rule__Attribute__Group__6__Impl ;
     public final void rule__Attribute__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7074:1: ( rule__Attribute__Group__6__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7075:2: rule__Attribute__Group__6__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6918:1: ( rule__Attribute__Group__6__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6919:2: rule__Attribute__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__Attribute__Group__6__Impl_in_rule__Attribute__Group__614958);
+            pushFollow(FOLLOW_rule__Attribute__Group__6__Impl_in_rule__Attribute__Group__614650);
             rule__Attribute__Group__6__Impl();
 
             state._fsp--;
@@ -20803,31 +20567,31 @@
 
 
     // $ANTLR start "rule__Attribute__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7081:1: rule__Attribute__Group__6__Impl : ( ( rule__Attribute__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6925:1: rule__Attribute__Group__6__Impl : ( ( rule__Attribute__DocuAssignment_6 )? ) ;
     public final void rule__Attribute__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7085:1: ( ( ( rule__Attribute__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7086:1: ( ( rule__Attribute__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6929:1: ( ( ( rule__Attribute__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6930:1: ( ( rule__Attribute__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7086:1: ( ( rule__Attribute__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7087:1: ( rule__Attribute__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6930:1: ( ( rule__Attribute__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6931:1: ( rule__Attribute__DocuAssignment_6 )?
             {
              before(grammarAccess.getAttributeAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7088:1: ( rule__Attribute__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6932:1: ( rule__Attribute__DocuAssignment_6 )?
             int alt77=2;
             int LA77_0 = input.LA(1);
 
-            if ( (LA77_0==58) ) {
+            if ( (LA77_0==59) ) {
                 alt77=1;
             }
             switch (alt77) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7088:2: rule__Attribute__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6932:2: rule__Attribute__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__Attribute__DocuAssignment_6_in_rule__Attribute__Group__6__Impl14985);
+                    pushFollow(FOLLOW_rule__Attribute__DocuAssignment_6_in_rule__Attribute__Group__6__Impl14677);
                     rule__Attribute__DocuAssignment_6();
 
                     state._fsp--;
@@ -20861,21 +20625,21 @@
 
 
     // $ANTLR start "rule__Attribute__Group_2__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7112:1: rule__Attribute__Group_2__0 : rule__Attribute__Group_2__0__Impl rule__Attribute__Group_2__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6956:1: rule__Attribute__Group_2__0 : rule__Attribute__Group_2__0__Impl rule__Attribute__Group_2__1 ;
     public final void rule__Attribute__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7116:1: ( rule__Attribute__Group_2__0__Impl rule__Attribute__Group_2__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7117:2: rule__Attribute__Group_2__0__Impl rule__Attribute__Group_2__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6960:1: ( rule__Attribute__Group_2__0__Impl rule__Attribute__Group_2__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6961:2: rule__Attribute__Group_2__0__Impl rule__Attribute__Group_2__1
             {
-            pushFollow(FOLLOW_rule__Attribute__Group_2__0__Impl_in_rule__Attribute__Group_2__015030);
+            pushFollow(FOLLOW_rule__Attribute__Group_2__0__Impl_in_rule__Attribute__Group_2__014722);
             rule__Attribute__Group_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Attribute__Group_2__1_in_rule__Attribute__Group_2__015033);
+            pushFollow(FOLLOW_rule__Attribute__Group_2__1_in_rule__Attribute__Group_2__014725);
             rule__Attribute__Group_2__1();
 
             state._fsp--;
@@ -20899,20 +20663,20 @@
 
 
     // $ANTLR start "rule__Attribute__Group_2__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7124:1: rule__Attribute__Group_2__0__Impl : ( '[' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6968:1: rule__Attribute__Group_2__0__Impl : ( '[' ) ;
     public final void rule__Attribute__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7128:1: ( ( '[' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7129:1: ( '[' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6972:1: ( ( '[' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6973:1: ( '[' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7129:1: ( '[' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7130:1: '['
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6973:1: ( '[' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6974:1: '['
             {
              before(grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0()); 
-            match(input,58,FOLLOW_58_in_rule__Attribute__Group_2__0__Impl15061); 
+            match(input,59,FOLLOW_59_in_rule__Attribute__Group_2__0__Impl14753); 
              after(grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0()); 
 
             }
@@ -20936,21 +20700,21 @@
 
 
     // $ANTLR start "rule__Attribute__Group_2__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7143:1: rule__Attribute__Group_2__1 : rule__Attribute__Group_2__1__Impl rule__Attribute__Group_2__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6987:1: rule__Attribute__Group_2__1 : rule__Attribute__Group_2__1__Impl rule__Attribute__Group_2__2 ;
     public final void rule__Attribute__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7147:1: ( rule__Attribute__Group_2__1__Impl rule__Attribute__Group_2__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7148:2: rule__Attribute__Group_2__1__Impl rule__Attribute__Group_2__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6991:1: ( rule__Attribute__Group_2__1__Impl rule__Attribute__Group_2__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6992:2: rule__Attribute__Group_2__1__Impl rule__Attribute__Group_2__2
             {
-            pushFollow(FOLLOW_rule__Attribute__Group_2__1__Impl_in_rule__Attribute__Group_2__115092);
+            pushFollow(FOLLOW_rule__Attribute__Group_2__1__Impl_in_rule__Attribute__Group_2__114784);
             rule__Attribute__Group_2__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Attribute__Group_2__2_in_rule__Attribute__Group_2__115095);
+            pushFollow(FOLLOW_rule__Attribute__Group_2__2_in_rule__Attribute__Group_2__114787);
             rule__Attribute__Group_2__2();
 
             state._fsp--;
@@ -20974,23 +20738,23 @@
 
 
     // $ANTLR start "rule__Attribute__Group_2__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7155:1: rule__Attribute__Group_2__1__Impl : ( ( rule__Attribute__SizeAssignment_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:6999:1: rule__Attribute__Group_2__1__Impl : ( ( rule__Attribute__SizeAssignment_2_1 ) ) ;
     public final void rule__Attribute__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7159:1: ( ( ( rule__Attribute__SizeAssignment_2_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7160:1: ( ( rule__Attribute__SizeAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7003:1: ( ( ( rule__Attribute__SizeAssignment_2_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7004:1: ( ( rule__Attribute__SizeAssignment_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7160:1: ( ( rule__Attribute__SizeAssignment_2_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7161:1: ( rule__Attribute__SizeAssignment_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7004:1: ( ( rule__Attribute__SizeAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7005:1: ( rule__Attribute__SizeAssignment_2_1 )
             {
              before(grammarAccess.getAttributeAccess().getSizeAssignment_2_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7162:1: ( rule__Attribute__SizeAssignment_2_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7162:2: rule__Attribute__SizeAssignment_2_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7006:1: ( rule__Attribute__SizeAssignment_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7006:2: rule__Attribute__SizeAssignment_2_1
             {
-            pushFollow(FOLLOW_rule__Attribute__SizeAssignment_2_1_in_rule__Attribute__Group_2__1__Impl15122);
+            pushFollow(FOLLOW_rule__Attribute__SizeAssignment_2_1_in_rule__Attribute__Group_2__1__Impl14814);
             rule__Attribute__SizeAssignment_2_1();
 
             state._fsp--;
@@ -21021,16 +20785,16 @@
 
 
     // $ANTLR start "rule__Attribute__Group_2__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7172:1: rule__Attribute__Group_2__2 : rule__Attribute__Group_2__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7016:1: rule__Attribute__Group_2__2 : rule__Attribute__Group_2__2__Impl ;
     public final void rule__Attribute__Group_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7176:1: ( rule__Attribute__Group_2__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7177:2: rule__Attribute__Group_2__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7020:1: ( rule__Attribute__Group_2__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7021:2: rule__Attribute__Group_2__2__Impl
             {
-            pushFollow(FOLLOW_rule__Attribute__Group_2__2__Impl_in_rule__Attribute__Group_2__215152);
+            pushFollow(FOLLOW_rule__Attribute__Group_2__2__Impl_in_rule__Attribute__Group_2__214844);
             rule__Attribute__Group_2__2__Impl();
 
             state._fsp--;
@@ -21054,20 +20818,20 @@
 
 
     // $ANTLR start "rule__Attribute__Group_2__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7183:1: rule__Attribute__Group_2__2__Impl : ( ']' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7027:1: rule__Attribute__Group_2__2__Impl : ( ']' ) ;
     public final void rule__Attribute__Group_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7187:1: ( ( ']' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7188:1: ( ']' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7031:1: ( ( ']' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7032:1: ( ']' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7188:1: ( ']' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7189:1: ']'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7032:1: ( ']' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7033:1: ']'
             {
              before(grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2()); 
-            match(input,59,FOLLOW_59_in_rule__Attribute__Group_2__2__Impl15180); 
+            match(input,60,FOLLOW_60_in_rule__Attribute__Group_2__2__Impl14872); 
              after(grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2()); 
 
             }
@@ -21091,21 +20855,21 @@
 
 
     // $ANTLR start "rule__Attribute__Group_5__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7208:1: rule__Attribute__Group_5__0 : rule__Attribute__Group_5__0__Impl rule__Attribute__Group_5__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7052:1: rule__Attribute__Group_5__0 : rule__Attribute__Group_5__0__Impl rule__Attribute__Group_5__1 ;
     public final void rule__Attribute__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7212:1: ( rule__Attribute__Group_5__0__Impl rule__Attribute__Group_5__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7213:2: rule__Attribute__Group_5__0__Impl rule__Attribute__Group_5__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7056:1: ( rule__Attribute__Group_5__0__Impl rule__Attribute__Group_5__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7057:2: rule__Attribute__Group_5__0__Impl rule__Attribute__Group_5__1
             {
-            pushFollow(FOLLOW_rule__Attribute__Group_5__0__Impl_in_rule__Attribute__Group_5__015217);
+            pushFollow(FOLLOW_rule__Attribute__Group_5__0__Impl_in_rule__Attribute__Group_5__014909);
             rule__Attribute__Group_5__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Attribute__Group_5__1_in_rule__Attribute__Group_5__015220);
+            pushFollow(FOLLOW_rule__Attribute__Group_5__1_in_rule__Attribute__Group_5__014912);
             rule__Attribute__Group_5__1();
 
             state._fsp--;
@@ -21129,20 +20893,20 @@
 
 
     // $ANTLR start "rule__Attribute__Group_5__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7220:1: rule__Attribute__Group_5__0__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7064:1: rule__Attribute__Group_5__0__Impl : ( '=' ) ;
     public final void rule__Attribute__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7224:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7225:1: ( '=' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7068:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7069:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7225:1: ( '=' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7226:1: '='
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7069:1: ( '=' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7070:1: '='
             {
              before(grammarAccess.getAttributeAccess().getEqualsSignKeyword_5_0()); 
-            match(input,51,FOLLOW_51_in_rule__Attribute__Group_5__0__Impl15248); 
+            match(input,52,FOLLOW_52_in_rule__Attribute__Group_5__0__Impl14940); 
              after(grammarAccess.getAttributeAccess().getEqualsSignKeyword_5_0()); 
 
             }
@@ -21166,16 +20930,16 @@
 
 
     // $ANTLR start "rule__Attribute__Group_5__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7239:1: rule__Attribute__Group_5__1 : rule__Attribute__Group_5__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7083:1: rule__Attribute__Group_5__1 : rule__Attribute__Group_5__1__Impl ;
     public final void rule__Attribute__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7243:1: ( rule__Attribute__Group_5__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7244:2: rule__Attribute__Group_5__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7087:1: ( rule__Attribute__Group_5__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7088:2: rule__Attribute__Group_5__1__Impl
             {
-            pushFollow(FOLLOW_rule__Attribute__Group_5__1__Impl_in_rule__Attribute__Group_5__115279);
+            pushFollow(FOLLOW_rule__Attribute__Group_5__1__Impl_in_rule__Attribute__Group_5__114971);
             rule__Attribute__Group_5__1__Impl();
 
             state._fsp--;
@@ -21199,23 +20963,23 @@
 
 
     // $ANTLR start "rule__Attribute__Group_5__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7250:1: rule__Attribute__Group_5__1__Impl : ( ( rule__Attribute__DefaultValueLiteralAssignment_5_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7094:1: rule__Attribute__Group_5__1__Impl : ( ( rule__Attribute__DefaultValueLiteralAssignment_5_1 ) ) ;
     public final void rule__Attribute__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7254:1: ( ( ( rule__Attribute__DefaultValueLiteralAssignment_5_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7255:1: ( ( rule__Attribute__DefaultValueLiteralAssignment_5_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7098:1: ( ( ( rule__Attribute__DefaultValueLiteralAssignment_5_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7099:1: ( ( rule__Attribute__DefaultValueLiteralAssignment_5_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7255:1: ( ( rule__Attribute__DefaultValueLiteralAssignment_5_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7256:1: ( rule__Attribute__DefaultValueLiteralAssignment_5_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7099:1: ( ( rule__Attribute__DefaultValueLiteralAssignment_5_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7100:1: ( rule__Attribute__DefaultValueLiteralAssignment_5_1 )
             {
              before(grammarAccess.getAttributeAccess().getDefaultValueLiteralAssignment_5_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7257:1: ( rule__Attribute__DefaultValueLiteralAssignment_5_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7257:2: rule__Attribute__DefaultValueLiteralAssignment_5_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7101:1: ( rule__Attribute__DefaultValueLiteralAssignment_5_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7101:2: rule__Attribute__DefaultValueLiteralAssignment_5_1
             {
-            pushFollow(FOLLOW_rule__Attribute__DefaultValueLiteralAssignment_5_1_in_rule__Attribute__Group_5__1__Impl15306);
+            pushFollow(FOLLOW_rule__Attribute__DefaultValueLiteralAssignment_5_1_in_rule__Attribute__Group_5__1__Impl14998);
             rule__Attribute__DefaultValueLiteralAssignment_5_1();
 
             state._fsp--;
@@ -21246,21 +21010,21 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7271:1: rule__StandardOperation__Group__0 : rule__StandardOperation__Group__0__Impl rule__StandardOperation__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7115:1: rule__StandardOperation__Group__0 : rule__StandardOperation__Group__0__Impl rule__StandardOperation__Group__1 ;
     public final void rule__StandardOperation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7275:1: ( rule__StandardOperation__Group__0__Impl rule__StandardOperation__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7276:2: rule__StandardOperation__Group__0__Impl rule__StandardOperation__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7119:1: ( rule__StandardOperation__Group__0__Impl rule__StandardOperation__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7120:2: rule__StandardOperation__Group__0__Impl rule__StandardOperation__Group__1
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group__0__Impl_in_rule__StandardOperation__Group__015340);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__0__Impl_in_rule__StandardOperation__Group__015032);
             rule__StandardOperation__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StandardOperation__Group__1_in_rule__StandardOperation__Group__015343);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__1_in_rule__StandardOperation__Group__015035);
             rule__StandardOperation__Group__1();
 
             state._fsp--;
@@ -21284,31 +21048,31 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7283:1: rule__StandardOperation__Group__0__Impl : ( ( rule__StandardOperation__OverrideAssignment_0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7127:1: rule__StandardOperation__Group__0__Impl : ( ( rule__StandardOperation__OverrideAssignment_0 )? ) ;
     public final void rule__StandardOperation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7287:1: ( ( ( rule__StandardOperation__OverrideAssignment_0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7288:1: ( ( rule__StandardOperation__OverrideAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7131:1: ( ( ( rule__StandardOperation__OverrideAssignment_0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7132:1: ( ( rule__StandardOperation__OverrideAssignment_0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7288:1: ( ( rule__StandardOperation__OverrideAssignment_0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7289:1: ( rule__StandardOperation__OverrideAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7132:1: ( ( rule__StandardOperation__OverrideAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7133:1: ( rule__StandardOperation__OverrideAssignment_0 )?
             {
              before(grammarAccess.getStandardOperationAccess().getOverrideAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7290:1: ( rule__StandardOperation__OverrideAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7134:1: ( rule__StandardOperation__OverrideAssignment_0 )?
             int alt78=2;
             int LA78_0 = input.LA(1);
 
-            if ( (LA78_0==126) ) {
+            if ( (LA78_0==127) ) {
                 alt78=1;
             }
             switch (alt78) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7290:2: rule__StandardOperation__OverrideAssignment_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7134:2: rule__StandardOperation__OverrideAssignment_0
                     {
-                    pushFollow(FOLLOW_rule__StandardOperation__OverrideAssignment_0_in_rule__StandardOperation__Group__0__Impl15370);
+                    pushFollow(FOLLOW_rule__StandardOperation__OverrideAssignment_0_in_rule__StandardOperation__Group__0__Impl15062);
                     rule__StandardOperation__OverrideAssignment_0();
 
                     state._fsp--;
@@ -21342,21 +21106,21 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7300:1: rule__StandardOperation__Group__1 : rule__StandardOperation__Group__1__Impl rule__StandardOperation__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7144:1: rule__StandardOperation__Group__1 : rule__StandardOperation__Group__1__Impl rule__StandardOperation__Group__2 ;
     public final void rule__StandardOperation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7304:1: ( rule__StandardOperation__Group__1__Impl rule__StandardOperation__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7305:2: rule__StandardOperation__Group__1__Impl rule__StandardOperation__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7148:1: ( rule__StandardOperation__Group__1__Impl rule__StandardOperation__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7149:2: rule__StandardOperation__Group__1__Impl rule__StandardOperation__Group__2
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group__1__Impl_in_rule__StandardOperation__Group__115401);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__1__Impl_in_rule__StandardOperation__Group__115093);
             rule__StandardOperation__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StandardOperation__Group__2_in_rule__StandardOperation__Group__115404);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__2_in_rule__StandardOperation__Group__115096);
             rule__StandardOperation__Group__2();
 
             state._fsp--;
@@ -21380,20 +21144,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7312:1: rule__StandardOperation__Group__1__Impl : ( 'Operation' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7156:1: rule__StandardOperation__Group__1__Impl : ( 'Operation' ) ;
     public final void rule__StandardOperation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7316:1: ( ( 'Operation' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7317:1: ( 'Operation' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7160:1: ( ( 'Operation' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7161:1: ( 'Operation' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7317:1: ( 'Operation' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7318:1: 'Operation'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7161:1: ( 'Operation' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7162:1: 'Operation'
             {
              before(grammarAccess.getStandardOperationAccess().getOperationKeyword_1()); 
-            match(input,60,FOLLOW_60_in_rule__StandardOperation__Group__1__Impl15432); 
+            match(input,61,FOLLOW_61_in_rule__StandardOperation__Group__1__Impl15124); 
              after(grammarAccess.getStandardOperationAccess().getOperationKeyword_1()); 
 
             }
@@ -21417,21 +21181,21 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7331:1: rule__StandardOperation__Group__2 : rule__StandardOperation__Group__2__Impl rule__StandardOperation__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7175:1: rule__StandardOperation__Group__2 : rule__StandardOperation__Group__2__Impl rule__StandardOperation__Group__3 ;
     public final void rule__StandardOperation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7335:1: ( rule__StandardOperation__Group__2__Impl rule__StandardOperation__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7336:2: rule__StandardOperation__Group__2__Impl rule__StandardOperation__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7179:1: ( rule__StandardOperation__Group__2__Impl rule__StandardOperation__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7180:2: rule__StandardOperation__Group__2__Impl rule__StandardOperation__Group__3
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group__2__Impl_in_rule__StandardOperation__Group__215463);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__2__Impl_in_rule__StandardOperation__Group__215155);
             rule__StandardOperation__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StandardOperation__Group__3_in_rule__StandardOperation__Group__215466);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__3_in_rule__StandardOperation__Group__215158);
             rule__StandardOperation__Group__3();
 
             state._fsp--;
@@ -21455,23 +21219,23 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7343:1: rule__StandardOperation__Group__2__Impl : ( ( rule__StandardOperation__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7187:1: rule__StandardOperation__Group__2__Impl : ( ( rule__StandardOperation__NameAssignment_2 ) ) ;
     public final void rule__StandardOperation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7347:1: ( ( ( rule__StandardOperation__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7348:1: ( ( rule__StandardOperation__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7191:1: ( ( ( rule__StandardOperation__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7192:1: ( ( rule__StandardOperation__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7348:1: ( ( rule__StandardOperation__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7349:1: ( rule__StandardOperation__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7192:1: ( ( rule__StandardOperation__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7193:1: ( rule__StandardOperation__NameAssignment_2 )
             {
              before(grammarAccess.getStandardOperationAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7350:1: ( rule__StandardOperation__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7350:2: rule__StandardOperation__NameAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7194:1: ( rule__StandardOperation__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7194:2: rule__StandardOperation__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__StandardOperation__NameAssignment_2_in_rule__StandardOperation__Group__2__Impl15493);
+            pushFollow(FOLLOW_rule__StandardOperation__NameAssignment_2_in_rule__StandardOperation__Group__2__Impl15185);
             rule__StandardOperation__NameAssignment_2();
 
             state._fsp--;
@@ -21502,21 +21266,21 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7360:1: rule__StandardOperation__Group__3 : rule__StandardOperation__Group__3__Impl rule__StandardOperation__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7204:1: rule__StandardOperation__Group__3 : rule__StandardOperation__Group__3__Impl rule__StandardOperation__Group__4 ;
     public final void rule__StandardOperation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7364:1: ( rule__StandardOperation__Group__3__Impl rule__StandardOperation__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7365:2: rule__StandardOperation__Group__3__Impl rule__StandardOperation__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7208:1: ( rule__StandardOperation__Group__3__Impl rule__StandardOperation__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7209:2: rule__StandardOperation__Group__3__Impl rule__StandardOperation__Group__4
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group__3__Impl_in_rule__StandardOperation__Group__315523);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__3__Impl_in_rule__StandardOperation__Group__315215);
             rule__StandardOperation__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StandardOperation__Group__4_in_rule__StandardOperation__Group__315526);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__4_in_rule__StandardOperation__Group__315218);
             rule__StandardOperation__Group__4();
 
             state._fsp--;
@@ -21540,20 +21304,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7372:1: rule__StandardOperation__Group__3__Impl : ( '(' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7216:1: rule__StandardOperation__Group__3__Impl : ( '(' ) ;
     public final void rule__StandardOperation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7376:1: ( ( '(' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7377:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7220:1: ( ( '(' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7221:1: ( '(' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7377:1: ( '(' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7378:1: '('
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7221:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7222:1: '('
             {
              before(grammarAccess.getStandardOperationAccess().getLeftParenthesisKeyword_3()); 
-            match(input,46,FOLLOW_46_in_rule__StandardOperation__Group__3__Impl15554); 
+            match(input,47,FOLLOW_47_in_rule__StandardOperation__Group__3__Impl15246); 
              after(grammarAccess.getStandardOperationAccess().getLeftParenthesisKeyword_3()); 
 
             }
@@ -21577,21 +21341,21 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7391:1: rule__StandardOperation__Group__4 : rule__StandardOperation__Group__4__Impl rule__StandardOperation__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7235:1: rule__StandardOperation__Group__4 : rule__StandardOperation__Group__4__Impl rule__StandardOperation__Group__5 ;
     public final void rule__StandardOperation__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7395:1: ( rule__StandardOperation__Group__4__Impl rule__StandardOperation__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7396:2: rule__StandardOperation__Group__4__Impl rule__StandardOperation__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7239:1: ( rule__StandardOperation__Group__4__Impl rule__StandardOperation__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7240:2: rule__StandardOperation__Group__4__Impl rule__StandardOperation__Group__5
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group__4__Impl_in_rule__StandardOperation__Group__415585);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__4__Impl_in_rule__StandardOperation__Group__415277);
             rule__StandardOperation__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StandardOperation__Group__5_in_rule__StandardOperation__Group__415588);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__5_in_rule__StandardOperation__Group__415280);
             rule__StandardOperation__Group__5();
 
             state._fsp--;
@@ -21615,20 +21379,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7403:1: rule__StandardOperation__Group__4__Impl : ( ( rule__StandardOperation__Group_4__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7247:1: rule__StandardOperation__Group__4__Impl : ( ( rule__StandardOperation__Group_4__0 )? ) ;
     public final void rule__StandardOperation__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7407:1: ( ( ( rule__StandardOperation__Group_4__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7408:1: ( ( rule__StandardOperation__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7251:1: ( ( ( rule__StandardOperation__Group_4__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7252:1: ( ( rule__StandardOperation__Group_4__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7408:1: ( ( rule__StandardOperation__Group_4__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7409:1: ( rule__StandardOperation__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7252:1: ( ( rule__StandardOperation__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7253:1: ( rule__StandardOperation__Group_4__0 )?
             {
              before(grammarAccess.getStandardOperationAccess().getGroup_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7410:1: ( rule__StandardOperation__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7254:1: ( rule__StandardOperation__Group_4__0 )?
             int alt79=2;
             int LA79_0 = input.LA(1);
 
@@ -21637,9 +21401,9 @@
             }
             switch (alt79) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7410:2: rule__StandardOperation__Group_4__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7254:2: rule__StandardOperation__Group_4__0
                     {
-                    pushFollow(FOLLOW_rule__StandardOperation__Group_4__0_in_rule__StandardOperation__Group__4__Impl15615);
+                    pushFollow(FOLLOW_rule__StandardOperation__Group_4__0_in_rule__StandardOperation__Group__4__Impl15307);
                     rule__StandardOperation__Group_4__0();
 
                     state._fsp--;
@@ -21673,21 +21437,21 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7420:1: rule__StandardOperation__Group__5 : rule__StandardOperation__Group__5__Impl rule__StandardOperation__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7264:1: rule__StandardOperation__Group__5 : rule__StandardOperation__Group__5__Impl rule__StandardOperation__Group__6 ;
     public final void rule__StandardOperation__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7424:1: ( rule__StandardOperation__Group__5__Impl rule__StandardOperation__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7425:2: rule__StandardOperation__Group__5__Impl rule__StandardOperation__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7268:1: ( rule__StandardOperation__Group__5__Impl rule__StandardOperation__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7269:2: rule__StandardOperation__Group__5__Impl rule__StandardOperation__Group__6
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group__5__Impl_in_rule__StandardOperation__Group__515646);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__5__Impl_in_rule__StandardOperation__Group__515338);
             rule__StandardOperation__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StandardOperation__Group__6_in_rule__StandardOperation__Group__515649);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__6_in_rule__StandardOperation__Group__515341);
             rule__StandardOperation__Group__6();
 
             state._fsp--;
@@ -21711,20 +21475,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7432:1: rule__StandardOperation__Group__5__Impl : ( ')' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7276:1: rule__StandardOperation__Group__5__Impl : ( ')' ) ;
     public final void rule__StandardOperation__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7436:1: ( ( ')' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7437:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7280:1: ( ( ')' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7281:1: ( ')' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7437:1: ( ')' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7438:1: ')'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7281:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7282:1: ')'
             {
              before(grammarAccess.getStandardOperationAccess().getRightParenthesisKeyword_5()); 
-            match(input,47,FOLLOW_47_in_rule__StandardOperation__Group__5__Impl15677); 
+            match(input,48,FOLLOW_48_in_rule__StandardOperation__Group__5__Impl15369); 
              after(grammarAccess.getStandardOperationAccess().getRightParenthesisKeyword_5()); 
 
             }
@@ -21748,21 +21512,21 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7451:1: rule__StandardOperation__Group__6 : rule__StandardOperation__Group__6__Impl rule__StandardOperation__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7295:1: rule__StandardOperation__Group__6 : rule__StandardOperation__Group__6__Impl rule__StandardOperation__Group__7 ;
     public final void rule__StandardOperation__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7455:1: ( rule__StandardOperation__Group__6__Impl rule__StandardOperation__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7456:2: rule__StandardOperation__Group__6__Impl rule__StandardOperation__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7299:1: ( rule__StandardOperation__Group__6__Impl rule__StandardOperation__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7300:2: rule__StandardOperation__Group__6__Impl rule__StandardOperation__Group__7
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group__6__Impl_in_rule__StandardOperation__Group__615708);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__6__Impl_in_rule__StandardOperation__Group__615400);
             rule__StandardOperation__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StandardOperation__Group__7_in_rule__StandardOperation__Group__615711);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__7_in_rule__StandardOperation__Group__615403);
             rule__StandardOperation__Group__7();
 
             state._fsp--;
@@ -21786,31 +21550,31 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7463:1: rule__StandardOperation__Group__6__Impl : ( ( rule__StandardOperation__Group_6__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7307:1: rule__StandardOperation__Group__6__Impl : ( ( rule__StandardOperation__Group_6__0 )? ) ;
     public final void rule__StandardOperation__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7467:1: ( ( ( rule__StandardOperation__Group_6__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7468:1: ( ( rule__StandardOperation__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7311:1: ( ( ( rule__StandardOperation__Group_6__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7312:1: ( ( rule__StandardOperation__Group_6__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7468:1: ( ( rule__StandardOperation__Group_6__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7469:1: ( rule__StandardOperation__Group_6__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7312:1: ( ( rule__StandardOperation__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7313:1: ( rule__StandardOperation__Group_6__0 )?
             {
              before(grammarAccess.getStandardOperationAccess().getGroup_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7470:1: ( rule__StandardOperation__Group_6__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7314:1: ( rule__StandardOperation__Group_6__0 )?
             int alt80=2;
             int LA80_0 = input.LA(1);
 
-            if ( (LA80_0==42) ) {
+            if ( (LA80_0==43) ) {
                 alt80=1;
             }
             switch (alt80) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7470:2: rule__StandardOperation__Group_6__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7314:2: rule__StandardOperation__Group_6__0
                     {
-                    pushFollow(FOLLOW_rule__StandardOperation__Group_6__0_in_rule__StandardOperation__Group__6__Impl15738);
+                    pushFollow(FOLLOW_rule__StandardOperation__Group_6__0_in_rule__StandardOperation__Group__6__Impl15430);
                     rule__StandardOperation__Group_6__0();
 
                     state._fsp--;
@@ -21844,21 +21608,21 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7480:1: rule__StandardOperation__Group__7 : rule__StandardOperation__Group__7__Impl rule__StandardOperation__Group__8 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7324:1: rule__StandardOperation__Group__7 : rule__StandardOperation__Group__7__Impl rule__StandardOperation__Group__8 ;
     public final void rule__StandardOperation__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7484:1: ( rule__StandardOperation__Group__7__Impl rule__StandardOperation__Group__8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7485:2: rule__StandardOperation__Group__7__Impl rule__StandardOperation__Group__8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7328:1: ( rule__StandardOperation__Group__7__Impl rule__StandardOperation__Group__8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7329:2: rule__StandardOperation__Group__7__Impl rule__StandardOperation__Group__8
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group__7__Impl_in_rule__StandardOperation__Group__715769);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__7__Impl_in_rule__StandardOperation__Group__715461);
             rule__StandardOperation__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StandardOperation__Group__8_in_rule__StandardOperation__Group__715772);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__8_in_rule__StandardOperation__Group__715464);
             rule__StandardOperation__Group__8();
 
             state._fsp--;
@@ -21882,31 +21646,31 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7492:1: rule__StandardOperation__Group__7__Impl : ( ( rule__StandardOperation__DocuAssignment_7 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7336:1: rule__StandardOperation__Group__7__Impl : ( ( rule__StandardOperation__DocuAssignment_7 )? ) ;
     public final void rule__StandardOperation__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7496:1: ( ( ( rule__StandardOperation__DocuAssignment_7 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7497:1: ( ( rule__StandardOperation__DocuAssignment_7 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7340:1: ( ( ( rule__StandardOperation__DocuAssignment_7 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7341:1: ( ( rule__StandardOperation__DocuAssignment_7 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7497:1: ( ( rule__StandardOperation__DocuAssignment_7 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7498:1: ( rule__StandardOperation__DocuAssignment_7 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7341:1: ( ( rule__StandardOperation__DocuAssignment_7 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7342:1: ( rule__StandardOperation__DocuAssignment_7 )?
             {
              before(grammarAccess.getStandardOperationAccess().getDocuAssignment_7()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7499:1: ( rule__StandardOperation__DocuAssignment_7 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7343:1: ( rule__StandardOperation__DocuAssignment_7 )?
             int alt81=2;
             int LA81_0 = input.LA(1);
 
-            if ( (LA81_0==58) ) {
+            if ( (LA81_0==59) ) {
                 alt81=1;
             }
             switch (alt81) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7499:2: rule__StandardOperation__DocuAssignment_7
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7343:2: rule__StandardOperation__DocuAssignment_7
                     {
-                    pushFollow(FOLLOW_rule__StandardOperation__DocuAssignment_7_in_rule__StandardOperation__Group__7__Impl15799);
+                    pushFollow(FOLLOW_rule__StandardOperation__DocuAssignment_7_in_rule__StandardOperation__Group__7__Impl15491);
                     rule__StandardOperation__DocuAssignment_7();
 
                     state._fsp--;
@@ -21940,16 +21704,16 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7509:1: rule__StandardOperation__Group__8 : rule__StandardOperation__Group__8__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7353:1: rule__StandardOperation__Group__8 : rule__StandardOperation__Group__8__Impl ;
     public final void rule__StandardOperation__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7513:1: ( rule__StandardOperation__Group__8__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7514:2: rule__StandardOperation__Group__8__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7357:1: ( rule__StandardOperation__Group__8__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7358:2: rule__StandardOperation__Group__8__Impl
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group__8__Impl_in_rule__StandardOperation__Group__815830);
+            pushFollow(FOLLOW_rule__StandardOperation__Group__8__Impl_in_rule__StandardOperation__Group__815522);
             rule__StandardOperation__Group__8__Impl();
 
             state._fsp--;
@@ -21973,23 +21737,23 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group__8__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7520:1: rule__StandardOperation__Group__8__Impl : ( ( rule__StandardOperation__DetailCodeAssignment_8 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7364:1: rule__StandardOperation__Group__8__Impl : ( ( rule__StandardOperation__DetailCodeAssignment_8 ) ) ;
     public final void rule__StandardOperation__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7524:1: ( ( ( rule__StandardOperation__DetailCodeAssignment_8 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7525:1: ( ( rule__StandardOperation__DetailCodeAssignment_8 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7368:1: ( ( ( rule__StandardOperation__DetailCodeAssignment_8 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7369:1: ( ( rule__StandardOperation__DetailCodeAssignment_8 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7525:1: ( ( rule__StandardOperation__DetailCodeAssignment_8 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7526:1: ( rule__StandardOperation__DetailCodeAssignment_8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7369:1: ( ( rule__StandardOperation__DetailCodeAssignment_8 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7370:1: ( rule__StandardOperation__DetailCodeAssignment_8 )
             {
              before(grammarAccess.getStandardOperationAccess().getDetailCodeAssignment_8()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7527:1: ( rule__StandardOperation__DetailCodeAssignment_8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7527:2: rule__StandardOperation__DetailCodeAssignment_8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7371:1: ( rule__StandardOperation__DetailCodeAssignment_8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7371:2: rule__StandardOperation__DetailCodeAssignment_8
             {
-            pushFollow(FOLLOW_rule__StandardOperation__DetailCodeAssignment_8_in_rule__StandardOperation__Group__8__Impl15857);
+            pushFollow(FOLLOW_rule__StandardOperation__DetailCodeAssignment_8_in_rule__StandardOperation__Group__8__Impl15549);
             rule__StandardOperation__DetailCodeAssignment_8();
 
             state._fsp--;
@@ -22020,21 +21784,21 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_4__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7555:1: rule__StandardOperation__Group_4__0 : rule__StandardOperation__Group_4__0__Impl rule__StandardOperation__Group_4__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7399:1: rule__StandardOperation__Group_4__0 : rule__StandardOperation__Group_4__0__Impl rule__StandardOperation__Group_4__1 ;
     public final void rule__StandardOperation__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7559:1: ( rule__StandardOperation__Group_4__0__Impl rule__StandardOperation__Group_4__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7560:2: rule__StandardOperation__Group_4__0__Impl rule__StandardOperation__Group_4__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7403:1: ( rule__StandardOperation__Group_4__0__Impl rule__StandardOperation__Group_4__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7404:2: rule__StandardOperation__Group_4__0__Impl rule__StandardOperation__Group_4__1
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group_4__0__Impl_in_rule__StandardOperation__Group_4__015905);
+            pushFollow(FOLLOW_rule__StandardOperation__Group_4__0__Impl_in_rule__StandardOperation__Group_4__015597);
             rule__StandardOperation__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StandardOperation__Group_4__1_in_rule__StandardOperation__Group_4__015908);
+            pushFollow(FOLLOW_rule__StandardOperation__Group_4__1_in_rule__StandardOperation__Group_4__015600);
             rule__StandardOperation__Group_4__1();
 
             state._fsp--;
@@ -22058,23 +21822,23 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_4__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7567:1: rule__StandardOperation__Group_4__0__Impl : ( ( rule__StandardOperation__ArgumentsAssignment_4_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7411:1: rule__StandardOperation__Group_4__0__Impl : ( ( rule__StandardOperation__ArgumentsAssignment_4_0 ) ) ;
     public final void rule__StandardOperation__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7571:1: ( ( ( rule__StandardOperation__ArgumentsAssignment_4_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7572:1: ( ( rule__StandardOperation__ArgumentsAssignment_4_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7415:1: ( ( ( rule__StandardOperation__ArgumentsAssignment_4_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7416:1: ( ( rule__StandardOperation__ArgumentsAssignment_4_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7572:1: ( ( rule__StandardOperation__ArgumentsAssignment_4_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7573:1: ( rule__StandardOperation__ArgumentsAssignment_4_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7416:1: ( ( rule__StandardOperation__ArgumentsAssignment_4_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7417:1: ( rule__StandardOperation__ArgumentsAssignment_4_0 )
             {
              before(grammarAccess.getStandardOperationAccess().getArgumentsAssignment_4_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7574:1: ( rule__StandardOperation__ArgumentsAssignment_4_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7574:2: rule__StandardOperation__ArgumentsAssignment_4_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7418:1: ( rule__StandardOperation__ArgumentsAssignment_4_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7418:2: rule__StandardOperation__ArgumentsAssignment_4_0
             {
-            pushFollow(FOLLOW_rule__StandardOperation__ArgumentsAssignment_4_0_in_rule__StandardOperation__Group_4__0__Impl15935);
+            pushFollow(FOLLOW_rule__StandardOperation__ArgumentsAssignment_4_0_in_rule__StandardOperation__Group_4__0__Impl15627);
             rule__StandardOperation__ArgumentsAssignment_4_0();
 
             state._fsp--;
@@ -22105,16 +21869,16 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_4__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7584:1: rule__StandardOperation__Group_4__1 : rule__StandardOperation__Group_4__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7428:1: rule__StandardOperation__Group_4__1 : rule__StandardOperation__Group_4__1__Impl ;
     public final void rule__StandardOperation__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7588:1: ( rule__StandardOperation__Group_4__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7589:2: rule__StandardOperation__Group_4__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7432:1: ( rule__StandardOperation__Group_4__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7433:2: rule__StandardOperation__Group_4__1__Impl
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group_4__1__Impl_in_rule__StandardOperation__Group_4__115965);
+            pushFollow(FOLLOW_rule__StandardOperation__Group_4__1__Impl_in_rule__StandardOperation__Group_4__115657);
             rule__StandardOperation__Group_4__1__Impl();
 
             state._fsp--;
@@ -22138,35 +21902,35 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_4__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7595:1: rule__StandardOperation__Group_4__1__Impl : ( ( rule__StandardOperation__Group_4_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7439:1: rule__StandardOperation__Group_4__1__Impl : ( ( rule__StandardOperation__Group_4_1__0 )* ) ;
     public final void rule__StandardOperation__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7599:1: ( ( ( rule__StandardOperation__Group_4_1__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7600:1: ( ( rule__StandardOperation__Group_4_1__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7443:1: ( ( ( rule__StandardOperation__Group_4_1__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7444:1: ( ( rule__StandardOperation__Group_4_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7600:1: ( ( rule__StandardOperation__Group_4_1__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7601:1: ( rule__StandardOperation__Group_4_1__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7444:1: ( ( rule__StandardOperation__Group_4_1__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7445:1: ( rule__StandardOperation__Group_4_1__0 )*
             {
              before(grammarAccess.getStandardOperationAccess().getGroup_4_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7602:1: ( rule__StandardOperation__Group_4_1__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7446:1: ( rule__StandardOperation__Group_4_1__0 )*
             loop82:
             do {
                 int alt82=2;
                 int LA82_0 = input.LA(1);
 
-                if ( (LA82_0==50) ) {
+                if ( (LA82_0==51) ) {
                     alt82=1;
                 }
 
 
                 switch (alt82) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7602:2: rule__StandardOperation__Group_4_1__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7446:2: rule__StandardOperation__Group_4_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__StandardOperation__Group_4_1__0_in_rule__StandardOperation__Group_4__1__Impl15992);
+            	    pushFollow(FOLLOW_rule__StandardOperation__Group_4_1__0_in_rule__StandardOperation__Group_4__1__Impl15684);
             	    rule__StandardOperation__Group_4_1__0();
 
             	    state._fsp--;
@@ -22203,21 +21967,21 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_4_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7616:1: rule__StandardOperation__Group_4_1__0 : rule__StandardOperation__Group_4_1__0__Impl rule__StandardOperation__Group_4_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7460:1: rule__StandardOperation__Group_4_1__0 : rule__StandardOperation__Group_4_1__0__Impl rule__StandardOperation__Group_4_1__1 ;
     public final void rule__StandardOperation__Group_4_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7620:1: ( rule__StandardOperation__Group_4_1__0__Impl rule__StandardOperation__Group_4_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7621:2: rule__StandardOperation__Group_4_1__0__Impl rule__StandardOperation__Group_4_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7464:1: ( rule__StandardOperation__Group_4_1__0__Impl rule__StandardOperation__Group_4_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7465:2: rule__StandardOperation__Group_4_1__0__Impl rule__StandardOperation__Group_4_1__1
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group_4_1__0__Impl_in_rule__StandardOperation__Group_4_1__016027);
+            pushFollow(FOLLOW_rule__StandardOperation__Group_4_1__0__Impl_in_rule__StandardOperation__Group_4_1__015719);
             rule__StandardOperation__Group_4_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StandardOperation__Group_4_1__1_in_rule__StandardOperation__Group_4_1__016030);
+            pushFollow(FOLLOW_rule__StandardOperation__Group_4_1__1_in_rule__StandardOperation__Group_4_1__015722);
             rule__StandardOperation__Group_4_1__1();
 
             state._fsp--;
@@ -22241,20 +22005,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_4_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7628:1: rule__StandardOperation__Group_4_1__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7472:1: rule__StandardOperation__Group_4_1__0__Impl : ( ',' ) ;
     public final void rule__StandardOperation__Group_4_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7632:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7633:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7476:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7477:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7633:1: ( ',' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7634:1: ','
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7477:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7478:1: ','
             {
              before(grammarAccess.getStandardOperationAccess().getCommaKeyword_4_1_0()); 
-            match(input,50,FOLLOW_50_in_rule__StandardOperation__Group_4_1__0__Impl16058); 
+            match(input,51,FOLLOW_51_in_rule__StandardOperation__Group_4_1__0__Impl15750); 
              after(grammarAccess.getStandardOperationAccess().getCommaKeyword_4_1_0()); 
 
             }
@@ -22278,16 +22042,16 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_4_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7647:1: rule__StandardOperation__Group_4_1__1 : rule__StandardOperation__Group_4_1__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7491:1: rule__StandardOperation__Group_4_1__1 : rule__StandardOperation__Group_4_1__1__Impl ;
     public final void rule__StandardOperation__Group_4_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7651:1: ( rule__StandardOperation__Group_4_1__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7652:2: rule__StandardOperation__Group_4_1__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7495:1: ( rule__StandardOperation__Group_4_1__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7496:2: rule__StandardOperation__Group_4_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group_4_1__1__Impl_in_rule__StandardOperation__Group_4_1__116089);
+            pushFollow(FOLLOW_rule__StandardOperation__Group_4_1__1__Impl_in_rule__StandardOperation__Group_4_1__115781);
             rule__StandardOperation__Group_4_1__1__Impl();
 
             state._fsp--;
@@ -22311,23 +22075,23 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_4_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7658:1: rule__StandardOperation__Group_4_1__1__Impl : ( ( rule__StandardOperation__ArgumentsAssignment_4_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7502:1: rule__StandardOperation__Group_4_1__1__Impl : ( ( rule__StandardOperation__ArgumentsAssignment_4_1_1 ) ) ;
     public final void rule__StandardOperation__Group_4_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7662:1: ( ( ( rule__StandardOperation__ArgumentsAssignment_4_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7663:1: ( ( rule__StandardOperation__ArgumentsAssignment_4_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7506:1: ( ( ( rule__StandardOperation__ArgumentsAssignment_4_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7507:1: ( ( rule__StandardOperation__ArgumentsAssignment_4_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7663:1: ( ( rule__StandardOperation__ArgumentsAssignment_4_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7664:1: ( rule__StandardOperation__ArgumentsAssignment_4_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7507:1: ( ( rule__StandardOperation__ArgumentsAssignment_4_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7508:1: ( rule__StandardOperation__ArgumentsAssignment_4_1_1 )
             {
              before(grammarAccess.getStandardOperationAccess().getArgumentsAssignment_4_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7665:1: ( rule__StandardOperation__ArgumentsAssignment_4_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7665:2: rule__StandardOperation__ArgumentsAssignment_4_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7509:1: ( rule__StandardOperation__ArgumentsAssignment_4_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7509:2: rule__StandardOperation__ArgumentsAssignment_4_1_1
             {
-            pushFollow(FOLLOW_rule__StandardOperation__ArgumentsAssignment_4_1_1_in_rule__StandardOperation__Group_4_1__1__Impl16116);
+            pushFollow(FOLLOW_rule__StandardOperation__ArgumentsAssignment_4_1_1_in_rule__StandardOperation__Group_4_1__1__Impl15808);
             rule__StandardOperation__ArgumentsAssignment_4_1_1();
 
             state._fsp--;
@@ -22358,21 +22122,21 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_6__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7679:1: rule__StandardOperation__Group_6__0 : rule__StandardOperation__Group_6__0__Impl rule__StandardOperation__Group_6__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7523:1: rule__StandardOperation__Group_6__0 : rule__StandardOperation__Group_6__0__Impl rule__StandardOperation__Group_6__1 ;
     public final void rule__StandardOperation__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7683:1: ( rule__StandardOperation__Group_6__0__Impl rule__StandardOperation__Group_6__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7684:2: rule__StandardOperation__Group_6__0__Impl rule__StandardOperation__Group_6__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7527:1: ( rule__StandardOperation__Group_6__0__Impl rule__StandardOperation__Group_6__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7528:2: rule__StandardOperation__Group_6__0__Impl rule__StandardOperation__Group_6__1
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group_6__0__Impl_in_rule__StandardOperation__Group_6__016150);
+            pushFollow(FOLLOW_rule__StandardOperation__Group_6__0__Impl_in_rule__StandardOperation__Group_6__015842);
             rule__StandardOperation__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StandardOperation__Group_6__1_in_rule__StandardOperation__Group_6__016153);
+            pushFollow(FOLLOW_rule__StandardOperation__Group_6__1_in_rule__StandardOperation__Group_6__015845);
             rule__StandardOperation__Group_6__1();
 
             state._fsp--;
@@ -22396,20 +22160,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7691:1: rule__StandardOperation__Group_6__0__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7535:1: rule__StandardOperation__Group_6__0__Impl : ( ':' ) ;
     public final void rule__StandardOperation__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7695:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7696:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7539:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7540:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7696:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7697:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7540:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7541:1: ':'
             {
              before(grammarAccess.getStandardOperationAccess().getColonKeyword_6_0()); 
-            match(input,42,FOLLOW_42_in_rule__StandardOperation__Group_6__0__Impl16181); 
+            match(input,43,FOLLOW_43_in_rule__StandardOperation__Group_6__0__Impl15873); 
              after(grammarAccess.getStandardOperationAccess().getColonKeyword_6_0()); 
 
             }
@@ -22433,16 +22197,16 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_6__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7710:1: rule__StandardOperation__Group_6__1 : rule__StandardOperation__Group_6__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7554:1: rule__StandardOperation__Group_6__1 : rule__StandardOperation__Group_6__1__Impl ;
     public final void rule__StandardOperation__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7714:1: ( rule__StandardOperation__Group_6__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7715:2: rule__StandardOperation__Group_6__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7558:1: ( rule__StandardOperation__Group_6__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7559:2: rule__StandardOperation__Group_6__1__Impl
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Group_6__1__Impl_in_rule__StandardOperation__Group_6__116212);
+            pushFollow(FOLLOW_rule__StandardOperation__Group_6__1__Impl_in_rule__StandardOperation__Group_6__115904);
             rule__StandardOperation__Group_6__1__Impl();
 
             state._fsp--;
@@ -22466,23 +22230,23 @@
 
 
     // $ANTLR start "rule__StandardOperation__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7721:1: rule__StandardOperation__Group_6__1__Impl : ( ( rule__StandardOperation__Alternatives_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7565:1: rule__StandardOperation__Group_6__1__Impl : ( ( rule__StandardOperation__Alternatives_6_1 ) ) ;
     public final void rule__StandardOperation__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7725:1: ( ( ( rule__StandardOperation__Alternatives_6_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7726:1: ( ( rule__StandardOperation__Alternatives_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7569:1: ( ( ( rule__StandardOperation__Alternatives_6_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7570:1: ( ( rule__StandardOperation__Alternatives_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7726:1: ( ( rule__StandardOperation__Alternatives_6_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7727:1: ( rule__StandardOperation__Alternatives_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7570:1: ( ( rule__StandardOperation__Alternatives_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7571:1: ( rule__StandardOperation__Alternatives_6_1 )
             {
              before(grammarAccess.getStandardOperationAccess().getAlternatives_6_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7728:1: ( rule__StandardOperation__Alternatives_6_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7728:2: rule__StandardOperation__Alternatives_6_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7572:1: ( rule__StandardOperation__Alternatives_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7572:2: rule__StandardOperation__Alternatives_6_1
             {
-            pushFollow(FOLLOW_rule__StandardOperation__Alternatives_6_1_in_rule__StandardOperation__Group_6__1__Impl16239);
+            pushFollow(FOLLOW_rule__StandardOperation__Alternatives_6_1_in_rule__StandardOperation__Group_6__1__Impl15931);
             rule__StandardOperation__Alternatives_6_1();
 
             state._fsp--;
@@ -22513,21 +22277,21 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7742:1: rule__PortOperation__Group__0 : rule__PortOperation__Group__0__Impl rule__PortOperation__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7586:1: rule__PortOperation__Group__0 : rule__PortOperation__Group__0__Impl rule__PortOperation__Group__1 ;
     public final void rule__PortOperation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7746:1: ( rule__PortOperation__Group__0__Impl rule__PortOperation__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7747:2: rule__PortOperation__Group__0__Impl rule__PortOperation__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7590:1: ( rule__PortOperation__Group__0__Impl rule__PortOperation__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7591:2: rule__PortOperation__Group__0__Impl rule__PortOperation__Group__1
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group__0__Impl_in_rule__PortOperation__Group__016273);
+            pushFollow(FOLLOW_rule__PortOperation__Group__0__Impl_in_rule__PortOperation__Group__015965);
             rule__PortOperation__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortOperation__Group__1_in_rule__PortOperation__Group__016276);
+            pushFollow(FOLLOW_rule__PortOperation__Group__1_in_rule__PortOperation__Group__015968);
             rule__PortOperation__Group__1();
 
             state._fsp--;
@@ -22551,20 +22315,20 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7754:1: rule__PortOperation__Group__0__Impl : ( 'Operation' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7598:1: rule__PortOperation__Group__0__Impl : ( 'Operation' ) ;
     public final void rule__PortOperation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7758:1: ( ( 'Operation' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7759:1: ( 'Operation' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7602:1: ( ( 'Operation' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7603:1: ( 'Operation' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7759:1: ( 'Operation' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7760:1: 'Operation'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7603:1: ( 'Operation' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7604:1: 'Operation'
             {
              before(grammarAccess.getPortOperationAccess().getOperationKeyword_0()); 
-            match(input,60,FOLLOW_60_in_rule__PortOperation__Group__0__Impl16304); 
+            match(input,61,FOLLOW_61_in_rule__PortOperation__Group__0__Impl15996); 
              after(grammarAccess.getPortOperationAccess().getOperationKeyword_0()); 
 
             }
@@ -22588,21 +22352,21 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7773:1: rule__PortOperation__Group__1 : rule__PortOperation__Group__1__Impl rule__PortOperation__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7617:1: rule__PortOperation__Group__1 : rule__PortOperation__Group__1__Impl rule__PortOperation__Group__2 ;
     public final void rule__PortOperation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7777:1: ( rule__PortOperation__Group__1__Impl rule__PortOperation__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7778:2: rule__PortOperation__Group__1__Impl rule__PortOperation__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7621:1: ( rule__PortOperation__Group__1__Impl rule__PortOperation__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7622:2: rule__PortOperation__Group__1__Impl rule__PortOperation__Group__2
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group__1__Impl_in_rule__PortOperation__Group__116335);
+            pushFollow(FOLLOW_rule__PortOperation__Group__1__Impl_in_rule__PortOperation__Group__116027);
             rule__PortOperation__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortOperation__Group__2_in_rule__PortOperation__Group__116338);
+            pushFollow(FOLLOW_rule__PortOperation__Group__2_in_rule__PortOperation__Group__116030);
             rule__PortOperation__Group__2();
 
             state._fsp--;
@@ -22626,23 +22390,23 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7785:1: rule__PortOperation__Group__1__Impl : ( ( rule__PortOperation__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7629:1: rule__PortOperation__Group__1__Impl : ( ( rule__PortOperation__NameAssignment_1 ) ) ;
     public final void rule__PortOperation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7789:1: ( ( ( rule__PortOperation__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7790:1: ( ( rule__PortOperation__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7633:1: ( ( ( rule__PortOperation__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7634:1: ( ( rule__PortOperation__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7790:1: ( ( rule__PortOperation__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7791:1: ( rule__PortOperation__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7634:1: ( ( rule__PortOperation__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7635:1: ( rule__PortOperation__NameAssignment_1 )
             {
              before(grammarAccess.getPortOperationAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7792:1: ( rule__PortOperation__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7792:2: rule__PortOperation__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7636:1: ( rule__PortOperation__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7636:2: rule__PortOperation__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__PortOperation__NameAssignment_1_in_rule__PortOperation__Group__1__Impl16365);
+            pushFollow(FOLLOW_rule__PortOperation__NameAssignment_1_in_rule__PortOperation__Group__1__Impl16057);
             rule__PortOperation__NameAssignment_1();
 
             state._fsp--;
@@ -22673,21 +22437,21 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7802:1: rule__PortOperation__Group__2 : rule__PortOperation__Group__2__Impl rule__PortOperation__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7646:1: rule__PortOperation__Group__2 : rule__PortOperation__Group__2__Impl rule__PortOperation__Group__3 ;
     public final void rule__PortOperation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7806:1: ( rule__PortOperation__Group__2__Impl rule__PortOperation__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7807:2: rule__PortOperation__Group__2__Impl rule__PortOperation__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7650:1: ( rule__PortOperation__Group__2__Impl rule__PortOperation__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7651:2: rule__PortOperation__Group__2__Impl rule__PortOperation__Group__3
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group__2__Impl_in_rule__PortOperation__Group__216395);
+            pushFollow(FOLLOW_rule__PortOperation__Group__2__Impl_in_rule__PortOperation__Group__216087);
             rule__PortOperation__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortOperation__Group__3_in_rule__PortOperation__Group__216398);
+            pushFollow(FOLLOW_rule__PortOperation__Group__3_in_rule__PortOperation__Group__216090);
             rule__PortOperation__Group__3();
 
             state._fsp--;
@@ -22711,20 +22475,20 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7814:1: rule__PortOperation__Group__2__Impl : ( '(' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7658:1: rule__PortOperation__Group__2__Impl : ( '(' ) ;
     public final void rule__PortOperation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7818:1: ( ( '(' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7819:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7662:1: ( ( '(' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7663:1: ( '(' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7819:1: ( '(' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7820:1: '('
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7663:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7664:1: '('
             {
              before(grammarAccess.getPortOperationAccess().getLeftParenthesisKeyword_2()); 
-            match(input,46,FOLLOW_46_in_rule__PortOperation__Group__2__Impl16426); 
+            match(input,47,FOLLOW_47_in_rule__PortOperation__Group__2__Impl16118); 
              after(grammarAccess.getPortOperationAccess().getLeftParenthesisKeyword_2()); 
 
             }
@@ -22748,21 +22512,21 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7833:1: rule__PortOperation__Group__3 : rule__PortOperation__Group__3__Impl rule__PortOperation__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7677:1: rule__PortOperation__Group__3 : rule__PortOperation__Group__3__Impl rule__PortOperation__Group__4 ;
     public final void rule__PortOperation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7837:1: ( rule__PortOperation__Group__3__Impl rule__PortOperation__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7838:2: rule__PortOperation__Group__3__Impl rule__PortOperation__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7681:1: ( rule__PortOperation__Group__3__Impl rule__PortOperation__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7682:2: rule__PortOperation__Group__3__Impl rule__PortOperation__Group__4
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group__3__Impl_in_rule__PortOperation__Group__316457);
+            pushFollow(FOLLOW_rule__PortOperation__Group__3__Impl_in_rule__PortOperation__Group__316149);
             rule__PortOperation__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortOperation__Group__4_in_rule__PortOperation__Group__316460);
+            pushFollow(FOLLOW_rule__PortOperation__Group__4_in_rule__PortOperation__Group__316152);
             rule__PortOperation__Group__4();
 
             state._fsp--;
@@ -22786,20 +22550,20 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7845:1: rule__PortOperation__Group__3__Impl : ( ( rule__PortOperation__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7689:1: rule__PortOperation__Group__3__Impl : ( ( rule__PortOperation__Group_3__0 )? ) ;
     public final void rule__PortOperation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7849:1: ( ( ( rule__PortOperation__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7850:1: ( ( rule__PortOperation__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7693:1: ( ( ( rule__PortOperation__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7694:1: ( ( rule__PortOperation__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7850:1: ( ( rule__PortOperation__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7851:1: ( rule__PortOperation__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7694:1: ( ( rule__PortOperation__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7695:1: ( rule__PortOperation__Group_3__0 )?
             {
              before(grammarAccess.getPortOperationAccess().getGroup_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7852:1: ( rule__PortOperation__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7696:1: ( rule__PortOperation__Group_3__0 )?
             int alt83=2;
             int LA83_0 = input.LA(1);
 
@@ -22808,9 +22572,9 @@
             }
             switch (alt83) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7852:2: rule__PortOperation__Group_3__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7696:2: rule__PortOperation__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__PortOperation__Group_3__0_in_rule__PortOperation__Group__3__Impl16487);
+                    pushFollow(FOLLOW_rule__PortOperation__Group_3__0_in_rule__PortOperation__Group__3__Impl16179);
                     rule__PortOperation__Group_3__0();
 
                     state._fsp--;
@@ -22844,21 +22608,21 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7862:1: rule__PortOperation__Group__4 : rule__PortOperation__Group__4__Impl rule__PortOperation__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7706:1: rule__PortOperation__Group__4 : rule__PortOperation__Group__4__Impl rule__PortOperation__Group__5 ;
     public final void rule__PortOperation__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7866:1: ( rule__PortOperation__Group__4__Impl rule__PortOperation__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7867:2: rule__PortOperation__Group__4__Impl rule__PortOperation__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7710:1: ( rule__PortOperation__Group__4__Impl rule__PortOperation__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7711:2: rule__PortOperation__Group__4__Impl rule__PortOperation__Group__5
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group__4__Impl_in_rule__PortOperation__Group__416518);
+            pushFollow(FOLLOW_rule__PortOperation__Group__4__Impl_in_rule__PortOperation__Group__416210);
             rule__PortOperation__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortOperation__Group__5_in_rule__PortOperation__Group__416521);
+            pushFollow(FOLLOW_rule__PortOperation__Group__5_in_rule__PortOperation__Group__416213);
             rule__PortOperation__Group__5();
 
             state._fsp--;
@@ -22882,20 +22646,20 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7874:1: rule__PortOperation__Group__4__Impl : ( ')' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7718:1: rule__PortOperation__Group__4__Impl : ( ')' ) ;
     public final void rule__PortOperation__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7878:1: ( ( ')' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7879:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7722:1: ( ( ')' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7723:1: ( ')' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7879:1: ( ')' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7880:1: ')'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7723:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7724:1: ')'
             {
              before(grammarAccess.getPortOperationAccess().getRightParenthesisKeyword_4()); 
-            match(input,47,FOLLOW_47_in_rule__PortOperation__Group__4__Impl16549); 
+            match(input,48,FOLLOW_48_in_rule__PortOperation__Group__4__Impl16241); 
              after(grammarAccess.getPortOperationAccess().getRightParenthesisKeyword_4()); 
 
             }
@@ -22919,21 +22683,21 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7893:1: rule__PortOperation__Group__5 : rule__PortOperation__Group__5__Impl rule__PortOperation__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7737:1: rule__PortOperation__Group__5 : rule__PortOperation__Group__5__Impl rule__PortOperation__Group__6 ;
     public final void rule__PortOperation__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7897:1: ( rule__PortOperation__Group__5__Impl rule__PortOperation__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7898:2: rule__PortOperation__Group__5__Impl rule__PortOperation__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7741:1: ( rule__PortOperation__Group__5__Impl rule__PortOperation__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7742:2: rule__PortOperation__Group__5__Impl rule__PortOperation__Group__6
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group__5__Impl_in_rule__PortOperation__Group__516580);
+            pushFollow(FOLLOW_rule__PortOperation__Group__5__Impl_in_rule__PortOperation__Group__516272);
             rule__PortOperation__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortOperation__Group__6_in_rule__PortOperation__Group__516583);
+            pushFollow(FOLLOW_rule__PortOperation__Group__6_in_rule__PortOperation__Group__516275);
             rule__PortOperation__Group__6();
 
             state._fsp--;
@@ -22957,31 +22721,31 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7905:1: rule__PortOperation__Group__5__Impl : ( ( rule__PortOperation__Alternatives_5 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7749:1: rule__PortOperation__Group__5__Impl : ( ( rule__PortOperation__Alternatives_5 )? ) ;
     public final void rule__PortOperation__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7909:1: ( ( ( rule__PortOperation__Alternatives_5 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7910:1: ( ( rule__PortOperation__Alternatives_5 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7753:1: ( ( ( rule__PortOperation__Alternatives_5 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7754:1: ( ( rule__PortOperation__Alternatives_5 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7910:1: ( ( rule__PortOperation__Alternatives_5 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7911:1: ( rule__PortOperation__Alternatives_5 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7754:1: ( ( rule__PortOperation__Alternatives_5 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7755:1: ( rule__PortOperation__Alternatives_5 )?
             {
              before(grammarAccess.getPortOperationAccess().getAlternatives_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7912:1: ( rule__PortOperation__Alternatives_5 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7756:1: ( rule__PortOperation__Alternatives_5 )?
             int alt84=2;
             int LA84_0 = input.LA(1);
 
-            if ( (LA84_0==42||LA84_0==61) ) {
+            if ( (LA84_0==43||LA84_0==62) ) {
                 alt84=1;
             }
             switch (alt84) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7912:2: rule__PortOperation__Alternatives_5
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7756:2: rule__PortOperation__Alternatives_5
                     {
-                    pushFollow(FOLLOW_rule__PortOperation__Alternatives_5_in_rule__PortOperation__Group__5__Impl16610);
+                    pushFollow(FOLLOW_rule__PortOperation__Alternatives_5_in_rule__PortOperation__Group__5__Impl16302);
                     rule__PortOperation__Alternatives_5();
 
                     state._fsp--;
@@ -23015,21 +22779,21 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7922:1: rule__PortOperation__Group__6 : rule__PortOperation__Group__6__Impl rule__PortOperation__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7766:1: rule__PortOperation__Group__6 : rule__PortOperation__Group__6__Impl rule__PortOperation__Group__7 ;
     public final void rule__PortOperation__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7926:1: ( rule__PortOperation__Group__6__Impl rule__PortOperation__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7927:2: rule__PortOperation__Group__6__Impl rule__PortOperation__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7770:1: ( rule__PortOperation__Group__6__Impl rule__PortOperation__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7771:2: rule__PortOperation__Group__6__Impl rule__PortOperation__Group__7
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group__6__Impl_in_rule__PortOperation__Group__616641);
+            pushFollow(FOLLOW_rule__PortOperation__Group__6__Impl_in_rule__PortOperation__Group__616333);
             rule__PortOperation__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortOperation__Group__7_in_rule__PortOperation__Group__616644);
+            pushFollow(FOLLOW_rule__PortOperation__Group__7_in_rule__PortOperation__Group__616336);
             rule__PortOperation__Group__7();
 
             state._fsp--;
@@ -23053,31 +22817,31 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7934:1: rule__PortOperation__Group__6__Impl : ( ( rule__PortOperation__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7778:1: rule__PortOperation__Group__6__Impl : ( ( rule__PortOperation__DocuAssignment_6 )? ) ;
     public final void rule__PortOperation__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7938:1: ( ( ( rule__PortOperation__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7939:1: ( ( rule__PortOperation__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7782:1: ( ( ( rule__PortOperation__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7783:1: ( ( rule__PortOperation__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7939:1: ( ( rule__PortOperation__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7940:1: ( rule__PortOperation__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7783:1: ( ( rule__PortOperation__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7784:1: ( rule__PortOperation__DocuAssignment_6 )?
             {
              before(grammarAccess.getPortOperationAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7941:1: ( rule__PortOperation__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7785:1: ( rule__PortOperation__DocuAssignment_6 )?
             int alt85=2;
             int LA85_0 = input.LA(1);
 
-            if ( (LA85_0==58) ) {
+            if ( (LA85_0==59) ) {
                 alt85=1;
             }
             switch (alt85) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7941:2: rule__PortOperation__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7785:2: rule__PortOperation__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__PortOperation__DocuAssignment_6_in_rule__PortOperation__Group__6__Impl16671);
+                    pushFollow(FOLLOW_rule__PortOperation__DocuAssignment_6_in_rule__PortOperation__Group__6__Impl16363);
                     rule__PortOperation__DocuAssignment_6();
 
                     state._fsp--;
@@ -23111,16 +22875,16 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7951:1: rule__PortOperation__Group__7 : rule__PortOperation__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7795:1: rule__PortOperation__Group__7 : rule__PortOperation__Group__7__Impl ;
     public final void rule__PortOperation__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7955:1: ( rule__PortOperation__Group__7__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7956:2: rule__PortOperation__Group__7__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7799:1: ( rule__PortOperation__Group__7__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7800:2: rule__PortOperation__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group__7__Impl_in_rule__PortOperation__Group__716702);
+            pushFollow(FOLLOW_rule__PortOperation__Group__7__Impl_in_rule__PortOperation__Group__716394);
             rule__PortOperation__Group__7__Impl();
 
             state._fsp--;
@@ -23144,23 +22908,23 @@
 
 
     // $ANTLR start "rule__PortOperation__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7962:1: rule__PortOperation__Group__7__Impl : ( ( rule__PortOperation__DetailCodeAssignment_7 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7806:1: rule__PortOperation__Group__7__Impl : ( ( rule__PortOperation__DetailCodeAssignment_7 ) ) ;
     public final void rule__PortOperation__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7966:1: ( ( ( rule__PortOperation__DetailCodeAssignment_7 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7967:1: ( ( rule__PortOperation__DetailCodeAssignment_7 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7810:1: ( ( ( rule__PortOperation__DetailCodeAssignment_7 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7811:1: ( ( rule__PortOperation__DetailCodeAssignment_7 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7967:1: ( ( rule__PortOperation__DetailCodeAssignment_7 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7968:1: ( rule__PortOperation__DetailCodeAssignment_7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7811:1: ( ( rule__PortOperation__DetailCodeAssignment_7 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7812:1: ( rule__PortOperation__DetailCodeAssignment_7 )
             {
              before(grammarAccess.getPortOperationAccess().getDetailCodeAssignment_7()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7969:1: ( rule__PortOperation__DetailCodeAssignment_7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7969:2: rule__PortOperation__DetailCodeAssignment_7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7813:1: ( rule__PortOperation__DetailCodeAssignment_7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7813:2: rule__PortOperation__DetailCodeAssignment_7
             {
-            pushFollow(FOLLOW_rule__PortOperation__DetailCodeAssignment_7_in_rule__PortOperation__Group__7__Impl16729);
+            pushFollow(FOLLOW_rule__PortOperation__DetailCodeAssignment_7_in_rule__PortOperation__Group__7__Impl16421);
             rule__PortOperation__DetailCodeAssignment_7();
 
             state._fsp--;
@@ -23191,21 +22955,21 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_3__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7995:1: rule__PortOperation__Group_3__0 : rule__PortOperation__Group_3__0__Impl rule__PortOperation__Group_3__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7839:1: rule__PortOperation__Group_3__0 : rule__PortOperation__Group_3__0__Impl rule__PortOperation__Group_3__1 ;
     public final void rule__PortOperation__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7999:1: ( rule__PortOperation__Group_3__0__Impl rule__PortOperation__Group_3__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8000:2: rule__PortOperation__Group_3__0__Impl rule__PortOperation__Group_3__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7843:1: ( rule__PortOperation__Group_3__0__Impl rule__PortOperation__Group_3__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7844:2: rule__PortOperation__Group_3__0__Impl rule__PortOperation__Group_3__1
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group_3__0__Impl_in_rule__PortOperation__Group_3__016775);
+            pushFollow(FOLLOW_rule__PortOperation__Group_3__0__Impl_in_rule__PortOperation__Group_3__016467);
             rule__PortOperation__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortOperation__Group_3__1_in_rule__PortOperation__Group_3__016778);
+            pushFollow(FOLLOW_rule__PortOperation__Group_3__1_in_rule__PortOperation__Group_3__016470);
             rule__PortOperation__Group_3__1();
 
             state._fsp--;
@@ -23229,23 +22993,23 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8007:1: rule__PortOperation__Group_3__0__Impl : ( ( rule__PortOperation__ArgumentsAssignment_3_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7851:1: rule__PortOperation__Group_3__0__Impl : ( ( rule__PortOperation__ArgumentsAssignment_3_0 ) ) ;
     public final void rule__PortOperation__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8011:1: ( ( ( rule__PortOperation__ArgumentsAssignment_3_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8012:1: ( ( rule__PortOperation__ArgumentsAssignment_3_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7855:1: ( ( ( rule__PortOperation__ArgumentsAssignment_3_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7856:1: ( ( rule__PortOperation__ArgumentsAssignment_3_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8012:1: ( ( rule__PortOperation__ArgumentsAssignment_3_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8013:1: ( rule__PortOperation__ArgumentsAssignment_3_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7856:1: ( ( rule__PortOperation__ArgumentsAssignment_3_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7857:1: ( rule__PortOperation__ArgumentsAssignment_3_0 )
             {
              before(grammarAccess.getPortOperationAccess().getArgumentsAssignment_3_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8014:1: ( rule__PortOperation__ArgumentsAssignment_3_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8014:2: rule__PortOperation__ArgumentsAssignment_3_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7858:1: ( rule__PortOperation__ArgumentsAssignment_3_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7858:2: rule__PortOperation__ArgumentsAssignment_3_0
             {
-            pushFollow(FOLLOW_rule__PortOperation__ArgumentsAssignment_3_0_in_rule__PortOperation__Group_3__0__Impl16805);
+            pushFollow(FOLLOW_rule__PortOperation__ArgumentsAssignment_3_0_in_rule__PortOperation__Group_3__0__Impl16497);
             rule__PortOperation__ArgumentsAssignment_3_0();
 
             state._fsp--;
@@ -23276,16 +23040,16 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_3__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8024:1: rule__PortOperation__Group_3__1 : rule__PortOperation__Group_3__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7868:1: rule__PortOperation__Group_3__1 : rule__PortOperation__Group_3__1__Impl ;
     public final void rule__PortOperation__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8028:1: ( rule__PortOperation__Group_3__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8029:2: rule__PortOperation__Group_3__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7872:1: ( rule__PortOperation__Group_3__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7873:2: rule__PortOperation__Group_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group_3__1__Impl_in_rule__PortOperation__Group_3__116835);
+            pushFollow(FOLLOW_rule__PortOperation__Group_3__1__Impl_in_rule__PortOperation__Group_3__116527);
             rule__PortOperation__Group_3__1__Impl();
 
             state._fsp--;
@@ -23309,35 +23073,35 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8035:1: rule__PortOperation__Group_3__1__Impl : ( ( rule__PortOperation__Group_3_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7879:1: rule__PortOperation__Group_3__1__Impl : ( ( rule__PortOperation__Group_3_1__0 )* ) ;
     public final void rule__PortOperation__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8039:1: ( ( ( rule__PortOperation__Group_3_1__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8040:1: ( ( rule__PortOperation__Group_3_1__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7883:1: ( ( ( rule__PortOperation__Group_3_1__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7884:1: ( ( rule__PortOperation__Group_3_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8040:1: ( ( rule__PortOperation__Group_3_1__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8041:1: ( rule__PortOperation__Group_3_1__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7884:1: ( ( rule__PortOperation__Group_3_1__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7885:1: ( rule__PortOperation__Group_3_1__0 )*
             {
              before(grammarAccess.getPortOperationAccess().getGroup_3_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8042:1: ( rule__PortOperation__Group_3_1__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7886:1: ( rule__PortOperation__Group_3_1__0 )*
             loop86:
             do {
                 int alt86=2;
                 int LA86_0 = input.LA(1);
 
-                if ( (LA86_0==50) ) {
+                if ( (LA86_0==51) ) {
                     alt86=1;
                 }
 
 
                 switch (alt86) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8042:2: rule__PortOperation__Group_3_1__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7886:2: rule__PortOperation__Group_3_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__PortOperation__Group_3_1__0_in_rule__PortOperation__Group_3__1__Impl16862);
+            	    pushFollow(FOLLOW_rule__PortOperation__Group_3_1__0_in_rule__PortOperation__Group_3__1__Impl16554);
             	    rule__PortOperation__Group_3_1__0();
 
             	    state._fsp--;
@@ -23374,21 +23138,21 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_3_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8056:1: rule__PortOperation__Group_3_1__0 : rule__PortOperation__Group_3_1__0__Impl rule__PortOperation__Group_3_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7900:1: rule__PortOperation__Group_3_1__0 : rule__PortOperation__Group_3_1__0__Impl rule__PortOperation__Group_3_1__1 ;
     public final void rule__PortOperation__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8060:1: ( rule__PortOperation__Group_3_1__0__Impl rule__PortOperation__Group_3_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8061:2: rule__PortOperation__Group_3_1__0__Impl rule__PortOperation__Group_3_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7904:1: ( rule__PortOperation__Group_3_1__0__Impl rule__PortOperation__Group_3_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7905:2: rule__PortOperation__Group_3_1__0__Impl rule__PortOperation__Group_3_1__1
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group_3_1__0__Impl_in_rule__PortOperation__Group_3_1__016897);
+            pushFollow(FOLLOW_rule__PortOperation__Group_3_1__0__Impl_in_rule__PortOperation__Group_3_1__016589);
             rule__PortOperation__Group_3_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortOperation__Group_3_1__1_in_rule__PortOperation__Group_3_1__016900);
+            pushFollow(FOLLOW_rule__PortOperation__Group_3_1__1_in_rule__PortOperation__Group_3_1__016592);
             rule__PortOperation__Group_3_1__1();
 
             state._fsp--;
@@ -23412,20 +23176,20 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_3_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8068:1: rule__PortOperation__Group_3_1__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7912:1: rule__PortOperation__Group_3_1__0__Impl : ( ',' ) ;
     public final void rule__PortOperation__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8072:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8073:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7916:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7917:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8073:1: ( ',' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8074:1: ','
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7917:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7918:1: ','
             {
              before(grammarAccess.getPortOperationAccess().getCommaKeyword_3_1_0()); 
-            match(input,50,FOLLOW_50_in_rule__PortOperation__Group_3_1__0__Impl16928); 
+            match(input,51,FOLLOW_51_in_rule__PortOperation__Group_3_1__0__Impl16620); 
              after(grammarAccess.getPortOperationAccess().getCommaKeyword_3_1_0()); 
 
             }
@@ -23449,16 +23213,16 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_3_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8087:1: rule__PortOperation__Group_3_1__1 : rule__PortOperation__Group_3_1__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7931:1: rule__PortOperation__Group_3_1__1 : rule__PortOperation__Group_3_1__1__Impl ;
     public final void rule__PortOperation__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8091:1: ( rule__PortOperation__Group_3_1__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8092:2: rule__PortOperation__Group_3_1__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7935:1: ( rule__PortOperation__Group_3_1__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7936:2: rule__PortOperation__Group_3_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group_3_1__1__Impl_in_rule__PortOperation__Group_3_1__116959);
+            pushFollow(FOLLOW_rule__PortOperation__Group_3_1__1__Impl_in_rule__PortOperation__Group_3_1__116651);
             rule__PortOperation__Group_3_1__1__Impl();
 
             state._fsp--;
@@ -23482,23 +23246,23 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_3_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8098:1: rule__PortOperation__Group_3_1__1__Impl : ( ( rule__PortOperation__ArgumentsAssignment_3_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7942:1: rule__PortOperation__Group_3_1__1__Impl : ( ( rule__PortOperation__ArgumentsAssignment_3_1_1 ) ) ;
     public final void rule__PortOperation__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8102:1: ( ( ( rule__PortOperation__ArgumentsAssignment_3_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8103:1: ( ( rule__PortOperation__ArgumentsAssignment_3_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7946:1: ( ( ( rule__PortOperation__ArgumentsAssignment_3_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7947:1: ( ( rule__PortOperation__ArgumentsAssignment_3_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8103:1: ( ( rule__PortOperation__ArgumentsAssignment_3_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8104:1: ( rule__PortOperation__ArgumentsAssignment_3_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7947:1: ( ( rule__PortOperation__ArgumentsAssignment_3_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7948:1: ( rule__PortOperation__ArgumentsAssignment_3_1_1 )
             {
              before(grammarAccess.getPortOperationAccess().getArgumentsAssignment_3_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8105:1: ( rule__PortOperation__ArgumentsAssignment_3_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8105:2: rule__PortOperation__ArgumentsAssignment_3_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7949:1: ( rule__PortOperation__ArgumentsAssignment_3_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7949:2: rule__PortOperation__ArgumentsAssignment_3_1_1
             {
-            pushFollow(FOLLOW_rule__PortOperation__ArgumentsAssignment_3_1_1_in_rule__PortOperation__Group_3_1__1__Impl16986);
+            pushFollow(FOLLOW_rule__PortOperation__ArgumentsAssignment_3_1_1_in_rule__PortOperation__Group_3_1__1__Impl16678);
             rule__PortOperation__ArgumentsAssignment_3_1_1();
 
             state._fsp--;
@@ -23529,21 +23293,21 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_5_0__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8119:1: rule__PortOperation__Group_5_0__0 : rule__PortOperation__Group_5_0__0__Impl rule__PortOperation__Group_5_0__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7963:1: rule__PortOperation__Group_5_0__0 : rule__PortOperation__Group_5_0__0__Impl rule__PortOperation__Group_5_0__1 ;
     public final void rule__PortOperation__Group_5_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8123:1: ( rule__PortOperation__Group_5_0__0__Impl rule__PortOperation__Group_5_0__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8124:2: rule__PortOperation__Group_5_0__0__Impl rule__PortOperation__Group_5_0__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7967:1: ( rule__PortOperation__Group_5_0__0__Impl rule__PortOperation__Group_5_0__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7968:2: rule__PortOperation__Group_5_0__0__Impl rule__PortOperation__Group_5_0__1
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group_5_0__0__Impl_in_rule__PortOperation__Group_5_0__017020);
+            pushFollow(FOLLOW_rule__PortOperation__Group_5_0__0__Impl_in_rule__PortOperation__Group_5_0__016712);
             rule__PortOperation__Group_5_0__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortOperation__Group_5_0__1_in_rule__PortOperation__Group_5_0__017023);
+            pushFollow(FOLLOW_rule__PortOperation__Group_5_0__1_in_rule__PortOperation__Group_5_0__016715);
             rule__PortOperation__Group_5_0__1();
 
             state._fsp--;
@@ -23567,20 +23331,20 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_5_0__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8131:1: rule__PortOperation__Group_5_0__0__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7975:1: rule__PortOperation__Group_5_0__0__Impl : ( ':' ) ;
     public final void rule__PortOperation__Group_5_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8135:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8136:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7979:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7980:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8136:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8137:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7980:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7981:1: ':'
             {
              before(grammarAccess.getPortOperationAccess().getColonKeyword_5_0_0()); 
-            match(input,42,FOLLOW_42_in_rule__PortOperation__Group_5_0__0__Impl17051); 
+            match(input,43,FOLLOW_43_in_rule__PortOperation__Group_5_0__0__Impl16743); 
              after(grammarAccess.getPortOperationAccess().getColonKeyword_5_0_0()); 
 
             }
@@ -23604,16 +23368,16 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_5_0__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8150:1: rule__PortOperation__Group_5_0__1 : rule__PortOperation__Group_5_0__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7994:1: rule__PortOperation__Group_5_0__1 : rule__PortOperation__Group_5_0__1__Impl ;
     public final void rule__PortOperation__Group_5_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8154:1: ( rule__PortOperation__Group_5_0__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8155:2: rule__PortOperation__Group_5_0__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7998:1: ( rule__PortOperation__Group_5_0__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:7999:2: rule__PortOperation__Group_5_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group_5_0__1__Impl_in_rule__PortOperation__Group_5_0__117082);
+            pushFollow(FOLLOW_rule__PortOperation__Group_5_0__1__Impl_in_rule__PortOperation__Group_5_0__116774);
             rule__PortOperation__Group_5_0__1__Impl();
 
             state._fsp--;
@@ -23637,23 +23401,23 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_5_0__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8161:1: rule__PortOperation__Group_5_0__1__Impl : ( ( rule__PortOperation__Alternatives_5_0_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8005:1: rule__PortOperation__Group_5_0__1__Impl : ( ( rule__PortOperation__Alternatives_5_0_1 ) ) ;
     public final void rule__PortOperation__Group_5_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8165:1: ( ( ( rule__PortOperation__Alternatives_5_0_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8166:1: ( ( rule__PortOperation__Alternatives_5_0_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8009:1: ( ( ( rule__PortOperation__Alternatives_5_0_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8010:1: ( ( rule__PortOperation__Alternatives_5_0_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8166:1: ( ( rule__PortOperation__Alternatives_5_0_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8167:1: ( rule__PortOperation__Alternatives_5_0_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8010:1: ( ( rule__PortOperation__Alternatives_5_0_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8011:1: ( rule__PortOperation__Alternatives_5_0_1 )
             {
              before(grammarAccess.getPortOperationAccess().getAlternatives_5_0_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8168:1: ( rule__PortOperation__Alternatives_5_0_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8168:2: rule__PortOperation__Alternatives_5_0_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8012:1: ( rule__PortOperation__Alternatives_5_0_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8012:2: rule__PortOperation__Alternatives_5_0_1
             {
-            pushFollow(FOLLOW_rule__PortOperation__Alternatives_5_0_1_in_rule__PortOperation__Group_5_0__1__Impl17109);
+            pushFollow(FOLLOW_rule__PortOperation__Alternatives_5_0_1_in_rule__PortOperation__Group_5_0__1__Impl16801);
             rule__PortOperation__Alternatives_5_0_1();
 
             state._fsp--;
@@ -23684,21 +23448,21 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_5_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8182:1: rule__PortOperation__Group_5_1__0 : rule__PortOperation__Group_5_1__0__Impl rule__PortOperation__Group_5_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8026:1: rule__PortOperation__Group_5_1__0 : rule__PortOperation__Group_5_1__0__Impl rule__PortOperation__Group_5_1__1 ;
     public final void rule__PortOperation__Group_5_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8186:1: ( rule__PortOperation__Group_5_1__0__Impl rule__PortOperation__Group_5_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8187:2: rule__PortOperation__Group_5_1__0__Impl rule__PortOperation__Group_5_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8030:1: ( rule__PortOperation__Group_5_1__0__Impl rule__PortOperation__Group_5_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8031:2: rule__PortOperation__Group_5_1__0__Impl rule__PortOperation__Group_5_1__1
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group_5_1__0__Impl_in_rule__PortOperation__Group_5_1__017143);
+            pushFollow(FOLLOW_rule__PortOperation__Group_5_1__0__Impl_in_rule__PortOperation__Group_5_1__016835);
             rule__PortOperation__Group_5_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortOperation__Group_5_1__1_in_rule__PortOperation__Group_5_1__017146);
+            pushFollow(FOLLOW_rule__PortOperation__Group_5_1__1_in_rule__PortOperation__Group_5_1__016838);
             rule__PortOperation__Group_5_1__1();
 
             state._fsp--;
@@ -23722,20 +23486,20 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_5_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8194:1: rule__PortOperation__Group_5_1__0__Impl : ( 'sends' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8038:1: rule__PortOperation__Group_5_1__0__Impl : ( 'sends' ) ;
     public final void rule__PortOperation__Group_5_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8198:1: ( ( 'sends' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8199:1: ( 'sends' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8042:1: ( ( 'sends' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8043:1: ( 'sends' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8199:1: ( 'sends' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8200:1: 'sends'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8043:1: ( 'sends' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8044:1: 'sends'
             {
              before(grammarAccess.getPortOperationAccess().getSendsKeyword_5_1_0()); 
-            match(input,61,FOLLOW_61_in_rule__PortOperation__Group_5_1__0__Impl17174); 
+            match(input,62,FOLLOW_62_in_rule__PortOperation__Group_5_1__0__Impl16866); 
              after(grammarAccess.getPortOperationAccess().getSendsKeyword_5_1_0()); 
 
             }
@@ -23759,16 +23523,16 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_5_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8213:1: rule__PortOperation__Group_5_1__1 : rule__PortOperation__Group_5_1__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8057:1: rule__PortOperation__Group_5_1__1 : rule__PortOperation__Group_5_1__1__Impl ;
     public final void rule__PortOperation__Group_5_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8217:1: ( rule__PortOperation__Group_5_1__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8218:2: rule__PortOperation__Group_5_1__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8061:1: ( rule__PortOperation__Group_5_1__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8062:2: rule__PortOperation__Group_5_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__PortOperation__Group_5_1__1__Impl_in_rule__PortOperation__Group_5_1__117205);
+            pushFollow(FOLLOW_rule__PortOperation__Group_5_1__1__Impl_in_rule__PortOperation__Group_5_1__116897);
             rule__PortOperation__Group_5_1__1__Impl();
 
             state._fsp--;
@@ -23792,23 +23556,23 @@
 
 
     // $ANTLR start "rule__PortOperation__Group_5_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8224:1: rule__PortOperation__Group_5_1__1__Impl : ( ( rule__PortOperation__SendsMsgAssignment_5_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8068:1: rule__PortOperation__Group_5_1__1__Impl : ( ( rule__PortOperation__SendsMsgAssignment_5_1_1 ) ) ;
     public final void rule__PortOperation__Group_5_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8228:1: ( ( ( rule__PortOperation__SendsMsgAssignment_5_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8229:1: ( ( rule__PortOperation__SendsMsgAssignment_5_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8072:1: ( ( ( rule__PortOperation__SendsMsgAssignment_5_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8073:1: ( ( rule__PortOperation__SendsMsgAssignment_5_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8229:1: ( ( rule__PortOperation__SendsMsgAssignment_5_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8230:1: ( rule__PortOperation__SendsMsgAssignment_5_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8073:1: ( ( rule__PortOperation__SendsMsgAssignment_5_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8074:1: ( rule__PortOperation__SendsMsgAssignment_5_1_1 )
             {
              before(grammarAccess.getPortOperationAccess().getSendsMsgAssignment_5_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8231:1: ( rule__PortOperation__SendsMsgAssignment_5_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8231:2: rule__PortOperation__SendsMsgAssignment_5_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8075:1: ( rule__PortOperation__SendsMsgAssignment_5_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8075:2: rule__PortOperation__SendsMsgAssignment_5_1_1
             {
-            pushFollow(FOLLOW_rule__PortOperation__SendsMsgAssignment_5_1_1_in_rule__PortOperation__Group_5_1__1__Impl17232);
+            pushFollow(FOLLOW_rule__PortOperation__SendsMsgAssignment_5_1_1_in_rule__PortOperation__Group_5_1__1__Impl16924);
             rule__PortOperation__SendsMsgAssignment_5_1_1();
 
             state._fsp--;
@@ -23839,21 +23603,21 @@
 
 
     // $ANTLR start "rule__ClassStructor__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8245:1: rule__ClassStructor__Group__0 : rule__ClassStructor__Group__0__Impl rule__ClassStructor__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8089:1: rule__ClassStructor__Group__0 : rule__ClassStructor__Group__0__Impl rule__ClassStructor__Group__1 ;
     public final void rule__ClassStructor__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8249:1: ( rule__ClassStructor__Group__0__Impl rule__ClassStructor__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8250:2: rule__ClassStructor__Group__0__Impl rule__ClassStructor__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8093:1: ( rule__ClassStructor__Group__0__Impl rule__ClassStructor__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8094:2: rule__ClassStructor__Group__0__Impl rule__ClassStructor__Group__1
             {
-            pushFollow(FOLLOW_rule__ClassStructor__Group__0__Impl_in_rule__ClassStructor__Group__017266);
+            pushFollow(FOLLOW_rule__ClassStructor__Group__0__Impl_in_rule__ClassStructor__Group__016958);
             rule__ClassStructor__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ClassStructor__Group__1_in_rule__ClassStructor__Group__017269);
+            pushFollow(FOLLOW_rule__ClassStructor__Group__1_in_rule__ClassStructor__Group__016961);
             rule__ClassStructor__Group__1();
 
             state._fsp--;
@@ -23877,23 +23641,23 @@
 
 
     // $ANTLR start "rule__ClassStructor__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8257:1: rule__ClassStructor__Group__0__Impl : ( ( rule__ClassStructor__NameAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8101:1: rule__ClassStructor__Group__0__Impl : ( ( rule__ClassStructor__NameAssignment_0 ) ) ;
     public final void rule__ClassStructor__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8261:1: ( ( ( rule__ClassStructor__NameAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8262:1: ( ( rule__ClassStructor__NameAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8105:1: ( ( ( rule__ClassStructor__NameAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8106:1: ( ( rule__ClassStructor__NameAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8262:1: ( ( rule__ClassStructor__NameAssignment_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8263:1: ( rule__ClassStructor__NameAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8106:1: ( ( rule__ClassStructor__NameAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8107:1: ( rule__ClassStructor__NameAssignment_0 )
             {
              before(grammarAccess.getClassStructorAccess().getNameAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8264:1: ( rule__ClassStructor__NameAssignment_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8264:2: rule__ClassStructor__NameAssignment_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8108:1: ( rule__ClassStructor__NameAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8108:2: rule__ClassStructor__NameAssignment_0
             {
-            pushFollow(FOLLOW_rule__ClassStructor__NameAssignment_0_in_rule__ClassStructor__Group__0__Impl17296);
+            pushFollow(FOLLOW_rule__ClassStructor__NameAssignment_0_in_rule__ClassStructor__Group__0__Impl16988);
             rule__ClassStructor__NameAssignment_0();
 
             state._fsp--;
@@ -23924,16 +23688,16 @@
 
 
     // $ANTLR start "rule__ClassStructor__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8274:1: rule__ClassStructor__Group__1 : rule__ClassStructor__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8118:1: rule__ClassStructor__Group__1 : rule__ClassStructor__Group__1__Impl ;
     public final void rule__ClassStructor__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8278:1: ( rule__ClassStructor__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8279:2: rule__ClassStructor__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8122:1: ( rule__ClassStructor__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8123:2: rule__ClassStructor__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ClassStructor__Group__1__Impl_in_rule__ClassStructor__Group__117326);
+            pushFollow(FOLLOW_rule__ClassStructor__Group__1__Impl_in_rule__ClassStructor__Group__117018);
             rule__ClassStructor__Group__1__Impl();
 
             state._fsp--;
@@ -23957,23 +23721,23 @@
 
 
     // $ANTLR start "rule__ClassStructor__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8285:1: rule__ClassStructor__Group__1__Impl : ( ( rule__ClassStructor__DetailCodeAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8129:1: rule__ClassStructor__Group__1__Impl : ( ( rule__ClassStructor__DetailCodeAssignment_1 ) ) ;
     public final void rule__ClassStructor__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8289:1: ( ( ( rule__ClassStructor__DetailCodeAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8290:1: ( ( rule__ClassStructor__DetailCodeAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8133:1: ( ( ( rule__ClassStructor__DetailCodeAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8134:1: ( ( rule__ClassStructor__DetailCodeAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8290:1: ( ( rule__ClassStructor__DetailCodeAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8291:1: ( rule__ClassStructor__DetailCodeAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8134:1: ( ( rule__ClassStructor__DetailCodeAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8135:1: ( rule__ClassStructor__DetailCodeAssignment_1 )
             {
              before(grammarAccess.getClassStructorAccess().getDetailCodeAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8292:1: ( rule__ClassStructor__DetailCodeAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8292:2: rule__ClassStructor__DetailCodeAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8136:1: ( rule__ClassStructor__DetailCodeAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8136:2: rule__ClassStructor__DetailCodeAssignment_1
             {
-            pushFollow(FOLLOW_rule__ClassStructor__DetailCodeAssignment_1_in_rule__ClassStructor__Group__1__Impl17353);
+            pushFollow(FOLLOW_rule__ClassStructor__DetailCodeAssignment_1_in_rule__ClassStructor__Group__1__Impl17045);
             rule__ClassStructor__DetailCodeAssignment_1();
 
             state._fsp--;
@@ -24004,21 +23768,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8306:1: rule__ProtocolClass__Group__0 : rule__ProtocolClass__Group__0__Impl rule__ProtocolClass__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8150:1: rule__ProtocolClass__Group__0 : rule__ProtocolClass__Group__0__Impl rule__ProtocolClass__Group__1 ;
     public final void rule__ProtocolClass__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8310:1: ( rule__ProtocolClass__Group__0__Impl rule__ProtocolClass__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8311:2: rule__ProtocolClass__Group__0__Impl rule__ProtocolClass__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8154:1: ( rule__ProtocolClass__Group__0__Impl rule__ProtocolClass__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8155:2: rule__ProtocolClass__Group__0__Impl rule__ProtocolClass__Group__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__0__Impl_in_rule__ProtocolClass__Group__017387);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__0__Impl_in_rule__ProtocolClass__Group__017079);
             rule__ProtocolClass__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__1_in_rule__ProtocolClass__Group__017390);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__1_in_rule__ProtocolClass__Group__017082);
             rule__ProtocolClass__Group__1();
 
             state._fsp--;
@@ -24042,31 +23806,31 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8318:1: rule__ProtocolClass__Group__0__Impl : ( ( rule__ProtocolClass__CommTypeAssignment_0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8162:1: rule__ProtocolClass__Group__0__Impl : ( ( rule__ProtocolClass__CommTypeAssignment_0 )? ) ;
     public final void rule__ProtocolClass__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8322:1: ( ( ( rule__ProtocolClass__CommTypeAssignment_0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8323:1: ( ( rule__ProtocolClass__CommTypeAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8166:1: ( ( ( rule__ProtocolClass__CommTypeAssignment_0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8167:1: ( ( rule__ProtocolClass__CommTypeAssignment_0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8323:1: ( ( rule__ProtocolClass__CommTypeAssignment_0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8324:1: ( rule__ProtocolClass__CommTypeAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8167:1: ( ( rule__ProtocolClass__CommTypeAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8168:1: ( rule__ProtocolClass__CommTypeAssignment_0 )?
             {
              before(grammarAccess.getProtocolClassAccess().getCommTypeAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8325:1: ( rule__ProtocolClass__CommTypeAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8169:1: ( rule__ProtocolClass__CommTypeAssignment_0 )?
             int alt87=2;
             int LA87_0 = input.LA(1);
 
-            if ( ((LA87_0>=29 && LA87_0<=31)) ) {
+            if ( ((LA87_0>=30 && LA87_0<=32)) ) {
                 alt87=1;
             }
             switch (alt87) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8325:2: rule__ProtocolClass__CommTypeAssignment_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8169:2: rule__ProtocolClass__CommTypeAssignment_0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClass__CommTypeAssignment_0_in_rule__ProtocolClass__Group__0__Impl17417);
+                    pushFollow(FOLLOW_rule__ProtocolClass__CommTypeAssignment_0_in_rule__ProtocolClass__Group__0__Impl17109);
                     rule__ProtocolClass__CommTypeAssignment_0();
 
                     state._fsp--;
@@ -24100,21 +23864,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8335:1: rule__ProtocolClass__Group__1 : rule__ProtocolClass__Group__1__Impl rule__ProtocolClass__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8179:1: rule__ProtocolClass__Group__1 : rule__ProtocolClass__Group__1__Impl rule__ProtocolClass__Group__2 ;
     public final void rule__ProtocolClass__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8339:1: ( rule__ProtocolClass__Group__1__Impl rule__ProtocolClass__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8340:2: rule__ProtocolClass__Group__1__Impl rule__ProtocolClass__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8183:1: ( rule__ProtocolClass__Group__1__Impl rule__ProtocolClass__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8184:2: rule__ProtocolClass__Group__1__Impl rule__ProtocolClass__Group__2
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__1__Impl_in_rule__ProtocolClass__Group__117448);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__1__Impl_in_rule__ProtocolClass__Group__117140);
             rule__ProtocolClass__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__2_in_rule__ProtocolClass__Group__117451);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__2_in_rule__ProtocolClass__Group__117143);
             rule__ProtocolClass__Group__2();
 
             state._fsp--;
@@ -24138,20 +23902,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8347:1: rule__ProtocolClass__Group__1__Impl : ( 'ProtocolClass' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8191:1: rule__ProtocolClass__Group__1__Impl : ( 'ProtocolClass' ) ;
     public final void rule__ProtocolClass__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8351:1: ( ( 'ProtocolClass' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8352:1: ( 'ProtocolClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8195:1: ( ( 'ProtocolClass' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8196:1: ( 'ProtocolClass' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8352:1: ( 'ProtocolClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8353:1: 'ProtocolClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8196:1: ( 'ProtocolClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8197:1: 'ProtocolClass'
             {
              before(grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_1()); 
-            match(input,20,FOLLOW_20_in_rule__ProtocolClass__Group__1__Impl17479); 
+            match(input,19,FOLLOW_19_in_rule__ProtocolClass__Group__1__Impl17171); 
              after(grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_1()); 
 
             }
@@ -24175,21 +23939,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8366:1: rule__ProtocolClass__Group__2 : rule__ProtocolClass__Group__2__Impl rule__ProtocolClass__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8210:1: rule__ProtocolClass__Group__2 : rule__ProtocolClass__Group__2__Impl rule__ProtocolClass__Group__3 ;
     public final void rule__ProtocolClass__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8370:1: ( rule__ProtocolClass__Group__2__Impl rule__ProtocolClass__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8371:2: rule__ProtocolClass__Group__2__Impl rule__ProtocolClass__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8214:1: ( rule__ProtocolClass__Group__2__Impl rule__ProtocolClass__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8215:2: rule__ProtocolClass__Group__2__Impl rule__ProtocolClass__Group__3
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__2__Impl_in_rule__ProtocolClass__Group__217510);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__2__Impl_in_rule__ProtocolClass__Group__217202);
             rule__ProtocolClass__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__3_in_rule__ProtocolClass__Group__217513);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__3_in_rule__ProtocolClass__Group__217205);
             rule__ProtocolClass__Group__3();
 
             state._fsp--;
@@ -24213,23 +23977,23 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8378:1: rule__ProtocolClass__Group__2__Impl : ( ( rule__ProtocolClass__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8222:1: rule__ProtocolClass__Group__2__Impl : ( ( rule__ProtocolClass__NameAssignment_2 ) ) ;
     public final void rule__ProtocolClass__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8382:1: ( ( ( rule__ProtocolClass__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8383:1: ( ( rule__ProtocolClass__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8226:1: ( ( ( rule__ProtocolClass__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8227:1: ( ( rule__ProtocolClass__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8383:1: ( ( rule__ProtocolClass__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8384:1: ( rule__ProtocolClass__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8227:1: ( ( rule__ProtocolClass__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8228:1: ( rule__ProtocolClass__NameAssignment_2 )
             {
              before(grammarAccess.getProtocolClassAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8385:1: ( rule__ProtocolClass__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8385:2: rule__ProtocolClass__NameAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8229:1: ( rule__ProtocolClass__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8229:2: rule__ProtocolClass__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__NameAssignment_2_in_rule__ProtocolClass__Group__2__Impl17540);
+            pushFollow(FOLLOW_rule__ProtocolClass__NameAssignment_2_in_rule__ProtocolClass__Group__2__Impl17232);
             rule__ProtocolClass__NameAssignment_2();
 
             state._fsp--;
@@ -24260,21 +24024,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8395:1: rule__ProtocolClass__Group__3 : rule__ProtocolClass__Group__3__Impl rule__ProtocolClass__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8239:1: rule__ProtocolClass__Group__3 : rule__ProtocolClass__Group__3__Impl rule__ProtocolClass__Group__4 ;
     public final void rule__ProtocolClass__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8399:1: ( rule__ProtocolClass__Group__3__Impl rule__ProtocolClass__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8400:2: rule__ProtocolClass__Group__3__Impl rule__ProtocolClass__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8243:1: ( rule__ProtocolClass__Group__3__Impl rule__ProtocolClass__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8244:2: rule__ProtocolClass__Group__3__Impl rule__ProtocolClass__Group__4
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__3__Impl_in_rule__ProtocolClass__Group__317570);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__3__Impl_in_rule__ProtocolClass__Group__317262);
             rule__ProtocolClass__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__4_in_rule__ProtocolClass__Group__317573);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__4_in_rule__ProtocolClass__Group__317265);
             rule__ProtocolClass__Group__4();
 
             state._fsp--;
@@ -24298,31 +24062,31 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8407:1: rule__ProtocolClass__Group__3__Impl : ( ( rule__ProtocolClass__DocuAssignment_3 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8251:1: rule__ProtocolClass__Group__3__Impl : ( ( rule__ProtocolClass__DocuAssignment_3 )? ) ;
     public final void rule__ProtocolClass__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8411:1: ( ( ( rule__ProtocolClass__DocuAssignment_3 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8412:1: ( ( rule__ProtocolClass__DocuAssignment_3 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8255:1: ( ( ( rule__ProtocolClass__DocuAssignment_3 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8256:1: ( ( rule__ProtocolClass__DocuAssignment_3 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8412:1: ( ( rule__ProtocolClass__DocuAssignment_3 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8413:1: ( rule__ProtocolClass__DocuAssignment_3 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8256:1: ( ( rule__ProtocolClass__DocuAssignment_3 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8257:1: ( rule__ProtocolClass__DocuAssignment_3 )?
             {
              before(grammarAccess.getProtocolClassAccess().getDocuAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8414:1: ( rule__ProtocolClass__DocuAssignment_3 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8258:1: ( rule__ProtocolClass__DocuAssignment_3 )?
             int alt88=2;
             int LA88_0 = input.LA(1);
 
-            if ( (LA88_0==58) ) {
+            if ( (LA88_0==59) ) {
                 alt88=1;
             }
             switch (alt88) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8414:2: rule__ProtocolClass__DocuAssignment_3
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8258:2: rule__ProtocolClass__DocuAssignment_3
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClass__DocuAssignment_3_in_rule__ProtocolClass__Group__3__Impl17600);
+                    pushFollow(FOLLOW_rule__ProtocolClass__DocuAssignment_3_in_rule__ProtocolClass__Group__3__Impl17292);
                     rule__ProtocolClass__DocuAssignment_3();
 
                     state._fsp--;
@@ -24356,21 +24120,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8424:1: rule__ProtocolClass__Group__4 : rule__ProtocolClass__Group__4__Impl rule__ProtocolClass__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8268:1: rule__ProtocolClass__Group__4 : rule__ProtocolClass__Group__4__Impl rule__ProtocolClass__Group__5 ;
     public final void rule__ProtocolClass__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8428:1: ( rule__ProtocolClass__Group__4__Impl rule__ProtocolClass__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8429:2: rule__ProtocolClass__Group__4__Impl rule__ProtocolClass__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8272:1: ( rule__ProtocolClass__Group__4__Impl rule__ProtocolClass__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8273:2: rule__ProtocolClass__Group__4__Impl rule__ProtocolClass__Group__5
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__4__Impl_in_rule__ProtocolClass__Group__417631);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__4__Impl_in_rule__ProtocolClass__Group__417323);
             rule__ProtocolClass__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__5_in_rule__ProtocolClass__Group__417634);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__5_in_rule__ProtocolClass__Group__417326);
             rule__ProtocolClass__Group__5();
 
             state._fsp--;
@@ -24394,31 +24158,31 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8436:1: rule__ProtocolClass__Group__4__Impl : ( ( rule__ProtocolClass__Group_4__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8280:1: rule__ProtocolClass__Group__4__Impl : ( ( rule__ProtocolClass__Group_4__0 )? ) ;
     public final void rule__ProtocolClass__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8440:1: ( ( ( rule__ProtocolClass__Group_4__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8441:1: ( ( rule__ProtocolClass__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8284:1: ( ( ( rule__ProtocolClass__Group_4__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8285:1: ( ( rule__ProtocolClass__Group_4__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8441:1: ( ( rule__ProtocolClass__Group_4__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8442:1: ( rule__ProtocolClass__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8285:1: ( ( rule__ProtocolClass__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8286:1: ( rule__ProtocolClass__Group_4__0 )?
             {
              before(grammarAccess.getProtocolClassAccess().getGroup_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8443:1: ( rule__ProtocolClass__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8287:1: ( rule__ProtocolClass__Group_4__0 )?
             int alt89=2;
             int LA89_0 = input.LA(1);
 
-            if ( (LA89_0==53) ) {
+            if ( (LA89_0==54) ) {
                 alt89=1;
             }
             switch (alt89) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8443:2: rule__ProtocolClass__Group_4__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8287:2: rule__ProtocolClass__Group_4__0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClass__Group_4__0_in_rule__ProtocolClass__Group__4__Impl17661);
+                    pushFollow(FOLLOW_rule__ProtocolClass__Group_4__0_in_rule__ProtocolClass__Group__4__Impl17353);
                     rule__ProtocolClass__Group_4__0();
 
                     state._fsp--;
@@ -24452,21 +24216,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8453:1: rule__ProtocolClass__Group__5 : rule__ProtocolClass__Group__5__Impl rule__ProtocolClass__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8297:1: rule__ProtocolClass__Group__5 : rule__ProtocolClass__Group__5__Impl rule__ProtocolClass__Group__6 ;
     public final void rule__ProtocolClass__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8457:1: ( rule__ProtocolClass__Group__5__Impl rule__ProtocolClass__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8458:2: rule__ProtocolClass__Group__5__Impl rule__ProtocolClass__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8301:1: ( rule__ProtocolClass__Group__5__Impl rule__ProtocolClass__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8302:2: rule__ProtocolClass__Group__5__Impl rule__ProtocolClass__Group__6
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__5__Impl_in_rule__ProtocolClass__Group__517692);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__5__Impl_in_rule__ProtocolClass__Group__517384);
             rule__ProtocolClass__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__6_in_rule__ProtocolClass__Group__517695);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__6_in_rule__ProtocolClass__Group__517387);
             rule__ProtocolClass__Group__6();
 
             state._fsp--;
@@ -24490,20 +24254,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8465:1: rule__ProtocolClass__Group__5__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8309:1: rule__ProtocolClass__Group__5__Impl : ( '{' ) ;
     public final void rule__ProtocolClass__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8469:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8470:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8313:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8314:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8470:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8471:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8314:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8315:1: '{'
             {
              before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_5()); 
-            match(input,40,FOLLOW_40_in_rule__ProtocolClass__Group__5__Impl17723); 
+            match(input,41,FOLLOW_41_in_rule__ProtocolClass__Group__5__Impl17415); 
              after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_5()); 
 
             }
@@ -24527,21 +24291,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8484:1: rule__ProtocolClass__Group__6 : rule__ProtocolClass__Group__6__Impl rule__ProtocolClass__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8328:1: rule__ProtocolClass__Group__6 : rule__ProtocolClass__Group__6__Impl rule__ProtocolClass__Group__7 ;
     public final void rule__ProtocolClass__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8488:1: ( rule__ProtocolClass__Group__6__Impl rule__ProtocolClass__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8489:2: rule__ProtocolClass__Group__6__Impl rule__ProtocolClass__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8332:1: ( rule__ProtocolClass__Group__6__Impl rule__ProtocolClass__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8333:2: rule__ProtocolClass__Group__6__Impl rule__ProtocolClass__Group__7
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__6__Impl_in_rule__ProtocolClass__Group__617754);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__6__Impl_in_rule__ProtocolClass__Group__617446);
             rule__ProtocolClass__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__7_in_rule__ProtocolClass__Group__617757);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__7_in_rule__ProtocolClass__Group__617449);
             rule__ProtocolClass__Group__7();
 
             state._fsp--;
@@ -24565,35 +24329,35 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8496:1: rule__ProtocolClass__Group__6__Impl : ( ( rule__ProtocolClass__AnnotationsAssignment_6 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8340:1: rule__ProtocolClass__Group__6__Impl : ( ( rule__ProtocolClass__AnnotationsAssignment_6 )* ) ;
     public final void rule__ProtocolClass__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8500:1: ( ( ( rule__ProtocolClass__AnnotationsAssignment_6 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8501:1: ( ( rule__ProtocolClass__AnnotationsAssignment_6 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8344:1: ( ( ( rule__ProtocolClass__AnnotationsAssignment_6 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8345:1: ( ( rule__ProtocolClass__AnnotationsAssignment_6 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8501:1: ( ( rule__ProtocolClass__AnnotationsAssignment_6 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8502:1: ( rule__ProtocolClass__AnnotationsAssignment_6 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8345:1: ( ( rule__ProtocolClass__AnnotationsAssignment_6 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8346:1: ( rule__ProtocolClass__AnnotationsAssignment_6 )*
             {
              before(grammarAccess.getProtocolClassAccess().getAnnotationsAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8503:1: ( rule__ProtocolClass__AnnotationsAssignment_6 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8347:1: ( rule__ProtocolClass__AnnotationsAssignment_6 )*
             loop90:
             do {
                 int alt90=2;
                 int LA90_0 = input.LA(1);
 
-                if ( (LA90_0==119) ) {
+                if ( (LA90_0==120) ) {
                     alt90=1;
                 }
 
 
                 switch (alt90) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8503:2: rule__ProtocolClass__AnnotationsAssignment_6
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8347:2: rule__ProtocolClass__AnnotationsAssignment_6
             	    {
-            	    pushFollow(FOLLOW_rule__ProtocolClass__AnnotationsAssignment_6_in_rule__ProtocolClass__Group__6__Impl17784);
+            	    pushFollow(FOLLOW_rule__ProtocolClass__AnnotationsAssignment_6_in_rule__ProtocolClass__Group__6__Impl17476);
             	    rule__ProtocolClass__AnnotationsAssignment_6();
 
             	    state._fsp--;
@@ -24630,21 +24394,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8513:1: rule__ProtocolClass__Group__7 : rule__ProtocolClass__Group__7__Impl rule__ProtocolClass__Group__8 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8357:1: rule__ProtocolClass__Group__7 : rule__ProtocolClass__Group__7__Impl rule__ProtocolClass__Group__8 ;
     public final void rule__ProtocolClass__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8517:1: ( rule__ProtocolClass__Group__7__Impl rule__ProtocolClass__Group__8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8518:2: rule__ProtocolClass__Group__7__Impl rule__ProtocolClass__Group__8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8361:1: ( rule__ProtocolClass__Group__7__Impl rule__ProtocolClass__Group__8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8362:2: rule__ProtocolClass__Group__7__Impl rule__ProtocolClass__Group__8
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__7__Impl_in_rule__ProtocolClass__Group__717815);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__7__Impl_in_rule__ProtocolClass__Group__717507);
             rule__ProtocolClass__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__8_in_rule__ProtocolClass__Group__717818);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__8_in_rule__ProtocolClass__Group__717510);
             rule__ProtocolClass__Group__8();
 
             state._fsp--;
@@ -24668,31 +24432,31 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8525:1: rule__ProtocolClass__Group__7__Impl : ( ( rule__ProtocolClass__Group_7__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8369:1: rule__ProtocolClass__Group__7__Impl : ( ( rule__ProtocolClass__Group_7__0 )? ) ;
     public final void rule__ProtocolClass__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8529:1: ( ( ( rule__ProtocolClass__Group_7__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8530:1: ( ( rule__ProtocolClass__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8373:1: ( ( ( rule__ProtocolClass__Group_7__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8374:1: ( ( rule__ProtocolClass__Group_7__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8530:1: ( ( rule__ProtocolClass__Group_7__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8531:1: ( rule__ProtocolClass__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8374:1: ( ( rule__ProtocolClass__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8375:1: ( rule__ProtocolClass__Group_7__0 )?
             {
              before(grammarAccess.getProtocolClassAccess().getGroup_7()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8532:1: ( rule__ProtocolClass__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8376:1: ( rule__ProtocolClass__Group_7__0 )?
             int alt91=2;
             int LA91_0 = input.LA(1);
 
-            if ( (LA91_0==54) ) {
+            if ( (LA91_0==55) ) {
                 alt91=1;
             }
             switch (alt91) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8532:2: rule__ProtocolClass__Group_7__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8376:2: rule__ProtocolClass__Group_7__0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClass__Group_7__0_in_rule__ProtocolClass__Group__7__Impl17845);
+                    pushFollow(FOLLOW_rule__ProtocolClass__Group_7__0_in_rule__ProtocolClass__Group__7__Impl17537);
                     rule__ProtocolClass__Group_7__0();
 
                     state._fsp--;
@@ -24726,21 +24490,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8542:1: rule__ProtocolClass__Group__8 : rule__ProtocolClass__Group__8__Impl rule__ProtocolClass__Group__9 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8386:1: rule__ProtocolClass__Group__8 : rule__ProtocolClass__Group__8__Impl rule__ProtocolClass__Group__9 ;
     public final void rule__ProtocolClass__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8546:1: ( rule__ProtocolClass__Group__8__Impl rule__ProtocolClass__Group__9 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8547:2: rule__ProtocolClass__Group__8__Impl rule__ProtocolClass__Group__9
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8390:1: ( rule__ProtocolClass__Group__8__Impl rule__ProtocolClass__Group__9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8391:2: rule__ProtocolClass__Group__8__Impl rule__ProtocolClass__Group__9
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__8__Impl_in_rule__ProtocolClass__Group__817876);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__8__Impl_in_rule__ProtocolClass__Group__817568);
             rule__ProtocolClass__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__9_in_rule__ProtocolClass__Group__817879);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__9_in_rule__ProtocolClass__Group__817571);
             rule__ProtocolClass__Group__9();
 
             state._fsp--;
@@ -24764,31 +24528,31 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__8__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8554:1: rule__ProtocolClass__Group__8__Impl : ( ( rule__ProtocolClass__Group_8__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8398:1: rule__ProtocolClass__Group__8__Impl : ( ( rule__ProtocolClass__Group_8__0 )? ) ;
     public final void rule__ProtocolClass__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8558:1: ( ( ( rule__ProtocolClass__Group_8__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8559:1: ( ( rule__ProtocolClass__Group_8__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8402:1: ( ( ( rule__ProtocolClass__Group_8__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8403:1: ( ( rule__ProtocolClass__Group_8__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8559:1: ( ( rule__ProtocolClass__Group_8__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8560:1: ( rule__ProtocolClass__Group_8__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8403:1: ( ( rule__ProtocolClass__Group_8__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8404:1: ( rule__ProtocolClass__Group_8__0 )?
             {
              before(grammarAccess.getProtocolClassAccess().getGroup_8()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8561:1: ( rule__ProtocolClass__Group_8__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8405:1: ( rule__ProtocolClass__Group_8__0 )?
             int alt92=2;
             int LA92_0 = input.LA(1);
 
-            if ( (LA92_0==55) ) {
+            if ( (LA92_0==56) ) {
                 alt92=1;
             }
             switch (alt92) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8561:2: rule__ProtocolClass__Group_8__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8405:2: rule__ProtocolClass__Group_8__0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClass__Group_8__0_in_rule__ProtocolClass__Group__8__Impl17906);
+                    pushFollow(FOLLOW_rule__ProtocolClass__Group_8__0_in_rule__ProtocolClass__Group__8__Impl17598);
                     rule__ProtocolClass__Group_8__0();
 
                     state._fsp--;
@@ -24822,21 +24586,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8571:1: rule__ProtocolClass__Group__9 : rule__ProtocolClass__Group__9__Impl rule__ProtocolClass__Group__10 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8415:1: rule__ProtocolClass__Group__9 : rule__ProtocolClass__Group__9__Impl rule__ProtocolClass__Group__10 ;
     public final void rule__ProtocolClass__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8575:1: ( rule__ProtocolClass__Group__9__Impl rule__ProtocolClass__Group__10 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8576:2: rule__ProtocolClass__Group__9__Impl rule__ProtocolClass__Group__10
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8419:1: ( rule__ProtocolClass__Group__9__Impl rule__ProtocolClass__Group__10 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8420:2: rule__ProtocolClass__Group__9__Impl rule__ProtocolClass__Group__10
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__9__Impl_in_rule__ProtocolClass__Group__917937);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__9__Impl_in_rule__ProtocolClass__Group__917629);
             rule__ProtocolClass__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__10_in_rule__ProtocolClass__Group__917940);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__10_in_rule__ProtocolClass__Group__917632);
             rule__ProtocolClass__Group__10();
 
             state._fsp--;
@@ -24860,31 +24624,31 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__9__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8583:1: rule__ProtocolClass__Group__9__Impl : ( ( rule__ProtocolClass__Group_9__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8427:1: rule__ProtocolClass__Group__9__Impl : ( ( rule__ProtocolClass__Group_9__0 )? ) ;
     public final void rule__ProtocolClass__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8587:1: ( ( ( rule__ProtocolClass__Group_9__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8588:1: ( ( rule__ProtocolClass__Group_9__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8431:1: ( ( ( rule__ProtocolClass__Group_9__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8432:1: ( ( rule__ProtocolClass__Group_9__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8588:1: ( ( rule__ProtocolClass__Group_9__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8589:1: ( rule__ProtocolClass__Group_9__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8432:1: ( ( rule__ProtocolClass__Group_9__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8433:1: ( rule__ProtocolClass__Group_9__0 )?
             {
              before(grammarAccess.getProtocolClassAccess().getGroup_9()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8590:1: ( rule__ProtocolClass__Group_9__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8434:1: ( rule__ProtocolClass__Group_9__0 )?
             int alt93=2;
             int LA93_0 = input.LA(1);
 
-            if ( (LA93_0==56) ) {
+            if ( (LA93_0==57) ) {
                 alt93=1;
             }
             switch (alt93) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8590:2: rule__ProtocolClass__Group_9__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8434:2: rule__ProtocolClass__Group_9__0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClass__Group_9__0_in_rule__ProtocolClass__Group__9__Impl17967);
+                    pushFollow(FOLLOW_rule__ProtocolClass__Group_9__0_in_rule__ProtocolClass__Group__9__Impl17659);
                     rule__ProtocolClass__Group_9__0();
 
                     state._fsp--;
@@ -24918,21 +24682,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__10"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8600:1: rule__ProtocolClass__Group__10 : rule__ProtocolClass__Group__10__Impl rule__ProtocolClass__Group__11 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8444:1: rule__ProtocolClass__Group__10 : rule__ProtocolClass__Group__10__Impl rule__ProtocolClass__Group__11 ;
     public final void rule__ProtocolClass__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8604:1: ( rule__ProtocolClass__Group__10__Impl rule__ProtocolClass__Group__11 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8605:2: rule__ProtocolClass__Group__10__Impl rule__ProtocolClass__Group__11
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8448:1: ( rule__ProtocolClass__Group__10__Impl rule__ProtocolClass__Group__11 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8449:2: rule__ProtocolClass__Group__10__Impl rule__ProtocolClass__Group__11
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__10__Impl_in_rule__ProtocolClass__Group__1017998);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__10__Impl_in_rule__ProtocolClass__Group__1017690);
             rule__ProtocolClass__Group__10__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__11_in_rule__ProtocolClass__Group__1018001);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__11_in_rule__ProtocolClass__Group__1017693);
             rule__ProtocolClass__Group__11();
 
             state._fsp--;
@@ -24956,31 +24720,31 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__10__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8612:1: rule__ProtocolClass__Group__10__Impl : ( ( rule__ProtocolClass__Group_10__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8456:1: rule__ProtocolClass__Group__10__Impl : ( ( rule__ProtocolClass__Group_10__0 )? ) ;
     public final void rule__ProtocolClass__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8616:1: ( ( ( rule__ProtocolClass__Group_10__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8617:1: ( ( rule__ProtocolClass__Group_10__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8460:1: ( ( ( rule__ProtocolClass__Group_10__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8461:1: ( ( rule__ProtocolClass__Group_10__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8617:1: ( ( rule__ProtocolClass__Group_10__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8618:1: ( rule__ProtocolClass__Group_10__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8461:1: ( ( rule__ProtocolClass__Group_10__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8462:1: ( rule__ProtocolClass__Group_10__0 )?
             {
              before(grammarAccess.getProtocolClassAccess().getGroup_10()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8619:1: ( rule__ProtocolClass__Group_10__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8463:1: ( rule__ProtocolClass__Group_10__0 )?
             int alt94=2;
             int LA94_0 = input.LA(1);
 
-            if ( (LA94_0==62) ) {
+            if ( (LA94_0==63) ) {
                 alt94=1;
             }
             switch (alt94) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8619:2: rule__ProtocolClass__Group_10__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8463:2: rule__ProtocolClass__Group_10__0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClass__Group_10__0_in_rule__ProtocolClass__Group__10__Impl18028);
+                    pushFollow(FOLLOW_rule__ProtocolClass__Group_10__0_in_rule__ProtocolClass__Group__10__Impl17720);
                     rule__ProtocolClass__Group_10__0();
 
                     state._fsp--;
@@ -25014,21 +24778,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__11"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8629:1: rule__ProtocolClass__Group__11 : rule__ProtocolClass__Group__11__Impl rule__ProtocolClass__Group__12 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8473:1: rule__ProtocolClass__Group__11 : rule__ProtocolClass__Group__11__Impl rule__ProtocolClass__Group__12 ;
     public final void rule__ProtocolClass__Group__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8633:1: ( rule__ProtocolClass__Group__11__Impl rule__ProtocolClass__Group__12 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8634:2: rule__ProtocolClass__Group__11__Impl rule__ProtocolClass__Group__12
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8477:1: ( rule__ProtocolClass__Group__11__Impl rule__ProtocolClass__Group__12 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8478:2: rule__ProtocolClass__Group__11__Impl rule__ProtocolClass__Group__12
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__11__Impl_in_rule__ProtocolClass__Group__1118059);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__11__Impl_in_rule__ProtocolClass__Group__1117751);
             rule__ProtocolClass__Group__11__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__12_in_rule__ProtocolClass__Group__1118062);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__12_in_rule__ProtocolClass__Group__1117754);
             rule__ProtocolClass__Group__12();
 
             state._fsp--;
@@ -25052,31 +24816,31 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__11__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8641:1: rule__ProtocolClass__Group__11__Impl : ( ( rule__ProtocolClass__Group_11__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8485:1: rule__ProtocolClass__Group__11__Impl : ( ( rule__ProtocolClass__Group_11__0 )? ) ;
     public final void rule__ProtocolClass__Group__11__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8645:1: ( ( ( rule__ProtocolClass__Group_11__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8646:1: ( ( rule__ProtocolClass__Group_11__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8489:1: ( ( ( rule__ProtocolClass__Group_11__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8490:1: ( ( rule__ProtocolClass__Group_11__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8646:1: ( ( rule__ProtocolClass__Group_11__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8647:1: ( rule__ProtocolClass__Group_11__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8490:1: ( ( rule__ProtocolClass__Group_11__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8491:1: ( rule__ProtocolClass__Group_11__0 )?
             {
              before(grammarAccess.getProtocolClassAccess().getGroup_11()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8648:1: ( rule__ProtocolClass__Group_11__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8492:1: ( rule__ProtocolClass__Group_11__0 )?
             int alt95=2;
             int LA95_0 = input.LA(1);
 
-            if ( (LA95_0==63) ) {
+            if ( (LA95_0==64) ) {
                 alt95=1;
             }
             switch (alt95) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8648:2: rule__ProtocolClass__Group_11__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8492:2: rule__ProtocolClass__Group_11__0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClass__Group_11__0_in_rule__ProtocolClass__Group__11__Impl18089);
+                    pushFollow(FOLLOW_rule__ProtocolClass__Group_11__0_in_rule__ProtocolClass__Group__11__Impl17781);
                     rule__ProtocolClass__Group_11__0();
 
                     state._fsp--;
@@ -25110,21 +24874,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__12"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8658:1: rule__ProtocolClass__Group__12 : rule__ProtocolClass__Group__12__Impl rule__ProtocolClass__Group__13 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8502:1: rule__ProtocolClass__Group__12 : rule__ProtocolClass__Group__12__Impl rule__ProtocolClass__Group__13 ;
     public final void rule__ProtocolClass__Group__12() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8662:1: ( rule__ProtocolClass__Group__12__Impl rule__ProtocolClass__Group__13 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8663:2: rule__ProtocolClass__Group__12__Impl rule__ProtocolClass__Group__13
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8506:1: ( rule__ProtocolClass__Group__12__Impl rule__ProtocolClass__Group__13 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8507:2: rule__ProtocolClass__Group__12__Impl rule__ProtocolClass__Group__13
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__12__Impl_in_rule__ProtocolClass__Group__1218120);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__12__Impl_in_rule__ProtocolClass__Group__1217812);
             rule__ProtocolClass__Group__12__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__13_in_rule__ProtocolClass__Group__1218123);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__13_in_rule__ProtocolClass__Group__1217815);
             rule__ProtocolClass__Group__13();
 
             state._fsp--;
@@ -25148,31 +24912,31 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__12__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8670:1: rule__ProtocolClass__Group__12__Impl : ( ( rule__ProtocolClass__Group_12__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8514:1: rule__ProtocolClass__Group__12__Impl : ( ( rule__ProtocolClass__Group_12__0 )? ) ;
     public final void rule__ProtocolClass__Group__12__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8674:1: ( ( ( rule__ProtocolClass__Group_12__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8675:1: ( ( rule__ProtocolClass__Group_12__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8518:1: ( ( ( rule__ProtocolClass__Group_12__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8519:1: ( ( rule__ProtocolClass__Group_12__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8675:1: ( ( rule__ProtocolClass__Group_12__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8676:1: ( rule__ProtocolClass__Group_12__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8519:1: ( ( rule__ProtocolClass__Group_12__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8520:1: ( rule__ProtocolClass__Group_12__0 )?
             {
              before(grammarAccess.getProtocolClassAccess().getGroup_12()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8677:1: ( rule__ProtocolClass__Group_12__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8521:1: ( rule__ProtocolClass__Group_12__0 )?
             int alt96=2;
             int LA96_0 = input.LA(1);
 
-            if ( (LA96_0==64) ) {
+            if ( (LA96_0==65) ) {
                 alt96=1;
             }
             switch (alt96) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8677:2: rule__ProtocolClass__Group_12__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8521:2: rule__ProtocolClass__Group_12__0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClass__Group_12__0_in_rule__ProtocolClass__Group__12__Impl18150);
+                    pushFollow(FOLLOW_rule__ProtocolClass__Group_12__0_in_rule__ProtocolClass__Group__12__Impl17842);
                     rule__ProtocolClass__Group_12__0();
 
                     state._fsp--;
@@ -25206,21 +24970,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__13"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8687:1: rule__ProtocolClass__Group__13 : rule__ProtocolClass__Group__13__Impl rule__ProtocolClass__Group__14 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8531:1: rule__ProtocolClass__Group__13 : rule__ProtocolClass__Group__13__Impl rule__ProtocolClass__Group__14 ;
     public final void rule__ProtocolClass__Group__13() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8691:1: ( rule__ProtocolClass__Group__13__Impl rule__ProtocolClass__Group__14 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8692:2: rule__ProtocolClass__Group__13__Impl rule__ProtocolClass__Group__14
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8535:1: ( rule__ProtocolClass__Group__13__Impl rule__ProtocolClass__Group__14 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8536:2: rule__ProtocolClass__Group__13__Impl rule__ProtocolClass__Group__14
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__13__Impl_in_rule__ProtocolClass__Group__1318181);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__13__Impl_in_rule__ProtocolClass__Group__1317873);
             rule__ProtocolClass__Group__13__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__14_in_rule__ProtocolClass__Group__1318184);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__14_in_rule__ProtocolClass__Group__1317876);
             rule__ProtocolClass__Group__14();
 
             state._fsp--;
@@ -25244,31 +25008,31 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__13__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8699:1: rule__ProtocolClass__Group__13__Impl : ( ( rule__ProtocolClass__Group_13__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8543:1: rule__ProtocolClass__Group__13__Impl : ( ( rule__ProtocolClass__Group_13__0 )? ) ;
     public final void rule__ProtocolClass__Group__13__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8703:1: ( ( ( rule__ProtocolClass__Group_13__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8704:1: ( ( rule__ProtocolClass__Group_13__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8547:1: ( ( ( rule__ProtocolClass__Group_13__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8548:1: ( ( rule__ProtocolClass__Group_13__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8704:1: ( ( rule__ProtocolClass__Group_13__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8705:1: ( rule__ProtocolClass__Group_13__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8548:1: ( ( rule__ProtocolClass__Group_13__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8549:1: ( rule__ProtocolClass__Group_13__0 )?
             {
              before(grammarAccess.getProtocolClassAccess().getGroup_13()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8706:1: ( rule__ProtocolClass__Group_13__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8550:1: ( rule__ProtocolClass__Group_13__0 )?
             int alt97=2;
             int LA97_0 = input.LA(1);
 
-            if ( (LA97_0==66) ) {
+            if ( (LA97_0==67) ) {
                 alt97=1;
             }
             switch (alt97) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8706:2: rule__ProtocolClass__Group_13__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8550:2: rule__ProtocolClass__Group_13__0
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClass__Group_13__0_in_rule__ProtocolClass__Group__13__Impl18211);
+                    pushFollow(FOLLOW_rule__ProtocolClass__Group_13__0_in_rule__ProtocolClass__Group__13__Impl17903);
                     rule__ProtocolClass__Group_13__0();
 
                     state._fsp--;
@@ -25302,21 +25066,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__14"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8716:1: rule__ProtocolClass__Group__14 : rule__ProtocolClass__Group__14__Impl rule__ProtocolClass__Group__15 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8560:1: rule__ProtocolClass__Group__14 : rule__ProtocolClass__Group__14__Impl rule__ProtocolClass__Group__15 ;
     public final void rule__ProtocolClass__Group__14() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8720:1: ( rule__ProtocolClass__Group__14__Impl rule__ProtocolClass__Group__15 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8721:2: rule__ProtocolClass__Group__14__Impl rule__ProtocolClass__Group__15
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8564:1: ( rule__ProtocolClass__Group__14__Impl rule__ProtocolClass__Group__15 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8565:2: rule__ProtocolClass__Group__14__Impl rule__ProtocolClass__Group__15
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__14__Impl_in_rule__ProtocolClass__Group__1418242);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__14__Impl_in_rule__ProtocolClass__Group__1417934);
             rule__ProtocolClass__Group__14__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__15_in_rule__ProtocolClass__Group__1418245);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__15_in_rule__ProtocolClass__Group__1417937);
             rule__ProtocolClass__Group__15();
 
             state._fsp--;
@@ -25340,31 +25104,31 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__14__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8728:1: rule__ProtocolClass__Group__14__Impl : ( ( rule__ProtocolClass__SemanticsAssignment_14 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8572:1: rule__ProtocolClass__Group__14__Impl : ( ( rule__ProtocolClass__SemanticsAssignment_14 )? ) ;
     public final void rule__ProtocolClass__Group__14__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8732:1: ( ( ( rule__ProtocolClass__SemanticsAssignment_14 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8733:1: ( ( rule__ProtocolClass__SemanticsAssignment_14 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8576:1: ( ( ( rule__ProtocolClass__SemanticsAssignment_14 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8577:1: ( ( rule__ProtocolClass__SemanticsAssignment_14 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8733:1: ( ( rule__ProtocolClass__SemanticsAssignment_14 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8734:1: ( rule__ProtocolClass__SemanticsAssignment_14 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8577:1: ( ( rule__ProtocolClass__SemanticsAssignment_14 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8578:1: ( rule__ProtocolClass__SemanticsAssignment_14 )?
             {
              before(grammarAccess.getProtocolClassAccess().getSemanticsAssignment_14()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8735:1: ( rule__ProtocolClass__SemanticsAssignment_14 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8579:1: ( rule__ProtocolClass__SemanticsAssignment_14 )?
             int alt98=2;
             int LA98_0 = input.LA(1);
 
-            if ( (LA98_0==116) ) {
+            if ( (LA98_0==117) ) {
                 alt98=1;
             }
             switch (alt98) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8735:2: rule__ProtocolClass__SemanticsAssignment_14
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8579:2: rule__ProtocolClass__SemanticsAssignment_14
                     {
-                    pushFollow(FOLLOW_rule__ProtocolClass__SemanticsAssignment_14_in_rule__ProtocolClass__Group__14__Impl18272);
+                    pushFollow(FOLLOW_rule__ProtocolClass__SemanticsAssignment_14_in_rule__ProtocolClass__Group__14__Impl17964);
                     rule__ProtocolClass__SemanticsAssignment_14();
 
                     state._fsp--;
@@ -25398,16 +25162,16 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__15"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8745:1: rule__ProtocolClass__Group__15 : rule__ProtocolClass__Group__15__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8589:1: rule__ProtocolClass__Group__15 : rule__ProtocolClass__Group__15__Impl ;
     public final void rule__ProtocolClass__Group__15() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8749:1: ( rule__ProtocolClass__Group__15__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8750:2: rule__ProtocolClass__Group__15__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8593:1: ( rule__ProtocolClass__Group__15__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8594:2: rule__ProtocolClass__Group__15__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group__15__Impl_in_rule__ProtocolClass__Group__1518303);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group__15__Impl_in_rule__ProtocolClass__Group__1517995);
             rule__ProtocolClass__Group__15__Impl();
 
             state._fsp--;
@@ -25431,20 +25195,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group__15__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8756:1: rule__ProtocolClass__Group__15__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8600:1: rule__ProtocolClass__Group__15__Impl : ( '}' ) ;
     public final void rule__ProtocolClass__Group__15__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8760:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8761:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8604:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8605:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8761:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8762:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8605:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8606:1: '}'
             {
              before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_15()); 
-            match(input,41,FOLLOW_41_in_rule__ProtocolClass__Group__15__Impl18331); 
+            match(input,42,FOLLOW_42_in_rule__ProtocolClass__Group__15__Impl18023); 
              after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_15()); 
 
             }
@@ -25468,21 +25232,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_4__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8807:1: rule__ProtocolClass__Group_4__0 : rule__ProtocolClass__Group_4__0__Impl rule__ProtocolClass__Group_4__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8651:1: rule__ProtocolClass__Group_4__0 : rule__ProtocolClass__Group_4__0__Impl rule__ProtocolClass__Group_4__1 ;
     public final void rule__ProtocolClass__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8811:1: ( rule__ProtocolClass__Group_4__0__Impl rule__ProtocolClass__Group_4__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8812:2: rule__ProtocolClass__Group_4__0__Impl rule__ProtocolClass__Group_4__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8655:1: ( rule__ProtocolClass__Group_4__0__Impl rule__ProtocolClass__Group_4__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8656:2: rule__ProtocolClass__Group_4__0__Impl rule__ProtocolClass__Group_4__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_4__0__Impl_in_rule__ProtocolClass__Group_4__018394);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_4__0__Impl_in_rule__ProtocolClass__Group_4__018086);
             rule__ProtocolClass__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_4__1_in_rule__ProtocolClass__Group_4__018397);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_4__1_in_rule__ProtocolClass__Group_4__018089);
             rule__ProtocolClass__Group_4__1();
 
             state._fsp--;
@@ -25506,20 +25270,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_4__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8819:1: rule__ProtocolClass__Group_4__0__Impl : ( 'extends' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8663:1: rule__ProtocolClass__Group_4__0__Impl : ( 'extends' ) ;
     public final void rule__ProtocolClass__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8823:1: ( ( 'extends' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8824:1: ( 'extends' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8667:1: ( ( 'extends' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8668:1: ( 'extends' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8824:1: ( 'extends' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8825:1: 'extends'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8668:1: ( 'extends' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8669:1: 'extends'
             {
              before(grammarAccess.getProtocolClassAccess().getExtendsKeyword_4_0()); 
-            match(input,53,FOLLOW_53_in_rule__ProtocolClass__Group_4__0__Impl18425); 
+            match(input,54,FOLLOW_54_in_rule__ProtocolClass__Group_4__0__Impl18117); 
              after(grammarAccess.getProtocolClassAccess().getExtendsKeyword_4_0()); 
 
             }
@@ -25543,16 +25307,16 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_4__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8838:1: rule__ProtocolClass__Group_4__1 : rule__ProtocolClass__Group_4__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8682:1: rule__ProtocolClass__Group_4__1 : rule__ProtocolClass__Group_4__1__Impl ;
     public final void rule__ProtocolClass__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8842:1: ( rule__ProtocolClass__Group_4__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8843:2: rule__ProtocolClass__Group_4__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8686:1: ( rule__ProtocolClass__Group_4__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8687:2: rule__ProtocolClass__Group_4__1__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_4__1__Impl_in_rule__ProtocolClass__Group_4__118456);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_4__1__Impl_in_rule__ProtocolClass__Group_4__118148);
             rule__ProtocolClass__Group_4__1__Impl();
 
             state._fsp--;
@@ -25576,23 +25340,23 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_4__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8849:1: rule__ProtocolClass__Group_4__1__Impl : ( ( rule__ProtocolClass__BaseAssignment_4_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8693:1: rule__ProtocolClass__Group_4__1__Impl : ( ( rule__ProtocolClass__BaseAssignment_4_1 ) ) ;
     public final void rule__ProtocolClass__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8853:1: ( ( ( rule__ProtocolClass__BaseAssignment_4_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8854:1: ( ( rule__ProtocolClass__BaseAssignment_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8697:1: ( ( ( rule__ProtocolClass__BaseAssignment_4_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8698:1: ( ( rule__ProtocolClass__BaseAssignment_4_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8854:1: ( ( rule__ProtocolClass__BaseAssignment_4_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8855:1: ( rule__ProtocolClass__BaseAssignment_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8698:1: ( ( rule__ProtocolClass__BaseAssignment_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8699:1: ( rule__ProtocolClass__BaseAssignment_4_1 )
             {
              before(grammarAccess.getProtocolClassAccess().getBaseAssignment_4_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8856:1: ( rule__ProtocolClass__BaseAssignment_4_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8856:2: rule__ProtocolClass__BaseAssignment_4_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8700:1: ( rule__ProtocolClass__BaseAssignment_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8700:2: rule__ProtocolClass__BaseAssignment_4_1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__BaseAssignment_4_1_in_rule__ProtocolClass__Group_4__1__Impl18483);
+            pushFollow(FOLLOW_rule__ProtocolClass__BaseAssignment_4_1_in_rule__ProtocolClass__Group_4__1__Impl18175);
             rule__ProtocolClass__BaseAssignment_4_1();
 
             state._fsp--;
@@ -25623,21 +25387,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_7__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8870:1: rule__ProtocolClass__Group_7__0 : rule__ProtocolClass__Group_7__0__Impl rule__ProtocolClass__Group_7__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8714:1: rule__ProtocolClass__Group_7__0 : rule__ProtocolClass__Group_7__0__Impl rule__ProtocolClass__Group_7__1 ;
     public final void rule__ProtocolClass__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8874:1: ( rule__ProtocolClass__Group_7__0__Impl rule__ProtocolClass__Group_7__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8875:2: rule__ProtocolClass__Group_7__0__Impl rule__ProtocolClass__Group_7__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8718:1: ( rule__ProtocolClass__Group_7__0__Impl rule__ProtocolClass__Group_7__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8719:2: rule__ProtocolClass__Group_7__0__Impl rule__ProtocolClass__Group_7__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_7__0__Impl_in_rule__ProtocolClass__Group_7__018517);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_7__0__Impl_in_rule__ProtocolClass__Group_7__018209);
             rule__ProtocolClass__Group_7__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_7__1_in_rule__ProtocolClass__Group_7__018520);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_7__1_in_rule__ProtocolClass__Group_7__018212);
             rule__ProtocolClass__Group_7__1();
 
             state._fsp--;
@@ -25661,20 +25425,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_7__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8882:1: rule__ProtocolClass__Group_7__0__Impl : ( 'usercode1' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8726:1: rule__ProtocolClass__Group_7__0__Impl : ( 'usercode1' ) ;
     public final void rule__ProtocolClass__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8886:1: ( ( 'usercode1' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8887:1: ( 'usercode1' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8730:1: ( ( 'usercode1' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8731:1: ( 'usercode1' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8887:1: ( 'usercode1' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8888:1: 'usercode1'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8731:1: ( 'usercode1' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8732:1: 'usercode1'
             {
              before(grammarAccess.getProtocolClassAccess().getUsercode1Keyword_7_0()); 
-            match(input,54,FOLLOW_54_in_rule__ProtocolClass__Group_7__0__Impl18548); 
+            match(input,55,FOLLOW_55_in_rule__ProtocolClass__Group_7__0__Impl18240); 
              after(grammarAccess.getProtocolClassAccess().getUsercode1Keyword_7_0()); 
 
             }
@@ -25698,16 +25462,16 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_7__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8901:1: rule__ProtocolClass__Group_7__1 : rule__ProtocolClass__Group_7__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8745:1: rule__ProtocolClass__Group_7__1 : rule__ProtocolClass__Group_7__1__Impl ;
     public final void rule__ProtocolClass__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8905:1: ( rule__ProtocolClass__Group_7__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8906:2: rule__ProtocolClass__Group_7__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8749:1: ( rule__ProtocolClass__Group_7__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8750:2: rule__ProtocolClass__Group_7__1__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_7__1__Impl_in_rule__ProtocolClass__Group_7__118579);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_7__1__Impl_in_rule__ProtocolClass__Group_7__118271);
             rule__ProtocolClass__Group_7__1__Impl();
 
             state._fsp--;
@@ -25731,23 +25495,23 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_7__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8912:1: rule__ProtocolClass__Group_7__1__Impl : ( ( rule__ProtocolClass__UserCode1Assignment_7_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8756:1: rule__ProtocolClass__Group_7__1__Impl : ( ( rule__ProtocolClass__UserCode1Assignment_7_1 ) ) ;
     public final void rule__ProtocolClass__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8916:1: ( ( ( rule__ProtocolClass__UserCode1Assignment_7_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8917:1: ( ( rule__ProtocolClass__UserCode1Assignment_7_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8760:1: ( ( ( rule__ProtocolClass__UserCode1Assignment_7_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8761:1: ( ( rule__ProtocolClass__UserCode1Assignment_7_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8917:1: ( ( rule__ProtocolClass__UserCode1Assignment_7_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8918:1: ( rule__ProtocolClass__UserCode1Assignment_7_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8761:1: ( ( rule__ProtocolClass__UserCode1Assignment_7_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8762:1: ( rule__ProtocolClass__UserCode1Assignment_7_1 )
             {
              before(grammarAccess.getProtocolClassAccess().getUserCode1Assignment_7_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8919:1: ( rule__ProtocolClass__UserCode1Assignment_7_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8919:2: rule__ProtocolClass__UserCode1Assignment_7_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8763:1: ( rule__ProtocolClass__UserCode1Assignment_7_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8763:2: rule__ProtocolClass__UserCode1Assignment_7_1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__UserCode1Assignment_7_1_in_rule__ProtocolClass__Group_7__1__Impl18606);
+            pushFollow(FOLLOW_rule__ProtocolClass__UserCode1Assignment_7_1_in_rule__ProtocolClass__Group_7__1__Impl18298);
             rule__ProtocolClass__UserCode1Assignment_7_1();
 
             state._fsp--;
@@ -25778,21 +25542,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_8__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8933:1: rule__ProtocolClass__Group_8__0 : rule__ProtocolClass__Group_8__0__Impl rule__ProtocolClass__Group_8__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8777:1: rule__ProtocolClass__Group_8__0 : rule__ProtocolClass__Group_8__0__Impl rule__ProtocolClass__Group_8__1 ;
     public final void rule__ProtocolClass__Group_8__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8937:1: ( rule__ProtocolClass__Group_8__0__Impl rule__ProtocolClass__Group_8__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8938:2: rule__ProtocolClass__Group_8__0__Impl rule__ProtocolClass__Group_8__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8781:1: ( rule__ProtocolClass__Group_8__0__Impl rule__ProtocolClass__Group_8__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8782:2: rule__ProtocolClass__Group_8__0__Impl rule__ProtocolClass__Group_8__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_8__0__Impl_in_rule__ProtocolClass__Group_8__018640);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_8__0__Impl_in_rule__ProtocolClass__Group_8__018332);
             rule__ProtocolClass__Group_8__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_8__1_in_rule__ProtocolClass__Group_8__018643);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_8__1_in_rule__ProtocolClass__Group_8__018335);
             rule__ProtocolClass__Group_8__1();
 
             state._fsp--;
@@ -25816,20 +25580,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_8__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8945:1: rule__ProtocolClass__Group_8__0__Impl : ( 'usercode2' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8789:1: rule__ProtocolClass__Group_8__0__Impl : ( 'usercode2' ) ;
     public final void rule__ProtocolClass__Group_8__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8949:1: ( ( 'usercode2' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8950:1: ( 'usercode2' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8793:1: ( ( 'usercode2' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8794:1: ( 'usercode2' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8950:1: ( 'usercode2' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8951:1: 'usercode2'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8794:1: ( 'usercode2' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8795:1: 'usercode2'
             {
              before(grammarAccess.getProtocolClassAccess().getUsercode2Keyword_8_0()); 
-            match(input,55,FOLLOW_55_in_rule__ProtocolClass__Group_8__0__Impl18671); 
+            match(input,56,FOLLOW_56_in_rule__ProtocolClass__Group_8__0__Impl18363); 
              after(grammarAccess.getProtocolClassAccess().getUsercode2Keyword_8_0()); 
 
             }
@@ -25853,16 +25617,16 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_8__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8964:1: rule__ProtocolClass__Group_8__1 : rule__ProtocolClass__Group_8__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8808:1: rule__ProtocolClass__Group_8__1 : rule__ProtocolClass__Group_8__1__Impl ;
     public final void rule__ProtocolClass__Group_8__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8968:1: ( rule__ProtocolClass__Group_8__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8969:2: rule__ProtocolClass__Group_8__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8812:1: ( rule__ProtocolClass__Group_8__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8813:2: rule__ProtocolClass__Group_8__1__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_8__1__Impl_in_rule__ProtocolClass__Group_8__118702);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_8__1__Impl_in_rule__ProtocolClass__Group_8__118394);
             rule__ProtocolClass__Group_8__1__Impl();
 
             state._fsp--;
@@ -25886,23 +25650,23 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_8__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8975:1: rule__ProtocolClass__Group_8__1__Impl : ( ( rule__ProtocolClass__UserCode2Assignment_8_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8819:1: rule__ProtocolClass__Group_8__1__Impl : ( ( rule__ProtocolClass__UserCode2Assignment_8_1 ) ) ;
     public final void rule__ProtocolClass__Group_8__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8979:1: ( ( ( rule__ProtocolClass__UserCode2Assignment_8_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8980:1: ( ( rule__ProtocolClass__UserCode2Assignment_8_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8823:1: ( ( ( rule__ProtocolClass__UserCode2Assignment_8_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8824:1: ( ( rule__ProtocolClass__UserCode2Assignment_8_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8980:1: ( ( rule__ProtocolClass__UserCode2Assignment_8_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8981:1: ( rule__ProtocolClass__UserCode2Assignment_8_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8824:1: ( ( rule__ProtocolClass__UserCode2Assignment_8_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8825:1: ( rule__ProtocolClass__UserCode2Assignment_8_1 )
             {
              before(grammarAccess.getProtocolClassAccess().getUserCode2Assignment_8_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8982:1: ( rule__ProtocolClass__UserCode2Assignment_8_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8982:2: rule__ProtocolClass__UserCode2Assignment_8_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8826:1: ( rule__ProtocolClass__UserCode2Assignment_8_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8826:2: rule__ProtocolClass__UserCode2Assignment_8_1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__UserCode2Assignment_8_1_in_rule__ProtocolClass__Group_8__1__Impl18729);
+            pushFollow(FOLLOW_rule__ProtocolClass__UserCode2Assignment_8_1_in_rule__ProtocolClass__Group_8__1__Impl18421);
             rule__ProtocolClass__UserCode2Assignment_8_1();
 
             state._fsp--;
@@ -25933,21 +25697,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_9__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8996:1: rule__ProtocolClass__Group_9__0 : rule__ProtocolClass__Group_9__0__Impl rule__ProtocolClass__Group_9__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8840:1: rule__ProtocolClass__Group_9__0 : rule__ProtocolClass__Group_9__0__Impl rule__ProtocolClass__Group_9__1 ;
     public final void rule__ProtocolClass__Group_9__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9000:1: ( rule__ProtocolClass__Group_9__0__Impl rule__ProtocolClass__Group_9__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9001:2: rule__ProtocolClass__Group_9__0__Impl rule__ProtocolClass__Group_9__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8844:1: ( rule__ProtocolClass__Group_9__0__Impl rule__ProtocolClass__Group_9__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8845:2: rule__ProtocolClass__Group_9__0__Impl rule__ProtocolClass__Group_9__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_9__0__Impl_in_rule__ProtocolClass__Group_9__018763);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_9__0__Impl_in_rule__ProtocolClass__Group_9__018455);
             rule__ProtocolClass__Group_9__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_9__1_in_rule__ProtocolClass__Group_9__018766);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_9__1_in_rule__ProtocolClass__Group_9__018458);
             rule__ProtocolClass__Group_9__1();
 
             state._fsp--;
@@ -25971,20 +25735,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_9__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9008:1: rule__ProtocolClass__Group_9__0__Impl : ( 'usercode3' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8852:1: rule__ProtocolClass__Group_9__0__Impl : ( 'usercode3' ) ;
     public final void rule__ProtocolClass__Group_9__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9012:1: ( ( 'usercode3' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9013:1: ( 'usercode3' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8856:1: ( ( 'usercode3' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8857:1: ( 'usercode3' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9013:1: ( 'usercode3' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9014:1: 'usercode3'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8857:1: ( 'usercode3' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8858:1: 'usercode3'
             {
              before(grammarAccess.getProtocolClassAccess().getUsercode3Keyword_9_0()); 
-            match(input,56,FOLLOW_56_in_rule__ProtocolClass__Group_9__0__Impl18794); 
+            match(input,57,FOLLOW_57_in_rule__ProtocolClass__Group_9__0__Impl18486); 
              after(grammarAccess.getProtocolClassAccess().getUsercode3Keyword_9_0()); 
 
             }
@@ -26008,16 +25772,16 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_9__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9027:1: rule__ProtocolClass__Group_9__1 : rule__ProtocolClass__Group_9__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8871:1: rule__ProtocolClass__Group_9__1 : rule__ProtocolClass__Group_9__1__Impl ;
     public final void rule__ProtocolClass__Group_9__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9031:1: ( rule__ProtocolClass__Group_9__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9032:2: rule__ProtocolClass__Group_9__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8875:1: ( rule__ProtocolClass__Group_9__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8876:2: rule__ProtocolClass__Group_9__1__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_9__1__Impl_in_rule__ProtocolClass__Group_9__118825);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_9__1__Impl_in_rule__ProtocolClass__Group_9__118517);
             rule__ProtocolClass__Group_9__1__Impl();
 
             state._fsp--;
@@ -26041,23 +25805,23 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_9__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9038:1: rule__ProtocolClass__Group_9__1__Impl : ( ( rule__ProtocolClass__UserCode3Assignment_9_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8882:1: rule__ProtocolClass__Group_9__1__Impl : ( ( rule__ProtocolClass__UserCode3Assignment_9_1 ) ) ;
     public final void rule__ProtocolClass__Group_9__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9042:1: ( ( ( rule__ProtocolClass__UserCode3Assignment_9_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9043:1: ( ( rule__ProtocolClass__UserCode3Assignment_9_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8886:1: ( ( ( rule__ProtocolClass__UserCode3Assignment_9_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8887:1: ( ( rule__ProtocolClass__UserCode3Assignment_9_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9043:1: ( ( rule__ProtocolClass__UserCode3Assignment_9_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9044:1: ( rule__ProtocolClass__UserCode3Assignment_9_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8887:1: ( ( rule__ProtocolClass__UserCode3Assignment_9_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8888:1: ( rule__ProtocolClass__UserCode3Assignment_9_1 )
             {
              before(grammarAccess.getProtocolClassAccess().getUserCode3Assignment_9_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9045:1: ( rule__ProtocolClass__UserCode3Assignment_9_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9045:2: rule__ProtocolClass__UserCode3Assignment_9_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8889:1: ( rule__ProtocolClass__UserCode3Assignment_9_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8889:2: rule__ProtocolClass__UserCode3Assignment_9_1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__UserCode3Assignment_9_1_in_rule__ProtocolClass__Group_9__1__Impl18852);
+            pushFollow(FOLLOW_rule__ProtocolClass__UserCode3Assignment_9_1_in_rule__ProtocolClass__Group_9__1__Impl18544);
             rule__ProtocolClass__UserCode3Assignment_9_1();
 
             state._fsp--;
@@ -26088,21 +25852,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_10__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9059:1: rule__ProtocolClass__Group_10__0 : rule__ProtocolClass__Group_10__0__Impl rule__ProtocolClass__Group_10__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8903:1: rule__ProtocolClass__Group_10__0 : rule__ProtocolClass__Group_10__0__Impl rule__ProtocolClass__Group_10__1 ;
     public final void rule__ProtocolClass__Group_10__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9063:1: ( rule__ProtocolClass__Group_10__0__Impl rule__ProtocolClass__Group_10__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9064:2: rule__ProtocolClass__Group_10__0__Impl rule__ProtocolClass__Group_10__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8907:1: ( rule__ProtocolClass__Group_10__0__Impl rule__ProtocolClass__Group_10__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8908:2: rule__ProtocolClass__Group_10__0__Impl rule__ProtocolClass__Group_10__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__0__Impl_in_rule__ProtocolClass__Group_10__018886);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__0__Impl_in_rule__ProtocolClass__Group_10__018578);
             rule__ProtocolClass__Group_10__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__1_in_rule__ProtocolClass__Group_10__018889);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__1_in_rule__ProtocolClass__Group_10__018581);
             rule__ProtocolClass__Group_10__1();
 
             state._fsp--;
@@ -26126,20 +25890,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_10__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9071:1: rule__ProtocolClass__Group_10__0__Impl : ( 'incoming' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8915:1: rule__ProtocolClass__Group_10__0__Impl : ( 'incoming' ) ;
     public final void rule__ProtocolClass__Group_10__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9075:1: ( ( 'incoming' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9076:1: ( 'incoming' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8919:1: ( ( 'incoming' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8920:1: ( 'incoming' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9076:1: ( 'incoming' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9077:1: 'incoming'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8920:1: ( 'incoming' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8921:1: 'incoming'
             {
              before(grammarAccess.getProtocolClassAccess().getIncomingKeyword_10_0()); 
-            match(input,62,FOLLOW_62_in_rule__ProtocolClass__Group_10__0__Impl18917); 
+            match(input,63,FOLLOW_63_in_rule__ProtocolClass__Group_10__0__Impl18609); 
              after(grammarAccess.getProtocolClassAccess().getIncomingKeyword_10_0()); 
 
             }
@@ -26163,21 +25927,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_10__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9090:1: rule__ProtocolClass__Group_10__1 : rule__ProtocolClass__Group_10__1__Impl rule__ProtocolClass__Group_10__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8934:1: rule__ProtocolClass__Group_10__1 : rule__ProtocolClass__Group_10__1__Impl rule__ProtocolClass__Group_10__2 ;
     public final void rule__ProtocolClass__Group_10__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9094:1: ( rule__ProtocolClass__Group_10__1__Impl rule__ProtocolClass__Group_10__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9095:2: rule__ProtocolClass__Group_10__1__Impl rule__ProtocolClass__Group_10__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8938:1: ( rule__ProtocolClass__Group_10__1__Impl rule__ProtocolClass__Group_10__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8939:2: rule__ProtocolClass__Group_10__1__Impl rule__ProtocolClass__Group_10__2
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__1__Impl_in_rule__ProtocolClass__Group_10__118948);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__1__Impl_in_rule__ProtocolClass__Group_10__118640);
             rule__ProtocolClass__Group_10__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__2_in_rule__ProtocolClass__Group_10__118951);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__2_in_rule__ProtocolClass__Group_10__118643);
             rule__ProtocolClass__Group_10__2();
 
             state._fsp--;
@@ -26201,20 +25965,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_10__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9102:1: rule__ProtocolClass__Group_10__1__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8946:1: rule__ProtocolClass__Group_10__1__Impl : ( '{' ) ;
     public final void rule__ProtocolClass__Group_10__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9106:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9107:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8950:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8951:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9107:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9108:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8951:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8952:1: '{'
             {
              before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_10_1()); 
-            match(input,40,FOLLOW_40_in_rule__ProtocolClass__Group_10__1__Impl18979); 
+            match(input,41,FOLLOW_41_in_rule__ProtocolClass__Group_10__1__Impl18671); 
              after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_10_1()); 
 
             }
@@ -26238,21 +26002,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_10__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9121:1: rule__ProtocolClass__Group_10__2 : rule__ProtocolClass__Group_10__2__Impl rule__ProtocolClass__Group_10__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8965:1: rule__ProtocolClass__Group_10__2 : rule__ProtocolClass__Group_10__2__Impl rule__ProtocolClass__Group_10__3 ;
     public final void rule__ProtocolClass__Group_10__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9125:1: ( rule__ProtocolClass__Group_10__2__Impl rule__ProtocolClass__Group_10__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9126:2: rule__ProtocolClass__Group_10__2__Impl rule__ProtocolClass__Group_10__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8969:1: ( rule__ProtocolClass__Group_10__2__Impl rule__ProtocolClass__Group_10__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8970:2: rule__ProtocolClass__Group_10__2__Impl rule__ProtocolClass__Group_10__3
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__2__Impl_in_rule__ProtocolClass__Group_10__219010);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__2__Impl_in_rule__ProtocolClass__Group_10__218702);
             rule__ProtocolClass__Group_10__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__3_in_rule__ProtocolClass__Group_10__219013);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__3_in_rule__ProtocolClass__Group_10__218705);
             rule__ProtocolClass__Group_10__3();
 
             state._fsp--;
@@ -26276,35 +26040,35 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_10__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9133:1: rule__ProtocolClass__Group_10__2__Impl : ( ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8977:1: rule__ProtocolClass__Group_10__2__Impl : ( ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )* ) ;
     public final void rule__ProtocolClass__Group_10__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9137:1: ( ( ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9138:1: ( ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8981:1: ( ( ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8982:1: ( ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9138:1: ( ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9139:1: ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8982:1: ( ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8983:1: ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )*
             {
              before(grammarAccess.getProtocolClassAccess().getIncomingMessagesAssignment_10_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9140:1: ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8984:1: ( rule__ProtocolClass__IncomingMessagesAssignment_10_2 )*
             loop99:
             do {
                 int alt99=2;
                 int LA99_0 = input.LA(1);
 
-                if ( (LA99_0==68||LA99_0==127) ) {
+                if ( (LA99_0==69||LA99_0==128) ) {
                     alt99=1;
                 }
 
 
                 switch (alt99) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9140:2: rule__ProtocolClass__IncomingMessagesAssignment_10_2
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8984:2: rule__ProtocolClass__IncomingMessagesAssignment_10_2
             	    {
-            	    pushFollow(FOLLOW_rule__ProtocolClass__IncomingMessagesAssignment_10_2_in_rule__ProtocolClass__Group_10__2__Impl19040);
+            	    pushFollow(FOLLOW_rule__ProtocolClass__IncomingMessagesAssignment_10_2_in_rule__ProtocolClass__Group_10__2__Impl18732);
             	    rule__ProtocolClass__IncomingMessagesAssignment_10_2();
 
             	    state._fsp--;
@@ -26341,16 +26105,16 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_10__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9150:1: rule__ProtocolClass__Group_10__3 : rule__ProtocolClass__Group_10__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8994:1: rule__ProtocolClass__Group_10__3 : rule__ProtocolClass__Group_10__3__Impl ;
     public final void rule__ProtocolClass__Group_10__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9154:1: ( rule__ProtocolClass__Group_10__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9155:2: rule__ProtocolClass__Group_10__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8998:1: ( rule__ProtocolClass__Group_10__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:8999:2: rule__ProtocolClass__Group_10__3__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__3__Impl_in_rule__ProtocolClass__Group_10__319071);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_10__3__Impl_in_rule__ProtocolClass__Group_10__318763);
             rule__ProtocolClass__Group_10__3__Impl();
 
             state._fsp--;
@@ -26374,20 +26138,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_10__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9161:1: rule__ProtocolClass__Group_10__3__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9005:1: rule__ProtocolClass__Group_10__3__Impl : ( '}' ) ;
     public final void rule__ProtocolClass__Group_10__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9165:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9166:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9009:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9010:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9166:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9167:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9010:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9011:1: '}'
             {
              before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_10_3()); 
-            match(input,41,FOLLOW_41_in_rule__ProtocolClass__Group_10__3__Impl19099); 
+            match(input,42,FOLLOW_42_in_rule__ProtocolClass__Group_10__3__Impl18791); 
              after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_10_3()); 
 
             }
@@ -26411,21 +26175,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_11__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9188:1: rule__ProtocolClass__Group_11__0 : rule__ProtocolClass__Group_11__0__Impl rule__ProtocolClass__Group_11__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9032:1: rule__ProtocolClass__Group_11__0 : rule__ProtocolClass__Group_11__0__Impl rule__ProtocolClass__Group_11__1 ;
     public final void rule__ProtocolClass__Group_11__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9192:1: ( rule__ProtocolClass__Group_11__0__Impl rule__ProtocolClass__Group_11__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9193:2: rule__ProtocolClass__Group_11__0__Impl rule__ProtocolClass__Group_11__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9036:1: ( rule__ProtocolClass__Group_11__0__Impl rule__ProtocolClass__Group_11__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9037:2: rule__ProtocolClass__Group_11__0__Impl rule__ProtocolClass__Group_11__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__0__Impl_in_rule__ProtocolClass__Group_11__019138);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__0__Impl_in_rule__ProtocolClass__Group_11__018830);
             rule__ProtocolClass__Group_11__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__1_in_rule__ProtocolClass__Group_11__019141);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__1_in_rule__ProtocolClass__Group_11__018833);
             rule__ProtocolClass__Group_11__1();
 
             state._fsp--;
@@ -26449,20 +26213,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_11__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9200:1: rule__ProtocolClass__Group_11__0__Impl : ( 'outgoing' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9044:1: rule__ProtocolClass__Group_11__0__Impl : ( 'outgoing' ) ;
     public final void rule__ProtocolClass__Group_11__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9204:1: ( ( 'outgoing' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9205:1: ( 'outgoing' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9048:1: ( ( 'outgoing' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9049:1: ( 'outgoing' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9205:1: ( 'outgoing' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9206:1: 'outgoing'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9049:1: ( 'outgoing' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9050:1: 'outgoing'
             {
              before(grammarAccess.getProtocolClassAccess().getOutgoingKeyword_11_0()); 
-            match(input,63,FOLLOW_63_in_rule__ProtocolClass__Group_11__0__Impl19169); 
+            match(input,64,FOLLOW_64_in_rule__ProtocolClass__Group_11__0__Impl18861); 
              after(grammarAccess.getProtocolClassAccess().getOutgoingKeyword_11_0()); 
 
             }
@@ -26486,21 +26250,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_11__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9219:1: rule__ProtocolClass__Group_11__1 : rule__ProtocolClass__Group_11__1__Impl rule__ProtocolClass__Group_11__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9063:1: rule__ProtocolClass__Group_11__1 : rule__ProtocolClass__Group_11__1__Impl rule__ProtocolClass__Group_11__2 ;
     public final void rule__ProtocolClass__Group_11__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9223:1: ( rule__ProtocolClass__Group_11__1__Impl rule__ProtocolClass__Group_11__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9224:2: rule__ProtocolClass__Group_11__1__Impl rule__ProtocolClass__Group_11__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9067:1: ( rule__ProtocolClass__Group_11__1__Impl rule__ProtocolClass__Group_11__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9068:2: rule__ProtocolClass__Group_11__1__Impl rule__ProtocolClass__Group_11__2
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__1__Impl_in_rule__ProtocolClass__Group_11__119200);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__1__Impl_in_rule__ProtocolClass__Group_11__118892);
             rule__ProtocolClass__Group_11__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__2_in_rule__ProtocolClass__Group_11__119203);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__2_in_rule__ProtocolClass__Group_11__118895);
             rule__ProtocolClass__Group_11__2();
 
             state._fsp--;
@@ -26524,20 +26288,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_11__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9231:1: rule__ProtocolClass__Group_11__1__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9075:1: rule__ProtocolClass__Group_11__1__Impl : ( '{' ) ;
     public final void rule__ProtocolClass__Group_11__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9235:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9236:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9079:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9080:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9236:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9237:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9080:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9081:1: '{'
             {
              before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11_1()); 
-            match(input,40,FOLLOW_40_in_rule__ProtocolClass__Group_11__1__Impl19231); 
+            match(input,41,FOLLOW_41_in_rule__ProtocolClass__Group_11__1__Impl18923); 
              after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11_1()); 
 
             }
@@ -26561,21 +26325,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_11__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9250:1: rule__ProtocolClass__Group_11__2 : rule__ProtocolClass__Group_11__2__Impl rule__ProtocolClass__Group_11__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9094:1: rule__ProtocolClass__Group_11__2 : rule__ProtocolClass__Group_11__2__Impl rule__ProtocolClass__Group_11__3 ;
     public final void rule__ProtocolClass__Group_11__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9254:1: ( rule__ProtocolClass__Group_11__2__Impl rule__ProtocolClass__Group_11__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9255:2: rule__ProtocolClass__Group_11__2__Impl rule__ProtocolClass__Group_11__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9098:1: ( rule__ProtocolClass__Group_11__2__Impl rule__ProtocolClass__Group_11__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9099:2: rule__ProtocolClass__Group_11__2__Impl rule__ProtocolClass__Group_11__3
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__2__Impl_in_rule__ProtocolClass__Group_11__219262);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__2__Impl_in_rule__ProtocolClass__Group_11__218954);
             rule__ProtocolClass__Group_11__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__3_in_rule__ProtocolClass__Group_11__219265);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__3_in_rule__ProtocolClass__Group_11__218957);
             rule__ProtocolClass__Group_11__3();
 
             state._fsp--;
@@ -26599,35 +26363,35 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_11__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9262:1: rule__ProtocolClass__Group_11__2__Impl : ( ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9106:1: rule__ProtocolClass__Group_11__2__Impl : ( ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )* ) ;
     public final void rule__ProtocolClass__Group_11__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9266:1: ( ( ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9267:1: ( ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9110:1: ( ( ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9111:1: ( ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9267:1: ( ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9268:1: ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9111:1: ( ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9112:1: ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )*
             {
              before(grammarAccess.getProtocolClassAccess().getOutgoingMessagesAssignment_11_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9269:1: ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9113:1: ( rule__ProtocolClass__OutgoingMessagesAssignment_11_2 )*
             loop100:
             do {
                 int alt100=2;
                 int LA100_0 = input.LA(1);
 
-                if ( (LA100_0==68||LA100_0==127) ) {
+                if ( (LA100_0==69||LA100_0==128) ) {
                     alt100=1;
                 }
 
 
                 switch (alt100) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9269:2: rule__ProtocolClass__OutgoingMessagesAssignment_11_2
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9113:2: rule__ProtocolClass__OutgoingMessagesAssignment_11_2
             	    {
-            	    pushFollow(FOLLOW_rule__ProtocolClass__OutgoingMessagesAssignment_11_2_in_rule__ProtocolClass__Group_11__2__Impl19292);
+            	    pushFollow(FOLLOW_rule__ProtocolClass__OutgoingMessagesAssignment_11_2_in_rule__ProtocolClass__Group_11__2__Impl18984);
             	    rule__ProtocolClass__OutgoingMessagesAssignment_11_2();
 
             	    state._fsp--;
@@ -26664,16 +26428,16 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_11__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9279:1: rule__ProtocolClass__Group_11__3 : rule__ProtocolClass__Group_11__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9123:1: rule__ProtocolClass__Group_11__3 : rule__ProtocolClass__Group_11__3__Impl ;
     public final void rule__ProtocolClass__Group_11__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9283:1: ( rule__ProtocolClass__Group_11__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9284:2: rule__ProtocolClass__Group_11__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9127:1: ( rule__ProtocolClass__Group_11__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9128:2: rule__ProtocolClass__Group_11__3__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__3__Impl_in_rule__ProtocolClass__Group_11__319323);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_11__3__Impl_in_rule__ProtocolClass__Group_11__319015);
             rule__ProtocolClass__Group_11__3__Impl();
 
             state._fsp--;
@@ -26697,20 +26461,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_11__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9290:1: rule__ProtocolClass__Group_11__3__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9134:1: rule__ProtocolClass__Group_11__3__Impl : ( '}' ) ;
     public final void rule__ProtocolClass__Group_11__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9294:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9295:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9138:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9139:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9295:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9296:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9139:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9140:1: '}'
             {
              before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_11_3()); 
-            match(input,41,FOLLOW_41_in_rule__ProtocolClass__Group_11__3__Impl19351); 
+            match(input,42,FOLLOW_42_in_rule__ProtocolClass__Group_11__3__Impl19043); 
              after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_11_3()); 
 
             }
@@ -26734,21 +26498,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_12__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9317:1: rule__ProtocolClass__Group_12__0 : rule__ProtocolClass__Group_12__0__Impl rule__ProtocolClass__Group_12__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9161:1: rule__ProtocolClass__Group_12__0 : rule__ProtocolClass__Group_12__0__Impl rule__ProtocolClass__Group_12__1 ;
     public final void rule__ProtocolClass__Group_12__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9321:1: ( rule__ProtocolClass__Group_12__0__Impl rule__ProtocolClass__Group_12__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9322:2: rule__ProtocolClass__Group_12__0__Impl rule__ProtocolClass__Group_12__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9165:1: ( rule__ProtocolClass__Group_12__0__Impl rule__ProtocolClass__Group_12__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9166:2: rule__ProtocolClass__Group_12__0__Impl rule__ProtocolClass__Group_12__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_12__0__Impl_in_rule__ProtocolClass__Group_12__019390);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_12__0__Impl_in_rule__ProtocolClass__Group_12__019082);
             rule__ProtocolClass__Group_12__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_12__1_in_rule__ProtocolClass__Group_12__019393);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_12__1_in_rule__ProtocolClass__Group_12__019085);
             rule__ProtocolClass__Group_12__1();
 
             state._fsp--;
@@ -26772,20 +26536,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_12__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9329:1: rule__ProtocolClass__Group_12__0__Impl : ( 'regular' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9173:1: rule__ProtocolClass__Group_12__0__Impl : ( 'regular' ) ;
     public final void rule__ProtocolClass__Group_12__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9333:1: ( ( 'regular' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9334:1: ( 'regular' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9177:1: ( ( 'regular' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9178:1: ( 'regular' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9334:1: ( 'regular' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9335:1: 'regular'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9178:1: ( 'regular' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9179:1: 'regular'
             {
              before(grammarAccess.getProtocolClassAccess().getRegularKeyword_12_0()); 
-            match(input,64,FOLLOW_64_in_rule__ProtocolClass__Group_12__0__Impl19421); 
+            match(input,65,FOLLOW_65_in_rule__ProtocolClass__Group_12__0__Impl19113); 
              after(grammarAccess.getProtocolClassAccess().getRegularKeyword_12_0()); 
 
             }
@@ -26809,21 +26573,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_12__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9348:1: rule__ProtocolClass__Group_12__1 : rule__ProtocolClass__Group_12__1__Impl rule__ProtocolClass__Group_12__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9192:1: rule__ProtocolClass__Group_12__1 : rule__ProtocolClass__Group_12__1__Impl rule__ProtocolClass__Group_12__2 ;
     public final void rule__ProtocolClass__Group_12__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9352:1: ( rule__ProtocolClass__Group_12__1__Impl rule__ProtocolClass__Group_12__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9353:2: rule__ProtocolClass__Group_12__1__Impl rule__ProtocolClass__Group_12__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9196:1: ( rule__ProtocolClass__Group_12__1__Impl rule__ProtocolClass__Group_12__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9197:2: rule__ProtocolClass__Group_12__1__Impl rule__ProtocolClass__Group_12__2
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_12__1__Impl_in_rule__ProtocolClass__Group_12__119452);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_12__1__Impl_in_rule__ProtocolClass__Group_12__119144);
             rule__ProtocolClass__Group_12__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_12__2_in_rule__ProtocolClass__Group_12__119455);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_12__2_in_rule__ProtocolClass__Group_12__119147);
             rule__ProtocolClass__Group_12__2();
 
             state._fsp--;
@@ -26847,20 +26611,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_12__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9360:1: rule__ProtocolClass__Group_12__1__Impl : ( 'PortClass' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9204:1: rule__ProtocolClass__Group_12__1__Impl : ( 'PortClass' ) ;
     public final void rule__ProtocolClass__Group_12__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9364:1: ( ( 'PortClass' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9365:1: ( 'PortClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9208:1: ( ( 'PortClass' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9209:1: ( 'PortClass' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9365:1: ( 'PortClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9366:1: 'PortClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9209:1: ( 'PortClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9210:1: 'PortClass'
             {
              before(grammarAccess.getProtocolClassAccess().getPortClassKeyword_12_1()); 
-            match(input,65,FOLLOW_65_in_rule__ProtocolClass__Group_12__1__Impl19483); 
+            match(input,66,FOLLOW_66_in_rule__ProtocolClass__Group_12__1__Impl19175); 
              after(grammarAccess.getProtocolClassAccess().getPortClassKeyword_12_1()); 
 
             }
@@ -26884,16 +26648,16 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_12__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9379:1: rule__ProtocolClass__Group_12__2 : rule__ProtocolClass__Group_12__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9223:1: rule__ProtocolClass__Group_12__2 : rule__ProtocolClass__Group_12__2__Impl ;
     public final void rule__ProtocolClass__Group_12__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9383:1: ( rule__ProtocolClass__Group_12__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9384:2: rule__ProtocolClass__Group_12__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9227:1: ( rule__ProtocolClass__Group_12__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9228:2: rule__ProtocolClass__Group_12__2__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_12__2__Impl_in_rule__ProtocolClass__Group_12__219514);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_12__2__Impl_in_rule__ProtocolClass__Group_12__219206);
             rule__ProtocolClass__Group_12__2__Impl();
 
             state._fsp--;
@@ -26917,23 +26681,23 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_12__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9390:1: rule__ProtocolClass__Group_12__2__Impl : ( ( rule__ProtocolClass__RegularAssignment_12_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9234:1: rule__ProtocolClass__Group_12__2__Impl : ( ( rule__ProtocolClass__RegularAssignment_12_2 ) ) ;
     public final void rule__ProtocolClass__Group_12__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9394:1: ( ( ( rule__ProtocolClass__RegularAssignment_12_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9395:1: ( ( rule__ProtocolClass__RegularAssignment_12_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9238:1: ( ( ( rule__ProtocolClass__RegularAssignment_12_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9239:1: ( ( rule__ProtocolClass__RegularAssignment_12_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9395:1: ( ( rule__ProtocolClass__RegularAssignment_12_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9396:1: ( rule__ProtocolClass__RegularAssignment_12_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9239:1: ( ( rule__ProtocolClass__RegularAssignment_12_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9240:1: ( rule__ProtocolClass__RegularAssignment_12_2 )
             {
              before(grammarAccess.getProtocolClassAccess().getRegularAssignment_12_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9397:1: ( rule__ProtocolClass__RegularAssignment_12_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9397:2: rule__ProtocolClass__RegularAssignment_12_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9241:1: ( rule__ProtocolClass__RegularAssignment_12_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9241:2: rule__ProtocolClass__RegularAssignment_12_2
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__RegularAssignment_12_2_in_rule__ProtocolClass__Group_12__2__Impl19541);
+            pushFollow(FOLLOW_rule__ProtocolClass__RegularAssignment_12_2_in_rule__ProtocolClass__Group_12__2__Impl19233);
             rule__ProtocolClass__RegularAssignment_12_2();
 
             state._fsp--;
@@ -26964,21 +26728,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_13__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9413:1: rule__ProtocolClass__Group_13__0 : rule__ProtocolClass__Group_13__0__Impl rule__ProtocolClass__Group_13__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9257:1: rule__ProtocolClass__Group_13__0 : rule__ProtocolClass__Group_13__0__Impl rule__ProtocolClass__Group_13__1 ;
     public final void rule__ProtocolClass__Group_13__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9417:1: ( rule__ProtocolClass__Group_13__0__Impl rule__ProtocolClass__Group_13__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9418:2: rule__ProtocolClass__Group_13__0__Impl rule__ProtocolClass__Group_13__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9261:1: ( rule__ProtocolClass__Group_13__0__Impl rule__ProtocolClass__Group_13__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9262:2: rule__ProtocolClass__Group_13__0__Impl rule__ProtocolClass__Group_13__1
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_13__0__Impl_in_rule__ProtocolClass__Group_13__019577);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_13__0__Impl_in_rule__ProtocolClass__Group_13__019269);
             rule__ProtocolClass__Group_13__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_13__1_in_rule__ProtocolClass__Group_13__019580);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_13__1_in_rule__ProtocolClass__Group_13__019272);
             rule__ProtocolClass__Group_13__1();
 
             state._fsp--;
@@ -27002,20 +26766,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_13__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9425:1: rule__ProtocolClass__Group_13__0__Impl : ( 'conjugated' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9269:1: rule__ProtocolClass__Group_13__0__Impl : ( 'conjugated' ) ;
     public final void rule__ProtocolClass__Group_13__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9429:1: ( ( 'conjugated' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9430:1: ( 'conjugated' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9273:1: ( ( 'conjugated' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9274:1: ( 'conjugated' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9430:1: ( 'conjugated' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9431:1: 'conjugated'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9274:1: ( 'conjugated' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9275:1: 'conjugated'
             {
              before(grammarAccess.getProtocolClassAccess().getConjugatedKeyword_13_0()); 
-            match(input,66,FOLLOW_66_in_rule__ProtocolClass__Group_13__0__Impl19608); 
+            match(input,67,FOLLOW_67_in_rule__ProtocolClass__Group_13__0__Impl19300); 
              after(grammarAccess.getProtocolClassAccess().getConjugatedKeyword_13_0()); 
 
             }
@@ -27039,21 +26803,21 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_13__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9444:1: rule__ProtocolClass__Group_13__1 : rule__ProtocolClass__Group_13__1__Impl rule__ProtocolClass__Group_13__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9288:1: rule__ProtocolClass__Group_13__1 : rule__ProtocolClass__Group_13__1__Impl rule__ProtocolClass__Group_13__2 ;
     public final void rule__ProtocolClass__Group_13__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9448:1: ( rule__ProtocolClass__Group_13__1__Impl rule__ProtocolClass__Group_13__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9449:2: rule__ProtocolClass__Group_13__1__Impl rule__ProtocolClass__Group_13__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9292:1: ( rule__ProtocolClass__Group_13__1__Impl rule__ProtocolClass__Group_13__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9293:2: rule__ProtocolClass__Group_13__1__Impl rule__ProtocolClass__Group_13__2
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_13__1__Impl_in_rule__ProtocolClass__Group_13__119639);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_13__1__Impl_in_rule__ProtocolClass__Group_13__119331);
             rule__ProtocolClass__Group_13__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_13__2_in_rule__ProtocolClass__Group_13__119642);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_13__2_in_rule__ProtocolClass__Group_13__119334);
             rule__ProtocolClass__Group_13__2();
 
             state._fsp--;
@@ -27077,20 +26841,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_13__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9456:1: rule__ProtocolClass__Group_13__1__Impl : ( 'PortClass' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9300:1: rule__ProtocolClass__Group_13__1__Impl : ( 'PortClass' ) ;
     public final void rule__ProtocolClass__Group_13__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9460:1: ( ( 'PortClass' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9461:1: ( 'PortClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9304:1: ( ( 'PortClass' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9305:1: ( 'PortClass' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9461:1: ( 'PortClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9462:1: 'PortClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9305:1: ( 'PortClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9306:1: 'PortClass'
             {
              before(grammarAccess.getProtocolClassAccess().getPortClassKeyword_13_1()); 
-            match(input,65,FOLLOW_65_in_rule__ProtocolClass__Group_13__1__Impl19670); 
+            match(input,66,FOLLOW_66_in_rule__ProtocolClass__Group_13__1__Impl19362); 
              after(grammarAccess.getProtocolClassAccess().getPortClassKeyword_13_1()); 
 
             }
@@ -27114,16 +26878,16 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_13__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9475:1: rule__ProtocolClass__Group_13__2 : rule__ProtocolClass__Group_13__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9319:1: rule__ProtocolClass__Group_13__2 : rule__ProtocolClass__Group_13__2__Impl ;
     public final void rule__ProtocolClass__Group_13__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9479:1: ( rule__ProtocolClass__Group_13__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9480:2: rule__ProtocolClass__Group_13__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9323:1: ( rule__ProtocolClass__Group_13__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9324:2: rule__ProtocolClass__Group_13__2__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__Group_13__2__Impl_in_rule__ProtocolClass__Group_13__219701);
+            pushFollow(FOLLOW_rule__ProtocolClass__Group_13__2__Impl_in_rule__ProtocolClass__Group_13__219393);
             rule__ProtocolClass__Group_13__2__Impl();
 
             state._fsp--;
@@ -27147,23 +26911,23 @@
 
 
     // $ANTLR start "rule__ProtocolClass__Group_13__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9486:1: rule__ProtocolClass__Group_13__2__Impl : ( ( rule__ProtocolClass__ConjugatedAssignment_13_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9330:1: rule__ProtocolClass__Group_13__2__Impl : ( ( rule__ProtocolClass__ConjugatedAssignment_13_2 ) ) ;
     public final void rule__ProtocolClass__Group_13__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9490:1: ( ( ( rule__ProtocolClass__ConjugatedAssignment_13_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9491:1: ( ( rule__ProtocolClass__ConjugatedAssignment_13_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9334:1: ( ( ( rule__ProtocolClass__ConjugatedAssignment_13_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9335:1: ( ( rule__ProtocolClass__ConjugatedAssignment_13_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9491:1: ( ( rule__ProtocolClass__ConjugatedAssignment_13_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9492:1: ( rule__ProtocolClass__ConjugatedAssignment_13_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9335:1: ( ( rule__ProtocolClass__ConjugatedAssignment_13_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9336:1: ( rule__ProtocolClass__ConjugatedAssignment_13_2 )
             {
              before(grammarAccess.getProtocolClassAccess().getConjugatedAssignment_13_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9493:1: ( rule__ProtocolClass__ConjugatedAssignment_13_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9493:2: rule__ProtocolClass__ConjugatedAssignment_13_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9337:1: ( rule__ProtocolClass__ConjugatedAssignment_13_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9337:2: rule__ProtocolClass__ConjugatedAssignment_13_2
             {
-            pushFollow(FOLLOW_rule__ProtocolClass__ConjugatedAssignment_13_2_in_rule__ProtocolClass__Group_13__2__Impl19728);
+            pushFollow(FOLLOW_rule__ProtocolClass__ConjugatedAssignment_13_2_in_rule__ProtocolClass__Group_13__2__Impl19420);
             rule__ProtocolClass__ConjugatedAssignment_13_2();
 
             state._fsp--;
@@ -27194,21 +26958,21 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9509:1: rule__CompoundProtocolClass__Group__0 : rule__CompoundProtocolClass__Group__0__Impl rule__CompoundProtocolClass__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9353:1: rule__CompoundProtocolClass__Group__0 : rule__CompoundProtocolClass__Group__0__Impl rule__CompoundProtocolClass__Group__1 ;
     public final void rule__CompoundProtocolClass__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9513:1: ( rule__CompoundProtocolClass__Group__0__Impl rule__CompoundProtocolClass__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9514:2: rule__CompoundProtocolClass__Group__0__Impl rule__CompoundProtocolClass__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9357:1: ( rule__CompoundProtocolClass__Group__0__Impl rule__CompoundProtocolClass__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9358:2: rule__CompoundProtocolClass__Group__0__Impl rule__CompoundProtocolClass__Group__1
             {
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__0__Impl_in_rule__CompoundProtocolClass__Group__019764);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__0__Impl_in_rule__CompoundProtocolClass__Group__019456);
             rule__CompoundProtocolClass__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__1_in_rule__CompoundProtocolClass__Group__019767);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__1_in_rule__CompoundProtocolClass__Group__019459);
             rule__CompoundProtocolClass__Group__1();
 
             state._fsp--;
@@ -27232,20 +26996,20 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9521:1: rule__CompoundProtocolClass__Group__0__Impl : ( 'CompoundProtocolClass' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9365:1: rule__CompoundProtocolClass__Group__0__Impl : ( 'CompoundProtocolClass' ) ;
     public final void rule__CompoundProtocolClass__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9525:1: ( ( 'CompoundProtocolClass' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9526:1: ( 'CompoundProtocolClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9369:1: ( ( 'CompoundProtocolClass' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9370:1: ( 'CompoundProtocolClass' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9526:1: ( 'CompoundProtocolClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9527:1: 'CompoundProtocolClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9370:1: ( 'CompoundProtocolClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9371:1: 'CompoundProtocolClass'
             {
              before(grammarAccess.getCompoundProtocolClassAccess().getCompoundProtocolClassKeyword_0()); 
-            match(input,21,FOLLOW_21_in_rule__CompoundProtocolClass__Group__0__Impl19795); 
+            match(input,20,FOLLOW_20_in_rule__CompoundProtocolClass__Group__0__Impl19487); 
              after(grammarAccess.getCompoundProtocolClassAccess().getCompoundProtocolClassKeyword_0()); 
 
             }
@@ -27269,21 +27033,21 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9540:1: rule__CompoundProtocolClass__Group__1 : rule__CompoundProtocolClass__Group__1__Impl rule__CompoundProtocolClass__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9384:1: rule__CompoundProtocolClass__Group__1 : rule__CompoundProtocolClass__Group__1__Impl rule__CompoundProtocolClass__Group__2 ;
     public final void rule__CompoundProtocolClass__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9544:1: ( rule__CompoundProtocolClass__Group__1__Impl rule__CompoundProtocolClass__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9545:2: rule__CompoundProtocolClass__Group__1__Impl rule__CompoundProtocolClass__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9388:1: ( rule__CompoundProtocolClass__Group__1__Impl rule__CompoundProtocolClass__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9389:2: rule__CompoundProtocolClass__Group__1__Impl rule__CompoundProtocolClass__Group__2
             {
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__1__Impl_in_rule__CompoundProtocolClass__Group__119826);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__1__Impl_in_rule__CompoundProtocolClass__Group__119518);
             rule__CompoundProtocolClass__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__2_in_rule__CompoundProtocolClass__Group__119829);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__2_in_rule__CompoundProtocolClass__Group__119521);
             rule__CompoundProtocolClass__Group__2();
 
             state._fsp--;
@@ -27307,23 +27071,23 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9552:1: rule__CompoundProtocolClass__Group__1__Impl : ( ( rule__CompoundProtocolClass__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9396:1: rule__CompoundProtocolClass__Group__1__Impl : ( ( rule__CompoundProtocolClass__NameAssignment_1 ) ) ;
     public final void rule__CompoundProtocolClass__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9556:1: ( ( ( rule__CompoundProtocolClass__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9557:1: ( ( rule__CompoundProtocolClass__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9400:1: ( ( ( rule__CompoundProtocolClass__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9401:1: ( ( rule__CompoundProtocolClass__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9557:1: ( ( rule__CompoundProtocolClass__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9558:1: ( rule__CompoundProtocolClass__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9401:1: ( ( rule__CompoundProtocolClass__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9402:1: ( rule__CompoundProtocolClass__NameAssignment_1 )
             {
              before(grammarAccess.getCompoundProtocolClassAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9559:1: ( rule__CompoundProtocolClass__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9559:2: rule__CompoundProtocolClass__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9403:1: ( rule__CompoundProtocolClass__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9403:2: rule__CompoundProtocolClass__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__NameAssignment_1_in_rule__CompoundProtocolClass__Group__1__Impl19856);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__NameAssignment_1_in_rule__CompoundProtocolClass__Group__1__Impl19548);
             rule__CompoundProtocolClass__NameAssignment_1();
 
             state._fsp--;
@@ -27354,21 +27118,21 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9569:1: rule__CompoundProtocolClass__Group__2 : rule__CompoundProtocolClass__Group__2__Impl rule__CompoundProtocolClass__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9413:1: rule__CompoundProtocolClass__Group__2 : rule__CompoundProtocolClass__Group__2__Impl rule__CompoundProtocolClass__Group__3 ;
     public final void rule__CompoundProtocolClass__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9573:1: ( rule__CompoundProtocolClass__Group__2__Impl rule__CompoundProtocolClass__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9574:2: rule__CompoundProtocolClass__Group__2__Impl rule__CompoundProtocolClass__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9417:1: ( rule__CompoundProtocolClass__Group__2__Impl rule__CompoundProtocolClass__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9418:2: rule__CompoundProtocolClass__Group__2__Impl rule__CompoundProtocolClass__Group__3
             {
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__2__Impl_in_rule__CompoundProtocolClass__Group__219886);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__2__Impl_in_rule__CompoundProtocolClass__Group__219578);
             rule__CompoundProtocolClass__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__3_in_rule__CompoundProtocolClass__Group__219889);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__3_in_rule__CompoundProtocolClass__Group__219581);
             rule__CompoundProtocolClass__Group__3();
 
             state._fsp--;
@@ -27392,31 +27156,31 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9581:1: rule__CompoundProtocolClass__Group__2__Impl : ( ( rule__CompoundProtocolClass__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9425:1: rule__CompoundProtocolClass__Group__2__Impl : ( ( rule__CompoundProtocolClass__DocuAssignment_2 )? ) ;
     public final void rule__CompoundProtocolClass__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9585:1: ( ( ( rule__CompoundProtocolClass__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9586:1: ( ( rule__CompoundProtocolClass__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9429:1: ( ( ( rule__CompoundProtocolClass__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9430:1: ( ( rule__CompoundProtocolClass__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9586:1: ( ( rule__CompoundProtocolClass__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9587:1: ( rule__CompoundProtocolClass__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9430:1: ( ( rule__CompoundProtocolClass__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9431:1: ( rule__CompoundProtocolClass__DocuAssignment_2 )?
             {
              before(grammarAccess.getCompoundProtocolClassAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9588:1: ( rule__CompoundProtocolClass__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9432:1: ( rule__CompoundProtocolClass__DocuAssignment_2 )?
             int alt101=2;
             int LA101_0 = input.LA(1);
 
-            if ( (LA101_0==58) ) {
+            if ( (LA101_0==59) ) {
                 alt101=1;
             }
             switch (alt101) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9588:2: rule__CompoundProtocolClass__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9432:2: rule__CompoundProtocolClass__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__CompoundProtocolClass__DocuAssignment_2_in_rule__CompoundProtocolClass__Group__2__Impl19916);
+                    pushFollow(FOLLOW_rule__CompoundProtocolClass__DocuAssignment_2_in_rule__CompoundProtocolClass__Group__2__Impl19608);
                     rule__CompoundProtocolClass__DocuAssignment_2();
 
                     state._fsp--;
@@ -27450,21 +27214,21 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9598:1: rule__CompoundProtocolClass__Group__3 : rule__CompoundProtocolClass__Group__3__Impl rule__CompoundProtocolClass__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9442:1: rule__CompoundProtocolClass__Group__3 : rule__CompoundProtocolClass__Group__3__Impl rule__CompoundProtocolClass__Group__4 ;
     public final void rule__CompoundProtocolClass__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9602:1: ( rule__CompoundProtocolClass__Group__3__Impl rule__CompoundProtocolClass__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9603:2: rule__CompoundProtocolClass__Group__3__Impl rule__CompoundProtocolClass__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9446:1: ( rule__CompoundProtocolClass__Group__3__Impl rule__CompoundProtocolClass__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9447:2: rule__CompoundProtocolClass__Group__3__Impl rule__CompoundProtocolClass__Group__4
             {
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__3__Impl_in_rule__CompoundProtocolClass__Group__319947);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__3__Impl_in_rule__CompoundProtocolClass__Group__319639);
             rule__CompoundProtocolClass__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__4_in_rule__CompoundProtocolClass__Group__319950);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__4_in_rule__CompoundProtocolClass__Group__319642);
             rule__CompoundProtocolClass__Group__4();
 
             state._fsp--;
@@ -27488,20 +27252,20 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9610:1: rule__CompoundProtocolClass__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9454:1: rule__CompoundProtocolClass__Group__3__Impl : ( '{' ) ;
     public final void rule__CompoundProtocolClass__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9614:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9615:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9458:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9459:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9615:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9616:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9459:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9460:1: '{'
             {
              before(grammarAccess.getCompoundProtocolClassAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,40,FOLLOW_40_in_rule__CompoundProtocolClass__Group__3__Impl19978); 
+            match(input,41,FOLLOW_41_in_rule__CompoundProtocolClass__Group__3__Impl19670); 
              after(grammarAccess.getCompoundProtocolClassAccess().getLeftCurlyBracketKeyword_3()); 
 
             }
@@ -27525,21 +27289,21 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9629:1: rule__CompoundProtocolClass__Group__4 : rule__CompoundProtocolClass__Group__4__Impl rule__CompoundProtocolClass__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9473:1: rule__CompoundProtocolClass__Group__4 : rule__CompoundProtocolClass__Group__4__Impl rule__CompoundProtocolClass__Group__5 ;
     public final void rule__CompoundProtocolClass__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9633:1: ( rule__CompoundProtocolClass__Group__4__Impl rule__CompoundProtocolClass__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9634:2: rule__CompoundProtocolClass__Group__4__Impl rule__CompoundProtocolClass__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9477:1: ( rule__CompoundProtocolClass__Group__4__Impl rule__CompoundProtocolClass__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9478:2: rule__CompoundProtocolClass__Group__4__Impl rule__CompoundProtocolClass__Group__5
             {
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__4__Impl_in_rule__CompoundProtocolClass__Group__420009);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__4__Impl_in_rule__CompoundProtocolClass__Group__419701);
             rule__CompoundProtocolClass__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__5_in_rule__CompoundProtocolClass__Group__420012);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__5_in_rule__CompoundProtocolClass__Group__419704);
             rule__CompoundProtocolClass__Group__5();
 
             state._fsp--;
@@ -27563,35 +27327,35 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9641:1: rule__CompoundProtocolClass__Group__4__Impl : ( ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9485:1: rule__CompoundProtocolClass__Group__4__Impl : ( ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )* ) ;
     public final void rule__CompoundProtocolClass__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9645:1: ( ( ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9646:1: ( ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9489:1: ( ( ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9490:1: ( ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9646:1: ( ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9647:1: ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9490:1: ( ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9491:1: ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )*
             {
              before(grammarAccess.getCompoundProtocolClassAccess().getAnnotationsAssignment_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9648:1: ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9492:1: ( rule__CompoundProtocolClass__AnnotationsAssignment_4 )*
             loop102:
             do {
                 int alt102=2;
                 int LA102_0 = input.LA(1);
 
-                if ( (LA102_0==119) ) {
+                if ( (LA102_0==120) ) {
                     alt102=1;
                 }
 
 
                 switch (alt102) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9648:2: rule__CompoundProtocolClass__AnnotationsAssignment_4
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9492:2: rule__CompoundProtocolClass__AnnotationsAssignment_4
             	    {
-            	    pushFollow(FOLLOW_rule__CompoundProtocolClass__AnnotationsAssignment_4_in_rule__CompoundProtocolClass__Group__4__Impl20039);
+            	    pushFollow(FOLLOW_rule__CompoundProtocolClass__AnnotationsAssignment_4_in_rule__CompoundProtocolClass__Group__4__Impl19731);
             	    rule__CompoundProtocolClass__AnnotationsAssignment_4();
 
             	    state._fsp--;
@@ -27628,21 +27392,21 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9658:1: rule__CompoundProtocolClass__Group__5 : rule__CompoundProtocolClass__Group__5__Impl rule__CompoundProtocolClass__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9502:1: rule__CompoundProtocolClass__Group__5 : rule__CompoundProtocolClass__Group__5__Impl rule__CompoundProtocolClass__Group__6 ;
     public final void rule__CompoundProtocolClass__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9662:1: ( rule__CompoundProtocolClass__Group__5__Impl rule__CompoundProtocolClass__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9663:2: rule__CompoundProtocolClass__Group__5__Impl rule__CompoundProtocolClass__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9506:1: ( rule__CompoundProtocolClass__Group__5__Impl rule__CompoundProtocolClass__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9507:2: rule__CompoundProtocolClass__Group__5__Impl rule__CompoundProtocolClass__Group__6
             {
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__5__Impl_in_rule__CompoundProtocolClass__Group__520070);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__5__Impl_in_rule__CompoundProtocolClass__Group__519762);
             rule__CompoundProtocolClass__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__6_in_rule__CompoundProtocolClass__Group__520073);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__6_in_rule__CompoundProtocolClass__Group__519765);
             rule__CompoundProtocolClass__Group__6();
 
             state._fsp--;
@@ -27666,35 +27430,35 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9670:1: rule__CompoundProtocolClass__Group__5__Impl : ( ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9514:1: rule__CompoundProtocolClass__Group__5__Impl : ( ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )* ) ;
     public final void rule__CompoundProtocolClass__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9674:1: ( ( ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9675:1: ( ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9518:1: ( ( ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9519:1: ( ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9675:1: ( ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9676:1: ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9519:1: ( ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9520:1: ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )*
             {
              before(grammarAccess.getCompoundProtocolClassAccess().getSubProtocolsAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9677:1: ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9521:1: ( rule__CompoundProtocolClass__SubProtocolsAssignment_5 )*
             loop103:
             do {
                 int alt103=2;
                 int LA103_0 = input.LA(1);
 
-                if ( (LA103_0==67) ) {
+                if ( (LA103_0==68) ) {
                     alt103=1;
                 }
 
 
                 switch (alt103) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9677:2: rule__CompoundProtocolClass__SubProtocolsAssignment_5
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9521:2: rule__CompoundProtocolClass__SubProtocolsAssignment_5
             	    {
-            	    pushFollow(FOLLOW_rule__CompoundProtocolClass__SubProtocolsAssignment_5_in_rule__CompoundProtocolClass__Group__5__Impl20100);
+            	    pushFollow(FOLLOW_rule__CompoundProtocolClass__SubProtocolsAssignment_5_in_rule__CompoundProtocolClass__Group__5__Impl19792);
             	    rule__CompoundProtocolClass__SubProtocolsAssignment_5();
 
             	    state._fsp--;
@@ -27731,16 +27495,16 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9687:1: rule__CompoundProtocolClass__Group__6 : rule__CompoundProtocolClass__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9531:1: rule__CompoundProtocolClass__Group__6 : rule__CompoundProtocolClass__Group__6__Impl ;
     public final void rule__CompoundProtocolClass__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9691:1: ( rule__CompoundProtocolClass__Group__6__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9692:2: rule__CompoundProtocolClass__Group__6__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9535:1: ( rule__CompoundProtocolClass__Group__6__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9536:2: rule__CompoundProtocolClass__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__6__Impl_in_rule__CompoundProtocolClass__Group__620131);
+            pushFollow(FOLLOW_rule__CompoundProtocolClass__Group__6__Impl_in_rule__CompoundProtocolClass__Group__619823);
             rule__CompoundProtocolClass__Group__6__Impl();
 
             state._fsp--;
@@ -27764,20 +27528,20 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9698:1: rule__CompoundProtocolClass__Group__6__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9542:1: rule__CompoundProtocolClass__Group__6__Impl : ( '}' ) ;
     public final void rule__CompoundProtocolClass__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9702:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9703:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9546:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9547:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9703:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9704:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9547:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9548:1: '}'
             {
              before(grammarAccess.getCompoundProtocolClassAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,41,FOLLOW_41_in_rule__CompoundProtocolClass__Group__6__Impl20159); 
+            match(input,42,FOLLOW_42_in_rule__CompoundProtocolClass__Group__6__Impl19851); 
              after(grammarAccess.getCompoundProtocolClassAccess().getRightCurlyBracketKeyword_6()); 
 
             }
@@ -27801,21 +27565,21 @@
 
 
     // $ANTLR start "rule__SubProtocol__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9731:1: rule__SubProtocol__Group__0 : rule__SubProtocol__Group__0__Impl rule__SubProtocol__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9575:1: rule__SubProtocol__Group__0 : rule__SubProtocol__Group__0__Impl rule__SubProtocol__Group__1 ;
     public final void rule__SubProtocol__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9735:1: ( rule__SubProtocol__Group__0__Impl rule__SubProtocol__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9736:2: rule__SubProtocol__Group__0__Impl rule__SubProtocol__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9579:1: ( rule__SubProtocol__Group__0__Impl rule__SubProtocol__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9580:2: rule__SubProtocol__Group__0__Impl rule__SubProtocol__Group__1
             {
-            pushFollow(FOLLOW_rule__SubProtocol__Group__0__Impl_in_rule__SubProtocol__Group__020204);
+            pushFollow(FOLLOW_rule__SubProtocol__Group__0__Impl_in_rule__SubProtocol__Group__019896);
             rule__SubProtocol__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubProtocol__Group__1_in_rule__SubProtocol__Group__020207);
+            pushFollow(FOLLOW_rule__SubProtocol__Group__1_in_rule__SubProtocol__Group__019899);
             rule__SubProtocol__Group__1();
 
             state._fsp--;
@@ -27839,20 +27603,20 @@
 
 
     // $ANTLR start "rule__SubProtocol__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9743:1: rule__SubProtocol__Group__0__Impl : ( 'SubProtocol' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9587:1: rule__SubProtocol__Group__0__Impl : ( 'SubProtocol' ) ;
     public final void rule__SubProtocol__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9747:1: ( ( 'SubProtocol' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9748:1: ( 'SubProtocol' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9591:1: ( ( 'SubProtocol' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9592:1: ( 'SubProtocol' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9748:1: ( 'SubProtocol' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9749:1: 'SubProtocol'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9592:1: ( 'SubProtocol' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9593:1: 'SubProtocol'
             {
              before(grammarAccess.getSubProtocolAccess().getSubProtocolKeyword_0()); 
-            match(input,67,FOLLOW_67_in_rule__SubProtocol__Group__0__Impl20235); 
+            match(input,68,FOLLOW_68_in_rule__SubProtocol__Group__0__Impl19927); 
              after(grammarAccess.getSubProtocolAccess().getSubProtocolKeyword_0()); 
 
             }
@@ -27876,21 +27640,21 @@
 
 
     // $ANTLR start "rule__SubProtocol__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9762:1: rule__SubProtocol__Group__1 : rule__SubProtocol__Group__1__Impl rule__SubProtocol__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9606:1: rule__SubProtocol__Group__1 : rule__SubProtocol__Group__1__Impl rule__SubProtocol__Group__2 ;
     public final void rule__SubProtocol__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9766:1: ( rule__SubProtocol__Group__1__Impl rule__SubProtocol__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9767:2: rule__SubProtocol__Group__1__Impl rule__SubProtocol__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9610:1: ( rule__SubProtocol__Group__1__Impl rule__SubProtocol__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9611:2: rule__SubProtocol__Group__1__Impl rule__SubProtocol__Group__2
             {
-            pushFollow(FOLLOW_rule__SubProtocol__Group__1__Impl_in_rule__SubProtocol__Group__120266);
+            pushFollow(FOLLOW_rule__SubProtocol__Group__1__Impl_in_rule__SubProtocol__Group__119958);
             rule__SubProtocol__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubProtocol__Group__2_in_rule__SubProtocol__Group__120269);
+            pushFollow(FOLLOW_rule__SubProtocol__Group__2_in_rule__SubProtocol__Group__119961);
             rule__SubProtocol__Group__2();
 
             state._fsp--;
@@ -27914,23 +27678,23 @@
 
 
     // $ANTLR start "rule__SubProtocol__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9774:1: rule__SubProtocol__Group__1__Impl : ( ( rule__SubProtocol__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9618:1: rule__SubProtocol__Group__1__Impl : ( ( rule__SubProtocol__NameAssignment_1 ) ) ;
     public final void rule__SubProtocol__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9778:1: ( ( ( rule__SubProtocol__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9779:1: ( ( rule__SubProtocol__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9622:1: ( ( ( rule__SubProtocol__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9623:1: ( ( rule__SubProtocol__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9779:1: ( ( rule__SubProtocol__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9780:1: ( rule__SubProtocol__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9623:1: ( ( rule__SubProtocol__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9624:1: ( rule__SubProtocol__NameAssignment_1 )
             {
              before(grammarAccess.getSubProtocolAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9781:1: ( rule__SubProtocol__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9781:2: rule__SubProtocol__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9625:1: ( rule__SubProtocol__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9625:2: rule__SubProtocol__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__SubProtocol__NameAssignment_1_in_rule__SubProtocol__Group__1__Impl20296);
+            pushFollow(FOLLOW_rule__SubProtocol__NameAssignment_1_in_rule__SubProtocol__Group__1__Impl19988);
             rule__SubProtocol__NameAssignment_1();
 
             state._fsp--;
@@ -27961,21 +27725,21 @@
 
 
     // $ANTLR start "rule__SubProtocol__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9791:1: rule__SubProtocol__Group__2 : rule__SubProtocol__Group__2__Impl rule__SubProtocol__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9635:1: rule__SubProtocol__Group__2 : rule__SubProtocol__Group__2__Impl rule__SubProtocol__Group__3 ;
     public final void rule__SubProtocol__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9795:1: ( rule__SubProtocol__Group__2__Impl rule__SubProtocol__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9796:2: rule__SubProtocol__Group__2__Impl rule__SubProtocol__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9639:1: ( rule__SubProtocol__Group__2__Impl rule__SubProtocol__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9640:2: rule__SubProtocol__Group__2__Impl rule__SubProtocol__Group__3
             {
-            pushFollow(FOLLOW_rule__SubProtocol__Group__2__Impl_in_rule__SubProtocol__Group__220326);
+            pushFollow(FOLLOW_rule__SubProtocol__Group__2__Impl_in_rule__SubProtocol__Group__220018);
             rule__SubProtocol__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubProtocol__Group__3_in_rule__SubProtocol__Group__220329);
+            pushFollow(FOLLOW_rule__SubProtocol__Group__3_in_rule__SubProtocol__Group__220021);
             rule__SubProtocol__Group__3();
 
             state._fsp--;
@@ -27999,20 +27763,20 @@
 
 
     // $ANTLR start "rule__SubProtocol__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9803:1: rule__SubProtocol__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9647:1: rule__SubProtocol__Group__2__Impl : ( ':' ) ;
     public final void rule__SubProtocol__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9807:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9808:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9651:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9652:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9808:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9809:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9652:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9653:1: ':'
             {
              before(grammarAccess.getSubProtocolAccess().getColonKeyword_2()); 
-            match(input,42,FOLLOW_42_in_rule__SubProtocol__Group__2__Impl20357); 
+            match(input,43,FOLLOW_43_in_rule__SubProtocol__Group__2__Impl20049); 
              after(grammarAccess.getSubProtocolAccess().getColonKeyword_2()); 
 
             }
@@ -28036,16 +27800,16 @@
 
 
     // $ANTLR start "rule__SubProtocol__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9822:1: rule__SubProtocol__Group__3 : rule__SubProtocol__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9666:1: rule__SubProtocol__Group__3 : rule__SubProtocol__Group__3__Impl ;
     public final void rule__SubProtocol__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9826:1: ( rule__SubProtocol__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9827:2: rule__SubProtocol__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9670:1: ( rule__SubProtocol__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9671:2: rule__SubProtocol__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__SubProtocol__Group__3__Impl_in_rule__SubProtocol__Group__320388);
+            pushFollow(FOLLOW_rule__SubProtocol__Group__3__Impl_in_rule__SubProtocol__Group__320080);
             rule__SubProtocol__Group__3__Impl();
 
             state._fsp--;
@@ -28069,23 +27833,23 @@
 
 
     // $ANTLR start "rule__SubProtocol__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9833:1: rule__SubProtocol__Group__3__Impl : ( ( rule__SubProtocol__ProtocolAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9677:1: rule__SubProtocol__Group__3__Impl : ( ( rule__SubProtocol__ProtocolAssignment_3 ) ) ;
     public final void rule__SubProtocol__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9837:1: ( ( ( rule__SubProtocol__ProtocolAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9838:1: ( ( rule__SubProtocol__ProtocolAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9681:1: ( ( ( rule__SubProtocol__ProtocolAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9682:1: ( ( rule__SubProtocol__ProtocolAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9838:1: ( ( rule__SubProtocol__ProtocolAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9839:1: ( rule__SubProtocol__ProtocolAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9682:1: ( ( rule__SubProtocol__ProtocolAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9683:1: ( rule__SubProtocol__ProtocolAssignment_3 )
             {
              before(grammarAccess.getSubProtocolAccess().getProtocolAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9840:1: ( rule__SubProtocol__ProtocolAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9840:2: rule__SubProtocol__ProtocolAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9684:1: ( rule__SubProtocol__ProtocolAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9684:2: rule__SubProtocol__ProtocolAssignment_3
             {
-            pushFollow(FOLLOW_rule__SubProtocol__ProtocolAssignment_3_in_rule__SubProtocol__Group__3__Impl20415);
+            pushFollow(FOLLOW_rule__SubProtocol__ProtocolAssignment_3_in_rule__SubProtocol__Group__3__Impl20107);
             rule__SubProtocol__ProtocolAssignment_3();
 
             state._fsp--;
@@ -28116,21 +27880,21 @@
 
 
     // $ANTLR start "rule__Message__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9858:1: rule__Message__Group__0 : rule__Message__Group__0__Impl rule__Message__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9702:1: rule__Message__Group__0 : rule__Message__Group__0__Impl rule__Message__Group__1 ;
     public final void rule__Message__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9862:1: ( rule__Message__Group__0__Impl rule__Message__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9863:2: rule__Message__Group__0__Impl rule__Message__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9706:1: ( rule__Message__Group__0__Impl rule__Message__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9707:2: rule__Message__Group__0__Impl rule__Message__Group__1
             {
-            pushFollow(FOLLOW_rule__Message__Group__0__Impl_in_rule__Message__Group__020453);
+            pushFollow(FOLLOW_rule__Message__Group__0__Impl_in_rule__Message__Group__020145);
             rule__Message__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Message__Group__1_in_rule__Message__Group__020456);
+            pushFollow(FOLLOW_rule__Message__Group__1_in_rule__Message__Group__020148);
             rule__Message__Group__1();
 
             state._fsp--;
@@ -28154,31 +27918,31 @@
 
 
     // $ANTLR start "rule__Message__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9870:1: rule__Message__Group__0__Impl : ( ( rule__Message__PrivAssignment_0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9714:1: rule__Message__Group__0__Impl : ( ( rule__Message__PrivAssignment_0 )? ) ;
     public final void rule__Message__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9874:1: ( ( ( rule__Message__PrivAssignment_0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9875:1: ( ( rule__Message__PrivAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9718:1: ( ( ( rule__Message__PrivAssignment_0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9719:1: ( ( rule__Message__PrivAssignment_0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9875:1: ( ( rule__Message__PrivAssignment_0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9876:1: ( rule__Message__PrivAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9719:1: ( ( rule__Message__PrivAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9720:1: ( rule__Message__PrivAssignment_0 )?
             {
              before(grammarAccess.getMessageAccess().getPrivAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9877:1: ( rule__Message__PrivAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9721:1: ( rule__Message__PrivAssignment_0 )?
             int alt104=2;
             int LA104_0 = input.LA(1);
 
-            if ( (LA104_0==127) ) {
+            if ( (LA104_0==128) ) {
                 alt104=1;
             }
             switch (alt104) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9877:2: rule__Message__PrivAssignment_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9721:2: rule__Message__PrivAssignment_0
                     {
-                    pushFollow(FOLLOW_rule__Message__PrivAssignment_0_in_rule__Message__Group__0__Impl20483);
+                    pushFollow(FOLLOW_rule__Message__PrivAssignment_0_in_rule__Message__Group__0__Impl20175);
                     rule__Message__PrivAssignment_0();
 
                     state._fsp--;
@@ -28212,21 +27976,21 @@
 
 
     // $ANTLR start "rule__Message__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9887:1: rule__Message__Group__1 : rule__Message__Group__1__Impl rule__Message__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9731:1: rule__Message__Group__1 : rule__Message__Group__1__Impl rule__Message__Group__2 ;
     public final void rule__Message__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9891:1: ( rule__Message__Group__1__Impl rule__Message__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9892:2: rule__Message__Group__1__Impl rule__Message__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9735:1: ( rule__Message__Group__1__Impl rule__Message__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9736:2: rule__Message__Group__1__Impl rule__Message__Group__2
             {
-            pushFollow(FOLLOW_rule__Message__Group__1__Impl_in_rule__Message__Group__120514);
+            pushFollow(FOLLOW_rule__Message__Group__1__Impl_in_rule__Message__Group__120206);
             rule__Message__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Message__Group__2_in_rule__Message__Group__120517);
+            pushFollow(FOLLOW_rule__Message__Group__2_in_rule__Message__Group__120209);
             rule__Message__Group__2();
 
             state._fsp--;
@@ -28250,20 +28014,20 @@
 
 
     // $ANTLR start "rule__Message__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9899:1: rule__Message__Group__1__Impl : ( 'Message' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9743:1: rule__Message__Group__1__Impl : ( 'Message' ) ;
     public final void rule__Message__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9903:1: ( ( 'Message' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9904:1: ( 'Message' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9747:1: ( ( 'Message' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9748:1: ( 'Message' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9904:1: ( 'Message' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9905:1: 'Message'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9748:1: ( 'Message' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9749:1: 'Message'
             {
              before(grammarAccess.getMessageAccess().getMessageKeyword_1()); 
-            match(input,68,FOLLOW_68_in_rule__Message__Group__1__Impl20545); 
+            match(input,69,FOLLOW_69_in_rule__Message__Group__1__Impl20237); 
              after(grammarAccess.getMessageAccess().getMessageKeyword_1()); 
 
             }
@@ -28287,21 +28051,21 @@
 
 
     // $ANTLR start "rule__Message__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9918:1: rule__Message__Group__2 : rule__Message__Group__2__Impl rule__Message__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9762:1: rule__Message__Group__2 : rule__Message__Group__2__Impl rule__Message__Group__3 ;
     public final void rule__Message__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9922:1: ( rule__Message__Group__2__Impl rule__Message__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9923:2: rule__Message__Group__2__Impl rule__Message__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9766:1: ( rule__Message__Group__2__Impl rule__Message__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9767:2: rule__Message__Group__2__Impl rule__Message__Group__3
             {
-            pushFollow(FOLLOW_rule__Message__Group__2__Impl_in_rule__Message__Group__220576);
+            pushFollow(FOLLOW_rule__Message__Group__2__Impl_in_rule__Message__Group__220268);
             rule__Message__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Message__Group__3_in_rule__Message__Group__220579);
+            pushFollow(FOLLOW_rule__Message__Group__3_in_rule__Message__Group__220271);
             rule__Message__Group__3();
 
             state._fsp--;
@@ -28325,23 +28089,23 @@
 
 
     // $ANTLR start "rule__Message__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9930:1: rule__Message__Group__2__Impl : ( ( rule__Message__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9774:1: rule__Message__Group__2__Impl : ( ( rule__Message__NameAssignment_2 ) ) ;
     public final void rule__Message__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9934:1: ( ( ( rule__Message__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9935:1: ( ( rule__Message__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9778:1: ( ( ( rule__Message__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9779:1: ( ( rule__Message__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9935:1: ( ( rule__Message__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9936:1: ( rule__Message__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9779:1: ( ( rule__Message__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9780:1: ( rule__Message__NameAssignment_2 )
             {
              before(grammarAccess.getMessageAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9937:1: ( rule__Message__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9937:2: rule__Message__NameAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9781:1: ( rule__Message__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9781:2: rule__Message__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__Message__NameAssignment_2_in_rule__Message__Group__2__Impl20606);
+            pushFollow(FOLLOW_rule__Message__NameAssignment_2_in_rule__Message__Group__2__Impl20298);
             rule__Message__NameAssignment_2();
 
             state._fsp--;
@@ -28372,21 +28136,21 @@
 
 
     // $ANTLR start "rule__Message__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9947:1: rule__Message__Group__3 : rule__Message__Group__3__Impl rule__Message__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9791:1: rule__Message__Group__3 : rule__Message__Group__3__Impl rule__Message__Group__4 ;
     public final void rule__Message__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9951:1: ( rule__Message__Group__3__Impl rule__Message__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9952:2: rule__Message__Group__3__Impl rule__Message__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9795:1: ( rule__Message__Group__3__Impl rule__Message__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9796:2: rule__Message__Group__3__Impl rule__Message__Group__4
             {
-            pushFollow(FOLLOW_rule__Message__Group__3__Impl_in_rule__Message__Group__320636);
+            pushFollow(FOLLOW_rule__Message__Group__3__Impl_in_rule__Message__Group__320328);
             rule__Message__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Message__Group__4_in_rule__Message__Group__320639);
+            pushFollow(FOLLOW_rule__Message__Group__4_in_rule__Message__Group__320331);
             rule__Message__Group__4();
 
             state._fsp--;
@@ -28410,20 +28174,20 @@
 
 
     // $ANTLR start "rule__Message__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9959:1: rule__Message__Group__3__Impl : ( '(' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9803:1: rule__Message__Group__3__Impl : ( '(' ) ;
     public final void rule__Message__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9963:1: ( ( '(' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9964:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9807:1: ( ( '(' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9808:1: ( '(' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9964:1: ( '(' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9965:1: '('
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9808:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9809:1: '('
             {
              before(grammarAccess.getMessageAccess().getLeftParenthesisKeyword_3()); 
-            match(input,46,FOLLOW_46_in_rule__Message__Group__3__Impl20667); 
+            match(input,47,FOLLOW_47_in_rule__Message__Group__3__Impl20359); 
              after(grammarAccess.getMessageAccess().getLeftParenthesisKeyword_3()); 
 
             }
@@ -28447,21 +28211,21 @@
 
 
     // $ANTLR start "rule__Message__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9978:1: rule__Message__Group__4 : rule__Message__Group__4__Impl rule__Message__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9822:1: rule__Message__Group__4 : rule__Message__Group__4__Impl rule__Message__Group__5 ;
     public final void rule__Message__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9982:1: ( rule__Message__Group__4__Impl rule__Message__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9983:2: rule__Message__Group__4__Impl rule__Message__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9826:1: ( rule__Message__Group__4__Impl rule__Message__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9827:2: rule__Message__Group__4__Impl rule__Message__Group__5
             {
-            pushFollow(FOLLOW_rule__Message__Group__4__Impl_in_rule__Message__Group__420698);
+            pushFollow(FOLLOW_rule__Message__Group__4__Impl_in_rule__Message__Group__420390);
             rule__Message__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Message__Group__5_in_rule__Message__Group__420701);
+            pushFollow(FOLLOW_rule__Message__Group__5_in_rule__Message__Group__420393);
             rule__Message__Group__5();
 
             state._fsp--;
@@ -28485,20 +28249,20 @@
 
 
     // $ANTLR start "rule__Message__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9990:1: rule__Message__Group__4__Impl : ( ( rule__Message__DataAssignment_4 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9834:1: rule__Message__Group__4__Impl : ( ( rule__Message__DataAssignment_4 )? ) ;
     public final void rule__Message__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9994:1: ( ( ( rule__Message__DataAssignment_4 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9995:1: ( ( rule__Message__DataAssignment_4 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9838:1: ( ( ( rule__Message__DataAssignment_4 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9839:1: ( ( rule__Message__DataAssignment_4 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9995:1: ( ( rule__Message__DataAssignment_4 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9996:1: ( rule__Message__DataAssignment_4 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9839:1: ( ( rule__Message__DataAssignment_4 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9840:1: ( rule__Message__DataAssignment_4 )?
             {
              before(grammarAccess.getMessageAccess().getDataAssignment_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9997:1: ( rule__Message__DataAssignment_4 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9841:1: ( rule__Message__DataAssignment_4 )?
             int alt105=2;
             int LA105_0 = input.LA(1);
 
@@ -28507,9 +28271,9 @@
             }
             switch (alt105) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9997:2: rule__Message__DataAssignment_4
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9841:2: rule__Message__DataAssignment_4
                     {
-                    pushFollow(FOLLOW_rule__Message__DataAssignment_4_in_rule__Message__Group__4__Impl20728);
+                    pushFollow(FOLLOW_rule__Message__DataAssignment_4_in_rule__Message__Group__4__Impl20420);
                     rule__Message__DataAssignment_4();
 
                     state._fsp--;
@@ -28543,21 +28307,21 @@
 
 
     // $ANTLR start "rule__Message__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10007:1: rule__Message__Group__5 : rule__Message__Group__5__Impl rule__Message__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9851:1: rule__Message__Group__5 : rule__Message__Group__5__Impl rule__Message__Group__6 ;
     public final void rule__Message__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10011:1: ( rule__Message__Group__5__Impl rule__Message__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10012:2: rule__Message__Group__5__Impl rule__Message__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9855:1: ( rule__Message__Group__5__Impl rule__Message__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9856:2: rule__Message__Group__5__Impl rule__Message__Group__6
             {
-            pushFollow(FOLLOW_rule__Message__Group__5__Impl_in_rule__Message__Group__520759);
+            pushFollow(FOLLOW_rule__Message__Group__5__Impl_in_rule__Message__Group__520451);
             rule__Message__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Message__Group__6_in_rule__Message__Group__520762);
+            pushFollow(FOLLOW_rule__Message__Group__6_in_rule__Message__Group__520454);
             rule__Message__Group__6();
 
             state._fsp--;
@@ -28581,20 +28345,20 @@
 
 
     // $ANTLR start "rule__Message__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10019:1: rule__Message__Group__5__Impl : ( ')' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9863:1: rule__Message__Group__5__Impl : ( ')' ) ;
     public final void rule__Message__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10023:1: ( ( ')' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10024:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9867:1: ( ( ')' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9868:1: ( ')' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10024:1: ( ')' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10025:1: ')'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9868:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9869:1: ')'
             {
              before(grammarAccess.getMessageAccess().getRightParenthesisKeyword_5()); 
-            match(input,47,FOLLOW_47_in_rule__Message__Group__5__Impl20790); 
+            match(input,48,FOLLOW_48_in_rule__Message__Group__5__Impl20482); 
              after(grammarAccess.getMessageAccess().getRightParenthesisKeyword_5()); 
 
             }
@@ -28618,16 +28382,16 @@
 
 
     // $ANTLR start "rule__Message__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10038:1: rule__Message__Group__6 : rule__Message__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9882:1: rule__Message__Group__6 : rule__Message__Group__6__Impl ;
     public final void rule__Message__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10042:1: ( rule__Message__Group__6__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10043:2: rule__Message__Group__6__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9886:1: ( rule__Message__Group__6__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9887:2: rule__Message__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__Message__Group__6__Impl_in_rule__Message__Group__620821);
+            pushFollow(FOLLOW_rule__Message__Group__6__Impl_in_rule__Message__Group__620513);
             rule__Message__Group__6__Impl();
 
             state._fsp--;
@@ -28651,31 +28415,31 @@
 
 
     // $ANTLR start "rule__Message__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10049:1: rule__Message__Group__6__Impl : ( ( rule__Message__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9893:1: rule__Message__Group__6__Impl : ( ( rule__Message__DocuAssignment_6 )? ) ;
     public final void rule__Message__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10053:1: ( ( ( rule__Message__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10054:1: ( ( rule__Message__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9897:1: ( ( ( rule__Message__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9898:1: ( ( rule__Message__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10054:1: ( ( rule__Message__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10055:1: ( rule__Message__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9898:1: ( ( rule__Message__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9899:1: ( rule__Message__DocuAssignment_6 )?
             {
              before(grammarAccess.getMessageAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10056:1: ( rule__Message__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9900:1: ( rule__Message__DocuAssignment_6 )?
             int alt106=2;
             int LA106_0 = input.LA(1);
 
-            if ( (LA106_0==58) ) {
+            if ( (LA106_0==59) ) {
                 alt106=1;
             }
             switch (alt106) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10056:2: rule__Message__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9900:2: rule__Message__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__Message__DocuAssignment_6_in_rule__Message__Group__6__Impl20848);
+                    pushFollow(FOLLOW_rule__Message__DocuAssignment_6_in_rule__Message__Group__6__Impl20540);
                     rule__Message__DocuAssignment_6();
 
                     state._fsp--;
@@ -28709,21 +28473,21 @@
 
 
     // $ANTLR start "rule__PortClass__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10080:1: rule__PortClass__Group__0 : rule__PortClass__Group__0__Impl rule__PortClass__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9924:1: rule__PortClass__Group__0 : rule__PortClass__Group__0__Impl rule__PortClass__Group__1 ;
     public final void rule__PortClass__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10084:1: ( rule__PortClass__Group__0__Impl rule__PortClass__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10085:2: rule__PortClass__Group__0__Impl rule__PortClass__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9928:1: ( rule__PortClass__Group__0__Impl rule__PortClass__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9929:2: rule__PortClass__Group__0__Impl rule__PortClass__Group__1
             {
-            pushFollow(FOLLOW_rule__PortClass__Group__0__Impl_in_rule__PortClass__Group__020893);
+            pushFollow(FOLLOW_rule__PortClass__Group__0__Impl_in_rule__PortClass__Group__020585);
             rule__PortClass__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortClass__Group__1_in_rule__PortClass__Group__020896);
+            pushFollow(FOLLOW_rule__PortClass__Group__1_in_rule__PortClass__Group__020588);
             rule__PortClass__Group__1();
 
             state._fsp--;
@@ -28747,21 +28511,21 @@
 
 
     // $ANTLR start "rule__PortClass__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10092:1: rule__PortClass__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9936:1: rule__PortClass__Group__0__Impl : ( () ) ;
     public final void rule__PortClass__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10096:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10097:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9940:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9941:1: ( () )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10097:1: ( () )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10098:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9941:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9942:1: ()
             {
              before(grammarAccess.getPortClassAccess().getPortClassAction_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10099:1: ()
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10101:1: 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9943:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9945:1: 
             {
             }
 
@@ -28784,21 +28548,21 @@
 
 
     // $ANTLR start "rule__PortClass__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10111:1: rule__PortClass__Group__1 : rule__PortClass__Group__1__Impl rule__PortClass__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9955:1: rule__PortClass__Group__1 : rule__PortClass__Group__1__Impl rule__PortClass__Group__2 ;
     public final void rule__PortClass__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10115:1: ( rule__PortClass__Group__1__Impl rule__PortClass__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10116:2: rule__PortClass__Group__1__Impl rule__PortClass__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9959:1: ( rule__PortClass__Group__1__Impl rule__PortClass__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9960:2: rule__PortClass__Group__1__Impl rule__PortClass__Group__2
             {
-            pushFollow(FOLLOW_rule__PortClass__Group__1__Impl_in_rule__PortClass__Group__120954);
+            pushFollow(FOLLOW_rule__PortClass__Group__1__Impl_in_rule__PortClass__Group__120646);
             rule__PortClass__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortClass__Group__2_in_rule__PortClass__Group__120957);
+            pushFollow(FOLLOW_rule__PortClass__Group__2_in_rule__PortClass__Group__120649);
             rule__PortClass__Group__2();
 
             state._fsp--;
@@ -28822,20 +28586,20 @@
 
 
     // $ANTLR start "rule__PortClass__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10123:1: rule__PortClass__Group__1__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9967:1: rule__PortClass__Group__1__Impl : ( '{' ) ;
     public final void rule__PortClass__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10127:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10128:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9971:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9972:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10128:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10129:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9972:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9973:1: '{'
             {
              before(grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,40,FOLLOW_40_in_rule__PortClass__Group__1__Impl20985); 
+            match(input,41,FOLLOW_41_in_rule__PortClass__Group__1__Impl20677); 
              after(grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_1()); 
 
             }
@@ -28859,21 +28623,21 @@
 
 
     // $ANTLR start "rule__PortClass__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10142:1: rule__PortClass__Group__2 : rule__PortClass__Group__2__Impl rule__PortClass__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9986:1: rule__PortClass__Group__2 : rule__PortClass__Group__2__Impl rule__PortClass__Group__3 ;
     public final void rule__PortClass__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10146:1: ( rule__PortClass__Group__2__Impl rule__PortClass__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10147:2: rule__PortClass__Group__2__Impl rule__PortClass__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9990:1: ( rule__PortClass__Group__2__Impl rule__PortClass__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9991:2: rule__PortClass__Group__2__Impl rule__PortClass__Group__3
             {
-            pushFollow(FOLLOW_rule__PortClass__Group__2__Impl_in_rule__PortClass__Group__221016);
+            pushFollow(FOLLOW_rule__PortClass__Group__2__Impl_in_rule__PortClass__Group__220708);
             rule__PortClass__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortClass__Group__3_in_rule__PortClass__Group__221019);
+            pushFollow(FOLLOW_rule__PortClass__Group__3_in_rule__PortClass__Group__220711);
             rule__PortClass__Group__3();
 
             state._fsp--;
@@ -28897,31 +28661,31 @@
 
 
     // $ANTLR start "rule__PortClass__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10154:1: rule__PortClass__Group__2__Impl : ( ( rule__PortClass__Group_2__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:9998:1: rule__PortClass__Group__2__Impl : ( ( rule__PortClass__Group_2__0 )? ) ;
     public final void rule__PortClass__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10158:1: ( ( ( rule__PortClass__Group_2__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10159:1: ( ( rule__PortClass__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10002:1: ( ( ( rule__PortClass__Group_2__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10003:1: ( ( rule__PortClass__Group_2__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10159:1: ( ( rule__PortClass__Group_2__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10160:1: ( rule__PortClass__Group_2__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10003:1: ( ( rule__PortClass__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10004:1: ( rule__PortClass__Group_2__0 )?
             {
              before(grammarAccess.getPortClassAccess().getGroup_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10161:1: ( rule__PortClass__Group_2__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10005:1: ( rule__PortClass__Group_2__0 )?
             int alt107=2;
             int LA107_0 = input.LA(1);
 
-            if ( (LA107_0==69) ) {
+            if ( (LA107_0==70) ) {
                 alt107=1;
             }
             switch (alt107) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10161:2: rule__PortClass__Group_2__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10005:2: rule__PortClass__Group_2__0
                     {
-                    pushFollow(FOLLOW_rule__PortClass__Group_2__0_in_rule__PortClass__Group__2__Impl21046);
+                    pushFollow(FOLLOW_rule__PortClass__Group_2__0_in_rule__PortClass__Group__2__Impl20738);
                     rule__PortClass__Group_2__0();
 
                     state._fsp--;
@@ -28955,21 +28719,21 @@
 
 
     // $ANTLR start "rule__PortClass__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10171:1: rule__PortClass__Group__3 : rule__PortClass__Group__3__Impl rule__PortClass__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10015:1: rule__PortClass__Group__3 : rule__PortClass__Group__3__Impl rule__PortClass__Group__4 ;
     public final void rule__PortClass__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10175:1: ( rule__PortClass__Group__3__Impl rule__PortClass__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10176:2: rule__PortClass__Group__3__Impl rule__PortClass__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10019:1: ( rule__PortClass__Group__3__Impl rule__PortClass__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10020:2: rule__PortClass__Group__3__Impl rule__PortClass__Group__4
             {
-            pushFollow(FOLLOW_rule__PortClass__Group__3__Impl_in_rule__PortClass__Group__321077);
+            pushFollow(FOLLOW_rule__PortClass__Group__3__Impl_in_rule__PortClass__Group__320769);
             rule__PortClass__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortClass__Group__4_in_rule__PortClass__Group__321080);
+            pushFollow(FOLLOW_rule__PortClass__Group__4_in_rule__PortClass__Group__320772);
             rule__PortClass__Group__4();
 
             state._fsp--;
@@ -28993,35 +28757,35 @@
 
 
     // $ANTLR start "rule__PortClass__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10183:1: rule__PortClass__Group__3__Impl : ( ( rule__PortClass__Alternatives_3 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10027:1: rule__PortClass__Group__3__Impl : ( ( rule__PortClass__Alternatives_3 )* ) ;
     public final void rule__PortClass__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10187:1: ( ( ( rule__PortClass__Alternatives_3 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10188:1: ( ( rule__PortClass__Alternatives_3 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10031:1: ( ( ( rule__PortClass__Alternatives_3 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10032:1: ( ( rule__PortClass__Alternatives_3 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10188:1: ( ( rule__PortClass__Alternatives_3 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10189:1: ( rule__PortClass__Alternatives_3 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10032:1: ( ( rule__PortClass__Alternatives_3 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10033:1: ( rule__PortClass__Alternatives_3 )*
             {
              before(grammarAccess.getPortClassAccess().getAlternatives_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10190:1: ( rule__PortClass__Alternatives_3 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10034:1: ( rule__PortClass__Alternatives_3 )*
             loop108:
             do {
                 int alt108=2;
                 int LA108_0 = input.LA(1);
 
-                if ( (LA108_0==57||LA108_0==60||LA108_0==70) ) {
+                if ( (LA108_0==58||LA108_0==61||LA108_0==71) ) {
                     alt108=1;
                 }
 
 
                 switch (alt108) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10190:2: rule__PortClass__Alternatives_3
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10034:2: rule__PortClass__Alternatives_3
             	    {
-            	    pushFollow(FOLLOW_rule__PortClass__Alternatives_3_in_rule__PortClass__Group__3__Impl21107);
+            	    pushFollow(FOLLOW_rule__PortClass__Alternatives_3_in_rule__PortClass__Group__3__Impl20799);
             	    rule__PortClass__Alternatives_3();
 
             	    state._fsp--;
@@ -29058,16 +28822,16 @@
 
 
     // $ANTLR start "rule__PortClass__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10200:1: rule__PortClass__Group__4 : rule__PortClass__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10044:1: rule__PortClass__Group__4 : rule__PortClass__Group__4__Impl ;
     public final void rule__PortClass__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10204:1: ( rule__PortClass__Group__4__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10205:2: rule__PortClass__Group__4__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10048:1: ( rule__PortClass__Group__4__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10049:2: rule__PortClass__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__PortClass__Group__4__Impl_in_rule__PortClass__Group__421138);
+            pushFollow(FOLLOW_rule__PortClass__Group__4__Impl_in_rule__PortClass__Group__420830);
             rule__PortClass__Group__4__Impl();
 
             state._fsp--;
@@ -29091,20 +28855,20 @@
 
 
     // $ANTLR start "rule__PortClass__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10211:1: rule__PortClass__Group__4__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10055:1: rule__PortClass__Group__4__Impl : ( '}' ) ;
     public final void rule__PortClass__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10215:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10216:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10059:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10060:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10216:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10217:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10060:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10061:1: '}'
             {
              before(grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,41,FOLLOW_41_in_rule__PortClass__Group__4__Impl21166); 
+            match(input,42,FOLLOW_42_in_rule__PortClass__Group__4__Impl20858); 
              after(grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_4()); 
 
             }
@@ -29128,21 +28892,21 @@
 
 
     // $ANTLR start "rule__PortClass__Group_2__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10240:1: rule__PortClass__Group_2__0 : rule__PortClass__Group_2__0__Impl rule__PortClass__Group_2__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10084:1: rule__PortClass__Group_2__0 : rule__PortClass__Group_2__0__Impl rule__PortClass__Group_2__1 ;
     public final void rule__PortClass__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10244:1: ( rule__PortClass__Group_2__0__Impl rule__PortClass__Group_2__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10245:2: rule__PortClass__Group_2__0__Impl rule__PortClass__Group_2__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10088:1: ( rule__PortClass__Group_2__0__Impl rule__PortClass__Group_2__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10089:2: rule__PortClass__Group_2__0__Impl rule__PortClass__Group_2__1
             {
-            pushFollow(FOLLOW_rule__PortClass__Group_2__0__Impl_in_rule__PortClass__Group_2__021207);
+            pushFollow(FOLLOW_rule__PortClass__Group_2__0__Impl_in_rule__PortClass__Group_2__020899);
             rule__PortClass__Group_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__PortClass__Group_2__1_in_rule__PortClass__Group_2__021210);
+            pushFollow(FOLLOW_rule__PortClass__Group_2__1_in_rule__PortClass__Group_2__020902);
             rule__PortClass__Group_2__1();
 
             state._fsp--;
@@ -29166,20 +28930,20 @@
 
 
     // $ANTLR start "rule__PortClass__Group_2__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10252:1: rule__PortClass__Group_2__0__Impl : ( 'usercode' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10096:1: rule__PortClass__Group_2__0__Impl : ( 'usercode' ) ;
     public final void rule__PortClass__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10256:1: ( ( 'usercode' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10257:1: ( 'usercode' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10100:1: ( ( 'usercode' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10101:1: ( 'usercode' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10257:1: ( 'usercode' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10258:1: 'usercode'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10101:1: ( 'usercode' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10102:1: 'usercode'
             {
              before(grammarAccess.getPortClassAccess().getUsercodeKeyword_2_0()); 
-            match(input,69,FOLLOW_69_in_rule__PortClass__Group_2__0__Impl21238); 
+            match(input,70,FOLLOW_70_in_rule__PortClass__Group_2__0__Impl20930); 
              after(grammarAccess.getPortClassAccess().getUsercodeKeyword_2_0()); 
 
             }
@@ -29203,16 +28967,16 @@
 
 
     // $ANTLR start "rule__PortClass__Group_2__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10271:1: rule__PortClass__Group_2__1 : rule__PortClass__Group_2__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10115:1: rule__PortClass__Group_2__1 : rule__PortClass__Group_2__1__Impl ;
     public final void rule__PortClass__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10275:1: ( rule__PortClass__Group_2__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10276:2: rule__PortClass__Group_2__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10119:1: ( rule__PortClass__Group_2__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10120:2: rule__PortClass__Group_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__PortClass__Group_2__1__Impl_in_rule__PortClass__Group_2__121269);
+            pushFollow(FOLLOW_rule__PortClass__Group_2__1__Impl_in_rule__PortClass__Group_2__120961);
             rule__PortClass__Group_2__1__Impl();
 
             state._fsp--;
@@ -29236,23 +29000,23 @@
 
 
     // $ANTLR start "rule__PortClass__Group_2__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10282:1: rule__PortClass__Group_2__1__Impl : ( ( rule__PortClass__UserCodeAssignment_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10126:1: rule__PortClass__Group_2__1__Impl : ( ( rule__PortClass__UserCodeAssignment_2_1 ) ) ;
     public final void rule__PortClass__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10286:1: ( ( ( rule__PortClass__UserCodeAssignment_2_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10287:1: ( ( rule__PortClass__UserCodeAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10130:1: ( ( ( rule__PortClass__UserCodeAssignment_2_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10131:1: ( ( rule__PortClass__UserCodeAssignment_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10287:1: ( ( rule__PortClass__UserCodeAssignment_2_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10288:1: ( rule__PortClass__UserCodeAssignment_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10131:1: ( ( rule__PortClass__UserCodeAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10132:1: ( rule__PortClass__UserCodeAssignment_2_1 )
             {
              before(grammarAccess.getPortClassAccess().getUserCodeAssignment_2_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10289:1: ( rule__PortClass__UserCodeAssignment_2_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10289:2: rule__PortClass__UserCodeAssignment_2_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10133:1: ( rule__PortClass__UserCodeAssignment_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10133:2: rule__PortClass__UserCodeAssignment_2_1
             {
-            pushFollow(FOLLOW_rule__PortClass__UserCodeAssignment_2_1_in_rule__PortClass__Group_2__1__Impl21296);
+            pushFollow(FOLLOW_rule__PortClass__UserCodeAssignment_2_1_in_rule__PortClass__Group_2__1__Impl20988);
             rule__PortClass__UserCodeAssignment_2_1();
 
             state._fsp--;
@@ -29283,21 +29047,21 @@
 
 
     // $ANTLR start "rule__InMessageHandler__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10303:1: rule__InMessageHandler__Group__0 : rule__InMessageHandler__Group__0__Impl rule__InMessageHandler__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10147:1: rule__InMessageHandler__Group__0 : rule__InMessageHandler__Group__0__Impl rule__InMessageHandler__Group__1 ;
     public final void rule__InMessageHandler__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10307:1: ( rule__InMessageHandler__Group__0__Impl rule__InMessageHandler__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10308:2: rule__InMessageHandler__Group__0__Impl rule__InMessageHandler__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10151:1: ( rule__InMessageHandler__Group__0__Impl rule__InMessageHandler__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10152:2: rule__InMessageHandler__Group__0__Impl rule__InMessageHandler__Group__1
             {
-            pushFollow(FOLLOW_rule__InMessageHandler__Group__0__Impl_in_rule__InMessageHandler__Group__021330);
+            pushFollow(FOLLOW_rule__InMessageHandler__Group__0__Impl_in_rule__InMessageHandler__Group__021022);
             rule__InMessageHandler__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InMessageHandler__Group__1_in_rule__InMessageHandler__Group__021333);
+            pushFollow(FOLLOW_rule__InMessageHandler__Group__1_in_rule__InMessageHandler__Group__021025);
             rule__InMessageHandler__Group__1();
 
             state._fsp--;
@@ -29321,20 +29085,20 @@
 
 
     // $ANTLR start "rule__InMessageHandler__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10315:1: rule__InMessageHandler__Group__0__Impl : ( 'handle' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10159:1: rule__InMessageHandler__Group__0__Impl : ( 'handle' ) ;
     public final void rule__InMessageHandler__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10319:1: ( ( 'handle' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10320:1: ( 'handle' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10163:1: ( ( 'handle' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10164:1: ( 'handle' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10320:1: ( 'handle' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10321:1: 'handle'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10164:1: ( 'handle' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10165:1: 'handle'
             {
              before(grammarAccess.getInMessageHandlerAccess().getHandleKeyword_0()); 
-            match(input,70,FOLLOW_70_in_rule__InMessageHandler__Group__0__Impl21361); 
+            match(input,71,FOLLOW_71_in_rule__InMessageHandler__Group__0__Impl21053); 
              after(grammarAccess.getInMessageHandlerAccess().getHandleKeyword_0()); 
 
             }
@@ -29358,21 +29122,21 @@
 
 
     // $ANTLR start "rule__InMessageHandler__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10334:1: rule__InMessageHandler__Group__1 : rule__InMessageHandler__Group__1__Impl rule__InMessageHandler__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10178:1: rule__InMessageHandler__Group__1 : rule__InMessageHandler__Group__1__Impl rule__InMessageHandler__Group__2 ;
     public final void rule__InMessageHandler__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10338:1: ( rule__InMessageHandler__Group__1__Impl rule__InMessageHandler__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10339:2: rule__InMessageHandler__Group__1__Impl rule__InMessageHandler__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10182:1: ( rule__InMessageHandler__Group__1__Impl rule__InMessageHandler__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10183:2: rule__InMessageHandler__Group__1__Impl rule__InMessageHandler__Group__2
             {
-            pushFollow(FOLLOW_rule__InMessageHandler__Group__1__Impl_in_rule__InMessageHandler__Group__121392);
+            pushFollow(FOLLOW_rule__InMessageHandler__Group__1__Impl_in_rule__InMessageHandler__Group__121084);
             rule__InMessageHandler__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InMessageHandler__Group__2_in_rule__InMessageHandler__Group__121395);
+            pushFollow(FOLLOW_rule__InMessageHandler__Group__2_in_rule__InMessageHandler__Group__121087);
             rule__InMessageHandler__Group__2();
 
             state._fsp--;
@@ -29396,20 +29160,20 @@
 
 
     // $ANTLR start "rule__InMessageHandler__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10346:1: rule__InMessageHandler__Group__1__Impl : ( 'incoming' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10190:1: rule__InMessageHandler__Group__1__Impl : ( 'incoming' ) ;
     public final void rule__InMessageHandler__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10350:1: ( ( 'incoming' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10351:1: ( 'incoming' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10194:1: ( ( 'incoming' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10195:1: ( 'incoming' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10351:1: ( 'incoming' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10352:1: 'incoming'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10195:1: ( 'incoming' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10196:1: 'incoming'
             {
              before(grammarAccess.getInMessageHandlerAccess().getIncomingKeyword_1()); 
-            match(input,62,FOLLOW_62_in_rule__InMessageHandler__Group__1__Impl21423); 
+            match(input,63,FOLLOW_63_in_rule__InMessageHandler__Group__1__Impl21115); 
              after(grammarAccess.getInMessageHandlerAccess().getIncomingKeyword_1()); 
 
             }
@@ -29433,21 +29197,21 @@
 
 
     // $ANTLR start "rule__InMessageHandler__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10365:1: rule__InMessageHandler__Group__2 : rule__InMessageHandler__Group__2__Impl rule__InMessageHandler__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10209:1: rule__InMessageHandler__Group__2 : rule__InMessageHandler__Group__2__Impl rule__InMessageHandler__Group__3 ;
     public final void rule__InMessageHandler__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10369:1: ( rule__InMessageHandler__Group__2__Impl rule__InMessageHandler__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10370:2: rule__InMessageHandler__Group__2__Impl rule__InMessageHandler__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10213:1: ( rule__InMessageHandler__Group__2__Impl rule__InMessageHandler__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10214:2: rule__InMessageHandler__Group__2__Impl rule__InMessageHandler__Group__3
             {
-            pushFollow(FOLLOW_rule__InMessageHandler__Group__2__Impl_in_rule__InMessageHandler__Group__221454);
+            pushFollow(FOLLOW_rule__InMessageHandler__Group__2__Impl_in_rule__InMessageHandler__Group__221146);
             rule__InMessageHandler__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InMessageHandler__Group__3_in_rule__InMessageHandler__Group__221457);
+            pushFollow(FOLLOW_rule__InMessageHandler__Group__3_in_rule__InMessageHandler__Group__221149);
             rule__InMessageHandler__Group__3();
 
             state._fsp--;
@@ -29471,23 +29235,23 @@
 
 
     // $ANTLR start "rule__InMessageHandler__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10377:1: rule__InMessageHandler__Group__2__Impl : ( ( rule__InMessageHandler__MsgAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10221:1: rule__InMessageHandler__Group__2__Impl : ( ( rule__InMessageHandler__MsgAssignment_2 ) ) ;
     public final void rule__InMessageHandler__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10381:1: ( ( ( rule__InMessageHandler__MsgAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10382:1: ( ( rule__InMessageHandler__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10225:1: ( ( ( rule__InMessageHandler__MsgAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10226:1: ( ( rule__InMessageHandler__MsgAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10382:1: ( ( rule__InMessageHandler__MsgAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10383:1: ( rule__InMessageHandler__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10226:1: ( ( rule__InMessageHandler__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10227:1: ( rule__InMessageHandler__MsgAssignment_2 )
             {
              before(grammarAccess.getInMessageHandlerAccess().getMsgAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10384:1: ( rule__InMessageHandler__MsgAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10384:2: rule__InMessageHandler__MsgAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10228:1: ( rule__InMessageHandler__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10228:2: rule__InMessageHandler__MsgAssignment_2
             {
-            pushFollow(FOLLOW_rule__InMessageHandler__MsgAssignment_2_in_rule__InMessageHandler__Group__2__Impl21484);
+            pushFollow(FOLLOW_rule__InMessageHandler__MsgAssignment_2_in_rule__InMessageHandler__Group__2__Impl21176);
             rule__InMessageHandler__MsgAssignment_2();
 
             state._fsp--;
@@ -29518,16 +29282,16 @@
 
 
     // $ANTLR start "rule__InMessageHandler__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10394:1: rule__InMessageHandler__Group__3 : rule__InMessageHandler__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10238:1: rule__InMessageHandler__Group__3 : rule__InMessageHandler__Group__3__Impl ;
     public final void rule__InMessageHandler__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10398:1: ( rule__InMessageHandler__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10399:2: rule__InMessageHandler__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10242:1: ( rule__InMessageHandler__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10243:2: rule__InMessageHandler__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__InMessageHandler__Group__3__Impl_in_rule__InMessageHandler__Group__321514);
+            pushFollow(FOLLOW_rule__InMessageHandler__Group__3__Impl_in_rule__InMessageHandler__Group__321206);
             rule__InMessageHandler__Group__3__Impl();
 
             state._fsp--;
@@ -29551,23 +29315,23 @@
 
 
     // $ANTLR start "rule__InMessageHandler__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10405:1: rule__InMessageHandler__Group__3__Impl : ( ( rule__InMessageHandler__DetailCodeAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10249:1: rule__InMessageHandler__Group__3__Impl : ( ( rule__InMessageHandler__DetailCodeAssignment_3 ) ) ;
     public final void rule__InMessageHandler__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10409:1: ( ( ( rule__InMessageHandler__DetailCodeAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10410:1: ( ( rule__InMessageHandler__DetailCodeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10253:1: ( ( ( rule__InMessageHandler__DetailCodeAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10254:1: ( ( rule__InMessageHandler__DetailCodeAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10410:1: ( ( rule__InMessageHandler__DetailCodeAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10411:1: ( rule__InMessageHandler__DetailCodeAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10254:1: ( ( rule__InMessageHandler__DetailCodeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10255:1: ( rule__InMessageHandler__DetailCodeAssignment_3 )
             {
              before(grammarAccess.getInMessageHandlerAccess().getDetailCodeAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10412:1: ( rule__InMessageHandler__DetailCodeAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10412:2: rule__InMessageHandler__DetailCodeAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10256:1: ( rule__InMessageHandler__DetailCodeAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10256:2: rule__InMessageHandler__DetailCodeAssignment_3
             {
-            pushFollow(FOLLOW_rule__InMessageHandler__DetailCodeAssignment_3_in_rule__InMessageHandler__Group__3__Impl21541);
+            pushFollow(FOLLOW_rule__InMessageHandler__DetailCodeAssignment_3_in_rule__InMessageHandler__Group__3__Impl21233);
             rule__InMessageHandler__DetailCodeAssignment_3();
 
             state._fsp--;
@@ -29598,21 +29362,21 @@
 
 
     // $ANTLR start "rule__OutMessageHandler__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10430:1: rule__OutMessageHandler__Group__0 : rule__OutMessageHandler__Group__0__Impl rule__OutMessageHandler__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10274:1: rule__OutMessageHandler__Group__0 : rule__OutMessageHandler__Group__0__Impl rule__OutMessageHandler__Group__1 ;
     public final void rule__OutMessageHandler__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10434:1: ( rule__OutMessageHandler__Group__0__Impl rule__OutMessageHandler__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10435:2: rule__OutMessageHandler__Group__0__Impl rule__OutMessageHandler__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10278:1: ( rule__OutMessageHandler__Group__0__Impl rule__OutMessageHandler__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10279:2: rule__OutMessageHandler__Group__0__Impl rule__OutMessageHandler__Group__1
             {
-            pushFollow(FOLLOW_rule__OutMessageHandler__Group__0__Impl_in_rule__OutMessageHandler__Group__021579);
+            pushFollow(FOLLOW_rule__OutMessageHandler__Group__0__Impl_in_rule__OutMessageHandler__Group__021271);
             rule__OutMessageHandler__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutMessageHandler__Group__1_in_rule__OutMessageHandler__Group__021582);
+            pushFollow(FOLLOW_rule__OutMessageHandler__Group__1_in_rule__OutMessageHandler__Group__021274);
             rule__OutMessageHandler__Group__1();
 
             state._fsp--;
@@ -29636,20 +29400,20 @@
 
 
     // $ANTLR start "rule__OutMessageHandler__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10442:1: rule__OutMessageHandler__Group__0__Impl : ( 'handle' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10286:1: rule__OutMessageHandler__Group__0__Impl : ( 'handle' ) ;
     public final void rule__OutMessageHandler__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10446:1: ( ( 'handle' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10447:1: ( 'handle' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10290:1: ( ( 'handle' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10291:1: ( 'handle' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10447:1: ( 'handle' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10448:1: 'handle'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10291:1: ( 'handle' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10292:1: 'handle'
             {
              before(grammarAccess.getOutMessageHandlerAccess().getHandleKeyword_0()); 
-            match(input,70,FOLLOW_70_in_rule__OutMessageHandler__Group__0__Impl21610); 
+            match(input,71,FOLLOW_71_in_rule__OutMessageHandler__Group__0__Impl21302); 
              after(grammarAccess.getOutMessageHandlerAccess().getHandleKeyword_0()); 
 
             }
@@ -29673,21 +29437,21 @@
 
 
     // $ANTLR start "rule__OutMessageHandler__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10461:1: rule__OutMessageHandler__Group__1 : rule__OutMessageHandler__Group__1__Impl rule__OutMessageHandler__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10305:1: rule__OutMessageHandler__Group__1 : rule__OutMessageHandler__Group__1__Impl rule__OutMessageHandler__Group__2 ;
     public final void rule__OutMessageHandler__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10465:1: ( rule__OutMessageHandler__Group__1__Impl rule__OutMessageHandler__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10466:2: rule__OutMessageHandler__Group__1__Impl rule__OutMessageHandler__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10309:1: ( rule__OutMessageHandler__Group__1__Impl rule__OutMessageHandler__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10310:2: rule__OutMessageHandler__Group__1__Impl rule__OutMessageHandler__Group__2
             {
-            pushFollow(FOLLOW_rule__OutMessageHandler__Group__1__Impl_in_rule__OutMessageHandler__Group__121641);
+            pushFollow(FOLLOW_rule__OutMessageHandler__Group__1__Impl_in_rule__OutMessageHandler__Group__121333);
             rule__OutMessageHandler__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutMessageHandler__Group__2_in_rule__OutMessageHandler__Group__121644);
+            pushFollow(FOLLOW_rule__OutMessageHandler__Group__2_in_rule__OutMessageHandler__Group__121336);
             rule__OutMessageHandler__Group__2();
 
             state._fsp--;
@@ -29711,20 +29475,20 @@
 
 
     // $ANTLR start "rule__OutMessageHandler__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10473:1: rule__OutMessageHandler__Group__1__Impl : ( 'outgoing' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10317:1: rule__OutMessageHandler__Group__1__Impl : ( 'outgoing' ) ;
     public final void rule__OutMessageHandler__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10477:1: ( ( 'outgoing' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10478:1: ( 'outgoing' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10321:1: ( ( 'outgoing' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10322:1: ( 'outgoing' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10478:1: ( 'outgoing' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10479:1: 'outgoing'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10322:1: ( 'outgoing' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10323:1: 'outgoing'
             {
              before(grammarAccess.getOutMessageHandlerAccess().getOutgoingKeyword_1()); 
-            match(input,63,FOLLOW_63_in_rule__OutMessageHandler__Group__1__Impl21672); 
+            match(input,64,FOLLOW_64_in_rule__OutMessageHandler__Group__1__Impl21364); 
              after(grammarAccess.getOutMessageHandlerAccess().getOutgoingKeyword_1()); 
 
             }
@@ -29748,21 +29512,21 @@
 
 
     // $ANTLR start "rule__OutMessageHandler__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10492:1: rule__OutMessageHandler__Group__2 : rule__OutMessageHandler__Group__2__Impl rule__OutMessageHandler__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10336:1: rule__OutMessageHandler__Group__2 : rule__OutMessageHandler__Group__2__Impl rule__OutMessageHandler__Group__3 ;
     public final void rule__OutMessageHandler__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10496:1: ( rule__OutMessageHandler__Group__2__Impl rule__OutMessageHandler__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10497:2: rule__OutMessageHandler__Group__2__Impl rule__OutMessageHandler__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10340:1: ( rule__OutMessageHandler__Group__2__Impl rule__OutMessageHandler__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10341:2: rule__OutMessageHandler__Group__2__Impl rule__OutMessageHandler__Group__3
             {
-            pushFollow(FOLLOW_rule__OutMessageHandler__Group__2__Impl_in_rule__OutMessageHandler__Group__221703);
+            pushFollow(FOLLOW_rule__OutMessageHandler__Group__2__Impl_in_rule__OutMessageHandler__Group__221395);
             rule__OutMessageHandler__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutMessageHandler__Group__3_in_rule__OutMessageHandler__Group__221706);
+            pushFollow(FOLLOW_rule__OutMessageHandler__Group__3_in_rule__OutMessageHandler__Group__221398);
             rule__OutMessageHandler__Group__3();
 
             state._fsp--;
@@ -29786,23 +29550,23 @@
 
 
     // $ANTLR start "rule__OutMessageHandler__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10504:1: rule__OutMessageHandler__Group__2__Impl : ( ( rule__OutMessageHandler__MsgAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10348:1: rule__OutMessageHandler__Group__2__Impl : ( ( rule__OutMessageHandler__MsgAssignment_2 ) ) ;
     public final void rule__OutMessageHandler__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10508:1: ( ( ( rule__OutMessageHandler__MsgAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10509:1: ( ( rule__OutMessageHandler__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10352:1: ( ( ( rule__OutMessageHandler__MsgAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10353:1: ( ( rule__OutMessageHandler__MsgAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10509:1: ( ( rule__OutMessageHandler__MsgAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10510:1: ( rule__OutMessageHandler__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10353:1: ( ( rule__OutMessageHandler__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10354:1: ( rule__OutMessageHandler__MsgAssignment_2 )
             {
              before(grammarAccess.getOutMessageHandlerAccess().getMsgAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10511:1: ( rule__OutMessageHandler__MsgAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10511:2: rule__OutMessageHandler__MsgAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10355:1: ( rule__OutMessageHandler__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10355:2: rule__OutMessageHandler__MsgAssignment_2
             {
-            pushFollow(FOLLOW_rule__OutMessageHandler__MsgAssignment_2_in_rule__OutMessageHandler__Group__2__Impl21733);
+            pushFollow(FOLLOW_rule__OutMessageHandler__MsgAssignment_2_in_rule__OutMessageHandler__Group__2__Impl21425);
             rule__OutMessageHandler__MsgAssignment_2();
 
             state._fsp--;
@@ -29833,16 +29597,16 @@
 
 
     // $ANTLR start "rule__OutMessageHandler__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10521:1: rule__OutMessageHandler__Group__3 : rule__OutMessageHandler__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10365:1: rule__OutMessageHandler__Group__3 : rule__OutMessageHandler__Group__3__Impl ;
     public final void rule__OutMessageHandler__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10525:1: ( rule__OutMessageHandler__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10526:2: rule__OutMessageHandler__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10369:1: ( rule__OutMessageHandler__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10370:2: rule__OutMessageHandler__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__OutMessageHandler__Group__3__Impl_in_rule__OutMessageHandler__Group__321763);
+            pushFollow(FOLLOW_rule__OutMessageHandler__Group__3__Impl_in_rule__OutMessageHandler__Group__321455);
             rule__OutMessageHandler__Group__3__Impl();
 
             state._fsp--;
@@ -29866,23 +29630,23 @@
 
 
     // $ANTLR start "rule__OutMessageHandler__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10532:1: rule__OutMessageHandler__Group__3__Impl : ( ( rule__OutMessageHandler__DetailCodeAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10376:1: rule__OutMessageHandler__Group__3__Impl : ( ( rule__OutMessageHandler__DetailCodeAssignment_3 ) ) ;
     public final void rule__OutMessageHandler__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10536:1: ( ( ( rule__OutMessageHandler__DetailCodeAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10537:1: ( ( rule__OutMessageHandler__DetailCodeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10380:1: ( ( ( rule__OutMessageHandler__DetailCodeAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10381:1: ( ( rule__OutMessageHandler__DetailCodeAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10537:1: ( ( rule__OutMessageHandler__DetailCodeAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10538:1: ( rule__OutMessageHandler__DetailCodeAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10381:1: ( ( rule__OutMessageHandler__DetailCodeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10382:1: ( rule__OutMessageHandler__DetailCodeAssignment_3 )
             {
              before(grammarAccess.getOutMessageHandlerAccess().getDetailCodeAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10539:1: ( rule__OutMessageHandler__DetailCodeAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10539:2: rule__OutMessageHandler__DetailCodeAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10383:1: ( rule__OutMessageHandler__DetailCodeAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10383:2: rule__OutMessageHandler__DetailCodeAssignment_3
             {
-            pushFollow(FOLLOW_rule__OutMessageHandler__DetailCodeAssignment_3_in_rule__OutMessageHandler__Group__3__Impl21790);
+            pushFollow(FOLLOW_rule__OutMessageHandler__DetailCodeAssignment_3_in_rule__OutMessageHandler__Group__3__Impl21482);
             rule__OutMessageHandler__DetailCodeAssignment_3();
 
             state._fsp--;
@@ -29913,21 +29677,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10557:1: rule__ActorClass__Group__0 : rule__ActorClass__Group__0__Impl rule__ActorClass__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10401:1: rule__ActorClass__Group__0 : rule__ActorClass__Group__0__Impl rule__ActorClass__Group__1 ;
     public final void rule__ActorClass__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10561:1: ( rule__ActorClass__Group__0__Impl rule__ActorClass__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10562:2: rule__ActorClass__Group__0__Impl rule__ActorClass__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10405:1: ( rule__ActorClass__Group__0__Impl rule__ActorClass__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10406:2: rule__ActorClass__Group__0__Impl rule__ActorClass__Group__1
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group__0__Impl_in_rule__ActorClass__Group__021828);
+            pushFollow(FOLLOW_rule__ActorClass__Group__0__Impl_in_rule__ActorClass__Group__021520);
             rule__ActorClass__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group__1_in_rule__ActorClass__Group__021831);
+            pushFollow(FOLLOW_rule__ActorClass__Group__1_in_rule__ActorClass__Group__021523);
             rule__ActorClass__Group__1();
 
             state._fsp--;
@@ -29951,23 +29715,23 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10569:1: rule__ActorClass__Group__0__Impl : ( ( rule__ActorClass__UnorderedGroup_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10413:1: rule__ActorClass__Group__0__Impl : ( ( rule__ActorClass__UnorderedGroup_0 ) ) ;
     public final void rule__ActorClass__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10573:1: ( ( ( rule__ActorClass__UnorderedGroup_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10574:1: ( ( rule__ActorClass__UnorderedGroup_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10417:1: ( ( ( rule__ActorClass__UnorderedGroup_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10418:1: ( ( rule__ActorClass__UnorderedGroup_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10574:1: ( ( rule__ActorClass__UnorderedGroup_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10575:1: ( rule__ActorClass__UnorderedGroup_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10418:1: ( ( rule__ActorClass__UnorderedGroup_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10419:1: ( rule__ActorClass__UnorderedGroup_0 )
             {
              before(grammarAccess.getActorClassAccess().getUnorderedGroup_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10576:1: ( rule__ActorClass__UnorderedGroup_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10576:2: rule__ActorClass__UnorderedGroup_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10420:1: ( rule__ActorClass__UnorderedGroup_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10420:2: rule__ActorClass__UnorderedGroup_0
             {
-            pushFollow(FOLLOW_rule__ActorClass__UnorderedGroup_0_in_rule__ActorClass__Group__0__Impl21858);
+            pushFollow(FOLLOW_rule__ActorClass__UnorderedGroup_0_in_rule__ActorClass__Group__0__Impl21550);
             rule__ActorClass__UnorderedGroup_0();
 
             state._fsp--;
@@ -29998,21 +29762,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10586:1: rule__ActorClass__Group__1 : rule__ActorClass__Group__1__Impl rule__ActorClass__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10430:1: rule__ActorClass__Group__1 : rule__ActorClass__Group__1__Impl rule__ActorClass__Group__2 ;
     public final void rule__ActorClass__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10590:1: ( rule__ActorClass__Group__1__Impl rule__ActorClass__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10591:2: rule__ActorClass__Group__1__Impl rule__ActorClass__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10434:1: ( rule__ActorClass__Group__1__Impl rule__ActorClass__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10435:2: rule__ActorClass__Group__1__Impl rule__ActorClass__Group__2
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group__1__Impl_in_rule__ActorClass__Group__121888);
+            pushFollow(FOLLOW_rule__ActorClass__Group__1__Impl_in_rule__ActorClass__Group__121580);
             rule__ActorClass__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group__2_in_rule__ActorClass__Group__121891);
+            pushFollow(FOLLOW_rule__ActorClass__Group__2_in_rule__ActorClass__Group__121583);
             rule__ActorClass__Group__2();
 
             state._fsp--;
@@ -30036,20 +29800,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10598:1: rule__ActorClass__Group__1__Impl : ( 'ActorClass' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10442:1: rule__ActorClass__Group__1__Impl : ( 'ActorClass' ) ;
     public final void rule__ActorClass__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10602:1: ( ( 'ActorClass' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10603:1: ( 'ActorClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10446:1: ( ( 'ActorClass' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10447:1: ( 'ActorClass' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10603:1: ( 'ActorClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10604:1: 'ActorClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10447:1: ( 'ActorClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10448:1: 'ActorClass'
             {
              before(grammarAccess.getActorClassAccess().getActorClassKeyword_1()); 
-            match(input,18,FOLLOW_18_in_rule__ActorClass__Group__1__Impl21919); 
+            match(input,17,FOLLOW_17_in_rule__ActorClass__Group__1__Impl21611); 
              after(grammarAccess.getActorClassAccess().getActorClassKeyword_1()); 
 
             }
@@ -30073,21 +29837,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10617:1: rule__ActorClass__Group__2 : rule__ActorClass__Group__2__Impl rule__ActorClass__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10461:1: rule__ActorClass__Group__2 : rule__ActorClass__Group__2__Impl rule__ActorClass__Group__3 ;
     public final void rule__ActorClass__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10621:1: ( rule__ActorClass__Group__2__Impl rule__ActorClass__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10622:2: rule__ActorClass__Group__2__Impl rule__ActorClass__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10465:1: ( rule__ActorClass__Group__2__Impl rule__ActorClass__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10466:2: rule__ActorClass__Group__2__Impl rule__ActorClass__Group__3
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group__2__Impl_in_rule__ActorClass__Group__221950);
+            pushFollow(FOLLOW_rule__ActorClass__Group__2__Impl_in_rule__ActorClass__Group__221642);
             rule__ActorClass__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group__3_in_rule__ActorClass__Group__221953);
+            pushFollow(FOLLOW_rule__ActorClass__Group__3_in_rule__ActorClass__Group__221645);
             rule__ActorClass__Group__3();
 
             state._fsp--;
@@ -30111,23 +29875,23 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10629:1: rule__ActorClass__Group__2__Impl : ( ( rule__ActorClass__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10473:1: rule__ActorClass__Group__2__Impl : ( ( rule__ActorClass__NameAssignment_2 ) ) ;
     public final void rule__ActorClass__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10633:1: ( ( ( rule__ActorClass__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10634:1: ( ( rule__ActorClass__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10477:1: ( ( ( rule__ActorClass__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10478:1: ( ( rule__ActorClass__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10634:1: ( ( rule__ActorClass__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10635:1: ( rule__ActorClass__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10478:1: ( ( rule__ActorClass__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10479:1: ( rule__ActorClass__NameAssignment_2 )
             {
              before(grammarAccess.getActorClassAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10636:1: ( rule__ActorClass__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10636:2: rule__ActorClass__NameAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10480:1: ( rule__ActorClass__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10480:2: rule__ActorClass__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__ActorClass__NameAssignment_2_in_rule__ActorClass__Group__2__Impl21980);
+            pushFollow(FOLLOW_rule__ActorClass__NameAssignment_2_in_rule__ActorClass__Group__2__Impl21672);
             rule__ActorClass__NameAssignment_2();
 
             state._fsp--;
@@ -30158,21 +29922,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10646:1: rule__ActorClass__Group__3 : rule__ActorClass__Group__3__Impl rule__ActorClass__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10490:1: rule__ActorClass__Group__3 : rule__ActorClass__Group__3__Impl rule__ActorClass__Group__4 ;
     public final void rule__ActorClass__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10650:1: ( rule__ActorClass__Group__3__Impl rule__ActorClass__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10651:2: rule__ActorClass__Group__3__Impl rule__ActorClass__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10494:1: ( rule__ActorClass__Group__3__Impl rule__ActorClass__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10495:2: rule__ActorClass__Group__3__Impl rule__ActorClass__Group__4
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group__3__Impl_in_rule__ActorClass__Group__322010);
+            pushFollow(FOLLOW_rule__ActorClass__Group__3__Impl_in_rule__ActorClass__Group__321702);
             rule__ActorClass__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group__4_in_rule__ActorClass__Group__322013);
+            pushFollow(FOLLOW_rule__ActorClass__Group__4_in_rule__ActorClass__Group__321705);
             rule__ActorClass__Group__4();
 
             state._fsp--;
@@ -30196,31 +29960,31 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10658:1: rule__ActorClass__Group__3__Impl : ( ( rule__ActorClass__DocuAssignment_3 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10502:1: rule__ActorClass__Group__3__Impl : ( ( rule__ActorClass__DocuAssignment_3 )? ) ;
     public final void rule__ActorClass__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10662:1: ( ( ( rule__ActorClass__DocuAssignment_3 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10663:1: ( ( rule__ActorClass__DocuAssignment_3 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10506:1: ( ( ( rule__ActorClass__DocuAssignment_3 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10507:1: ( ( rule__ActorClass__DocuAssignment_3 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10663:1: ( ( rule__ActorClass__DocuAssignment_3 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10664:1: ( rule__ActorClass__DocuAssignment_3 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10507:1: ( ( rule__ActorClass__DocuAssignment_3 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10508:1: ( rule__ActorClass__DocuAssignment_3 )?
             {
              before(grammarAccess.getActorClassAccess().getDocuAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10665:1: ( rule__ActorClass__DocuAssignment_3 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10509:1: ( rule__ActorClass__DocuAssignment_3 )?
             int alt109=2;
             int LA109_0 = input.LA(1);
 
-            if ( (LA109_0==58) ) {
+            if ( (LA109_0==59) ) {
                 alt109=1;
             }
             switch (alt109) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10665:2: rule__ActorClass__DocuAssignment_3
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10509:2: rule__ActorClass__DocuAssignment_3
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__DocuAssignment_3_in_rule__ActorClass__Group__3__Impl22040);
+                    pushFollow(FOLLOW_rule__ActorClass__DocuAssignment_3_in_rule__ActorClass__Group__3__Impl21732);
                     rule__ActorClass__DocuAssignment_3();
 
                     state._fsp--;
@@ -30254,21 +30018,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10675:1: rule__ActorClass__Group__4 : rule__ActorClass__Group__4__Impl rule__ActorClass__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10519:1: rule__ActorClass__Group__4 : rule__ActorClass__Group__4__Impl rule__ActorClass__Group__5 ;
     public final void rule__ActorClass__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10679:1: ( rule__ActorClass__Group__4__Impl rule__ActorClass__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10680:2: rule__ActorClass__Group__4__Impl rule__ActorClass__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10523:1: ( rule__ActorClass__Group__4__Impl rule__ActorClass__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10524:2: rule__ActorClass__Group__4__Impl rule__ActorClass__Group__5
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group__4__Impl_in_rule__ActorClass__Group__422071);
+            pushFollow(FOLLOW_rule__ActorClass__Group__4__Impl_in_rule__ActorClass__Group__421763);
             rule__ActorClass__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group__5_in_rule__ActorClass__Group__422074);
+            pushFollow(FOLLOW_rule__ActorClass__Group__5_in_rule__ActorClass__Group__421766);
             rule__ActorClass__Group__5();
 
             state._fsp--;
@@ -30292,31 +30056,31 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10687:1: rule__ActorClass__Group__4__Impl : ( ( rule__ActorClass__Group_4__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10531:1: rule__ActorClass__Group__4__Impl : ( ( rule__ActorClass__Group_4__0 )? ) ;
     public final void rule__ActorClass__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10691:1: ( ( ( rule__ActorClass__Group_4__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10692:1: ( ( rule__ActorClass__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10535:1: ( ( ( rule__ActorClass__Group_4__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10536:1: ( ( rule__ActorClass__Group_4__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10692:1: ( ( rule__ActorClass__Group_4__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10693:1: ( rule__ActorClass__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10536:1: ( ( rule__ActorClass__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10537:1: ( rule__ActorClass__Group_4__0 )?
             {
              before(grammarAccess.getActorClassAccess().getGroup_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10694:1: ( rule__ActorClass__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10538:1: ( rule__ActorClass__Group_4__0 )?
             int alt110=2;
             int LA110_0 = input.LA(1);
 
-            if ( (LA110_0==53) ) {
+            if ( (LA110_0==54) ) {
                 alt110=1;
             }
             switch (alt110) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10694:2: rule__ActorClass__Group_4__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10538:2: rule__ActorClass__Group_4__0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__Group_4__0_in_rule__ActorClass__Group__4__Impl22101);
+                    pushFollow(FOLLOW_rule__ActorClass__Group_4__0_in_rule__ActorClass__Group__4__Impl21793);
                     rule__ActorClass__Group_4__0();
 
                     state._fsp--;
@@ -30350,21 +30114,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10704:1: rule__ActorClass__Group__5 : rule__ActorClass__Group__5__Impl rule__ActorClass__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10548:1: rule__ActorClass__Group__5 : rule__ActorClass__Group__5__Impl rule__ActorClass__Group__6 ;
     public final void rule__ActorClass__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10708:1: ( rule__ActorClass__Group__5__Impl rule__ActorClass__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10709:2: rule__ActorClass__Group__5__Impl rule__ActorClass__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10552:1: ( rule__ActorClass__Group__5__Impl rule__ActorClass__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10553:2: rule__ActorClass__Group__5__Impl rule__ActorClass__Group__6
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group__5__Impl_in_rule__ActorClass__Group__522132);
+            pushFollow(FOLLOW_rule__ActorClass__Group__5__Impl_in_rule__ActorClass__Group__521824);
             rule__ActorClass__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group__6_in_rule__ActorClass__Group__522135);
+            pushFollow(FOLLOW_rule__ActorClass__Group__6_in_rule__ActorClass__Group__521827);
             rule__ActorClass__Group__6();
 
             state._fsp--;
@@ -30388,20 +30152,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10716:1: rule__ActorClass__Group__5__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10560:1: rule__ActorClass__Group__5__Impl : ( '{' ) ;
     public final void rule__ActorClass__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10720:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10721:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10564:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10565:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10721:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10722:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10565:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10566:1: '{'
             {
              before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5()); 
-            match(input,40,FOLLOW_40_in_rule__ActorClass__Group__5__Impl22163); 
+            match(input,41,FOLLOW_41_in_rule__ActorClass__Group__5__Impl21855); 
              after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5()); 
 
             }
@@ -30425,21 +30189,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10735:1: rule__ActorClass__Group__6 : rule__ActorClass__Group__6__Impl rule__ActorClass__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10579:1: rule__ActorClass__Group__6 : rule__ActorClass__Group__6__Impl rule__ActorClass__Group__7 ;
     public final void rule__ActorClass__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10739:1: ( rule__ActorClass__Group__6__Impl rule__ActorClass__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10740:2: rule__ActorClass__Group__6__Impl rule__ActorClass__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10583:1: ( rule__ActorClass__Group__6__Impl rule__ActorClass__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10584:2: rule__ActorClass__Group__6__Impl rule__ActorClass__Group__7
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group__6__Impl_in_rule__ActorClass__Group__622194);
+            pushFollow(FOLLOW_rule__ActorClass__Group__6__Impl_in_rule__ActorClass__Group__621886);
             rule__ActorClass__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group__7_in_rule__ActorClass__Group__622197);
+            pushFollow(FOLLOW_rule__ActorClass__Group__7_in_rule__ActorClass__Group__621889);
             rule__ActorClass__Group__7();
 
             state._fsp--;
@@ -30463,35 +30227,35 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10747:1: rule__ActorClass__Group__6__Impl : ( ( rule__ActorClass__AnnotationsAssignment_6 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10591:1: rule__ActorClass__Group__6__Impl : ( ( rule__ActorClass__AnnotationsAssignment_6 )* ) ;
     public final void rule__ActorClass__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10751:1: ( ( ( rule__ActorClass__AnnotationsAssignment_6 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10752:1: ( ( rule__ActorClass__AnnotationsAssignment_6 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10595:1: ( ( ( rule__ActorClass__AnnotationsAssignment_6 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10596:1: ( ( rule__ActorClass__AnnotationsAssignment_6 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10752:1: ( ( rule__ActorClass__AnnotationsAssignment_6 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10753:1: ( rule__ActorClass__AnnotationsAssignment_6 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10596:1: ( ( rule__ActorClass__AnnotationsAssignment_6 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10597:1: ( rule__ActorClass__AnnotationsAssignment_6 )*
             {
              before(grammarAccess.getActorClassAccess().getAnnotationsAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10754:1: ( rule__ActorClass__AnnotationsAssignment_6 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10598:1: ( rule__ActorClass__AnnotationsAssignment_6 )*
             loop111:
             do {
                 int alt111=2;
                 int LA111_0 = input.LA(1);
 
-                if ( (LA111_0==119) ) {
+                if ( (LA111_0==120) ) {
                     alt111=1;
                 }
 
 
                 switch (alt111) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10754:2: rule__ActorClass__AnnotationsAssignment_6
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10598:2: rule__ActorClass__AnnotationsAssignment_6
             	    {
-            	    pushFollow(FOLLOW_rule__ActorClass__AnnotationsAssignment_6_in_rule__ActorClass__Group__6__Impl22224);
+            	    pushFollow(FOLLOW_rule__ActorClass__AnnotationsAssignment_6_in_rule__ActorClass__Group__6__Impl21916);
             	    rule__ActorClass__AnnotationsAssignment_6();
 
             	    state._fsp--;
@@ -30528,21 +30292,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10764:1: rule__ActorClass__Group__7 : rule__ActorClass__Group__7__Impl rule__ActorClass__Group__8 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10608:1: rule__ActorClass__Group__7 : rule__ActorClass__Group__7__Impl rule__ActorClass__Group__8 ;
     public final void rule__ActorClass__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10768:1: ( rule__ActorClass__Group__7__Impl rule__ActorClass__Group__8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10769:2: rule__ActorClass__Group__7__Impl rule__ActorClass__Group__8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10612:1: ( rule__ActorClass__Group__7__Impl rule__ActorClass__Group__8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10613:2: rule__ActorClass__Group__7__Impl rule__ActorClass__Group__8
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group__7__Impl_in_rule__ActorClass__Group__722255);
+            pushFollow(FOLLOW_rule__ActorClass__Group__7__Impl_in_rule__ActorClass__Group__721947);
             rule__ActorClass__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group__8_in_rule__ActorClass__Group__722258);
+            pushFollow(FOLLOW_rule__ActorClass__Group__8_in_rule__ActorClass__Group__721950);
             rule__ActorClass__Group__8();
 
             state._fsp--;
@@ -30566,31 +30330,31 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10776:1: rule__ActorClass__Group__7__Impl : ( ( rule__ActorClass__Group_7__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10620:1: rule__ActorClass__Group__7__Impl : ( ( rule__ActorClass__Group_7__0 )? ) ;
     public final void rule__ActorClass__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10780:1: ( ( ( rule__ActorClass__Group_7__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10781:1: ( ( rule__ActorClass__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10624:1: ( ( ( rule__ActorClass__Group_7__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10625:1: ( ( rule__ActorClass__Group_7__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10781:1: ( ( rule__ActorClass__Group_7__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10782:1: ( rule__ActorClass__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10625:1: ( ( rule__ActorClass__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10626:1: ( rule__ActorClass__Group_7__0 )?
             {
              before(grammarAccess.getActorClassAccess().getGroup_7()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10783:1: ( rule__ActorClass__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10627:1: ( rule__ActorClass__Group_7__0 )?
             int alt112=2;
             int LA112_0 = input.LA(1);
 
-            if ( (LA112_0==71) ) {
+            if ( (LA112_0==72) ) {
                 alt112=1;
             }
             switch (alt112) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10783:2: rule__ActorClass__Group_7__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10627:2: rule__ActorClass__Group_7__0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__Group_7__0_in_rule__ActorClass__Group__7__Impl22285);
+                    pushFollow(FOLLOW_rule__ActorClass__Group_7__0_in_rule__ActorClass__Group__7__Impl21977);
                     rule__ActorClass__Group_7__0();
 
                     state._fsp--;
@@ -30624,21 +30388,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10793:1: rule__ActorClass__Group__8 : rule__ActorClass__Group__8__Impl rule__ActorClass__Group__9 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10637:1: rule__ActorClass__Group__8 : rule__ActorClass__Group__8__Impl rule__ActorClass__Group__9 ;
     public final void rule__ActorClass__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10797:1: ( rule__ActorClass__Group__8__Impl rule__ActorClass__Group__9 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10798:2: rule__ActorClass__Group__8__Impl rule__ActorClass__Group__9
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10641:1: ( rule__ActorClass__Group__8__Impl rule__ActorClass__Group__9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10642:2: rule__ActorClass__Group__8__Impl rule__ActorClass__Group__9
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group__8__Impl_in_rule__ActorClass__Group__822316);
+            pushFollow(FOLLOW_rule__ActorClass__Group__8__Impl_in_rule__ActorClass__Group__822008);
             rule__ActorClass__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group__9_in_rule__ActorClass__Group__822319);
+            pushFollow(FOLLOW_rule__ActorClass__Group__9_in_rule__ActorClass__Group__822011);
             rule__ActorClass__Group__9();
 
             state._fsp--;
@@ -30662,31 +30426,31 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__8__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10805:1: rule__ActorClass__Group__8__Impl : ( ( rule__ActorClass__Group_8__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10649:1: rule__ActorClass__Group__8__Impl : ( ( rule__ActorClass__Group_8__0 )? ) ;
     public final void rule__ActorClass__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10809:1: ( ( ( rule__ActorClass__Group_8__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10810:1: ( ( rule__ActorClass__Group_8__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10653:1: ( ( ( rule__ActorClass__Group_8__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10654:1: ( ( rule__ActorClass__Group_8__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10810:1: ( ( rule__ActorClass__Group_8__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10811:1: ( rule__ActorClass__Group_8__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10654:1: ( ( rule__ActorClass__Group_8__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10655:1: ( rule__ActorClass__Group_8__0 )?
             {
              before(grammarAccess.getActorClassAccess().getGroup_8()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10812:1: ( rule__ActorClass__Group_8__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10656:1: ( rule__ActorClass__Group_8__0 )?
             int alt113=2;
             int LA113_0 = input.LA(1);
 
-            if ( (LA113_0==72) ) {
+            if ( (LA113_0==73) ) {
                 alt113=1;
             }
             switch (alt113) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10812:2: rule__ActorClass__Group_8__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10656:2: rule__ActorClass__Group_8__0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__Group_8__0_in_rule__ActorClass__Group__8__Impl22346);
+                    pushFollow(FOLLOW_rule__ActorClass__Group_8__0_in_rule__ActorClass__Group__8__Impl22038);
                     rule__ActorClass__Group_8__0();
 
                     state._fsp--;
@@ -30720,21 +30484,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10822:1: rule__ActorClass__Group__9 : rule__ActorClass__Group__9__Impl rule__ActorClass__Group__10 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10666:1: rule__ActorClass__Group__9 : rule__ActorClass__Group__9__Impl rule__ActorClass__Group__10 ;
     public final void rule__ActorClass__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10826:1: ( rule__ActorClass__Group__9__Impl rule__ActorClass__Group__10 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10827:2: rule__ActorClass__Group__9__Impl rule__ActorClass__Group__10
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10670:1: ( rule__ActorClass__Group__9__Impl rule__ActorClass__Group__10 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10671:2: rule__ActorClass__Group__9__Impl rule__ActorClass__Group__10
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group__9__Impl_in_rule__ActorClass__Group__922377);
+            pushFollow(FOLLOW_rule__ActorClass__Group__9__Impl_in_rule__ActorClass__Group__922069);
             rule__ActorClass__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group__10_in_rule__ActorClass__Group__922380);
+            pushFollow(FOLLOW_rule__ActorClass__Group__10_in_rule__ActorClass__Group__922072);
             rule__ActorClass__Group__10();
 
             state._fsp--;
@@ -30758,31 +30522,31 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__9__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10834:1: rule__ActorClass__Group__9__Impl : ( ( rule__ActorClass__Group_9__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10678:1: rule__ActorClass__Group__9__Impl : ( ( rule__ActorClass__Group_9__0 )? ) ;
     public final void rule__ActorClass__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10838:1: ( ( ( rule__ActorClass__Group_9__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10839:1: ( ( rule__ActorClass__Group_9__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10682:1: ( ( ( rule__ActorClass__Group_9__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10683:1: ( ( rule__ActorClass__Group_9__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10839:1: ( ( rule__ActorClass__Group_9__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10840:1: ( rule__ActorClass__Group_9__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10683:1: ( ( rule__ActorClass__Group_9__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10684:1: ( rule__ActorClass__Group_9__0 )?
             {
              before(grammarAccess.getActorClassAccess().getGroup_9()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10841:1: ( rule__ActorClass__Group_9__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10685:1: ( rule__ActorClass__Group_9__0 )?
             int alt114=2;
             int LA114_0 = input.LA(1);
 
-            if ( (LA114_0==73) ) {
+            if ( (LA114_0==74) ) {
                 alt114=1;
             }
             switch (alt114) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10841:2: rule__ActorClass__Group_9__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10685:2: rule__ActorClass__Group_9__0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__Group_9__0_in_rule__ActorClass__Group__9__Impl22407);
+                    pushFollow(FOLLOW_rule__ActorClass__Group_9__0_in_rule__ActorClass__Group__9__Impl22099);
                     rule__ActorClass__Group_9__0();
 
                     state._fsp--;
@@ -30816,16 +30580,16 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__10"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10851:1: rule__ActorClass__Group__10 : rule__ActorClass__Group__10__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10695:1: rule__ActorClass__Group__10 : rule__ActorClass__Group__10__Impl ;
     public final void rule__ActorClass__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10855:1: ( rule__ActorClass__Group__10__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10856:2: rule__ActorClass__Group__10__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10699:1: ( rule__ActorClass__Group__10__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10700:2: rule__ActorClass__Group__10__Impl
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group__10__Impl_in_rule__ActorClass__Group__1022438);
+            pushFollow(FOLLOW_rule__ActorClass__Group__10__Impl_in_rule__ActorClass__Group__1022130);
             rule__ActorClass__Group__10__Impl();
 
             state._fsp--;
@@ -30849,20 +30613,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group__10__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10862:1: rule__ActorClass__Group__10__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10706:1: rule__ActorClass__Group__10__Impl : ( '}' ) ;
     public final void rule__ActorClass__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10866:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10867:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10710:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10711:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10867:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10868:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10711:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10712:1: '}'
             {
              before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_10()); 
-            match(input,41,FOLLOW_41_in_rule__ActorClass__Group__10__Impl22466); 
+            match(input,42,FOLLOW_42_in_rule__ActorClass__Group__10__Impl22158); 
              after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_10()); 
 
             }
@@ -30886,21 +30650,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_4__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10903:1: rule__ActorClass__Group_4__0 : rule__ActorClass__Group_4__0__Impl rule__ActorClass__Group_4__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10747:1: rule__ActorClass__Group_4__0 : rule__ActorClass__Group_4__0__Impl rule__ActorClass__Group_4__1 ;
     public final void rule__ActorClass__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10907:1: ( rule__ActorClass__Group_4__0__Impl rule__ActorClass__Group_4__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10908:2: rule__ActorClass__Group_4__0__Impl rule__ActorClass__Group_4__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10751:1: ( rule__ActorClass__Group_4__0__Impl rule__ActorClass__Group_4__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10752:2: rule__ActorClass__Group_4__0__Impl rule__ActorClass__Group_4__1
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_4__0__Impl_in_rule__ActorClass__Group_4__022519);
+            pushFollow(FOLLOW_rule__ActorClass__Group_4__0__Impl_in_rule__ActorClass__Group_4__022211);
             rule__ActorClass__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_4__1_in_rule__ActorClass__Group_4__022522);
+            pushFollow(FOLLOW_rule__ActorClass__Group_4__1_in_rule__ActorClass__Group_4__022214);
             rule__ActorClass__Group_4__1();
 
             state._fsp--;
@@ -30924,20 +30688,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_4__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10915:1: rule__ActorClass__Group_4__0__Impl : ( 'extends' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10759:1: rule__ActorClass__Group_4__0__Impl : ( 'extends' ) ;
     public final void rule__ActorClass__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10919:1: ( ( 'extends' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10920:1: ( 'extends' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10763:1: ( ( 'extends' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10764:1: ( 'extends' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10920:1: ( 'extends' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10921:1: 'extends'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10764:1: ( 'extends' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10765:1: 'extends'
             {
              before(grammarAccess.getActorClassAccess().getExtendsKeyword_4_0()); 
-            match(input,53,FOLLOW_53_in_rule__ActorClass__Group_4__0__Impl22550); 
+            match(input,54,FOLLOW_54_in_rule__ActorClass__Group_4__0__Impl22242); 
              after(grammarAccess.getActorClassAccess().getExtendsKeyword_4_0()); 
 
             }
@@ -30961,16 +30725,16 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_4__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10934:1: rule__ActorClass__Group_4__1 : rule__ActorClass__Group_4__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10778:1: rule__ActorClass__Group_4__1 : rule__ActorClass__Group_4__1__Impl ;
     public final void rule__ActorClass__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10938:1: ( rule__ActorClass__Group_4__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10939:2: rule__ActorClass__Group_4__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10782:1: ( rule__ActorClass__Group_4__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10783:2: rule__ActorClass__Group_4__1__Impl
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_4__1__Impl_in_rule__ActorClass__Group_4__122581);
+            pushFollow(FOLLOW_rule__ActorClass__Group_4__1__Impl_in_rule__ActorClass__Group_4__122273);
             rule__ActorClass__Group_4__1__Impl();
 
             state._fsp--;
@@ -30994,23 +30758,23 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_4__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10945:1: rule__ActorClass__Group_4__1__Impl : ( ( rule__ActorClass__BaseAssignment_4_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10789:1: rule__ActorClass__Group_4__1__Impl : ( ( rule__ActorClass__BaseAssignment_4_1 ) ) ;
     public final void rule__ActorClass__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10949:1: ( ( ( rule__ActorClass__BaseAssignment_4_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10950:1: ( ( rule__ActorClass__BaseAssignment_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10793:1: ( ( ( rule__ActorClass__BaseAssignment_4_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10794:1: ( ( rule__ActorClass__BaseAssignment_4_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10950:1: ( ( rule__ActorClass__BaseAssignment_4_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10951:1: ( rule__ActorClass__BaseAssignment_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10794:1: ( ( rule__ActorClass__BaseAssignment_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10795:1: ( rule__ActorClass__BaseAssignment_4_1 )
             {
              before(grammarAccess.getActorClassAccess().getBaseAssignment_4_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10952:1: ( rule__ActorClass__BaseAssignment_4_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10952:2: rule__ActorClass__BaseAssignment_4_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10796:1: ( rule__ActorClass__BaseAssignment_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10796:2: rule__ActorClass__BaseAssignment_4_1
             {
-            pushFollow(FOLLOW_rule__ActorClass__BaseAssignment_4_1_in_rule__ActorClass__Group_4__1__Impl22608);
+            pushFollow(FOLLOW_rule__ActorClass__BaseAssignment_4_1_in_rule__ActorClass__Group_4__1__Impl22300);
             rule__ActorClass__BaseAssignment_4_1();
 
             state._fsp--;
@@ -31041,21 +30805,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_7__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10966:1: rule__ActorClass__Group_7__0 : rule__ActorClass__Group_7__0__Impl rule__ActorClass__Group_7__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10810:1: rule__ActorClass__Group_7__0 : rule__ActorClass__Group_7__0__Impl rule__ActorClass__Group_7__1 ;
     public final void rule__ActorClass__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10970:1: ( rule__ActorClass__Group_7__0__Impl rule__ActorClass__Group_7__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10971:2: rule__ActorClass__Group_7__0__Impl rule__ActorClass__Group_7__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10814:1: ( rule__ActorClass__Group_7__0__Impl rule__ActorClass__Group_7__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10815:2: rule__ActorClass__Group_7__0__Impl rule__ActorClass__Group_7__1
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_7__0__Impl_in_rule__ActorClass__Group_7__022642);
+            pushFollow(FOLLOW_rule__ActorClass__Group_7__0__Impl_in_rule__ActorClass__Group_7__022334);
             rule__ActorClass__Group_7__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_7__1_in_rule__ActorClass__Group_7__022645);
+            pushFollow(FOLLOW_rule__ActorClass__Group_7__1_in_rule__ActorClass__Group_7__022337);
             rule__ActorClass__Group_7__1();
 
             state._fsp--;
@@ -31079,20 +30843,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_7__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10978:1: rule__ActorClass__Group_7__0__Impl : ( 'Interface' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10822:1: rule__ActorClass__Group_7__0__Impl : ( 'Interface' ) ;
     public final void rule__ActorClass__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10982:1: ( ( 'Interface' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10983:1: ( 'Interface' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10826:1: ( ( 'Interface' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10827:1: ( 'Interface' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10983:1: ( 'Interface' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10984:1: 'Interface'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10827:1: ( 'Interface' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10828:1: 'Interface'
             {
              before(grammarAccess.getActorClassAccess().getInterfaceKeyword_7_0()); 
-            match(input,71,FOLLOW_71_in_rule__ActorClass__Group_7__0__Impl22673); 
+            match(input,72,FOLLOW_72_in_rule__ActorClass__Group_7__0__Impl22365); 
              after(grammarAccess.getActorClassAccess().getInterfaceKeyword_7_0()); 
 
             }
@@ -31116,21 +30880,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_7__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10997:1: rule__ActorClass__Group_7__1 : rule__ActorClass__Group_7__1__Impl rule__ActorClass__Group_7__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10841:1: rule__ActorClass__Group_7__1 : rule__ActorClass__Group_7__1__Impl rule__ActorClass__Group_7__2 ;
     public final void rule__ActorClass__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11001:1: ( rule__ActorClass__Group_7__1__Impl rule__ActorClass__Group_7__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11002:2: rule__ActorClass__Group_7__1__Impl rule__ActorClass__Group_7__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10845:1: ( rule__ActorClass__Group_7__1__Impl rule__ActorClass__Group_7__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10846:2: rule__ActorClass__Group_7__1__Impl rule__ActorClass__Group_7__2
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_7__1__Impl_in_rule__ActorClass__Group_7__122704);
+            pushFollow(FOLLOW_rule__ActorClass__Group_7__1__Impl_in_rule__ActorClass__Group_7__122396);
             rule__ActorClass__Group_7__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_7__2_in_rule__ActorClass__Group_7__122707);
+            pushFollow(FOLLOW_rule__ActorClass__Group_7__2_in_rule__ActorClass__Group_7__122399);
             rule__ActorClass__Group_7__2();
 
             state._fsp--;
@@ -31154,20 +30918,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_7__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11009:1: rule__ActorClass__Group_7__1__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10853:1: rule__ActorClass__Group_7__1__Impl : ( '{' ) ;
     public final void rule__ActorClass__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11013:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11014:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10857:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10858:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11014:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11015:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10858:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10859:1: '{'
             {
              before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1()); 
-            match(input,40,FOLLOW_40_in_rule__ActorClass__Group_7__1__Impl22735); 
+            match(input,41,FOLLOW_41_in_rule__ActorClass__Group_7__1__Impl22427); 
              after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1()); 
 
             }
@@ -31191,21 +30955,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_7__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11028:1: rule__ActorClass__Group_7__2 : rule__ActorClass__Group_7__2__Impl rule__ActorClass__Group_7__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10872:1: rule__ActorClass__Group_7__2 : rule__ActorClass__Group_7__2__Impl rule__ActorClass__Group_7__3 ;
     public final void rule__ActorClass__Group_7__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11032:1: ( rule__ActorClass__Group_7__2__Impl rule__ActorClass__Group_7__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11033:2: rule__ActorClass__Group_7__2__Impl rule__ActorClass__Group_7__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10876:1: ( rule__ActorClass__Group_7__2__Impl rule__ActorClass__Group_7__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10877:2: rule__ActorClass__Group_7__2__Impl rule__ActorClass__Group_7__3
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_7__2__Impl_in_rule__ActorClass__Group_7__222766);
+            pushFollow(FOLLOW_rule__ActorClass__Group_7__2__Impl_in_rule__ActorClass__Group_7__222458);
             rule__ActorClass__Group_7__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_7__3_in_rule__ActorClass__Group_7__222769);
+            pushFollow(FOLLOW_rule__ActorClass__Group_7__3_in_rule__ActorClass__Group_7__222461);
             rule__ActorClass__Group_7__3();
 
             state._fsp--;
@@ -31229,35 +30993,35 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_7__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11040:1: rule__ActorClass__Group_7__2__Impl : ( ( rule__ActorClass__Alternatives_7_2 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10884:1: rule__ActorClass__Group_7__2__Impl : ( ( rule__ActorClass__Alternatives_7_2 )* ) ;
     public final void rule__ActorClass__Group_7__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11044:1: ( ( ( rule__ActorClass__Alternatives_7_2 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11045:1: ( ( rule__ActorClass__Alternatives_7_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10888:1: ( ( ( rule__ActorClass__Alternatives_7_2 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10889:1: ( ( rule__ActorClass__Alternatives_7_2 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11045:1: ( ( rule__ActorClass__Alternatives_7_2 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11046:1: ( rule__ActorClass__Alternatives_7_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10889:1: ( ( rule__ActorClass__Alternatives_7_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10890:1: ( rule__ActorClass__Alternatives_7_2 )*
             {
              before(grammarAccess.getActorClassAccess().getAlternatives_7_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11047:1: ( rule__ActorClass__Alternatives_7_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10891:1: ( rule__ActorClass__Alternatives_7_2 )*
             loop115:
             do {
                 int alt115=2;
                 int LA115_0 = input.LA(1);
 
-                if ( (LA115_0==66||LA115_0==74||LA115_0==77) ) {
+                if ( (LA115_0==67||LA115_0==75||LA115_0==78) ) {
                     alt115=1;
                 }
 
 
                 switch (alt115) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11047:2: rule__ActorClass__Alternatives_7_2
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10891:2: rule__ActorClass__Alternatives_7_2
             	    {
-            	    pushFollow(FOLLOW_rule__ActorClass__Alternatives_7_2_in_rule__ActorClass__Group_7__2__Impl22796);
+            	    pushFollow(FOLLOW_rule__ActorClass__Alternatives_7_2_in_rule__ActorClass__Group_7__2__Impl22488);
             	    rule__ActorClass__Alternatives_7_2();
 
             	    state._fsp--;
@@ -31294,16 +31058,16 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_7__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11057:1: rule__ActorClass__Group_7__3 : rule__ActorClass__Group_7__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10901:1: rule__ActorClass__Group_7__3 : rule__ActorClass__Group_7__3__Impl ;
     public final void rule__ActorClass__Group_7__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11061:1: ( rule__ActorClass__Group_7__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11062:2: rule__ActorClass__Group_7__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10905:1: ( rule__ActorClass__Group_7__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10906:2: rule__ActorClass__Group_7__3__Impl
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_7__3__Impl_in_rule__ActorClass__Group_7__322827);
+            pushFollow(FOLLOW_rule__ActorClass__Group_7__3__Impl_in_rule__ActorClass__Group_7__322519);
             rule__ActorClass__Group_7__3__Impl();
 
             state._fsp--;
@@ -31327,20 +31091,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_7__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11068:1: rule__ActorClass__Group_7__3__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10912:1: rule__ActorClass__Group_7__3__Impl : ( '}' ) ;
     public final void rule__ActorClass__Group_7__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11072:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11073:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10916:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10917:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11073:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11074:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10917:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10918:1: '}'
             {
              before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_3()); 
-            match(input,41,FOLLOW_41_in_rule__ActorClass__Group_7__3__Impl22855); 
+            match(input,42,FOLLOW_42_in_rule__ActorClass__Group_7__3__Impl22547); 
              after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_3()); 
 
             }
@@ -31364,21 +31128,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11095:1: rule__ActorClass__Group_8__0 : rule__ActorClass__Group_8__0__Impl rule__ActorClass__Group_8__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10939:1: rule__ActorClass__Group_8__0 : rule__ActorClass__Group_8__0__Impl rule__ActorClass__Group_8__1 ;
     public final void rule__ActorClass__Group_8__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11099:1: ( rule__ActorClass__Group_8__0__Impl rule__ActorClass__Group_8__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11100:2: rule__ActorClass__Group_8__0__Impl rule__ActorClass__Group_8__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10943:1: ( rule__ActorClass__Group_8__0__Impl rule__ActorClass__Group_8__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10944:2: rule__ActorClass__Group_8__0__Impl rule__ActorClass__Group_8__1
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__0__Impl_in_rule__ActorClass__Group_8__022894);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__0__Impl_in_rule__ActorClass__Group_8__022586);
             rule__ActorClass__Group_8__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__1_in_rule__ActorClass__Group_8__022897);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__1_in_rule__ActorClass__Group_8__022589);
             rule__ActorClass__Group_8__1();
 
             state._fsp--;
@@ -31402,20 +31166,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11107:1: rule__ActorClass__Group_8__0__Impl : ( 'Structure' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10951:1: rule__ActorClass__Group_8__0__Impl : ( 'Structure' ) ;
     public final void rule__ActorClass__Group_8__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11111:1: ( ( 'Structure' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11112:1: ( 'Structure' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10955:1: ( ( 'Structure' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10956:1: ( 'Structure' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11112:1: ( 'Structure' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11113:1: 'Structure'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10956:1: ( 'Structure' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10957:1: 'Structure'
             {
              before(grammarAccess.getActorClassAccess().getStructureKeyword_8_0()); 
-            match(input,72,FOLLOW_72_in_rule__ActorClass__Group_8__0__Impl22925); 
+            match(input,73,FOLLOW_73_in_rule__ActorClass__Group_8__0__Impl22617); 
              after(grammarAccess.getActorClassAccess().getStructureKeyword_8_0()); 
 
             }
@@ -31439,21 +31203,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11126:1: rule__ActorClass__Group_8__1 : rule__ActorClass__Group_8__1__Impl rule__ActorClass__Group_8__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10970:1: rule__ActorClass__Group_8__1 : rule__ActorClass__Group_8__1__Impl rule__ActorClass__Group_8__2 ;
     public final void rule__ActorClass__Group_8__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11130:1: ( rule__ActorClass__Group_8__1__Impl rule__ActorClass__Group_8__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11131:2: rule__ActorClass__Group_8__1__Impl rule__ActorClass__Group_8__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10974:1: ( rule__ActorClass__Group_8__1__Impl rule__ActorClass__Group_8__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10975:2: rule__ActorClass__Group_8__1__Impl rule__ActorClass__Group_8__2
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__1__Impl_in_rule__ActorClass__Group_8__122956);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__1__Impl_in_rule__ActorClass__Group_8__122648);
             rule__ActorClass__Group_8__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__2_in_rule__ActorClass__Group_8__122959);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__2_in_rule__ActorClass__Group_8__122651);
             rule__ActorClass__Group_8__2();
 
             state._fsp--;
@@ -31477,31 +31241,31 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11138:1: rule__ActorClass__Group_8__1__Impl : ( ( rule__ActorClass__StructureDocuAssignment_8_1 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10982:1: rule__ActorClass__Group_8__1__Impl : ( ( rule__ActorClass__StructureDocuAssignment_8_1 )? ) ;
     public final void rule__ActorClass__Group_8__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11142:1: ( ( ( rule__ActorClass__StructureDocuAssignment_8_1 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11143:1: ( ( rule__ActorClass__StructureDocuAssignment_8_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10986:1: ( ( ( rule__ActorClass__StructureDocuAssignment_8_1 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10987:1: ( ( rule__ActorClass__StructureDocuAssignment_8_1 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11143:1: ( ( rule__ActorClass__StructureDocuAssignment_8_1 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11144:1: ( rule__ActorClass__StructureDocuAssignment_8_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10987:1: ( ( rule__ActorClass__StructureDocuAssignment_8_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10988:1: ( rule__ActorClass__StructureDocuAssignment_8_1 )?
             {
              before(grammarAccess.getActorClassAccess().getStructureDocuAssignment_8_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11145:1: ( rule__ActorClass__StructureDocuAssignment_8_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10989:1: ( rule__ActorClass__StructureDocuAssignment_8_1 )?
             int alt116=2;
             int LA116_0 = input.LA(1);
 
-            if ( (LA116_0==58) ) {
+            if ( (LA116_0==59) ) {
                 alt116=1;
             }
             switch (alt116) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11145:2: rule__ActorClass__StructureDocuAssignment_8_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10989:2: rule__ActorClass__StructureDocuAssignment_8_1
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__StructureDocuAssignment_8_1_in_rule__ActorClass__Group_8__1__Impl22986);
+                    pushFollow(FOLLOW_rule__ActorClass__StructureDocuAssignment_8_1_in_rule__ActorClass__Group_8__1__Impl22678);
                     rule__ActorClass__StructureDocuAssignment_8_1();
 
                     state._fsp--;
@@ -31535,21 +31299,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11155:1: rule__ActorClass__Group_8__2 : rule__ActorClass__Group_8__2__Impl rule__ActorClass__Group_8__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:10999:1: rule__ActorClass__Group_8__2 : rule__ActorClass__Group_8__2__Impl rule__ActorClass__Group_8__3 ;
     public final void rule__ActorClass__Group_8__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11159:1: ( rule__ActorClass__Group_8__2__Impl rule__ActorClass__Group_8__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11160:2: rule__ActorClass__Group_8__2__Impl rule__ActorClass__Group_8__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11003:1: ( rule__ActorClass__Group_8__2__Impl rule__ActorClass__Group_8__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11004:2: rule__ActorClass__Group_8__2__Impl rule__ActorClass__Group_8__3
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__2__Impl_in_rule__ActorClass__Group_8__223017);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__2__Impl_in_rule__ActorClass__Group_8__222709);
             rule__ActorClass__Group_8__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__3_in_rule__ActorClass__Group_8__223020);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__3_in_rule__ActorClass__Group_8__222712);
             rule__ActorClass__Group_8__3();
 
             state._fsp--;
@@ -31573,20 +31337,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11167:1: rule__ActorClass__Group_8__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11011:1: rule__ActorClass__Group_8__2__Impl : ( '{' ) ;
     public final void rule__ActorClass__Group_8__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11171:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11172:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11015:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11016:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11172:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11173:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11016:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11017:1: '{'
             {
              before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_8_2()); 
-            match(input,40,FOLLOW_40_in_rule__ActorClass__Group_8__2__Impl23048); 
+            match(input,41,FOLLOW_41_in_rule__ActorClass__Group_8__2__Impl22740); 
              after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_8_2()); 
 
             }
@@ -31610,21 +31374,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11186:1: rule__ActorClass__Group_8__3 : rule__ActorClass__Group_8__3__Impl rule__ActorClass__Group_8__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11030:1: rule__ActorClass__Group_8__3 : rule__ActorClass__Group_8__3__Impl rule__ActorClass__Group_8__4 ;
     public final void rule__ActorClass__Group_8__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11190:1: ( rule__ActorClass__Group_8__3__Impl rule__ActorClass__Group_8__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11191:2: rule__ActorClass__Group_8__3__Impl rule__ActorClass__Group_8__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11034:1: ( rule__ActorClass__Group_8__3__Impl rule__ActorClass__Group_8__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11035:2: rule__ActorClass__Group_8__3__Impl rule__ActorClass__Group_8__4
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__3__Impl_in_rule__ActorClass__Group_8__323079);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__3__Impl_in_rule__ActorClass__Group_8__322771);
             rule__ActorClass__Group_8__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__4_in_rule__ActorClass__Group_8__323082);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__4_in_rule__ActorClass__Group_8__322774);
             rule__ActorClass__Group_8__4();
 
             state._fsp--;
@@ -31648,31 +31412,31 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11198:1: rule__ActorClass__Group_8__3__Impl : ( ( rule__ActorClass__Group_8_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11042:1: rule__ActorClass__Group_8__3__Impl : ( ( rule__ActorClass__Group_8_3__0 )? ) ;
     public final void rule__ActorClass__Group_8__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11202:1: ( ( ( rule__ActorClass__Group_8_3__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11203:1: ( ( rule__ActorClass__Group_8_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11046:1: ( ( ( rule__ActorClass__Group_8_3__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11047:1: ( ( rule__ActorClass__Group_8_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11203:1: ( ( rule__ActorClass__Group_8_3__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11204:1: ( rule__ActorClass__Group_8_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11047:1: ( ( rule__ActorClass__Group_8_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11048:1: ( rule__ActorClass__Group_8_3__0 )?
             {
              before(grammarAccess.getActorClassAccess().getGroup_8_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11205:1: ( rule__ActorClass__Group_8_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11049:1: ( rule__ActorClass__Group_8_3__0 )?
             int alt117=2;
             int LA117_0 = input.LA(1);
 
-            if ( (LA117_0==54) ) {
+            if ( (LA117_0==55) ) {
                 alt117=1;
             }
             switch (alt117) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11205:2: rule__ActorClass__Group_8_3__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11049:2: rule__ActorClass__Group_8_3__0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__Group_8_3__0_in_rule__ActorClass__Group_8__3__Impl23109);
+                    pushFollow(FOLLOW_rule__ActorClass__Group_8_3__0_in_rule__ActorClass__Group_8__3__Impl22801);
                     rule__ActorClass__Group_8_3__0();
 
                     state._fsp--;
@@ -31706,21 +31470,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11215:1: rule__ActorClass__Group_8__4 : rule__ActorClass__Group_8__4__Impl rule__ActorClass__Group_8__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11059:1: rule__ActorClass__Group_8__4 : rule__ActorClass__Group_8__4__Impl rule__ActorClass__Group_8__5 ;
     public final void rule__ActorClass__Group_8__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11219:1: ( rule__ActorClass__Group_8__4__Impl rule__ActorClass__Group_8__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11220:2: rule__ActorClass__Group_8__4__Impl rule__ActorClass__Group_8__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11063:1: ( rule__ActorClass__Group_8__4__Impl rule__ActorClass__Group_8__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11064:2: rule__ActorClass__Group_8__4__Impl rule__ActorClass__Group_8__5
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__4__Impl_in_rule__ActorClass__Group_8__423140);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__4__Impl_in_rule__ActorClass__Group_8__422832);
             rule__ActorClass__Group_8__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__5_in_rule__ActorClass__Group_8__423143);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__5_in_rule__ActorClass__Group_8__422835);
             rule__ActorClass__Group_8__5();
 
             state._fsp--;
@@ -31744,31 +31508,31 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11227:1: rule__ActorClass__Group_8__4__Impl : ( ( rule__ActorClass__Group_8_4__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11071:1: rule__ActorClass__Group_8__4__Impl : ( ( rule__ActorClass__Group_8_4__0 )? ) ;
     public final void rule__ActorClass__Group_8__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11231:1: ( ( ( rule__ActorClass__Group_8_4__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11232:1: ( ( rule__ActorClass__Group_8_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11075:1: ( ( ( rule__ActorClass__Group_8_4__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11076:1: ( ( rule__ActorClass__Group_8_4__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11232:1: ( ( rule__ActorClass__Group_8_4__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11233:1: ( rule__ActorClass__Group_8_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11076:1: ( ( rule__ActorClass__Group_8_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11077:1: ( rule__ActorClass__Group_8_4__0 )?
             {
              before(grammarAccess.getActorClassAccess().getGroup_8_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11234:1: ( rule__ActorClass__Group_8_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11078:1: ( rule__ActorClass__Group_8_4__0 )?
             int alt118=2;
             int LA118_0 = input.LA(1);
 
-            if ( (LA118_0==55) ) {
+            if ( (LA118_0==56) ) {
                 alt118=1;
             }
             switch (alt118) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11234:2: rule__ActorClass__Group_8_4__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11078:2: rule__ActorClass__Group_8_4__0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__Group_8_4__0_in_rule__ActorClass__Group_8__4__Impl23170);
+                    pushFollow(FOLLOW_rule__ActorClass__Group_8_4__0_in_rule__ActorClass__Group_8__4__Impl22862);
                     rule__ActorClass__Group_8_4__0();
 
                     state._fsp--;
@@ -31802,21 +31566,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11244:1: rule__ActorClass__Group_8__5 : rule__ActorClass__Group_8__5__Impl rule__ActorClass__Group_8__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11088:1: rule__ActorClass__Group_8__5 : rule__ActorClass__Group_8__5__Impl rule__ActorClass__Group_8__6 ;
     public final void rule__ActorClass__Group_8__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11248:1: ( rule__ActorClass__Group_8__5__Impl rule__ActorClass__Group_8__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11249:2: rule__ActorClass__Group_8__5__Impl rule__ActorClass__Group_8__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11092:1: ( rule__ActorClass__Group_8__5__Impl rule__ActorClass__Group_8__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11093:2: rule__ActorClass__Group_8__5__Impl rule__ActorClass__Group_8__6
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__5__Impl_in_rule__ActorClass__Group_8__523201);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__5__Impl_in_rule__ActorClass__Group_8__522893);
             rule__ActorClass__Group_8__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__6_in_rule__ActorClass__Group_8__523204);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__6_in_rule__ActorClass__Group_8__522896);
             rule__ActorClass__Group_8__6();
 
             state._fsp--;
@@ -31840,31 +31604,31 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11256:1: rule__ActorClass__Group_8__5__Impl : ( ( rule__ActorClass__Group_8_5__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11100:1: rule__ActorClass__Group_8__5__Impl : ( ( rule__ActorClass__Group_8_5__0 )? ) ;
     public final void rule__ActorClass__Group_8__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11260:1: ( ( ( rule__ActorClass__Group_8_5__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11261:1: ( ( rule__ActorClass__Group_8_5__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11104:1: ( ( ( rule__ActorClass__Group_8_5__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11105:1: ( ( rule__ActorClass__Group_8_5__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11261:1: ( ( rule__ActorClass__Group_8_5__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11262:1: ( rule__ActorClass__Group_8_5__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11105:1: ( ( rule__ActorClass__Group_8_5__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11106:1: ( rule__ActorClass__Group_8_5__0 )?
             {
              before(grammarAccess.getActorClassAccess().getGroup_8_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11263:1: ( rule__ActorClass__Group_8_5__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11107:1: ( rule__ActorClass__Group_8_5__0 )?
             int alt119=2;
             int LA119_0 = input.LA(1);
 
-            if ( (LA119_0==56) ) {
+            if ( (LA119_0==57) ) {
                 alt119=1;
             }
             switch (alt119) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11263:2: rule__ActorClass__Group_8_5__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11107:2: rule__ActorClass__Group_8_5__0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__Group_8_5__0_in_rule__ActorClass__Group_8__5__Impl23231);
+                    pushFollow(FOLLOW_rule__ActorClass__Group_8_5__0_in_rule__ActorClass__Group_8__5__Impl22923);
                     rule__ActorClass__Group_8_5__0();
 
                     state._fsp--;
@@ -31898,21 +31662,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11273:1: rule__ActorClass__Group_8__6 : rule__ActorClass__Group_8__6__Impl rule__ActorClass__Group_8__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11117:1: rule__ActorClass__Group_8__6 : rule__ActorClass__Group_8__6__Impl rule__ActorClass__Group_8__7 ;
     public final void rule__ActorClass__Group_8__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11277:1: ( rule__ActorClass__Group_8__6__Impl rule__ActorClass__Group_8__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11278:2: rule__ActorClass__Group_8__6__Impl rule__ActorClass__Group_8__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11121:1: ( rule__ActorClass__Group_8__6__Impl rule__ActorClass__Group_8__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11122:2: rule__ActorClass__Group_8__6__Impl rule__ActorClass__Group_8__7
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__6__Impl_in_rule__ActorClass__Group_8__623262);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__6__Impl_in_rule__ActorClass__Group_8__622954);
             rule__ActorClass__Group_8__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__7_in_rule__ActorClass__Group_8__623265);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__7_in_rule__ActorClass__Group_8__622957);
             rule__ActorClass__Group_8__7();
 
             state._fsp--;
@@ -31936,35 +31700,35 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11285:1: rule__ActorClass__Group_8__6__Impl : ( ( rule__ActorClass__Alternatives_8_6 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11129:1: rule__ActorClass__Group_8__6__Impl : ( ( rule__ActorClass__Alternatives_8_6 )* ) ;
     public final void rule__ActorClass__Group_8__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11289:1: ( ( ( rule__ActorClass__Alternatives_8_6 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11290:1: ( ( rule__ActorClass__Alternatives_8_6 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11133:1: ( ( ( rule__ActorClass__Alternatives_8_6 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11134:1: ( ( rule__ActorClass__Alternatives_8_6 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11290:1: ( ( rule__ActorClass__Alternatives_8_6 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11291:1: ( rule__ActorClass__Alternatives_8_6 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11134:1: ( ( rule__ActorClass__Alternatives_8_6 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11135:1: ( rule__ActorClass__Alternatives_8_6 )*
             {
              before(grammarAccess.getActorClassAccess().getAlternatives_8_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11292:1: ( rule__ActorClass__Alternatives_8_6 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11136:1: ( rule__ActorClass__Alternatives_8_6 )*
             loop120:
             do {
                 int alt120=2;
                 int LA120_0 = input.LA(1);
 
-                if ( ((LA120_0>=32 && LA120_0<=33)||LA120_0==57||LA120_0==66||(LA120_0>=74 && LA120_0<=76)||LA120_0==78||LA120_0==83||LA120_0==87||LA120_0==91) ) {
+                if ( ((LA120_0>=33 && LA120_0<=34)||LA120_0==58||LA120_0==67||(LA120_0>=75 && LA120_0<=77)||LA120_0==79||LA120_0==84||LA120_0==88||LA120_0==92) ) {
                     alt120=1;
                 }
 
 
                 switch (alt120) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11292:2: rule__ActorClass__Alternatives_8_6
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11136:2: rule__ActorClass__Alternatives_8_6
             	    {
-            	    pushFollow(FOLLOW_rule__ActorClass__Alternatives_8_6_in_rule__ActorClass__Group_8__6__Impl23292);
+            	    pushFollow(FOLLOW_rule__ActorClass__Alternatives_8_6_in_rule__ActorClass__Group_8__6__Impl22984);
             	    rule__ActorClass__Alternatives_8_6();
 
             	    state._fsp--;
@@ -32001,16 +31765,16 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11302:1: rule__ActorClass__Group_8__7 : rule__ActorClass__Group_8__7__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11146:1: rule__ActorClass__Group_8__7 : rule__ActorClass__Group_8__7__Impl ;
     public final void rule__ActorClass__Group_8__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11306:1: ( rule__ActorClass__Group_8__7__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11307:2: rule__ActorClass__Group_8__7__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11150:1: ( rule__ActorClass__Group_8__7__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11151:2: rule__ActorClass__Group_8__7__Impl
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8__7__Impl_in_rule__ActorClass__Group_8__723323);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8__7__Impl_in_rule__ActorClass__Group_8__723015);
             rule__ActorClass__Group_8__7__Impl();
 
             state._fsp--;
@@ -32034,20 +31798,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11313:1: rule__ActorClass__Group_8__7__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11157:1: rule__ActorClass__Group_8__7__Impl : ( '}' ) ;
     public final void rule__ActorClass__Group_8__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11317:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11318:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11161:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11162:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11318:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11319:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11162:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11163:1: '}'
             {
              before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8_7()); 
-            match(input,41,FOLLOW_41_in_rule__ActorClass__Group_8__7__Impl23351); 
+            match(input,42,FOLLOW_42_in_rule__ActorClass__Group_8__7__Impl23043); 
              after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8_7()); 
 
             }
@@ -32071,21 +31835,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_3__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11348:1: rule__ActorClass__Group_8_3__0 : rule__ActorClass__Group_8_3__0__Impl rule__ActorClass__Group_8_3__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11192:1: rule__ActorClass__Group_8_3__0 : rule__ActorClass__Group_8_3__0__Impl rule__ActorClass__Group_8_3__1 ;
     public final void rule__ActorClass__Group_8_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11352:1: ( rule__ActorClass__Group_8_3__0__Impl rule__ActorClass__Group_8_3__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11353:2: rule__ActorClass__Group_8_3__0__Impl rule__ActorClass__Group_8_3__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11196:1: ( rule__ActorClass__Group_8_3__0__Impl rule__ActorClass__Group_8_3__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11197:2: rule__ActorClass__Group_8_3__0__Impl rule__ActorClass__Group_8_3__1
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8_3__0__Impl_in_rule__ActorClass__Group_8_3__023398);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8_3__0__Impl_in_rule__ActorClass__Group_8_3__023090);
             rule__ActorClass__Group_8_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_8_3__1_in_rule__ActorClass__Group_8_3__023401);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8_3__1_in_rule__ActorClass__Group_8_3__023093);
             rule__ActorClass__Group_8_3__1();
 
             state._fsp--;
@@ -32109,20 +31873,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_3__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11360:1: rule__ActorClass__Group_8_3__0__Impl : ( 'usercode1' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11204:1: rule__ActorClass__Group_8_3__0__Impl : ( 'usercode1' ) ;
     public final void rule__ActorClass__Group_8_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11364:1: ( ( 'usercode1' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11365:1: ( 'usercode1' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11208:1: ( ( 'usercode1' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11209:1: ( 'usercode1' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11365:1: ( 'usercode1' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11366:1: 'usercode1'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11209:1: ( 'usercode1' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11210:1: 'usercode1'
             {
              before(grammarAccess.getActorClassAccess().getUsercode1Keyword_8_3_0()); 
-            match(input,54,FOLLOW_54_in_rule__ActorClass__Group_8_3__0__Impl23429); 
+            match(input,55,FOLLOW_55_in_rule__ActorClass__Group_8_3__0__Impl23121); 
              after(grammarAccess.getActorClassAccess().getUsercode1Keyword_8_3_0()); 
 
             }
@@ -32146,16 +31910,16 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_3__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11379:1: rule__ActorClass__Group_8_3__1 : rule__ActorClass__Group_8_3__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11223:1: rule__ActorClass__Group_8_3__1 : rule__ActorClass__Group_8_3__1__Impl ;
     public final void rule__ActorClass__Group_8_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11383:1: ( rule__ActorClass__Group_8_3__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11384:2: rule__ActorClass__Group_8_3__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11227:1: ( rule__ActorClass__Group_8_3__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11228:2: rule__ActorClass__Group_8_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8_3__1__Impl_in_rule__ActorClass__Group_8_3__123460);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8_3__1__Impl_in_rule__ActorClass__Group_8_3__123152);
             rule__ActorClass__Group_8_3__1__Impl();
 
             state._fsp--;
@@ -32179,23 +31943,23 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_3__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11390:1: rule__ActorClass__Group_8_3__1__Impl : ( ( rule__ActorClass__UserCode1Assignment_8_3_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11234:1: rule__ActorClass__Group_8_3__1__Impl : ( ( rule__ActorClass__UserCode1Assignment_8_3_1 ) ) ;
     public final void rule__ActorClass__Group_8_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11394:1: ( ( ( rule__ActorClass__UserCode1Assignment_8_3_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11395:1: ( ( rule__ActorClass__UserCode1Assignment_8_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11238:1: ( ( ( rule__ActorClass__UserCode1Assignment_8_3_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11239:1: ( ( rule__ActorClass__UserCode1Assignment_8_3_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11395:1: ( ( rule__ActorClass__UserCode1Assignment_8_3_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11396:1: ( rule__ActorClass__UserCode1Assignment_8_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11239:1: ( ( rule__ActorClass__UserCode1Assignment_8_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11240:1: ( rule__ActorClass__UserCode1Assignment_8_3_1 )
             {
              before(grammarAccess.getActorClassAccess().getUserCode1Assignment_8_3_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11397:1: ( rule__ActorClass__UserCode1Assignment_8_3_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11397:2: rule__ActorClass__UserCode1Assignment_8_3_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11241:1: ( rule__ActorClass__UserCode1Assignment_8_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11241:2: rule__ActorClass__UserCode1Assignment_8_3_1
             {
-            pushFollow(FOLLOW_rule__ActorClass__UserCode1Assignment_8_3_1_in_rule__ActorClass__Group_8_3__1__Impl23487);
+            pushFollow(FOLLOW_rule__ActorClass__UserCode1Assignment_8_3_1_in_rule__ActorClass__Group_8_3__1__Impl23179);
             rule__ActorClass__UserCode1Assignment_8_3_1();
 
             state._fsp--;
@@ -32226,21 +31990,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_4__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11411:1: rule__ActorClass__Group_8_4__0 : rule__ActorClass__Group_8_4__0__Impl rule__ActorClass__Group_8_4__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11255:1: rule__ActorClass__Group_8_4__0 : rule__ActorClass__Group_8_4__0__Impl rule__ActorClass__Group_8_4__1 ;
     public final void rule__ActorClass__Group_8_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11415:1: ( rule__ActorClass__Group_8_4__0__Impl rule__ActorClass__Group_8_4__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11416:2: rule__ActorClass__Group_8_4__0__Impl rule__ActorClass__Group_8_4__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11259:1: ( rule__ActorClass__Group_8_4__0__Impl rule__ActorClass__Group_8_4__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11260:2: rule__ActorClass__Group_8_4__0__Impl rule__ActorClass__Group_8_4__1
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8_4__0__Impl_in_rule__ActorClass__Group_8_4__023521);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8_4__0__Impl_in_rule__ActorClass__Group_8_4__023213);
             rule__ActorClass__Group_8_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_8_4__1_in_rule__ActorClass__Group_8_4__023524);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8_4__1_in_rule__ActorClass__Group_8_4__023216);
             rule__ActorClass__Group_8_4__1();
 
             state._fsp--;
@@ -32264,20 +32028,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_4__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11423:1: rule__ActorClass__Group_8_4__0__Impl : ( 'usercode2' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11267:1: rule__ActorClass__Group_8_4__0__Impl : ( 'usercode2' ) ;
     public final void rule__ActorClass__Group_8_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11427:1: ( ( 'usercode2' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11428:1: ( 'usercode2' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11271:1: ( ( 'usercode2' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11272:1: ( 'usercode2' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11428:1: ( 'usercode2' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11429:1: 'usercode2'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11272:1: ( 'usercode2' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11273:1: 'usercode2'
             {
              before(grammarAccess.getActorClassAccess().getUsercode2Keyword_8_4_0()); 
-            match(input,55,FOLLOW_55_in_rule__ActorClass__Group_8_4__0__Impl23552); 
+            match(input,56,FOLLOW_56_in_rule__ActorClass__Group_8_4__0__Impl23244); 
              after(grammarAccess.getActorClassAccess().getUsercode2Keyword_8_4_0()); 
 
             }
@@ -32301,16 +32065,16 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_4__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11442:1: rule__ActorClass__Group_8_4__1 : rule__ActorClass__Group_8_4__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11286:1: rule__ActorClass__Group_8_4__1 : rule__ActorClass__Group_8_4__1__Impl ;
     public final void rule__ActorClass__Group_8_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11446:1: ( rule__ActorClass__Group_8_4__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11447:2: rule__ActorClass__Group_8_4__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11290:1: ( rule__ActorClass__Group_8_4__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11291:2: rule__ActorClass__Group_8_4__1__Impl
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8_4__1__Impl_in_rule__ActorClass__Group_8_4__123583);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8_4__1__Impl_in_rule__ActorClass__Group_8_4__123275);
             rule__ActorClass__Group_8_4__1__Impl();
 
             state._fsp--;
@@ -32334,23 +32098,23 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_4__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11453:1: rule__ActorClass__Group_8_4__1__Impl : ( ( rule__ActorClass__UserCode2Assignment_8_4_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11297:1: rule__ActorClass__Group_8_4__1__Impl : ( ( rule__ActorClass__UserCode2Assignment_8_4_1 ) ) ;
     public final void rule__ActorClass__Group_8_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11457:1: ( ( ( rule__ActorClass__UserCode2Assignment_8_4_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11458:1: ( ( rule__ActorClass__UserCode2Assignment_8_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11301:1: ( ( ( rule__ActorClass__UserCode2Assignment_8_4_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11302:1: ( ( rule__ActorClass__UserCode2Assignment_8_4_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11458:1: ( ( rule__ActorClass__UserCode2Assignment_8_4_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11459:1: ( rule__ActorClass__UserCode2Assignment_8_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11302:1: ( ( rule__ActorClass__UserCode2Assignment_8_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11303:1: ( rule__ActorClass__UserCode2Assignment_8_4_1 )
             {
              before(grammarAccess.getActorClassAccess().getUserCode2Assignment_8_4_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11460:1: ( rule__ActorClass__UserCode2Assignment_8_4_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11460:2: rule__ActorClass__UserCode2Assignment_8_4_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11304:1: ( rule__ActorClass__UserCode2Assignment_8_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11304:2: rule__ActorClass__UserCode2Assignment_8_4_1
             {
-            pushFollow(FOLLOW_rule__ActorClass__UserCode2Assignment_8_4_1_in_rule__ActorClass__Group_8_4__1__Impl23610);
+            pushFollow(FOLLOW_rule__ActorClass__UserCode2Assignment_8_4_1_in_rule__ActorClass__Group_8_4__1__Impl23302);
             rule__ActorClass__UserCode2Assignment_8_4_1();
 
             state._fsp--;
@@ -32381,21 +32145,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_5__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11474:1: rule__ActorClass__Group_8_5__0 : rule__ActorClass__Group_8_5__0__Impl rule__ActorClass__Group_8_5__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11318:1: rule__ActorClass__Group_8_5__0 : rule__ActorClass__Group_8_5__0__Impl rule__ActorClass__Group_8_5__1 ;
     public final void rule__ActorClass__Group_8_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11478:1: ( rule__ActorClass__Group_8_5__0__Impl rule__ActorClass__Group_8_5__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11479:2: rule__ActorClass__Group_8_5__0__Impl rule__ActorClass__Group_8_5__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11322:1: ( rule__ActorClass__Group_8_5__0__Impl rule__ActorClass__Group_8_5__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11323:2: rule__ActorClass__Group_8_5__0__Impl rule__ActorClass__Group_8_5__1
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8_5__0__Impl_in_rule__ActorClass__Group_8_5__023644);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8_5__0__Impl_in_rule__ActorClass__Group_8_5__023336);
             rule__ActorClass__Group_8_5__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_8_5__1_in_rule__ActorClass__Group_8_5__023647);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8_5__1_in_rule__ActorClass__Group_8_5__023339);
             rule__ActorClass__Group_8_5__1();
 
             state._fsp--;
@@ -32419,20 +32183,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_5__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11486:1: rule__ActorClass__Group_8_5__0__Impl : ( 'usercode3' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11330:1: rule__ActorClass__Group_8_5__0__Impl : ( 'usercode3' ) ;
     public final void rule__ActorClass__Group_8_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11490:1: ( ( 'usercode3' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11491:1: ( 'usercode3' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11334:1: ( ( 'usercode3' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11335:1: ( 'usercode3' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11491:1: ( 'usercode3' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11492:1: 'usercode3'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11335:1: ( 'usercode3' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11336:1: 'usercode3'
             {
              before(grammarAccess.getActorClassAccess().getUsercode3Keyword_8_5_0()); 
-            match(input,56,FOLLOW_56_in_rule__ActorClass__Group_8_5__0__Impl23675); 
+            match(input,57,FOLLOW_57_in_rule__ActorClass__Group_8_5__0__Impl23367); 
              after(grammarAccess.getActorClassAccess().getUsercode3Keyword_8_5_0()); 
 
             }
@@ -32456,16 +32220,16 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_5__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11505:1: rule__ActorClass__Group_8_5__1 : rule__ActorClass__Group_8_5__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11349:1: rule__ActorClass__Group_8_5__1 : rule__ActorClass__Group_8_5__1__Impl ;
     public final void rule__ActorClass__Group_8_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11509:1: ( rule__ActorClass__Group_8_5__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11510:2: rule__ActorClass__Group_8_5__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11353:1: ( rule__ActorClass__Group_8_5__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11354:2: rule__ActorClass__Group_8_5__1__Impl
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_8_5__1__Impl_in_rule__ActorClass__Group_8_5__123706);
+            pushFollow(FOLLOW_rule__ActorClass__Group_8_5__1__Impl_in_rule__ActorClass__Group_8_5__123398);
             rule__ActorClass__Group_8_5__1__Impl();
 
             state._fsp--;
@@ -32489,23 +32253,23 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_8_5__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11516:1: rule__ActorClass__Group_8_5__1__Impl : ( ( rule__ActorClass__UserCode3Assignment_8_5_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11360:1: rule__ActorClass__Group_8_5__1__Impl : ( ( rule__ActorClass__UserCode3Assignment_8_5_1 ) ) ;
     public final void rule__ActorClass__Group_8_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11520:1: ( ( ( rule__ActorClass__UserCode3Assignment_8_5_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11521:1: ( ( rule__ActorClass__UserCode3Assignment_8_5_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11364:1: ( ( ( rule__ActorClass__UserCode3Assignment_8_5_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11365:1: ( ( rule__ActorClass__UserCode3Assignment_8_5_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11521:1: ( ( rule__ActorClass__UserCode3Assignment_8_5_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11522:1: ( rule__ActorClass__UserCode3Assignment_8_5_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11365:1: ( ( rule__ActorClass__UserCode3Assignment_8_5_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11366:1: ( rule__ActorClass__UserCode3Assignment_8_5_1 )
             {
              before(grammarAccess.getActorClassAccess().getUserCode3Assignment_8_5_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11523:1: ( rule__ActorClass__UserCode3Assignment_8_5_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11523:2: rule__ActorClass__UserCode3Assignment_8_5_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11367:1: ( rule__ActorClass__UserCode3Assignment_8_5_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11367:2: rule__ActorClass__UserCode3Assignment_8_5_1
             {
-            pushFollow(FOLLOW_rule__ActorClass__UserCode3Assignment_8_5_1_in_rule__ActorClass__Group_8_5__1__Impl23733);
+            pushFollow(FOLLOW_rule__ActorClass__UserCode3Assignment_8_5_1_in_rule__ActorClass__Group_8_5__1__Impl23425);
             rule__ActorClass__UserCode3Assignment_8_5_1();
 
             state._fsp--;
@@ -32536,21 +32300,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11537:1: rule__ActorClass__Group_9__0 : rule__ActorClass__Group_9__0__Impl rule__ActorClass__Group_9__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11381:1: rule__ActorClass__Group_9__0 : rule__ActorClass__Group_9__0__Impl rule__ActorClass__Group_9__1 ;
     public final void rule__ActorClass__Group_9__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11541:1: ( rule__ActorClass__Group_9__0__Impl rule__ActorClass__Group_9__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11542:2: rule__ActorClass__Group_9__0__Impl rule__ActorClass__Group_9__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11385:1: ( rule__ActorClass__Group_9__0__Impl rule__ActorClass__Group_9__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11386:2: rule__ActorClass__Group_9__0__Impl rule__ActorClass__Group_9__1
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__0__Impl_in_rule__ActorClass__Group_9__023767);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__0__Impl_in_rule__ActorClass__Group_9__023459);
             rule__ActorClass__Group_9__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__1_in_rule__ActorClass__Group_9__023770);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__1_in_rule__ActorClass__Group_9__023462);
             rule__ActorClass__Group_9__1();
 
             state._fsp--;
@@ -32574,20 +32338,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11549:1: rule__ActorClass__Group_9__0__Impl : ( 'Behavior' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11393:1: rule__ActorClass__Group_9__0__Impl : ( 'Behavior' ) ;
     public final void rule__ActorClass__Group_9__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11553:1: ( ( 'Behavior' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11554:1: ( 'Behavior' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11397:1: ( ( 'Behavior' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11398:1: ( 'Behavior' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11554:1: ( 'Behavior' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11555:1: 'Behavior'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11398:1: ( 'Behavior' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11399:1: 'Behavior'
             {
              before(grammarAccess.getActorClassAccess().getBehaviorKeyword_9_0()); 
-            match(input,73,FOLLOW_73_in_rule__ActorClass__Group_9__0__Impl23798); 
+            match(input,74,FOLLOW_74_in_rule__ActorClass__Group_9__0__Impl23490); 
              after(grammarAccess.getActorClassAccess().getBehaviorKeyword_9_0()); 
 
             }
@@ -32611,21 +32375,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11568:1: rule__ActorClass__Group_9__1 : rule__ActorClass__Group_9__1__Impl rule__ActorClass__Group_9__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11412:1: rule__ActorClass__Group_9__1 : rule__ActorClass__Group_9__1__Impl rule__ActorClass__Group_9__2 ;
     public final void rule__ActorClass__Group_9__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11572:1: ( rule__ActorClass__Group_9__1__Impl rule__ActorClass__Group_9__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11573:2: rule__ActorClass__Group_9__1__Impl rule__ActorClass__Group_9__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11416:1: ( rule__ActorClass__Group_9__1__Impl rule__ActorClass__Group_9__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11417:2: rule__ActorClass__Group_9__1__Impl rule__ActorClass__Group_9__2
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__1__Impl_in_rule__ActorClass__Group_9__123829);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__1__Impl_in_rule__ActorClass__Group_9__123521);
             rule__ActorClass__Group_9__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__2_in_rule__ActorClass__Group_9__123832);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__2_in_rule__ActorClass__Group_9__123524);
             rule__ActorClass__Group_9__2();
 
             state._fsp--;
@@ -32649,31 +32413,31 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11580:1: rule__ActorClass__Group_9__1__Impl : ( ( rule__ActorClass__BehaviorDocuAssignment_9_1 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11424:1: rule__ActorClass__Group_9__1__Impl : ( ( rule__ActorClass__BehaviorDocuAssignment_9_1 )? ) ;
     public final void rule__ActorClass__Group_9__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11584:1: ( ( ( rule__ActorClass__BehaviorDocuAssignment_9_1 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11585:1: ( ( rule__ActorClass__BehaviorDocuAssignment_9_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11428:1: ( ( ( rule__ActorClass__BehaviorDocuAssignment_9_1 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11429:1: ( ( rule__ActorClass__BehaviorDocuAssignment_9_1 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11585:1: ( ( rule__ActorClass__BehaviorDocuAssignment_9_1 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11586:1: ( rule__ActorClass__BehaviorDocuAssignment_9_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11429:1: ( ( rule__ActorClass__BehaviorDocuAssignment_9_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11430:1: ( rule__ActorClass__BehaviorDocuAssignment_9_1 )?
             {
              before(grammarAccess.getActorClassAccess().getBehaviorDocuAssignment_9_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11587:1: ( rule__ActorClass__BehaviorDocuAssignment_9_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11431:1: ( rule__ActorClass__BehaviorDocuAssignment_9_1 )?
             int alt121=2;
             int LA121_0 = input.LA(1);
 
-            if ( (LA121_0==58) ) {
+            if ( (LA121_0==59) ) {
                 alt121=1;
             }
             switch (alt121) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11587:2: rule__ActorClass__BehaviorDocuAssignment_9_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11431:2: rule__ActorClass__BehaviorDocuAssignment_9_1
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__BehaviorDocuAssignment_9_1_in_rule__ActorClass__Group_9__1__Impl23859);
+                    pushFollow(FOLLOW_rule__ActorClass__BehaviorDocuAssignment_9_1_in_rule__ActorClass__Group_9__1__Impl23551);
                     rule__ActorClass__BehaviorDocuAssignment_9_1();
 
                     state._fsp--;
@@ -32707,21 +32471,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11597:1: rule__ActorClass__Group_9__2 : rule__ActorClass__Group_9__2__Impl rule__ActorClass__Group_9__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11441:1: rule__ActorClass__Group_9__2 : rule__ActorClass__Group_9__2__Impl rule__ActorClass__Group_9__3 ;
     public final void rule__ActorClass__Group_9__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11601:1: ( rule__ActorClass__Group_9__2__Impl rule__ActorClass__Group_9__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11602:2: rule__ActorClass__Group_9__2__Impl rule__ActorClass__Group_9__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11445:1: ( rule__ActorClass__Group_9__2__Impl rule__ActorClass__Group_9__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11446:2: rule__ActorClass__Group_9__2__Impl rule__ActorClass__Group_9__3
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__2__Impl_in_rule__ActorClass__Group_9__223890);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__2__Impl_in_rule__ActorClass__Group_9__223582);
             rule__ActorClass__Group_9__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__3_in_rule__ActorClass__Group_9__223893);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__3_in_rule__ActorClass__Group_9__223585);
             rule__ActorClass__Group_9__3();
 
             state._fsp--;
@@ -32745,20 +32509,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11609:1: rule__ActorClass__Group_9__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11453:1: rule__ActorClass__Group_9__2__Impl : ( '{' ) ;
     public final void rule__ActorClass__Group_9__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11613:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11614:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11457:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11458:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11614:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11615:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11458:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11459:1: '{'
             {
              before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_9_2()); 
-            match(input,40,FOLLOW_40_in_rule__ActorClass__Group_9__2__Impl23921); 
+            match(input,41,FOLLOW_41_in_rule__ActorClass__Group_9__2__Impl23613); 
              after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_9_2()); 
 
             }
@@ -32782,21 +32546,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11628:1: rule__ActorClass__Group_9__3 : rule__ActorClass__Group_9__3__Impl rule__ActorClass__Group_9__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11472:1: rule__ActorClass__Group_9__3 : rule__ActorClass__Group_9__3__Impl rule__ActorClass__Group_9__4 ;
     public final void rule__ActorClass__Group_9__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11632:1: ( rule__ActorClass__Group_9__3__Impl rule__ActorClass__Group_9__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11633:2: rule__ActorClass__Group_9__3__Impl rule__ActorClass__Group_9__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11476:1: ( rule__ActorClass__Group_9__3__Impl rule__ActorClass__Group_9__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11477:2: rule__ActorClass__Group_9__3__Impl rule__ActorClass__Group_9__4
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__3__Impl_in_rule__ActorClass__Group_9__323952);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__3__Impl_in_rule__ActorClass__Group_9__323644);
             rule__ActorClass__Group_9__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__4_in_rule__ActorClass__Group_9__323955);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__4_in_rule__ActorClass__Group_9__323647);
             rule__ActorClass__Group_9__4();
 
             state._fsp--;
@@ -32820,35 +32584,35 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11640:1: rule__ActorClass__Group_9__3__Impl : ( ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11484:1: rule__ActorClass__Group_9__3__Impl : ( ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )* ) ;
     public final void rule__ActorClass__Group_9__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11644:1: ( ( ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11645:1: ( ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11488:1: ( ( ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11489:1: ( ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11645:1: ( ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11646:1: ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11489:1: ( ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11490:1: ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )*
             {
              before(grammarAccess.getActorClassAccess().getBehaviorAnnotationsAssignment_9_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11647:1: ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11491:1: ( rule__ActorClass__BehaviorAnnotationsAssignment_9_3 )*
             loop122:
             do {
                 int alt122=2;
                 int LA122_0 = input.LA(1);
 
-                if ( (LA122_0==119) ) {
+                if ( (LA122_0==120) ) {
                     alt122=1;
                 }
 
 
                 switch (alt122) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11647:2: rule__ActorClass__BehaviorAnnotationsAssignment_9_3
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11491:2: rule__ActorClass__BehaviorAnnotationsAssignment_9_3
             	    {
-            	    pushFollow(FOLLOW_rule__ActorClass__BehaviorAnnotationsAssignment_9_3_in_rule__ActorClass__Group_9__3__Impl23982);
+            	    pushFollow(FOLLOW_rule__ActorClass__BehaviorAnnotationsAssignment_9_3_in_rule__ActorClass__Group_9__3__Impl23674);
             	    rule__ActorClass__BehaviorAnnotationsAssignment_9_3();
 
             	    state._fsp--;
@@ -32885,21 +32649,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11657:1: rule__ActorClass__Group_9__4 : rule__ActorClass__Group_9__4__Impl rule__ActorClass__Group_9__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11501:1: rule__ActorClass__Group_9__4 : rule__ActorClass__Group_9__4__Impl rule__ActorClass__Group_9__5 ;
     public final void rule__ActorClass__Group_9__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11661:1: ( rule__ActorClass__Group_9__4__Impl rule__ActorClass__Group_9__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11662:2: rule__ActorClass__Group_9__4__Impl rule__ActorClass__Group_9__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11505:1: ( rule__ActorClass__Group_9__4__Impl rule__ActorClass__Group_9__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11506:2: rule__ActorClass__Group_9__4__Impl rule__ActorClass__Group_9__5
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__4__Impl_in_rule__ActorClass__Group_9__424013);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__4__Impl_in_rule__ActorClass__Group_9__423705);
             rule__ActorClass__Group_9__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__5_in_rule__ActorClass__Group_9__424016);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__5_in_rule__ActorClass__Group_9__423708);
             rule__ActorClass__Group_9__5();
 
             state._fsp--;
@@ -32923,35 +32687,35 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11669:1: rule__ActorClass__Group_9__4__Impl : ( ( rule__ActorClass__Alternatives_9_4 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11513:1: rule__ActorClass__Group_9__4__Impl : ( ( rule__ActorClass__Alternatives_9_4 )* ) ;
     public final void rule__ActorClass__Group_9__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11673:1: ( ( ( rule__ActorClass__Alternatives_9_4 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11674:1: ( ( rule__ActorClass__Alternatives_9_4 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11517:1: ( ( ( rule__ActorClass__Alternatives_9_4 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11518:1: ( ( rule__ActorClass__Alternatives_9_4 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11674:1: ( ( rule__ActorClass__Alternatives_9_4 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11675:1: ( rule__ActorClass__Alternatives_9_4 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11518:1: ( ( rule__ActorClass__Alternatives_9_4 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11519:1: ( rule__ActorClass__Alternatives_9_4 )*
             {
              before(grammarAccess.getActorClassAccess().getAlternatives_9_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11676:1: ( rule__ActorClass__Alternatives_9_4 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11520:1: ( rule__ActorClass__Alternatives_9_4 )*
             loop123:
             do {
                 int alt123=2;
                 int LA123_0 = input.LA(1);
 
-                if ( ((LA123_0>=14 && LA123_0<=15)||LA123_0==60||LA123_0==126) ) {
+                if ( ((LA123_0>=13 && LA123_0<=14)||LA123_0==61||LA123_0==127) ) {
                     alt123=1;
                 }
 
 
                 switch (alt123) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11676:2: rule__ActorClass__Alternatives_9_4
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11520:2: rule__ActorClass__Alternatives_9_4
             	    {
-            	    pushFollow(FOLLOW_rule__ActorClass__Alternatives_9_4_in_rule__ActorClass__Group_9__4__Impl24043);
+            	    pushFollow(FOLLOW_rule__ActorClass__Alternatives_9_4_in_rule__ActorClass__Group_9__4__Impl23735);
             	    rule__ActorClass__Alternatives_9_4();
 
             	    state._fsp--;
@@ -32988,21 +32752,21 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11686:1: rule__ActorClass__Group_9__5 : rule__ActorClass__Group_9__5__Impl rule__ActorClass__Group_9__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11530:1: rule__ActorClass__Group_9__5 : rule__ActorClass__Group_9__5__Impl rule__ActorClass__Group_9__6 ;
     public final void rule__ActorClass__Group_9__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11690:1: ( rule__ActorClass__Group_9__5__Impl rule__ActorClass__Group_9__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11691:2: rule__ActorClass__Group_9__5__Impl rule__ActorClass__Group_9__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11534:1: ( rule__ActorClass__Group_9__5__Impl rule__ActorClass__Group_9__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11535:2: rule__ActorClass__Group_9__5__Impl rule__ActorClass__Group_9__6
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__5__Impl_in_rule__ActorClass__Group_9__524074);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__5__Impl_in_rule__ActorClass__Group_9__523766);
             rule__ActorClass__Group_9__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__6_in_rule__ActorClass__Group_9__524077);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__6_in_rule__ActorClass__Group_9__523769);
             rule__ActorClass__Group_9__6();
 
             state._fsp--;
@@ -33026,31 +32790,31 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11698:1: rule__ActorClass__Group_9__5__Impl : ( ( rule__ActorClass__StateMachineAssignment_9_5 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11542:1: rule__ActorClass__Group_9__5__Impl : ( ( rule__ActorClass__StateMachineAssignment_9_5 )? ) ;
     public final void rule__ActorClass__Group_9__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11702:1: ( ( ( rule__ActorClass__StateMachineAssignment_9_5 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11703:1: ( ( rule__ActorClass__StateMachineAssignment_9_5 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11546:1: ( ( ( rule__ActorClass__StateMachineAssignment_9_5 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11547:1: ( ( rule__ActorClass__StateMachineAssignment_9_5 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11703:1: ( ( rule__ActorClass__StateMachineAssignment_9_5 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11704:1: ( rule__ActorClass__StateMachineAssignment_9_5 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11547:1: ( ( rule__ActorClass__StateMachineAssignment_9_5 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11548:1: ( rule__ActorClass__StateMachineAssignment_9_5 )?
             {
              before(grammarAccess.getActorClassAccess().getStateMachineAssignment_9_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11705:1: ( rule__ActorClass__StateMachineAssignment_9_5 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11549:1: ( rule__ActorClass__StateMachineAssignment_9_5 )?
             int alt124=2;
             int LA124_0 = input.LA(1);
 
-            if ( (LA124_0==92) ) {
+            if ( (LA124_0==93) ) {
                 alt124=1;
             }
             switch (alt124) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11705:2: rule__ActorClass__StateMachineAssignment_9_5
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11549:2: rule__ActorClass__StateMachineAssignment_9_5
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__StateMachineAssignment_9_5_in_rule__ActorClass__Group_9__5__Impl24104);
+                    pushFollow(FOLLOW_rule__ActorClass__StateMachineAssignment_9_5_in_rule__ActorClass__Group_9__5__Impl23796);
                     rule__ActorClass__StateMachineAssignment_9_5();
 
                     state._fsp--;
@@ -33084,16 +32848,16 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11715:1: rule__ActorClass__Group_9__6 : rule__ActorClass__Group_9__6__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11559:1: rule__ActorClass__Group_9__6 : rule__ActorClass__Group_9__6__Impl ;
     public final void rule__ActorClass__Group_9__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11719:1: ( rule__ActorClass__Group_9__6__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11720:2: rule__ActorClass__Group_9__6__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11563:1: ( rule__ActorClass__Group_9__6__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11564:2: rule__ActorClass__Group_9__6__Impl
             {
-            pushFollow(FOLLOW_rule__ActorClass__Group_9__6__Impl_in_rule__ActorClass__Group_9__624135);
+            pushFollow(FOLLOW_rule__ActorClass__Group_9__6__Impl_in_rule__ActorClass__Group_9__623827);
             rule__ActorClass__Group_9__6__Impl();
 
             state._fsp--;
@@ -33117,20 +32881,20 @@
 
 
     // $ANTLR start "rule__ActorClass__Group_9__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11726:1: rule__ActorClass__Group_9__6__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11570:1: rule__ActorClass__Group_9__6__Impl : ( '}' ) ;
     public final void rule__ActorClass__Group_9__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11730:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11731:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11574:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11575:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11731:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11732:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11575:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11576:1: '}'
             {
              before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_9_6()); 
-            match(input,41,FOLLOW_41_in_rule__ActorClass__Group_9__6__Impl24163); 
+            match(input,42,FOLLOW_42_in_rule__ActorClass__Group_9__6__Impl23855); 
              after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_9_6()); 
 
             }
@@ -33154,21 +32918,21 @@
 
 
     // $ANTLR start "rule__Port__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11759:1: rule__Port__Group__0 : rule__Port__Group__0__Impl rule__Port__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11603:1: rule__Port__Group__0 : rule__Port__Group__0__Impl rule__Port__Group__1 ;
     public final void rule__Port__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11763:1: ( rule__Port__Group__0__Impl rule__Port__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11764:2: rule__Port__Group__0__Impl rule__Port__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11607:1: ( rule__Port__Group__0__Impl rule__Port__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11608:2: rule__Port__Group__0__Impl rule__Port__Group__1
             {
-            pushFollow(FOLLOW_rule__Port__Group__0__Impl_in_rule__Port__Group__024208);
+            pushFollow(FOLLOW_rule__Port__Group__0__Impl_in_rule__Port__Group__023900);
             rule__Port__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Port__Group__1_in_rule__Port__Group__024211);
+            pushFollow(FOLLOW_rule__Port__Group__1_in_rule__Port__Group__023903);
             rule__Port__Group__1();
 
             state._fsp--;
@@ -33192,31 +32956,31 @@
 
 
     // $ANTLR start "rule__Port__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11771:1: rule__Port__Group__0__Impl : ( ( rule__Port__ConjugatedAssignment_0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11615:1: rule__Port__Group__0__Impl : ( ( rule__Port__ConjugatedAssignment_0 )? ) ;
     public final void rule__Port__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11775:1: ( ( ( rule__Port__ConjugatedAssignment_0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11776:1: ( ( rule__Port__ConjugatedAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11619:1: ( ( ( rule__Port__ConjugatedAssignment_0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11620:1: ( ( rule__Port__ConjugatedAssignment_0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11776:1: ( ( rule__Port__ConjugatedAssignment_0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11777:1: ( rule__Port__ConjugatedAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11620:1: ( ( rule__Port__ConjugatedAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11621:1: ( rule__Port__ConjugatedAssignment_0 )?
             {
              before(grammarAccess.getPortAccess().getConjugatedAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11778:1: ( rule__Port__ConjugatedAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11622:1: ( rule__Port__ConjugatedAssignment_0 )?
             int alt125=2;
             int LA125_0 = input.LA(1);
 
-            if ( (LA125_0==66) ) {
+            if ( (LA125_0==67) ) {
                 alt125=1;
             }
             switch (alt125) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11778:2: rule__Port__ConjugatedAssignment_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11622:2: rule__Port__ConjugatedAssignment_0
                     {
-                    pushFollow(FOLLOW_rule__Port__ConjugatedAssignment_0_in_rule__Port__Group__0__Impl24238);
+                    pushFollow(FOLLOW_rule__Port__ConjugatedAssignment_0_in_rule__Port__Group__0__Impl23930);
                     rule__Port__ConjugatedAssignment_0();
 
                     state._fsp--;
@@ -33250,21 +33014,21 @@
 
 
     // $ANTLR start "rule__Port__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11788:1: rule__Port__Group__1 : rule__Port__Group__1__Impl rule__Port__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11632:1: rule__Port__Group__1 : rule__Port__Group__1__Impl rule__Port__Group__2 ;
     public final void rule__Port__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11792:1: ( rule__Port__Group__1__Impl rule__Port__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11793:2: rule__Port__Group__1__Impl rule__Port__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11636:1: ( rule__Port__Group__1__Impl rule__Port__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11637:2: rule__Port__Group__1__Impl rule__Port__Group__2
             {
-            pushFollow(FOLLOW_rule__Port__Group__1__Impl_in_rule__Port__Group__124269);
+            pushFollow(FOLLOW_rule__Port__Group__1__Impl_in_rule__Port__Group__123961);
             rule__Port__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Port__Group__2_in_rule__Port__Group__124272);
+            pushFollow(FOLLOW_rule__Port__Group__2_in_rule__Port__Group__123964);
             rule__Port__Group__2();
 
             state._fsp--;
@@ -33288,20 +33052,20 @@
 
 
     // $ANTLR start "rule__Port__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11800:1: rule__Port__Group__1__Impl : ( 'Port' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11644:1: rule__Port__Group__1__Impl : ( 'Port' ) ;
     public final void rule__Port__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11804:1: ( ( 'Port' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11805:1: ( 'Port' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11648:1: ( ( 'Port' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11649:1: ( 'Port' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11805:1: ( 'Port' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11806:1: 'Port'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11649:1: ( 'Port' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11650:1: 'Port'
             {
              before(grammarAccess.getPortAccess().getPortKeyword_1()); 
-            match(input,74,FOLLOW_74_in_rule__Port__Group__1__Impl24300); 
+            match(input,75,FOLLOW_75_in_rule__Port__Group__1__Impl23992); 
              after(grammarAccess.getPortAccess().getPortKeyword_1()); 
 
             }
@@ -33325,21 +33089,21 @@
 
 
     // $ANTLR start "rule__Port__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11819:1: rule__Port__Group__2 : rule__Port__Group__2__Impl rule__Port__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11663:1: rule__Port__Group__2 : rule__Port__Group__2__Impl rule__Port__Group__3 ;
     public final void rule__Port__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11823:1: ( rule__Port__Group__2__Impl rule__Port__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11824:2: rule__Port__Group__2__Impl rule__Port__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11667:1: ( rule__Port__Group__2__Impl rule__Port__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11668:2: rule__Port__Group__2__Impl rule__Port__Group__3
             {
-            pushFollow(FOLLOW_rule__Port__Group__2__Impl_in_rule__Port__Group__224331);
+            pushFollow(FOLLOW_rule__Port__Group__2__Impl_in_rule__Port__Group__224023);
             rule__Port__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Port__Group__3_in_rule__Port__Group__224334);
+            pushFollow(FOLLOW_rule__Port__Group__3_in_rule__Port__Group__224026);
             rule__Port__Group__3();
 
             state._fsp--;
@@ -33363,23 +33127,23 @@
 
 
     // $ANTLR start "rule__Port__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11831:1: rule__Port__Group__2__Impl : ( ( rule__Port__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11675:1: rule__Port__Group__2__Impl : ( ( rule__Port__NameAssignment_2 ) ) ;
     public final void rule__Port__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11835:1: ( ( ( rule__Port__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11836:1: ( ( rule__Port__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11679:1: ( ( ( rule__Port__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11680:1: ( ( rule__Port__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11836:1: ( ( rule__Port__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11837:1: ( rule__Port__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11680:1: ( ( rule__Port__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11681:1: ( rule__Port__NameAssignment_2 )
             {
              before(grammarAccess.getPortAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11838:1: ( rule__Port__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11838:2: rule__Port__NameAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11682:1: ( rule__Port__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11682:2: rule__Port__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__Port__NameAssignment_2_in_rule__Port__Group__2__Impl24361);
+            pushFollow(FOLLOW_rule__Port__NameAssignment_2_in_rule__Port__Group__2__Impl24053);
             rule__Port__NameAssignment_2();
 
             state._fsp--;
@@ -33410,21 +33174,21 @@
 
 
     // $ANTLR start "rule__Port__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11848:1: rule__Port__Group__3 : rule__Port__Group__3__Impl rule__Port__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11692:1: rule__Port__Group__3 : rule__Port__Group__3__Impl rule__Port__Group__4 ;
     public final void rule__Port__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11852:1: ( rule__Port__Group__3__Impl rule__Port__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11853:2: rule__Port__Group__3__Impl rule__Port__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11696:1: ( rule__Port__Group__3__Impl rule__Port__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11697:2: rule__Port__Group__3__Impl rule__Port__Group__4
             {
-            pushFollow(FOLLOW_rule__Port__Group__3__Impl_in_rule__Port__Group__324391);
+            pushFollow(FOLLOW_rule__Port__Group__3__Impl_in_rule__Port__Group__324083);
             rule__Port__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Port__Group__4_in_rule__Port__Group__324394);
+            pushFollow(FOLLOW_rule__Port__Group__4_in_rule__Port__Group__324086);
             rule__Port__Group__4();
 
             state._fsp--;
@@ -33448,31 +33212,31 @@
 
 
     // $ANTLR start "rule__Port__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11860:1: rule__Port__Group__3__Impl : ( ( rule__Port__MultiplicityAssignment_3 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11704:1: rule__Port__Group__3__Impl : ( ( rule__Port__MultiplicityAssignment_3 )? ) ;
     public final void rule__Port__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11864:1: ( ( ( rule__Port__MultiplicityAssignment_3 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11865:1: ( ( rule__Port__MultiplicityAssignment_3 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11708:1: ( ( ( rule__Port__MultiplicityAssignment_3 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11709:1: ( ( rule__Port__MultiplicityAssignment_3 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11865:1: ( ( rule__Port__MultiplicityAssignment_3 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11866:1: ( rule__Port__MultiplicityAssignment_3 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11709:1: ( ( rule__Port__MultiplicityAssignment_3 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11710:1: ( rule__Port__MultiplicityAssignment_3 )?
             {
              before(grammarAccess.getPortAccess().getMultiplicityAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11867:1: ( rule__Port__MultiplicityAssignment_3 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11711:1: ( rule__Port__MultiplicityAssignment_3 )?
             int alt126=2;
             int LA126_0 = input.LA(1);
 
-            if ( (LA126_0==58) ) {
+            if ( (LA126_0==59) ) {
                 alt126=1;
             }
             switch (alt126) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11867:2: rule__Port__MultiplicityAssignment_3
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11711:2: rule__Port__MultiplicityAssignment_3
                     {
-                    pushFollow(FOLLOW_rule__Port__MultiplicityAssignment_3_in_rule__Port__Group__3__Impl24421);
+                    pushFollow(FOLLOW_rule__Port__MultiplicityAssignment_3_in_rule__Port__Group__3__Impl24113);
                     rule__Port__MultiplicityAssignment_3();
 
                     state._fsp--;
@@ -33506,21 +33270,21 @@
 
 
     // $ANTLR start "rule__Port__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11877:1: rule__Port__Group__4 : rule__Port__Group__4__Impl rule__Port__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11721:1: rule__Port__Group__4 : rule__Port__Group__4__Impl rule__Port__Group__5 ;
     public final void rule__Port__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11881:1: ( rule__Port__Group__4__Impl rule__Port__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11882:2: rule__Port__Group__4__Impl rule__Port__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11725:1: ( rule__Port__Group__4__Impl rule__Port__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11726:2: rule__Port__Group__4__Impl rule__Port__Group__5
             {
-            pushFollow(FOLLOW_rule__Port__Group__4__Impl_in_rule__Port__Group__424452);
+            pushFollow(FOLLOW_rule__Port__Group__4__Impl_in_rule__Port__Group__424144);
             rule__Port__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Port__Group__5_in_rule__Port__Group__424455);
+            pushFollow(FOLLOW_rule__Port__Group__5_in_rule__Port__Group__424147);
             rule__Port__Group__5();
 
             state._fsp--;
@@ -33544,20 +33308,20 @@
 
 
     // $ANTLR start "rule__Port__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11889:1: rule__Port__Group__4__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11733:1: rule__Port__Group__4__Impl : ( ':' ) ;
     public final void rule__Port__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11893:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11894:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11737:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11738:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11894:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11895:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11738:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11739:1: ':'
             {
              before(grammarAccess.getPortAccess().getColonKeyword_4()); 
-            match(input,42,FOLLOW_42_in_rule__Port__Group__4__Impl24483); 
+            match(input,43,FOLLOW_43_in_rule__Port__Group__4__Impl24175); 
              after(grammarAccess.getPortAccess().getColonKeyword_4()); 
 
             }
@@ -33581,21 +33345,21 @@
 
 
     // $ANTLR start "rule__Port__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11908:1: rule__Port__Group__5 : rule__Port__Group__5__Impl rule__Port__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11752:1: rule__Port__Group__5 : rule__Port__Group__5__Impl rule__Port__Group__6 ;
     public final void rule__Port__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11912:1: ( rule__Port__Group__5__Impl rule__Port__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11913:2: rule__Port__Group__5__Impl rule__Port__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11756:1: ( rule__Port__Group__5__Impl rule__Port__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11757:2: rule__Port__Group__5__Impl rule__Port__Group__6
             {
-            pushFollow(FOLLOW_rule__Port__Group__5__Impl_in_rule__Port__Group__524514);
+            pushFollow(FOLLOW_rule__Port__Group__5__Impl_in_rule__Port__Group__524206);
             rule__Port__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Port__Group__6_in_rule__Port__Group__524517);
+            pushFollow(FOLLOW_rule__Port__Group__6_in_rule__Port__Group__524209);
             rule__Port__Group__6();
 
             state._fsp--;
@@ -33619,23 +33383,23 @@
 
 
     // $ANTLR start "rule__Port__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11920:1: rule__Port__Group__5__Impl : ( ( rule__Port__ProtocolAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11764:1: rule__Port__Group__5__Impl : ( ( rule__Port__ProtocolAssignment_5 ) ) ;
     public final void rule__Port__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11924:1: ( ( ( rule__Port__ProtocolAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11925:1: ( ( rule__Port__ProtocolAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11768:1: ( ( ( rule__Port__ProtocolAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11769:1: ( ( rule__Port__ProtocolAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11925:1: ( ( rule__Port__ProtocolAssignment_5 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11926:1: ( rule__Port__ProtocolAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11769:1: ( ( rule__Port__ProtocolAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11770:1: ( rule__Port__ProtocolAssignment_5 )
             {
              before(grammarAccess.getPortAccess().getProtocolAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11927:1: ( rule__Port__ProtocolAssignment_5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11927:2: rule__Port__ProtocolAssignment_5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11771:1: ( rule__Port__ProtocolAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11771:2: rule__Port__ProtocolAssignment_5
             {
-            pushFollow(FOLLOW_rule__Port__ProtocolAssignment_5_in_rule__Port__Group__5__Impl24544);
+            pushFollow(FOLLOW_rule__Port__ProtocolAssignment_5_in_rule__Port__Group__5__Impl24236);
             rule__Port__ProtocolAssignment_5();
 
             state._fsp--;
@@ -33666,16 +33430,16 @@
 
 
     // $ANTLR start "rule__Port__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11937:1: rule__Port__Group__6 : rule__Port__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11781:1: rule__Port__Group__6 : rule__Port__Group__6__Impl ;
     public final void rule__Port__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11941:1: ( rule__Port__Group__6__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11942:2: rule__Port__Group__6__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11785:1: ( rule__Port__Group__6__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11786:2: rule__Port__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__Port__Group__6__Impl_in_rule__Port__Group__624574);
+            pushFollow(FOLLOW_rule__Port__Group__6__Impl_in_rule__Port__Group__624266);
             rule__Port__Group__6__Impl();
 
             state._fsp--;
@@ -33699,31 +33463,31 @@
 
 
     // $ANTLR start "rule__Port__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11948:1: rule__Port__Group__6__Impl : ( ( rule__Port__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11792:1: rule__Port__Group__6__Impl : ( ( rule__Port__DocuAssignment_6 )? ) ;
     public final void rule__Port__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11952:1: ( ( ( rule__Port__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11953:1: ( ( rule__Port__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11796:1: ( ( ( rule__Port__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11797:1: ( ( rule__Port__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11953:1: ( ( rule__Port__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11954:1: ( rule__Port__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11797:1: ( ( rule__Port__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11798:1: ( rule__Port__DocuAssignment_6 )?
             {
              before(grammarAccess.getPortAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11955:1: ( rule__Port__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11799:1: ( rule__Port__DocuAssignment_6 )?
             int alt127=2;
             int LA127_0 = input.LA(1);
 
-            if ( (LA127_0==58) ) {
+            if ( (LA127_0==59) ) {
                 alt127=1;
             }
             switch (alt127) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11955:2: rule__Port__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11799:2: rule__Port__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__Port__DocuAssignment_6_in_rule__Port__Group__6__Impl24601);
+                    pushFollow(FOLLOW_rule__Port__DocuAssignment_6_in_rule__Port__Group__6__Impl24293);
                     rule__Port__DocuAssignment_6();
 
                     state._fsp--;
@@ -33757,21 +33521,21 @@
 
 
     // $ANTLR start "rule__ExternalPort__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11979:1: rule__ExternalPort__Group__0 : rule__ExternalPort__Group__0__Impl rule__ExternalPort__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11823:1: rule__ExternalPort__Group__0 : rule__ExternalPort__Group__0__Impl rule__ExternalPort__Group__1 ;
     public final void rule__ExternalPort__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11983:1: ( rule__ExternalPort__Group__0__Impl rule__ExternalPort__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11984:2: rule__ExternalPort__Group__0__Impl rule__ExternalPort__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11827:1: ( rule__ExternalPort__Group__0__Impl rule__ExternalPort__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11828:2: rule__ExternalPort__Group__0__Impl rule__ExternalPort__Group__1
             {
-            pushFollow(FOLLOW_rule__ExternalPort__Group__0__Impl_in_rule__ExternalPort__Group__024646);
+            pushFollow(FOLLOW_rule__ExternalPort__Group__0__Impl_in_rule__ExternalPort__Group__024338);
             rule__ExternalPort__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ExternalPort__Group__1_in_rule__ExternalPort__Group__024649);
+            pushFollow(FOLLOW_rule__ExternalPort__Group__1_in_rule__ExternalPort__Group__024341);
             rule__ExternalPort__Group__1();
 
             state._fsp--;
@@ -33795,20 +33559,20 @@
 
 
     // $ANTLR start "rule__ExternalPort__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11991:1: rule__ExternalPort__Group__0__Impl : ( 'external' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11835:1: rule__ExternalPort__Group__0__Impl : ( 'external' ) ;
     public final void rule__ExternalPort__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11995:1: ( ( 'external' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11996:1: ( 'external' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11839:1: ( ( 'external' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11840:1: ( 'external' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11996:1: ( 'external' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11997:1: 'external'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11840:1: ( 'external' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11841:1: 'external'
             {
              before(grammarAccess.getExternalPortAccess().getExternalKeyword_0()); 
-            match(input,75,FOLLOW_75_in_rule__ExternalPort__Group__0__Impl24677); 
+            match(input,76,FOLLOW_76_in_rule__ExternalPort__Group__0__Impl24369); 
              after(grammarAccess.getExternalPortAccess().getExternalKeyword_0()); 
 
             }
@@ -33832,21 +33596,21 @@
 
 
     // $ANTLR start "rule__ExternalPort__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12010:1: rule__ExternalPort__Group__1 : rule__ExternalPort__Group__1__Impl rule__ExternalPort__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11854:1: rule__ExternalPort__Group__1 : rule__ExternalPort__Group__1__Impl rule__ExternalPort__Group__2 ;
     public final void rule__ExternalPort__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12014:1: ( rule__ExternalPort__Group__1__Impl rule__ExternalPort__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12015:2: rule__ExternalPort__Group__1__Impl rule__ExternalPort__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11858:1: ( rule__ExternalPort__Group__1__Impl rule__ExternalPort__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11859:2: rule__ExternalPort__Group__1__Impl rule__ExternalPort__Group__2
             {
-            pushFollow(FOLLOW_rule__ExternalPort__Group__1__Impl_in_rule__ExternalPort__Group__124708);
+            pushFollow(FOLLOW_rule__ExternalPort__Group__1__Impl_in_rule__ExternalPort__Group__124400);
             rule__ExternalPort__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ExternalPort__Group__2_in_rule__ExternalPort__Group__124711);
+            pushFollow(FOLLOW_rule__ExternalPort__Group__2_in_rule__ExternalPort__Group__124403);
             rule__ExternalPort__Group__2();
 
             state._fsp--;
@@ -33870,20 +33634,20 @@
 
 
     // $ANTLR start "rule__ExternalPort__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12022:1: rule__ExternalPort__Group__1__Impl : ( 'Port' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11866:1: rule__ExternalPort__Group__1__Impl : ( 'Port' ) ;
     public final void rule__ExternalPort__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12026:1: ( ( 'Port' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12027:1: ( 'Port' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11870:1: ( ( 'Port' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11871:1: ( 'Port' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12027:1: ( 'Port' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12028:1: 'Port'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11871:1: ( 'Port' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11872:1: 'Port'
             {
              before(grammarAccess.getExternalPortAccess().getPortKeyword_1()); 
-            match(input,74,FOLLOW_74_in_rule__ExternalPort__Group__1__Impl24739); 
+            match(input,75,FOLLOW_75_in_rule__ExternalPort__Group__1__Impl24431); 
              after(grammarAccess.getExternalPortAccess().getPortKeyword_1()); 
 
             }
@@ -33907,16 +33671,16 @@
 
 
     // $ANTLR start "rule__ExternalPort__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12041:1: rule__ExternalPort__Group__2 : rule__ExternalPort__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11885:1: rule__ExternalPort__Group__2 : rule__ExternalPort__Group__2__Impl ;
     public final void rule__ExternalPort__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12045:1: ( rule__ExternalPort__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12046:2: rule__ExternalPort__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11889:1: ( rule__ExternalPort__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11890:2: rule__ExternalPort__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__ExternalPort__Group__2__Impl_in_rule__ExternalPort__Group__224770);
+            pushFollow(FOLLOW_rule__ExternalPort__Group__2__Impl_in_rule__ExternalPort__Group__224462);
             rule__ExternalPort__Group__2__Impl();
 
             state._fsp--;
@@ -33940,23 +33704,23 @@
 
 
     // $ANTLR start "rule__ExternalPort__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12052:1: rule__ExternalPort__Group__2__Impl : ( ( rule__ExternalPort__InterfacePortAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11896:1: rule__ExternalPort__Group__2__Impl : ( ( rule__ExternalPort__InterfacePortAssignment_2 ) ) ;
     public final void rule__ExternalPort__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12056:1: ( ( ( rule__ExternalPort__InterfacePortAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12057:1: ( ( rule__ExternalPort__InterfacePortAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11900:1: ( ( ( rule__ExternalPort__InterfacePortAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11901:1: ( ( rule__ExternalPort__InterfacePortAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12057:1: ( ( rule__ExternalPort__InterfacePortAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12058:1: ( rule__ExternalPort__InterfacePortAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11901:1: ( ( rule__ExternalPort__InterfacePortAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11902:1: ( rule__ExternalPort__InterfacePortAssignment_2 )
             {
              before(grammarAccess.getExternalPortAccess().getInterfacePortAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12059:1: ( rule__ExternalPort__InterfacePortAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12059:2: rule__ExternalPort__InterfacePortAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11903:1: ( rule__ExternalPort__InterfacePortAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11903:2: rule__ExternalPort__InterfacePortAssignment_2
             {
-            pushFollow(FOLLOW_rule__ExternalPort__InterfacePortAssignment_2_in_rule__ExternalPort__Group__2__Impl24797);
+            pushFollow(FOLLOW_rule__ExternalPort__InterfacePortAssignment_2_in_rule__ExternalPort__Group__2__Impl24489);
             rule__ExternalPort__InterfacePortAssignment_2();
 
             state._fsp--;
@@ -33987,21 +33751,21 @@
 
 
     // $ANTLR start "rule__SAP__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12075:1: rule__SAP__Group__0 : rule__SAP__Group__0__Impl rule__SAP__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11919:1: rule__SAP__Group__0 : rule__SAP__Group__0__Impl rule__SAP__Group__1 ;
     public final void rule__SAP__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12079:1: ( rule__SAP__Group__0__Impl rule__SAP__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12080:2: rule__SAP__Group__0__Impl rule__SAP__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11923:1: ( rule__SAP__Group__0__Impl rule__SAP__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11924:2: rule__SAP__Group__0__Impl rule__SAP__Group__1
             {
-            pushFollow(FOLLOW_rule__SAP__Group__0__Impl_in_rule__SAP__Group__024833);
+            pushFollow(FOLLOW_rule__SAP__Group__0__Impl_in_rule__SAP__Group__024525);
             rule__SAP__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SAP__Group__1_in_rule__SAP__Group__024836);
+            pushFollow(FOLLOW_rule__SAP__Group__1_in_rule__SAP__Group__024528);
             rule__SAP__Group__1();
 
             state._fsp--;
@@ -34025,20 +33789,20 @@
 
 
     // $ANTLR start "rule__SAP__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12087:1: rule__SAP__Group__0__Impl : ( 'SAP' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11931:1: rule__SAP__Group__0__Impl : ( 'SAP' ) ;
     public final void rule__SAP__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12091:1: ( ( 'SAP' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12092:1: ( 'SAP' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11935:1: ( ( 'SAP' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11936:1: ( 'SAP' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12092:1: ( 'SAP' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12093:1: 'SAP'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11936:1: ( 'SAP' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11937:1: 'SAP'
             {
              before(grammarAccess.getSAPAccess().getSAPKeyword_0()); 
-            match(input,76,FOLLOW_76_in_rule__SAP__Group__0__Impl24864); 
+            match(input,77,FOLLOW_77_in_rule__SAP__Group__0__Impl24556); 
              after(grammarAccess.getSAPAccess().getSAPKeyword_0()); 
 
             }
@@ -34062,21 +33826,21 @@
 
 
     // $ANTLR start "rule__SAP__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12106:1: rule__SAP__Group__1 : rule__SAP__Group__1__Impl rule__SAP__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11950:1: rule__SAP__Group__1 : rule__SAP__Group__1__Impl rule__SAP__Group__2 ;
     public final void rule__SAP__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12110:1: ( rule__SAP__Group__1__Impl rule__SAP__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12111:2: rule__SAP__Group__1__Impl rule__SAP__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11954:1: ( rule__SAP__Group__1__Impl rule__SAP__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11955:2: rule__SAP__Group__1__Impl rule__SAP__Group__2
             {
-            pushFollow(FOLLOW_rule__SAP__Group__1__Impl_in_rule__SAP__Group__124895);
+            pushFollow(FOLLOW_rule__SAP__Group__1__Impl_in_rule__SAP__Group__124587);
             rule__SAP__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SAP__Group__2_in_rule__SAP__Group__124898);
+            pushFollow(FOLLOW_rule__SAP__Group__2_in_rule__SAP__Group__124590);
             rule__SAP__Group__2();
 
             state._fsp--;
@@ -34100,23 +33864,23 @@
 
 
     // $ANTLR start "rule__SAP__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12118:1: rule__SAP__Group__1__Impl : ( ( rule__SAP__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11962:1: rule__SAP__Group__1__Impl : ( ( rule__SAP__NameAssignment_1 ) ) ;
     public final void rule__SAP__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12122:1: ( ( ( rule__SAP__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12123:1: ( ( rule__SAP__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11966:1: ( ( ( rule__SAP__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11967:1: ( ( rule__SAP__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12123:1: ( ( rule__SAP__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12124:1: ( rule__SAP__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11967:1: ( ( rule__SAP__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11968:1: ( rule__SAP__NameAssignment_1 )
             {
              before(grammarAccess.getSAPAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12125:1: ( rule__SAP__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12125:2: rule__SAP__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11969:1: ( rule__SAP__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11969:2: rule__SAP__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__SAP__NameAssignment_1_in_rule__SAP__Group__1__Impl24925);
+            pushFollow(FOLLOW_rule__SAP__NameAssignment_1_in_rule__SAP__Group__1__Impl24617);
             rule__SAP__NameAssignment_1();
 
             state._fsp--;
@@ -34147,21 +33911,21 @@
 
 
     // $ANTLR start "rule__SAP__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12135:1: rule__SAP__Group__2 : rule__SAP__Group__2__Impl rule__SAP__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11979:1: rule__SAP__Group__2 : rule__SAP__Group__2__Impl rule__SAP__Group__3 ;
     public final void rule__SAP__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12139:1: ( rule__SAP__Group__2__Impl rule__SAP__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12140:2: rule__SAP__Group__2__Impl rule__SAP__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11983:1: ( rule__SAP__Group__2__Impl rule__SAP__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11984:2: rule__SAP__Group__2__Impl rule__SAP__Group__3
             {
-            pushFollow(FOLLOW_rule__SAP__Group__2__Impl_in_rule__SAP__Group__224955);
+            pushFollow(FOLLOW_rule__SAP__Group__2__Impl_in_rule__SAP__Group__224647);
             rule__SAP__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SAP__Group__3_in_rule__SAP__Group__224958);
+            pushFollow(FOLLOW_rule__SAP__Group__3_in_rule__SAP__Group__224650);
             rule__SAP__Group__3();
 
             state._fsp--;
@@ -34185,20 +33949,20 @@
 
 
     // $ANTLR start "rule__SAP__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12147:1: rule__SAP__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11991:1: rule__SAP__Group__2__Impl : ( ':' ) ;
     public final void rule__SAP__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12151:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12152:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11995:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11996:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12152:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12153:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11996:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:11997:1: ':'
             {
              before(grammarAccess.getSAPAccess().getColonKeyword_2()); 
-            match(input,42,FOLLOW_42_in_rule__SAP__Group__2__Impl24986); 
+            match(input,43,FOLLOW_43_in_rule__SAP__Group__2__Impl24678); 
              after(grammarAccess.getSAPAccess().getColonKeyword_2()); 
 
             }
@@ -34222,16 +33986,16 @@
 
 
     // $ANTLR start "rule__SAP__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12166:1: rule__SAP__Group__3 : rule__SAP__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12010:1: rule__SAP__Group__3 : rule__SAP__Group__3__Impl ;
     public final void rule__SAP__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12170:1: ( rule__SAP__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12171:2: rule__SAP__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12014:1: ( rule__SAP__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12015:2: rule__SAP__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__SAP__Group__3__Impl_in_rule__SAP__Group__325017);
+            pushFollow(FOLLOW_rule__SAP__Group__3__Impl_in_rule__SAP__Group__324709);
             rule__SAP__Group__3__Impl();
 
             state._fsp--;
@@ -34255,23 +34019,23 @@
 
 
     // $ANTLR start "rule__SAP__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12177:1: rule__SAP__Group__3__Impl : ( ( rule__SAP__ProtocolAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12021:1: rule__SAP__Group__3__Impl : ( ( rule__SAP__ProtocolAssignment_3 ) ) ;
     public final void rule__SAP__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12181:1: ( ( ( rule__SAP__ProtocolAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12182:1: ( ( rule__SAP__ProtocolAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12025:1: ( ( ( rule__SAP__ProtocolAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12026:1: ( ( rule__SAP__ProtocolAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12182:1: ( ( rule__SAP__ProtocolAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12183:1: ( rule__SAP__ProtocolAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12026:1: ( ( rule__SAP__ProtocolAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12027:1: ( rule__SAP__ProtocolAssignment_3 )
             {
              before(grammarAccess.getSAPAccess().getProtocolAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12184:1: ( rule__SAP__ProtocolAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12184:2: rule__SAP__ProtocolAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12028:1: ( rule__SAP__ProtocolAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12028:2: rule__SAP__ProtocolAssignment_3
             {
-            pushFollow(FOLLOW_rule__SAP__ProtocolAssignment_3_in_rule__SAP__Group__3__Impl25044);
+            pushFollow(FOLLOW_rule__SAP__ProtocolAssignment_3_in_rule__SAP__Group__3__Impl24736);
             rule__SAP__ProtocolAssignment_3();
 
             state._fsp--;
@@ -34302,21 +34066,21 @@
 
 
     // $ANTLR start "rule__SPP__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12202:1: rule__SPP__Group__0 : rule__SPP__Group__0__Impl rule__SPP__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12046:1: rule__SPP__Group__0 : rule__SPP__Group__0__Impl rule__SPP__Group__1 ;
     public final void rule__SPP__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12206:1: ( rule__SPP__Group__0__Impl rule__SPP__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12207:2: rule__SPP__Group__0__Impl rule__SPP__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12050:1: ( rule__SPP__Group__0__Impl rule__SPP__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12051:2: rule__SPP__Group__0__Impl rule__SPP__Group__1
             {
-            pushFollow(FOLLOW_rule__SPP__Group__0__Impl_in_rule__SPP__Group__025082);
+            pushFollow(FOLLOW_rule__SPP__Group__0__Impl_in_rule__SPP__Group__024774);
             rule__SPP__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SPP__Group__1_in_rule__SPP__Group__025085);
+            pushFollow(FOLLOW_rule__SPP__Group__1_in_rule__SPP__Group__024777);
             rule__SPP__Group__1();
 
             state._fsp--;
@@ -34340,20 +34104,20 @@
 
 
     // $ANTLR start "rule__SPP__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12214:1: rule__SPP__Group__0__Impl : ( 'SPP' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12058:1: rule__SPP__Group__0__Impl : ( 'SPP' ) ;
     public final void rule__SPP__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12218:1: ( ( 'SPP' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12219:1: ( 'SPP' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12062:1: ( ( 'SPP' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12063:1: ( 'SPP' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12219:1: ( 'SPP' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12220:1: 'SPP'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12063:1: ( 'SPP' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12064:1: 'SPP'
             {
              before(grammarAccess.getSPPAccess().getSPPKeyword_0()); 
-            match(input,77,FOLLOW_77_in_rule__SPP__Group__0__Impl25113); 
+            match(input,78,FOLLOW_78_in_rule__SPP__Group__0__Impl24805); 
              after(grammarAccess.getSPPAccess().getSPPKeyword_0()); 
 
             }
@@ -34377,21 +34141,21 @@
 
 
     // $ANTLR start "rule__SPP__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12233:1: rule__SPP__Group__1 : rule__SPP__Group__1__Impl rule__SPP__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12077:1: rule__SPP__Group__1 : rule__SPP__Group__1__Impl rule__SPP__Group__2 ;
     public final void rule__SPP__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12237:1: ( rule__SPP__Group__1__Impl rule__SPP__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12238:2: rule__SPP__Group__1__Impl rule__SPP__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12081:1: ( rule__SPP__Group__1__Impl rule__SPP__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12082:2: rule__SPP__Group__1__Impl rule__SPP__Group__2
             {
-            pushFollow(FOLLOW_rule__SPP__Group__1__Impl_in_rule__SPP__Group__125144);
+            pushFollow(FOLLOW_rule__SPP__Group__1__Impl_in_rule__SPP__Group__124836);
             rule__SPP__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SPP__Group__2_in_rule__SPP__Group__125147);
+            pushFollow(FOLLOW_rule__SPP__Group__2_in_rule__SPP__Group__124839);
             rule__SPP__Group__2();
 
             state._fsp--;
@@ -34415,23 +34179,23 @@
 
 
     // $ANTLR start "rule__SPP__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12245:1: rule__SPP__Group__1__Impl : ( ( rule__SPP__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12089:1: rule__SPP__Group__1__Impl : ( ( rule__SPP__NameAssignment_1 ) ) ;
     public final void rule__SPP__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12249:1: ( ( ( rule__SPP__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12250:1: ( ( rule__SPP__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12093:1: ( ( ( rule__SPP__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12094:1: ( ( rule__SPP__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12250:1: ( ( rule__SPP__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12251:1: ( rule__SPP__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12094:1: ( ( rule__SPP__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12095:1: ( rule__SPP__NameAssignment_1 )
             {
              before(grammarAccess.getSPPAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12252:1: ( rule__SPP__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12252:2: rule__SPP__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12096:1: ( rule__SPP__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12096:2: rule__SPP__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__SPP__NameAssignment_1_in_rule__SPP__Group__1__Impl25174);
+            pushFollow(FOLLOW_rule__SPP__NameAssignment_1_in_rule__SPP__Group__1__Impl24866);
             rule__SPP__NameAssignment_1();
 
             state._fsp--;
@@ -34462,21 +34226,21 @@
 
 
     // $ANTLR start "rule__SPP__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12262:1: rule__SPP__Group__2 : rule__SPP__Group__2__Impl rule__SPP__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12106:1: rule__SPP__Group__2 : rule__SPP__Group__2__Impl rule__SPP__Group__3 ;
     public final void rule__SPP__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12266:1: ( rule__SPP__Group__2__Impl rule__SPP__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12267:2: rule__SPP__Group__2__Impl rule__SPP__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12110:1: ( rule__SPP__Group__2__Impl rule__SPP__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12111:2: rule__SPP__Group__2__Impl rule__SPP__Group__3
             {
-            pushFollow(FOLLOW_rule__SPP__Group__2__Impl_in_rule__SPP__Group__225204);
+            pushFollow(FOLLOW_rule__SPP__Group__2__Impl_in_rule__SPP__Group__224896);
             rule__SPP__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SPP__Group__3_in_rule__SPP__Group__225207);
+            pushFollow(FOLLOW_rule__SPP__Group__3_in_rule__SPP__Group__224899);
             rule__SPP__Group__3();
 
             state._fsp--;
@@ -34500,20 +34264,20 @@
 
 
     // $ANTLR start "rule__SPP__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12274:1: rule__SPP__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12118:1: rule__SPP__Group__2__Impl : ( ':' ) ;
     public final void rule__SPP__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12278:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12279:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12122:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12123:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12279:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12280:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12123:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12124:1: ':'
             {
              before(grammarAccess.getSPPAccess().getColonKeyword_2()); 
-            match(input,42,FOLLOW_42_in_rule__SPP__Group__2__Impl25235); 
+            match(input,43,FOLLOW_43_in_rule__SPP__Group__2__Impl24927); 
              after(grammarAccess.getSPPAccess().getColonKeyword_2()); 
 
             }
@@ -34537,16 +34301,16 @@
 
 
     // $ANTLR start "rule__SPP__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12293:1: rule__SPP__Group__3 : rule__SPP__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12137:1: rule__SPP__Group__3 : rule__SPP__Group__3__Impl ;
     public final void rule__SPP__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12297:1: ( rule__SPP__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12298:2: rule__SPP__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12141:1: ( rule__SPP__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12142:2: rule__SPP__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__SPP__Group__3__Impl_in_rule__SPP__Group__325266);
+            pushFollow(FOLLOW_rule__SPP__Group__3__Impl_in_rule__SPP__Group__324958);
             rule__SPP__Group__3__Impl();
 
             state._fsp--;
@@ -34570,23 +34334,23 @@
 
 
     // $ANTLR start "rule__SPP__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12304:1: rule__SPP__Group__3__Impl : ( ( rule__SPP__ProtocolAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12148:1: rule__SPP__Group__3__Impl : ( ( rule__SPP__ProtocolAssignment_3 ) ) ;
     public final void rule__SPP__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12308:1: ( ( ( rule__SPP__ProtocolAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12309:1: ( ( rule__SPP__ProtocolAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12152:1: ( ( ( rule__SPP__ProtocolAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12153:1: ( ( rule__SPP__ProtocolAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12309:1: ( ( rule__SPP__ProtocolAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12310:1: ( rule__SPP__ProtocolAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12153:1: ( ( rule__SPP__ProtocolAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12154:1: ( rule__SPP__ProtocolAssignment_3 )
             {
              before(grammarAccess.getSPPAccess().getProtocolAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12311:1: ( rule__SPP__ProtocolAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12311:2: rule__SPP__ProtocolAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12155:1: ( rule__SPP__ProtocolAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12155:2: rule__SPP__ProtocolAssignment_3
             {
-            pushFollow(FOLLOW_rule__SPP__ProtocolAssignment_3_in_rule__SPP__Group__3__Impl25293);
+            pushFollow(FOLLOW_rule__SPP__ProtocolAssignment_3_in_rule__SPP__Group__3__Impl24985);
             rule__SPP__ProtocolAssignment_3();
 
             state._fsp--;
@@ -34617,21 +34381,21 @@
 
 
     // $ANTLR start "rule__ServiceImplementation__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12329:1: rule__ServiceImplementation__Group__0 : rule__ServiceImplementation__Group__0__Impl rule__ServiceImplementation__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12173:1: rule__ServiceImplementation__Group__0 : rule__ServiceImplementation__Group__0__Impl rule__ServiceImplementation__Group__1 ;
     public final void rule__ServiceImplementation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12333:1: ( rule__ServiceImplementation__Group__0__Impl rule__ServiceImplementation__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12334:2: rule__ServiceImplementation__Group__0__Impl rule__ServiceImplementation__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12177:1: ( rule__ServiceImplementation__Group__0__Impl rule__ServiceImplementation__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12178:2: rule__ServiceImplementation__Group__0__Impl rule__ServiceImplementation__Group__1
             {
-            pushFollow(FOLLOW_rule__ServiceImplementation__Group__0__Impl_in_rule__ServiceImplementation__Group__025331);
+            pushFollow(FOLLOW_rule__ServiceImplementation__Group__0__Impl_in_rule__ServiceImplementation__Group__025023);
             rule__ServiceImplementation__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ServiceImplementation__Group__1_in_rule__ServiceImplementation__Group__025334);
+            pushFollow(FOLLOW_rule__ServiceImplementation__Group__1_in_rule__ServiceImplementation__Group__025026);
             rule__ServiceImplementation__Group__1();
 
             state._fsp--;
@@ -34655,20 +34419,20 @@
 
 
     // $ANTLR start "rule__ServiceImplementation__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12341:1: rule__ServiceImplementation__Group__0__Impl : ( 'ServiceImplementation' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12185:1: rule__ServiceImplementation__Group__0__Impl : ( 'ServiceImplementation' ) ;
     public final void rule__ServiceImplementation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12345:1: ( ( 'ServiceImplementation' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12346:1: ( 'ServiceImplementation' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12189:1: ( ( 'ServiceImplementation' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12190:1: ( 'ServiceImplementation' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12346:1: ( 'ServiceImplementation' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12347:1: 'ServiceImplementation'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12190:1: ( 'ServiceImplementation' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12191:1: 'ServiceImplementation'
             {
              before(grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0()); 
-            match(input,78,FOLLOW_78_in_rule__ServiceImplementation__Group__0__Impl25362); 
+            match(input,79,FOLLOW_79_in_rule__ServiceImplementation__Group__0__Impl25054); 
              after(grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0()); 
 
             }
@@ -34692,21 +34456,21 @@
 
 
     // $ANTLR start "rule__ServiceImplementation__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12360:1: rule__ServiceImplementation__Group__1 : rule__ServiceImplementation__Group__1__Impl rule__ServiceImplementation__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12204:1: rule__ServiceImplementation__Group__1 : rule__ServiceImplementation__Group__1__Impl rule__ServiceImplementation__Group__2 ;
     public final void rule__ServiceImplementation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12364:1: ( rule__ServiceImplementation__Group__1__Impl rule__ServiceImplementation__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12365:2: rule__ServiceImplementation__Group__1__Impl rule__ServiceImplementation__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12208:1: ( rule__ServiceImplementation__Group__1__Impl rule__ServiceImplementation__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12209:2: rule__ServiceImplementation__Group__1__Impl rule__ServiceImplementation__Group__2
             {
-            pushFollow(FOLLOW_rule__ServiceImplementation__Group__1__Impl_in_rule__ServiceImplementation__Group__125393);
+            pushFollow(FOLLOW_rule__ServiceImplementation__Group__1__Impl_in_rule__ServiceImplementation__Group__125085);
             rule__ServiceImplementation__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ServiceImplementation__Group__2_in_rule__ServiceImplementation__Group__125396);
+            pushFollow(FOLLOW_rule__ServiceImplementation__Group__2_in_rule__ServiceImplementation__Group__125088);
             rule__ServiceImplementation__Group__2();
 
             state._fsp--;
@@ -34730,20 +34494,20 @@
 
 
     // $ANTLR start "rule__ServiceImplementation__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12372:1: rule__ServiceImplementation__Group__1__Impl : ( 'of' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12216:1: rule__ServiceImplementation__Group__1__Impl : ( 'of' ) ;
     public final void rule__ServiceImplementation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12376:1: ( ( 'of' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12377:1: ( 'of' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12220:1: ( ( 'of' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12221:1: ( 'of' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12377:1: ( 'of' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12378:1: 'of'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12221:1: ( 'of' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12222:1: 'of'
             {
              before(grammarAccess.getServiceImplementationAccess().getOfKeyword_1()); 
-            match(input,49,FOLLOW_49_in_rule__ServiceImplementation__Group__1__Impl25424); 
+            match(input,50,FOLLOW_50_in_rule__ServiceImplementation__Group__1__Impl25116); 
              after(grammarAccess.getServiceImplementationAccess().getOfKeyword_1()); 
 
             }
@@ -34767,16 +34531,16 @@
 
 
     // $ANTLR start "rule__ServiceImplementation__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12391:1: rule__ServiceImplementation__Group__2 : rule__ServiceImplementation__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12235:1: rule__ServiceImplementation__Group__2 : rule__ServiceImplementation__Group__2__Impl ;
     public final void rule__ServiceImplementation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12395:1: ( rule__ServiceImplementation__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12396:2: rule__ServiceImplementation__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12239:1: ( rule__ServiceImplementation__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12240:2: rule__ServiceImplementation__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__ServiceImplementation__Group__2__Impl_in_rule__ServiceImplementation__Group__225455);
+            pushFollow(FOLLOW_rule__ServiceImplementation__Group__2__Impl_in_rule__ServiceImplementation__Group__225147);
             rule__ServiceImplementation__Group__2__Impl();
 
             state._fsp--;
@@ -34800,23 +34564,23 @@
 
 
     // $ANTLR start "rule__ServiceImplementation__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12402:1: rule__ServiceImplementation__Group__2__Impl : ( ( rule__ServiceImplementation__SppAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12246:1: rule__ServiceImplementation__Group__2__Impl : ( ( rule__ServiceImplementation__SppAssignment_2 ) ) ;
     public final void rule__ServiceImplementation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12406:1: ( ( ( rule__ServiceImplementation__SppAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12407:1: ( ( rule__ServiceImplementation__SppAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12250:1: ( ( ( rule__ServiceImplementation__SppAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12251:1: ( ( rule__ServiceImplementation__SppAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12407:1: ( ( rule__ServiceImplementation__SppAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12408:1: ( rule__ServiceImplementation__SppAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12251:1: ( ( rule__ServiceImplementation__SppAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12252:1: ( rule__ServiceImplementation__SppAssignment_2 )
             {
              before(grammarAccess.getServiceImplementationAccess().getSppAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12409:1: ( rule__ServiceImplementation__SppAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12409:2: rule__ServiceImplementation__SppAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12253:1: ( rule__ServiceImplementation__SppAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12253:2: rule__ServiceImplementation__SppAssignment_2
             {
-            pushFollow(FOLLOW_rule__ServiceImplementation__SppAssignment_2_in_rule__ServiceImplementation__Group__2__Impl25482);
+            pushFollow(FOLLOW_rule__ServiceImplementation__SppAssignment_2_in_rule__ServiceImplementation__Group__2__Impl25174);
             rule__ServiceImplementation__SppAssignment_2();
 
             state._fsp--;
@@ -34847,21 +34611,21 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12425:1: rule__LogicalSystem__Group__0 : rule__LogicalSystem__Group__0__Impl rule__LogicalSystem__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12269:1: rule__LogicalSystem__Group__0 : rule__LogicalSystem__Group__0__Impl rule__LogicalSystem__Group__1 ;
     public final void rule__LogicalSystem__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12429:1: ( rule__LogicalSystem__Group__0__Impl rule__LogicalSystem__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12430:2: rule__LogicalSystem__Group__0__Impl rule__LogicalSystem__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12273:1: ( rule__LogicalSystem__Group__0__Impl rule__LogicalSystem__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12274:2: rule__LogicalSystem__Group__0__Impl rule__LogicalSystem__Group__1
             {
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__0__Impl_in_rule__LogicalSystem__Group__025518);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__0__Impl_in_rule__LogicalSystem__Group__025210);
             rule__LogicalSystem__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__1_in_rule__LogicalSystem__Group__025521);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__1_in_rule__LogicalSystem__Group__025213);
             rule__LogicalSystem__Group__1();
 
             state._fsp--;
@@ -34885,20 +34649,20 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12437:1: rule__LogicalSystem__Group__0__Impl : ( 'LogicalSystem' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12281:1: rule__LogicalSystem__Group__0__Impl : ( 'LogicalSystem' ) ;
     public final void rule__LogicalSystem__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12441:1: ( ( 'LogicalSystem' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12442:1: ( 'LogicalSystem' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12285:1: ( ( 'LogicalSystem' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12286:1: ( 'LogicalSystem' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12442:1: ( 'LogicalSystem' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12443:1: 'LogicalSystem'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12286:1: ( 'LogicalSystem' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12287:1: 'LogicalSystem'
             {
              before(grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0()); 
-            match(input,23,FOLLOW_23_in_rule__LogicalSystem__Group__0__Impl25549); 
+            match(input,22,FOLLOW_22_in_rule__LogicalSystem__Group__0__Impl25241); 
              after(grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0()); 
 
             }
@@ -34922,21 +34686,21 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12456:1: rule__LogicalSystem__Group__1 : rule__LogicalSystem__Group__1__Impl rule__LogicalSystem__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12300:1: rule__LogicalSystem__Group__1 : rule__LogicalSystem__Group__1__Impl rule__LogicalSystem__Group__2 ;
     public final void rule__LogicalSystem__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12460:1: ( rule__LogicalSystem__Group__1__Impl rule__LogicalSystem__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12461:2: rule__LogicalSystem__Group__1__Impl rule__LogicalSystem__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12304:1: ( rule__LogicalSystem__Group__1__Impl rule__LogicalSystem__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12305:2: rule__LogicalSystem__Group__1__Impl rule__LogicalSystem__Group__2
             {
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__1__Impl_in_rule__LogicalSystem__Group__125580);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__1__Impl_in_rule__LogicalSystem__Group__125272);
             rule__LogicalSystem__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__2_in_rule__LogicalSystem__Group__125583);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__2_in_rule__LogicalSystem__Group__125275);
             rule__LogicalSystem__Group__2();
 
             state._fsp--;
@@ -34960,23 +34724,23 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12468:1: rule__LogicalSystem__Group__1__Impl : ( ( rule__LogicalSystem__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12312:1: rule__LogicalSystem__Group__1__Impl : ( ( rule__LogicalSystem__NameAssignment_1 ) ) ;
     public final void rule__LogicalSystem__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12472:1: ( ( ( rule__LogicalSystem__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12473:1: ( ( rule__LogicalSystem__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12316:1: ( ( ( rule__LogicalSystem__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12317:1: ( ( rule__LogicalSystem__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12473:1: ( ( rule__LogicalSystem__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12474:1: ( rule__LogicalSystem__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12317:1: ( ( rule__LogicalSystem__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12318:1: ( rule__LogicalSystem__NameAssignment_1 )
             {
              before(grammarAccess.getLogicalSystemAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12475:1: ( rule__LogicalSystem__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12475:2: rule__LogicalSystem__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12319:1: ( rule__LogicalSystem__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12319:2: rule__LogicalSystem__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__LogicalSystem__NameAssignment_1_in_rule__LogicalSystem__Group__1__Impl25610);
+            pushFollow(FOLLOW_rule__LogicalSystem__NameAssignment_1_in_rule__LogicalSystem__Group__1__Impl25302);
             rule__LogicalSystem__NameAssignment_1();
 
             state._fsp--;
@@ -35007,21 +34771,21 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12485:1: rule__LogicalSystem__Group__2 : rule__LogicalSystem__Group__2__Impl rule__LogicalSystem__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12329:1: rule__LogicalSystem__Group__2 : rule__LogicalSystem__Group__2__Impl rule__LogicalSystem__Group__3 ;
     public final void rule__LogicalSystem__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12489:1: ( rule__LogicalSystem__Group__2__Impl rule__LogicalSystem__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12490:2: rule__LogicalSystem__Group__2__Impl rule__LogicalSystem__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12333:1: ( rule__LogicalSystem__Group__2__Impl rule__LogicalSystem__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12334:2: rule__LogicalSystem__Group__2__Impl rule__LogicalSystem__Group__3
             {
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__2__Impl_in_rule__LogicalSystem__Group__225640);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__2__Impl_in_rule__LogicalSystem__Group__225332);
             rule__LogicalSystem__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__3_in_rule__LogicalSystem__Group__225643);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__3_in_rule__LogicalSystem__Group__225335);
             rule__LogicalSystem__Group__3();
 
             state._fsp--;
@@ -35045,31 +34809,31 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12497:1: rule__LogicalSystem__Group__2__Impl : ( ( rule__LogicalSystem__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12341:1: rule__LogicalSystem__Group__2__Impl : ( ( rule__LogicalSystem__DocuAssignment_2 )? ) ;
     public final void rule__LogicalSystem__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12501:1: ( ( ( rule__LogicalSystem__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12502:1: ( ( rule__LogicalSystem__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12345:1: ( ( ( rule__LogicalSystem__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12346:1: ( ( rule__LogicalSystem__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12502:1: ( ( rule__LogicalSystem__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12503:1: ( rule__LogicalSystem__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12346:1: ( ( rule__LogicalSystem__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12347:1: ( rule__LogicalSystem__DocuAssignment_2 )?
             {
              before(grammarAccess.getLogicalSystemAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12504:1: ( rule__LogicalSystem__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12348:1: ( rule__LogicalSystem__DocuAssignment_2 )?
             int alt128=2;
             int LA128_0 = input.LA(1);
 
-            if ( (LA128_0==58) ) {
+            if ( (LA128_0==59) ) {
                 alt128=1;
             }
             switch (alt128) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12504:2: rule__LogicalSystem__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12348:2: rule__LogicalSystem__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__LogicalSystem__DocuAssignment_2_in_rule__LogicalSystem__Group__2__Impl25670);
+                    pushFollow(FOLLOW_rule__LogicalSystem__DocuAssignment_2_in_rule__LogicalSystem__Group__2__Impl25362);
                     rule__LogicalSystem__DocuAssignment_2();
 
                     state._fsp--;
@@ -35103,21 +34867,21 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12514:1: rule__LogicalSystem__Group__3 : rule__LogicalSystem__Group__3__Impl rule__LogicalSystem__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12358:1: rule__LogicalSystem__Group__3 : rule__LogicalSystem__Group__3__Impl rule__LogicalSystem__Group__4 ;
     public final void rule__LogicalSystem__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12518:1: ( rule__LogicalSystem__Group__3__Impl rule__LogicalSystem__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12519:2: rule__LogicalSystem__Group__3__Impl rule__LogicalSystem__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12362:1: ( rule__LogicalSystem__Group__3__Impl rule__LogicalSystem__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12363:2: rule__LogicalSystem__Group__3__Impl rule__LogicalSystem__Group__4
             {
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__3__Impl_in_rule__LogicalSystem__Group__325701);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__3__Impl_in_rule__LogicalSystem__Group__325393);
             rule__LogicalSystem__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__4_in_rule__LogicalSystem__Group__325704);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__4_in_rule__LogicalSystem__Group__325396);
             rule__LogicalSystem__Group__4();
 
             state._fsp--;
@@ -35141,20 +34905,20 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12526:1: rule__LogicalSystem__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12370:1: rule__LogicalSystem__Group__3__Impl : ( '{' ) ;
     public final void rule__LogicalSystem__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12530:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12531:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12374:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12375:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12531:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12532:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12375:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12376:1: '{'
             {
              before(grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,40,FOLLOW_40_in_rule__LogicalSystem__Group__3__Impl25732); 
+            match(input,41,FOLLOW_41_in_rule__LogicalSystem__Group__3__Impl25424); 
              after(grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_3()); 
 
             }
@@ -35178,21 +34942,21 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12545:1: rule__LogicalSystem__Group__4 : rule__LogicalSystem__Group__4__Impl rule__LogicalSystem__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12389:1: rule__LogicalSystem__Group__4 : rule__LogicalSystem__Group__4__Impl rule__LogicalSystem__Group__5 ;
     public final void rule__LogicalSystem__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12549:1: ( rule__LogicalSystem__Group__4__Impl rule__LogicalSystem__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12550:2: rule__LogicalSystem__Group__4__Impl rule__LogicalSystem__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12393:1: ( rule__LogicalSystem__Group__4__Impl rule__LogicalSystem__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12394:2: rule__LogicalSystem__Group__4__Impl rule__LogicalSystem__Group__5
             {
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__4__Impl_in_rule__LogicalSystem__Group__425763);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__4__Impl_in_rule__LogicalSystem__Group__425455);
             rule__LogicalSystem__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__5_in_rule__LogicalSystem__Group__425766);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__5_in_rule__LogicalSystem__Group__425458);
             rule__LogicalSystem__Group__5();
 
             state._fsp--;
@@ -35216,35 +34980,35 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12557:1: rule__LogicalSystem__Group__4__Impl : ( ( rule__LogicalSystem__AnnotationsAssignment_4 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12401:1: rule__LogicalSystem__Group__4__Impl : ( ( rule__LogicalSystem__AnnotationsAssignment_4 )* ) ;
     public final void rule__LogicalSystem__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12561:1: ( ( ( rule__LogicalSystem__AnnotationsAssignment_4 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12562:1: ( ( rule__LogicalSystem__AnnotationsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12405:1: ( ( ( rule__LogicalSystem__AnnotationsAssignment_4 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12406:1: ( ( rule__LogicalSystem__AnnotationsAssignment_4 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12562:1: ( ( rule__LogicalSystem__AnnotationsAssignment_4 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12563:1: ( rule__LogicalSystem__AnnotationsAssignment_4 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12406:1: ( ( rule__LogicalSystem__AnnotationsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12407:1: ( rule__LogicalSystem__AnnotationsAssignment_4 )*
             {
              before(grammarAccess.getLogicalSystemAccess().getAnnotationsAssignment_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12564:1: ( rule__LogicalSystem__AnnotationsAssignment_4 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12408:1: ( rule__LogicalSystem__AnnotationsAssignment_4 )*
             loop129:
             do {
                 int alt129=2;
                 int LA129_0 = input.LA(1);
 
-                if ( (LA129_0==119) ) {
+                if ( (LA129_0==120) ) {
                     alt129=1;
                 }
 
 
                 switch (alt129) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12564:2: rule__LogicalSystem__AnnotationsAssignment_4
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12408:2: rule__LogicalSystem__AnnotationsAssignment_4
             	    {
-            	    pushFollow(FOLLOW_rule__LogicalSystem__AnnotationsAssignment_4_in_rule__LogicalSystem__Group__4__Impl25793);
+            	    pushFollow(FOLLOW_rule__LogicalSystem__AnnotationsAssignment_4_in_rule__LogicalSystem__Group__4__Impl25485);
             	    rule__LogicalSystem__AnnotationsAssignment_4();
 
             	    state._fsp--;
@@ -35281,21 +35045,21 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12574:1: rule__LogicalSystem__Group__5 : rule__LogicalSystem__Group__5__Impl rule__LogicalSystem__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12418:1: rule__LogicalSystem__Group__5 : rule__LogicalSystem__Group__5__Impl rule__LogicalSystem__Group__6 ;
     public final void rule__LogicalSystem__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12578:1: ( rule__LogicalSystem__Group__5__Impl rule__LogicalSystem__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12579:2: rule__LogicalSystem__Group__5__Impl rule__LogicalSystem__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12422:1: ( rule__LogicalSystem__Group__5__Impl rule__LogicalSystem__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12423:2: rule__LogicalSystem__Group__5__Impl rule__LogicalSystem__Group__6
             {
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__5__Impl_in_rule__LogicalSystem__Group__525824);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__5__Impl_in_rule__LogicalSystem__Group__525516);
             rule__LogicalSystem__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__6_in_rule__LogicalSystem__Group__525827);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__6_in_rule__LogicalSystem__Group__525519);
             rule__LogicalSystem__Group__6();
 
             state._fsp--;
@@ -35319,35 +35083,35 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12586:1: rule__LogicalSystem__Group__5__Impl : ( ( rule__LogicalSystem__Alternatives_5 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12430:1: rule__LogicalSystem__Group__5__Impl : ( ( rule__LogicalSystem__Alternatives_5 )* ) ;
     public final void rule__LogicalSystem__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12590:1: ( ( ( rule__LogicalSystem__Alternatives_5 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12591:1: ( ( rule__LogicalSystem__Alternatives_5 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12434:1: ( ( ( rule__LogicalSystem__Alternatives_5 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12435:1: ( ( rule__LogicalSystem__Alternatives_5 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12591:1: ( ( rule__LogicalSystem__Alternatives_5 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12592:1: ( rule__LogicalSystem__Alternatives_5 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12435:1: ( ( rule__LogicalSystem__Alternatives_5 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12436:1: ( rule__LogicalSystem__Alternatives_5 )*
             {
              before(grammarAccess.getLogicalSystemAccess().getAlternatives_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12593:1: ( rule__LogicalSystem__Alternatives_5 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12437:1: ( rule__LogicalSystem__Alternatives_5 )*
             loop130:
             do {
                 int alt130=2;
                 int LA130_0 = input.LA(1);
 
-                if ( (LA130_0==79||LA130_0==83||LA130_0==87) ) {
+                if ( (LA130_0==80||LA130_0==84||LA130_0==88) ) {
                     alt130=1;
                 }
 
 
                 switch (alt130) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12593:2: rule__LogicalSystem__Alternatives_5
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12437:2: rule__LogicalSystem__Alternatives_5
             	    {
-            	    pushFollow(FOLLOW_rule__LogicalSystem__Alternatives_5_in_rule__LogicalSystem__Group__5__Impl25854);
+            	    pushFollow(FOLLOW_rule__LogicalSystem__Alternatives_5_in_rule__LogicalSystem__Group__5__Impl25546);
             	    rule__LogicalSystem__Alternatives_5();
 
             	    state._fsp--;
@@ -35384,16 +35148,16 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12603:1: rule__LogicalSystem__Group__6 : rule__LogicalSystem__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12447:1: rule__LogicalSystem__Group__6 : rule__LogicalSystem__Group__6__Impl ;
     public final void rule__LogicalSystem__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12607:1: ( rule__LogicalSystem__Group__6__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12608:2: rule__LogicalSystem__Group__6__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12451:1: ( rule__LogicalSystem__Group__6__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12452:2: rule__LogicalSystem__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__LogicalSystem__Group__6__Impl_in_rule__LogicalSystem__Group__625885);
+            pushFollow(FOLLOW_rule__LogicalSystem__Group__6__Impl_in_rule__LogicalSystem__Group__625577);
             rule__LogicalSystem__Group__6__Impl();
 
             state._fsp--;
@@ -35417,20 +35181,20 @@
 
 
     // $ANTLR start "rule__LogicalSystem__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12614:1: rule__LogicalSystem__Group__6__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12458:1: rule__LogicalSystem__Group__6__Impl : ( '}' ) ;
     public final void rule__LogicalSystem__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12618:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12619:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12462:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12463:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12619:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12620:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12463:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12464:1: '}'
             {
              before(grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,41,FOLLOW_41_in_rule__LogicalSystem__Group__6__Impl25913); 
+            match(input,42,FOLLOW_42_in_rule__LogicalSystem__Group__6__Impl25605); 
              after(grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6()); 
 
             }
@@ -35454,21 +35218,21 @@
 
 
     // $ANTLR start "rule__SubSystemRef__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12647:1: rule__SubSystemRef__Group__0 : rule__SubSystemRef__Group__0__Impl rule__SubSystemRef__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12491:1: rule__SubSystemRef__Group__0 : rule__SubSystemRef__Group__0__Impl rule__SubSystemRef__Group__1 ;
     public final void rule__SubSystemRef__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12651:1: ( rule__SubSystemRef__Group__0__Impl rule__SubSystemRef__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12652:2: rule__SubSystemRef__Group__0__Impl rule__SubSystemRef__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12495:1: ( rule__SubSystemRef__Group__0__Impl rule__SubSystemRef__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12496:2: rule__SubSystemRef__Group__0__Impl rule__SubSystemRef__Group__1
             {
-            pushFollow(FOLLOW_rule__SubSystemRef__Group__0__Impl_in_rule__SubSystemRef__Group__025958);
+            pushFollow(FOLLOW_rule__SubSystemRef__Group__0__Impl_in_rule__SubSystemRef__Group__025650);
             rule__SubSystemRef__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemRef__Group__1_in_rule__SubSystemRef__Group__025961);
+            pushFollow(FOLLOW_rule__SubSystemRef__Group__1_in_rule__SubSystemRef__Group__025653);
             rule__SubSystemRef__Group__1();
 
             state._fsp--;
@@ -35492,20 +35256,20 @@
 
 
     // $ANTLR start "rule__SubSystemRef__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12659:1: rule__SubSystemRef__Group__0__Impl : ( 'SubSystemRef' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12503:1: rule__SubSystemRef__Group__0__Impl : ( 'SubSystemRef' ) ;
     public final void rule__SubSystemRef__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12663:1: ( ( 'SubSystemRef' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12664:1: ( 'SubSystemRef' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12507:1: ( ( 'SubSystemRef' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12508:1: ( 'SubSystemRef' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12664:1: ( 'SubSystemRef' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12665:1: 'SubSystemRef'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12508:1: ( 'SubSystemRef' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12509:1: 'SubSystemRef'
             {
              before(grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0()); 
-            match(input,79,FOLLOW_79_in_rule__SubSystemRef__Group__0__Impl25989); 
+            match(input,80,FOLLOW_80_in_rule__SubSystemRef__Group__0__Impl25681); 
              after(grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0()); 
 
             }
@@ -35529,21 +35293,21 @@
 
 
     // $ANTLR start "rule__SubSystemRef__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12678:1: rule__SubSystemRef__Group__1 : rule__SubSystemRef__Group__1__Impl rule__SubSystemRef__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12522:1: rule__SubSystemRef__Group__1 : rule__SubSystemRef__Group__1__Impl rule__SubSystemRef__Group__2 ;
     public final void rule__SubSystemRef__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12682:1: ( rule__SubSystemRef__Group__1__Impl rule__SubSystemRef__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12683:2: rule__SubSystemRef__Group__1__Impl rule__SubSystemRef__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12526:1: ( rule__SubSystemRef__Group__1__Impl rule__SubSystemRef__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12527:2: rule__SubSystemRef__Group__1__Impl rule__SubSystemRef__Group__2
             {
-            pushFollow(FOLLOW_rule__SubSystemRef__Group__1__Impl_in_rule__SubSystemRef__Group__126020);
+            pushFollow(FOLLOW_rule__SubSystemRef__Group__1__Impl_in_rule__SubSystemRef__Group__125712);
             rule__SubSystemRef__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemRef__Group__2_in_rule__SubSystemRef__Group__126023);
+            pushFollow(FOLLOW_rule__SubSystemRef__Group__2_in_rule__SubSystemRef__Group__125715);
             rule__SubSystemRef__Group__2();
 
             state._fsp--;
@@ -35567,23 +35331,23 @@
 
 
     // $ANTLR start "rule__SubSystemRef__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12690:1: rule__SubSystemRef__Group__1__Impl : ( ( rule__SubSystemRef__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12534:1: rule__SubSystemRef__Group__1__Impl : ( ( rule__SubSystemRef__NameAssignment_1 ) ) ;
     public final void rule__SubSystemRef__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12694:1: ( ( ( rule__SubSystemRef__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12695:1: ( ( rule__SubSystemRef__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12538:1: ( ( ( rule__SubSystemRef__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12539:1: ( ( rule__SubSystemRef__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12695:1: ( ( rule__SubSystemRef__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12696:1: ( rule__SubSystemRef__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12539:1: ( ( rule__SubSystemRef__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12540:1: ( rule__SubSystemRef__NameAssignment_1 )
             {
              before(grammarAccess.getSubSystemRefAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12697:1: ( rule__SubSystemRef__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12697:2: rule__SubSystemRef__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12541:1: ( rule__SubSystemRef__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12541:2: rule__SubSystemRef__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__SubSystemRef__NameAssignment_1_in_rule__SubSystemRef__Group__1__Impl26050);
+            pushFollow(FOLLOW_rule__SubSystemRef__NameAssignment_1_in_rule__SubSystemRef__Group__1__Impl25742);
             rule__SubSystemRef__NameAssignment_1();
 
             state._fsp--;
@@ -35614,21 +35378,21 @@
 
 
     // $ANTLR start "rule__SubSystemRef__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12707:1: rule__SubSystemRef__Group__2 : rule__SubSystemRef__Group__2__Impl rule__SubSystemRef__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12551:1: rule__SubSystemRef__Group__2 : rule__SubSystemRef__Group__2__Impl rule__SubSystemRef__Group__3 ;
     public final void rule__SubSystemRef__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12711:1: ( rule__SubSystemRef__Group__2__Impl rule__SubSystemRef__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12712:2: rule__SubSystemRef__Group__2__Impl rule__SubSystemRef__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12555:1: ( rule__SubSystemRef__Group__2__Impl rule__SubSystemRef__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12556:2: rule__SubSystemRef__Group__2__Impl rule__SubSystemRef__Group__3
             {
-            pushFollow(FOLLOW_rule__SubSystemRef__Group__2__Impl_in_rule__SubSystemRef__Group__226080);
+            pushFollow(FOLLOW_rule__SubSystemRef__Group__2__Impl_in_rule__SubSystemRef__Group__225772);
             rule__SubSystemRef__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemRef__Group__3_in_rule__SubSystemRef__Group__226083);
+            pushFollow(FOLLOW_rule__SubSystemRef__Group__3_in_rule__SubSystemRef__Group__225775);
             rule__SubSystemRef__Group__3();
 
             state._fsp--;
@@ -35652,20 +35416,20 @@
 
 
     // $ANTLR start "rule__SubSystemRef__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12719:1: rule__SubSystemRef__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12563:1: rule__SubSystemRef__Group__2__Impl : ( ':' ) ;
     public final void rule__SubSystemRef__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12723:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12724:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12567:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12568:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12724:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12725:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12568:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12569:1: ':'
             {
              before(grammarAccess.getSubSystemRefAccess().getColonKeyword_2()); 
-            match(input,42,FOLLOW_42_in_rule__SubSystemRef__Group__2__Impl26111); 
+            match(input,43,FOLLOW_43_in_rule__SubSystemRef__Group__2__Impl25803); 
              after(grammarAccess.getSubSystemRefAccess().getColonKeyword_2()); 
 
             }
@@ -35689,21 +35453,21 @@
 
 
     // $ANTLR start "rule__SubSystemRef__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12738:1: rule__SubSystemRef__Group__3 : rule__SubSystemRef__Group__3__Impl rule__SubSystemRef__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12582:1: rule__SubSystemRef__Group__3 : rule__SubSystemRef__Group__3__Impl rule__SubSystemRef__Group__4 ;
     public final void rule__SubSystemRef__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12742:1: ( rule__SubSystemRef__Group__3__Impl rule__SubSystemRef__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12743:2: rule__SubSystemRef__Group__3__Impl rule__SubSystemRef__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12586:1: ( rule__SubSystemRef__Group__3__Impl rule__SubSystemRef__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12587:2: rule__SubSystemRef__Group__3__Impl rule__SubSystemRef__Group__4
             {
-            pushFollow(FOLLOW_rule__SubSystemRef__Group__3__Impl_in_rule__SubSystemRef__Group__326142);
+            pushFollow(FOLLOW_rule__SubSystemRef__Group__3__Impl_in_rule__SubSystemRef__Group__325834);
             rule__SubSystemRef__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemRef__Group__4_in_rule__SubSystemRef__Group__326145);
+            pushFollow(FOLLOW_rule__SubSystemRef__Group__4_in_rule__SubSystemRef__Group__325837);
             rule__SubSystemRef__Group__4();
 
             state._fsp--;
@@ -35727,23 +35491,23 @@
 
 
     // $ANTLR start "rule__SubSystemRef__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12750:1: rule__SubSystemRef__Group__3__Impl : ( ( rule__SubSystemRef__TypeAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12594:1: rule__SubSystemRef__Group__3__Impl : ( ( rule__SubSystemRef__TypeAssignment_3 ) ) ;
     public final void rule__SubSystemRef__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12754:1: ( ( ( rule__SubSystemRef__TypeAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12755:1: ( ( rule__SubSystemRef__TypeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12598:1: ( ( ( rule__SubSystemRef__TypeAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12599:1: ( ( rule__SubSystemRef__TypeAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12755:1: ( ( rule__SubSystemRef__TypeAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12756:1: ( rule__SubSystemRef__TypeAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12599:1: ( ( rule__SubSystemRef__TypeAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12600:1: ( rule__SubSystemRef__TypeAssignment_3 )
             {
              before(grammarAccess.getSubSystemRefAccess().getTypeAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12757:1: ( rule__SubSystemRef__TypeAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12757:2: rule__SubSystemRef__TypeAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12601:1: ( rule__SubSystemRef__TypeAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12601:2: rule__SubSystemRef__TypeAssignment_3
             {
-            pushFollow(FOLLOW_rule__SubSystemRef__TypeAssignment_3_in_rule__SubSystemRef__Group__3__Impl26172);
+            pushFollow(FOLLOW_rule__SubSystemRef__TypeAssignment_3_in_rule__SubSystemRef__Group__3__Impl25864);
             rule__SubSystemRef__TypeAssignment_3();
 
             state._fsp--;
@@ -35774,16 +35538,16 @@
 
 
     // $ANTLR start "rule__SubSystemRef__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12767:1: rule__SubSystemRef__Group__4 : rule__SubSystemRef__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12611:1: rule__SubSystemRef__Group__4 : rule__SubSystemRef__Group__4__Impl ;
     public final void rule__SubSystemRef__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12771:1: ( rule__SubSystemRef__Group__4__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12772:2: rule__SubSystemRef__Group__4__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12615:1: ( rule__SubSystemRef__Group__4__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12616:2: rule__SubSystemRef__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__SubSystemRef__Group__4__Impl_in_rule__SubSystemRef__Group__426202);
+            pushFollow(FOLLOW_rule__SubSystemRef__Group__4__Impl_in_rule__SubSystemRef__Group__425894);
             rule__SubSystemRef__Group__4__Impl();
 
             state._fsp--;
@@ -35807,31 +35571,31 @@
 
 
     // $ANTLR start "rule__SubSystemRef__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12778:1: rule__SubSystemRef__Group__4__Impl : ( ( rule__SubSystemRef__DocuAssignment_4 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12622:1: rule__SubSystemRef__Group__4__Impl : ( ( rule__SubSystemRef__DocuAssignment_4 )? ) ;
     public final void rule__SubSystemRef__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12782:1: ( ( ( rule__SubSystemRef__DocuAssignment_4 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12783:1: ( ( rule__SubSystemRef__DocuAssignment_4 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12626:1: ( ( ( rule__SubSystemRef__DocuAssignment_4 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12627:1: ( ( rule__SubSystemRef__DocuAssignment_4 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12783:1: ( ( rule__SubSystemRef__DocuAssignment_4 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12784:1: ( rule__SubSystemRef__DocuAssignment_4 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12627:1: ( ( rule__SubSystemRef__DocuAssignment_4 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12628:1: ( rule__SubSystemRef__DocuAssignment_4 )?
             {
              before(grammarAccess.getSubSystemRefAccess().getDocuAssignment_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12785:1: ( rule__SubSystemRef__DocuAssignment_4 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12629:1: ( rule__SubSystemRef__DocuAssignment_4 )?
             int alt131=2;
             int LA131_0 = input.LA(1);
 
-            if ( (LA131_0==58) ) {
+            if ( (LA131_0==59) ) {
                 alt131=1;
             }
             switch (alt131) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12785:2: rule__SubSystemRef__DocuAssignment_4
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12629:2: rule__SubSystemRef__DocuAssignment_4
                     {
-                    pushFollow(FOLLOW_rule__SubSystemRef__DocuAssignment_4_in_rule__SubSystemRef__Group__4__Impl26229);
+                    pushFollow(FOLLOW_rule__SubSystemRef__DocuAssignment_4_in_rule__SubSystemRef__Group__4__Impl25921);
                     rule__SubSystemRef__DocuAssignment_4();
 
                     state._fsp--;
@@ -35865,21 +35629,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12805:1: rule__SubSystemClass__Group__0 : rule__SubSystemClass__Group__0__Impl rule__SubSystemClass__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12649:1: rule__SubSystemClass__Group__0 : rule__SubSystemClass__Group__0__Impl rule__SubSystemClass__Group__1 ;
     public final void rule__SubSystemClass__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12809:1: ( rule__SubSystemClass__Group__0__Impl rule__SubSystemClass__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12810:2: rule__SubSystemClass__Group__0__Impl rule__SubSystemClass__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12653:1: ( rule__SubSystemClass__Group__0__Impl rule__SubSystemClass__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12654:2: rule__SubSystemClass__Group__0__Impl rule__SubSystemClass__Group__1
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__0__Impl_in_rule__SubSystemClass__Group__026270);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__0__Impl_in_rule__SubSystemClass__Group__025962);
             rule__SubSystemClass__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__1_in_rule__SubSystemClass__Group__026273);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__1_in_rule__SubSystemClass__Group__025965);
             rule__SubSystemClass__Group__1();
 
             state._fsp--;
@@ -35903,20 +35667,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12817:1: rule__SubSystemClass__Group__0__Impl : ( 'SubSystemClass' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12661:1: rule__SubSystemClass__Group__0__Impl : ( 'SubSystemClass' ) ;
     public final void rule__SubSystemClass__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12821:1: ( ( 'SubSystemClass' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12822:1: ( 'SubSystemClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12665:1: ( ( 'SubSystemClass' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12666:1: ( 'SubSystemClass' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12822:1: ( 'SubSystemClass' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12823:1: 'SubSystemClass'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12666:1: ( 'SubSystemClass' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12667:1: 'SubSystemClass'
             {
              before(grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0()); 
-            match(input,22,FOLLOW_22_in_rule__SubSystemClass__Group__0__Impl26301); 
+            match(input,21,FOLLOW_21_in_rule__SubSystemClass__Group__0__Impl25993); 
              after(grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0()); 
 
             }
@@ -35940,21 +35704,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12836:1: rule__SubSystemClass__Group__1 : rule__SubSystemClass__Group__1__Impl rule__SubSystemClass__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12680:1: rule__SubSystemClass__Group__1 : rule__SubSystemClass__Group__1__Impl rule__SubSystemClass__Group__2 ;
     public final void rule__SubSystemClass__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12840:1: ( rule__SubSystemClass__Group__1__Impl rule__SubSystemClass__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12841:2: rule__SubSystemClass__Group__1__Impl rule__SubSystemClass__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12684:1: ( rule__SubSystemClass__Group__1__Impl rule__SubSystemClass__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12685:2: rule__SubSystemClass__Group__1__Impl rule__SubSystemClass__Group__2
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__1__Impl_in_rule__SubSystemClass__Group__126332);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__1__Impl_in_rule__SubSystemClass__Group__126024);
             rule__SubSystemClass__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__2_in_rule__SubSystemClass__Group__126335);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__2_in_rule__SubSystemClass__Group__126027);
             rule__SubSystemClass__Group__2();
 
             state._fsp--;
@@ -35978,23 +35742,23 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12848:1: rule__SubSystemClass__Group__1__Impl : ( ( rule__SubSystemClass__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12692:1: rule__SubSystemClass__Group__1__Impl : ( ( rule__SubSystemClass__NameAssignment_1 ) ) ;
     public final void rule__SubSystemClass__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12852:1: ( ( ( rule__SubSystemClass__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12853:1: ( ( rule__SubSystemClass__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12696:1: ( ( ( rule__SubSystemClass__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12697:1: ( ( rule__SubSystemClass__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12853:1: ( ( rule__SubSystemClass__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12854:1: ( rule__SubSystemClass__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12697:1: ( ( rule__SubSystemClass__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12698:1: ( rule__SubSystemClass__NameAssignment_1 )
             {
              before(grammarAccess.getSubSystemClassAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12855:1: ( rule__SubSystemClass__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12855:2: rule__SubSystemClass__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12699:1: ( rule__SubSystemClass__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12699:2: rule__SubSystemClass__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__NameAssignment_1_in_rule__SubSystemClass__Group__1__Impl26362);
+            pushFollow(FOLLOW_rule__SubSystemClass__NameAssignment_1_in_rule__SubSystemClass__Group__1__Impl26054);
             rule__SubSystemClass__NameAssignment_1();
 
             state._fsp--;
@@ -36025,21 +35789,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12865:1: rule__SubSystemClass__Group__2 : rule__SubSystemClass__Group__2__Impl rule__SubSystemClass__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12709:1: rule__SubSystemClass__Group__2 : rule__SubSystemClass__Group__2__Impl rule__SubSystemClass__Group__3 ;
     public final void rule__SubSystemClass__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12869:1: ( rule__SubSystemClass__Group__2__Impl rule__SubSystemClass__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12870:2: rule__SubSystemClass__Group__2__Impl rule__SubSystemClass__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12713:1: ( rule__SubSystemClass__Group__2__Impl rule__SubSystemClass__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12714:2: rule__SubSystemClass__Group__2__Impl rule__SubSystemClass__Group__3
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__2__Impl_in_rule__SubSystemClass__Group__226392);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__2__Impl_in_rule__SubSystemClass__Group__226084);
             rule__SubSystemClass__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__3_in_rule__SubSystemClass__Group__226395);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__3_in_rule__SubSystemClass__Group__226087);
             rule__SubSystemClass__Group__3();
 
             state._fsp--;
@@ -36063,31 +35827,31 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12877:1: rule__SubSystemClass__Group__2__Impl : ( ( rule__SubSystemClass__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12721:1: rule__SubSystemClass__Group__2__Impl : ( ( rule__SubSystemClass__DocuAssignment_2 )? ) ;
     public final void rule__SubSystemClass__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12881:1: ( ( ( rule__SubSystemClass__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12882:1: ( ( rule__SubSystemClass__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12725:1: ( ( ( rule__SubSystemClass__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12726:1: ( ( rule__SubSystemClass__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12882:1: ( ( rule__SubSystemClass__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12883:1: ( rule__SubSystemClass__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12726:1: ( ( rule__SubSystemClass__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12727:1: ( rule__SubSystemClass__DocuAssignment_2 )?
             {
              before(grammarAccess.getSubSystemClassAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12884:1: ( rule__SubSystemClass__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12728:1: ( rule__SubSystemClass__DocuAssignment_2 )?
             int alt132=2;
             int LA132_0 = input.LA(1);
 
-            if ( (LA132_0==58) ) {
+            if ( (LA132_0==59) ) {
                 alt132=1;
             }
             switch (alt132) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12884:2: rule__SubSystemClass__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12728:2: rule__SubSystemClass__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__SubSystemClass__DocuAssignment_2_in_rule__SubSystemClass__Group__2__Impl26422);
+                    pushFollow(FOLLOW_rule__SubSystemClass__DocuAssignment_2_in_rule__SubSystemClass__Group__2__Impl26114);
                     rule__SubSystemClass__DocuAssignment_2();
 
                     state._fsp--;
@@ -36121,21 +35885,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12894:1: rule__SubSystemClass__Group__3 : rule__SubSystemClass__Group__3__Impl rule__SubSystemClass__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12738:1: rule__SubSystemClass__Group__3 : rule__SubSystemClass__Group__3__Impl rule__SubSystemClass__Group__4 ;
     public final void rule__SubSystemClass__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12898:1: ( rule__SubSystemClass__Group__3__Impl rule__SubSystemClass__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12899:2: rule__SubSystemClass__Group__3__Impl rule__SubSystemClass__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12742:1: ( rule__SubSystemClass__Group__3__Impl rule__SubSystemClass__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12743:2: rule__SubSystemClass__Group__3__Impl rule__SubSystemClass__Group__4
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__3__Impl_in_rule__SubSystemClass__Group__326453);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__3__Impl_in_rule__SubSystemClass__Group__326145);
             rule__SubSystemClass__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__4_in_rule__SubSystemClass__Group__326456);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__4_in_rule__SubSystemClass__Group__326148);
             rule__SubSystemClass__Group__4();
 
             state._fsp--;
@@ -36159,20 +35923,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12906:1: rule__SubSystemClass__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12750:1: rule__SubSystemClass__Group__3__Impl : ( '{' ) ;
     public final void rule__SubSystemClass__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12910:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12911:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12754:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12755:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12911:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12912:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12755:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12756:1: '{'
             {
              before(grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,40,FOLLOW_40_in_rule__SubSystemClass__Group__3__Impl26484); 
+            match(input,41,FOLLOW_41_in_rule__SubSystemClass__Group__3__Impl26176); 
              after(grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_3()); 
 
             }
@@ -36196,21 +35960,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12925:1: rule__SubSystemClass__Group__4 : rule__SubSystemClass__Group__4__Impl rule__SubSystemClass__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12769:1: rule__SubSystemClass__Group__4 : rule__SubSystemClass__Group__4__Impl rule__SubSystemClass__Group__5 ;
     public final void rule__SubSystemClass__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12929:1: ( rule__SubSystemClass__Group__4__Impl rule__SubSystemClass__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12930:2: rule__SubSystemClass__Group__4__Impl rule__SubSystemClass__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12773:1: ( rule__SubSystemClass__Group__4__Impl rule__SubSystemClass__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12774:2: rule__SubSystemClass__Group__4__Impl rule__SubSystemClass__Group__5
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__4__Impl_in_rule__SubSystemClass__Group__426515);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__4__Impl_in_rule__SubSystemClass__Group__426207);
             rule__SubSystemClass__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__5_in_rule__SubSystemClass__Group__426518);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__5_in_rule__SubSystemClass__Group__426210);
             rule__SubSystemClass__Group__5();
 
             state._fsp--;
@@ -36234,35 +35998,35 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12937:1: rule__SubSystemClass__Group__4__Impl : ( ( rule__SubSystemClass__AnnotationsAssignment_4 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12781:1: rule__SubSystemClass__Group__4__Impl : ( ( rule__SubSystemClass__AnnotationsAssignment_4 )* ) ;
     public final void rule__SubSystemClass__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12941:1: ( ( ( rule__SubSystemClass__AnnotationsAssignment_4 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12942:1: ( ( rule__SubSystemClass__AnnotationsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12785:1: ( ( ( rule__SubSystemClass__AnnotationsAssignment_4 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12786:1: ( ( rule__SubSystemClass__AnnotationsAssignment_4 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12942:1: ( ( rule__SubSystemClass__AnnotationsAssignment_4 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12943:1: ( rule__SubSystemClass__AnnotationsAssignment_4 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12786:1: ( ( rule__SubSystemClass__AnnotationsAssignment_4 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12787:1: ( rule__SubSystemClass__AnnotationsAssignment_4 )*
             {
              before(grammarAccess.getSubSystemClassAccess().getAnnotationsAssignment_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12944:1: ( rule__SubSystemClass__AnnotationsAssignment_4 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12788:1: ( rule__SubSystemClass__AnnotationsAssignment_4 )*
             loop133:
             do {
                 int alt133=2;
                 int LA133_0 = input.LA(1);
 
-                if ( (LA133_0==119) ) {
+                if ( (LA133_0==120) ) {
                     alt133=1;
                 }
 
 
                 switch (alt133) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12944:2: rule__SubSystemClass__AnnotationsAssignment_4
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12788:2: rule__SubSystemClass__AnnotationsAssignment_4
             	    {
-            	    pushFollow(FOLLOW_rule__SubSystemClass__AnnotationsAssignment_4_in_rule__SubSystemClass__Group__4__Impl26545);
+            	    pushFollow(FOLLOW_rule__SubSystemClass__AnnotationsAssignment_4_in_rule__SubSystemClass__Group__4__Impl26237);
             	    rule__SubSystemClass__AnnotationsAssignment_4();
 
             	    state._fsp--;
@@ -36299,21 +36063,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12954:1: rule__SubSystemClass__Group__5 : rule__SubSystemClass__Group__5__Impl rule__SubSystemClass__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12798:1: rule__SubSystemClass__Group__5 : rule__SubSystemClass__Group__5__Impl rule__SubSystemClass__Group__6 ;
     public final void rule__SubSystemClass__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12958:1: ( rule__SubSystemClass__Group__5__Impl rule__SubSystemClass__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12959:2: rule__SubSystemClass__Group__5__Impl rule__SubSystemClass__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12802:1: ( rule__SubSystemClass__Group__5__Impl rule__SubSystemClass__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12803:2: rule__SubSystemClass__Group__5__Impl rule__SubSystemClass__Group__6
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__5__Impl_in_rule__SubSystemClass__Group__526576);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__5__Impl_in_rule__SubSystemClass__Group__526268);
             rule__SubSystemClass__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__6_in_rule__SubSystemClass__Group__526579);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__6_in_rule__SubSystemClass__Group__526271);
             rule__SubSystemClass__Group__6();
 
             state._fsp--;
@@ -36337,31 +36101,31 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12966:1: rule__SubSystemClass__Group__5__Impl : ( ( rule__SubSystemClass__Group_5__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12810:1: rule__SubSystemClass__Group__5__Impl : ( ( rule__SubSystemClass__Group_5__0 )? ) ;
     public final void rule__SubSystemClass__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12970:1: ( ( ( rule__SubSystemClass__Group_5__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12971:1: ( ( rule__SubSystemClass__Group_5__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12814:1: ( ( ( rule__SubSystemClass__Group_5__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12815:1: ( ( rule__SubSystemClass__Group_5__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12971:1: ( ( rule__SubSystemClass__Group_5__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12972:1: ( rule__SubSystemClass__Group_5__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12815:1: ( ( rule__SubSystemClass__Group_5__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12816:1: ( rule__SubSystemClass__Group_5__0 )?
             {
              before(grammarAccess.getSubSystemClassAccess().getGroup_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12973:1: ( rule__SubSystemClass__Group_5__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12817:1: ( rule__SubSystemClass__Group_5__0 )?
             int alt134=2;
             int LA134_0 = input.LA(1);
 
-            if ( (LA134_0==54) ) {
+            if ( (LA134_0==55) ) {
                 alt134=1;
             }
             switch (alt134) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12973:2: rule__SubSystemClass__Group_5__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12817:2: rule__SubSystemClass__Group_5__0
                     {
-                    pushFollow(FOLLOW_rule__SubSystemClass__Group_5__0_in_rule__SubSystemClass__Group__5__Impl26606);
+                    pushFollow(FOLLOW_rule__SubSystemClass__Group_5__0_in_rule__SubSystemClass__Group__5__Impl26298);
                     rule__SubSystemClass__Group_5__0();
 
                     state._fsp--;
@@ -36395,21 +36159,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12983:1: rule__SubSystemClass__Group__6 : rule__SubSystemClass__Group__6__Impl rule__SubSystemClass__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12827:1: rule__SubSystemClass__Group__6 : rule__SubSystemClass__Group__6__Impl rule__SubSystemClass__Group__7 ;
     public final void rule__SubSystemClass__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12987:1: ( rule__SubSystemClass__Group__6__Impl rule__SubSystemClass__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12988:2: rule__SubSystemClass__Group__6__Impl rule__SubSystemClass__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12831:1: ( rule__SubSystemClass__Group__6__Impl rule__SubSystemClass__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12832:2: rule__SubSystemClass__Group__6__Impl rule__SubSystemClass__Group__7
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__6__Impl_in_rule__SubSystemClass__Group__626637);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__6__Impl_in_rule__SubSystemClass__Group__626329);
             rule__SubSystemClass__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__7_in_rule__SubSystemClass__Group__626640);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__7_in_rule__SubSystemClass__Group__626332);
             rule__SubSystemClass__Group__7();
 
             state._fsp--;
@@ -36433,31 +36197,31 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12995:1: rule__SubSystemClass__Group__6__Impl : ( ( rule__SubSystemClass__Group_6__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12839:1: rule__SubSystemClass__Group__6__Impl : ( ( rule__SubSystemClass__Group_6__0 )? ) ;
     public final void rule__SubSystemClass__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12999:1: ( ( ( rule__SubSystemClass__Group_6__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13000:1: ( ( rule__SubSystemClass__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12843:1: ( ( ( rule__SubSystemClass__Group_6__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12844:1: ( ( rule__SubSystemClass__Group_6__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13000:1: ( ( rule__SubSystemClass__Group_6__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13001:1: ( rule__SubSystemClass__Group_6__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12844:1: ( ( rule__SubSystemClass__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12845:1: ( rule__SubSystemClass__Group_6__0 )?
             {
              before(grammarAccess.getSubSystemClassAccess().getGroup_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13002:1: ( rule__SubSystemClass__Group_6__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12846:1: ( rule__SubSystemClass__Group_6__0 )?
             int alt135=2;
             int LA135_0 = input.LA(1);
 
-            if ( (LA135_0==55) ) {
+            if ( (LA135_0==56) ) {
                 alt135=1;
             }
             switch (alt135) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13002:2: rule__SubSystemClass__Group_6__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12846:2: rule__SubSystemClass__Group_6__0
                     {
-                    pushFollow(FOLLOW_rule__SubSystemClass__Group_6__0_in_rule__SubSystemClass__Group__6__Impl26667);
+                    pushFollow(FOLLOW_rule__SubSystemClass__Group_6__0_in_rule__SubSystemClass__Group__6__Impl26359);
                     rule__SubSystemClass__Group_6__0();
 
                     state._fsp--;
@@ -36491,21 +36255,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13012:1: rule__SubSystemClass__Group__7 : rule__SubSystemClass__Group__7__Impl rule__SubSystemClass__Group__8 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12856:1: rule__SubSystemClass__Group__7 : rule__SubSystemClass__Group__7__Impl rule__SubSystemClass__Group__8 ;
     public final void rule__SubSystemClass__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13016:1: ( rule__SubSystemClass__Group__7__Impl rule__SubSystemClass__Group__8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13017:2: rule__SubSystemClass__Group__7__Impl rule__SubSystemClass__Group__8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12860:1: ( rule__SubSystemClass__Group__7__Impl rule__SubSystemClass__Group__8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12861:2: rule__SubSystemClass__Group__7__Impl rule__SubSystemClass__Group__8
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__7__Impl_in_rule__SubSystemClass__Group__726698);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__7__Impl_in_rule__SubSystemClass__Group__726390);
             rule__SubSystemClass__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__8_in_rule__SubSystemClass__Group__726701);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__8_in_rule__SubSystemClass__Group__726393);
             rule__SubSystemClass__Group__8();
 
             state._fsp--;
@@ -36529,31 +36293,31 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13024:1: rule__SubSystemClass__Group__7__Impl : ( ( rule__SubSystemClass__Group_7__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12868:1: rule__SubSystemClass__Group__7__Impl : ( ( rule__SubSystemClass__Group_7__0 )? ) ;
     public final void rule__SubSystemClass__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13028:1: ( ( ( rule__SubSystemClass__Group_7__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13029:1: ( ( rule__SubSystemClass__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12872:1: ( ( ( rule__SubSystemClass__Group_7__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12873:1: ( ( rule__SubSystemClass__Group_7__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13029:1: ( ( rule__SubSystemClass__Group_7__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13030:1: ( rule__SubSystemClass__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12873:1: ( ( rule__SubSystemClass__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12874:1: ( rule__SubSystemClass__Group_7__0 )?
             {
              before(grammarAccess.getSubSystemClassAccess().getGroup_7()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13031:1: ( rule__SubSystemClass__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12875:1: ( rule__SubSystemClass__Group_7__0 )?
             int alt136=2;
             int LA136_0 = input.LA(1);
 
-            if ( (LA136_0==56) ) {
+            if ( (LA136_0==57) ) {
                 alt136=1;
             }
             switch (alt136) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13031:2: rule__SubSystemClass__Group_7__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12875:2: rule__SubSystemClass__Group_7__0
                     {
-                    pushFollow(FOLLOW_rule__SubSystemClass__Group_7__0_in_rule__SubSystemClass__Group__7__Impl26728);
+                    pushFollow(FOLLOW_rule__SubSystemClass__Group_7__0_in_rule__SubSystemClass__Group__7__Impl26420);
                     rule__SubSystemClass__Group_7__0();
 
                     state._fsp--;
@@ -36587,21 +36351,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13041:1: rule__SubSystemClass__Group__8 : rule__SubSystemClass__Group__8__Impl rule__SubSystemClass__Group__9 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12885:1: rule__SubSystemClass__Group__8 : rule__SubSystemClass__Group__8__Impl rule__SubSystemClass__Group__9 ;
     public final void rule__SubSystemClass__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13045:1: ( rule__SubSystemClass__Group__8__Impl rule__SubSystemClass__Group__9 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13046:2: rule__SubSystemClass__Group__8__Impl rule__SubSystemClass__Group__9
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12889:1: ( rule__SubSystemClass__Group__8__Impl rule__SubSystemClass__Group__9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12890:2: rule__SubSystemClass__Group__8__Impl rule__SubSystemClass__Group__9
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__8__Impl_in_rule__SubSystemClass__Group__826759);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__8__Impl_in_rule__SubSystemClass__Group__826451);
             rule__SubSystemClass__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__9_in_rule__SubSystemClass__Group__826762);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__9_in_rule__SubSystemClass__Group__826454);
             rule__SubSystemClass__Group__9();
 
             state._fsp--;
@@ -36625,35 +36389,35 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__8__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13053:1: rule__SubSystemClass__Group__8__Impl : ( ( rule__SubSystemClass__Alternatives_8 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12897:1: rule__SubSystemClass__Group__8__Impl : ( ( rule__SubSystemClass__Alternatives_8 )* ) ;
     public final void rule__SubSystemClass__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13057:1: ( ( ( rule__SubSystemClass__Alternatives_8 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13058:1: ( ( rule__SubSystemClass__Alternatives_8 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12901:1: ( ( ( rule__SubSystemClass__Alternatives_8 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12902:1: ( ( rule__SubSystemClass__Alternatives_8 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13058:1: ( ( rule__SubSystemClass__Alternatives_8 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13059:1: ( rule__SubSystemClass__Alternatives_8 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12902:1: ( ( rule__SubSystemClass__Alternatives_8 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12903:1: ( rule__SubSystemClass__Alternatives_8 )*
             {
              before(grammarAccess.getSubSystemClassAccess().getAlternatives_8()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13060:1: ( rule__SubSystemClass__Alternatives_8 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12904:1: ( rule__SubSystemClass__Alternatives_8 )*
             loop137:
             do {
                 int alt137=2;
                 int LA137_0 = input.LA(1);
 
-                if ( ((LA137_0>=32 && LA137_0<=33)||LA137_0==66||LA137_0==74||LA137_0==77||(LA137_0>=80 && LA137_0<=81)||LA137_0==83||LA137_0==87||LA137_0==91) ) {
+                if ( ((LA137_0>=33 && LA137_0<=34)||LA137_0==67||LA137_0==75||LA137_0==78||(LA137_0>=81 && LA137_0<=82)||LA137_0==84||LA137_0==88||LA137_0==92) ) {
                     alt137=1;
                 }
 
 
                 switch (alt137) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13060:2: rule__SubSystemClass__Alternatives_8
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12904:2: rule__SubSystemClass__Alternatives_8
             	    {
-            	    pushFollow(FOLLOW_rule__SubSystemClass__Alternatives_8_in_rule__SubSystemClass__Group__8__Impl26789);
+            	    pushFollow(FOLLOW_rule__SubSystemClass__Alternatives_8_in_rule__SubSystemClass__Group__8__Impl26481);
             	    rule__SubSystemClass__Alternatives_8();
 
             	    state._fsp--;
@@ -36690,16 +36454,16 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13070:1: rule__SubSystemClass__Group__9 : rule__SubSystemClass__Group__9__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12914:1: rule__SubSystemClass__Group__9 : rule__SubSystemClass__Group__9__Impl ;
     public final void rule__SubSystemClass__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13074:1: ( rule__SubSystemClass__Group__9__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13075:2: rule__SubSystemClass__Group__9__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12918:1: ( rule__SubSystemClass__Group__9__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12919:2: rule__SubSystemClass__Group__9__Impl
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group__9__Impl_in_rule__SubSystemClass__Group__926820);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group__9__Impl_in_rule__SubSystemClass__Group__926512);
             rule__SubSystemClass__Group__9__Impl();
 
             state._fsp--;
@@ -36723,20 +36487,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group__9__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13081:1: rule__SubSystemClass__Group__9__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12925:1: rule__SubSystemClass__Group__9__Impl : ( '}' ) ;
     public final void rule__SubSystemClass__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13085:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13086:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12929:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12930:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13086:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13087:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12930:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12931:1: '}'
             {
              before(grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9()); 
-            match(input,41,FOLLOW_41_in_rule__SubSystemClass__Group__9__Impl26848); 
+            match(input,42,FOLLOW_42_in_rule__SubSystemClass__Group__9__Impl26540); 
              after(grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9()); 
 
             }
@@ -36760,21 +36524,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_5__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13120:1: rule__SubSystemClass__Group_5__0 : rule__SubSystemClass__Group_5__0__Impl rule__SubSystemClass__Group_5__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12964:1: rule__SubSystemClass__Group_5__0 : rule__SubSystemClass__Group_5__0__Impl rule__SubSystemClass__Group_5__1 ;
     public final void rule__SubSystemClass__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13124:1: ( rule__SubSystemClass__Group_5__0__Impl rule__SubSystemClass__Group_5__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13125:2: rule__SubSystemClass__Group_5__0__Impl rule__SubSystemClass__Group_5__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12968:1: ( rule__SubSystemClass__Group_5__0__Impl rule__SubSystemClass__Group_5__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12969:2: rule__SubSystemClass__Group_5__0__Impl rule__SubSystemClass__Group_5__1
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group_5__0__Impl_in_rule__SubSystemClass__Group_5__026899);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group_5__0__Impl_in_rule__SubSystemClass__Group_5__026591);
             rule__SubSystemClass__Group_5__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group_5__1_in_rule__SubSystemClass__Group_5__026902);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group_5__1_in_rule__SubSystemClass__Group_5__026594);
             rule__SubSystemClass__Group_5__1();
 
             state._fsp--;
@@ -36798,20 +36562,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_5__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13132:1: rule__SubSystemClass__Group_5__0__Impl : ( 'usercode1' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12976:1: rule__SubSystemClass__Group_5__0__Impl : ( 'usercode1' ) ;
     public final void rule__SubSystemClass__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13136:1: ( ( 'usercode1' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13137:1: ( 'usercode1' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12980:1: ( ( 'usercode1' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12981:1: ( 'usercode1' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13137:1: ( 'usercode1' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13138:1: 'usercode1'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12981:1: ( 'usercode1' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12982:1: 'usercode1'
             {
              before(grammarAccess.getSubSystemClassAccess().getUsercode1Keyword_5_0()); 
-            match(input,54,FOLLOW_54_in_rule__SubSystemClass__Group_5__0__Impl26930); 
+            match(input,55,FOLLOW_55_in_rule__SubSystemClass__Group_5__0__Impl26622); 
              after(grammarAccess.getSubSystemClassAccess().getUsercode1Keyword_5_0()); 
 
             }
@@ -36835,16 +36599,16 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_5__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13151:1: rule__SubSystemClass__Group_5__1 : rule__SubSystemClass__Group_5__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12995:1: rule__SubSystemClass__Group_5__1 : rule__SubSystemClass__Group_5__1__Impl ;
     public final void rule__SubSystemClass__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13155:1: ( rule__SubSystemClass__Group_5__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13156:2: rule__SubSystemClass__Group_5__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:12999:1: ( rule__SubSystemClass__Group_5__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13000:2: rule__SubSystemClass__Group_5__1__Impl
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group_5__1__Impl_in_rule__SubSystemClass__Group_5__126961);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group_5__1__Impl_in_rule__SubSystemClass__Group_5__126653);
             rule__SubSystemClass__Group_5__1__Impl();
 
             state._fsp--;
@@ -36868,23 +36632,23 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_5__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13162:1: rule__SubSystemClass__Group_5__1__Impl : ( ( rule__SubSystemClass__UserCode1Assignment_5_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13006:1: rule__SubSystemClass__Group_5__1__Impl : ( ( rule__SubSystemClass__UserCode1Assignment_5_1 ) ) ;
     public final void rule__SubSystemClass__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13166:1: ( ( ( rule__SubSystemClass__UserCode1Assignment_5_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13167:1: ( ( rule__SubSystemClass__UserCode1Assignment_5_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13010:1: ( ( ( rule__SubSystemClass__UserCode1Assignment_5_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13011:1: ( ( rule__SubSystemClass__UserCode1Assignment_5_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13167:1: ( ( rule__SubSystemClass__UserCode1Assignment_5_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13168:1: ( rule__SubSystemClass__UserCode1Assignment_5_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13011:1: ( ( rule__SubSystemClass__UserCode1Assignment_5_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13012:1: ( rule__SubSystemClass__UserCode1Assignment_5_1 )
             {
              before(grammarAccess.getSubSystemClassAccess().getUserCode1Assignment_5_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13169:1: ( rule__SubSystemClass__UserCode1Assignment_5_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13169:2: rule__SubSystemClass__UserCode1Assignment_5_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13013:1: ( rule__SubSystemClass__UserCode1Assignment_5_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13013:2: rule__SubSystemClass__UserCode1Assignment_5_1
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__UserCode1Assignment_5_1_in_rule__SubSystemClass__Group_5__1__Impl26988);
+            pushFollow(FOLLOW_rule__SubSystemClass__UserCode1Assignment_5_1_in_rule__SubSystemClass__Group_5__1__Impl26680);
             rule__SubSystemClass__UserCode1Assignment_5_1();
 
             state._fsp--;
@@ -36915,21 +36679,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_6__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13183:1: rule__SubSystemClass__Group_6__0 : rule__SubSystemClass__Group_6__0__Impl rule__SubSystemClass__Group_6__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13027:1: rule__SubSystemClass__Group_6__0 : rule__SubSystemClass__Group_6__0__Impl rule__SubSystemClass__Group_6__1 ;
     public final void rule__SubSystemClass__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13187:1: ( rule__SubSystemClass__Group_6__0__Impl rule__SubSystemClass__Group_6__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13188:2: rule__SubSystemClass__Group_6__0__Impl rule__SubSystemClass__Group_6__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13031:1: ( rule__SubSystemClass__Group_6__0__Impl rule__SubSystemClass__Group_6__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13032:2: rule__SubSystemClass__Group_6__0__Impl rule__SubSystemClass__Group_6__1
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group_6__0__Impl_in_rule__SubSystemClass__Group_6__027022);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group_6__0__Impl_in_rule__SubSystemClass__Group_6__026714);
             rule__SubSystemClass__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group_6__1_in_rule__SubSystemClass__Group_6__027025);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group_6__1_in_rule__SubSystemClass__Group_6__026717);
             rule__SubSystemClass__Group_6__1();
 
             state._fsp--;
@@ -36953,20 +36717,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13195:1: rule__SubSystemClass__Group_6__0__Impl : ( 'usercode2' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13039:1: rule__SubSystemClass__Group_6__0__Impl : ( 'usercode2' ) ;
     public final void rule__SubSystemClass__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13199:1: ( ( 'usercode2' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13200:1: ( 'usercode2' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13043:1: ( ( 'usercode2' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13044:1: ( 'usercode2' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13200:1: ( 'usercode2' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13201:1: 'usercode2'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13044:1: ( 'usercode2' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13045:1: 'usercode2'
             {
              before(grammarAccess.getSubSystemClassAccess().getUsercode2Keyword_6_0()); 
-            match(input,55,FOLLOW_55_in_rule__SubSystemClass__Group_6__0__Impl27053); 
+            match(input,56,FOLLOW_56_in_rule__SubSystemClass__Group_6__0__Impl26745); 
              after(grammarAccess.getSubSystemClassAccess().getUsercode2Keyword_6_0()); 
 
             }
@@ -36990,16 +36754,16 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_6__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13214:1: rule__SubSystemClass__Group_6__1 : rule__SubSystemClass__Group_6__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13058:1: rule__SubSystemClass__Group_6__1 : rule__SubSystemClass__Group_6__1__Impl ;
     public final void rule__SubSystemClass__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13218:1: ( rule__SubSystemClass__Group_6__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13219:2: rule__SubSystemClass__Group_6__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13062:1: ( rule__SubSystemClass__Group_6__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13063:2: rule__SubSystemClass__Group_6__1__Impl
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group_6__1__Impl_in_rule__SubSystemClass__Group_6__127084);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group_6__1__Impl_in_rule__SubSystemClass__Group_6__126776);
             rule__SubSystemClass__Group_6__1__Impl();
 
             state._fsp--;
@@ -37023,23 +36787,23 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13225:1: rule__SubSystemClass__Group_6__1__Impl : ( ( rule__SubSystemClass__UserCode2Assignment_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13069:1: rule__SubSystemClass__Group_6__1__Impl : ( ( rule__SubSystemClass__UserCode2Assignment_6_1 ) ) ;
     public final void rule__SubSystemClass__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13229:1: ( ( ( rule__SubSystemClass__UserCode2Assignment_6_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13230:1: ( ( rule__SubSystemClass__UserCode2Assignment_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13073:1: ( ( ( rule__SubSystemClass__UserCode2Assignment_6_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13074:1: ( ( rule__SubSystemClass__UserCode2Assignment_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13230:1: ( ( rule__SubSystemClass__UserCode2Assignment_6_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13231:1: ( rule__SubSystemClass__UserCode2Assignment_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13074:1: ( ( rule__SubSystemClass__UserCode2Assignment_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13075:1: ( rule__SubSystemClass__UserCode2Assignment_6_1 )
             {
              before(grammarAccess.getSubSystemClassAccess().getUserCode2Assignment_6_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13232:1: ( rule__SubSystemClass__UserCode2Assignment_6_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13232:2: rule__SubSystemClass__UserCode2Assignment_6_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13076:1: ( rule__SubSystemClass__UserCode2Assignment_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13076:2: rule__SubSystemClass__UserCode2Assignment_6_1
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__UserCode2Assignment_6_1_in_rule__SubSystemClass__Group_6__1__Impl27111);
+            pushFollow(FOLLOW_rule__SubSystemClass__UserCode2Assignment_6_1_in_rule__SubSystemClass__Group_6__1__Impl26803);
             rule__SubSystemClass__UserCode2Assignment_6_1();
 
             state._fsp--;
@@ -37070,21 +36834,21 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_7__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13246:1: rule__SubSystemClass__Group_7__0 : rule__SubSystemClass__Group_7__0__Impl rule__SubSystemClass__Group_7__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13090:1: rule__SubSystemClass__Group_7__0 : rule__SubSystemClass__Group_7__0__Impl rule__SubSystemClass__Group_7__1 ;
     public final void rule__SubSystemClass__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13250:1: ( rule__SubSystemClass__Group_7__0__Impl rule__SubSystemClass__Group_7__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13251:2: rule__SubSystemClass__Group_7__0__Impl rule__SubSystemClass__Group_7__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13094:1: ( rule__SubSystemClass__Group_7__0__Impl rule__SubSystemClass__Group_7__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13095:2: rule__SubSystemClass__Group_7__0__Impl rule__SubSystemClass__Group_7__1
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group_7__0__Impl_in_rule__SubSystemClass__Group_7__027145);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group_7__0__Impl_in_rule__SubSystemClass__Group_7__026837);
             rule__SubSystemClass__Group_7__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubSystemClass__Group_7__1_in_rule__SubSystemClass__Group_7__027148);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group_7__1_in_rule__SubSystemClass__Group_7__026840);
             rule__SubSystemClass__Group_7__1();
 
             state._fsp--;
@@ -37108,20 +36872,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_7__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13258:1: rule__SubSystemClass__Group_7__0__Impl : ( 'usercode3' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13102:1: rule__SubSystemClass__Group_7__0__Impl : ( 'usercode3' ) ;
     public final void rule__SubSystemClass__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13262:1: ( ( 'usercode3' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13263:1: ( 'usercode3' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13106:1: ( ( 'usercode3' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13107:1: ( 'usercode3' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13263:1: ( 'usercode3' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13264:1: 'usercode3'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13107:1: ( 'usercode3' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13108:1: 'usercode3'
             {
              before(grammarAccess.getSubSystemClassAccess().getUsercode3Keyword_7_0()); 
-            match(input,56,FOLLOW_56_in_rule__SubSystemClass__Group_7__0__Impl27176); 
+            match(input,57,FOLLOW_57_in_rule__SubSystemClass__Group_7__0__Impl26868); 
              after(grammarAccess.getSubSystemClassAccess().getUsercode3Keyword_7_0()); 
 
             }
@@ -37145,16 +36909,16 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_7__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13277:1: rule__SubSystemClass__Group_7__1 : rule__SubSystemClass__Group_7__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13121:1: rule__SubSystemClass__Group_7__1 : rule__SubSystemClass__Group_7__1__Impl ;
     public final void rule__SubSystemClass__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13281:1: ( rule__SubSystemClass__Group_7__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13282:2: rule__SubSystemClass__Group_7__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13125:1: ( rule__SubSystemClass__Group_7__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13126:2: rule__SubSystemClass__Group_7__1__Impl
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__Group_7__1__Impl_in_rule__SubSystemClass__Group_7__127207);
+            pushFollow(FOLLOW_rule__SubSystemClass__Group_7__1__Impl_in_rule__SubSystemClass__Group_7__126899);
             rule__SubSystemClass__Group_7__1__Impl();
 
             state._fsp--;
@@ -37178,23 +36942,23 @@
 
 
     // $ANTLR start "rule__SubSystemClass__Group_7__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13288:1: rule__SubSystemClass__Group_7__1__Impl : ( ( rule__SubSystemClass__UserCode3Assignment_7_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13132:1: rule__SubSystemClass__Group_7__1__Impl : ( ( rule__SubSystemClass__UserCode3Assignment_7_1 ) ) ;
     public final void rule__SubSystemClass__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13292:1: ( ( ( rule__SubSystemClass__UserCode3Assignment_7_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13293:1: ( ( rule__SubSystemClass__UserCode3Assignment_7_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13136:1: ( ( ( rule__SubSystemClass__UserCode3Assignment_7_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13137:1: ( ( rule__SubSystemClass__UserCode3Assignment_7_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13293:1: ( ( rule__SubSystemClass__UserCode3Assignment_7_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13294:1: ( rule__SubSystemClass__UserCode3Assignment_7_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13137:1: ( ( rule__SubSystemClass__UserCode3Assignment_7_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13138:1: ( rule__SubSystemClass__UserCode3Assignment_7_1 )
             {
              before(grammarAccess.getSubSystemClassAccess().getUserCode3Assignment_7_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13295:1: ( rule__SubSystemClass__UserCode3Assignment_7_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13295:2: rule__SubSystemClass__UserCode3Assignment_7_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13139:1: ( rule__SubSystemClass__UserCode3Assignment_7_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13139:2: rule__SubSystemClass__UserCode3Assignment_7_1
             {
-            pushFollow(FOLLOW_rule__SubSystemClass__UserCode3Assignment_7_1_in_rule__SubSystemClass__Group_7__1__Impl27234);
+            pushFollow(FOLLOW_rule__SubSystemClass__UserCode3Assignment_7_1_in_rule__SubSystemClass__Group_7__1__Impl26926);
             rule__SubSystemClass__UserCode3Assignment_7_1();
 
             state._fsp--;
@@ -37225,21 +36989,21 @@
 
 
     // $ANTLR start "rule__LogicalThread__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13309:1: rule__LogicalThread__Group__0 : rule__LogicalThread__Group__0__Impl rule__LogicalThread__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13153:1: rule__LogicalThread__Group__0 : rule__LogicalThread__Group__0__Impl rule__LogicalThread__Group__1 ;
     public final void rule__LogicalThread__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13313:1: ( rule__LogicalThread__Group__0__Impl rule__LogicalThread__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13314:2: rule__LogicalThread__Group__0__Impl rule__LogicalThread__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13157:1: ( rule__LogicalThread__Group__0__Impl rule__LogicalThread__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13158:2: rule__LogicalThread__Group__0__Impl rule__LogicalThread__Group__1
             {
-            pushFollow(FOLLOW_rule__LogicalThread__Group__0__Impl_in_rule__LogicalThread__Group__027268);
+            pushFollow(FOLLOW_rule__LogicalThread__Group__0__Impl_in_rule__LogicalThread__Group__026960);
             rule__LogicalThread__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__LogicalThread__Group__1_in_rule__LogicalThread__Group__027271);
+            pushFollow(FOLLOW_rule__LogicalThread__Group__1_in_rule__LogicalThread__Group__026963);
             rule__LogicalThread__Group__1();
 
             state._fsp--;
@@ -37263,20 +37027,20 @@
 
 
     // $ANTLR start "rule__LogicalThread__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13321:1: rule__LogicalThread__Group__0__Impl : ( 'LogicalThread' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13165:1: rule__LogicalThread__Group__0__Impl : ( 'LogicalThread' ) ;
     public final void rule__LogicalThread__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13325:1: ( ( 'LogicalThread' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13326:1: ( 'LogicalThread' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13169:1: ( ( 'LogicalThread' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13170:1: ( 'LogicalThread' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13326:1: ( 'LogicalThread' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13327:1: 'LogicalThread'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13170:1: ( 'LogicalThread' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13171:1: 'LogicalThread'
             {
              before(grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0()); 
-            match(input,80,FOLLOW_80_in_rule__LogicalThread__Group__0__Impl27299); 
+            match(input,81,FOLLOW_81_in_rule__LogicalThread__Group__0__Impl26991); 
              after(grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0()); 
 
             }
@@ -37300,16 +37064,16 @@
 
 
     // $ANTLR start "rule__LogicalThread__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13340:1: rule__LogicalThread__Group__1 : rule__LogicalThread__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13184:1: rule__LogicalThread__Group__1 : rule__LogicalThread__Group__1__Impl ;
     public final void rule__LogicalThread__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13344:1: ( rule__LogicalThread__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13345:2: rule__LogicalThread__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13188:1: ( rule__LogicalThread__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13189:2: rule__LogicalThread__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__LogicalThread__Group__1__Impl_in_rule__LogicalThread__Group__127330);
+            pushFollow(FOLLOW_rule__LogicalThread__Group__1__Impl_in_rule__LogicalThread__Group__127022);
             rule__LogicalThread__Group__1__Impl();
 
             state._fsp--;
@@ -37333,23 +37097,23 @@
 
 
     // $ANTLR start "rule__LogicalThread__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13351:1: rule__LogicalThread__Group__1__Impl : ( ( rule__LogicalThread__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13195:1: rule__LogicalThread__Group__1__Impl : ( ( rule__LogicalThread__NameAssignment_1 ) ) ;
     public final void rule__LogicalThread__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13355:1: ( ( ( rule__LogicalThread__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13356:1: ( ( rule__LogicalThread__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13199:1: ( ( ( rule__LogicalThread__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13200:1: ( ( rule__LogicalThread__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13356:1: ( ( rule__LogicalThread__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13357:1: ( rule__LogicalThread__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13200:1: ( ( rule__LogicalThread__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13201:1: ( rule__LogicalThread__NameAssignment_1 )
             {
              before(grammarAccess.getLogicalThreadAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13358:1: ( rule__LogicalThread__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13358:2: rule__LogicalThread__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13202:1: ( rule__LogicalThread__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13202:2: rule__LogicalThread__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__LogicalThread__NameAssignment_1_in_rule__LogicalThread__Group__1__Impl27357);
+            pushFollow(FOLLOW_rule__LogicalThread__NameAssignment_1_in_rule__LogicalThread__Group__1__Impl27049);
             rule__LogicalThread__NameAssignment_1();
 
             state._fsp--;
@@ -37380,21 +37144,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13372:1: rule__ActorInstanceMapping__Group__0 : rule__ActorInstanceMapping__Group__0__Impl rule__ActorInstanceMapping__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13216:1: rule__ActorInstanceMapping__Group__0 : rule__ActorInstanceMapping__Group__0__Impl rule__ActorInstanceMapping__Group__1 ;
     public final void rule__ActorInstanceMapping__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13376:1: ( rule__ActorInstanceMapping__Group__0__Impl rule__ActorInstanceMapping__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13377:2: rule__ActorInstanceMapping__Group__0__Impl rule__ActorInstanceMapping__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13220:1: ( rule__ActorInstanceMapping__Group__0__Impl rule__ActorInstanceMapping__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13221:2: rule__ActorInstanceMapping__Group__0__Impl rule__ActorInstanceMapping__Group__1
             {
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__0__Impl_in_rule__ActorInstanceMapping__Group__027391);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__0__Impl_in_rule__ActorInstanceMapping__Group__027083);
             rule__ActorInstanceMapping__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__1_in_rule__ActorInstanceMapping__Group__027394);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__1_in_rule__ActorInstanceMapping__Group__027086);
             rule__ActorInstanceMapping__Group__1();
 
             state._fsp--;
@@ -37418,20 +37182,20 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13384:1: rule__ActorInstanceMapping__Group__0__Impl : ( 'ActorInstanceMapping' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13228:1: rule__ActorInstanceMapping__Group__0__Impl : ( 'ActorInstanceMapping' ) ;
     public final void rule__ActorInstanceMapping__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13388:1: ( ( 'ActorInstanceMapping' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13389:1: ( 'ActorInstanceMapping' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13232:1: ( ( 'ActorInstanceMapping' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13233:1: ( 'ActorInstanceMapping' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13389:1: ( 'ActorInstanceMapping' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13390:1: 'ActorInstanceMapping'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13233:1: ( 'ActorInstanceMapping' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13234:1: 'ActorInstanceMapping'
             {
              before(grammarAccess.getActorInstanceMappingAccess().getActorInstanceMappingKeyword_0()); 
-            match(input,81,FOLLOW_81_in_rule__ActorInstanceMapping__Group__0__Impl27422); 
+            match(input,82,FOLLOW_82_in_rule__ActorInstanceMapping__Group__0__Impl27114); 
              after(grammarAccess.getActorInstanceMappingAccess().getActorInstanceMappingKeyword_0()); 
 
             }
@@ -37455,21 +37219,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13403:1: rule__ActorInstanceMapping__Group__1 : rule__ActorInstanceMapping__Group__1__Impl rule__ActorInstanceMapping__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13247:1: rule__ActorInstanceMapping__Group__1 : rule__ActorInstanceMapping__Group__1__Impl rule__ActorInstanceMapping__Group__2 ;
     public final void rule__ActorInstanceMapping__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13407:1: ( rule__ActorInstanceMapping__Group__1__Impl rule__ActorInstanceMapping__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13408:2: rule__ActorInstanceMapping__Group__1__Impl rule__ActorInstanceMapping__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13251:1: ( rule__ActorInstanceMapping__Group__1__Impl rule__ActorInstanceMapping__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13252:2: rule__ActorInstanceMapping__Group__1__Impl rule__ActorInstanceMapping__Group__2
             {
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__1__Impl_in_rule__ActorInstanceMapping__Group__127453);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__1__Impl_in_rule__ActorInstanceMapping__Group__127145);
             rule__ActorInstanceMapping__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__2_in_rule__ActorInstanceMapping__Group__127456);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__2_in_rule__ActorInstanceMapping__Group__127148);
             rule__ActorInstanceMapping__Group__2();
 
             state._fsp--;
@@ -37493,23 +37257,23 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13415:1: rule__ActorInstanceMapping__Group__1__Impl : ( ( rule__ActorInstanceMapping__PathAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13259:1: rule__ActorInstanceMapping__Group__1__Impl : ( ( rule__ActorInstanceMapping__PathAssignment_1 ) ) ;
     public final void rule__ActorInstanceMapping__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13419:1: ( ( ( rule__ActorInstanceMapping__PathAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13420:1: ( ( rule__ActorInstanceMapping__PathAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13263:1: ( ( ( rule__ActorInstanceMapping__PathAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13264:1: ( ( rule__ActorInstanceMapping__PathAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13420:1: ( ( rule__ActorInstanceMapping__PathAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13421:1: ( rule__ActorInstanceMapping__PathAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13264:1: ( ( rule__ActorInstanceMapping__PathAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13265:1: ( rule__ActorInstanceMapping__PathAssignment_1 )
             {
              before(grammarAccess.getActorInstanceMappingAccess().getPathAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13422:1: ( rule__ActorInstanceMapping__PathAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13422:2: rule__ActorInstanceMapping__PathAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13266:1: ( rule__ActorInstanceMapping__PathAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13266:2: rule__ActorInstanceMapping__PathAssignment_1
             {
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__PathAssignment_1_in_rule__ActorInstanceMapping__Group__1__Impl27483);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__PathAssignment_1_in_rule__ActorInstanceMapping__Group__1__Impl27175);
             rule__ActorInstanceMapping__PathAssignment_1();
 
             state._fsp--;
@@ -37540,21 +37304,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13432:1: rule__ActorInstanceMapping__Group__2 : rule__ActorInstanceMapping__Group__2__Impl rule__ActorInstanceMapping__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13276:1: rule__ActorInstanceMapping__Group__2 : rule__ActorInstanceMapping__Group__2__Impl rule__ActorInstanceMapping__Group__3 ;
     public final void rule__ActorInstanceMapping__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13436:1: ( rule__ActorInstanceMapping__Group__2__Impl rule__ActorInstanceMapping__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13437:2: rule__ActorInstanceMapping__Group__2__Impl rule__ActorInstanceMapping__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13280:1: ( rule__ActorInstanceMapping__Group__2__Impl rule__ActorInstanceMapping__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13281:2: rule__ActorInstanceMapping__Group__2__Impl rule__ActorInstanceMapping__Group__3
             {
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__2__Impl_in_rule__ActorInstanceMapping__Group__227513);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__2__Impl_in_rule__ActorInstanceMapping__Group__227205);
             rule__ActorInstanceMapping__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__3_in_rule__ActorInstanceMapping__Group__227516);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__3_in_rule__ActorInstanceMapping__Group__227208);
             rule__ActorInstanceMapping__Group__3();
 
             state._fsp--;
@@ -37578,20 +37342,20 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13444:1: rule__ActorInstanceMapping__Group__2__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13288:1: rule__ActorInstanceMapping__Group__2__Impl : ( '->' ) ;
     public final void rule__ActorInstanceMapping__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13448:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13449:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13292:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13293:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13449:1: ( '->' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13450:1: '->'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13293:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13294:1: '->'
             {
              before(grammarAccess.getActorInstanceMappingAccess().getHyphenMinusGreaterThanSignKeyword_2()); 
-            match(input,44,FOLLOW_44_in_rule__ActorInstanceMapping__Group__2__Impl27544); 
+            match(input,45,FOLLOW_45_in_rule__ActorInstanceMapping__Group__2__Impl27236); 
              after(grammarAccess.getActorInstanceMappingAccess().getHyphenMinusGreaterThanSignKeyword_2()); 
 
             }
@@ -37615,21 +37379,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13463:1: rule__ActorInstanceMapping__Group__3 : rule__ActorInstanceMapping__Group__3__Impl rule__ActorInstanceMapping__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13307:1: rule__ActorInstanceMapping__Group__3 : rule__ActorInstanceMapping__Group__3__Impl rule__ActorInstanceMapping__Group__4 ;
     public final void rule__ActorInstanceMapping__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13467:1: ( rule__ActorInstanceMapping__Group__3__Impl rule__ActorInstanceMapping__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13468:2: rule__ActorInstanceMapping__Group__3__Impl rule__ActorInstanceMapping__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13311:1: ( rule__ActorInstanceMapping__Group__3__Impl rule__ActorInstanceMapping__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13312:2: rule__ActorInstanceMapping__Group__3__Impl rule__ActorInstanceMapping__Group__4
             {
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__3__Impl_in_rule__ActorInstanceMapping__Group__327575);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__3__Impl_in_rule__ActorInstanceMapping__Group__327267);
             rule__ActorInstanceMapping__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__4_in_rule__ActorInstanceMapping__Group__327578);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__4_in_rule__ActorInstanceMapping__Group__327270);
             rule__ActorInstanceMapping__Group__4();
 
             state._fsp--;
@@ -37653,23 +37417,23 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13475:1: rule__ActorInstanceMapping__Group__3__Impl : ( ( rule__ActorInstanceMapping__ThreadAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13319:1: rule__ActorInstanceMapping__Group__3__Impl : ( ( rule__ActorInstanceMapping__ThreadAssignment_3 ) ) ;
     public final void rule__ActorInstanceMapping__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13479:1: ( ( ( rule__ActorInstanceMapping__ThreadAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13480:1: ( ( rule__ActorInstanceMapping__ThreadAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13323:1: ( ( ( rule__ActorInstanceMapping__ThreadAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13324:1: ( ( rule__ActorInstanceMapping__ThreadAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13480:1: ( ( rule__ActorInstanceMapping__ThreadAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13481:1: ( rule__ActorInstanceMapping__ThreadAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13324:1: ( ( rule__ActorInstanceMapping__ThreadAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13325:1: ( rule__ActorInstanceMapping__ThreadAssignment_3 )
             {
              before(grammarAccess.getActorInstanceMappingAccess().getThreadAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13482:1: ( rule__ActorInstanceMapping__ThreadAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13482:2: rule__ActorInstanceMapping__ThreadAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13326:1: ( rule__ActorInstanceMapping__ThreadAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13326:2: rule__ActorInstanceMapping__ThreadAssignment_3
             {
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__ThreadAssignment_3_in_rule__ActorInstanceMapping__Group__3__Impl27605);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__ThreadAssignment_3_in_rule__ActorInstanceMapping__Group__3__Impl27297);
             rule__ActorInstanceMapping__ThreadAssignment_3();
 
             state._fsp--;
@@ -37700,16 +37464,16 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13492:1: rule__ActorInstanceMapping__Group__4 : rule__ActorInstanceMapping__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13336:1: rule__ActorInstanceMapping__Group__4 : rule__ActorInstanceMapping__Group__4__Impl ;
     public final void rule__ActorInstanceMapping__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13496:1: ( rule__ActorInstanceMapping__Group__4__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13497:2: rule__ActorInstanceMapping__Group__4__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13340:1: ( rule__ActorInstanceMapping__Group__4__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13341:2: rule__ActorInstanceMapping__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__4__Impl_in_rule__ActorInstanceMapping__Group__427635);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group__4__Impl_in_rule__ActorInstanceMapping__Group__427327);
             rule__ActorInstanceMapping__Group__4__Impl();
 
             state._fsp--;
@@ -37733,31 +37497,31 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13503:1: rule__ActorInstanceMapping__Group__4__Impl : ( ( rule__ActorInstanceMapping__Group_4__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13347:1: rule__ActorInstanceMapping__Group__4__Impl : ( ( rule__ActorInstanceMapping__Group_4__0 )? ) ;
     public final void rule__ActorInstanceMapping__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13507:1: ( ( ( rule__ActorInstanceMapping__Group_4__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13508:1: ( ( rule__ActorInstanceMapping__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13351:1: ( ( ( rule__ActorInstanceMapping__Group_4__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13352:1: ( ( rule__ActorInstanceMapping__Group_4__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13508:1: ( ( rule__ActorInstanceMapping__Group_4__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13509:1: ( rule__ActorInstanceMapping__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13352:1: ( ( rule__ActorInstanceMapping__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13353:1: ( rule__ActorInstanceMapping__Group_4__0 )?
             {
              before(grammarAccess.getActorInstanceMappingAccess().getGroup_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13510:1: ( rule__ActorInstanceMapping__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13354:1: ( rule__ActorInstanceMapping__Group_4__0 )?
             int alt138=2;
             int LA138_0 = input.LA(1);
 
-            if ( (LA138_0==40) ) {
+            if ( (LA138_0==41) ) {
                 alt138=1;
             }
             switch (alt138) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13510:2: rule__ActorInstanceMapping__Group_4__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13354:2: rule__ActorInstanceMapping__Group_4__0
                     {
-                    pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__0_in_rule__ActorInstanceMapping__Group__4__Impl27662);
+                    pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__0_in_rule__ActorInstanceMapping__Group__4__Impl27354);
                     rule__ActorInstanceMapping__Group_4__0();
 
                     state._fsp--;
@@ -37791,21 +37555,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group_4__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13530:1: rule__ActorInstanceMapping__Group_4__0 : rule__ActorInstanceMapping__Group_4__0__Impl rule__ActorInstanceMapping__Group_4__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13374:1: rule__ActorInstanceMapping__Group_4__0 : rule__ActorInstanceMapping__Group_4__0__Impl rule__ActorInstanceMapping__Group_4__1 ;
     public final void rule__ActorInstanceMapping__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13534:1: ( rule__ActorInstanceMapping__Group_4__0__Impl rule__ActorInstanceMapping__Group_4__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13535:2: rule__ActorInstanceMapping__Group_4__0__Impl rule__ActorInstanceMapping__Group_4__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13378:1: ( rule__ActorInstanceMapping__Group_4__0__Impl rule__ActorInstanceMapping__Group_4__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13379:2: rule__ActorInstanceMapping__Group_4__0__Impl rule__ActorInstanceMapping__Group_4__1
             {
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__0__Impl_in_rule__ActorInstanceMapping__Group_4__027703);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__0__Impl_in_rule__ActorInstanceMapping__Group_4__027395);
             rule__ActorInstanceMapping__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__1_in_rule__ActorInstanceMapping__Group_4__027706);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__1_in_rule__ActorInstanceMapping__Group_4__027398);
             rule__ActorInstanceMapping__Group_4__1();
 
             state._fsp--;
@@ -37829,20 +37593,20 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group_4__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13542:1: rule__ActorInstanceMapping__Group_4__0__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13386:1: rule__ActorInstanceMapping__Group_4__0__Impl : ( '{' ) ;
     public final void rule__ActorInstanceMapping__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13546:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13547:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13390:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13391:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13547:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13548:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13391:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13392:1: '{'
             {
              before(grammarAccess.getActorInstanceMappingAccess().getLeftCurlyBracketKeyword_4_0()); 
-            match(input,40,FOLLOW_40_in_rule__ActorInstanceMapping__Group_4__0__Impl27734); 
+            match(input,41,FOLLOW_41_in_rule__ActorInstanceMapping__Group_4__0__Impl27426); 
              after(grammarAccess.getActorInstanceMappingAccess().getLeftCurlyBracketKeyword_4_0()); 
 
             }
@@ -37866,21 +37630,21 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group_4__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13561:1: rule__ActorInstanceMapping__Group_4__1 : rule__ActorInstanceMapping__Group_4__1__Impl rule__ActorInstanceMapping__Group_4__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13405:1: rule__ActorInstanceMapping__Group_4__1 : rule__ActorInstanceMapping__Group_4__1__Impl rule__ActorInstanceMapping__Group_4__2 ;
     public final void rule__ActorInstanceMapping__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13565:1: ( rule__ActorInstanceMapping__Group_4__1__Impl rule__ActorInstanceMapping__Group_4__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13566:2: rule__ActorInstanceMapping__Group_4__1__Impl rule__ActorInstanceMapping__Group_4__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13409:1: ( rule__ActorInstanceMapping__Group_4__1__Impl rule__ActorInstanceMapping__Group_4__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13410:2: rule__ActorInstanceMapping__Group_4__1__Impl rule__ActorInstanceMapping__Group_4__2
             {
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__1__Impl_in_rule__ActorInstanceMapping__Group_4__127765);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__1__Impl_in_rule__ActorInstanceMapping__Group_4__127457);
             rule__ActorInstanceMapping__Group_4__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__2_in_rule__ActorInstanceMapping__Group_4__127768);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__2_in_rule__ActorInstanceMapping__Group_4__127460);
             rule__ActorInstanceMapping__Group_4__2();
 
             state._fsp--;
@@ -37904,35 +37668,35 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group_4__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13573:1: rule__ActorInstanceMapping__Group_4__1__Impl : ( ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13417:1: rule__ActorInstanceMapping__Group_4__1__Impl : ( ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )* ) ;
     public final void rule__ActorInstanceMapping__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13577:1: ( ( ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13578:1: ( ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13421:1: ( ( ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13422:1: ( ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13578:1: ( ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13579:1: ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13422:1: ( ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13423:1: ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )*
             {
              before(grammarAccess.getActorInstanceMappingAccess().getActorInstanceMappingsAssignment_4_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13580:1: ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13424:1: ( rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 )*
             loop139:
             do {
                 int alt139=2;
                 int LA139_0 = input.LA(1);
 
-                if ( (LA139_0==81) ) {
+                if ( (LA139_0==82) ) {
                     alt139=1;
                 }
 
 
                 switch (alt139) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13580:2: rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13424:2: rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1
             	    {
-            	    pushFollow(FOLLOW_rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1_in_rule__ActorInstanceMapping__Group_4__1__Impl27795);
+            	    pushFollow(FOLLOW_rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1_in_rule__ActorInstanceMapping__Group_4__1__Impl27487);
             	    rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1();
 
             	    state._fsp--;
@@ -37969,16 +37733,16 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group_4__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13590:1: rule__ActorInstanceMapping__Group_4__2 : rule__ActorInstanceMapping__Group_4__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13434:1: rule__ActorInstanceMapping__Group_4__2 : rule__ActorInstanceMapping__Group_4__2__Impl ;
     public final void rule__ActorInstanceMapping__Group_4__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13594:1: ( rule__ActorInstanceMapping__Group_4__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13595:2: rule__ActorInstanceMapping__Group_4__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13438:1: ( rule__ActorInstanceMapping__Group_4__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13439:2: rule__ActorInstanceMapping__Group_4__2__Impl
             {
-            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__2__Impl_in_rule__ActorInstanceMapping__Group_4__227826);
+            pushFollow(FOLLOW_rule__ActorInstanceMapping__Group_4__2__Impl_in_rule__ActorInstanceMapping__Group_4__227518);
             rule__ActorInstanceMapping__Group_4__2__Impl();
 
             state._fsp--;
@@ -38002,20 +37766,20 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__Group_4__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13601:1: rule__ActorInstanceMapping__Group_4__2__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13445:1: rule__ActorInstanceMapping__Group_4__2__Impl : ( '}' ) ;
     public final void rule__ActorInstanceMapping__Group_4__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13605:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13606:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13449:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13450:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13606:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13607:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13450:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13451:1: '}'
             {
              before(grammarAccess.getActorInstanceMappingAccess().getRightCurlyBracketKeyword_4_2()); 
-            match(input,41,FOLLOW_41_in_rule__ActorInstanceMapping__Group_4__2__Impl27854); 
+            match(input,42,FOLLOW_42_in_rule__ActorInstanceMapping__Group_4__2__Impl27546); 
              after(grammarAccess.getActorInstanceMappingAccess().getRightCurlyBracketKeyword_4_2()); 
 
             }
@@ -38039,21 +37803,21 @@
 
 
     // $ANTLR start "rule__RefPath__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13626:1: rule__RefPath__Group__0 : rule__RefPath__Group__0__Impl rule__RefPath__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13470:1: rule__RefPath__Group__0 : rule__RefPath__Group__0__Impl rule__RefPath__Group__1 ;
     public final void rule__RefPath__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13630:1: ( rule__RefPath__Group__0__Impl rule__RefPath__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13631:2: rule__RefPath__Group__0__Impl rule__RefPath__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13474:1: ( rule__RefPath__Group__0__Impl rule__RefPath__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13475:2: rule__RefPath__Group__0__Impl rule__RefPath__Group__1
             {
-            pushFollow(FOLLOW_rule__RefPath__Group__0__Impl_in_rule__RefPath__Group__027891);
+            pushFollow(FOLLOW_rule__RefPath__Group__0__Impl_in_rule__RefPath__Group__027583);
             rule__RefPath__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefPath__Group__1_in_rule__RefPath__Group__027894);
+            pushFollow(FOLLOW_rule__RefPath__Group__1_in_rule__RefPath__Group__027586);
             rule__RefPath__Group__1();
 
             state._fsp--;
@@ -38077,23 +37841,23 @@
 
 
     // $ANTLR start "rule__RefPath__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13638:1: rule__RefPath__Group__0__Impl : ( ( rule__RefPath__RefsAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13482:1: rule__RefPath__Group__0__Impl : ( ( rule__RefPath__RefsAssignment_0 ) ) ;
     public final void rule__RefPath__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13642:1: ( ( ( rule__RefPath__RefsAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13643:1: ( ( rule__RefPath__RefsAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13486:1: ( ( ( rule__RefPath__RefsAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13487:1: ( ( rule__RefPath__RefsAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13643:1: ( ( rule__RefPath__RefsAssignment_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13644:1: ( rule__RefPath__RefsAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13487:1: ( ( rule__RefPath__RefsAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13488:1: ( rule__RefPath__RefsAssignment_0 )
             {
              before(grammarAccess.getRefPathAccess().getRefsAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13645:1: ( rule__RefPath__RefsAssignment_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13645:2: rule__RefPath__RefsAssignment_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13489:1: ( rule__RefPath__RefsAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13489:2: rule__RefPath__RefsAssignment_0
             {
-            pushFollow(FOLLOW_rule__RefPath__RefsAssignment_0_in_rule__RefPath__Group__0__Impl27921);
+            pushFollow(FOLLOW_rule__RefPath__RefsAssignment_0_in_rule__RefPath__Group__0__Impl27613);
             rule__RefPath__RefsAssignment_0();
 
             state._fsp--;
@@ -38124,16 +37888,16 @@
 
 
     // $ANTLR start "rule__RefPath__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13655:1: rule__RefPath__Group__1 : rule__RefPath__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13499:1: rule__RefPath__Group__1 : rule__RefPath__Group__1__Impl ;
     public final void rule__RefPath__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13659:1: ( rule__RefPath__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13660:2: rule__RefPath__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13503:1: ( rule__RefPath__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13504:2: rule__RefPath__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefPath__Group__1__Impl_in_rule__RefPath__Group__127951);
+            pushFollow(FOLLOW_rule__RefPath__Group__1__Impl_in_rule__RefPath__Group__127643);
             rule__RefPath__Group__1__Impl();
 
             state._fsp--;
@@ -38157,35 +37921,35 @@
 
 
     // $ANTLR start "rule__RefPath__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13666:1: rule__RefPath__Group__1__Impl : ( ( rule__RefPath__Group_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13510:1: rule__RefPath__Group__1__Impl : ( ( rule__RefPath__Group_1__0 )* ) ;
     public final void rule__RefPath__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13670:1: ( ( ( rule__RefPath__Group_1__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13671:1: ( ( rule__RefPath__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13514:1: ( ( ( rule__RefPath__Group_1__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13515:1: ( ( rule__RefPath__Group_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13671:1: ( ( rule__RefPath__Group_1__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13672:1: ( rule__RefPath__Group_1__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13515:1: ( ( rule__RefPath__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13516:1: ( rule__RefPath__Group_1__0 )*
             {
              before(grammarAccess.getRefPathAccess().getGroup_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13673:1: ( rule__RefPath__Group_1__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13517:1: ( rule__RefPath__Group_1__0 )*
             loop140:
             do {
                 int alt140=2;
                 int LA140_0 = input.LA(1);
 
-                if ( (LA140_0==82) ) {
+                if ( (LA140_0==83) ) {
                     alt140=1;
                 }
 
 
                 switch (alt140) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13673:2: rule__RefPath__Group_1__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13517:2: rule__RefPath__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__RefPath__Group_1__0_in_rule__RefPath__Group__1__Impl27978);
+            	    pushFollow(FOLLOW_rule__RefPath__Group_1__0_in_rule__RefPath__Group__1__Impl27670);
             	    rule__RefPath__Group_1__0();
 
             	    state._fsp--;
@@ -38222,21 +37986,21 @@
 
 
     // $ANTLR start "rule__RefPath__Group_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13687:1: rule__RefPath__Group_1__0 : rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13531:1: rule__RefPath__Group_1__0 : rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1 ;
     public final void rule__RefPath__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13691:1: ( rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13692:2: rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13535:1: ( rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13536:2: rule__RefPath__Group_1__0__Impl rule__RefPath__Group_1__1
             {
-            pushFollow(FOLLOW_rule__RefPath__Group_1__0__Impl_in_rule__RefPath__Group_1__028013);
+            pushFollow(FOLLOW_rule__RefPath__Group_1__0__Impl_in_rule__RefPath__Group_1__027705);
             rule__RefPath__Group_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefPath__Group_1__1_in_rule__RefPath__Group_1__028016);
+            pushFollow(FOLLOW_rule__RefPath__Group_1__1_in_rule__RefPath__Group_1__027708);
             rule__RefPath__Group_1__1();
 
             state._fsp--;
@@ -38260,20 +38024,20 @@
 
 
     // $ANTLR start "rule__RefPath__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13699:1: rule__RefPath__Group_1__0__Impl : ( '/' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13543:1: rule__RefPath__Group_1__0__Impl : ( '/' ) ;
     public final void rule__RefPath__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13703:1: ( ( '/' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13704:1: ( '/' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13547:1: ( ( '/' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13548:1: ( '/' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13704:1: ( '/' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13705:1: '/'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13548:1: ( '/' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13549:1: '/'
             {
              before(grammarAccess.getRefPathAccess().getSolidusKeyword_1_0()); 
-            match(input,82,FOLLOW_82_in_rule__RefPath__Group_1__0__Impl28044); 
+            match(input,83,FOLLOW_83_in_rule__RefPath__Group_1__0__Impl27736); 
              after(grammarAccess.getRefPathAccess().getSolidusKeyword_1_0()); 
 
             }
@@ -38297,16 +38061,16 @@
 
 
     // $ANTLR start "rule__RefPath__Group_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13718:1: rule__RefPath__Group_1__1 : rule__RefPath__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13562:1: rule__RefPath__Group_1__1 : rule__RefPath__Group_1__1__Impl ;
     public final void rule__RefPath__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13722:1: ( rule__RefPath__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13723:2: rule__RefPath__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13566:1: ( rule__RefPath__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13567:2: rule__RefPath__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefPath__Group_1__1__Impl_in_rule__RefPath__Group_1__128075);
+            pushFollow(FOLLOW_rule__RefPath__Group_1__1__Impl_in_rule__RefPath__Group_1__127767);
             rule__RefPath__Group_1__1__Impl();
 
             state._fsp--;
@@ -38330,23 +38094,23 @@
 
 
     // $ANTLR start "rule__RefPath__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13729:1: rule__RefPath__Group_1__1__Impl : ( ( rule__RefPath__RefsAssignment_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13573:1: rule__RefPath__Group_1__1__Impl : ( ( rule__RefPath__RefsAssignment_1_1 ) ) ;
     public final void rule__RefPath__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13733:1: ( ( ( rule__RefPath__RefsAssignment_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13734:1: ( ( rule__RefPath__RefsAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13577:1: ( ( ( rule__RefPath__RefsAssignment_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13578:1: ( ( rule__RefPath__RefsAssignment_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13734:1: ( ( rule__RefPath__RefsAssignment_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13735:1: ( rule__RefPath__RefsAssignment_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13578:1: ( ( rule__RefPath__RefsAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13579:1: ( rule__RefPath__RefsAssignment_1_1 )
             {
              before(grammarAccess.getRefPathAccess().getRefsAssignment_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13736:1: ( rule__RefPath__RefsAssignment_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13736:2: rule__RefPath__RefsAssignment_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13580:1: ( rule__RefPath__RefsAssignment_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13580:2: rule__RefPath__RefsAssignment_1_1
             {
-            pushFollow(FOLLOW_rule__RefPath__RefsAssignment_1_1_in_rule__RefPath__Group_1__1__Impl28102);
+            pushFollow(FOLLOW_rule__RefPath__RefsAssignment_1_1_in_rule__RefPath__Group_1__1__Impl27794);
             rule__RefPath__RefsAssignment_1_1();
 
             state._fsp--;
@@ -38377,21 +38141,21 @@
 
 
     // $ANTLR start "rule__RefSegment__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13750:1: rule__RefSegment__Group__0 : rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13594:1: rule__RefSegment__Group__0 : rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1 ;
     public final void rule__RefSegment__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13754:1: ( rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13755:2: rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13598:1: ( rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13599:2: rule__RefSegment__Group__0__Impl rule__RefSegment__Group__1
             {
-            pushFollow(FOLLOW_rule__RefSegment__Group__0__Impl_in_rule__RefSegment__Group__028136);
+            pushFollow(FOLLOW_rule__RefSegment__Group__0__Impl_in_rule__RefSegment__Group__027828);
             rule__RefSegment__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefSegment__Group__1_in_rule__RefSegment__Group__028139);
+            pushFollow(FOLLOW_rule__RefSegment__Group__1_in_rule__RefSegment__Group__027831);
             rule__RefSegment__Group__1();
 
             state._fsp--;
@@ -38415,23 +38179,23 @@
 
 
     // $ANTLR start "rule__RefSegment__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13762:1: rule__RefSegment__Group__0__Impl : ( ( rule__RefSegment__RefAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13606:1: rule__RefSegment__Group__0__Impl : ( ( rule__RefSegment__RefAssignment_0 ) ) ;
     public final void rule__RefSegment__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13766:1: ( ( ( rule__RefSegment__RefAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13767:1: ( ( rule__RefSegment__RefAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13610:1: ( ( ( rule__RefSegment__RefAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13611:1: ( ( rule__RefSegment__RefAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13767:1: ( ( rule__RefSegment__RefAssignment_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13768:1: ( rule__RefSegment__RefAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13611:1: ( ( rule__RefSegment__RefAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13612:1: ( rule__RefSegment__RefAssignment_0 )
             {
              before(grammarAccess.getRefSegmentAccess().getRefAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13769:1: ( rule__RefSegment__RefAssignment_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13769:2: rule__RefSegment__RefAssignment_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13613:1: ( rule__RefSegment__RefAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13613:2: rule__RefSegment__RefAssignment_0
             {
-            pushFollow(FOLLOW_rule__RefSegment__RefAssignment_0_in_rule__RefSegment__Group__0__Impl28166);
+            pushFollow(FOLLOW_rule__RefSegment__RefAssignment_0_in_rule__RefSegment__Group__0__Impl27858);
             rule__RefSegment__RefAssignment_0();
 
             state._fsp--;
@@ -38462,16 +38226,16 @@
 
 
     // $ANTLR start "rule__RefSegment__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13779:1: rule__RefSegment__Group__1 : rule__RefSegment__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13623:1: rule__RefSegment__Group__1 : rule__RefSegment__Group__1__Impl ;
     public final void rule__RefSegment__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13783:1: ( rule__RefSegment__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13784:2: rule__RefSegment__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13627:1: ( rule__RefSegment__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13628:2: rule__RefSegment__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefSegment__Group__1__Impl_in_rule__RefSegment__Group__128196);
+            pushFollow(FOLLOW_rule__RefSegment__Group__1__Impl_in_rule__RefSegment__Group__127888);
             rule__RefSegment__Group__1__Impl();
 
             state._fsp--;
@@ -38495,31 +38259,31 @@
 
 
     // $ANTLR start "rule__RefSegment__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13790:1: rule__RefSegment__Group__1__Impl : ( ( rule__RefSegment__Group_1__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13634:1: rule__RefSegment__Group__1__Impl : ( ( rule__RefSegment__Group_1__0 )? ) ;
     public final void rule__RefSegment__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13794:1: ( ( ( rule__RefSegment__Group_1__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13795:1: ( ( rule__RefSegment__Group_1__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13638:1: ( ( ( rule__RefSegment__Group_1__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13639:1: ( ( rule__RefSegment__Group_1__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13795:1: ( ( rule__RefSegment__Group_1__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13796:1: ( rule__RefSegment__Group_1__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13639:1: ( ( rule__RefSegment__Group_1__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13640:1: ( rule__RefSegment__Group_1__0 )?
             {
              before(grammarAccess.getRefSegmentAccess().getGroup_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13797:1: ( rule__RefSegment__Group_1__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13641:1: ( rule__RefSegment__Group_1__0 )?
             int alt141=2;
             int LA141_0 = input.LA(1);
 
-            if ( (LA141_0==42) ) {
+            if ( (LA141_0==43) ) {
                 alt141=1;
             }
             switch (alt141) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13797:2: rule__RefSegment__Group_1__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13641:2: rule__RefSegment__Group_1__0
                     {
-                    pushFollow(FOLLOW_rule__RefSegment__Group_1__0_in_rule__RefSegment__Group__1__Impl28223);
+                    pushFollow(FOLLOW_rule__RefSegment__Group_1__0_in_rule__RefSegment__Group__1__Impl27915);
                     rule__RefSegment__Group_1__0();
 
                     state._fsp--;
@@ -38553,21 +38317,21 @@
 
 
     // $ANTLR start "rule__RefSegment__Group_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13811:1: rule__RefSegment__Group_1__0 : rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13655:1: rule__RefSegment__Group_1__0 : rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1 ;
     public final void rule__RefSegment__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13815:1: ( rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13816:2: rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13659:1: ( rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13660:2: rule__RefSegment__Group_1__0__Impl rule__RefSegment__Group_1__1
             {
-            pushFollow(FOLLOW_rule__RefSegment__Group_1__0__Impl_in_rule__RefSegment__Group_1__028258);
+            pushFollow(FOLLOW_rule__RefSegment__Group_1__0__Impl_in_rule__RefSegment__Group_1__027950);
             rule__RefSegment__Group_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefSegment__Group_1__1_in_rule__RefSegment__Group_1__028261);
+            pushFollow(FOLLOW_rule__RefSegment__Group_1__1_in_rule__RefSegment__Group_1__027953);
             rule__RefSegment__Group_1__1();
 
             state._fsp--;
@@ -38591,20 +38355,20 @@
 
 
     // $ANTLR start "rule__RefSegment__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13823:1: rule__RefSegment__Group_1__0__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13667:1: rule__RefSegment__Group_1__0__Impl : ( ':' ) ;
     public final void rule__RefSegment__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13827:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13828:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13671:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13672:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13828:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13829:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13672:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13673:1: ':'
             {
              before(grammarAccess.getRefSegmentAccess().getColonKeyword_1_0()); 
-            match(input,42,FOLLOW_42_in_rule__RefSegment__Group_1__0__Impl28289); 
+            match(input,43,FOLLOW_43_in_rule__RefSegment__Group_1__0__Impl27981); 
              after(grammarAccess.getRefSegmentAccess().getColonKeyword_1_0()); 
 
             }
@@ -38628,16 +38392,16 @@
 
 
     // $ANTLR start "rule__RefSegment__Group_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13842:1: rule__RefSegment__Group_1__1 : rule__RefSegment__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13686:1: rule__RefSegment__Group_1__1 : rule__RefSegment__Group_1__1__Impl ;
     public final void rule__RefSegment__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13846:1: ( rule__RefSegment__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13847:2: rule__RefSegment__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13690:1: ( rule__RefSegment__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13691:2: rule__RefSegment__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefSegment__Group_1__1__Impl_in_rule__RefSegment__Group_1__128320);
+            pushFollow(FOLLOW_rule__RefSegment__Group_1__1__Impl_in_rule__RefSegment__Group_1__128012);
             rule__RefSegment__Group_1__1__Impl();
 
             state._fsp--;
@@ -38661,23 +38425,23 @@
 
 
     // $ANTLR start "rule__RefSegment__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13853:1: rule__RefSegment__Group_1__1__Impl : ( ( rule__RefSegment__IdxAssignment_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13697:1: rule__RefSegment__Group_1__1__Impl : ( ( rule__RefSegment__IdxAssignment_1_1 ) ) ;
     public final void rule__RefSegment__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13857:1: ( ( ( rule__RefSegment__IdxAssignment_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13858:1: ( ( rule__RefSegment__IdxAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13701:1: ( ( ( rule__RefSegment__IdxAssignment_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13702:1: ( ( rule__RefSegment__IdxAssignment_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13858:1: ( ( rule__RefSegment__IdxAssignment_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13859:1: ( rule__RefSegment__IdxAssignment_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13702:1: ( ( rule__RefSegment__IdxAssignment_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13703:1: ( rule__RefSegment__IdxAssignment_1_1 )
             {
              before(grammarAccess.getRefSegmentAccess().getIdxAssignment_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13860:1: ( rule__RefSegment__IdxAssignment_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13860:2: rule__RefSegment__IdxAssignment_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13704:1: ( rule__RefSegment__IdxAssignment_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13704:2: rule__RefSegment__IdxAssignment_1_1
             {
-            pushFollow(FOLLOW_rule__RefSegment__IdxAssignment_1_1_in_rule__RefSegment__Group_1__1__Impl28347);
+            pushFollow(FOLLOW_rule__RefSegment__IdxAssignment_1_1_in_rule__RefSegment__Group_1__1__Impl28039);
             rule__RefSegment__IdxAssignment_1_1();
 
             state._fsp--;
@@ -38708,21 +38472,21 @@
 
 
     // $ANTLR start "rule__Binding__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13874:1: rule__Binding__Group__0 : rule__Binding__Group__0__Impl rule__Binding__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13718:1: rule__Binding__Group__0 : rule__Binding__Group__0__Impl rule__Binding__Group__1 ;
     public final void rule__Binding__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13878:1: ( rule__Binding__Group__0__Impl rule__Binding__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13879:2: rule__Binding__Group__0__Impl rule__Binding__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13722:1: ( rule__Binding__Group__0__Impl rule__Binding__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13723:2: rule__Binding__Group__0__Impl rule__Binding__Group__1
             {
-            pushFollow(FOLLOW_rule__Binding__Group__0__Impl_in_rule__Binding__Group__028381);
+            pushFollow(FOLLOW_rule__Binding__Group__0__Impl_in_rule__Binding__Group__028073);
             rule__Binding__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Binding__Group__1_in_rule__Binding__Group__028384);
+            pushFollow(FOLLOW_rule__Binding__Group__1_in_rule__Binding__Group__028076);
             rule__Binding__Group__1();
 
             state._fsp--;
@@ -38746,20 +38510,20 @@
 
 
     // $ANTLR start "rule__Binding__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13886:1: rule__Binding__Group__0__Impl : ( 'Binding' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13730:1: rule__Binding__Group__0__Impl : ( 'Binding' ) ;
     public final void rule__Binding__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13890:1: ( ( 'Binding' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13891:1: ( 'Binding' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13734:1: ( ( 'Binding' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13735:1: ( 'Binding' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13891:1: ( 'Binding' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13892:1: 'Binding'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13735:1: ( 'Binding' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13736:1: 'Binding'
             {
              before(grammarAccess.getBindingAccess().getBindingKeyword_0()); 
-            match(input,83,FOLLOW_83_in_rule__Binding__Group__0__Impl28412); 
+            match(input,84,FOLLOW_84_in_rule__Binding__Group__0__Impl28104); 
              after(grammarAccess.getBindingAccess().getBindingKeyword_0()); 
 
             }
@@ -38783,21 +38547,21 @@
 
 
     // $ANTLR start "rule__Binding__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13905:1: rule__Binding__Group__1 : rule__Binding__Group__1__Impl rule__Binding__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13749:1: rule__Binding__Group__1 : rule__Binding__Group__1__Impl rule__Binding__Group__2 ;
     public final void rule__Binding__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13909:1: ( rule__Binding__Group__1__Impl rule__Binding__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13910:2: rule__Binding__Group__1__Impl rule__Binding__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13753:1: ( rule__Binding__Group__1__Impl rule__Binding__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13754:2: rule__Binding__Group__1__Impl rule__Binding__Group__2
             {
-            pushFollow(FOLLOW_rule__Binding__Group__1__Impl_in_rule__Binding__Group__128443);
+            pushFollow(FOLLOW_rule__Binding__Group__1__Impl_in_rule__Binding__Group__128135);
             rule__Binding__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Binding__Group__2_in_rule__Binding__Group__128446);
+            pushFollow(FOLLOW_rule__Binding__Group__2_in_rule__Binding__Group__128138);
             rule__Binding__Group__2();
 
             state._fsp--;
@@ -38821,23 +38585,23 @@
 
 
     // $ANTLR start "rule__Binding__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13917:1: rule__Binding__Group__1__Impl : ( ( rule__Binding__Endpoint1Assignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13761:1: rule__Binding__Group__1__Impl : ( ( rule__Binding__Endpoint1Assignment_1 ) ) ;
     public final void rule__Binding__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13921:1: ( ( ( rule__Binding__Endpoint1Assignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13922:1: ( ( rule__Binding__Endpoint1Assignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13765:1: ( ( ( rule__Binding__Endpoint1Assignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13766:1: ( ( rule__Binding__Endpoint1Assignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13922:1: ( ( rule__Binding__Endpoint1Assignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13923:1: ( rule__Binding__Endpoint1Assignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13766:1: ( ( rule__Binding__Endpoint1Assignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13767:1: ( rule__Binding__Endpoint1Assignment_1 )
             {
              before(grammarAccess.getBindingAccess().getEndpoint1Assignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13924:1: ( rule__Binding__Endpoint1Assignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13924:2: rule__Binding__Endpoint1Assignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13768:1: ( rule__Binding__Endpoint1Assignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13768:2: rule__Binding__Endpoint1Assignment_1
             {
-            pushFollow(FOLLOW_rule__Binding__Endpoint1Assignment_1_in_rule__Binding__Group__1__Impl28473);
+            pushFollow(FOLLOW_rule__Binding__Endpoint1Assignment_1_in_rule__Binding__Group__1__Impl28165);
             rule__Binding__Endpoint1Assignment_1();
 
             state._fsp--;
@@ -38868,21 +38632,21 @@
 
 
     // $ANTLR start "rule__Binding__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13934:1: rule__Binding__Group__2 : rule__Binding__Group__2__Impl rule__Binding__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13778:1: rule__Binding__Group__2 : rule__Binding__Group__2__Impl rule__Binding__Group__3 ;
     public final void rule__Binding__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13938:1: ( rule__Binding__Group__2__Impl rule__Binding__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13939:2: rule__Binding__Group__2__Impl rule__Binding__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13782:1: ( rule__Binding__Group__2__Impl rule__Binding__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13783:2: rule__Binding__Group__2__Impl rule__Binding__Group__3
             {
-            pushFollow(FOLLOW_rule__Binding__Group__2__Impl_in_rule__Binding__Group__228503);
+            pushFollow(FOLLOW_rule__Binding__Group__2__Impl_in_rule__Binding__Group__228195);
             rule__Binding__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Binding__Group__3_in_rule__Binding__Group__228506);
+            pushFollow(FOLLOW_rule__Binding__Group__3_in_rule__Binding__Group__228198);
             rule__Binding__Group__3();
 
             state._fsp--;
@@ -38906,20 +38670,20 @@
 
 
     // $ANTLR start "rule__Binding__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13946:1: rule__Binding__Group__2__Impl : ( 'and' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13790:1: rule__Binding__Group__2__Impl : ( 'and' ) ;
     public final void rule__Binding__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13950:1: ( ( 'and' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13951:1: ( 'and' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13794:1: ( ( 'and' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13795:1: ( 'and' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13951:1: ( 'and' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13952:1: 'and'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13795:1: ( 'and' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13796:1: 'and'
             {
              before(grammarAccess.getBindingAccess().getAndKeyword_2()); 
-            match(input,84,FOLLOW_84_in_rule__Binding__Group__2__Impl28534); 
+            match(input,85,FOLLOW_85_in_rule__Binding__Group__2__Impl28226); 
              after(grammarAccess.getBindingAccess().getAndKeyword_2()); 
 
             }
@@ -38943,16 +38707,16 @@
 
 
     // $ANTLR start "rule__Binding__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13965:1: rule__Binding__Group__3 : rule__Binding__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13809:1: rule__Binding__Group__3 : rule__Binding__Group__3__Impl ;
     public final void rule__Binding__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13969:1: ( rule__Binding__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13970:2: rule__Binding__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13813:1: ( rule__Binding__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13814:2: rule__Binding__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Binding__Group__3__Impl_in_rule__Binding__Group__328565);
+            pushFollow(FOLLOW_rule__Binding__Group__3__Impl_in_rule__Binding__Group__328257);
             rule__Binding__Group__3__Impl();
 
             state._fsp--;
@@ -38976,23 +38740,23 @@
 
 
     // $ANTLR start "rule__Binding__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13976:1: rule__Binding__Group__3__Impl : ( ( rule__Binding__Endpoint2Assignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13820:1: rule__Binding__Group__3__Impl : ( ( rule__Binding__Endpoint2Assignment_3 ) ) ;
     public final void rule__Binding__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13980:1: ( ( ( rule__Binding__Endpoint2Assignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13981:1: ( ( rule__Binding__Endpoint2Assignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13824:1: ( ( ( rule__Binding__Endpoint2Assignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13825:1: ( ( rule__Binding__Endpoint2Assignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13981:1: ( ( rule__Binding__Endpoint2Assignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13982:1: ( rule__Binding__Endpoint2Assignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13825:1: ( ( rule__Binding__Endpoint2Assignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13826:1: ( rule__Binding__Endpoint2Assignment_3 )
             {
              before(grammarAccess.getBindingAccess().getEndpoint2Assignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13983:1: ( rule__Binding__Endpoint2Assignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13983:2: rule__Binding__Endpoint2Assignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13827:1: ( rule__Binding__Endpoint2Assignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13827:2: rule__Binding__Endpoint2Assignment_3
             {
-            pushFollow(FOLLOW_rule__Binding__Endpoint2Assignment_3_in_rule__Binding__Group__3__Impl28592);
+            pushFollow(FOLLOW_rule__Binding__Endpoint2Assignment_3_in_rule__Binding__Group__3__Impl28284);
             rule__Binding__Endpoint2Assignment_3();
 
             state._fsp--;
@@ -39023,21 +38787,21 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14001:1: rule__BindingEndPoint__Group__0 : rule__BindingEndPoint__Group__0__Impl rule__BindingEndPoint__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13845:1: rule__BindingEndPoint__Group__0 : rule__BindingEndPoint__Group__0__Impl rule__BindingEndPoint__Group__1 ;
     public final void rule__BindingEndPoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14005:1: ( rule__BindingEndPoint__Group__0__Impl rule__BindingEndPoint__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14006:2: rule__BindingEndPoint__Group__0__Impl rule__BindingEndPoint__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13849:1: ( rule__BindingEndPoint__Group__0__Impl rule__BindingEndPoint__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13850:2: rule__BindingEndPoint__Group__0__Impl rule__BindingEndPoint__Group__1
             {
-            pushFollow(FOLLOW_rule__BindingEndPoint__Group__0__Impl_in_rule__BindingEndPoint__Group__028630);
+            pushFollow(FOLLOW_rule__BindingEndPoint__Group__0__Impl_in_rule__BindingEndPoint__Group__028322);
             rule__BindingEndPoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__BindingEndPoint__Group__1_in_rule__BindingEndPoint__Group__028633);
+            pushFollow(FOLLOW_rule__BindingEndPoint__Group__1_in_rule__BindingEndPoint__Group__028325);
             rule__BindingEndPoint__Group__1();
 
             state._fsp--;
@@ -39061,35 +38825,35 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14013:1: rule__BindingEndPoint__Group__0__Impl : ( ( rule__BindingEndPoint__Group_0__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13857:1: rule__BindingEndPoint__Group__0__Impl : ( ( rule__BindingEndPoint__Group_0__0 )? ) ;
     public final void rule__BindingEndPoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14017:1: ( ( ( rule__BindingEndPoint__Group_0__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14018:1: ( ( rule__BindingEndPoint__Group_0__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13861:1: ( ( ( rule__BindingEndPoint__Group_0__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13862:1: ( ( rule__BindingEndPoint__Group_0__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14018:1: ( ( rule__BindingEndPoint__Group_0__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14019:1: ( rule__BindingEndPoint__Group_0__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13862:1: ( ( rule__BindingEndPoint__Group_0__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13863:1: ( rule__BindingEndPoint__Group_0__0 )?
             {
              before(grammarAccess.getBindingEndPointAccess().getGroup_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14020:1: ( rule__BindingEndPoint__Group_0__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13864:1: ( rule__BindingEndPoint__Group_0__0 )?
             int alt142=2;
             int LA142_0 = input.LA(1);
 
             if ( (LA142_0==RULE_ID) ) {
                 int LA142_1 = input.LA(2);
 
-                if ( (LA142_1==85) ) {
+                if ( (LA142_1==86) ) {
                     alt142=1;
                 }
             }
             switch (alt142) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14020:2: rule__BindingEndPoint__Group_0__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13864:2: rule__BindingEndPoint__Group_0__0
                     {
-                    pushFollow(FOLLOW_rule__BindingEndPoint__Group_0__0_in_rule__BindingEndPoint__Group__0__Impl28660);
+                    pushFollow(FOLLOW_rule__BindingEndPoint__Group_0__0_in_rule__BindingEndPoint__Group__0__Impl28352);
                     rule__BindingEndPoint__Group_0__0();
 
                     state._fsp--;
@@ -39123,21 +38887,21 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14030:1: rule__BindingEndPoint__Group__1 : rule__BindingEndPoint__Group__1__Impl rule__BindingEndPoint__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13874:1: rule__BindingEndPoint__Group__1 : rule__BindingEndPoint__Group__1__Impl rule__BindingEndPoint__Group__2 ;
     public final void rule__BindingEndPoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14034:1: ( rule__BindingEndPoint__Group__1__Impl rule__BindingEndPoint__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14035:2: rule__BindingEndPoint__Group__1__Impl rule__BindingEndPoint__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13878:1: ( rule__BindingEndPoint__Group__1__Impl rule__BindingEndPoint__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13879:2: rule__BindingEndPoint__Group__1__Impl rule__BindingEndPoint__Group__2
             {
-            pushFollow(FOLLOW_rule__BindingEndPoint__Group__1__Impl_in_rule__BindingEndPoint__Group__128691);
+            pushFollow(FOLLOW_rule__BindingEndPoint__Group__1__Impl_in_rule__BindingEndPoint__Group__128383);
             rule__BindingEndPoint__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__BindingEndPoint__Group__2_in_rule__BindingEndPoint__Group__128694);
+            pushFollow(FOLLOW_rule__BindingEndPoint__Group__2_in_rule__BindingEndPoint__Group__128386);
             rule__BindingEndPoint__Group__2();
 
             state._fsp--;
@@ -39161,23 +38925,23 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14042:1: rule__BindingEndPoint__Group__1__Impl : ( ( rule__BindingEndPoint__PortAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13886:1: rule__BindingEndPoint__Group__1__Impl : ( ( rule__BindingEndPoint__PortAssignment_1 ) ) ;
     public final void rule__BindingEndPoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14046:1: ( ( ( rule__BindingEndPoint__PortAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14047:1: ( ( rule__BindingEndPoint__PortAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13890:1: ( ( ( rule__BindingEndPoint__PortAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13891:1: ( ( rule__BindingEndPoint__PortAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14047:1: ( ( rule__BindingEndPoint__PortAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14048:1: ( rule__BindingEndPoint__PortAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13891:1: ( ( rule__BindingEndPoint__PortAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13892:1: ( rule__BindingEndPoint__PortAssignment_1 )
             {
              before(grammarAccess.getBindingEndPointAccess().getPortAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14049:1: ( rule__BindingEndPoint__PortAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14049:2: rule__BindingEndPoint__PortAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13893:1: ( rule__BindingEndPoint__PortAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13893:2: rule__BindingEndPoint__PortAssignment_1
             {
-            pushFollow(FOLLOW_rule__BindingEndPoint__PortAssignment_1_in_rule__BindingEndPoint__Group__1__Impl28721);
+            pushFollow(FOLLOW_rule__BindingEndPoint__PortAssignment_1_in_rule__BindingEndPoint__Group__1__Impl28413);
             rule__BindingEndPoint__PortAssignment_1();
 
             state._fsp--;
@@ -39208,16 +38972,16 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14059:1: rule__BindingEndPoint__Group__2 : rule__BindingEndPoint__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13903:1: rule__BindingEndPoint__Group__2 : rule__BindingEndPoint__Group__2__Impl ;
     public final void rule__BindingEndPoint__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14063:1: ( rule__BindingEndPoint__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14064:2: rule__BindingEndPoint__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13907:1: ( rule__BindingEndPoint__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13908:2: rule__BindingEndPoint__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__BindingEndPoint__Group__2__Impl_in_rule__BindingEndPoint__Group__228751);
+            pushFollow(FOLLOW_rule__BindingEndPoint__Group__2__Impl_in_rule__BindingEndPoint__Group__228443);
             rule__BindingEndPoint__Group__2__Impl();
 
             state._fsp--;
@@ -39241,31 +39005,31 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14070:1: rule__BindingEndPoint__Group__2__Impl : ( ( rule__BindingEndPoint__Group_2__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13914:1: rule__BindingEndPoint__Group__2__Impl : ( ( rule__BindingEndPoint__Group_2__0 )? ) ;
     public final void rule__BindingEndPoint__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14074:1: ( ( ( rule__BindingEndPoint__Group_2__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14075:1: ( ( rule__BindingEndPoint__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13918:1: ( ( ( rule__BindingEndPoint__Group_2__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13919:1: ( ( rule__BindingEndPoint__Group_2__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14075:1: ( ( rule__BindingEndPoint__Group_2__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14076:1: ( rule__BindingEndPoint__Group_2__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13919:1: ( ( rule__BindingEndPoint__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13920:1: ( rule__BindingEndPoint__Group_2__0 )?
             {
              before(grammarAccess.getBindingEndPointAccess().getGroup_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14077:1: ( rule__BindingEndPoint__Group_2__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13921:1: ( rule__BindingEndPoint__Group_2__0 )?
             int alt143=2;
             int LA143_0 = input.LA(1);
 
-            if ( (LA143_0==86) ) {
+            if ( (LA143_0==87) ) {
                 alt143=1;
             }
             switch (alt143) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14077:2: rule__BindingEndPoint__Group_2__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13921:2: rule__BindingEndPoint__Group_2__0
                     {
-                    pushFollow(FOLLOW_rule__BindingEndPoint__Group_2__0_in_rule__BindingEndPoint__Group__2__Impl28778);
+                    pushFollow(FOLLOW_rule__BindingEndPoint__Group_2__0_in_rule__BindingEndPoint__Group__2__Impl28470);
                     rule__BindingEndPoint__Group_2__0();
 
                     state._fsp--;
@@ -39299,21 +39063,21 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group_0__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14093:1: rule__BindingEndPoint__Group_0__0 : rule__BindingEndPoint__Group_0__0__Impl rule__BindingEndPoint__Group_0__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13937:1: rule__BindingEndPoint__Group_0__0 : rule__BindingEndPoint__Group_0__0__Impl rule__BindingEndPoint__Group_0__1 ;
     public final void rule__BindingEndPoint__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14097:1: ( rule__BindingEndPoint__Group_0__0__Impl rule__BindingEndPoint__Group_0__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14098:2: rule__BindingEndPoint__Group_0__0__Impl rule__BindingEndPoint__Group_0__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13941:1: ( rule__BindingEndPoint__Group_0__0__Impl rule__BindingEndPoint__Group_0__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13942:2: rule__BindingEndPoint__Group_0__0__Impl rule__BindingEndPoint__Group_0__1
             {
-            pushFollow(FOLLOW_rule__BindingEndPoint__Group_0__0__Impl_in_rule__BindingEndPoint__Group_0__028815);
+            pushFollow(FOLLOW_rule__BindingEndPoint__Group_0__0__Impl_in_rule__BindingEndPoint__Group_0__028507);
             rule__BindingEndPoint__Group_0__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__BindingEndPoint__Group_0__1_in_rule__BindingEndPoint__Group_0__028818);
+            pushFollow(FOLLOW_rule__BindingEndPoint__Group_0__1_in_rule__BindingEndPoint__Group_0__028510);
             rule__BindingEndPoint__Group_0__1();
 
             state._fsp--;
@@ -39337,23 +39101,23 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group_0__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14105:1: rule__BindingEndPoint__Group_0__0__Impl : ( ( rule__BindingEndPoint__ActorRefAssignment_0_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13949:1: rule__BindingEndPoint__Group_0__0__Impl : ( ( rule__BindingEndPoint__ActorRefAssignment_0_0 ) ) ;
     public final void rule__BindingEndPoint__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14109:1: ( ( ( rule__BindingEndPoint__ActorRefAssignment_0_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14110:1: ( ( rule__BindingEndPoint__ActorRefAssignment_0_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13953:1: ( ( ( rule__BindingEndPoint__ActorRefAssignment_0_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13954:1: ( ( rule__BindingEndPoint__ActorRefAssignment_0_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14110:1: ( ( rule__BindingEndPoint__ActorRefAssignment_0_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14111:1: ( rule__BindingEndPoint__ActorRefAssignment_0_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13954:1: ( ( rule__BindingEndPoint__ActorRefAssignment_0_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13955:1: ( rule__BindingEndPoint__ActorRefAssignment_0_0 )
             {
              before(grammarAccess.getBindingEndPointAccess().getActorRefAssignment_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14112:1: ( rule__BindingEndPoint__ActorRefAssignment_0_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14112:2: rule__BindingEndPoint__ActorRefAssignment_0_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13956:1: ( rule__BindingEndPoint__ActorRefAssignment_0_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13956:2: rule__BindingEndPoint__ActorRefAssignment_0_0
             {
-            pushFollow(FOLLOW_rule__BindingEndPoint__ActorRefAssignment_0_0_in_rule__BindingEndPoint__Group_0__0__Impl28845);
+            pushFollow(FOLLOW_rule__BindingEndPoint__ActorRefAssignment_0_0_in_rule__BindingEndPoint__Group_0__0__Impl28537);
             rule__BindingEndPoint__ActorRefAssignment_0_0();
 
             state._fsp--;
@@ -39384,16 +39148,16 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group_0__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14122:1: rule__BindingEndPoint__Group_0__1 : rule__BindingEndPoint__Group_0__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13966:1: rule__BindingEndPoint__Group_0__1 : rule__BindingEndPoint__Group_0__1__Impl ;
     public final void rule__BindingEndPoint__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14126:1: ( rule__BindingEndPoint__Group_0__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14127:2: rule__BindingEndPoint__Group_0__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13970:1: ( rule__BindingEndPoint__Group_0__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13971:2: rule__BindingEndPoint__Group_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__BindingEndPoint__Group_0__1__Impl_in_rule__BindingEndPoint__Group_0__128875);
+            pushFollow(FOLLOW_rule__BindingEndPoint__Group_0__1__Impl_in_rule__BindingEndPoint__Group_0__128567);
             rule__BindingEndPoint__Group_0__1__Impl();
 
             state._fsp--;
@@ -39417,20 +39181,20 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group_0__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14133:1: rule__BindingEndPoint__Group_0__1__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13977:1: rule__BindingEndPoint__Group_0__1__Impl : ( '.' ) ;
     public final void rule__BindingEndPoint__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14137:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14138:1: ( '.' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13981:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13982:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14138:1: ( '.' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14139:1: '.'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13982:1: ( '.' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:13983:1: '.'
             {
              before(grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1()); 
-            match(input,85,FOLLOW_85_in_rule__BindingEndPoint__Group_0__1__Impl28903); 
+            match(input,86,FOLLOW_86_in_rule__BindingEndPoint__Group_0__1__Impl28595); 
              after(grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1()); 
 
             }
@@ -39454,21 +39218,21 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group_2__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14156:1: rule__BindingEndPoint__Group_2__0 : rule__BindingEndPoint__Group_2__0__Impl rule__BindingEndPoint__Group_2__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14000:1: rule__BindingEndPoint__Group_2__0 : rule__BindingEndPoint__Group_2__0__Impl rule__BindingEndPoint__Group_2__1 ;
     public final void rule__BindingEndPoint__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14160:1: ( rule__BindingEndPoint__Group_2__0__Impl rule__BindingEndPoint__Group_2__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14161:2: rule__BindingEndPoint__Group_2__0__Impl rule__BindingEndPoint__Group_2__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14004:1: ( rule__BindingEndPoint__Group_2__0__Impl rule__BindingEndPoint__Group_2__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14005:2: rule__BindingEndPoint__Group_2__0__Impl rule__BindingEndPoint__Group_2__1
             {
-            pushFollow(FOLLOW_rule__BindingEndPoint__Group_2__0__Impl_in_rule__BindingEndPoint__Group_2__028938);
+            pushFollow(FOLLOW_rule__BindingEndPoint__Group_2__0__Impl_in_rule__BindingEndPoint__Group_2__028630);
             rule__BindingEndPoint__Group_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__BindingEndPoint__Group_2__1_in_rule__BindingEndPoint__Group_2__028941);
+            pushFollow(FOLLOW_rule__BindingEndPoint__Group_2__1_in_rule__BindingEndPoint__Group_2__028633);
             rule__BindingEndPoint__Group_2__1();
 
             state._fsp--;
@@ -39492,20 +39256,20 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group_2__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14168:1: rule__BindingEndPoint__Group_2__0__Impl : ( 'sub' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14012:1: rule__BindingEndPoint__Group_2__0__Impl : ( 'sub' ) ;
     public final void rule__BindingEndPoint__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14172:1: ( ( 'sub' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14173:1: ( 'sub' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14016:1: ( ( 'sub' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14017:1: ( 'sub' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14173:1: ( 'sub' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14174:1: 'sub'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14017:1: ( 'sub' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14018:1: 'sub'
             {
              before(grammarAccess.getBindingEndPointAccess().getSubKeyword_2_0()); 
-            match(input,86,FOLLOW_86_in_rule__BindingEndPoint__Group_2__0__Impl28969); 
+            match(input,87,FOLLOW_87_in_rule__BindingEndPoint__Group_2__0__Impl28661); 
              after(grammarAccess.getBindingEndPointAccess().getSubKeyword_2_0()); 
 
             }
@@ -39529,16 +39293,16 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group_2__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14187:1: rule__BindingEndPoint__Group_2__1 : rule__BindingEndPoint__Group_2__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14031:1: rule__BindingEndPoint__Group_2__1 : rule__BindingEndPoint__Group_2__1__Impl ;
     public final void rule__BindingEndPoint__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14191:1: ( rule__BindingEndPoint__Group_2__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14192:2: rule__BindingEndPoint__Group_2__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14035:1: ( rule__BindingEndPoint__Group_2__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14036:2: rule__BindingEndPoint__Group_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__BindingEndPoint__Group_2__1__Impl_in_rule__BindingEndPoint__Group_2__129000);
+            pushFollow(FOLLOW_rule__BindingEndPoint__Group_2__1__Impl_in_rule__BindingEndPoint__Group_2__128692);
             rule__BindingEndPoint__Group_2__1__Impl();
 
             state._fsp--;
@@ -39562,23 +39326,23 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__Group_2__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14198:1: rule__BindingEndPoint__Group_2__1__Impl : ( ( rule__BindingEndPoint__SubAssignment_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14042:1: rule__BindingEndPoint__Group_2__1__Impl : ( ( rule__BindingEndPoint__SubAssignment_2_1 ) ) ;
     public final void rule__BindingEndPoint__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14202:1: ( ( ( rule__BindingEndPoint__SubAssignment_2_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14203:1: ( ( rule__BindingEndPoint__SubAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14046:1: ( ( ( rule__BindingEndPoint__SubAssignment_2_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14047:1: ( ( rule__BindingEndPoint__SubAssignment_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14203:1: ( ( rule__BindingEndPoint__SubAssignment_2_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14204:1: ( rule__BindingEndPoint__SubAssignment_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14047:1: ( ( rule__BindingEndPoint__SubAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14048:1: ( rule__BindingEndPoint__SubAssignment_2_1 )
             {
              before(grammarAccess.getBindingEndPointAccess().getSubAssignment_2_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14205:1: ( rule__BindingEndPoint__SubAssignment_2_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14205:2: rule__BindingEndPoint__SubAssignment_2_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14049:1: ( rule__BindingEndPoint__SubAssignment_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14049:2: rule__BindingEndPoint__SubAssignment_2_1
             {
-            pushFollow(FOLLOW_rule__BindingEndPoint__SubAssignment_2_1_in_rule__BindingEndPoint__Group_2__1__Impl29027);
+            pushFollow(FOLLOW_rule__BindingEndPoint__SubAssignment_2_1_in_rule__BindingEndPoint__Group_2__1__Impl28719);
             rule__BindingEndPoint__SubAssignment_2_1();
 
             state._fsp--;
@@ -39609,21 +39373,21 @@
 
 
     // $ANTLR start "rule__LayerConnection__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14219:1: rule__LayerConnection__Group__0 : rule__LayerConnection__Group__0__Impl rule__LayerConnection__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14063:1: rule__LayerConnection__Group__0 : rule__LayerConnection__Group__0__Impl rule__LayerConnection__Group__1 ;
     public final void rule__LayerConnection__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14223:1: ( rule__LayerConnection__Group__0__Impl rule__LayerConnection__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14224:2: rule__LayerConnection__Group__0__Impl rule__LayerConnection__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14067:1: ( rule__LayerConnection__Group__0__Impl rule__LayerConnection__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14068:2: rule__LayerConnection__Group__0__Impl rule__LayerConnection__Group__1
             {
-            pushFollow(FOLLOW_rule__LayerConnection__Group__0__Impl_in_rule__LayerConnection__Group__029061);
+            pushFollow(FOLLOW_rule__LayerConnection__Group__0__Impl_in_rule__LayerConnection__Group__028753);
             rule__LayerConnection__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__LayerConnection__Group__1_in_rule__LayerConnection__Group__029064);
+            pushFollow(FOLLOW_rule__LayerConnection__Group__1_in_rule__LayerConnection__Group__028756);
             rule__LayerConnection__Group__1();
 
             state._fsp--;
@@ -39647,20 +39411,20 @@
 
 
     // $ANTLR start "rule__LayerConnection__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14231:1: rule__LayerConnection__Group__0__Impl : ( 'LayerConnection' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14075:1: rule__LayerConnection__Group__0__Impl : ( 'LayerConnection' ) ;
     public final void rule__LayerConnection__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14235:1: ( ( 'LayerConnection' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14236:1: ( 'LayerConnection' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14079:1: ( ( 'LayerConnection' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14080:1: ( 'LayerConnection' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14236:1: ( 'LayerConnection' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14237:1: 'LayerConnection'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14080:1: ( 'LayerConnection' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14081:1: 'LayerConnection'
             {
              before(grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0()); 
-            match(input,87,FOLLOW_87_in_rule__LayerConnection__Group__0__Impl29092); 
+            match(input,88,FOLLOW_88_in_rule__LayerConnection__Group__0__Impl28784); 
              after(grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0()); 
 
             }
@@ -39684,21 +39448,21 @@
 
 
     // $ANTLR start "rule__LayerConnection__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14250:1: rule__LayerConnection__Group__1 : rule__LayerConnection__Group__1__Impl rule__LayerConnection__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14094:1: rule__LayerConnection__Group__1 : rule__LayerConnection__Group__1__Impl rule__LayerConnection__Group__2 ;
     public final void rule__LayerConnection__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14254:1: ( rule__LayerConnection__Group__1__Impl rule__LayerConnection__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14255:2: rule__LayerConnection__Group__1__Impl rule__LayerConnection__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14098:1: ( rule__LayerConnection__Group__1__Impl rule__LayerConnection__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14099:2: rule__LayerConnection__Group__1__Impl rule__LayerConnection__Group__2
             {
-            pushFollow(FOLLOW_rule__LayerConnection__Group__1__Impl_in_rule__LayerConnection__Group__129123);
+            pushFollow(FOLLOW_rule__LayerConnection__Group__1__Impl_in_rule__LayerConnection__Group__128815);
             rule__LayerConnection__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__LayerConnection__Group__2_in_rule__LayerConnection__Group__129126);
+            pushFollow(FOLLOW_rule__LayerConnection__Group__2_in_rule__LayerConnection__Group__128818);
             rule__LayerConnection__Group__2();
 
             state._fsp--;
@@ -39722,23 +39486,23 @@
 
 
     // $ANTLR start "rule__LayerConnection__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14262:1: rule__LayerConnection__Group__1__Impl : ( ( rule__LayerConnection__FromAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14106:1: rule__LayerConnection__Group__1__Impl : ( ( rule__LayerConnection__FromAssignment_1 ) ) ;
     public final void rule__LayerConnection__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14266:1: ( ( ( rule__LayerConnection__FromAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14267:1: ( ( rule__LayerConnection__FromAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14110:1: ( ( ( rule__LayerConnection__FromAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14111:1: ( ( rule__LayerConnection__FromAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14267:1: ( ( rule__LayerConnection__FromAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14268:1: ( rule__LayerConnection__FromAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14111:1: ( ( rule__LayerConnection__FromAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14112:1: ( rule__LayerConnection__FromAssignment_1 )
             {
              before(grammarAccess.getLayerConnectionAccess().getFromAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14269:1: ( rule__LayerConnection__FromAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14269:2: rule__LayerConnection__FromAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14113:1: ( rule__LayerConnection__FromAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14113:2: rule__LayerConnection__FromAssignment_1
             {
-            pushFollow(FOLLOW_rule__LayerConnection__FromAssignment_1_in_rule__LayerConnection__Group__1__Impl29153);
+            pushFollow(FOLLOW_rule__LayerConnection__FromAssignment_1_in_rule__LayerConnection__Group__1__Impl28845);
             rule__LayerConnection__FromAssignment_1();
 
             state._fsp--;
@@ -39769,21 +39533,21 @@
 
 
     // $ANTLR start "rule__LayerConnection__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14279:1: rule__LayerConnection__Group__2 : rule__LayerConnection__Group__2__Impl rule__LayerConnection__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14123:1: rule__LayerConnection__Group__2 : rule__LayerConnection__Group__2__Impl rule__LayerConnection__Group__3 ;
     public final void rule__LayerConnection__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14283:1: ( rule__LayerConnection__Group__2__Impl rule__LayerConnection__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14284:2: rule__LayerConnection__Group__2__Impl rule__LayerConnection__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14127:1: ( rule__LayerConnection__Group__2__Impl rule__LayerConnection__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14128:2: rule__LayerConnection__Group__2__Impl rule__LayerConnection__Group__3
             {
-            pushFollow(FOLLOW_rule__LayerConnection__Group__2__Impl_in_rule__LayerConnection__Group__229183);
+            pushFollow(FOLLOW_rule__LayerConnection__Group__2__Impl_in_rule__LayerConnection__Group__228875);
             rule__LayerConnection__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__LayerConnection__Group__3_in_rule__LayerConnection__Group__229186);
+            pushFollow(FOLLOW_rule__LayerConnection__Group__3_in_rule__LayerConnection__Group__228878);
             rule__LayerConnection__Group__3();
 
             state._fsp--;
@@ -39807,20 +39571,20 @@
 
 
     // $ANTLR start "rule__LayerConnection__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14291:1: rule__LayerConnection__Group__2__Impl : ( 'satisfied_by' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14135:1: rule__LayerConnection__Group__2__Impl : ( 'satisfied_by' ) ;
     public final void rule__LayerConnection__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14295:1: ( ( 'satisfied_by' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14296:1: ( 'satisfied_by' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14139:1: ( ( 'satisfied_by' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14140:1: ( 'satisfied_by' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14296:1: ( 'satisfied_by' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14297:1: 'satisfied_by'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14140:1: ( 'satisfied_by' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14141:1: 'satisfied_by'
             {
              before(grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2()); 
-            match(input,88,FOLLOW_88_in_rule__LayerConnection__Group__2__Impl29214); 
+            match(input,89,FOLLOW_89_in_rule__LayerConnection__Group__2__Impl28906); 
              after(grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2()); 
 
             }
@@ -39844,16 +39608,16 @@
 
 
     // $ANTLR start "rule__LayerConnection__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14310:1: rule__LayerConnection__Group__3 : rule__LayerConnection__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14154:1: rule__LayerConnection__Group__3 : rule__LayerConnection__Group__3__Impl ;
     public final void rule__LayerConnection__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14314:1: ( rule__LayerConnection__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14315:2: rule__LayerConnection__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14158:1: ( rule__LayerConnection__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14159:2: rule__LayerConnection__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__LayerConnection__Group__3__Impl_in_rule__LayerConnection__Group__329245);
+            pushFollow(FOLLOW_rule__LayerConnection__Group__3__Impl_in_rule__LayerConnection__Group__328937);
             rule__LayerConnection__Group__3__Impl();
 
             state._fsp--;
@@ -39877,23 +39641,23 @@
 
 
     // $ANTLR start "rule__LayerConnection__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14321:1: rule__LayerConnection__Group__3__Impl : ( ( rule__LayerConnection__ToAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14165:1: rule__LayerConnection__Group__3__Impl : ( ( rule__LayerConnection__ToAssignment_3 ) ) ;
     public final void rule__LayerConnection__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14325:1: ( ( ( rule__LayerConnection__ToAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14326:1: ( ( rule__LayerConnection__ToAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14169:1: ( ( ( rule__LayerConnection__ToAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14170:1: ( ( rule__LayerConnection__ToAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14326:1: ( ( rule__LayerConnection__ToAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14327:1: ( rule__LayerConnection__ToAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14170:1: ( ( rule__LayerConnection__ToAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14171:1: ( rule__LayerConnection__ToAssignment_3 )
             {
              before(grammarAccess.getLayerConnectionAccess().getToAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14328:1: ( rule__LayerConnection__ToAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14328:2: rule__LayerConnection__ToAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14172:1: ( rule__LayerConnection__ToAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14172:2: rule__LayerConnection__ToAssignment_3
             {
-            pushFollow(FOLLOW_rule__LayerConnection__ToAssignment_3_in_rule__LayerConnection__Group__3__Impl29272);
+            pushFollow(FOLLOW_rule__LayerConnection__ToAssignment_3_in_rule__LayerConnection__Group__3__Impl28964);
             rule__LayerConnection__ToAssignment_3();
 
             state._fsp--;
@@ -39924,21 +39688,21 @@
 
 
     // $ANTLR start "rule__RefSAPoint__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14346:1: rule__RefSAPoint__Group__0 : rule__RefSAPoint__Group__0__Impl rule__RefSAPoint__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14190:1: rule__RefSAPoint__Group__0 : rule__RefSAPoint__Group__0__Impl rule__RefSAPoint__Group__1 ;
     public final void rule__RefSAPoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14350:1: ( rule__RefSAPoint__Group__0__Impl rule__RefSAPoint__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14351:2: rule__RefSAPoint__Group__0__Impl rule__RefSAPoint__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14194:1: ( rule__RefSAPoint__Group__0__Impl rule__RefSAPoint__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14195:2: rule__RefSAPoint__Group__0__Impl rule__RefSAPoint__Group__1
             {
-            pushFollow(FOLLOW_rule__RefSAPoint__Group__0__Impl_in_rule__RefSAPoint__Group__029310);
+            pushFollow(FOLLOW_rule__RefSAPoint__Group__0__Impl_in_rule__RefSAPoint__Group__029002);
             rule__RefSAPoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefSAPoint__Group__1_in_rule__RefSAPoint__Group__029313);
+            pushFollow(FOLLOW_rule__RefSAPoint__Group__1_in_rule__RefSAPoint__Group__029005);
             rule__RefSAPoint__Group__1();
 
             state._fsp--;
@@ -39962,20 +39726,20 @@
 
 
     // $ANTLR start "rule__RefSAPoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14358:1: rule__RefSAPoint__Group__0__Impl : ( 'ref' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14202:1: rule__RefSAPoint__Group__0__Impl : ( 'ref' ) ;
     public final void rule__RefSAPoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14362:1: ( ( 'ref' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14363:1: ( 'ref' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14206:1: ( ( 'ref' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14207:1: ( 'ref' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14363:1: ( 'ref' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14364:1: 'ref'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14207:1: ( 'ref' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14208:1: 'ref'
             {
              before(grammarAccess.getRefSAPointAccess().getRefKeyword_0()); 
-            match(input,89,FOLLOW_89_in_rule__RefSAPoint__Group__0__Impl29341); 
+            match(input,90,FOLLOW_90_in_rule__RefSAPoint__Group__0__Impl29033); 
              after(grammarAccess.getRefSAPointAccess().getRefKeyword_0()); 
 
             }
@@ -39999,16 +39763,16 @@
 
 
     // $ANTLR start "rule__RefSAPoint__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14377:1: rule__RefSAPoint__Group__1 : rule__RefSAPoint__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14221:1: rule__RefSAPoint__Group__1 : rule__RefSAPoint__Group__1__Impl ;
     public final void rule__RefSAPoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14381:1: ( rule__RefSAPoint__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14382:2: rule__RefSAPoint__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14225:1: ( rule__RefSAPoint__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14226:2: rule__RefSAPoint__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefSAPoint__Group__1__Impl_in_rule__RefSAPoint__Group__129372);
+            pushFollow(FOLLOW_rule__RefSAPoint__Group__1__Impl_in_rule__RefSAPoint__Group__129064);
             rule__RefSAPoint__Group__1__Impl();
 
             state._fsp--;
@@ -40032,23 +39796,23 @@
 
 
     // $ANTLR start "rule__RefSAPoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14388:1: rule__RefSAPoint__Group__1__Impl : ( ( rule__RefSAPoint__RefAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14232:1: rule__RefSAPoint__Group__1__Impl : ( ( rule__RefSAPoint__RefAssignment_1 ) ) ;
     public final void rule__RefSAPoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14392:1: ( ( ( rule__RefSAPoint__RefAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14393:1: ( ( rule__RefSAPoint__RefAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14236:1: ( ( ( rule__RefSAPoint__RefAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14237:1: ( ( rule__RefSAPoint__RefAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14393:1: ( ( rule__RefSAPoint__RefAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14394:1: ( rule__RefSAPoint__RefAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14237:1: ( ( rule__RefSAPoint__RefAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14238:1: ( rule__RefSAPoint__RefAssignment_1 )
             {
              before(grammarAccess.getRefSAPointAccess().getRefAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14395:1: ( rule__RefSAPoint__RefAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14395:2: rule__RefSAPoint__RefAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14239:1: ( rule__RefSAPoint__RefAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14239:2: rule__RefSAPoint__RefAssignment_1
             {
-            pushFollow(FOLLOW_rule__RefSAPoint__RefAssignment_1_in_rule__RefSAPoint__Group__1__Impl29399);
+            pushFollow(FOLLOW_rule__RefSAPoint__RefAssignment_1_in_rule__RefSAPoint__Group__1__Impl29091);
             rule__RefSAPoint__RefAssignment_1();
 
             state._fsp--;
@@ -40079,21 +39843,21 @@
 
 
     // $ANTLR start "rule__RelaySAPoint__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14409:1: rule__RelaySAPoint__Group__0 : rule__RelaySAPoint__Group__0__Impl rule__RelaySAPoint__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14253:1: rule__RelaySAPoint__Group__0 : rule__RelaySAPoint__Group__0__Impl rule__RelaySAPoint__Group__1 ;
     public final void rule__RelaySAPoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14413:1: ( rule__RelaySAPoint__Group__0__Impl rule__RelaySAPoint__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14414:2: rule__RelaySAPoint__Group__0__Impl rule__RelaySAPoint__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14257:1: ( rule__RelaySAPoint__Group__0__Impl rule__RelaySAPoint__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14258:2: rule__RelaySAPoint__Group__0__Impl rule__RelaySAPoint__Group__1
             {
-            pushFollow(FOLLOW_rule__RelaySAPoint__Group__0__Impl_in_rule__RelaySAPoint__Group__029433);
+            pushFollow(FOLLOW_rule__RelaySAPoint__Group__0__Impl_in_rule__RelaySAPoint__Group__029125);
             rule__RelaySAPoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RelaySAPoint__Group__1_in_rule__RelaySAPoint__Group__029436);
+            pushFollow(FOLLOW_rule__RelaySAPoint__Group__1_in_rule__RelaySAPoint__Group__029128);
             rule__RelaySAPoint__Group__1();
 
             state._fsp--;
@@ -40117,20 +39881,20 @@
 
 
     // $ANTLR start "rule__RelaySAPoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14421:1: rule__RelaySAPoint__Group__0__Impl : ( 'relay_sap' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14265:1: rule__RelaySAPoint__Group__0__Impl : ( 'relay_sap' ) ;
     public final void rule__RelaySAPoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14425:1: ( ( 'relay_sap' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14426:1: ( 'relay_sap' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14269:1: ( ( 'relay_sap' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14270:1: ( 'relay_sap' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14426:1: ( 'relay_sap' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14427:1: 'relay_sap'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14270:1: ( 'relay_sap' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14271:1: 'relay_sap'
             {
              before(grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0()); 
-            match(input,90,FOLLOW_90_in_rule__RelaySAPoint__Group__0__Impl29464); 
+            match(input,91,FOLLOW_91_in_rule__RelaySAPoint__Group__0__Impl29156); 
              after(grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0()); 
 
             }
@@ -40154,16 +39918,16 @@
 
 
     // $ANTLR start "rule__RelaySAPoint__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14440:1: rule__RelaySAPoint__Group__1 : rule__RelaySAPoint__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14284:1: rule__RelaySAPoint__Group__1 : rule__RelaySAPoint__Group__1__Impl ;
     public final void rule__RelaySAPoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14444:1: ( rule__RelaySAPoint__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14445:2: rule__RelaySAPoint__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14288:1: ( rule__RelaySAPoint__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14289:2: rule__RelaySAPoint__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RelaySAPoint__Group__1__Impl_in_rule__RelaySAPoint__Group__129495);
+            pushFollow(FOLLOW_rule__RelaySAPoint__Group__1__Impl_in_rule__RelaySAPoint__Group__129187);
             rule__RelaySAPoint__Group__1__Impl();
 
             state._fsp--;
@@ -40187,23 +39951,23 @@
 
 
     // $ANTLR start "rule__RelaySAPoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14451:1: rule__RelaySAPoint__Group__1__Impl : ( ( rule__RelaySAPoint__RelayAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14295:1: rule__RelaySAPoint__Group__1__Impl : ( ( rule__RelaySAPoint__RelayAssignment_1 ) ) ;
     public final void rule__RelaySAPoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14455:1: ( ( ( rule__RelaySAPoint__RelayAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14456:1: ( ( rule__RelaySAPoint__RelayAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14299:1: ( ( ( rule__RelaySAPoint__RelayAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14300:1: ( ( rule__RelaySAPoint__RelayAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14456:1: ( ( rule__RelaySAPoint__RelayAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14457:1: ( rule__RelaySAPoint__RelayAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14300:1: ( ( rule__RelaySAPoint__RelayAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14301:1: ( rule__RelaySAPoint__RelayAssignment_1 )
             {
              before(grammarAccess.getRelaySAPointAccess().getRelayAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14458:1: ( rule__RelaySAPoint__RelayAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14458:2: rule__RelaySAPoint__RelayAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14302:1: ( rule__RelaySAPoint__RelayAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14302:2: rule__RelaySAPoint__RelayAssignment_1
             {
-            pushFollow(FOLLOW_rule__RelaySAPoint__RelayAssignment_1_in_rule__RelaySAPoint__Group__1__Impl29522);
+            pushFollow(FOLLOW_rule__RelaySAPoint__RelayAssignment_1_in_rule__RelaySAPoint__Group__1__Impl29214);
             rule__RelaySAPoint__RelayAssignment_1();
 
             state._fsp--;
@@ -40234,21 +39998,21 @@
 
 
     // $ANTLR start "rule__SPPoint__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14472:1: rule__SPPoint__Group__0 : rule__SPPoint__Group__0__Impl rule__SPPoint__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14316:1: rule__SPPoint__Group__0 : rule__SPPoint__Group__0__Impl rule__SPPoint__Group__1 ;
     public final void rule__SPPoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14476:1: ( rule__SPPoint__Group__0__Impl rule__SPPoint__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14477:2: rule__SPPoint__Group__0__Impl rule__SPPoint__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14320:1: ( rule__SPPoint__Group__0__Impl rule__SPPoint__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14321:2: rule__SPPoint__Group__0__Impl rule__SPPoint__Group__1
             {
-            pushFollow(FOLLOW_rule__SPPoint__Group__0__Impl_in_rule__SPPoint__Group__029556);
+            pushFollow(FOLLOW_rule__SPPoint__Group__0__Impl_in_rule__SPPoint__Group__029248);
             rule__SPPoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SPPoint__Group__1_in_rule__SPPoint__Group__029559);
+            pushFollow(FOLLOW_rule__SPPoint__Group__1_in_rule__SPPoint__Group__029251);
             rule__SPPoint__Group__1();
 
             state._fsp--;
@@ -40272,23 +40036,23 @@
 
 
     // $ANTLR start "rule__SPPoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14484:1: rule__SPPoint__Group__0__Impl : ( ( rule__SPPoint__RefAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14328:1: rule__SPPoint__Group__0__Impl : ( ( rule__SPPoint__RefAssignment_0 ) ) ;
     public final void rule__SPPoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14488:1: ( ( ( rule__SPPoint__RefAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14489:1: ( ( rule__SPPoint__RefAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14332:1: ( ( ( rule__SPPoint__RefAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14333:1: ( ( rule__SPPoint__RefAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14489:1: ( ( rule__SPPoint__RefAssignment_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14490:1: ( rule__SPPoint__RefAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14333:1: ( ( rule__SPPoint__RefAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14334:1: ( rule__SPPoint__RefAssignment_0 )
             {
              before(grammarAccess.getSPPointAccess().getRefAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14491:1: ( rule__SPPoint__RefAssignment_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14491:2: rule__SPPoint__RefAssignment_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14335:1: ( rule__SPPoint__RefAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14335:2: rule__SPPoint__RefAssignment_0
             {
-            pushFollow(FOLLOW_rule__SPPoint__RefAssignment_0_in_rule__SPPoint__Group__0__Impl29586);
+            pushFollow(FOLLOW_rule__SPPoint__RefAssignment_0_in_rule__SPPoint__Group__0__Impl29278);
             rule__SPPoint__RefAssignment_0();
 
             state._fsp--;
@@ -40319,21 +40083,21 @@
 
 
     // $ANTLR start "rule__SPPoint__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14501:1: rule__SPPoint__Group__1 : rule__SPPoint__Group__1__Impl rule__SPPoint__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14345:1: rule__SPPoint__Group__1 : rule__SPPoint__Group__1__Impl rule__SPPoint__Group__2 ;
     public final void rule__SPPoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14505:1: ( rule__SPPoint__Group__1__Impl rule__SPPoint__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14506:2: rule__SPPoint__Group__1__Impl rule__SPPoint__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14349:1: ( rule__SPPoint__Group__1__Impl rule__SPPoint__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14350:2: rule__SPPoint__Group__1__Impl rule__SPPoint__Group__2
             {
-            pushFollow(FOLLOW_rule__SPPoint__Group__1__Impl_in_rule__SPPoint__Group__129616);
+            pushFollow(FOLLOW_rule__SPPoint__Group__1__Impl_in_rule__SPPoint__Group__129308);
             rule__SPPoint__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SPPoint__Group__2_in_rule__SPPoint__Group__129619);
+            pushFollow(FOLLOW_rule__SPPoint__Group__2_in_rule__SPPoint__Group__129311);
             rule__SPPoint__Group__2();
 
             state._fsp--;
@@ -40357,20 +40121,20 @@
 
 
     // $ANTLR start "rule__SPPoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14513:1: rule__SPPoint__Group__1__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14357:1: rule__SPPoint__Group__1__Impl : ( '.' ) ;
     public final void rule__SPPoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14517:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14518:1: ( '.' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14361:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14362:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14518:1: ( '.' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14519:1: '.'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14362:1: ( '.' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14363:1: '.'
             {
              before(grammarAccess.getSPPointAccess().getFullStopKeyword_1()); 
-            match(input,85,FOLLOW_85_in_rule__SPPoint__Group__1__Impl29647); 
+            match(input,86,FOLLOW_86_in_rule__SPPoint__Group__1__Impl29339); 
              after(grammarAccess.getSPPointAccess().getFullStopKeyword_1()); 
 
             }
@@ -40394,16 +40158,16 @@
 
 
     // $ANTLR start "rule__SPPoint__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14532:1: rule__SPPoint__Group__2 : rule__SPPoint__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14376:1: rule__SPPoint__Group__2 : rule__SPPoint__Group__2__Impl ;
     public final void rule__SPPoint__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14536:1: ( rule__SPPoint__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14537:2: rule__SPPoint__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14380:1: ( rule__SPPoint__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14381:2: rule__SPPoint__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__SPPoint__Group__2__Impl_in_rule__SPPoint__Group__229678);
+            pushFollow(FOLLOW_rule__SPPoint__Group__2__Impl_in_rule__SPPoint__Group__229370);
             rule__SPPoint__Group__2__Impl();
 
             state._fsp--;
@@ -40427,23 +40191,23 @@
 
 
     // $ANTLR start "rule__SPPoint__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14543:1: rule__SPPoint__Group__2__Impl : ( ( rule__SPPoint__ServiceAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14387:1: rule__SPPoint__Group__2__Impl : ( ( rule__SPPoint__ServiceAssignment_2 ) ) ;
     public final void rule__SPPoint__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14547:1: ( ( ( rule__SPPoint__ServiceAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14548:1: ( ( rule__SPPoint__ServiceAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14391:1: ( ( ( rule__SPPoint__ServiceAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14392:1: ( ( rule__SPPoint__ServiceAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14548:1: ( ( rule__SPPoint__ServiceAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14549:1: ( rule__SPPoint__ServiceAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14392:1: ( ( rule__SPPoint__ServiceAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14393:1: ( rule__SPPoint__ServiceAssignment_2 )
             {
              before(grammarAccess.getSPPointAccess().getServiceAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14550:1: ( rule__SPPoint__ServiceAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14550:2: rule__SPPoint__ServiceAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14394:1: ( rule__SPPoint__ServiceAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14394:2: rule__SPPoint__ServiceAssignment_2
             {
-            pushFollow(FOLLOW_rule__SPPoint__ServiceAssignment_2_in_rule__SPPoint__Group__2__Impl29705);
+            pushFollow(FOLLOW_rule__SPPoint__ServiceAssignment_2_in_rule__SPPoint__Group__2__Impl29397);
             rule__SPPoint__ServiceAssignment_2();
 
             state._fsp--;
@@ -40474,21 +40238,21 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14566:1: rule__ActorRef__Group__0 : rule__ActorRef__Group__0__Impl rule__ActorRef__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14410:1: rule__ActorRef__Group__0 : rule__ActorRef__Group__0__Impl rule__ActorRef__Group__1 ;
     public final void rule__ActorRef__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14570:1: ( rule__ActorRef__Group__0__Impl rule__ActorRef__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14571:2: rule__ActorRef__Group__0__Impl rule__ActorRef__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14414:1: ( rule__ActorRef__Group__0__Impl rule__ActorRef__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14415:2: rule__ActorRef__Group__0__Impl rule__ActorRef__Group__1
             {
-            pushFollow(FOLLOW_rule__ActorRef__Group__0__Impl_in_rule__ActorRef__Group__029741);
+            pushFollow(FOLLOW_rule__ActorRef__Group__0__Impl_in_rule__ActorRef__Group__029433);
             rule__ActorRef__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorRef__Group__1_in_rule__ActorRef__Group__029744);
+            pushFollow(FOLLOW_rule__ActorRef__Group__1_in_rule__ActorRef__Group__029436);
             rule__ActorRef__Group__1();
 
             state._fsp--;
@@ -40512,31 +40276,31 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14578:1: rule__ActorRef__Group__0__Impl : ( ( rule__ActorRef__RefTypeAssignment_0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14422:1: rule__ActorRef__Group__0__Impl : ( ( rule__ActorRef__RefTypeAssignment_0 )? ) ;
     public final void rule__ActorRef__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14582:1: ( ( ( rule__ActorRef__RefTypeAssignment_0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14583:1: ( ( rule__ActorRef__RefTypeAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14426:1: ( ( ( rule__ActorRef__RefTypeAssignment_0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14427:1: ( ( rule__ActorRef__RefTypeAssignment_0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14583:1: ( ( rule__ActorRef__RefTypeAssignment_0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14584:1: ( rule__ActorRef__RefTypeAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14427:1: ( ( rule__ActorRef__RefTypeAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14428:1: ( rule__ActorRef__RefTypeAssignment_0 )?
             {
              before(grammarAccess.getActorRefAccess().getRefTypeAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14585:1: ( rule__ActorRef__RefTypeAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14429:1: ( rule__ActorRef__RefTypeAssignment_0 )?
             int alt144=2;
             int LA144_0 = input.LA(1);
 
-            if ( ((LA144_0>=32 && LA144_0<=33)) ) {
+            if ( ((LA144_0>=33 && LA144_0<=34)) ) {
                 alt144=1;
             }
             switch (alt144) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14585:2: rule__ActorRef__RefTypeAssignment_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14429:2: rule__ActorRef__RefTypeAssignment_0
                     {
-                    pushFollow(FOLLOW_rule__ActorRef__RefTypeAssignment_0_in_rule__ActorRef__Group__0__Impl29771);
+                    pushFollow(FOLLOW_rule__ActorRef__RefTypeAssignment_0_in_rule__ActorRef__Group__0__Impl29463);
                     rule__ActorRef__RefTypeAssignment_0();
 
                     state._fsp--;
@@ -40570,21 +40334,21 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14595:1: rule__ActorRef__Group__1 : rule__ActorRef__Group__1__Impl rule__ActorRef__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14439:1: rule__ActorRef__Group__1 : rule__ActorRef__Group__1__Impl rule__ActorRef__Group__2 ;
     public final void rule__ActorRef__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14599:1: ( rule__ActorRef__Group__1__Impl rule__ActorRef__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14600:2: rule__ActorRef__Group__1__Impl rule__ActorRef__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14443:1: ( rule__ActorRef__Group__1__Impl rule__ActorRef__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14444:2: rule__ActorRef__Group__1__Impl rule__ActorRef__Group__2
             {
-            pushFollow(FOLLOW_rule__ActorRef__Group__1__Impl_in_rule__ActorRef__Group__129802);
+            pushFollow(FOLLOW_rule__ActorRef__Group__1__Impl_in_rule__ActorRef__Group__129494);
             rule__ActorRef__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorRef__Group__2_in_rule__ActorRef__Group__129805);
+            pushFollow(FOLLOW_rule__ActorRef__Group__2_in_rule__ActorRef__Group__129497);
             rule__ActorRef__Group__2();
 
             state._fsp--;
@@ -40608,20 +40372,20 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14607:1: rule__ActorRef__Group__1__Impl : ( 'ActorRef' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14451:1: rule__ActorRef__Group__1__Impl : ( 'ActorRef' ) ;
     public final void rule__ActorRef__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14611:1: ( ( 'ActorRef' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14612:1: ( 'ActorRef' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14455:1: ( ( 'ActorRef' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14456:1: ( 'ActorRef' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14612:1: ( 'ActorRef' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14613:1: 'ActorRef'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14456:1: ( 'ActorRef' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14457:1: 'ActorRef'
             {
              before(grammarAccess.getActorRefAccess().getActorRefKeyword_1()); 
-            match(input,91,FOLLOW_91_in_rule__ActorRef__Group__1__Impl29833); 
+            match(input,92,FOLLOW_92_in_rule__ActorRef__Group__1__Impl29525); 
              after(grammarAccess.getActorRefAccess().getActorRefKeyword_1()); 
 
             }
@@ -40645,21 +40409,21 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14626:1: rule__ActorRef__Group__2 : rule__ActorRef__Group__2__Impl rule__ActorRef__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14470:1: rule__ActorRef__Group__2 : rule__ActorRef__Group__2__Impl rule__ActorRef__Group__3 ;
     public final void rule__ActorRef__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14630:1: ( rule__ActorRef__Group__2__Impl rule__ActorRef__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14631:2: rule__ActorRef__Group__2__Impl rule__ActorRef__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14474:1: ( rule__ActorRef__Group__2__Impl rule__ActorRef__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14475:2: rule__ActorRef__Group__2__Impl rule__ActorRef__Group__3
             {
-            pushFollow(FOLLOW_rule__ActorRef__Group__2__Impl_in_rule__ActorRef__Group__229864);
+            pushFollow(FOLLOW_rule__ActorRef__Group__2__Impl_in_rule__ActorRef__Group__229556);
             rule__ActorRef__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorRef__Group__3_in_rule__ActorRef__Group__229867);
+            pushFollow(FOLLOW_rule__ActorRef__Group__3_in_rule__ActorRef__Group__229559);
             rule__ActorRef__Group__3();
 
             state._fsp--;
@@ -40683,23 +40447,23 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14638:1: rule__ActorRef__Group__2__Impl : ( ( rule__ActorRef__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14482:1: rule__ActorRef__Group__2__Impl : ( ( rule__ActorRef__NameAssignment_2 ) ) ;
     public final void rule__ActorRef__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14642:1: ( ( ( rule__ActorRef__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14643:1: ( ( rule__ActorRef__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14486:1: ( ( ( rule__ActorRef__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14487:1: ( ( rule__ActorRef__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14643:1: ( ( rule__ActorRef__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14644:1: ( rule__ActorRef__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14487:1: ( ( rule__ActorRef__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14488:1: ( rule__ActorRef__NameAssignment_2 )
             {
              before(grammarAccess.getActorRefAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14645:1: ( rule__ActorRef__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14645:2: rule__ActorRef__NameAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14489:1: ( rule__ActorRef__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14489:2: rule__ActorRef__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__ActorRef__NameAssignment_2_in_rule__ActorRef__Group__2__Impl29894);
+            pushFollow(FOLLOW_rule__ActorRef__NameAssignment_2_in_rule__ActorRef__Group__2__Impl29586);
             rule__ActorRef__NameAssignment_2();
 
             state._fsp--;
@@ -40730,21 +40494,21 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14655:1: rule__ActorRef__Group__3 : rule__ActorRef__Group__3__Impl rule__ActorRef__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14499:1: rule__ActorRef__Group__3 : rule__ActorRef__Group__3__Impl rule__ActorRef__Group__4 ;
     public final void rule__ActorRef__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14659:1: ( rule__ActorRef__Group__3__Impl rule__ActorRef__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14660:2: rule__ActorRef__Group__3__Impl rule__ActorRef__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14503:1: ( rule__ActorRef__Group__3__Impl rule__ActorRef__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14504:2: rule__ActorRef__Group__3__Impl rule__ActorRef__Group__4
             {
-            pushFollow(FOLLOW_rule__ActorRef__Group__3__Impl_in_rule__ActorRef__Group__329924);
+            pushFollow(FOLLOW_rule__ActorRef__Group__3__Impl_in_rule__ActorRef__Group__329616);
             rule__ActorRef__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorRef__Group__4_in_rule__ActorRef__Group__329927);
+            pushFollow(FOLLOW_rule__ActorRef__Group__4_in_rule__ActorRef__Group__329619);
             rule__ActorRef__Group__4();
 
             state._fsp--;
@@ -40768,31 +40532,31 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14667:1: rule__ActorRef__Group__3__Impl : ( ( rule__ActorRef__MultiplicityAssignment_3 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14511:1: rule__ActorRef__Group__3__Impl : ( ( rule__ActorRef__MultiplicityAssignment_3 )? ) ;
     public final void rule__ActorRef__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14671:1: ( ( ( rule__ActorRef__MultiplicityAssignment_3 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14672:1: ( ( rule__ActorRef__MultiplicityAssignment_3 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14515:1: ( ( ( rule__ActorRef__MultiplicityAssignment_3 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14516:1: ( ( rule__ActorRef__MultiplicityAssignment_3 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14672:1: ( ( rule__ActorRef__MultiplicityAssignment_3 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14673:1: ( rule__ActorRef__MultiplicityAssignment_3 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14516:1: ( ( rule__ActorRef__MultiplicityAssignment_3 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14517:1: ( rule__ActorRef__MultiplicityAssignment_3 )?
             {
              before(grammarAccess.getActorRefAccess().getMultiplicityAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14674:1: ( rule__ActorRef__MultiplicityAssignment_3 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14518:1: ( rule__ActorRef__MultiplicityAssignment_3 )?
             int alt145=2;
             int LA145_0 = input.LA(1);
 
-            if ( (LA145_0==58) ) {
+            if ( (LA145_0==59) ) {
                 alt145=1;
             }
             switch (alt145) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14674:2: rule__ActorRef__MultiplicityAssignment_3
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14518:2: rule__ActorRef__MultiplicityAssignment_3
                     {
-                    pushFollow(FOLLOW_rule__ActorRef__MultiplicityAssignment_3_in_rule__ActorRef__Group__3__Impl29954);
+                    pushFollow(FOLLOW_rule__ActorRef__MultiplicityAssignment_3_in_rule__ActorRef__Group__3__Impl29646);
                     rule__ActorRef__MultiplicityAssignment_3();
 
                     state._fsp--;
@@ -40826,21 +40590,21 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14684:1: rule__ActorRef__Group__4 : rule__ActorRef__Group__4__Impl rule__ActorRef__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14528:1: rule__ActorRef__Group__4 : rule__ActorRef__Group__4__Impl rule__ActorRef__Group__5 ;
     public final void rule__ActorRef__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14688:1: ( rule__ActorRef__Group__4__Impl rule__ActorRef__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14689:2: rule__ActorRef__Group__4__Impl rule__ActorRef__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14532:1: ( rule__ActorRef__Group__4__Impl rule__ActorRef__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14533:2: rule__ActorRef__Group__4__Impl rule__ActorRef__Group__5
             {
-            pushFollow(FOLLOW_rule__ActorRef__Group__4__Impl_in_rule__ActorRef__Group__429985);
+            pushFollow(FOLLOW_rule__ActorRef__Group__4__Impl_in_rule__ActorRef__Group__429677);
             rule__ActorRef__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorRef__Group__5_in_rule__ActorRef__Group__429988);
+            pushFollow(FOLLOW_rule__ActorRef__Group__5_in_rule__ActorRef__Group__429680);
             rule__ActorRef__Group__5();
 
             state._fsp--;
@@ -40864,20 +40628,20 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14696:1: rule__ActorRef__Group__4__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14540:1: rule__ActorRef__Group__4__Impl : ( ':' ) ;
     public final void rule__ActorRef__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14700:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14701:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14544:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14545:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14701:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14702:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14545:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14546:1: ':'
             {
              before(grammarAccess.getActorRefAccess().getColonKeyword_4()); 
-            match(input,42,FOLLOW_42_in_rule__ActorRef__Group__4__Impl30016); 
+            match(input,43,FOLLOW_43_in_rule__ActorRef__Group__4__Impl29708); 
              after(grammarAccess.getActorRefAccess().getColonKeyword_4()); 
 
             }
@@ -40901,21 +40665,21 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14715:1: rule__ActorRef__Group__5 : rule__ActorRef__Group__5__Impl rule__ActorRef__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14559:1: rule__ActorRef__Group__5 : rule__ActorRef__Group__5__Impl rule__ActorRef__Group__6 ;
     public final void rule__ActorRef__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14719:1: ( rule__ActorRef__Group__5__Impl rule__ActorRef__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14720:2: rule__ActorRef__Group__5__Impl rule__ActorRef__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14563:1: ( rule__ActorRef__Group__5__Impl rule__ActorRef__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14564:2: rule__ActorRef__Group__5__Impl rule__ActorRef__Group__6
             {
-            pushFollow(FOLLOW_rule__ActorRef__Group__5__Impl_in_rule__ActorRef__Group__530047);
+            pushFollow(FOLLOW_rule__ActorRef__Group__5__Impl_in_rule__ActorRef__Group__529739);
             rule__ActorRef__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ActorRef__Group__6_in_rule__ActorRef__Group__530050);
+            pushFollow(FOLLOW_rule__ActorRef__Group__6_in_rule__ActorRef__Group__529742);
             rule__ActorRef__Group__6();
 
             state._fsp--;
@@ -40939,23 +40703,23 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14727:1: rule__ActorRef__Group__5__Impl : ( ( rule__ActorRef__TypeAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14571:1: rule__ActorRef__Group__5__Impl : ( ( rule__ActorRef__TypeAssignment_5 ) ) ;
     public final void rule__ActorRef__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14731:1: ( ( ( rule__ActorRef__TypeAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14732:1: ( ( rule__ActorRef__TypeAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14575:1: ( ( ( rule__ActorRef__TypeAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14576:1: ( ( rule__ActorRef__TypeAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14732:1: ( ( rule__ActorRef__TypeAssignment_5 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14733:1: ( rule__ActorRef__TypeAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14576:1: ( ( rule__ActorRef__TypeAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14577:1: ( rule__ActorRef__TypeAssignment_5 )
             {
              before(grammarAccess.getActorRefAccess().getTypeAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14734:1: ( rule__ActorRef__TypeAssignment_5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14734:2: rule__ActorRef__TypeAssignment_5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14578:1: ( rule__ActorRef__TypeAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14578:2: rule__ActorRef__TypeAssignment_5
             {
-            pushFollow(FOLLOW_rule__ActorRef__TypeAssignment_5_in_rule__ActorRef__Group__5__Impl30077);
+            pushFollow(FOLLOW_rule__ActorRef__TypeAssignment_5_in_rule__ActorRef__Group__5__Impl29769);
             rule__ActorRef__TypeAssignment_5();
 
             state._fsp--;
@@ -40986,16 +40750,16 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14744:1: rule__ActorRef__Group__6 : rule__ActorRef__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14588:1: rule__ActorRef__Group__6 : rule__ActorRef__Group__6__Impl ;
     public final void rule__ActorRef__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14748:1: ( rule__ActorRef__Group__6__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14749:2: rule__ActorRef__Group__6__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14592:1: ( rule__ActorRef__Group__6__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14593:2: rule__ActorRef__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__ActorRef__Group__6__Impl_in_rule__ActorRef__Group__630107);
+            pushFollow(FOLLOW_rule__ActorRef__Group__6__Impl_in_rule__ActorRef__Group__629799);
             rule__ActorRef__Group__6__Impl();
 
             state._fsp--;
@@ -41019,31 +40783,31 @@
 
 
     // $ANTLR start "rule__ActorRef__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14755:1: rule__ActorRef__Group__6__Impl : ( ( rule__ActorRef__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14599:1: rule__ActorRef__Group__6__Impl : ( ( rule__ActorRef__DocuAssignment_6 )? ) ;
     public final void rule__ActorRef__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14759:1: ( ( ( rule__ActorRef__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14760:1: ( ( rule__ActorRef__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14603:1: ( ( ( rule__ActorRef__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14604:1: ( ( rule__ActorRef__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14760:1: ( ( rule__ActorRef__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14761:1: ( rule__ActorRef__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14604:1: ( ( rule__ActorRef__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14605:1: ( rule__ActorRef__DocuAssignment_6 )?
             {
              before(grammarAccess.getActorRefAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14762:1: ( rule__ActorRef__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14606:1: ( rule__ActorRef__DocuAssignment_6 )?
             int alt146=2;
             int LA146_0 = input.LA(1);
 
-            if ( (LA146_0==58) ) {
+            if ( (LA146_0==59) ) {
                 alt146=1;
             }
             switch (alt146) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14762:2: rule__ActorRef__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14606:2: rule__ActorRef__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__ActorRef__DocuAssignment_6_in_rule__ActorRef__Group__6__Impl30134);
+                    pushFollow(FOLLOW_rule__ActorRef__DocuAssignment_6_in_rule__ActorRef__Group__6__Impl29826);
                     rule__ActorRef__DocuAssignment_6();
 
                     state._fsp--;
@@ -41077,21 +40841,21 @@
 
 
     // $ANTLR start "rule__MULTIPLICITY__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14786:1: rule__MULTIPLICITY__Group__0 : rule__MULTIPLICITY__Group__0__Impl rule__MULTIPLICITY__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14630:1: rule__MULTIPLICITY__Group__0 : rule__MULTIPLICITY__Group__0__Impl rule__MULTIPLICITY__Group__1 ;
     public final void rule__MULTIPLICITY__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14790:1: ( rule__MULTIPLICITY__Group__0__Impl rule__MULTIPLICITY__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14791:2: rule__MULTIPLICITY__Group__0__Impl rule__MULTIPLICITY__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14634:1: ( rule__MULTIPLICITY__Group__0__Impl rule__MULTIPLICITY__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14635:2: rule__MULTIPLICITY__Group__0__Impl rule__MULTIPLICITY__Group__1
             {
-            pushFollow(FOLLOW_rule__MULTIPLICITY__Group__0__Impl_in_rule__MULTIPLICITY__Group__030179);
+            pushFollow(FOLLOW_rule__MULTIPLICITY__Group__0__Impl_in_rule__MULTIPLICITY__Group__029871);
             rule__MULTIPLICITY__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__MULTIPLICITY__Group__1_in_rule__MULTIPLICITY__Group__030182);
+            pushFollow(FOLLOW_rule__MULTIPLICITY__Group__1_in_rule__MULTIPLICITY__Group__029874);
             rule__MULTIPLICITY__Group__1();
 
             state._fsp--;
@@ -41115,20 +40879,20 @@
 
 
     // $ANTLR start "rule__MULTIPLICITY__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14798:1: rule__MULTIPLICITY__Group__0__Impl : ( '[' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14642:1: rule__MULTIPLICITY__Group__0__Impl : ( '[' ) ;
     public final void rule__MULTIPLICITY__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14802:1: ( ( '[' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14803:1: ( '[' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14646:1: ( ( '[' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14647:1: ( '[' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14803:1: ( '[' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14804:1: '['
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14647:1: ( '[' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14648:1: '['
             {
              before(grammarAccess.getMULTIPLICITYAccess().getLeftSquareBracketKeyword_0()); 
-            match(input,58,FOLLOW_58_in_rule__MULTIPLICITY__Group__0__Impl30210); 
+            match(input,59,FOLLOW_59_in_rule__MULTIPLICITY__Group__0__Impl29902); 
              after(grammarAccess.getMULTIPLICITYAccess().getLeftSquareBracketKeyword_0()); 
 
             }
@@ -41152,21 +40916,21 @@
 
 
     // $ANTLR start "rule__MULTIPLICITY__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14817:1: rule__MULTIPLICITY__Group__1 : rule__MULTIPLICITY__Group__1__Impl rule__MULTIPLICITY__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14661:1: rule__MULTIPLICITY__Group__1 : rule__MULTIPLICITY__Group__1__Impl rule__MULTIPLICITY__Group__2 ;
     public final void rule__MULTIPLICITY__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14821:1: ( rule__MULTIPLICITY__Group__1__Impl rule__MULTIPLICITY__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14822:2: rule__MULTIPLICITY__Group__1__Impl rule__MULTIPLICITY__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14665:1: ( rule__MULTIPLICITY__Group__1__Impl rule__MULTIPLICITY__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14666:2: rule__MULTIPLICITY__Group__1__Impl rule__MULTIPLICITY__Group__2
             {
-            pushFollow(FOLLOW_rule__MULTIPLICITY__Group__1__Impl_in_rule__MULTIPLICITY__Group__130241);
+            pushFollow(FOLLOW_rule__MULTIPLICITY__Group__1__Impl_in_rule__MULTIPLICITY__Group__129933);
             rule__MULTIPLICITY__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__MULTIPLICITY__Group__2_in_rule__MULTIPLICITY__Group__130244);
+            pushFollow(FOLLOW_rule__MULTIPLICITY__Group__2_in_rule__MULTIPLICITY__Group__129936);
             rule__MULTIPLICITY__Group__2();
 
             state._fsp--;
@@ -41190,23 +40954,23 @@
 
 
     // $ANTLR start "rule__MULTIPLICITY__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14829:1: rule__MULTIPLICITY__Group__1__Impl : ( ( rule__MULTIPLICITY__Alternatives_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14673:1: rule__MULTIPLICITY__Group__1__Impl : ( ( rule__MULTIPLICITY__Alternatives_1 ) ) ;
     public final void rule__MULTIPLICITY__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14833:1: ( ( ( rule__MULTIPLICITY__Alternatives_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14834:1: ( ( rule__MULTIPLICITY__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14677:1: ( ( ( rule__MULTIPLICITY__Alternatives_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14678:1: ( ( rule__MULTIPLICITY__Alternatives_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14834:1: ( ( rule__MULTIPLICITY__Alternatives_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14835:1: ( rule__MULTIPLICITY__Alternatives_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14678:1: ( ( rule__MULTIPLICITY__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14679:1: ( rule__MULTIPLICITY__Alternatives_1 )
             {
              before(grammarAccess.getMULTIPLICITYAccess().getAlternatives_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14836:1: ( rule__MULTIPLICITY__Alternatives_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14836:2: rule__MULTIPLICITY__Alternatives_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14680:1: ( rule__MULTIPLICITY__Alternatives_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14680:2: rule__MULTIPLICITY__Alternatives_1
             {
-            pushFollow(FOLLOW_rule__MULTIPLICITY__Alternatives_1_in_rule__MULTIPLICITY__Group__1__Impl30271);
+            pushFollow(FOLLOW_rule__MULTIPLICITY__Alternatives_1_in_rule__MULTIPLICITY__Group__1__Impl29963);
             rule__MULTIPLICITY__Alternatives_1();
 
             state._fsp--;
@@ -41237,16 +41001,16 @@
 
 
     // $ANTLR start "rule__MULTIPLICITY__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14846:1: rule__MULTIPLICITY__Group__2 : rule__MULTIPLICITY__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14690:1: rule__MULTIPLICITY__Group__2 : rule__MULTIPLICITY__Group__2__Impl ;
     public final void rule__MULTIPLICITY__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14850:1: ( rule__MULTIPLICITY__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14851:2: rule__MULTIPLICITY__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14694:1: ( rule__MULTIPLICITY__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14695:2: rule__MULTIPLICITY__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__MULTIPLICITY__Group__2__Impl_in_rule__MULTIPLICITY__Group__230301);
+            pushFollow(FOLLOW_rule__MULTIPLICITY__Group__2__Impl_in_rule__MULTIPLICITY__Group__229993);
             rule__MULTIPLICITY__Group__2__Impl();
 
             state._fsp--;
@@ -41270,20 +41034,20 @@
 
 
     // $ANTLR start "rule__MULTIPLICITY__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14857:1: rule__MULTIPLICITY__Group__2__Impl : ( ']' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14701:1: rule__MULTIPLICITY__Group__2__Impl : ( ']' ) ;
     public final void rule__MULTIPLICITY__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14861:1: ( ( ']' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14862:1: ( ']' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14705:1: ( ( ']' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14706:1: ( ']' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14862:1: ( ']' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14863:1: ']'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14706:1: ( ']' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14707:1: ']'
             {
              before(grammarAccess.getMULTIPLICITYAccess().getRightSquareBracketKeyword_2()); 
-            match(input,59,FOLLOW_59_in_rule__MULTIPLICITY__Group__2__Impl30329); 
+            match(input,60,FOLLOW_60_in_rule__MULTIPLICITY__Group__2__Impl30021); 
              after(grammarAccess.getMULTIPLICITYAccess().getRightSquareBracketKeyword_2()); 
 
             }
@@ -41307,21 +41071,21 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14882:1: rule__StateGraph__Group__0 : rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14726:1: rule__StateGraph__Group__0 : rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1 ;
     public final void rule__StateGraph__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14886:1: ( rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14887:2: rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14730:1: ( rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14731:2: rule__StateGraph__Group__0__Impl rule__StateGraph__Group__1
             {
-            pushFollow(FOLLOW_rule__StateGraph__Group__0__Impl_in_rule__StateGraph__Group__030366);
+            pushFollow(FOLLOW_rule__StateGraph__Group__0__Impl_in_rule__StateGraph__Group__030058);
             rule__StateGraph__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateGraph__Group__1_in_rule__StateGraph__Group__030369);
+            pushFollow(FOLLOW_rule__StateGraph__Group__1_in_rule__StateGraph__Group__030061);
             rule__StateGraph__Group__1();
 
             state._fsp--;
@@ -41345,21 +41109,21 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14894:1: rule__StateGraph__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14738:1: rule__StateGraph__Group__0__Impl : ( () ) ;
     public final void rule__StateGraph__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14898:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14899:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14742:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14743:1: ( () )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14899:1: ( () )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14900:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14743:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14744:1: ()
             {
              before(grammarAccess.getStateGraphAccess().getStateGraphAction_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14901:1: ()
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14903:1: 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14745:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14747:1: 
             {
             }
 
@@ -41382,21 +41146,21 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14913:1: rule__StateGraph__Group__1 : rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14757:1: rule__StateGraph__Group__1 : rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2 ;
     public final void rule__StateGraph__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14917:1: ( rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14918:2: rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14761:1: ( rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14762:2: rule__StateGraph__Group__1__Impl rule__StateGraph__Group__2
             {
-            pushFollow(FOLLOW_rule__StateGraph__Group__1__Impl_in_rule__StateGraph__Group__130427);
+            pushFollow(FOLLOW_rule__StateGraph__Group__1__Impl_in_rule__StateGraph__Group__130119);
             rule__StateGraph__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateGraph__Group__2_in_rule__StateGraph__Group__130430);
+            pushFollow(FOLLOW_rule__StateGraph__Group__2_in_rule__StateGraph__Group__130122);
             rule__StateGraph__Group__2();
 
             state._fsp--;
@@ -41420,20 +41184,20 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14925:1: rule__StateGraph__Group__1__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14769:1: rule__StateGraph__Group__1__Impl : ( '{' ) ;
     public final void rule__StateGraph__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14929:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14930:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14773:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14774:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14930:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14931:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14774:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14775:1: '{'
             {
              before(grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_1()); 
-            match(input,40,FOLLOW_40_in_rule__StateGraph__Group__1__Impl30458); 
+            match(input,41,FOLLOW_41_in_rule__StateGraph__Group__1__Impl30150); 
              after(grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_1()); 
 
             }
@@ -41457,21 +41221,21 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14944:1: rule__StateGraph__Group__2 : rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14788:1: rule__StateGraph__Group__2 : rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3 ;
     public final void rule__StateGraph__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14948:1: ( rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14949:2: rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14792:1: ( rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14793:2: rule__StateGraph__Group__2__Impl rule__StateGraph__Group__3
             {
-            pushFollow(FOLLOW_rule__StateGraph__Group__2__Impl_in_rule__StateGraph__Group__230489);
+            pushFollow(FOLLOW_rule__StateGraph__Group__2__Impl_in_rule__StateGraph__Group__230181);
             rule__StateGraph__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateGraph__Group__3_in_rule__StateGraph__Group__230492);
+            pushFollow(FOLLOW_rule__StateGraph__Group__3_in_rule__StateGraph__Group__230184);
             rule__StateGraph__Group__3();
 
             state._fsp--;
@@ -41495,35 +41259,35 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14956:1: rule__StateGraph__Group__2__Impl : ( ( rule__StateGraph__Alternatives_2 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14800:1: rule__StateGraph__Group__2__Impl : ( ( rule__StateGraph__Alternatives_2 )* ) ;
     public final void rule__StateGraph__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14960:1: ( ( ( rule__StateGraph__Alternatives_2 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14961:1: ( ( rule__StateGraph__Alternatives_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14804:1: ( ( ( rule__StateGraph__Alternatives_2 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14805:1: ( ( rule__StateGraph__Alternatives_2 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14961:1: ( ( rule__StateGraph__Alternatives_2 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14962:1: ( rule__StateGraph__Alternatives_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14805:1: ( ( rule__StateGraph__Alternatives_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14806:1: ( rule__StateGraph__Alternatives_2 )*
             {
              before(grammarAccess.getStateGraphAccess().getAlternatives_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14963:1: ( rule__StateGraph__Alternatives_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14807:1: ( rule__StateGraph__Alternatives_2 )*
             loop147:
             do {
                 int alt147=2;
                 int LA147_0 = input.LA(1);
 
-                if ( (LA147_0==93||(LA147_0>=98 && LA147_0<=103)||LA147_0==110||LA147_0==129) ) {
+                if ( (LA147_0==94||(LA147_0>=99 && LA147_0<=104)||LA147_0==111||LA147_0==130) ) {
                     alt147=1;
                 }
 
 
                 switch (alt147) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14963:2: rule__StateGraph__Alternatives_2
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14807:2: rule__StateGraph__Alternatives_2
             	    {
-            	    pushFollow(FOLLOW_rule__StateGraph__Alternatives_2_in_rule__StateGraph__Group__2__Impl30519);
+            	    pushFollow(FOLLOW_rule__StateGraph__Alternatives_2_in_rule__StateGraph__Group__2__Impl30211);
             	    rule__StateGraph__Alternatives_2();
 
             	    state._fsp--;
@@ -41560,16 +41324,16 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14973:1: rule__StateGraph__Group__3 : rule__StateGraph__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14817:1: rule__StateGraph__Group__3 : rule__StateGraph__Group__3__Impl ;
     public final void rule__StateGraph__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14977:1: ( rule__StateGraph__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14978:2: rule__StateGraph__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14821:1: ( rule__StateGraph__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14822:2: rule__StateGraph__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__StateGraph__Group__3__Impl_in_rule__StateGraph__Group__330550);
+            pushFollow(FOLLOW_rule__StateGraph__Group__3__Impl_in_rule__StateGraph__Group__330242);
             rule__StateGraph__Group__3__Impl();
 
             state._fsp--;
@@ -41593,20 +41357,20 @@
 
 
     // $ANTLR start "rule__StateGraph__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14984:1: rule__StateGraph__Group__3__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14828:1: rule__StateGraph__Group__3__Impl : ( '}' ) ;
     public final void rule__StateGraph__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14988:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14989:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14832:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14833:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14989:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14990:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14833:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14834:1: '}'
             {
              before(grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_3()); 
-            match(input,41,FOLLOW_41_in_rule__StateGraph__Group__3__Impl30578); 
+            match(input,42,FOLLOW_42_in_rule__StateGraph__Group__3__Impl30270); 
              after(grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_3()); 
 
             }
@@ -41630,21 +41394,21 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15011:1: rule__StateMachine__Group__0 : rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14855:1: rule__StateMachine__Group__0 : rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1 ;
     public final void rule__StateMachine__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15015:1: ( rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15016:2: rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14859:1: ( rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14860:2: rule__StateMachine__Group__0__Impl rule__StateMachine__Group__1
             {
-            pushFollow(FOLLOW_rule__StateMachine__Group__0__Impl_in_rule__StateMachine__Group__030617);
+            pushFollow(FOLLOW_rule__StateMachine__Group__0__Impl_in_rule__StateMachine__Group__030309);
             rule__StateMachine__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateMachine__Group__1_in_rule__StateMachine__Group__030620);
+            pushFollow(FOLLOW_rule__StateMachine__Group__1_in_rule__StateMachine__Group__030312);
             rule__StateMachine__Group__1();
 
             state._fsp--;
@@ -41668,21 +41432,21 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15023:1: rule__StateMachine__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14867:1: rule__StateMachine__Group__0__Impl : ( () ) ;
     public final void rule__StateMachine__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15027:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15028:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14871:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14872:1: ( () )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15028:1: ( () )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15029:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14872:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14873:1: ()
             {
              before(grammarAccess.getStateMachineAccess().getStateGraphAction_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15030:1: ()
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15032:1: 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14874:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14876:1: 
             {
             }
 
@@ -41705,21 +41469,21 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15042:1: rule__StateMachine__Group__1 : rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14886:1: rule__StateMachine__Group__1 : rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2 ;
     public final void rule__StateMachine__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15046:1: ( rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15047:2: rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14890:1: ( rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14891:2: rule__StateMachine__Group__1__Impl rule__StateMachine__Group__2
             {
-            pushFollow(FOLLOW_rule__StateMachine__Group__1__Impl_in_rule__StateMachine__Group__130678);
+            pushFollow(FOLLOW_rule__StateMachine__Group__1__Impl_in_rule__StateMachine__Group__130370);
             rule__StateMachine__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateMachine__Group__2_in_rule__StateMachine__Group__130681);
+            pushFollow(FOLLOW_rule__StateMachine__Group__2_in_rule__StateMachine__Group__130373);
             rule__StateMachine__Group__2();
 
             state._fsp--;
@@ -41743,20 +41507,20 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15054:1: rule__StateMachine__Group__1__Impl : ( 'StateMachine' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14898:1: rule__StateMachine__Group__1__Impl : ( 'StateMachine' ) ;
     public final void rule__StateMachine__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15058:1: ( ( 'StateMachine' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15059:1: ( 'StateMachine' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14902:1: ( ( 'StateMachine' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14903:1: ( 'StateMachine' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15059:1: ( 'StateMachine' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15060:1: 'StateMachine'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14903:1: ( 'StateMachine' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14904:1: 'StateMachine'
             {
              before(grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); 
-            match(input,92,FOLLOW_92_in_rule__StateMachine__Group__1__Impl30709); 
+            match(input,93,FOLLOW_93_in_rule__StateMachine__Group__1__Impl30401); 
              after(grammarAccess.getStateMachineAccess().getStateMachineKeyword_1()); 
 
             }
@@ -41780,21 +41544,21 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15073:1: rule__StateMachine__Group__2 : rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14917:1: rule__StateMachine__Group__2 : rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3 ;
     public final void rule__StateMachine__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15077:1: ( rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15078:2: rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14921:1: ( rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14922:2: rule__StateMachine__Group__2__Impl rule__StateMachine__Group__3
             {
-            pushFollow(FOLLOW_rule__StateMachine__Group__2__Impl_in_rule__StateMachine__Group__230740);
+            pushFollow(FOLLOW_rule__StateMachine__Group__2__Impl_in_rule__StateMachine__Group__230432);
             rule__StateMachine__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateMachine__Group__3_in_rule__StateMachine__Group__230743);
+            pushFollow(FOLLOW_rule__StateMachine__Group__3_in_rule__StateMachine__Group__230435);
             rule__StateMachine__Group__3();
 
             state._fsp--;
@@ -41818,20 +41582,20 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15085:1: rule__StateMachine__Group__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14929:1: rule__StateMachine__Group__2__Impl : ( '{' ) ;
     public final void rule__StateMachine__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15089:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15090:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14933:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14934:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15090:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15091:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14934:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14935:1: '{'
             {
              before(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,40,FOLLOW_40_in_rule__StateMachine__Group__2__Impl30771); 
+            match(input,41,FOLLOW_41_in_rule__StateMachine__Group__2__Impl30463); 
              after(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
@@ -41855,21 +41619,21 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15104:1: rule__StateMachine__Group__3 : rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14948:1: rule__StateMachine__Group__3 : rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4 ;
     public final void rule__StateMachine__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15108:1: ( rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15109:2: rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14952:1: ( rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14953:2: rule__StateMachine__Group__3__Impl rule__StateMachine__Group__4
             {
-            pushFollow(FOLLOW_rule__StateMachine__Group__3__Impl_in_rule__StateMachine__Group__330802);
+            pushFollow(FOLLOW_rule__StateMachine__Group__3__Impl_in_rule__StateMachine__Group__330494);
             rule__StateMachine__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StateMachine__Group__4_in_rule__StateMachine__Group__330805);
+            pushFollow(FOLLOW_rule__StateMachine__Group__4_in_rule__StateMachine__Group__330497);
             rule__StateMachine__Group__4();
 
             state._fsp--;
@@ -41893,35 +41657,35 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15116:1: rule__StateMachine__Group__3__Impl : ( ( rule__StateMachine__Alternatives_3 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14960:1: rule__StateMachine__Group__3__Impl : ( ( rule__StateMachine__Alternatives_3 )* ) ;
     public final void rule__StateMachine__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15120:1: ( ( ( rule__StateMachine__Alternatives_3 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15121:1: ( ( rule__StateMachine__Alternatives_3 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14964:1: ( ( ( rule__StateMachine__Alternatives_3 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14965:1: ( ( rule__StateMachine__Alternatives_3 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15121:1: ( ( rule__StateMachine__Alternatives_3 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15122:1: ( rule__StateMachine__Alternatives_3 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14965:1: ( ( rule__StateMachine__Alternatives_3 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14966:1: ( rule__StateMachine__Alternatives_3 )*
             {
              before(grammarAccess.getStateMachineAccess().getAlternatives_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15123:1: ( rule__StateMachine__Alternatives_3 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14967:1: ( rule__StateMachine__Alternatives_3 )*
             loop148:
             do {
                 int alt148=2;
                 int LA148_0 = input.LA(1);
 
-                if ( (LA148_0==93||(LA148_0>=98 && LA148_0<=103)||LA148_0==110||LA148_0==129) ) {
+                if ( (LA148_0==94||(LA148_0>=99 && LA148_0<=104)||LA148_0==111||LA148_0==130) ) {
                     alt148=1;
                 }
 
 
                 switch (alt148) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15123:2: rule__StateMachine__Alternatives_3
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14967:2: rule__StateMachine__Alternatives_3
             	    {
-            	    pushFollow(FOLLOW_rule__StateMachine__Alternatives_3_in_rule__StateMachine__Group__3__Impl30832);
+            	    pushFollow(FOLLOW_rule__StateMachine__Alternatives_3_in_rule__StateMachine__Group__3__Impl30524);
             	    rule__StateMachine__Alternatives_3();
 
             	    state._fsp--;
@@ -41958,16 +41722,16 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15133:1: rule__StateMachine__Group__4 : rule__StateMachine__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14977:1: rule__StateMachine__Group__4 : rule__StateMachine__Group__4__Impl ;
     public final void rule__StateMachine__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15137:1: ( rule__StateMachine__Group__4__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15138:2: rule__StateMachine__Group__4__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14981:1: ( rule__StateMachine__Group__4__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14982:2: rule__StateMachine__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__StateMachine__Group__4__Impl_in_rule__StateMachine__Group__430863);
+            pushFollow(FOLLOW_rule__StateMachine__Group__4__Impl_in_rule__StateMachine__Group__430555);
             rule__StateMachine__Group__4__Impl();
 
             state._fsp--;
@@ -41991,20 +41755,20 @@
 
 
     // $ANTLR start "rule__StateMachine__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15144:1: rule__StateMachine__Group__4__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14988:1: rule__StateMachine__Group__4__Impl : ( '}' ) ;
     public final void rule__StateMachine__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15148:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15149:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14992:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14993:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15149:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15150:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14993:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:14994:1: '}'
             {
              before(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,41,FOLLOW_41_in_rule__StateMachine__Group__4__Impl30891); 
+            match(input,42,FOLLOW_42_in_rule__StateMachine__Group__4__Impl30583); 
              after(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_4()); 
 
             }
@@ -42028,21 +41792,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15173:1: rule__SimpleState__Group__0 : rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15017:1: rule__SimpleState__Group__0 : rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1 ;
     public final void rule__SimpleState__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15177:1: ( rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15178:2: rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15021:1: ( rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15022:2: rule__SimpleState__Group__0__Impl rule__SimpleState__Group__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group__0__Impl_in_rule__SimpleState__Group__030932);
+            pushFollow(FOLLOW_rule__SimpleState__Group__0__Impl_in_rule__SimpleState__Group__030624);
             rule__SimpleState__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group__1_in_rule__SimpleState__Group__030935);
+            pushFollow(FOLLOW_rule__SimpleState__Group__1_in_rule__SimpleState__Group__030627);
             rule__SimpleState__Group__1();
 
             state._fsp--;
@@ -42066,20 +41830,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15185:1: rule__SimpleState__Group__0__Impl : ( 'State' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15029:1: rule__SimpleState__Group__0__Impl : ( 'State' ) ;
     public final void rule__SimpleState__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15189:1: ( ( 'State' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15190:1: ( 'State' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15033:1: ( ( 'State' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15034:1: ( 'State' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15190:1: ( 'State' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15191:1: 'State'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15034:1: ( 'State' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15035:1: 'State'
             {
              before(grammarAccess.getSimpleStateAccess().getStateKeyword_0()); 
-            match(input,93,FOLLOW_93_in_rule__SimpleState__Group__0__Impl30963); 
+            match(input,94,FOLLOW_94_in_rule__SimpleState__Group__0__Impl30655); 
              after(grammarAccess.getSimpleStateAccess().getStateKeyword_0()); 
 
             }
@@ -42103,21 +41867,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15204:1: rule__SimpleState__Group__1 : rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15048:1: rule__SimpleState__Group__1 : rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2 ;
     public final void rule__SimpleState__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15208:1: ( rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15209:2: rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15052:1: ( rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15053:2: rule__SimpleState__Group__1__Impl rule__SimpleState__Group__2
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group__1__Impl_in_rule__SimpleState__Group__130994);
+            pushFollow(FOLLOW_rule__SimpleState__Group__1__Impl_in_rule__SimpleState__Group__130686);
             rule__SimpleState__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group__2_in_rule__SimpleState__Group__130997);
+            pushFollow(FOLLOW_rule__SimpleState__Group__2_in_rule__SimpleState__Group__130689);
             rule__SimpleState__Group__2();
 
             state._fsp--;
@@ -42141,23 +41905,23 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15216:1: rule__SimpleState__Group__1__Impl : ( ( rule__SimpleState__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15060:1: rule__SimpleState__Group__1__Impl : ( ( rule__SimpleState__NameAssignment_1 ) ) ;
     public final void rule__SimpleState__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15220:1: ( ( ( rule__SimpleState__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15221:1: ( ( rule__SimpleState__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15064:1: ( ( ( rule__SimpleState__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15065:1: ( ( rule__SimpleState__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15221:1: ( ( rule__SimpleState__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15222:1: ( rule__SimpleState__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15065:1: ( ( rule__SimpleState__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15066:1: ( rule__SimpleState__NameAssignment_1 )
             {
              before(grammarAccess.getSimpleStateAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15223:1: ( rule__SimpleState__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15223:2: rule__SimpleState__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15067:1: ( rule__SimpleState__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15067:2: rule__SimpleState__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__SimpleState__NameAssignment_1_in_rule__SimpleState__Group__1__Impl31024);
+            pushFollow(FOLLOW_rule__SimpleState__NameAssignment_1_in_rule__SimpleState__Group__1__Impl30716);
             rule__SimpleState__NameAssignment_1();
 
             state._fsp--;
@@ -42188,21 +41952,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15233:1: rule__SimpleState__Group__2 : rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15077:1: rule__SimpleState__Group__2 : rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3 ;
     public final void rule__SimpleState__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15237:1: ( rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15238:2: rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15081:1: ( rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15082:2: rule__SimpleState__Group__2__Impl rule__SimpleState__Group__3
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group__2__Impl_in_rule__SimpleState__Group__231054);
+            pushFollow(FOLLOW_rule__SimpleState__Group__2__Impl_in_rule__SimpleState__Group__230746);
             rule__SimpleState__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group__3_in_rule__SimpleState__Group__231057);
+            pushFollow(FOLLOW_rule__SimpleState__Group__3_in_rule__SimpleState__Group__230749);
             rule__SimpleState__Group__3();
 
             state._fsp--;
@@ -42226,31 +41990,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15245:1: rule__SimpleState__Group__2__Impl : ( ( rule__SimpleState__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15089:1: rule__SimpleState__Group__2__Impl : ( ( rule__SimpleState__DocuAssignment_2 )? ) ;
     public final void rule__SimpleState__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15249:1: ( ( ( rule__SimpleState__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15250:1: ( ( rule__SimpleState__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15093:1: ( ( ( rule__SimpleState__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15094:1: ( ( rule__SimpleState__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15250:1: ( ( rule__SimpleState__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15251:1: ( rule__SimpleState__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15094:1: ( ( rule__SimpleState__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15095:1: ( rule__SimpleState__DocuAssignment_2 )?
             {
              before(grammarAccess.getSimpleStateAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15252:1: ( rule__SimpleState__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15096:1: ( rule__SimpleState__DocuAssignment_2 )?
             int alt149=2;
             int LA149_0 = input.LA(1);
 
-            if ( (LA149_0==58) ) {
+            if ( (LA149_0==59) ) {
                 alt149=1;
             }
             switch (alt149) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15252:2: rule__SimpleState__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15096:2: rule__SimpleState__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__DocuAssignment_2_in_rule__SimpleState__Group__2__Impl31084);
+                    pushFollow(FOLLOW_rule__SimpleState__DocuAssignment_2_in_rule__SimpleState__Group__2__Impl30776);
                     rule__SimpleState__DocuAssignment_2();
 
                     state._fsp--;
@@ -42284,16 +42048,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15262:1: rule__SimpleState__Group__3 : rule__SimpleState__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15106:1: rule__SimpleState__Group__3 : rule__SimpleState__Group__3__Impl ;
     public final void rule__SimpleState__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15266:1: ( rule__SimpleState__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15267:2: rule__SimpleState__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15110:1: ( rule__SimpleState__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15111:2: rule__SimpleState__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group__3__Impl_in_rule__SimpleState__Group__331115);
+            pushFollow(FOLLOW_rule__SimpleState__Group__3__Impl_in_rule__SimpleState__Group__330807);
             rule__SimpleState__Group__3__Impl();
 
             state._fsp--;
@@ -42317,31 +42081,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15273:1: rule__SimpleState__Group__3__Impl : ( ( rule__SimpleState__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15117:1: rule__SimpleState__Group__3__Impl : ( ( rule__SimpleState__Group_3__0 )? ) ;
     public final void rule__SimpleState__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15277:1: ( ( ( rule__SimpleState__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15278:1: ( ( rule__SimpleState__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15121:1: ( ( ( rule__SimpleState__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15122:1: ( ( rule__SimpleState__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15278:1: ( ( rule__SimpleState__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15279:1: ( rule__SimpleState__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15122:1: ( ( rule__SimpleState__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15123:1: ( rule__SimpleState__Group_3__0 )?
             {
              before(grammarAccess.getSimpleStateAccess().getGroup_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15280:1: ( rule__SimpleState__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15124:1: ( rule__SimpleState__Group_3__0 )?
             int alt150=2;
             int LA150_0 = input.LA(1);
 
-            if ( (LA150_0==40) ) {
+            if ( (LA150_0==41) ) {
                 alt150=1;
             }
             switch (alt150) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15280:2: rule__SimpleState__Group_3__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15124:2: rule__SimpleState__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__Group_3__0_in_rule__SimpleState__Group__3__Impl31142);
+                    pushFollow(FOLLOW_rule__SimpleState__Group_3__0_in_rule__SimpleState__Group__3__Impl30834);
                     rule__SimpleState__Group_3__0();
 
                     state._fsp--;
@@ -42375,21 +42139,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15298:1: rule__SimpleState__Group_3__0 : rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15142:1: rule__SimpleState__Group_3__0 : rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1 ;
     public final void rule__SimpleState__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15302:1: ( rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15303:2: rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15146:1: ( rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15147:2: rule__SimpleState__Group_3__0__Impl rule__SimpleState__Group_3__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__0__Impl_in_rule__SimpleState__Group_3__031181);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__0__Impl_in_rule__SimpleState__Group_3__030873);
             rule__SimpleState__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__1_in_rule__SimpleState__Group_3__031184);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__1_in_rule__SimpleState__Group_3__030876);
             rule__SimpleState__Group_3__1();
 
             state._fsp--;
@@ -42413,20 +42177,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15310:1: rule__SimpleState__Group_3__0__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15154:1: rule__SimpleState__Group_3__0__Impl : ( '{' ) ;
     public final void rule__SimpleState__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15314:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15315:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15158:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15159:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15315:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15316:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15159:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15160:1: '{'
             {
              before(grammarAccess.getSimpleStateAccess().getLeftCurlyBracketKeyword_3_0()); 
-            match(input,40,FOLLOW_40_in_rule__SimpleState__Group_3__0__Impl31212); 
+            match(input,41,FOLLOW_41_in_rule__SimpleState__Group_3__0__Impl30904); 
              after(grammarAccess.getSimpleStateAccess().getLeftCurlyBracketKeyword_3_0()); 
 
             }
@@ -42450,21 +42214,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15329:1: rule__SimpleState__Group_3__1 : rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15173:1: rule__SimpleState__Group_3__1 : rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2 ;
     public final void rule__SimpleState__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15333:1: ( rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15334:2: rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15177:1: ( rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15178:2: rule__SimpleState__Group_3__1__Impl rule__SimpleState__Group_3__2
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__1__Impl_in_rule__SimpleState__Group_3__131243);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__1__Impl_in_rule__SimpleState__Group_3__130935);
             rule__SimpleState__Group_3__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__2_in_rule__SimpleState__Group_3__131246);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__2_in_rule__SimpleState__Group_3__130938);
             rule__SimpleState__Group_3__2();
 
             state._fsp--;
@@ -42488,31 +42252,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15341:1: rule__SimpleState__Group_3__1__Impl : ( ( rule__SimpleState__Group_3_1__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15185:1: rule__SimpleState__Group_3__1__Impl : ( ( rule__SimpleState__Group_3_1__0 )? ) ;
     public final void rule__SimpleState__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15345:1: ( ( ( rule__SimpleState__Group_3_1__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15346:1: ( ( rule__SimpleState__Group_3_1__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15189:1: ( ( ( rule__SimpleState__Group_3_1__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15190:1: ( ( rule__SimpleState__Group_3_1__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15346:1: ( ( rule__SimpleState__Group_3_1__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15347:1: ( rule__SimpleState__Group_3_1__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15190:1: ( ( rule__SimpleState__Group_3_1__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15191:1: ( rule__SimpleState__Group_3_1__0 )?
             {
              before(grammarAccess.getSimpleStateAccess().getGroup_3_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15348:1: ( rule__SimpleState__Group_3_1__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15192:1: ( rule__SimpleState__Group_3_1__0 )?
             int alt151=2;
             int LA151_0 = input.LA(1);
 
-            if ( (LA151_0==94) ) {
+            if ( (LA151_0==95) ) {
                 alt151=1;
             }
             switch (alt151) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15348:2: rule__SimpleState__Group_3_1__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15192:2: rule__SimpleState__Group_3_1__0
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__Group_3_1__0_in_rule__SimpleState__Group_3__1__Impl31273);
+                    pushFollow(FOLLOW_rule__SimpleState__Group_3_1__0_in_rule__SimpleState__Group_3__1__Impl30965);
                     rule__SimpleState__Group_3_1__0();
 
                     state._fsp--;
@@ -42546,21 +42310,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15358:1: rule__SimpleState__Group_3__2 : rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15202:1: rule__SimpleState__Group_3__2 : rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3 ;
     public final void rule__SimpleState__Group_3__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15362:1: ( rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15363:2: rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15206:1: ( rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15207:2: rule__SimpleState__Group_3__2__Impl rule__SimpleState__Group_3__3
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__2__Impl_in_rule__SimpleState__Group_3__231304);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__2__Impl_in_rule__SimpleState__Group_3__230996);
             rule__SimpleState__Group_3__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__3_in_rule__SimpleState__Group_3__231307);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__3_in_rule__SimpleState__Group_3__230999);
             rule__SimpleState__Group_3__3();
 
             state._fsp--;
@@ -42584,31 +42348,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15370:1: rule__SimpleState__Group_3__2__Impl : ( ( rule__SimpleState__Group_3_2__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15214:1: rule__SimpleState__Group_3__2__Impl : ( ( rule__SimpleState__Group_3_2__0 )? ) ;
     public final void rule__SimpleState__Group_3__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15374:1: ( ( ( rule__SimpleState__Group_3_2__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15375:1: ( ( rule__SimpleState__Group_3_2__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15218:1: ( ( ( rule__SimpleState__Group_3_2__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15219:1: ( ( rule__SimpleState__Group_3_2__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15375:1: ( ( rule__SimpleState__Group_3_2__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15376:1: ( rule__SimpleState__Group_3_2__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15219:1: ( ( rule__SimpleState__Group_3_2__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15220:1: ( rule__SimpleState__Group_3_2__0 )?
             {
              before(grammarAccess.getSimpleStateAccess().getGroup_3_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15377:1: ( rule__SimpleState__Group_3_2__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15221:1: ( rule__SimpleState__Group_3_2__0 )?
             int alt152=2;
             int LA152_0 = input.LA(1);
 
-            if ( (LA152_0==95) ) {
+            if ( (LA152_0==96) ) {
                 alt152=1;
             }
             switch (alt152) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15377:2: rule__SimpleState__Group_3_2__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15221:2: rule__SimpleState__Group_3_2__0
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__Group_3_2__0_in_rule__SimpleState__Group_3__2__Impl31334);
+                    pushFollow(FOLLOW_rule__SimpleState__Group_3_2__0_in_rule__SimpleState__Group_3__2__Impl31026);
                     rule__SimpleState__Group_3_2__0();
 
                     state._fsp--;
@@ -42642,21 +42406,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15387:1: rule__SimpleState__Group_3__3 : rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15231:1: rule__SimpleState__Group_3__3 : rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4 ;
     public final void rule__SimpleState__Group_3__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15391:1: ( rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15392:2: rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15235:1: ( rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15236:2: rule__SimpleState__Group_3__3__Impl rule__SimpleState__Group_3__4
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__3__Impl_in_rule__SimpleState__Group_3__331365);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__3__Impl_in_rule__SimpleState__Group_3__331057);
             rule__SimpleState__Group_3__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__4_in_rule__SimpleState__Group_3__331368);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__4_in_rule__SimpleState__Group_3__331060);
             rule__SimpleState__Group_3__4();
 
             state._fsp--;
@@ -42680,31 +42444,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15399:1: rule__SimpleState__Group_3__3__Impl : ( ( rule__SimpleState__Group_3_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15243:1: rule__SimpleState__Group_3__3__Impl : ( ( rule__SimpleState__Group_3_3__0 )? ) ;
     public final void rule__SimpleState__Group_3__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15403:1: ( ( ( rule__SimpleState__Group_3_3__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15404:1: ( ( rule__SimpleState__Group_3_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15247:1: ( ( ( rule__SimpleState__Group_3_3__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15248:1: ( ( rule__SimpleState__Group_3_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15404:1: ( ( rule__SimpleState__Group_3_3__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15405:1: ( rule__SimpleState__Group_3_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15248:1: ( ( rule__SimpleState__Group_3_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15249:1: ( rule__SimpleState__Group_3_3__0 )?
             {
              before(grammarAccess.getSimpleStateAccess().getGroup_3_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15406:1: ( rule__SimpleState__Group_3_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15250:1: ( rule__SimpleState__Group_3_3__0 )?
             int alt153=2;
             int LA153_0 = input.LA(1);
 
-            if ( (LA153_0==96) ) {
+            if ( (LA153_0==97) ) {
                 alt153=1;
             }
             switch (alt153) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15406:2: rule__SimpleState__Group_3_3__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15250:2: rule__SimpleState__Group_3_3__0
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__Group_3_3__0_in_rule__SimpleState__Group_3__3__Impl31395);
+                    pushFollow(FOLLOW_rule__SimpleState__Group_3_3__0_in_rule__SimpleState__Group_3__3__Impl31087);
                     rule__SimpleState__Group_3_3__0();
 
                     state._fsp--;
@@ -42738,21 +42502,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15416:1: rule__SimpleState__Group_3__4 : rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15260:1: rule__SimpleState__Group_3__4 : rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5 ;
     public final void rule__SimpleState__Group_3__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15420:1: ( rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15421:2: rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15264:1: ( rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15265:2: rule__SimpleState__Group_3__4__Impl rule__SimpleState__Group_3__5
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__4__Impl_in_rule__SimpleState__Group_3__431426);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__4__Impl_in_rule__SimpleState__Group_3__431118);
             rule__SimpleState__Group_3__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__5_in_rule__SimpleState__Group_3__431429);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__5_in_rule__SimpleState__Group_3__431121);
             rule__SimpleState__Group_3__5();
 
             state._fsp--;
@@ -42776,31 +42540,31 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15428:1: rule__SimpleState__Group_3__4__Impl : ( ( rule__SimpleState__Group_3_4__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15272:1: rule__SimpleState__Group_3__4__Impl : ( ( rule__SimpleState__Group_3_4__0 )? ) ;
     public final void rule__SimpleState__Group_3__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15432:1: ( ( ( rule__SimpleState__Group_3_4__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15433:1: ( ( rule__SimpleState__Group_3_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15276:1: ( ( ( rule__SimpleState__Group_3_4__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15277:1: ( ( rule__SimpleState__Group_3_4__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15433:1: ( ( rule__SimpleState__Group_3_4__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15434:1: ( rule__SimpleState__Group_3_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15277:1: ( ( rule__SimpleState__Group_3_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15278:1: ( rule__SimpleState__Group_3_4__0 )?
             {
              before(grammarAccess.getSimpleStateAccess().getGroup_3_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15435:1: ( rule__SimpleState__Group_3_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15279:1: ( rule__SimpleState__Group_3_4__0 )?
             int alt154=2;
             int LA154_0 = input.LA(1);
 
-            if ( (LA154_0==97) ) {
+            if ( (LA154_0==98) ) {
                 alt154=1;
             }
             switch (alt154) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15435:2: rule__SimpleState__Group_3_4__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15279:2: rule__SimpleState__Group_3_4__0
                     {
-                    pushFollow(FOLLOW_rule__SimpleState__Group_3_4__0_in_rule__SimpleState__Group_3__4__Impl31456);
+                    pushFollow(FOLLOW_rule__SimpleState__Group_3_4__0_in_rule__SimpleState__Group_3__4__Impl31148);
                     rule__SimpleState__Group_3_4__0();
 
                     state._fsp--;
@@ -42834,16 +42598,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15445:1: rule__SimpleState__Group_3__5 : rule__SimpleState__Group_3__5__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15289:1: rule__SimpleState__Group_3__5 : rule__SimpleState__Group_3__5__Impl ;
     public final void rule__SimpleState__Group_3__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15449:1: ( rule__SimpleState__Group_3__5__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15450:2: rule__SimpleState__Group_3__5__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15293:1: ( rule__SimpleState__Group_3__5__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15294:2: rule__SimpleState__Group_3__5__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3__5__Impl_in_rule__SimpleState__Group_3__531487);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3__5__Impl_in_rule__SimpleState__Group_3__531179);
             rule__SimpleState__Group_3__5__Impl();
 
             state._fsp--;
@@ -42867,20 +42631,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15456:1: rule__SimpleState__Group_3__5__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15300:1: rule__SimpleState__Group_3__5__Impl : ( '}' ) ;
     public final void rule__SimpleState__Group_3__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15460:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15461:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15304:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15305:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15461:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15462:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15305:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15306:1: '}'
             {
              before(grammarAccess.getSimpleStateAccess().getRightCurlyBracketKeyword_3_5()); 
-            match(input,41,FOLLOW_41_in_rule__SimpleState__Group_3__5__Impl31515); 
+            match(input,42,FOLLOW_42_in_rule__SimpleState__Group_3__5__Impl31207); 
              after(grammarAccess.getSimpleStateAccess().getRightCurlyBracketKeyword_3_5()); 
 
             }
@@ -42904,21 +42668,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15487:1: rule__SimpleState__Group_3_1__0 : rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15331:1: rule__SimpleState__Group_3_1__0 : rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1 ;
     public final void rule__SimpleState__Group_3_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15491:1: ( rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15492:2: rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15335:1: ( rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15336:2: rule__SimpleState__Group_3_1__0__Impl rule__SimpleState__Group_3_1__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__0__Impl_in_rule__SimpleState__Group_3_1__031558);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__0__Impl_in_rule__SimpleState__Group_3_1__031250);
             rule__SimpleState__Group_3_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__1_in_rule__SimpleState__Group_3_1__031561);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__1_in_rule__SimpleState__Group_3_1__031253);
             rule__SimpleState__Group_3_1__1();
 
             state._fsp--;
@@ -42942,20 +42706,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15499:1: rule__SimpleState__Group_3_1__0__Impl : ( 'entry' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15343:1: rule__SimpleState__Group_3_1__0__Impl : ( 'entry' ) ;
     public final void rule__SimpleState__Group_3_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15503:1: ( ( 'entry' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15504:1: ( 'entry' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15347:1: ( ( 'entry' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15348:1: ( 'entry' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15504:1: ( 'entry' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15505:1: 'entry'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15348:1: ( 'entry' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15349:1: 'entry'
             {
              before(grammarAccess.getSimpleStateAccess().getEntryKeyword_3_1_0()); 
-            match(input,94,FOLLOW_94_in_rule__SimpleState__Group_3_1__0__Impl31589); 
+            match(input,95,FOLLOW_95_in_rule__SimpleState__Group_3_1__0__Impl31281); 
              after(grammarAccess.getSimpleStateAccess().getEntryKeyword_3_1_0()); 
 
             }
@@ -42979,16 +42743,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15518:1: rule__SimpleState__Group_3_1__1 : rule__SimpleState__Group_3_1__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15362:1: rule__SimpleState__Group_3_1__1 : rule__SimpleState__Group_3_1__1__Impl ;
     public final void rule__SimpleState__Group_3_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15522:1: ( rule__SimpleState__Group_3_1__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15523:2: rule__SimpleState__Group_3_1__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15366:1: ( rule__SimpleState__Group_3_1__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15367:2: rule__SimpleState__Group_3_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__1__Impl_in_rule__SimpleState__Group_3_1__131620);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_1__1__Impl_in_rule__SimpleState__Group_3_1__131312);
             rule__SimpleState__Group_3_1__1__Impl();
 
             state._fsp--;
@@ -43012,23 +42776,23 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15529:1: rule__SimpleState__Group_3_1__1__Impl : ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15373:1: rule__SimpleState__Group_3_1__1__Impl : ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) ) ;
     public final void rule__SimpleState__Group_3_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15533:1: ( ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15534:1: ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15377:1: ( ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15378:1: ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15534:1: ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15535:1: ( rule__SimpleState__EntryCodeAssignment_3_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15378:1: ( ( rule__SimpleState__EntryCodeAssignment_3_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15379:1: ( rule__SimpleState__EntryCodeAssignment_3_1_1 )
             {
              before(grammarAccess.getSimpleStateAccess().getEntryCodeAssignment_3_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15536:1: ( rule__SimpleState__EntryCodeAssignment_3_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15536:2: rule__SimpleState__EntryCodeAssignment_3_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15380:1: ( rule__SimpleState__EntryCodeAssignment_3_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15380:2: rule__SimpleState__EntryCodeAssignment_3_1_1
             {
-            pushFollow(FOLLOW_rule__SimpleState__EntryCodeAssignment_3_1_1_in_rule__SimpleState__Group_3_1__1__Impl31647);
+            pushFollow(FOLLOW_rule__SimpleState__EntryCodeAssignment_3_1_1_in_rule__SimpleState__Group_3_1__1__Impl31339);
             rule__SimpleState__EntryCodeAssignment_3_1_1();
 
             state._fsp--;
@@ -43059,21 +42823,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_2__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15550:1: rule__SimpleState__Group_3_2__0 : rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15394:1: rule__SimpleState__Group_3_2__0 : rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1 ;
     public final void rule__SimpleState__Group_3_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15554:1: ( rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15555:2: rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15398:1: ( rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15399:2: rule__SimpleState__Group_3_2__0__Impl rule__SimpleState__Group_3_2__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__0__Impl_in_rule__SimpleState__Group_3_2__031681);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__0__Impl_in_rule__SimpleState__Group_3_2__031373);
             rule__SimpleState__Group_3_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__1_in_rule__SimpleState__Group_3_2__031684);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__1_in_rule__SimpleState__Group_3_2__031376);
             rule__SimpleState__Group_3_2__1();
 
             state._fsp--;
@@ -43097,20 +42861,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_2__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15562:1: rule__SimpleState__Group_3_2__0__Impl : ( 'exit' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15406:1: rule__SimpleState__Group_3_2__0__Impl : ( 'exit' ) ;
     public final void rule__SimpleState__Group_3_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15566:1: ( ( 'exit' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15567:1: ( 'exit' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15410:1: ( ( 'exit' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15411:1: ( 'exit' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15567:1: ( 'exit' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15568:1: 'exit'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15411:1: ( 'exit' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15412:1: 'exit'
             {
              before(grammarAccess.getSimpleStateAccess().getExitKeyword_3_2_0()); 
-            match(input,95,FOLLOW_95_in_rule__SimpleState__Group_3_2__0__Impl31712); 
+            match(input,96,FOLLOW_96_in_rule__SimpleState__Group_3_2__0__Impl31404); 
              after(grammarAccess.getSimpleStateAccess().getExitKeyword_3_2_0()); 
 
             }
@@ -43134,16 +42898,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_2__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15581:1: rule__SimpleState__Group_3_2__1 : rule__SimpleState__Group_3_2__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15425:1: rule__SimpleState__Group_3_2__1 : rule__SimpleState__Group_3_2__1__Impl ;
     public final void rule__SimpleState__Group_3_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15585:1: ( rule__SimpleState__Group_3_2__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15586:2: rule__SimpleState__Group_3_2__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15429:1: ( rule__SimpleState__Group_3_2__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15430:2: rule__SimpleState__Group_3_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__1__Impl_in_rule__SimpleState__Group_3_2__131743);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_2__1__Impl_in_rule__SimpleState__Group_3_2__131435);
             rule__SimpleState__Group_3_2__1__Impl();
 
             state._fsp--;
@@ -43167,23 +42931,23 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_2__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15592:1: rule__SimpleState__Group_3_2__1__Impl : ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15436:1: rule__SimpleState__Group_3_2__1__Impl : ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) ) ;
     public final void rule__SimpleState__Group_3_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15596:1: ( ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15597:1: ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15440:1: ( ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15441:1: ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15597:1: ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15598:1: ( rule__SimpleState__ExitCodeAssignment_3_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15441:1: ( ( rule__SimpleState__ExitCodeAssignment_3_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15442:1: ( rule__SimpleState__ExitCodeAssignment_3_2_1 )
             {
              before(grammarAccess.getSimpleStateAccess().getExitCodeAssignment_3_2_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15599:1: ( rule__SimpleState__ExitCodeAssignment_3_2_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15599:2: rule__SimpleState__ExitCodeAssignment_3_2_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15443:1: ( rule__SimpleState__ExitCodeAssignment_3_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15443:2: rule__SimpleState__ExitCodeAssignment_3_2_1
             {
-            pushFollow(FOLLOW_rule__SimpleState__ExitCodeAssignment_3_2_1_in_rule__SimpleState__Group_3_2__1__Impl31770);
+            pushFollow(FOLLOW_rule__SimpleState__ExitCodeAssignment_3_2_1_in_rule__SimpleState__Group_3_2__1__Impl31462);
             rule__SimpleState__ExitCodeAssignment_3_2_1();
 
             state._fsp--;
@@ -43214,21 +42978,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_3__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15613:1: rule__SimpleState__Group_3_3__0 : rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15457:1: rule__SimpleState__Group_3_3__0 : rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1 ;
     public final void rule__SimpleState__Group_3_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15617:1: ( rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15618:2: rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15461:1: ( rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15462:2: rule__SimpleState__Group_3_3__0__Impl rule__SimpleState__Group_3_3__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__0__Impl_in_rule__SimpleState__Group_3_3__031804);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__0__Impl_in_rule__SimpleState__Group_3_3__031496);
             rule__SimpleState__Group_3_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__1_in_rule__SimpleState__Group_3_3__031807);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__1_in_rule__SimpleState__Group_3_3__031499);
             rule__SimpleState__Group_3_3__1();
 
             state._fsp--;
@@ -43252,20 +43016,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_3__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15625:1: rule__SimpleState__Group_3_3__0__Impl : ( 'do' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15469:1: rule__SimpleState__Group_3_3__0__Impl : ( 'do' ) ;
     public final void rule__SimpleState__Group_3_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15629:1: ( ( 'do' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15630:1: ( 'do' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15473:1: ( ( 'do' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15474:1: ( 'do' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15630:1: ( 'do' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15631:1: 'do'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15474:1: ( 'do' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15475:1: 'do'
             {
              before(grammarAccess.getSimpleStateAccess().getDoKeyword_3_3_0()); 
-            match(input,96,FOLLOW_96_in_rule__SimpleState__Group_3_3__0__Impl31835); 
+            match(input,97,FOLLOW_97_in_rule__SimpleState__Group_3_3__0__Impl31527); 
              after(grammarAccess.getSimpleStateAccess().getDoKeyword_3_3_0()); 
 
             }
@@ -43289,16 +43053,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_3__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15644:1: rule__SimpleState__Group_3_3__1 : rule__SimpleState__Group_3_3__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15488:1: rule__SimpleState__Group_3_3__1 : rule__SimpleState__Group_3_3__1__Impl ;
     public final void rule__SimpleState__Group_3_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15648:1: ( rule__SimpleState__Group_3_3__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15649:2: rule__SimpleState__Group_3_3__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15492:1: ( rule__SimpleState__Group_3_3__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15493:2: rule__SimpleState__Group_3_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__1__Impl_in_rule__SimpleState__Group_3_3__131866);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_3__1__Impl_in_rule__SimpleState__Group_3_3__131558);
             rule__SimpleState__Group_3_3__1__Impl();
 
             state._fsp--;
@@ -43322,23 +43086,23 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_3__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15655:1: rule__SimpleState__Group_3_3__1__Impl : ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15499:1: rule__SimpleState__Group_3_3__1__Impl : ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) ) ;
     public final void rule__SimpleState__Group_3_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15659:1: ( ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15660:1: ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15503:1: ( ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15504:1: ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15660:1: ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15661:1: ( rule__SimpleState__DoCodeAssignment_3_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15504:1: ( ( rule__SimpleState__DoCodeAssignment_3_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15505:1: ( rule__SimpleState__DoCodeAssignment_3_3_1 )
             {
              before(grammarAccess.getSimpleStateAccess().getDoCodeAssignment_3_3_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15662:1: ( rule__SimpleState__DoCodeAssignment_3_3_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15662:2: rule__SimpleState__DoCodeAssignment_3_3_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15506:1: ( rule__SimpleState__DoCodeAssignment_3_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15506:2: rule__SimpleState__DoCodeAssignment_3_3_1
             {
-            pushFollow(FOLLOW_rule__SimpleState__DoCodeAssignment_3_3_1_in_rule__SimpleState__Group_3_3__1__Impl31893);
+            pushFollow(FOLLOW_rule__SimpleState__DoCodeAssignment_3_3_1_in_rule__SimpleState__Group_3_3__1__Impl31585);
             rule__SimpleState__DoCodeAssignment_3_3_1();
 
             state._fsp--;
@@ -43369,21 +43133,21 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_4__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15676:1: rule__SimpleState__Group_3_4__0 : rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15520:1: rule__SimpleState__Group_3_4__0 : rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1 ;
     public final void rule__SimpleState__Group_3_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15680:1: ( rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15681:2: rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15524:1: ( rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15525:2: rule__SimpleState__Group_3_4__0__Impl rule__SimpleState__Group_3_4__1
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__0__Impl_in_rule__SimpleState__Group_3_4__031927);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__0__Impl_in_rule__SimpleState__Group_3_4__031619);
             rule__SimpleState__Group_3_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__1_in_rule__SimpleState__Group_3_4__031930);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__1_in_rule__SimpleState__Group_3_4__031622);
             rule__SimpleState__Group_3_4__1();
 
             state._fsp--;
@@ -43407,20 +43171,20 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_4__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15688:1: rule__SimpleState__Group_3_4__0__Impl : ( 'subgraph' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15532:1: rule__SimpleState__Group_3_4__0__Impl : ( 'subgraph' ) ;
     public final void rule__SimpleState__Group_3_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15692:1: ( ( 'subgraph' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15693:1: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15536:1: ( ( 'subgraph' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15537:1: ( 'subgraph' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15693:1: ( 'subgraph' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15694:1: 'subgraph'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15537:1: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15538:1: 'subgraph'
             {
              before(grammarAccess.getSimpleStateAccess().getSubgraphKeyword_3_4_0()); 
-            match(input,97,FOLLOW_97_in_rule__SimpleState__Group_3_4__0__Impl31958); 
+            match(input,98,FOLLOW_98_in_rule__SimpleState__Group_3_4__0__Impl31650); 
              after(grammarAccess.getSimpleStateAccess().getSubgraphKeyword_3_4_0()); 
 
             }
@@ -43444,16 +43208,16 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_4__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15707:1: rule__SimpleState__Group_3_4__1 : rule__SimpleState__Group_3_4__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15551:1: rule__SimpleState__Group_3_4__1 : rule__SimpleState__Group_3_4__1__Impl ;
     public final void rule__SimpleState__Group_3_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15711:1: ( rule__SimpleState__Group_3_4__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15712:2: rule__SimpleState__Group_3_4__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15555:1: ( rule__SimpleState__Group_3_4__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15556:2: rule__SimpleState__Group_3_4__1__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__1__Impl_in_rule__SimpleState__Group_3_4__131989);
+            pushFollow(FOLLOW_rule__SimpleState__Group_3_4__1__Impl_in_rule__SimpleState__Group_3_4__131681);
             rule__SimpleState__Group_3_4__1__Impl();
 
             state._fsp--;
@@ -43477,23 +43241,23 @@
 
 
     // $ANTLR start "rule__SimpleState__Group_3_4__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15718:1: rule__SimpleState__Group_3_4__1__Impl : ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15562:1: rule__SimpleState__Group_3_4__1__Impl : ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) ) ;
     public final void rule__SimpleState__Group_3_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15722:1: ( ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15723:1: ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15566:1: ( ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15567:1: ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15723:1: ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15724:1: ( rule__SimpleState__SubgraphAssignment_3_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15567:1: ( ( rule__SimpleState__SubgraphAssignment_3_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15568:1: ( rule__SimpleState__SubgraphAssignment_3_4_1 )
             {
              before(grammarAccess.getSimpleStateAccess().getSubgraphAssignment_3_4_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15725:1: ( rule__SimpleState__SubgraphAssignment_3_4_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15725:2: rule__SimpleState__SubgraphAssignment_3_4_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15569:1: ( rule__SimpleState__SubgraphAssignment_3_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15569:2: rule__SimpleState__SubgraphAssignment_3_4_1
             {
-            pushFollow(FOLLOW_rule__SimpleState__SubgraphAssignment_3_4_1_in_rule__SimpleState__Group_3_4__1__Impl32016);
+            pushFollow(FOLLOW_rule__SimpleState__SubgraphAssignment_3_4_1_in_rule__SimpleState__Group_3_4__1__Impl31708);
             rule__SimpleState__SubgraphAssignment_3_4_1();
 
             state._fsp--;
@@ -43524,21 +43288,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15739:1: rule__RefinedState__Group__0 : rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15583:1: rule__RefinedState__Group__0 : rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1 ;
     public final void rule__RefinedState__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15743:1: ( rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15744:2: rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15587:1: ( rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15588:2: rule__RefinedState__Group__0__Impl rule__RefinedState__Group__1
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__0__Impl_in_rule__RefinedState__Group__032050);
+            pushFollow(FOLLOW_rule__RefinedState__Group__0__Impl_in_rule__RefinedState__Group__031742);
             rule__RefinedState__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__1_in_rule__RefinedState__Group__032053);
+            pushFollow(FOLLOW_rule__RefinedState__Group__1_in_rule__RefinedState__Group__031745);
             rule__RefinedState__Group__1();
 
             state._fsp--;
@@ -43562,20 +43326,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15751:1: rule__RefinedState__Group__0__Impl : ( 'RefinedState' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15595:1: rule__RefinedState__Group__0__Impl : ( 'RefinedState' ) ;
     public final void rule__RefinedState__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15755:1: ( ( 'RefinedState' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15756:1: ( 'RefinedState' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15599:1: ( ( 'RefinedState' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15600:1: ( 'RefinedState' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15756:1: ( 'RefinedState' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15757:1: 'RefinedState'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15600:1: ( 'RefinedState' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15601:1: 'RefinedState'
             {
              before(grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0()); 
-            match(input,98,FOLLOW_98_in_rule__RefinedState__Group__0__Impl32081); 
+            match(input,99,FOLLOW_99_in_rule__RefinedState__Group__0__Impl31773); 
              after(grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0()); 
 
             }
@@ -43599,21 +43363,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15770:1: rule__RefinedState__Group__1 : rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15614:1: rule__RefinedState__Group__1 : rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2 ;
     public final void rule__RefinedState__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15774:1: ( rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15775:2: rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15618:1: ( rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15619:2: rule__RefinedState__Group__1__Impl rule__RefinedState__Group__2
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__1__Impl_in_rule__RefinedState__Group__132112);
+            pushFollow(FOLLOW_rule__RefinedState__Group__1__Impl_in_rule__RefinedState__Group__131804);
             rule__RefinedState__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__2_in_rule__RefinedState__Group__132115);
+            pushFollow(FOLLOW_rule__RefinedState__Group__2_in_rule__RefinedState__Group__131807);
             rule__RefinedState__Group__2();
 
             state._fsp--;
@@ -43637,23 +43401,23 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15782:1: rule__RefinedState__Group__1__Impl : ( ( rule__RefinedState__TargetAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15626:1: rule__RefinedState__Group__1__Impl : ( ( rule__RefinedState__TargetAssignment_1 ) ) ;
     public final void rule__RefinedState__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15786:1: ( ( ( rule__RefinedState__TargetAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15787:1: ( ( rule__RefinedState__TargetAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15630:1: ( ( ( rule__RefinedState__TargetAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15631:1: ( ( rule__RefinedState__TargetAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15787:1: ( ( rule__RefinedState__TargetAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15788:1: ( rule__RefinedState__TargetAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15631:1: ( ( rule__RefinedState__TargetAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15632:1: ( rule__RefinedState__TargetAssignment_1 )
             {
              before(grammarAccess.getRefinedStateAccess().getTargetAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15789:1: ( rule__RefinedState__TargetAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15789:2: rule__RefinedState__TargetAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15633:1: ( rule__RefinedState__TargetAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15633:2: rule__RefinedState__TargetAssignment_1
             {
-            pushFollow(FOLLOW_rule__RefinedState__TargetAssignment_1_in_rule__RefinedState__Group__1__Impl32142);
+            pushFollow(FOLLOW_rule__RefinedState__TargetAssignment_1_in_rule__RefinedState__Group__1__Impl31834);
             rule__RefinedState__TargetAssignment_1();
 
             state._fsp--;
@@ -43684,21 +43448,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15799:1: rule__RefinedState__Group__2 : rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15643:1: rule__RefinedState__Group__2 : rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3 ;
     public final void rule__RefinedState__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15803:1: ( rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15804:2: rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15647:1: ( rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15648:2: rule__RefinedState__Group__2__Impl rule__RefinedState__Group__3
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__2__Impl_in_rule__RefinedState__Group__232172);
+            pushFollow(FOLLOW_rule__RefinedState__Group__2__Impl_in_rule__RefinedState__Group__231864);
             rule__RefinedState__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__3_in_rule__RefinedState__Group__232175);
+            pushFollow(FOLLOW_rule__RefinedState__Group__3_in_rule__RefinedState__Group__231867);
             rule__RefinedState__Group__3();
 
             state._fsp--;
@@ -43722,31 +43486,31 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15811:1: rule__RefinedState__Group__2__Impl : ( ( rule__RefinedState__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15655:1: rule__RefinedState__Group__2__Impl : ( ( rule__RefinedState__DocuAssignment_2 )? ) ;
     public final void rule__RefinedState__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15815:1: ( ( ( rule__RefinedState__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15816:1: ( ( rule__RefinedState__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15659:1: ( ( ( rule__RefinedState__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15660:1: ( ( rule__RefinedState__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15816:1: ( ( rule__RefinedState__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15817:1: ( rule__RefinedState__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15660:1: ( ( rule__RefinedState__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15661:1: ( rule__RefinedState__DocuAssignment_2 )?
             {
              before(grammarAccess.getRefinedStateAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15818:1: ( rule__RefinedState__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15662:1: ( rule__RefinedState__DocuAssignment_2 )?
             int alt155=2;
             int LA155_0 = input.LA(1);
 
-            if ( (LA155_0==58) ) {
+            if ( (LA155_0==59) ) {
                 alt155=1;
             }
             switch (alt155) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15818:2: rule__RefinedState__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15662:2: rule__RefinedState__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__RefinedState__DocuAssignment_2_in_rule__RefinedState__Group__2__Impl32202);
+                    pushFollow(FOLLOW_rule__RefinedState__DocuAssignment_2_in_rule__RefinedState__Group__2__Impl31894);
                     rule__RefinedState__DocuAssignment_2();
 
                     state._fsp--;
@@ -43780,21 +43544,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15828:1: rule__RefinedState__Group__3 : rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15672:1: rule__RefinedState__Group__3 : rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4 ;
     public final void rule__RefinedState__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15832:1: ( rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15833:2: rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15676:1: ( rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15677:2: rule__RefinedState__Group__3__Impl rule__RefinedState__Group__4
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__3__Impl_in_rule__RefinedState__Group__332233);
+            pushFollow(FOLLOW_rule__RefinedState__Group__3__Impl_in_rule__RefinedState__Group__331925);
             rule__RefinedState__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__4_in_rule__RefinedState__Group__332236);
+            pushFollow(FOLLOW_rule__RefinedState__Group__4_in_rule__RefinedState__Group__331928);
             rule__RefinedState__Group__4();
 
             state._fsp--;
@@ -43818,20 +43582,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15840:1: rule__RefinedState__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15684:1: rule__RefinedState__Group__3__Impl : ( '{' ) ;
     public final void rule__RefinedState__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15844:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15845:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15688:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15689:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15845:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15846:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15689:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15690:1: '{'
             {
              before(grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,40,FOLLOW_40_in_rule__RefinedState__Group__3__Impl32264); 
+            match(input,41,FOLLOW_41_in_rule__RefinedState__Group__3__Impl31956); 
              after(grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_3()); 
 
             }
@@ -43855,21 +43619,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15859:1: rule__RefinedState__Group__4 : rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15703:1: rule__RefinedState__Group__4 : rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5 ;
     public final void rule__RefinedState__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15863:1: ( rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15864:2: rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15707:1: ( rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15708:2: rule__RefinedState__Group__4__Impl rule__RefinedState__Group__5
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__4__Impl_in_rule__RefinedState__Group__432295);
+            pushFollow(FOLLOW_rule__RefinedState__Group__4__Impl_in_rule__RefinedState__Group__431987);
             rule__RefinedState__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__5_in_rule__RefinedState__Group__432298);
+            pushFollow(FOLLOW_rule__RefinedState__Group__5_in_rule__RefinedState__Group__431990);
             rule__RefinedState__Group__5();
 
             state._fsp--;
@@ -43893,31 +43657,31 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15871:1: rule__RefinedState__Group__4__Impl : ( ( rule__RefinedState__Group_4__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15715:1: rule__RefinedState__Group__4__Impl : ( ( rule__RefinedState__Group_4__0 )? ) ;
     public final void rule__RefinedState__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15875:1: ( ( ( rule__RefinedState__Group_4__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15876:1: ( ( rule__RefinedState__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15719:1: ( ( ( rule__RefinedState__Group_4__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15720:1: ( ( rule__RefinedState__Group_4__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15876:1: ( ( rule__RefinedState__Group_4__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15877:1: ( rule__RefinedState__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15720:1: ( ( rule__RefinedState__Group_4__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15721:1: ( rule__RefinedState__Group_4__0 )?
             {
              before(grammarAccess.getRefinedStateAccess().getGroup_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15878:1: ( rule__RefinedState__Group_4__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15722:1: ( rule__RefinedState__Group_4__0 )?
             int alt156=2;
             int LA156_0 = input.LA(1);
 
-            if ( (LA156_0==94) ) {
+            if ( (LA156_0==95) ) {
                 alt156=1;
             }
             switch (alt156) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15878:2: rule__RefinedState__Group_4__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15722:2: rule__RefinedState__Group_4__0
                     {
-                    pushFollow(FOLLOW_rule__RefinedState__Group_4__0_in_rule__RefinedState__Group__4__Impl32325);
+                    pushFollow(FOLLOW_rule__RefinedState__Group_4__0_in_rule__RefinedState__Group__4__Impl32017);
                     rule__RefinedState__Group_4__0();
 
                     state._fsp--;
@@ -43951,21 +43715,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15888:1: rule__RefinedState__Group__5 : rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15732:1: rule__RefinedState__Group__5 : rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6 ;
     public final void rule__RefinedState__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15892:1: ( rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15893:2: rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15736:1: ( rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15737:2: rule__RefinedState__Group__5__Impl rule__RefinedState__Group__6
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__5__Impl_in_rule__RefinedState__Group__532356);
+            pushFollow(FOLLOW_rule__RefinedState__Group__5__Impl_in_rule__RefinedState__Group__532048);
             rule__RefinedState__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__6_in_rule__RefinedState__Group__532359);
+            pushFollow(FOLLOW_rule__RefinedState__Group__6_in_rule__RefinedState__Group__532051);
             rule__RefinedState__Group__6();
 
             state._fsp--;
@@ -43989,31 +43753,31 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15900:1: rule__RefinedState__Group__5__Impl : ( ( rule__RefinedState__Group_5__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15744:1: rule__RefinedState__Group__5__Impl : ( ( rule__RefinedState__Group_5__0 )? ) ;
     public final void rule__RefinedState__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15904:1: ( ( ( rule__RefinedState__Group_5__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15905:1: ( ( rule__RefinedState__Group_5__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15748:1: ( ( ( rule__RefinedState__Group_5__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15749:1: ( ( rule__RefinedState__Group_5__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15905:1: ( ( rule__RefinedState__Group_5__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15906:1: ( rule__RefinedState__Group_5__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15749:1: ( ( rule__RefinedState__Group_5__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15750:1: ( rule__RefinedState__Group_5__0 )?
             {
              before(grammarAccess.getRefinedStateAccess().getGroup_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15907:1: ( rule__RefinedState__Group_5__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15751:1: ( rule__RefinedState__Group_5__0 )?
             int alt157=2;
             int LA157_0 = input.LA(1);
 
-            if ( (LA157_0==95) ) {
+            if ( (LA157_0==96) ) {
                 alt157=1;
             }
             switch (alt157) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15907:2: rule__RefinedState__Group_5__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15751:2: rule__RefinedState__Group_5__0
                     {
-                    pushFollow(FOLLOW_rule__RefinedState__Group_5__0_in_rule__RefinedState__Group__5__Impl32386);
+                    pushFollow(FOLLOW_rule__RefinedState__Group_5__0_in_rule__RefinedState__Group__5__Impl32078);
                     rule__RefinedState__Group_5__0();
 
                     state._fsp--;
@@ -44047,21 +43811,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15917:1: rule__RefinedState__Group__6 : rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15761:1: rule__RefinedState__Group__6 : rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7 ;
     public final void rule__RefinedState__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15921:1: ( rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15922:2: rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15765:1: ( rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15766:2: rule__RefinedState__Group__6__Impl rule__RefinedState__Group__7
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__6__Impl_in_rule__RefinedState__Group__632417);
+            pushFollow(FOLLOW_rule__RefinedState__Group__6__Impl_in_rule__RefinedState__Group__632109);
             rule__RefinedState__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__7_in_rule__RefinedState__Group__632420);
+            pushFollow(FOLLOW_rule__RefinedState__Group__7_in_rule__RefinedState__Group__632112);
             rule__RefinedState__Group__7();
 
             state._fsp--;
@@ -44085,31 +43849,31 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15929:1: rule__RefinedState__Group__6__Impl : ( ( rule__RefinedState__Group_6__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15773:1: rule__RefinedState__Group__6__Impl : ( ( rule__RefinedState__Group_6__0 )? ) ;
     public final void rule__RefinedState__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15933:1: ( ( ( rule__RefinedState__Group_6__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15934:1: ( ( rule__RefinedState__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15777:1: ( ( ( rule__RefinedState__Group_6__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15778:1: ( ( rule__RefinedState__Group_6__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15934:1: ( ( rule__RefinedState__Group_6__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15935:1: ( rule__RefinedState__Group_6__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15778:1: ( ( rule__RefinedState__Group_6__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15779:1: ( rule__RefinedState__Group_6__0 )?
             {
              before(grammarAccess.getRefinedStateAccess().getGroup_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15936:1: ( rule__RefinedState__Group_6__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15780:1: ( rule__RefinedState__Group_6__0 )?
             int alt158=2;
             int LA158_0 = input.LA(1);
 
-            if ( (LA158_0==96) ) {
+            if ( (LA158_0==97) ) {
                 alt158=1;
             }
             switch (alt158) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15936:2: rule__RefinedState__Group_6__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15780:2: rule__RefinedState__Group_6__0
                     {
-                    pushFollow(FOLLOW_rule__RefinedState__Group_6__0_in_rule__RefinedState__Group__6__Impl32447);
+                    pushFollow(FOLLOW_rule__RefinedState__Group_6__0_in_rule__RefinedState__Group__6__Impl32139);
                     rule__RefinedState__Group_6__0();
 
                     state._fsp--;
@@ -44143,21 +43907,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15946:1: rule__RefinedState__Group__7 : rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15790:1: rule__RefinedState__Group__7 : rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8 ;
     public final void rule__RefinedState__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15950:1: ( rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15951:2: rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15794:1: ( rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15795:2: rule__RefinedState__Group__7__Impl rule__RefinedState__Group__8
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__7__Impl_in_rule__RefinedState__Group__732478);
+            pushFollow(FOLLOW_rule__RefinedState__Group__7__Impl_in_rule__RefinedState__Group__732170);
             rule__RefinedState__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group__8_in_rule__RefinedState__Group__732481);
+            pushFollow(FOLLOW_rule__RefinedState__Group__8_in_rule__RefinedState__Group__732173);
             rule__RefinedState__Group__8();
 
             state._fsp--;
@@ -44181,31 +43945,31 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15958:1: rule__RefinedState__Group__7__Impl : ( ( rule__RefinedState__Group_7__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15802:1: rule__RefinedState__Group__7__Impl : ( ( rule__RefinedState__Group_7__0 )? ) ;
     public final void rule__RefinedState__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15962:1: ( ( ( rule__RefinedState__Group_7__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15963:1: ( ( rule__RefinedState__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15806:1: ( ( ( rule__RefinedState__Group_7__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15807:1: ( ( rule__RefinedState__Group_7__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15963:1: ( ( rule__RefinedState__Group_7__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15964:1: ( rule__RefinedState__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15807:1: ( ( rule__RefinedState__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15808:1: ( rule__RefinedState__Group_7__0 )?
             {
              before(grammarAccess.getRefinedStateAccess().getGroup_7()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15965:1: ( rule__RefinedState__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15809:1: ( rule__RefinedState__Group_7__0 )?
             int alt159=2;
             int LA159_0 = input.LA(1);
 
-            if ( (LA159_0==97) ) {
+            if ( (LA159_0==98) ) {
                 alt159=1;
             }
             switch (alt159) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15965:2: rule__RefinedState__Group_7__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15809:2: rule__RefinedState__Group_7__0
                     {
-                    pushFollow(FOLLOW_rule__RefinedState__Group_7__0_in_rule__RefinedState__Group__7__Impl32508);
+                    pushFollow(FOLLOW_rule__RefinedState__Group_7__0_in_rule__RefinedState__Group__7__Impl32200);
                     rule__RefinedState__Group_7__0();
 
                     state._fsp--;
@@ -44239,16 +44003,16 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15975:1: rule__RefinedState__Group__8 : rule__RefinedState__Group__8__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15819:1: rule__RefinedState__Group__8 : rule__RefinedState__Group__8__Impl ;
     public final void rule__RefinedState__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15979:1: ( rule__RefinedState__Group__8__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15980:2: rule__RefinedState__Group__8__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15823:1: ( rule__RefinedState__Group__8__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15824:2: rule__RefinedState__Group__8__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group__8__Impl_in_rule__RefinedState__Group__832539);
+            pushFollow(FOLLOW_rule__RefinedState__Group__8__Impl_in_rule__RefinedState__Group__832231);
             rule__RefinedState__Group__8__Impl();
 
             state._fsp--;
@@ -44272,20 +44036,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group__8__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15986:1: rule__RefinedState__Group__8__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15830:1: rule__RefinedState__Group__8__Impl : ( '}' ) ;
     public final void rule__RefinedState__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15990:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15991:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15834:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15835:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15991:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15992:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15835:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15836:1: '}'
             {
              before(grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_8()); 
-            match(input,41,FOLLOW_41_in_rule__RefinedState__Group__8__Impl32567); 
+            match(input,42,FOLLOW_42_in_rule__RefinedState__Group__8__Impl32259); 
              after(grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_8()); 
 
             }
@@ -44309,21 +44073,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_4__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16023:1: rule__RefinedState__Group_4__0 : rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15867:1: rule__RefinedState__Group_4__0 : rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1 ;
     public final void rule__RefinedState__Group_4__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16027:1: ( rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16028:2: rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15871:1: ( rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15872:2: rule__RefinedState__Group_4__0__Impl rule__RefinedState__Group_4__1
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_4__0__Impl_in_rule__RefinedState__Group_4__032616);
+            pushFollow(FOLLOW_rule__RefinedState__Group_4__0__Impl_in_rule__RefinedState__Group_4__032308);
             rule__RefinedState__Group_4__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group_4__1_in_rule__RefinedState__Group_4__032619);
+            pushFollow(FOLLOW_rule__RefinedState__Group_4__1_in_rule__RefinedState__Group_4__032311);
             rule__RefinedState__Group_4__1();
 
             state._fsp--;
@@ -44347,20 +44111,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_4__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16035:1: rule__RefinedState__Group_4__0__Impl : ( 'entry' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15879:1: rule__RefinedState__Group_4__0__Impl : ( 'entry' ) ;
     public final void rule__RefinedState__Group_4__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16039:1: ( ( 'entry' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16040:1: ( 'entry' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15883:1: ( ( 'entry' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15884:1: ( 'entry' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16040:1: ( 'entry' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16041:1: 'entry'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15884:1: ( 'entry' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15885:1: 'entry'
             {
              before(grammarAccess.getRefinedStateAccess().getEntryKeyword_4_0()); 
-            match(input,94,FOLLOW_94_in_rule__RefinedState__Group_4__0__Impl32647); 
+            match(input,95,FOLLOW_95_in_rule__RefinedState__Group_4__0__Impl32339); 
              after(grammarAccess.getRefinedStateAccess().getEntryKeyword_4_0()); 
 
             }
@@ -44384,16 +44148,16 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_4__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16054:1: rule__RefinedState__Group_4__1 : rule__RefinedState__Group_4__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15898:1: rule__RefinedState__Group_4__1 : rule__RefinedState__Group_4__1__Impl ;
     public final void rule__RefinedState__Group_4__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16058:1: ( rule__RefinedState__Group_4__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16059:2: rule__RefinedState__Group_4__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15902:1: ( rule__RefinedState__Group_4__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15903:2: rule__RefinedState__Group_4__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_4__1__Impl_in_rule__RefinedState__Group_4__132678);
+            pushFollow(FOLLOW_rule__RefinedState__Group_4__1__Impl_in_rule__RefinedState__Group_4__132370);
             rule__RefinedState__Group_4__1__Impl();
 
             state._fsp--;
@@ -44417,23 +44181,23 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_4__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16065:1: rule__RefinedState__Group_4__1__Impl : ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15909:1: rule__RefinedState__Group_4__1__Impl : ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) ) ;
     public final void rule__RefinedState__Group_4__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16069:1: ( ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16070:1: ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15913:1: ( ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15914:1: ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16070:1: ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16071:1: ( rule__RefinedState__EntryCodeAssignment_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15914:1: ( ( rule__RefinedState__EntryCodeAssignment_4_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15915:1: ( rule__RefinedState__EntryCodeAssignment_4_1 )
             {
              before(grammarAccess.getRefinedStateAccess().getEntryCodeAssignment_4_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16072:1: ( rule__RefinedState__EntryCodeAssignment_4_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16072:2: rule__RefinedState__EntryCodeAssignment_4_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15916:1: ( rule__RefinedState__EntryCodeAssignment_4_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15916:2: rule__RefinedState__EntryCodeAssignment_4_1
             {
-            pushFollow(FOLLOW_rule__RefinedState__EntryCodeAssignment_4_1_in_rule__RefinedState__Group_4__1__Impl32705);
+            pushFollow(FOLLOW_rule__RefinedState__EntryCodeAssignment_4_1_in_rule__RefinedState__Group_4__1__Impl32397);
             rule__RefinedState__EntryCodeAssignment_4_1();
 
             state._fsp--;
@@ -44464,21 +44228,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_5__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16086:1: rule__RefinedState__Group_5__0 : rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15930:1: rule__RefinedState__Group_5__0 : rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1 ;
     public final void rule__RefinedState__Group_5__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16090:1: ( rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16091:2: rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15934:1: ( rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15935:2: rule__RefinedState__Group_5__0__Impl rule__RefinedState__Group_5__1
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_5__0__Impl_in_rule__RefinedState__Group_5__032739);
+            pushFollow(FOLLOW_rule__RefinedState__Group_5__0__Impl_in_rule__RefinedState__Group_5__032431);
             rule__RefinedState__Group_5__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group_5__1_in_rule__RefinedState__Group_5__032742);
+            pushFollow(FOLLOW_rule__RefinedState__Group_5__1_in_rule__RefinedState__Group_5__032434);
             rule__RefinedState__Group_5__1();
 
             state._fsp--;
@@ -44502,20 +44266,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_5__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16098:1: rule__RefinedState__Group_5__0__Impl : ( 'exit' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15942:1: rule__RefinedState__Group_5__0__Impl : ( 'exit' ) ;
     public final void rule__RefinedState__Group_5__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16102:1: ( ( 'exit' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16103:1: ( 'exit' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15946:1: ( ( 'exit' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15947:1: ( 'exit' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16103:1: ( 'exit' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16104:1: 'exit'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15947:1: ( 'exit' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15948:1: 'exit'
             {
              before(grammarAccess.getRefinedStateAccess().getExitKeyword_5_0()); 
-            match(input,95,FOLLOW_95_in_rule__RefinedState__Group_5__0__Impl32770); 
+            match(input,96,FOLLOW_96_in_rule__RefinedState__Group_5__0__Impl32462); 
              after(grammarAccess.getRefinedStateAccess().getExitKeyword_5_0()); 
 
             }
@@ -44539,16 +44303,16 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_5__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16117:1: rule__RefinedState__Group_5__1 : rule__RefinedState__Group_5__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15961:1: rule__RefinedState__Group_5__1 : rule__RefinedState__Group_5__1__Impl ;
     public final void rule__RefinedState__Group_5__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16121:1: ( rule__RefinedState__Group_5__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16122:2: rule__RefinedState__Group_5__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15965:1: ( rule__RefinedState__Group_5__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15966:2: rule__RefinedState__Group_5__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_5__1__Impl_in_rule__RefinedState__Group_5__132801);
+            pushFollow(FOLLOW_rule__RefinedState__Group_5__1__Impl_in_rule__RefinedState__Group_5__132493);
             rule__RefinedState__Group_5__1__Impl();
 
             state._fsp--;
@@ -44572,23 +44336,23 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_5__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16128:1: rule__RefinedState__Group_5__1__Impl : ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15972:1: rule__RefinedState__Group_5__1__Impl : ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) ) ;
     public final void rule__RefinedState__Group_5__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16132:1: ( ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16133:1: ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15976:1: ( ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15977:1: ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16133:1: ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16134:1: ( rule__RefinedState__ExitCodeAssignment_5_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15977:1: ( ( rule__RefinedState__ExitCodeAssignment_5_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15978:1: ( rule__RefinedState__ExitCodeAssignment_5_1 )
             {
              before(grammarAccess.getRefinedStateAccess().getExitCodeAssignment_5_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16135:1: ( rule__RefinedState__ExitCodeAssignment_5_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16135:2: rule__RefinedState__ExitCodeAssignment_5_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15979:1: ( rule__RefinedState__ExitCodeAssignment_5_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15979:2: rule__RefinedState__ExitCodeAssignment_5_1
             {
-            pushFollow(FOLLOW_rule__RefinedState__ExitCodeAssignment_5_1_in_rule__RefinedState__Group_5__1__Impl32828);
+            pushFollow(FOLLOW_rule__RefinedState__ExitCodeAssignment_5_1_in_rule__RefinedState__Group_5__1__Impl32520);
             rule__RefinedState__ExitCodeAssignment_5_1();
 
             state._fsp--;
@@ -44619,21 +44383,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_6__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16149:1: rule__RefinedState__Group_6__0 : rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15993:1: rule__RefinedState__Group_6__0 : rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1 ;
     public final void rule__RefinedState__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16153:1: ( rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16154:2: rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15997:1: ( rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:15998:2: rule__RefinedState__Group_6__0__Impl rule__RefinedState__Group_6__1
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_6__0__Impl_in_rule__RefinedState__Group_6__032862);
+            pushFollow(FOLLOW_rule__RefinedState__Group_6__0__Impl_in_rule__RefinedState__Group_6__032554);
             rule__RefinedState__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group_6__1_in_rule__RefinedState__Group_6__032865);
+            pushFollow(FOLLOW_rule__RefinedState__Group_6__1_in_rule__RefinedState__Group_6__032557);
             rule__RefinedState__Group_6__1();
 
             state._fsp--;
@@ -44657,20 +44421,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16161:1: rule__RefinedState__Group_6__0__Impl : ( 'do' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16005:1: rule__RefinedState__Group_6__0__Impl : ( 'do' ) ;
     public final void rule__RefinedState__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16165:1: ( ( 'do' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16166:1: ( 'do' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16009:1: ( ( 'do' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16010:1: ( 'do' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16166:1: ( 'do' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16167:1: 'do'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16010:1: ( 'do' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16011:1: 'do'
             {
              before(grammarAccess.getRefinedStateAccess().getDoKeyword_6_0()); 
-            match(input,96,FOLLOW_96_in_rule__RefinedState__Group_6__0__Impl32893); 
+            match(input,97,FOLLOW_97_in_rule__RefinedState__Group_6__0__Impl32585); 
              after(grammarAccess.getRefinedStateAccess().getDoKeyword_6_0()); 
 
             }
@@ -44694,16 +44458,16 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_6__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16180:1: rule__RefinedState__Group_6__1 : rule__RefinedState__Group_6__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16024:1: rule__RefinedState__Group_6__1 : rule__RefinedState__Group_6__1__Impl ;
     public final void rule__RefinedState__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16184:1: ( rule__RefinedState__Group_6__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16185:2: rule__RefinedState__Group_6__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16028:1: ( rule__RefinedState__Group_6__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16029:2: rule__RefinedState__Group_6__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_6__1__Impl_in_rule__RefinedState__Group_6__132924);
+            pushFollow(FOLLOW_rule__RefinedState__Group_6__1__Impl_in_rule__RefinedState__Group_6__132616);
             rule__RefinedState__Group_6__1__Impl();
 
             state._fsp--;
@@ -44727,23 +44491,23 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16191:1: rule__RefinedState__Group_6__1__Impl : ( ( rule__RefinedState__DoCodeAssignment_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16035:1: rule__RefinedState__Group_6__1__Impl : ( ( rule__RefinedState__DoCodeAssignment_6_1 ) ) ;
     public final void rule__RefinedState__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16195:1: ( ( ( rule__RefinedState__DoCodeAssignment_6_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16196:1: ( ( rule__RefinedState__DoCodeAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16039:1: ( ( ( rule__RefinedState__DoCodeAssignment_6_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16040:1: ( ( rule__RefinedState__DoCodeAssignment_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16196:1: ( ( rule__RefinedState__DoCodeAssignment_6_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16197:1: ( rule__RefinedState__DoCodeAssignment_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16040:1: ( ( rule__RefinedState__DoCodeAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16041:1: ( rule__RefinedState__DoCodeAssignment_6_1 )
             {
              before(grammarAccess.getRefinedStateAccess().getDoCodeAssignment_6_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16198:1: ( rule__RefinedState__DoCodeAssignment_6_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16198:2: rule__RefinedState__DoCodeAssignment_6_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16042:1: ( rule__RefinedState__DoCodeAssignment_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16042:2: rule__RefinedState__DoCodeAssignment_6_1
             {
-            pushFollow(FOLLOW_rule__RefinedState__DoCodeAssignment_6_1_in_rule__RefinedState__Group_6__1__Impl32951);
+            pushFollow(FOLLOW_rule__RefinedState__DoCodeAssignment_6_1_in_rule__RefinedState__Group_6__1__Impl32643);
             rule__RefinedState__DoCodeAssignment_6_1();
 
             state._fsp--;
@@ -44774,21 +44538,21 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_7__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16212:1: rule__RefinedState__Group_7__0 : rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16056:1: rule__RefinedState__Group_7__0 : rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1 ;
     public final void rule__RefinedState__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16216:1: ( rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16217:2: rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16060:1: ( rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16061:2: rule__RefinedState__Group_7__0__Impl rule__RefinedState__Group_7__1
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_7__0__Impl_in_rule__RefinedState__Group_7__032985);
+            pushFollow(FOLLOW_rule__RefinedState__Group_7__0__Impl_in_rule__RefinedState__Group_7__032677);
             rule__RefinedState__Group_7__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedState__Group_7__1_in_rule__RefinedState__Group_7__032988);
+            pushFollow(FOLLOW_rule__RefinedState__Group_7__1_in_rule__RefinedState__Group_7__032680);
             rule__RefinedState__Group_7__1();
 
             state._fsp--;
@@ -44812,20 +44576,20 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_7__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16224:1: rule__RefinedState__Group_7__0__Impl : ( 'subgraph' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16068:1: rule__RefinedState__Group_7__0__Impl : ( 'subgraph' ) ;
     public final void rule__RefinedState__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16228:1: ( ( 'subgraph' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16229:1: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16072:1: ( ( 'subgraph' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16073:1: ( 'subgraph' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16229:1: ( 'subgraph' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16230:1: 'subgraph'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16073:1: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16074:1: 'subgraph'
             {
              before(grammarAccess.getRefinedStateAccess().getSubgraphKeyword_7_0()); 
-            match(input,97,FOLLOW_97_in_rule__RefinedState__Group_7__0__Impl33016); 
+            match(input,98,FOLLOW_98_in_rule__RefinedState__Group_7__0__Impl32708); 
              after(grammarAccess.getRefinedStateAccess().getSubgraphKeyword_7_0()); 
 
             }
@@ -44849,16 +44613,16 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_7__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16243:1: rule__RefinedState__Group_7__1 : rule__RefinedState__Group_7__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16087:1: rule__RefinedState__Group_7__1 : rule__RefinedState__Group_7__1__Impl ;
     public final void rule__RefinedState__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16247:1: ( rule__RefinedState__Group_7__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16248:2: rule__RefinedState__Group_7__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16091:1: ( rule__RefinedState__Group_7__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16092:2: rule__RefinedState__Group_7__1__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedState__Group_7__1__Impl_in_rule__RefinedState__Group_7__133047);
+            pushFollow(FOLLOW_rule__RefinedState__Group_7__1__Impl_in_rule__RefinedState__Group_7__132739);
             rule__RefinedState__Group_7__1__Impl();
 
             state._fsp--;
@@ -44882,23 +44646,23 @@
 
 
     // $ANTLR start "rule__RefinedState__Group_7__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16254:1: rule__RefinedState__Group_7__1__Impl : ( ( rule__RefinedState__SubgraphAssignment_7_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16098:1: rule__RefinedState__Group_7__1__Impl : ( ( rule__RefinedState__SubgraphAssignment_7_1 ) ) ;
     public final void rule__RefinedState__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16258:1: ( ( ( rule__RefinedState__SubgraphAssignment_7_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16259:1: ( ( rule__RefinedState__SubgraphAssignment_7_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16102:1: ( ( ( rule__RefinedState__SubgraphAssignment_7_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16103:1: ( ( rule__RefinedState__SubgraphAssignment_7_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16259:1: ( ( rule__RefinedState__SubgraphAssignment_7_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16260:1: ( rule__RefinedState__SubgraphAssignment_7_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16103:1: ( ( rule__RefinedState__SubgraphAssignment_7_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16104:1: ( rule__RefinedState__SubgraphAssignment_7_1 )
             {
              before(grammarAccess.getRefinedStateAccess().getSubgraphAssignment_7_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16261:1: ( rule__RefinedState__SubgraphAssignment_7_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16261:2: rule__RefinedState__SubgraphAssignment_7_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16105:1: ( rule__RefinedState__SubgraphAssignment_7_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16105:2: rule__RefinedState__SubgraphAssignment_7_1
             {
-            pushFollow(FOLLOW_rule__RefinedState__SubgraphAssignment_7_1_in_rule__RefinedState__Group_7__1__Impl33074);
+            pushFollow(FOLLOW_rule__RefinedState__SubgraphAssignment_7_1_in_rule__RefinedState__Group_7__1__Impl32766);
             rule__RefinedState__SubgraphAssignment_7_1();
 
             state._fsp--;
@@ -44929,21 +44693,21 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16275:1: rule__DetailCode__Group__0 : rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16119:1: rule__DetailCode__Group__0 : rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1 ;
     public final void rule__DetailCode__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16279:1: ( rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16280:2: rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16123:1: ( rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16124:2: rule__DetailCode__Group__0__Impl rule__DetailCode__Group__1
             {
-            pushFollow(FOLLOW_rule__DetailCode__Group__0__Impl_in_rule__DetailCode__Group__033108);
+            pushFollow(FOLLOW_rule__DetailCode__Group__0__Impl_in_rule__DetailCode__Group__032800);
             rule__DetailCode__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DetailCode__Group__1_in_rule__DetailCode__Group__033111);
+            pushFollow(FOLLOW_rule__DetailCode__Group__1_in_rule__DetailCode__Group__032803);
             rule__DetailCode__Group__1();
 
             state._fsp--;
@@ -44967,21 +44731,21 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16287:1: rule__DetailCode__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16131:1: rule__DetailCode__Group__0__Impl : ( () ) ;
     public final void rule__DetailCode__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16291:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16292:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16135:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16136:1: ( () )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16292:1: ( () )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16293:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16136:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16137:1: ()
             {
              before(grammarAccess.getDetailCodeAccess().getDetailCodeAction_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16294:1: ()
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16296:1: 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16138:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16140:1: 
             {
             }
 
@@ -45004,21 +44768,21 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16306:1: rule__DetailCode__Group__1 : rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16150:1: rule__DetailCode__Group__1 : rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2 ;
     public final void rule__DetailCode__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16310:1: ( rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16311:2: rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16154:1: ( rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16155:2: rule__DetailCode__Group__1__Impl rule__DetailCode__Group__2
             {
-            pushFollow(FOLLOW_rule__DetailCode__Group__1__Impl_in_rule__DetailCode__Group__133169);
+            pushFollow(FOLLOW_rule__DetailCode__Group__1__Impl_in_rule__DetailCode__Group__132861);
             rule__DetailCode__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DetailCode__Group__2_in_rule__DetailCode__Group__133172);
+            pushFollow(FOLLOW_rule__DetailCode__Group__2_in_rule__DetailCode__Group__132864);
             rule__DetailCode__Group__2();
 
             state._fsp--;
@@ -45042,23 +44806,23 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16318:1: rule__DetailCode__Group__1__Impl : ( ( rule__DetailCode__UsedAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16162:1: rule__DetailCode__Group__1__Impl : ( ( rule__DetailCode__UsedAssignment_1 ) ) ;
     public final void rule__DetailCode__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16322:1: ( ( ( rule__DetailCode__UsedAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16323:1: ( ( rule__DetailCode__UsedAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16166:1: ( ( ( rule__DetailCode__UsedAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16167:1: ( ( rule__DetailCode__UsedAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16323:1: ( ( rule__DetailCode__UsedAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16324:1: ( rule__DetailCode__UsedAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16167:1: ( ( rule__DetailCode__UsedAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16168:1: ( rule__DetailCode__UsedAssignment_1 )
             {
              before(grammarAccess.getDetailCodeAccess().getUsedAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16325:1: ( rule__DetailCode__UsedAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16325:2: rule__DetailCode__UsedAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16169:1: ( rule__DetailCode__UsedAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16169:2: rule__DetailCode__UsedAssignment_1
             {
-            pushFollow(FOLLOW_rule__DetailCode__UsedAssignment_1_in_rule__DetailCode__Group__1__Impl33199);
+            pushFollow(FOLLOW_rule__DetailCode__UsedAssignment_1_in_rule__DetailCode__Group__1__Impl32891);
             rule__DetailCode__UsedAssignment_1();
 
             state._fsp--;
@@ -45089,21 +44853,21 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16335:1: rule__DetailCode__Group__2 : rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16179:1: rule__DetailCode__Group__2 : rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3 ;
     public final void rule__DetailCode__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16339:1: ( rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16340:2: rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16183:1: ( rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16184:2: rule__DetailCode__Group__2__Impl rule__DetailCode__Group__3
             {
-            pushFollow(FOLLOW_rule__DetailCode__Group__2__Impl_in_rule__DetailCode__Group__233229);
+            pushFollow(FOLLOW_rule__DetailCode__Group__2__Impl_in_rule__DetailCode__Group__232921);
             rule__DetailCode__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DetailCode__Group__3_in_rule__DetailCode__Group__233232);
+            pushFollow(FOLLOW_rule__DetailCode__Group__3_in_rule__DetailCode__Group__232924);
             rule__DetailCode__Group__3();
 
             state._fsp--;
@@ -45127,20 +44891,20 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16347:1: rule__DetailCode__Group__2__Impl : ( ( rule__DetailCode__LinesAssignment_2 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16191:1: rule__DetailCode__Group__2__Impl : ( ( rule__DetailCode__LinesAssignment_2 )* ) ;
     public final void rule__DetailCode__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16351:1: ( ( ( rule__DetailCode__LinesAssignment_2 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16352:1: ( ( rule__DetailCode__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16195:1: ( ( ( rule__DetailCode__LinesAssignment_2 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16196:1: ( ( rule__DetailCode__LinesAssignment_2 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16352:1: ( ( rule__DetailCode__LinesAssignment_2 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16353:1: ( rule__DetailCode__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16196:1: ( ( rule__DetailCode__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16197:1: ( rule__DetailCode__LinesAssignment_2 )*
             {
              before(grammarAccess.getDetailCodeAccess().getLinesAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16354:1: ( rule__DetailCode__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16198:1: ( rule__DetailCode__LinesAssignment_2 )*
             loop160:
             do {
                 int alt160=2;
@@ -45153,9 +44917,9 @@
 
                 switch (alt160) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16354:2: rule__DetailCode__LinesAssignment_2
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16198:2: rule__DetailCode__LinesAssignment_2
             	    {
-            	    pushFollow(FOLLOW_rule__DetailCode__LinesAssignment_2_in_rule__DetailCode__Group__2__Impl33259);
+            	    pushFollow(FOLLOW_rule__DetailCode__LinesAssignment_2_in_rule__DetailCode__Group__2__Impl32951);
             	    rule__DetailCode__LinesAssignment_2();
 
             	    state._fsp--;
@@ -45192,16 +44956,16 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16364:1: rule__DetailCode__Group__3 : rule__DetailCode__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16208:1: rule__DetailCode__Group__3 : rule__DetailCode__Group__3__Impl ;
     public final void rule__DetailCode__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16368:1: ( rule__DetailCode__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16369:2: rule__DetailCode__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16212:1: ( rule__DetailCode__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16213:2: rule__DetailCode__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__DetailCode__Group__3__Impl_in_rule__DetailCode__Group__333290);
+            pushFollow(FOLLOW_rule__DetailCode__Group__3__Impl_in_rule__DetailCode__Group__332982);
             rule__DetailCode__Group__3__Impl();
 
             state._fsp--;
@@ -45225,20 +44989,20 @@
 
 
     // $ANTLR start "rule__DetailCode__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16375:1: rule__DetailCode__Group__3__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16219:1: rule__DetailCode__Group__3__Impl : ( '}' ) ;
     public final void rule__DetailCode__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16379:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16380:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16223:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16224:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16380:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16381:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16224:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16225:1: '}'
             {
              before(grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_3()); 
-            match(input,41,FOLLOW_41_in_rule__DetailCode__Group__3__Impl33318); 
+            match(input,42,FOLLOW_42_in_rule__DetailCode__Group__3__Impl33010); 
              after(grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_3()); 
 
             }
@@ -45262,21 +45026,21 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16402:1: rule__TransitionPoint__Group__0 : rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16246:1: rule__TransitionPoint__Group__0 : rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1 ;
     public final void rule__TransitionPoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16406:1: ( rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16407:2: rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16250:1: ( rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16251:2: rule__TransitionPoint__Group__0__Impl rule__TransitionPoint__Group__1
             {
-            pushFollow(FOLLOW_rule__TransitionPoint__Group__0__Impl_in_rule__TransitionPoint__Group__033357);
+            pushFollow(FOLLOW_rule__TransitionPoint__Group__0__Impl_in_rule__TransitionPoint__Group__033049);
             rule__TransitionPoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TransitionPoint__Group__1_in_rule__TransitionPoint__Group__033360);
+            pushFollow(FOLLOW_rule__TransitionPoint__Group__1_in_rule__TransitionPoint__Group__033052);
             rule__TransitionPoint__Group__1();
 
             state._fsp--;
@@ -45300,31 +45064,31 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16414:1: rule__TransitionPoint__Group__0__Impl : ( ( rule__TransitionPoint__HandlerAssignment_0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16258:1: rule__TransitionPoint__Group__0__Impl : ( ( rule__TransitionPoint__HandlerAssignment_0 )? ) ;
     public final void rule__TransitionPoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16418:1: ( ( ( rule__TransitionPoint__HandlerAssignment_0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16419:1: ( ( rule__TransitionPoint__HandlerAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16262:1: ( ( ( rule__TransitionPoint__HandlerAssignment_0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16263:1: ( ( rule__TransitionPoint__HandlerAssignment_0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16419:1: ( ( rule__TransitionPoint__HandlerAssignment_0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16420:1: ( rule__TransitionPoint__HandlerAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16263:1: ( ( rule__TransitionPoint__HandlerAssignment_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16264:1: ( rule__TransitionPoint__HandlerAssignment_0 )?
             {
              before(grammarAccess.getTransitionPointAccess().getHandlerAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16421:1: ( rule__TransitionPoint__HandlerAssignment_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16265:1: ( rule__TransitionPoint__HandlerAssignment_0 )?
             int alt161=2;
             int LA161_0 = input.LA(1);
 
-            if ( (LA161_0==129) ) {
+            if ( (LA161_0==130) ) {
                 alt161=1;
             }
             switch (alt161) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16421:2: rule__TransitionPoint__HandlerAssignment_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16265:2: rule__TransitionPoint__HandlerAssignment_0
                     {
-                    pushFollow(FOLLOW_rule__TransitionPoint__HandlerAssignment_0_in_rule__TransitionPoint__Group__0__Impl33387);
+                    pushFollow(FOLLOW_rule__TransitionPoint__HandlerAssignment_0_in_rule__TransitionPoint__Group__0__Impl33079);
                     rule__TransitionPoint__HandlerAssignment_0();
 
                     state._fsp--;
@@ -45358,21 +45122,21 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16431:1: rule__TransitionPoint__Group__1 : rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16275:1: rule__TransitionPoint__Group__1 : rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2 ;
     public final void rule__TransitionPoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16435:1: ( rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16436:2: rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16279:1: ( rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16280:2: rule__TransitionPoint__Group__1__Impl rule__TransitionPoint__Group__2
             {
-            pushFollow(FOLLOW_rule__TransitionPoint__Group__1__Impl_in_rule__TransitionPoint__Group__133418);
+            pushFollow(FOLLOW_rule__TransitionPoint__Group__1__Impl_in_rule__TransitionPoint__Group__133110);
             rule__TransitionPoint__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TransitionPoint__Group__2_in_rule__TransitionPoint__Group__133421);
+            pushFollow(FOLLOW_rule__TransitionPoint__Group__2_in_rule__TransitionPoint__Group__133113);
             rule__TransitionPoint__Group__2();
 
             state._fsp--;
@@ -45396,20 +45160,20 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16443:1: rule__TransitionPoint__Group__1__Impl : ( 'TransitionPoint' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16287:1: rule__TransitionPoint__Group__1__Impl : ( 'TransitionPoint' ) ;
     public final void rule__TransitionPoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16447:1: ( ( 'TransitionPoint' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16448:1: ( 'TransitionPoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16291:1: ( ( 'TransitionPoint' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16292:1: ( 'TransitionPoint' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16448:1: ( 'TransitionPoint' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16449:1: 'TransitionPoint'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16292:1: ( 'TransitionPoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16293:1: 'TransitionPoint'
             {
              before(grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1()); 
-            match(input,99,FOLLOW_99_in_rule__TransitionPoint__Group__1__Impl33449); 
+            match(input,100,FOLLOW_100_in_rule__TransitionPoint__Group__1__Impl33141); 
              after(grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1()); 
 
             }
@@ -45433,16 +45197,16 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16462:1: rule__TransitionPoint__Group__2 : rule__TransitionPoint__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16306:1: rule__TransitionPoint__Group__2 : rule__TransitionPoint__Group__2__Impl ;
     public final void rule__TransitionPoint__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16466:1: ( rule__TransitionPoint__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16467:2: rule__TransitionPoint__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16310:1: ( rule__TransitionPoint__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16311:2: rule__TransitionPoint__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__TransitionPoint__Group__2__Impl_in_rule__TransitionPoint__Group__233480);
+            pushFollow(FOLLOW_rule__TransitionPoint__Group__2__Impl_in_rule__TransitionPoint__Group__233172);
             rule__TransitionPoint__Group__2__Impl();
 
             state._fsp--;
@@ -45466,23 +45230,23 @@
 
 
     // $ANTLR start "rule__TransitionPoint__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16473:1: rule__TransitionPoint__Group__2__Impl : ( ( rule__TransitionPoint__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16317:1: rule__TransitionPoint__Group__2__Impl : ( ( rule__TransitionPoint__NameAssignment_2 ) ) ;
     public final void rule__TransitionPoint__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16477:1: ( ( ( rule__TransitionPoint__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16478:1: ( ( rule__TransitionPoint__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16321:1: ( ( ( rule__TransitionPoint__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16322:1: ( ( rule__TransitionPoint__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16478:1: ( ( rule__TransitionPoint__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16479:1: ( rule__TransitionPoint__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16322:1: ( ( rule__TransitionPoint__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16323:1: ( rule__TransitionPoint__NameAssignment_2 )
             {
              before(grammarAccess.getTransitionPointAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16480:1: ( rule__TransitionPoint__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16480:2: rule__TransitionPoint__NameAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16324:1: ( rule__TransitionPoint__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16324:2: rule__TransitionPoint__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__TransitionPoint__NameAssignment_2_in_rule__TransitionPoint__Group__2__Impl33507);
+            pushFollow(FOLLOW_rule__TransitionPoint__NameAssignment_2_in_rule__TransitionPoint__Group__2__Impl33199);
             rule__TransitionPoint__NameAssignment_2();
 
             state._fsp--;
@@ -45513,21 +45277,21 @@
 
 
     // $ANTLR start "rule__EntryPoint__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16496:1: rule__EntryPoint__Group__0 : rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16340:1: rule__EntryPoint__Group__0 : rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1 ;
     public final void rule__EntryPoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16500:1: ( rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16501:2: rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16344:1: ( rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16345:2: rule__EntryPoint__Group__0__Impl rule__EntryPoint__Group__1
             {
-            pushFollow(FOLLOW_rule__EntryPoint__Group__0__Impl_in_rule__EntryPoint__Group__033543);
+            pushFollow(FOLLOW_rule__EntryPoint__Group__0__Impl_in_rule__EntryPoint__Group__033235);
             rule__EntryPoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EntryPoint__Group__1_in_rule__EntryPoint__Group__033546);
+            pushFollow(FOLLOW_rule__EntryPoint__Group__1_in_rule__EntryPoint__Group__033238);
             rule__EntryPoint__Group__1();
 
             state._fsp--;
@@ -45551,20 +45315,20 @@
 
 
     // $ANTLR start "rule__EntryPoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16508:1: rule__EntryPoint__Group__0__Impl : ( 'EntryPoint' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16352:1: rule__EntryPoint__Group__0__Impl : ( 'EntryPoint' ) ;
     public final void rule__EntryPoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16512:1: ( ( 'EntryPoint' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16513:1: ( 'EntryPoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16356:1: ( ( 'EntryPoint' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16357:1: ( 'EntryPoint' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16513:1: ( 'EntryPoint' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16514:1: 'EntryPoint'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16357:1: ( 'EntryPoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16358:1: 'EntryPoint'
             {
              before(grammarAccess.getEntryPointAccess().getEntryPointKeyword_0()); 
-            match(input,100,FOLLOW_100_in_rule__EntryPoint__Group__0__Impl33574); 
+            match(input,101,FOLLOW_101_in_rule__EntryPoint__Group__0__Impl33266); 
              after(grammarAccess.getEntryPointAccess().getEntryPointKeyword_0()); 
 
             }
@@ -45588,16 +45352,16 @@
 
 
     // $ANTLR start "rule__EntryPoint__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16527:1: rule__EntryPoint__Group__1 : rule__EntryPoint__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16371:1: rule__EntryPoint__Group__1 : rule__EntryPoint__Group__1__Impl ;
     public final void rule__EntryPoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16531:1: ( rule__EntryPoint__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16532:2: rule__EntryPoint__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16375:1: ( rule__EntryPoint__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16376:2: rule__EntryPoint__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__EntryPoint__Group__1__Impl_in_rule__EntryPoint__Group__133605);
+            pushFollow(FOLLOW_rule__EntryPoint__Group__1__Impl_in_rule__EntryPoint__Group__133297);
             rule__EntryPoint__Group__1__Impl();
 
             state._fsp--;
@@ -45621,23 +45385,23 @@
 
 
     // $ANTLR start "rule__EntryPoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16538:1: rule__EntryPoint__Group__1__Impl : ( ( rule__EntryPoint__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16382:1: rule__EntryPoint__Group__1__Impl : ( ( rule__EntryPoint__NameAssignment_1 ) ) ;
     public final void rule__EntryPoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16542:1: ( ( ( rule__EntryPoint__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16543:1: ( ( rule__EntryPoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16386:1: ( ( ( rule__EntryPoint__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16387:1: ( ( rule__EntryPoint__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16543:1: ( ( rule__EntryPoint__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16544:1: ( rule__EntryPoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16387:1: ( ( rule__EntryPoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16388:1: ( rule__EntryPoint__NameAssignment_1 )
             {
              before(grammarAccess.getEntryPointAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16545:1: ( rule__EntryPoint__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16545:2: rule__EntryPoint__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16389:1: ( rule__EntryPoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16389:2: rule__EntryPoint__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__EntryPoint__NameAssignment_1_in_rule__EntryPoint__Group__1__Impl33632);
+            pushFollow(FOLLOW_rule__EntryPoint__NameAssignment_1_in_rule__EntryPoint__Group__1__Impl33324);
             rule__EntryPoint__NameAssignment_1();
 
             state._fsp--;
@@ -45668,21 +45432,21 @@
 
 
     // $ANTLR start "rule__ExitPoint__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16559:1: rule__ExitPoint__Group__0 : rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16403:1: rule__ExitPoint__Group__0 : rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1 ;
     public final void rule__ExitPoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16563:1: ( rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16564:2: rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16407:1: ( rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16408:2: rule__ExitPoint__Group__0__Impl rule__ExitPoint__Group__1
             {
-            pushFollow(FOLLOW_rule__ExitPoint__Group__0__Impl_in_rule__ExitPoint__Group__033666);
+            pushFollow(FOLLOW_rule__ExitPoint__Group__0__Impl_in_rule__ExitPoint__Group__033358);
             rule__ExitPoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ExitPoint__Group__1_in_rule__ExitPoint__Group__033669);
+            pushFollow(FOLLOW_rule__ExitPoint__Group__1_in_rule__ExitPoint__Group__033361);
             rule__ExitPoint__Group__1();
 
             state._fsp--;
@@ -45706,20 +45470,20 @@
 
 
     // $ANTLR start "rule__ExitPoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16571:1: rule__ExitPoint__Group__0__Impl : ( 'ExitPoint' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16415:1: rule__ExitPoint__Group__0__Impl : ( 'ExitPoint' ) ;
     public final void rule__ExitPoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16575:1: ( ( 'ExitPoint' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16576:1: ( 'ExitPoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16419:1: ( ( 'ExitPoint' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16420:1: ( 'ExitPoint' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16576:1: ( 'ExitPoint' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16577:1: 'ExitPoint'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16420:1: ( 'ExitPoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16421:1: 'ExitPoint'
             {
              before(grammarAccess.getExitPointAccess().getExitPointKeyword_0()); 
-            match(input,101,FOLLOW_101_in_rule__ExitPoint__Group__0__Impl33697); 
+            match(input,102,FOLLOW_102_in_rule__ExitPoint__Group__0__Impl33389); 
              after(grammarAccess.getExitPointAccess().getExitPointKeyword_0()); 
 
             }
@@ -45743,16 +45507,16 @@
 
 
     // $ANTLR start "rule__ExitPoint__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16590:1: rule__ExitPoint__Group__1 : rule__ExitPoint__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16434:1: rule__ExitPoint__Group__1 : rule__ExitPoint__Group__1__Impl ;
     public final void rule__ExitPoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16594:1: ( rule__ExitPoint__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16595:2: rule__ExitPoint__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16438:1: ( rule__ExitPoint__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16439:2: rule__ExitPoint__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ExitPoint__Group__1__Impl_in_rule__ExitPoint__Group__133728);
+            pushFollow(FOLLOW_rule__ExitPoint__Group__1__Impl_in_rule__ExitPoint__Group__133420);
             rule__ExitPoint__Group__1__Impl();
 
             state._fsp--;
@@ -45776,23 +45540,23 @@
 
 
     // $ANTLR start "rule__ExitPoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16601:1: rule__ExitPoint__Group__1__Impl : ( ( rule__ExitPoint__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16445:1: rule__ExitPoint__Group__1__Impl : ( ( rule__ExitPoint__NameAssignment_1 ) ) ;
     public final void rule__ExitPoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16605:1: ( ( ( rule__ExitPoint__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16606:1: ( ( rule__ExitPoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16449:1: ( ( ( rule__ExitPoint__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16450:1: ( ( rule__ExitPoint__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16606:1: ( ( rule__ExitPoint__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16607:1: ( rule__ExitPoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16450:1: ( ( rule__ExitPoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16451:1: ( rule__ExitPoint__NameAssignment_1 )
             {
              before(grammarAccess.getExitPointAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16608:1: ( rule__ExitPoint__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16608:2: rule__ExitPoint__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16452:1: ( rule__ExitPoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16452:2: rule__ExitPoint__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__ExitPoint__NameAssignment_1_in_rule__ExitPoint__Group__1__Impl33755);
+            pushFollow(FOLLOW_rule__ExitPoint__NameAssignment_1_in_rule__ExitPoint__Group__1__Impl33447);
             rule__ExitPoint__NameAssignment_1();
 
             state._fsp--;
@@ -45823,21 +45587,21 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16622:1: rule__ChoicePoint__Group__0 : rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16466:1: rule__ChoicePoint__Group__0 : rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1 ;
     public final void rule__ChoicePoint__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16626:1: ( rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16627:2: rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16470:1: ( rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16471:2: rule__ChoicePoint__Group__0__Impl rule__ChoicePoint__Group__1
             {
-            pushFollow(FOLLOW_rule__ChoicePoint__Group__0__Impl_in_rule__ChoicePoint__Group__033789);
+            pushFollow(FOLLOW_rule__ChoicePoint__Group__0__Impl_in_rule__ChoicePoint__Group__033481);
             rule__ChoicePoint__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ChoicePoint__Group__1_in_rule__ChoicePoint__Group__033792);
+            pushFollow(FOLLOW_rule__ChoicePoint__Group__1_in_rule__ChoicePoint__Group__033484);
             rule__ChoicePoint__Group__1();
 
             state._fsp--;
@@ -45861,20 +45625,20 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16634:1: rule__ChoicePoint__Group__0__Impl : ( 'ChoicePoint' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16478:1: rule__ChoicePoint__Group__0__Impl : ( 'ChoicePoint' ) ;
     public final void rule__ChoicePoint__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16638:1: ( ( 'ChoicePoint' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16639:1: ( 'ChoicePoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16482:1: ( ( 'ChoicePoint' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16483:1: ( 'ChoicePoint' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16639:1: ( 'ChoicePoint' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16640:1: 'ChoicePoint'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16483:1: ( 'ChoicePoint' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16484:1: 'ChoicePoint'
             {
              before(grammarAccess.getChoicePointAccess().getChoicePointKeyword_0()); 
-            match(input,102,FOLLOW_102_in_rule__ChoicePoint__Group__0__Impl33820); 
+            match(input,103,FOLLOW_103_in_rule__ChoicePoint__Group__0__Impl33512); 
              after(grammarAccess.getChoicePointAccess().getChoicePointKeyword_0()); 
 
             }
@@ -45898,21 +45662,21 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16653:1: rule__ChoicePoint__Group__1 : rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16497:1: rule__ChoicePoint__Group__1 : rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2 ;
     public final void rule__ChoicePoint__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16657:1: ( rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16658:2: rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16501:1: ( rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16502:2: rule__ChoicePoint__Group__1__Impl rule__ChoicePoint__Group__2
             {
-            pushFollow(FOLLOW_rule__ChoicePoint__Group__1__Impl_in_rule__ChoicePoint__Group__133851);
+            pushFollow(FOLLOW_rule__ChoicePoint__Group__1__Impl_in_rule__ChoicePoint__Group__133543);
             rule__ChoicePoint__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ChoicePoint__Group__2_in_rule__ChoicePoint__Group__133854);
+            pushFollow(FOLLOW_rule__ChoicePoint__Group__2_in_rule__ChoicePoint__Group__133546);
             rule__ChoicePoint__Group__2();
 
             state._fsp--;
@@ -45936,23 +45700,23 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16665:1: rule__ChoicePoint__Group__1__Impl : ( ( rule__ChoicePoint__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16509:1: rule__ChoicePoint__Group__1__Impl : ( ( rule__ChoicePoint__NameAssignment_1 ) ) ;
     public final void rule__ChoicePoint__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16669:1: ( ( ( rule__ChoicePoint__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16670:1: ( ( rule__ChoicePoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16513:1: ( ( ( rule__ChoicePoint__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16514:1: ( ( rule__ChoicePoint__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16670:1: ( ( rule__ChoicePoint__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16671:1: ( rule__ChoicePoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16514:1: ( ( rule__ChoicePoint__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16515:1: ( rule__ChoicePoint__NameAssignment_1 )
             {
              before(grammarAccess.getChoicePointAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16672:1: ( rule__ChoicePoint__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16672:2: rule__ChoicePoint__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16516:1: ( rule__ChoicePoint__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16516:2: rule__ChoicePoint__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__ChoicePoint__NameAssignment_1_in_rule__ChoicePoint__Group__1__Impl33881);
+            pushFollow(FOLLOW_rule__ChoicePoint__NameAssignment_1_in_rule__ChoicePoint__Group__1__Impl33573);
             rule__ChoicePoint__NameAssignment_1();
 
             state._fsp--;
@@ -45983,16 +45747,16 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16682:1: rule__ChoicePoint__Group__2 : rule__ChoicePoint__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16526:1: rule__ChoicePoint__Group__2 : rule__ChoicePoint__Group__2__Impl ;
     public final void rule__ChoicePoint__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16686:1: ( rule__ChoicePoint__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16687:2: rule__ChoicePoint__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16530:1: ( rule__ChoicePoint__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16531:2: rule__ChoicePoint__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__ChoicePoint__Group__2__Impl_in_rule__ChoicePoint__Group__233911);
+            pushFollow(FOLLOW_rule__ChoicePoint__Group__2__Impl_in_rule__ChoicePoint__Group__233603);
             rule__ChoicePoint__Group__2__Impl();
 
             state._fsp--;
@@ -46016,31 +45780,31 @@
 
 
     // $ANTLR start "rule__ChoicePoint__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16693:1: rule__ChoicePoint__Group__2__Impl : ( ( rule__ChoicePoint__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16537:1: rule__ChoicePoint__Group__2__Impl : ( ( rule__ChoicePoint__DocuAssignment_2 )? ) ;
     public final void rule__ChoicePoint__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16697:1: ( ( ( rule__ChoicePoint__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16698:1: ( ( rule__ChoicePoint__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16541:1: ( ( ( rule__ChoicePoint__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16542:1: ( ( rule__ChoicePoint__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16698:1: ( ( rule__ChoicePoint__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16699:1: ( rule__ChoicePoint__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16542:1: ( ( rule__ChoicePoint__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16543:1: ( rule__ChoicePoint__DocuAssignment_2 )?
             {
              before(grammarAccess.getChoicePointAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16700:1: ( rule__ChoicePoint__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16544:1: ( rule__ChoicePoint__DocuAssignment_2 )?
             int alt162=2;
             int LA162_0 = input.LA(1);
 
-            if ( (LA162_0==58) ) {
+            if ( (LA162_0==59) ) {
                 alt162=1;
             }
             switch (alt162) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16700:2: rule__ChoicePoint__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16544:2: rule__ChoicePoint__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__ChoicePoint__DocuAssignment_2_in_rule__ChoicePoint__Group__2__Impl33938);
+                    pushFollow(FOLLOW_rule__ChoicePoint__DocuAssignment_2_in_rule__ChoicePoint__Group__2__Impl33630);
                     rule__ChoicePoint__DocuAssignment_2();
 
                     state._fsp--;
@@ -46074,21 +45838,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16716:1: rule__InitialTransition__Group__0 : rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16560:1: rule__InitialTransition__Group__0 : rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1 ;
     public final void rule__InitialTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16720:1: ( rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16721:2: rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16564:1: ( rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16565:2: rule__InitialTransition__Group__0__Impl rule__InitialTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__0__Impl_in_rule__InitialTransition__Group__033975);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__0__Impl_in_rule__InitialTransition__Group__033667);
             rule__InitialTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__1_in_rule__InitialTransition__Group__033978);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__1_in_rule__InitialTransition__Group__033670);
             rule__InitialTransition__Group__1();
 
             state._fsp--;
@@ -46112,20 +45876,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16728:1: rule__InitialTransition__Group__0__Impl : ( 'Transition' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16572:1: rule__InitialTransition__Group__0__Impl : ( 'Transition' ) ;
     public final void rule__InitialTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16732:1: ( ( 'Transition' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16733:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16576:1: ( ( 'Transition' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16577:1: ( 'Transition' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16733:1: ( 'Transition' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16734:1: 'Transition'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16577:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16578:1: 'Transition'
             {
              before(grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0()); 
-            match(input,103,FOLLOW_103_in_rule__InitialTransition__Group__0__Impl34006); 
+            match(input,104,FOLLOW_104_in_rule__InitialTransition__Group__0__Impl33698); 
              after(grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0()); 
 
             }
@@ -46149,21 +45913,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16747:1: rule__InitialTransition__Group__1 : rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16591:1: rule__InitialTransition__Group__1 : rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2 ;
     public final void rule__InitialTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16751:1: ( rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16752:2: rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16595:1: ( rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16596:2: rule__InitialTransition__Group__1__Impl rule__InitialTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__1__Impl_in_rule__InitialTransition__Group__134037);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__1__Impl_in_rule__InitialTransition__Group__133729);
             rule__InitialTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__2_in_rule__InitialTransition__Group__134040);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__2_in_rule__InitialTransition__Group__133732);
             rule__InitialTransition__Group__2();
 
             state._fsp--;
@@ -46187,20 +45951,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16759:1: rule__InitialTransition__Group__1__Impl : ( ( rule__InitialTransition__NameAssignment_1 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16603:1: rule__InitialTransition__Group__1__Impl : ( ( rule__InitialTransition__NameAssignment_1 )? ) ;
     public final void rule__InitialTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16763:1: ( ( ( rule__InitialTransition__NameAssignment_1 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16764:1: ( ( rule__InitialTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16607:1: ( ( ( rule__InitialTransition__NameAssignment_1 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16608:1: ( ( rule__InitialTransition__NameAssignment_1 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16764:1: ( ( rule__InitialTransition__NameAssignment_1 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16765:1: ( rule__InitialTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16608:1: ( ( rule__InitialTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16609:1: ( rule__InitialTransition__NameAssignment_1 )?
             {
              before(grammarAccess.getInitialTransitionAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16766:1: ( rule__InitialTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16610:1: ( rule__InitialTransition__NameAssignment_1 )?
             int alt163=2;
             int LA163_0 = input.LA(1);
 
@@ -46209,9 +45973,9 @@
             }
             switch (alt163) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16766:2: rule__InitialTransition__NameAssignment_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16610:2: rule__InitialTransition__NameAssignment_1
                     {
-                    pushFollow(FOLLOW_rule__InitialTransition__NameAssignment_1_in_rule__InitialTransition__Group__1__Impl34067);
+                    pushFollow(FOLLOW_rule__InitialTransition__NameAssignment_1_in_rule__InitialTransition__Group__1__Impl33759);
                     rule__InitialTransition__NameAssignment_1();
 
                     state._fsp--;
@@ -46245,21 +46009,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16776:1: rule__InitialTransition__Group__2 : rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16620:1: rule__InitialTransition__Group__2 : rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3 ;
     public final void rule__InitialTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16780:1: ( rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16781:2: rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16624:1: ( rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16625:2: rule__InitialTransition__Group__2__Impl rule__InitialTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__2__Impl_in_rule__InitialTransition__Group__234098);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__2__Impl_in_rule__InitialTransition__Group__233790);
             rule__InitialTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__3_in_rule__InitialTransition__Group__234101);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__3_in_rule__InitialTransition__Group__233793);
             rule__InitialTransition__Group__3();
 
             state._fsp--;
@@ -46283,20 +46047,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16788:1: rule__InitialTransition__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16632:1: rule__InitialTransition__Group__2__Impl : ( ':' ) ;
     public final void rule__InitialTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16792:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16793:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16636:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16637:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16793:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16794:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16637:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16638:1: ':'
             {
              before(grammarAccess.getInitialTransitionAccess().getColonKeyword_2()); 
-            match(input,42,FOLLOW_42_in_rule__InitialTransition__Group__2__Impl34129); 
+            match(input,43,FOLLOW_43_in_rule__InitialTransition__Group__2__Impl33821); 
              after(grammarAccess.getInitialTransitionAccess().getColonKeyword_2()); 
 
             }
@@ -46320,21 +46084,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16807:1: rule__InitialTransition__Group__3 : rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16651:1: rule__InitialTransition__Group__3 : rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4 ;
     public final void rule__InitialTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16811:1: ( rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16812:2: rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16655:1: ( rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16656:2: rule__InitialTransition__Group__3__Impl rule__InitialTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__3__Impl_in_rule__InitialTransition__Group__334160);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__3__Impl_in_rule__InitialTransition__Group__333852);
             rule__InitialTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__4_in_rule__InitialTransition__Group__334163);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__4_in_rule__InitialTransition__Group__333855);
             rule__InitialTransition__Group__4();
 
             state._fsp--;
@@ -46358,20 +46122,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16819:1: rule__InitialTransition__Group__3__Impl : ( 'initial' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16663:1: rule__InitialTransition__Group__3__Impl : ( 'initial' ) ;
     public final void rule__InitialTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16823:1: ( ( 'initial' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16824:1: ( 'initial' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16667:1: ( ( 'initial' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16668:1: ( 'initial' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16824:1: ( 'initial' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16825:1: 'initial'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16668:1: ( 'initial' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16669:1: 'initial'
             {
              before(grammarAccess.getInitialTransitionAccess().getInitialKeyword_3()); 
-            match(input,104,FOLLOW_104_in_rule__InitialTransition__Group__3__Impl34191); 
+            match(input,105,FOLLOW_105_in_rule__InitialTransition__Group__3__Impl33883); 
              after(grammarAccess.getInitialTransitionAccess().getInitialKeyword_3()); 
 
             }
@@ -46395,21 +46159,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16838:1: rule__InitialTransition__Group__4 : rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16682:1: rule__InitialTransition__Group__4 : rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5 ;
     public final void rule__InitialTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16842:1: ( rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16843:2: rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16686:1: ( rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16687:2: rule__InitialTransition__Group__4__Impl rule__InitialTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__4__Impl_in_rule__InitialTransition__Group__434222);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__4__Impl_in_rule__InitialTransition__Group__433914);
             rule__InitialTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__5_in_rule__InitialTransition__Group__434225);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__5_in_rule__InitialTransition__Group__433917);
             rule__InitialTransition__Group__5();
 
             state._fsp--;
@@ -46433,20 +46197,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16850:1: rule__InitialTransition__Group__4__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16694:1: rule__InitialTransition__Group__4__Impl : ( '->' ) ;
     public final void rule__InitialTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16854:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16855:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16698:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16699:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16855:1: ( '->' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16856:1: '->'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16699:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16700:1: '->'
             {
              before(grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
-            match(input,44,FOLLOW_44_in_rule__InitialTransition__Group__4__Impl34253); 
+            match(input,45,FOLLOW_45_in_rule__InitialTransition__Group__4__Impl33945); 
              after(grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
 
             }
@@ -46470,21 +46234,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16869:1: rule__InitialTransition__Group__5 : rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16713:1: rule__InitialTransition__Group__5 : rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6 ;
     public final void rule__InitialTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16873:1: ( rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16874:2: rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16717:1: ( rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16718:2: rule__InitialTransition__Group__5__Impl rule__InitialTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__5__Impl_in_rule__InitialTransition__Group__534284);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__5__Impl_in_rule__InitialTransition__Group__533976);
             rule__InitialTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__6_in_rule__InitialTransition__Group__534287);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__6_in_rule__InitialTransition__Group__533979);
             rule__InitialTransition__Group__6();
 
             state._fsp--;
@@ -46508,23 +46272,23 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16881:1: rule__InitialTransition__Group__5__Impl : ( ( rule__InitialTransition__ToAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16725:1: rule__InitialTransition__Group__5__Impl : ( ( rule__InitialTransition__ToAssignment_5 ) ) ;
     public final void rule__InitialTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16885:1: ( ( ( rule__InitialTransition__ToAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16886:1: ( ( rule__InitialTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16729:1: ( ( ( rule__InitialTransition__ToAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16730:1: ( ( rule__InitialTransition__ToAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16886:1: ( ( rule__InitialTransition__ToAssignment_5 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16887:1: ( rule__InitialTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16730:1: ( ( rule__InitialTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16731:1: ( rule__InitialTransition__ToAssignment_5 )
             {
              before(grammarAccess.getInitialTransitionAccess().getToAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16888:1: ( rule__InitialTransition__ToAssignment_5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16888:2: rule__InitialTransition__ToAssignment_5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16732:1: ( rule__InitialTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16732:2: rule__InitialTransition__ToAssignment_5
             {
-            pushFollow(FOLLOW_rule__InitialTransition__ToAssignment_5_in_rule__InitialTransition__Group__5__Impl34314);
+            pushFollow(FOLLOW_rule__InitialTransition__ToAssignment_5_in_rule__InitialTransition__Group__5__Impl34006);
             rule__InitialTransition__ToAssignment_5();
 
             state._fsp--;
@@ -46555,21 +46319,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16898:1: rule__InitialTransition__Group__6 : rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16742:1: rule__InitialTransition__Group__6 : rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7 ;
     public final void rule__InitialTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16902:1: ( rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16903:2: rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16746:1: ( rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16747:2: rule__InitialTransition__Group__6__Impl rule__InitialTransition__Group__7
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__6__Impl_in_rule__InitialTransition__Group__634344);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__6__Impl_in_rule__InitialTransition__Group__634036);
             rule__InitialTransition__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group__7_in_rule__InitialTransition__Group__634347);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__7_in_rule__InitialTransition__Group__634039);
             rule__InitialTransition__Group__7();
 
             state._fsp--;
@@ -46593,31 +46357,31 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16910:1: rule__InitialTransition__Group__6__Impl : ( ( rule__InitialTransition__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16754:1: rule__InitialTransition__Group__6__Impl : ( ( rule__InitialTransition__DocuAssignment_6 )? ) ;
     public final void rule__InitialTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16914:1: ( ( ( rule__InitialTransition__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16915:1: ( ( rule__InitialTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16758:1: ( ( ( rule__InitialTransition__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16759:1: ( ( rule__InitialTransition__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16915:1: ( ( rule__InitialTransition__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16916:1: ( rule__InitialTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16759:1: ( ( rule__InitialTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16760:1: ( rule__InitialTransition__DocuAssignment_6 )?
             {
              before(grammarAccess.getInitialTransitionAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16917:1: ( rule__InitialTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16761:1: ( rule__InitialTransition__DocuAssignment_6 )?
             int alt164=2;
             int LA164_0 = input.LA(1);
 
-            if ( (LA164_0==58) ) {
+            if ( (LA164_0==59) ) {
                 alt164=1;
             }
             switch (alt164) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16917:2: rule__InitialTransition__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16761:2: rule__InitialTransition__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__InitialTransition__DocuAssignment_6_in_rule__InitialTransition__Group__6__Impl34374);
+                    pushFollow(FOLLOW_rule__InitialTransition__DocuAssignment_6_in_rule__InitialTransition__Group__6__Impl34066);
                     rule__InitialTransition__DocuAssignment_6();
 
                     state._fsp--;
@@ -46651,16 +46415,16 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16927:1: rule__InitialTransition__Group__7 : rule__InitialTransition__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16771:1: rule__InitialTransition__Group__7 : rule__InitialTransition__Group__7__Impl ;
     public final void rule__InitialTransition__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16931:1: ( rule__InitialTransition__Group__7__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16932:2: rule__InitialTransition__Group__7__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16775:1: ( rule__InitialTransition__Group__7__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16776:2: rule__InitialTransition__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group__7__Impl_in_rule__InitialTransition__Group__734405);
+            pushFollow(FOLLOW_rule__InitialTransition__Group__7__Impl_in_rule__InitialTransition__Group__734097);
             rule__InitialTransition__Group__7__Impl();
 
             state._fsp--;
@@ -46684,31 +46448,31 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16938:1: rule__InitialTransition__Group__7__Impl : ( ( rule__InitialTransition__Group_7__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16782:1: rule__InitialTransition__Group__7__Impl : ( ( rule__InitialTransition__Group_7__0 )? ) ;
     public final void rule__InitialTransition__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16942:1: ( ( ( rule__InitialTransition__Group_7__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16943:1: ( ( rule__InitialTransition__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16786:1: ( ( ( rule__InitialTransition__Group_7__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16787:1: ( ( rule__InitialTransition__Group_7__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16943:1: ( ( rule__InitialTransition__Group_7__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16944:1: ( rule__InitialTransition__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16787:1: ( ( rule__InitialTransition__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16788:1: ( rule__InitialTransition__Group_7__0 )?
             {
              before(grammarAccess.getInitialTransitionAccess().getGroup_7()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16945:1: ( rule__InitialTransition__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16789:1: ( rule__InitialTransition__Group_7__0 )?
             int alt165=2;
             int LA165_0 = input.LA(1);
 
-            if ( (LA165_0==40) ) {
+            if ( (LA165_0==41) ) {
                 alt165=1;
             }
             switch (alt165) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16945:2: rule__InitialTransition__Group_7__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16789:2: rule__InitialTransition__Group_7__0
                     {
-                    pushFollow(FOLLOW_rule__InitialTransition__Group_7__0_in_rule__InitialTransition__Group__7__Impl34432);
+                    pushFollow(FOLLOW_rule__InitialTransition__Group_7__0_in_rule__InitialTransition__Group__7__Impl34124);
                     rule__InitialTransition__Group_7__0();
 
                     state._fsp--;
@@ -46742,21 +46506,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16971:1: rule__InitialTransition__Group_7__0 : rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16815:1: rule__InitialTransition__Group_7__0 : rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1 ;
     public final void rule__InitialTransition__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16975:1: ( rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16976:2: rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16819:1: ( rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16820:2: rule__InitialTransition__Group_7__0__Impl rule__InitialTransition__Group_7__1
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7__0__Impl_in_rule__InitialTransition__Group_7__034479);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7__0__Impl_in_rule__InitialTransition__Group_7__034171);
             rule__InitialTransition__Group_7__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7__1_in_rule__InitialTransition__Group_7__034482);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7__1_in_rule__InitialTransition__Group_7__034174);
             rule__InitialTransition__Group_7__1();
 
             state._fsp--;
@@ -46780,20 +46544,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16983:1: rule__InitialTransition__Group_7__0__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16827:1: rule__InitialTransition__Group_7__0__Impl : ( '{' ) ;
     public final void rule__InitialTransition__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16987:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16988:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16831:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16832:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16988:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16989:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16832:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16833:1: '{'
             {
              before(grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_7_0()); 
-            match(input,40,FOLLOW_40_in_rule__InitialTransition__Group_7__0__Impl34510); 
+            match(input,41,FOLLOW_41_in_rule__InitialTransition__Group_7__0__Impl34202); 
              after(grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_7_0()); 
 
             }
@@ -46817,21 +46581,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17002:1: rule__InitialTransition__Group_7__1 : rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16846:1: rule__InitialTransition__Group_7__1 : rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2 ;
     public final void rule__InitialTransition__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17006:1: ( rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17007:2: rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16850:1: ( rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16851:2: rule__InitialTransition__Group_7__1__Impl rule__InitialTransition__Group_7__2
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7__1__Impl_in_rule__InitialTransition__Group_7__134541);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7__1__Impl_in_rule__InitialTransition__Group_7__134233);
             rule__InitialTransition__Group_7__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7__2_in_rule__InitialTransition__Group_7__134544);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7__2_in_rule__InitialTransition__Group_7__134236);
             rule__InitialTransition__Group_7__2();
 
             state._fsp--;
@@ -46855,31 +46619,31 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17014:1: rule__InitialTransition__Group_7__1__Impl : ( ( rule__InitialTransition__Group_7_1__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16858:1: rule__InitialTransition__Group_7__1__Impl : ( ( rule__InitialTransition__Group_7_1__0 )? ) ;
     public final void rule__InitialTransition__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17018:1: ( ( ( rule__InitialTransition__Group_7_1__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17019:1: ( ( rule__InitialTransition__Group_7_1__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16862:1: ( ( ( rule__InitialTransition__Group_7_1__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16863:1: ( ( rule__InitialTransition__Group_7_1__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17019:1: ( ( rule__InitialTransition__Group_7_1__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17020:1: ( rule__InitialTransition__Group_7_1__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16863:1: ( ( rule__InitialTransition__Group_7_1__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16864:1: ( rule__InitialTransition__Group_7_1__0 )?
             {
              before(grammarAccess.getInitialTransitionAccess().getGroup_7_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17021:1: ( rule__InitialTransition__Group_7_1__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16865:1: ( rule__InitialTransition__Group_7_1__0 )?
             int alt166=2;
             int LA166_0 = input.LA(1);
 
-            if ( (LA166_0==105) ) {
+            if ( (LA166_0==106) ) {
                 alt166=1;
             }
             switch (alt166) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17021:2: rule__InitialTransition__Group_7_1__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16865:2: rule__InitialTransition__Group_7_1__0
                     {
-                    pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__0_in_rule__InitialTransition__Group_7__1__Impl34571);
+                    pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__0_in_rule__InitialTransition__Group_7__1__Impl34263);
                     rule__InitialTransition__Group_7_1__0();
 
                     state._fsp--;
@@ -46913,16 +46677,16 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17031:1: rule__InitialTransition__Group_7__2 : rule__InitialTransition__Group_7__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16875:1: rule__InitialTransition__Group_7__2 : rule__InitialTransition__Group_7__2__Impl ;
     public final void rule__InitialTransition__Group_7__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17035:1: ( rule__InitialTransition__Group_7__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17036:2: rule__InitialTransition__Group_7__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16879:1: ( rule__InitialTransition__Group_7__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16880:2: rule__InitialTransition__Group_7__2__Impl
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7__2__Impl_in_rule__InitialTransition__Group_7__234602);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7__2__Impl_in_rule__InitialTransition__Group_7__234294);
             rule__InitialTransition__Group_7__2__Impl();
 
             state._fsp--;
@@ -46946,20 +46710,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17042:1: rule__InitialTransition__Group_7__2__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16886:1: rule__InitialTransition__Group_7__2__Impl : ( '}' ) ;
     public final void rule__InitialTransition__Group_7__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17046:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17047:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16890:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16891:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17047:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17048:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16891:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16892:1: '}'
             {
              before(grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_7_2()); 
-            match(input,41,FOLLOW_41_in_rule__InitialTransition__Group_7__2__Impl34630); 
+            match(input,42,FOLLOW_42_in_rule__InitialTransition__Group_7__2__Impl34322); 
              after(grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_7_2()); 
 
             }
@@ -46983,21 +46747,21 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17067:1: rule__InitialTransition__Group_7_1__0 : rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16911:1: rule__InitialTransition__Group_7_1__0 : rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1 ;
     public final void rule__InitialTransition__Group_7_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17071:1: ( rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17072:2: rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16915:1: ( rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16916:2: rule__InitialTransition__Group_7_1__0__Impl rule__InitialTransition__Group_7_1__1
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__0__Impl_in_rule__InitialTransition__Group_7_1__034667);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__0__Impl_in_rule__InitialTransition__Group_7_1__034359);
             rule__InitialTransition__Group_7_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__1_in_rule__InitialTransition__Group_7_1__034670);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__1_in_rule__InitialTransition__Group_7_1__034362);
             rule__InitialTransition__Group_7_1__1();
 
             state._fsp--;
@@ -47021,20 +46785,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17079:1: rule__InitialTransition__Group_7_1__0__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16923:1: rule__InitialTransition__Group_7_1__0__Impl : ( 'action' ) ;
     public final void rule__InitialTransition__Group_7_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17083:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17084:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16927:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16928:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17084:1: ( 'action' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17085:1: 'action'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16928:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16929:1: 'action'
             {
              before(grammarAccess.getInitialTransitionAccess().getActionKeyword_7_1_0()); 
-            match(input,105,FOLLOW_105_in_rule__InitialTransition__Group_7_1__0__Impl34698); 
+            match(input,106,FOLLOW_106_in_rule__InitialTransition__Group_7_1__0__Impl34390); 
              after(grammarAccess.getInitialTransitionAccess().getActionKeyword_7_1_0()); 
 
             }
@@ -47058,16 +46822,16 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17098:1: rule__InitialTransition__Group_7_1__1 : rule__InitialTransition__Group_7_1__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16942:1: rule__InitialTransition__Group_7_1__1 : rule__InitialTransition__Group_7_1__1__Impl ;
     public final void rule__InitialTransition__Group_7_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17102:1: ( rule__InitialTransition__Group_7_1__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17103:2: rule__InitialTransition__Group_7_1__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16946:1: ( rule__InitialTransition__Group_7_1__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16947:2: rule__InitialTransition__Group_7_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__1__Impl_in_rule__InitialTransition__Group_7_1__134729);
+            pushFollow(FOLLOW_rule__InitialTransition__Group_7_1__1__Impl_in_rule__InitialTransition__Group_7_1__134421);
             rule__InitialTransition__Group_7_1__1__Impl();
 
             state._fsp--;
@@ -47091,23 +46855,23 @@
 
 
     // $ANTLR start "rule__InitialTransition__Group_7_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17109:1: rule__InitialTransition__Group_7_1__1__Impl : ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16953:1: rule__InitialTransition__Group_7_1__1__Impl : ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) ) ;
     public final void rule__InitialTransition__Group_7_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17113:1: ( ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17114:1: ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16957:1: ( ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16958:1: ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17114:1: ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17115:1: ( rule__InitialTransition__ActionAssignment_7_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16958:1: ( ( rule__InitialTransition__ActionAssignment_7_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16959:1: ( rule__InitialTransition__ActionAssignment_7_1_1 )
             {
              before(grammarAccess.getInitialTransitionAccess().getActionAssignment_7_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17116:1: ( rule__InitialTransition__ActionAssignment_7_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17116:2: rule__InitialTransition__ActionAssignment_7_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16960:1: ( rule__InitialTransition__ActionAssignment_7_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16960:2: rule__InitialTransition__ActionAssignment_7_1_1
             {
-            pushFollow(FOLLOW_rule__InitialTransition__ActionAssignment_7_1_1_in_rule__InitialTransition__Group_7_1__1__Impl34756);
+            pushFollow(FOLLOW_rule__InitialTransition__ActionAssignment_7_1_1_in_rule__InitialTransition__Group_7_1__1__Impl34448);
             rule__InitialTransition__ActionAssignment_7_1_1();
 
             state._fsp--;
@@ -47138,21 +46902,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17130:1: rule__ContinuationTransition__Group__0 : rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16974:1: rule__ContinuationTransition__Group__0 : rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1 ;
     public final void rule__ContinuationTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17134:1: ( rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17135:2: rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16978:1: ( rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16979:2: rule__ContinuationTransition__Group__0__Impl rule__ContinuationTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__0__Impl_in_rule__ContinuationTransition__Group__034790);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__0__Impl_in_rule__ContinuationTransition__Group__034482);
             rule__ContinuationTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__1_in_rule__ContinuationTransition__Group__034793);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__1_in_rule__ContinuationTransition__Group__034485);
             rule__ContinuationTransition__Group__1();
 
             state._fsp--;
@@ -47176,20 +46940,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17142:1: rule__ContinuationTransition__Group__0__Impl : ( 'Transition' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16986:1: rule__ContinuationTransition__Group__0__Impl : ( 'Transition' ) ;
     public final void rule__ContinuationTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17146:1: ( ( 'Transition' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17147:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16990:1: ( ( 'Transition' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16991:1: ( 'Transition' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17147:1: ( 'Transition' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17148:1: 'Transition'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16991:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:16992:1: 'Transition'
             {
              before(grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0()); 
-            match(input,103,FOLLOW_103_in_rule__ContinuationTransition__Group__0__Impl34821); 
+            match(input,104,FOLLOW_104_in_rule__ContinuationTransition__Group__0__Impl34513); 
              after(grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0()); 
 
             }
@@ -47213,21 +46977,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17161:1: rule__ContinuationTransition__Group__1 : rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17005:1: rule__ContinuationTransition__Group__1 : rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2 ;
     public final void rule__ContinuationTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17165:1: ( rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17166:2: rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17009:1: ( rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17010:2: rule__ContinuationTransition__Group__1__Impl rule__ContinuationTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__1__Impl_in_rule__ContinuationTransition__Group__134852);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__1__Impl_in_rule__ContinuationTransition__Group__134544);
             rule__ContinuationTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__2_in_rule__ContinuationTransition__Group__134855);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__2_in_rule__ContinuationTransition__Group__134547);
             rule__ContinuationTransition__Group__2();
 
             state._fsp--;
@@ -47251,20 +47015,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17173:1: rule__ContinuationTransition__Group__1__Impl : ( ( rule__ContinuationTransition__NameAssignment_1 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17017:1: rule__ContinuationTransition__Group__1__Impl : ( ( rule__ContinuationTransition__NameAssignment_1 )? ) ;
     public final void rule__ContinuationTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17177:1: ( ( ( rule__ContinuationTransition__NameAssignment_1 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17178:1: ( ( rule__ContinuationTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17021:1: ( ( ( rule__ContinuationTransition__NameAssignment_1 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17022:1: ( ( rule__ContinuationTransition__NameAssignment_1 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17178:1: ( ( rule__ContinuationTransition__NameAssignment_1 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17179:1: ( rule__ContinuationTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17022:1: ( ( rule__ContinuationTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17023:1: ( rule__ContinuationTransition__NameAssignment_1 )?
             {
              before(grammarAccess.getContinuationTransitionAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17180:1: ( rule__ContinuationTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17024:1: ( rule__ContinuationTransition__NameAssignment_1 )?
             int alt167=2;
             int LA167_0 = input.LA(1);
 
@@ -47273,9 +47037,9 @@
             }
             switch (alt167) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17180:2: rule__ContinuationTransition__NameAssignment_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17024:2: rule__ContinuationTransition__NameAssignment_1
                     {
-                    pushFollow(FOLLOW_rule__ContinuationTransition__NameAssignment_1_in_rule__ContinuationTransition__Group__1__Impl34882);
+                    pushFollow(FOLLOW_rule__ContinuationTransition__NameAssignment_1_in_rule__ContinuationTransition__Group__1__Impl34574);
                     rule__ContinuationTransition__NameAssignment_1();
 
                     state._fsp--;
@@ -47309,21 +47073,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17190:1: rule__ContinuationTransition__Group__2 : rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17034:1: rule__ContinuationTransition__Group__2 : rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3 ;
     public final void rule__ContinuationTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17194:1: ( rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17195:2: rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17038:1: ( rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17039:2: rule__ContinuationTransition__Group__2__Impl rule__ContinuationTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__2__Impl_in_rule__ContinuationTransition__Group__234913);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__2__Impl_in_rule__ContinuationTransition__Group__234605);
             rule__ContinuationTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__3_in_rule__ContinuationTransition__Group__234916);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__3_in_rule__ContinuationTransition__Group__234608);
             rule__ContinuationTransition__Group__3();
 
             state._fsp--;
@@ -47347,20 +47111,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17202:1: rule__ContinuationTransition__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17046:1: rule__ContinuationTransition__Group__2__Impl : ( ':' ) ;
     public final void rule__ContinuationTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17206:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17207:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17050:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17051:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17207:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17208:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17051:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17052:1: ':'
             {
              before(grammarAccess.getContinuationTransitionAccess().getColonKeyword_2()); 
-            match(input,42,FOLLOW_42_in_rule__ContinuationTransition__Group__2__Impl34944); 
+            match(input,43,FOLLOW_43_in_rule__ContinuationTransition__Group__2__Impl34636); 
              after(grammarAccess.getContinuationTransitionAccess().getColonKeyword_2()); 
 
             }
@@ -47384,21 +47148,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17221:1: rule__ContinuationTransition__Group__3 : rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17065:1: rule__ContinuationTransition__Group__3 : rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4 ;
     public final void rule__ContinuationTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17225:1: ( rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17226:2: rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17069:1: ( rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17070:2: rule__ContinuationTransition__Group__3__Impl rule__ContinuationTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__3__Impl_in_rule__ContinuationTransition__Group__334975);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__3__Impl_in_rule__ContinuationTransition__Group__334667);
             rule__ContinuationTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__4_in_rule__ContinuationTransition__Group__334978);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__4_in_rule__ContinuationTransition__Group__334670);
             rule__ContinuationTransition__Group__4();
 
             state._fsp--;
@@ -47422,23 +47186,23 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17233:1: rule__ContinuationTransition__Group__3__Impl : ( ( rule__ContinuationTransition__FromAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17077:1: rule__ContinuationTransition__Group__3__Impl : ( ( rule__ContinuationTransition__FromAssignment_3 ) ) ;
     public final void rule__ContinuationTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17237:1: ( ( ( rule__ContinuationTransition__FromAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17238:1: ( ( rule__ContinuationTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17081:1: ( ( ( rule__ContinuationTransition__FromAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17082:1: ( ( rule__ContinuationTransition__FromAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17238:1: ( ( rule__ContinuationTransition__FromAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17239:1: ( rule__ContinuationTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17082:1: ( ( rule__ContinuationTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17083:1: ( rule__ContinuationTransition__FromAssignment_3 )
             {
              before(grammarAccess.getContinuationTransitionAccess().getFromAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17240:1: ( rule__ContinuationTransition__FromAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17240:2: rule__ContinuationTransition__FromAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17084:1: ( rule__ContinuationTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17084:2: rule__ContinuationTransition__FromAssignment_3
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__FromAssignment_3_in_rule__ContinuationTransition__Group__3__Impl35005);
+            pushFollow(FOLLOW_rule__ContinuationTransition__FromAssignment_3_in_rule__ContinuationTransition__Group__3__Impl34697);
             rule__ContinuationTransition__FromAssignment_3();
 
             state._fsp--;
@@ -47469,21 +47233,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17250:1: rule__ContinuationTransition__Group__4 : rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17094:1: rule__ContinuationTransition__Group__4 : rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5 ;
     public final void rule__ContinuationTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17254:1: ( rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17255:2: rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17098:1: ( rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17099:2: rule__ContinuationTransition__Group__4__Impl rule__ContinuationTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__4__Impl_in_rule__ContinuationTransition__Group__435035);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__4__Impl_in_rule__ContinuationTransition__Group__434727);
             rule__ContinuationTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__5_in_rule__ContinuationTransition__Group__435038);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__5_in_rule__ContinuationTransition__Group__434730);
             rule__ContinuationTransition__Group__5();
 
             state._fsp--;
@@ -47507,20 +47271,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17262:1: rule__ContinuationTransition__Group__4__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17106:1: rule__ContinuationTransition__Group__4__Impl : ( '->' ) ;
     public final void rule__ContinuationTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17266:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17267:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17110:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17111:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17267:1: ( '->' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17268:1: '->'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17111:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17112:1: '->'
             {
              before(grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
-            match(input,44,FOLLOW_44_in_rule__ContinuationTransition__Group__4__Impl35066); 
+            match(input,45,FOLLOW_45_in_rule__ContinuationTransition__Group__4__Impl34758); 
              after(grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
 
             }
@@ -47544,21 +47308,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17281:1: rule__ContinuationTransition__Group__5 : rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17125:1: rule__ContinuationTransition__Group__5 : rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6 ;
     public final void rule__ContinuationTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17285:1: ( rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17286:2: rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17129:1: ( rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17130:2: rule__ContinuationTransition__Group__5__Impl rule__ContinuationTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__5__Impl_in_rule__ContinuationTransition__Group__535097);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__5__Impl_in_rule__ContinuationTransition__Group__534789);
             rule__ContinuationTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__6_in_rule__ContinuationTransition__Group__535100);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__6_in_rule__ContinuationTransition__Group__534792);
             rule__ContinuationTransition__Group__6();
 
             state._fsp--;
@@ -47582,23 +47346,23 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17293:1: rule__ContinuationTransition__Group__5__Impl : ( ( rule__ContinuationTransition__ToAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17137:1: rule__ContinuationTransition__Group__5__Impl : ( ( rule__ContinuationTransition__ToAssignment_5 ) ) ;
     public final void rule__ContinuationTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17297:1: ( ( ( rule__ContinuationTransition__ToAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17298:1: ( ( rule__ContinuationTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17141:1: ( ( ( rule__ContinuationTransition__ToAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17142:1: ( ( rule__ContinuationTransition__ToAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17298:1: ( ( rule__ContinuationTransition__ToAssignment_5 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17299:1: ( rule__ContinuationTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17142:1: ( ( rule__ContinuationTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17143:1: ( rule__ContinuationTransition__ToAssignment_5 )
             {
              before(grammarAccess.getContinuationTransitionAccess().getToAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17300:1: ( rule__ContinuationTransition__ToAssignment_5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17300:2: rule__ContinuationTransition__ToAssignment_5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17144:1: ( rule__ContinuationTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17144:2: rule__ContinuationTransition__ToAssignment_5
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__ToAssignment_5_in_rule__ContinuationTransition__Group__5__Impl35127);
+            pushFollow(FOLLOW_rule__ContinuationTransition__ToAssignment_5_in_rule__ContinuationTransition__Group__5__Impl34819);
             rule__ContinuationTransition__ToAssignment_5();
 
             state._fsp--;
@@ -47629,21 +47393,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17310:1: rule__ContinuationTransition__Group__6 : rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17154:1: rule__ContinuationTransition__Group__6 : rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7 ;
     public final void rule__ContinuationTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17314:1: ( rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17315:2: rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17158:1: ( rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17159:2: rule__ContinuationTransition__Group__6__Impl rule__ContinuationTransition__Group__7
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__6__Impl_in_rule__ContinuationTransition__Group__635157);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__6__Impl_in_rule__ContinuationTransition__Group__634849);
             rule__ContinuationTransition__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__7_in_rule__ContinuationTransition__Group__635160);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__7_in_rule__ContinuationTransition__Group__634852);
             rule__ContinuationTransition__Group__7();
 
             state._fsp--;
@@ -47667,31 +47431,31 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17322:1: rule__ContinuationTransition__Group__6__Impl : ( ( rule__ContinuationTransition__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17166:1: rule__ContinuationTransition__Group__6__Impl : ( ( rule__ContinuationTransition__DocuAssignment_6 )? ) ;
     public final void rule__ContinuationTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17326:1: ( ( ( rule__ContinuationTransition__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17327:1: ( ( rule__ContinuationTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17170:1: ( ( ( rule__ContinuationTransition__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17171:1: ( ( rule__ContinuationTransition__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17327:1: ( ( rule__ContinuationTransition__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17328:1: ( rule__ContinuationTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17171:1: ( ( rule__ContinuationTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17172:1: ( rule__ContinuationTransition__DocuAssignment_6 )?
             {
              before(grammarAccess.getContinuationTransitionAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17329:1: ( rule__ContinuationTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17173:1: ( rule__ContinuationTransition__DocuAssignment_6 )?
             int alt168=2;
             int LA168_0 = input.LA(1);
 
-            if ( (LA168_0==58) ) {
+            if ( (LA168_0==59) ) {
                 alt168=1;
             }
             switch (alt168) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17329:2: rule__ContinuationTransition__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17173:2: rule__ContinuationTransition__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__ContinuationTransition__DocuAssignment_6_in_rule__ContinuationTransition__Group__6__Impl35187);
+                    pushFollow(FOLLOW_rule__ContinuationTransition__DocuAssignment_6_in_rule__ContinuationTransition__Group__6__Impl34879);
                     rule__ContinuationTransition__DocuAssignment_6();
 
                     state._fsp--;
@@ -47725,16 +47489,16 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17339:1: rule__ContinuationTransition__Group__7 : rule__ContinuationTransition__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17183:1: rule__ContinuationTransition__Group__7 : rule__ContinuationTransition__Group__7__Impl ;
     public final void rule__ContinuationTransition__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17343:1: ( rule__ContinuationTransition__Group__7__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17344:2: rule__ContinuationTransition__Group__7__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17187:1: ( rule__ContinuationTransition__Group__7__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17188:2: rule__ContinuationTransition__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group__7__Impl_in_rule__ContinuationTransition__Group__735218);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group__7__Impl_in_rule__ContinuationTransition__Group__734910);
             rule__ContinuationTransition__Group__7__Impl();
 
             state._fsp--;
@@ -47758,31 +47522,31 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17350:1: rule__ContinuationTransition__Group__7__Impl : ( ( rule__ContinuationTransition__Group_7__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17194:1: rule__ContinuationTransition__Group__7__Impl : ( ( rule__ContinuationTransition__Group_7__0 )? ) ;
     public final void rule__ContinuationTransition__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17354:1: ( ( ( rule__ContinuationTransition__Group_7__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17355:1: ( ( rule__ContinuationTransition__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17198:1: ( ( ( rule__ContinuationTransition__Group_7__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17199:1: ( ( rule__ContinuationTransition__Group_7__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17355:1: ( ( rule__ContinuationTransition__Group_7__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17356:1: ( rule__ContinuationTransition__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17199:1: ( ( rule__ContinuationTransition__Group_7__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17200:1: ( rule__ContinuationTransition__Group_7__0 )?
             {
              before(grammarAccess.getContinuationTransitionAccess().getGroup_7()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17357:1: ( rule__ContinuationTransition__Group_7__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17201:1: ( rule__ContinuationTransition__Group_7__0 )?
             int alt169=2;
             int LA169_0 = input.LA(1);
 
-            if ( (LA169_0==40) ) {
+            if ( (LA169_0==41) ) {
                 alt169=1;
             }
             switch (alt169) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17357:2: rule__ContinuationTransition__Group_7__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17201:2: rule__ContinuationTransition__Group_7__0
                     {
-                    pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__0_in_rule__ContinuationTransition__Group__7__Impl35245);
+                    pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__0_in_rule__ContinuationTransition__Group__7__Impl34937);
                     rule__ContinuationTransition__Group_7__0();
 
                     state._fsp--;
@@ -47816,21 +47580,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17383:1: rule__ContinuationTransition__Group_7__0 : rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17227:1: rule__ContinuationTransition__Group_7__0 : rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1 ;
     public final void rule__ContinuationTransition__Group_7__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17387:1: ( rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17388:2: rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17231:1: ( rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17232:2: rule__ContinuationTransition__Group_7__0__Impl rule__ContinuationTransition__Group_7__1
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__0__Impl_in_rule__ContinuationTransition__Group_7__035292);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__0__Impl_in_rule__ContinuationTransition__Group_7__034984);
             rule__ContinuationTransition__Group_7__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__1_in_rule__ContinuationTransition__Group_7__035295);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__1_in_rule__ContinuationTransition__Group_7__034987);
             rule__ContinuationTransition__Group_7__1();
 
             state._fsp--;
@@ -47854,20 +47618,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17395:1: rule__ContinuationTransition__Group_7__0__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17239:1: rule__ContinuationTransition__Group_7__0__Impl : ( '{' ) ;
     public final void rule__ContinuationTransition__Group_7__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17399:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17400:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17243:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17244:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17400:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17401:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17244:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17245:1: '{'
             {
              before(grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_7_0()); 
-            match(input,40,FOLLOW_40_in_rule__ContinuationTransition__Group_7__0__Impl35323); 
+            match(input,41,FOLLOW_41_in_rule__ContinuationTransition__Group_7__0__Impl35015); 
              after(grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_7_0()); 
 
             }
@@ -47891,21 +47655,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17414:1: rule__ContinuationTransition__Group_7__1 : rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17258:1: rule__ContinuationTransition__Group_7__1 : rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2 ;
     public final void rule__ContinuationTransition__Group_7__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17418:1: ( rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17419:2: rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17262:1: ( rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17263:2: rule__ContinuationTransition__Group_7__1__Impl rule__ContinuationTransition__Group_7__2
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__1__Impl_in_rule__ContinuationTransition__Group_7__135354);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__1__Impl_in_rule__ContinuationTransition__Group_7__135046);
             rule__ContinuationTransition__Group_7__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__2_in_rule__ContinuationTransition__Group_7__135357);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__2_in_rule__ContinuationTransition__Group_7__135049);
             rule__ContinuationTransition__Group_7__2();
 
             state._fsp--;
@@ -47929,31 +47693,31 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17426:1: rule__ContinuationTransition__Group_7__1__Impl : ( ( rule__ContinuationTransition__Group_7_1__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17270:1: rule__ContinuationTransition__Group_7__1__Impl : ( ( rule__ContinuationTransition__Group_7_1__0 )? ) ;
     public final void rule__ContinuationTransition__Group_7__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17430:1: ( ( ( rule__ContinuationTransition__Group_7_1__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17431:1: ( ( rule__ContinuationTransition__Group_7_1__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17274:1: ( ( ( rule__ContinuationTransition__Group_7_1__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17275:1: ( ( rule__ContinuationTransition__Group_7_1__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17431:1: ( ( rule__ContinuationTransition__Group_7_1__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17432:1: ( rule__ContinuationTransition__Group_7_1__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17275:1: ( ( rule__ContinuationTransition__Group_7_1__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17276:1: ( rule__ContinuationTransition__Group_7_1__0 )?
             {
              before(grammarAccess.getContinuationTransitionAccess().getGroup_7_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17433:1: ( rule__ContinuationTransition__Group_7_1__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17277:1: ( rule__ContinuationTransition__Group_7_1__0 )?
             int alt170=2;
             int LA170_0 = input.LA(1);
 
-            if ( (LA170_0==105) ) {
+            if ( (LA170_0==106) ) {
                 alt170=1;
             }
             switch (alt170) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17433:2: rule__ContinuationTransition__Group_7_1__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17277:2: rule__ContinuationTransition__Group_7_1__0
                     {
-                    pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__0_in_rule__ContinuationTransition__Group_7__1__Impl35384);
+                    pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__0_in_rule__ContinuationTransition__Group_7__1__Impl35076);
                     rule__ContinuationTransition__Group_7_1__0();
 
                     state._fsp--;
@@ -47987,16 +47751,16 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17443:1: rule__ContinuationTransition__Group_7__2 : rule__ContinuationTransition__Group_7__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17287:1: rule__ContinuationTransition__Group_7__2 : rule__ContinuationTransition__Group_7__2__Impl ;
     public final void rule__ContinuationTransition__Group_7__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17447:1: ( rule__ContinuationTransition__Group_7__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17448:2: rule__ContinuationTransition__Group_7__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17291:1: ( rule__ContinuationTransition__Group_7__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17292:2: rule__ContinuationTransition__Group_7__2__Impl
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__2__Impl_in_rule__ContinuationTransition__Group_7__235415);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7__2__Impl_in_rule__ContinuationTransition__Group_7__235107);
             rule__ContinuationTransition__Group_7__2__Impl();
 
             state._fsp--;
@@ -48020,20 +47784,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17454:1: rule__ContinuationTransition__Group_7__2__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17298:1: rule__ContinuationTransition__Group_7__2__Impl : ( '}' ) ;
     public final void rule__ContinuationTransition__Group_7__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17458:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17459:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17302:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17303:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17459:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17460:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17303:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17304:1: '}'
             {
              before(grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_7_2()); 
-            match(input,41,FOLLOW_41_in_rule__ContinuationTransition__Group_7__2__Impl35443); 
+            match(input,42,FOLLOW_42_in_rule__ContinuationTransition__Group_7__2__Impl35135); 
              after(grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_7_2()); 
 
             }
@@ -48057,21 +47821,21 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17479:1: rule__ContinuationTransition__Group_7_1__0 : rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17323:1: rule__ContinuationTransition__Group_7_1__0 : rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1 ;
     public final void rule__ContinuationTransition__Group_7_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17483:1: ( rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17484:2: rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17327:1: ( rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17328:2: rule__ContinuationTransition__Group_7_1__0__Impl rule__ContinuationTransition__Group_7_1__1
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__0__Impl_in_rule__ContinuationTransition__Group_7_1__035480);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__0__Impl_in_rule__ContinuationTransition__Group_7_1__035172);
             rule__ContinuationTransition__Group_7_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__1_in_rule__ContinuationTransition__Group_7_1__035483);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__1_in_rule__ContinuationTransition__Group_7_1__035175);
             rule__ContinuationTransition__Group_7_1__1();
 
             state._fsp--;
@@ -48095,20 +47859,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17491:1: rule__ContinuationTransition__Group_7_1__0__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17335:1: rule__ContinuationTransition__Group_7_1__0__Impl : ( 'action' ) ;
     public final void rule__ContinuationTransition__Group_7_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17495:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17496:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17339:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17340:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17496:1: ( 'action' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17497:1: 'action'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17340:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17341:1: 'action'
             {
              before(grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_1_0()); 
-            match(input,105,FOLLOW_105_in_rule__ContinuationTransition__Group_7_1__0__Impl35511); 
+            match(input,106,FOLLOW_106_in_rule__ContinuationTransition__Group_7_1__0__Impl35203); 
              after(grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_1_0()); 
 
             }
@@ -48132,16 +47896,16 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17510:1: rule__ContinuationTransition__Group_7_1__1 : rule__ContinuationTransition__Group_7_1__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17354:1: rule__ContinuationTransition__Group_7_1__1 : rule__ContinuationTransition__Group_7_1__1__Impl ;
     public final void rule__ContinuationTransition__Group_7_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17514:1: ( rule__ContinuationTransition__Group_7_1__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17515:2: rule__ContinuationTransition__Group_7_1__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17358:1: ( rule__ContinuationTransition__Group_7_1__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17359:2: rule__ContinuationTransition__Group_7_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__1__Impl_in_rule__ContinuationTransition__Group_7_1__135542);
+            pushFollow(FOLLOW_rule__ContinuationTransition__Group_7_1__1__Impl_in_rule__ContinuationTransition__Group_7_1__135234);
             rule__ContinuationTransition__Group_7_1__1__Impl();
 
             state._fsp--;
@@ -48165,23 +47929,23 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__Group_7_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17521:1: rule__ContinuationTransition__Group_7_1__1__Impl : ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17365:1: rule__ContinuationTransition__Group_7_1__1__Impl : ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) ) ;
     public final void rule__ContinuationTransition__Group_7_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17525:1: ( ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17526:1: ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17369:1: ( ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17370:1: ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17526:1: ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17527:1: ( rule__ContinuationTransition__ActionAssignment_7_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17370:1: ( ( rule__ContinuationTransition__ActionAssignment_7_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17371:1: ( rule__ContinuationTransition__ActionAssignment_7_1_1 )
             {
              before(grammarAccess.getContinuationTransitionAccess().getActionAssignment_7_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17528:1: ( rule__ContinuationTransition__ActionAssignment_7_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17528:2: rule__ContinuationTransition__ActionAssignment_7_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17372:1: ( rule__ContinuationTransition__ActionAssignment_7_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17372:2: rule__ContinuationTransition__ActionAssignment_7_1_1
             {
-            pushFollow(FOLLOW_rule__ContinuationTransition__ActionAssignment_7_1_1_in_rule__ContinuationTransition__Group_7_1__1__Impl35569);
+            pushFollow(FOLLOW_rule__ContinuationTransition__ActionAssignment_7_1_1_in_rule__ContinuationTransition__Group_7_1__1__Impl35261);
             rule__ContinuationTransition__ActionAssignment_7_1_1();
 
             state._fsp--;
@@ -48212,21 +47976,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17542:1: rule__TriggeredTransition__Group__0 : rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17386:1: rule__TriggeredTransition__Group__0 : rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1 ;
     public final void rule__TriggeredTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17546:1: ( rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17547:2: rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17390:1: ( rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17391:2: rule__TriggeredTransition__Group__0__Impl rule__TriggeredTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__0__Impl_in_rule__TriggeredTransition__Group__035603);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__0__Impl_in_rule__TriggeredTransition__Group__035295);
             rule__TriggeredTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__1_in_rule__TriggeredTransition__Group__035606);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__1_in_rule__TriggeredTransition__Group__035298);
             rule__TriggeredTransition__Group__1();
 
             state._fsp--;
@@ -48250,20 +48014,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17554:1: rule__TriggeredTransition__Group__0__Impl : ( 'Transition' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17398:1: rule__TriggeredTransition__Group__0__Impl : ( 'Transition' ) ;
     public final void rule__TriggeredTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17558:1: ( ( 'Transition' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17559:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17402:1: ( ( 'Transition' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17403:1: ( 'Transition' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17559:1: ( 'Transition' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17560:1: 'Transition'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17403:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17404:1: 'Transition'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0()); 
-            match(input,103,FOLLOW_103_in_rule__TriggeredTransition__Group__0__Impl35634); 
+            match(input,104,FOLLOW_104_in_rule__TriggeredTransition__Group__0__Impl35326); 
              after(grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0()); 
 
             }
@@ -48287,21 +48051,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17573:1: rule__TriggeredTransition__Group__1 : rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17417:1: rule__TriggeredTransition__Group__1 : rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2 ;
     public final void rule__TriggeredTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17577:1: ( rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17578:2: rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17421:1: ( rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17422:2: rule__TriggeredTransition__Group__1__Impl rule__TriggeredTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__1__Impl_in_rule__TriggeredTransition__Group__135665);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__1__Impl_in_rule__TriggeredTransition__Group__135357);
             rule__TriggeredTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__2_in_rule__TriggeredTransition__Group__135668);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__2_in_rule__TriggeredTransition__Group__135360);
             rule__TriggeredTransition__Group__2();
 
             state._fsp--;
@@ -48325,20 +48089,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17585:1: rule__TriggeredTransition__Group__1__Impl : ( ( rule__TriggeredTransition__NameAssignment_1 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17429:1: rule__TriggeredTransition__Group__1__Impl : ( ( rule__TriggeredTransition__NameAssignment_1 )? ) ;
     public final void rule__TriggeredTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17589:1: ( ( ( rule__TriggeredTransition__NameAssignment_1 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17590:1: ( ( rule__TriggeredTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17433:1: ( ( ( rule__TriggeredTransition__NameAssignment_1 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17434:1: ( ( rule__TriggeredTransition__NameAssignment_1 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17590:1: ( ( rule__TriggeredTransition__NameAssignment_1 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17591:1: ( rule__TriggeredTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17434:1: ( ( rule__TriggeredTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17435:1: ( rule__TriggeredTransition__NameAssignment_1 )?
             {
              before(grammarAccess.getTriggeredTransitionAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17592:1: ( rule__TriggeredTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17436:1: ( rule__TriggeredTransition__NameAssignment_1 )?
             int alt171=2;
             int LA171_0 = input.LA(1);
 
@@ -48347,9 +48111,9 @@
             }
             switch (alt171) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17592:2: rule__TriggeredTransition__NameAssignment_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17436:2: rule__TriggeredTransition__NameAssignment_1
                     {
-                    pushFollow(FOLLOW_rule__TriggeredTransition__NameAssignment_1_in_rule__TriggeredTransition__Group__1__Impl35695);
+                    pushFollow(FOLLOW_rule__TriggeredTransition__NameAssignment_1_in_rule__TriggeredTransition__Group__1__Impl35387);
                     rule__TriggeredTransition__NameAssignment_1();
 
                     state._fsp--;
@@ -48383,21 +48147,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17602:1: rule__TriggeredTransition__Group__2 : rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17446:1: rule__TriggeredTransition__Group__2 : rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3 ;
     public final void rule__TriggeredTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17606:1: ( rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17607:2: rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17450:1: ( rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17451:2: rule__TriggeredTransition__Group__2__Impl rule__TriggeredTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__2__Impl_in_rule__TriggeredTransition__Group__235726);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__2__Impl_in_rule__TriggeredTransition__Group__235418);
             rule__TriggeredTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__3_in_rule__TriggeredTransition__Group__235729);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__3_in_rule__TriggeredTransition__Group__235421);
             rule__TriggeredTransition__Group__3();
 
             state._fsp--;
@@ -48421,20 +48185,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17614:1: rule__TriggeredTransition__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17458:1: rule__TriggeredTransition__Group__2__Impl : ( ':' ) ;
     public final void rule__TriggeredTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17618:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17619:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17462:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17463:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17619:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17620:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17463:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17464:1: ':'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2()); 
-            match(input,42,FOLLOW_42_in_rule__TriggeredTransition__Group__2__Impl35757); 
+            match(input,43,FOLLOW_43_in_rule__TriggeredTransition__Group__2__Impl35449); 
              after(grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2()); 
 
             }
@@ -48458,21 +48222,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17633:1: rule__TriggeredTransition__Group__3 : rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17477:1: rule__TriggeredTransition__Group__3 : rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4 ;
     public final void rule__TriggeredTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17637:1: ( rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17638:2: rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17481:1: ( rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17482:2: rule__TriggeredTransition__Group__3__Impl rule__TriggeredTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__3__Impl_in_rule__TriggeredTransition__Group__335788);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__3__Impl_in_rule__TriggeredTransition__Group__335480);
             rule__TriggeredTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__4_in_rule__TriggeredTransition__Group__335791);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__4_in_rule__TriggeredTransition__Group__335483);
             rule__TriggeredTransition__Group__4();
 
             state._fsp--;
@@ -48496,23 +48260,23 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17645:1: rule__TriggeredTransition__Group__3__Impl : ( ( rule__TriggeredTransition__FromAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17489:1: rule__TriggeredTransition__Group__3__Impl : ( ( rule__TriggeredTransition__FromAssignment_3 ) ) ;
     public final void rule__TriggeredTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17649:1: ( ( ( rule__TriggeredTransition__FromAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17650:1: ( ( rule__TriggeredTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17493:1: ( ( ( rule__TriggeredTransition__FromAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17494:1: ( ( rule__TriggeredTransition__FromAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17650:1: ( ( rule__TriggeredTransition__FromAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17651:1: ( rule__TriggeredTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17494:1: ( ( rule__TriggeredTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17495:1: ( rule__TriggeredTransition__FromAssignment_3 )
             {
              before(grammarAccess.getTriggeredTransitionAccess().getFromAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17652:1: ( rule__TriggeredTransition__FromAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17652:2: rule__TriggeredTransition__FromAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17496:1: ( rule__TriggeredTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17496:2: rule__TriggeredTransition__FromAssignment_3
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__FromAssignment_3_in_rule__TriggeredTransition__Group__3__Impl35818);
+            pushFollow(FOLLOW_rule__TriggeredTransition__FromAssignment_3_in_rule__TriggeredTransition__Group__3__Impl35510);
             rule__TriggeredTransition__FromAssignment_3();
 
             state._fsp--;
@@ -48543,21 +48307,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17662:1: rule__TriggeredTransition__Group__4 : rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17506:1: rule__TriggeredTransition__Group__4 : rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5 ;
     public final void rule__TriggeredTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17666:1: ( rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17667:2: rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17510:1: ( rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17511:2: rule__TriggeredTransition__Group__4__Impl rule__TriggeredTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__4__Impl_in_rule__TriggeredTransition__Group__435848);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__4__Impl_in_rule__TriggeredTransition__Group__435540);
             rule__TriggeredTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__5_in_rule__TriggeredTransition__Group__435851);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__5_in_rule__TriggeredTransition__Group__435543);
             rule__TriggeredTransition__Group__5();
 
             state._fsp--;
@@ -48581,20 +48345,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17674:1: rule__TriggeredTransition__Group__4__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17518:1: rule__TriggeredTransition__Group__4__Impl : ( '->' ) ;
     public final void rule__TriggeredTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17678:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17679:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17522:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17523:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17679:1: ( '->' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17680:1: '->'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17523:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17524:1: '->'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
-            match(input,44,FOLLOW_44_in_rule__TriggeredTransition__Group__4__Impl35879); 
+            match(input,45,FOLLOW_45_in_rule__TriggeredTransition__Group__4__Impl35571); 
              after(grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
 
             }
@@ -48618,21 +48382,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17693:1: rule__TriggeredTransition__Group__5 : rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17537:1: rule__TriggeredTransition__Group__5 : rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6 ;
     public final void rule__TriggeredTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17697:1: ( rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17698:2: rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17541:1: ( rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17542:2: rule__TriggeredTransition__Group__5__Impl rule__TriggeredTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__5__Impl_in_rule__TriggeredTransition__Group__535910);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__5__Impl_in_rule__TriggeredTransition__Group__535602);
             rule__TriggeredTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__6_in_rule__TriggeredTransition__Group__535913);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__6_in_rule__TriggeredTransition__Group__535605);
             rule__TriggeredTransition__Group__6();
 
             state._fsp--;
@@ -48656,23 +48420,23 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17705:1: rule__TriggeredTransition__Group__5__Impl : ( ( rule__TriggeredTransition__ToAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17549:1: rule__TriggeredTransition__Group__5__Impl : ( ( rule__TriggeredTransition__ToAssignment_5 ) ) ;
     public final void rule__TriggeredTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17709:1: ( ( ( rule__TriggeredTransition__ToAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17710:1: ( ( rule__TriggeredTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17553:1: ( ( ( rule__TriggeredTransition__ToAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17554:1: ( ( rule__TriggeredTransition__ToAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17710:1: ( ( rule__TriggeredTransition__ToAssignment_5 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17711:1: ( rule__TriggeredTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17554:1: ( ( rule__TriggeredTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17555:1: ( rule__TriggeredTransition__ToAssignment_5 )
             {
              before(grammarAccess.getTriggeredTransitionAccess().getToAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17712:1: ( rule__TriggeredTransition__ToAssignment_5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17712:2: rule__TriggeredTransition__ToAssignment_5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17556:1: ( rule__TriggeredTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17556:2: rule__TriggeredTransition__ToAssignment_5
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__ToAssignment_5_in_rule__TriggeredTransition__Group__5__Impl35940);
+            pushFollow(FOLLOW_rule__TriggeredTransition__ToAssignment_5_in_rule__TriggeredTransition__Group__5__Impl35632);
             rule__TriggeredTransition__ToAssignment_5();
 
             state._fsp--;
@@ -48703,21 +48467,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17722:1: rule__TriggeredTransition__Group__6 : rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17566:1: rule__TriggeredTransition__Group__6 : rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7 ;
     public final void rule__TriggeredTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17726:1: ( rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17727:2: rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17570:1: ( rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17571:2: rule__TriggeredTransition__Group__6__Impl rule__TriggeredTransition__Group__7
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__6__Impl_in_rule__TriggeredTransition__Group__635970);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__6__Impl_in_rule__TriggeredTransition__Group__635662);
             rule__TriggeredTransition__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__7_in_rule__TriggeredTransition__Group__635973);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__7_in_rule__TriggeredTransition__Group__635665);
             rule__TriggeredTransition__Group__7();
 
             state._fsp--;
@@ -48741,31 +48505,31 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17734:1: rule__TriggeredTransition__Group__6__Impl : ( ( rule__TriggeredTransition__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17578:1: rule__TriggeredTransition__Group__6__Impl : ( ( rule__TriggeredTransition__DocuAssignment_6 )? ) ;
     public final void rule__TriggeredTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17738:1: ( ( ( rule__TriggeredTransition__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17739:1: ( ( rule__TriggeredTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17582:1: ( ( ( rule__TriggeredTransition__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17583:1: ( ( rule__TriggeredTransition__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17739:1: ( ( rule__TriggeredTransition__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17740:1: ( rule__TriggeredTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17583:1: ( ( rule__TriggeredTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17584:1: ( rule__TriggeredTransition__DocuAssignment_6 )?
             {
              before(grammarAccess.getTriggeredTransitionAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17741:1: ( rule__TriggeredTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17585:1: ( rule__TriggeredTransition__DocuAssignment_6 )?
             int alt172=2;
             int LA172_0 = input.LA(1);
 
-            if ( (LA172_0==58) ) {
+            if ( (LA172_0==59) ) {
                 alt172=1;
             }
             switch (alt172) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17741:2: rule__TriggeredTransition__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17585:2: rule__TriggeredTransition__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__TriggeredTransition__DocuAssignment_6_in_rule__TriggeredTransition__Group__6__Impl36000);
+                    pushFollow(FOLLOW_rule__TriggeredTransition__DocuAssignment_6_in_rule__TriggeredTransition__Group__6__Impl35692);
                     rule__TriggeredTransition__DocuAssignment_6();
 
                     state._fsp--;
@@ -48799,21 +48563,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17751:1: rule__TriggeredTransition__Group__7 : rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17595:1: rule__TriggeredTransition__Group__7 : rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8 ;
     public final void rule__TriggeredTransition__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17755:1: ( rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17756:2: rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17599:1: ( rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17600:2: rule__TriggeredTransition__Group__7__Impl rule__TriggeredTransition__Group__8
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__7__Impl_in_rule__TriggeredTransition__Group__736031);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__7__Impl_in_rule__TriggeredTransition__Group__735723);
             rule__TriggeredTransition__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__8_in_rule__TriggeredTransition__Group__736034);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__8_in_rule__TriggeredTransition__Group__735726);
             rule__TriggeredTransition__Group__8();
 
             state._fsp--;
@@ -48837,20 +48601,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17763:1: rule__TriggeredTransition__Group__7__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17607:1: rule__TriggeredTransition__Group__7__Impl : ( '{' ) ;
     public final void rule__TriggeredTransition__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17767:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17768:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17611:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17612:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17768:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17769:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17612:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17613:1: '{'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_7()); 
-            match(input,40,FOLLOW_40_in_rule__TriggeredTransition__Group__7__Impl36062); 
+            match(input,41,FOLLOW_41_in_rule__TriggeredTransition__Group__7__Impl35754); 
              after(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_7()); 
 
             }
@@ -48874,21 +48638,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17782:1: rule__TriggeredTransition__Group__8 : rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17626:1: rule__TriggeredTransition__Group__8 : rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9 ;
     public final void rule__TriggeredTransition__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17786:1: ( rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17787:2: rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17630:1: ( rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17631:2: rule__TriggeredTransition__Group__8__Impl rule__TriggeredTransition__Group__9
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__8__Impl_in_rule__TriggeredTransition__Group__836093);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__8__Impl_in_rule__TriggeredTransition__Group__835785);
             rule__TriggeredTransition__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__9_in_rule__TriggeredTransition__Group__836096);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__9_in_rule__TriggeredTransition__Group__835788);
             rule__TriggeredTransition__Group__9();
 
             state._fsp--;
@@ -48912,20 +48676,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__8__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17794:1: rule__TriggeredTransition__Group__8__Impl : ( 'triggers' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17638:1: rule__TriggeredTransition__Group__8__Impl : ( 'triggers' ) ;
     public final void rule__TriggeredTransition__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17798:1: ( ( 'triggers' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17799:1: ( 'triggers' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17642:1: ( ( 'triggers' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17643:1: ( 'triggers' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17799:1: ( 'triggers' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17800:1: 'triggers'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17643:1: ( 'triggers' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17644:1: 'triggers'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_8()); 
-            match(input,106,FOLLOW_106_in_rule__TriggeredTransition__Group__8__Impl36124); 
+            match(input,107,FOLLOW_107_in_rule__TriggeredTransition__Group__8__Impl35816); 
              after(grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_8()); 
 
             }
@@ -48949,21 +48713,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17813:1: rule__TriggeredTransition__Group__9 : rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17657:1: rule__TriggeredTransition__Group__9 : rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10 ;
     public final void rule__TriggeredTransition__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17817:1: ( rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17818:2: rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17661:1: ( rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17662:2: rule__TriggeredTransition__Group__9__Impl rule__TriggeredTransition__Group__10
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__9__Impl_in_rule__TriggeredTransition__Group__936155);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__9__Impl_in_rule__TriggeredTransition__Group__935847);
             rule__TriggeredTransition__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__10_in_rule__TriggeredTransition__Group__936158);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__10_in_rule__TriggeredTransition__Group__935850);
             rule__TriggeredTransition__Group__10();
 
             state._fsp--;
@@ -48987,20 +48751,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__9__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17825:1: rule__TriggeredTransition__Group__9__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17669:1: rule__TriggeredTransition__Group__9__Impl : ( '{' ) ;
     public final void rule__TriggeredTransition__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17829:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17830:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17673:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17674:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17830:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17831:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17674:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17675:1: '{'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_9()); 
-            match(input,40,FOLLOW_40_in_rule__TriggeredTransition__Group__9__Impl36186); 
+            match(input,41,FOLLOW_41_in_rule__TriggeredTransition__Group__9__Impl35878); 
              after(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_9()); 
 
             }
@@ -49024,21 +48788,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__10"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17844:1: rule__TriggeredTransition__Group__10 : rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17688:1: rule__TriggeredTransition__Group__10 : rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11 ;
     public final void rule__TriggeredTransition__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17848:1: ( rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17849:2: rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17692:1: ( rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17693:2: rule__TriggeredTransition__Group__10__Impl rule__TriggeredTransition__Group__11
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__10__Impl_in_rule__TriggeredTransition__Group__1036217);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__10__Impl_in_rule__TriggeredTransition__Group__1035909);
             rule__TriggeredTransition__Group__10__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__11_in_rule__TriggeredTransition__Group__1036220);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__11_in_rule__TriggeredTransition__Group__1035912);
             rule__TriggeredTransition__Group__11();
 
             state._fsp--;
@@ -49062,23 +48826,23 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__10__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17856:1: rule__TriggeredTransition__Group__10__Impl : ( ( rule__TriggeredTransition__TriggersAssignment_10 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17700:1: rule__TriggeredTransition__Group__10__Impl : ( ( rule__TriggeredTransition__TriggersAssignment_10 ) ) ;
     public final void rule__TriggeredTransition__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17860:1: ( ( ( rule__TriggeredTransition__TriggersAssignment_10 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17861:1: ( ( rule__TriggeredTransition__TriggersAssignment_10 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17704:1: ( ( ( rule__TriggeredTransition__TriggersAssignment_10 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17705:1: ( ( rule__TriggeredTransition__TriggersAssignment_10 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17861:1: ( ( rule__TriggeredTransition__TriggersAssignment_10 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17862:1: ( rule__TriggeredTransition__TriggersAssignment_10 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17705:1: ( ( rule__TriggeredTransition__TriggersAssignment_10 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17706:1: ( rule__TriggeredTransition__TriggersAssignment_10 )
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_10()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17863:1: ( rule__TriggeredTransition__TriggersAssignment_10 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17863:2: rule__TriggeredTransition__TriggersAssignment_10
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17707:1: ( rule__TriggeredTransition__TriggersAssignment_10 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17707:2: rule__TriggeredTransition__TriggersAssignment_10
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__TriggersAssignment_10_in_rule__TriggeredTransition__Group__10__Impl36247);
+            pushFollow(FOLLOW_rule__TriggeredTransition__TriggersAssignment_10_in_rule__TriggeredTransition__Group__10__Impl35939);
             rule__TriggeredTransition__TriggersAssignment_10();
 
             state._fsp--;
@@ -49109,21 +48873,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__11"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17873:1: rule__TriggeredTransition__Group__11 : rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17717:1: rule__TriggeredTransition__Group__11 : rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12 ;
     public final void rule__TriggeredTransition__Group__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17877:1: ( rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17878:2: rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17721:1: ( rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17722:2: rule__TriggeredTransition__Group__11__Impl rule__TriggeredTransition__Group__12
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__11__Impl_in_rule__TriggeredTransition__Group__1136277);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__11__Impl_in_rule__TriggeredTransition__Group__1135969);
             rule__TriggeredTransition__Group__11__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__12_in_rule__TriggeredTransition__Group__1136280);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__12_in_rule__TriggeredTransition__Group__1135972);
             rule__TriggeredTransition__Group__12();
 
             state._fsp--;
@@ -49147,35 +48911,35 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__11__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17885:1: rule__TriggeredTransition__Group__11__Impl : ( ( rule__TriggeredTransition__Group_11__0 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17729:1: rule__TriggeredTransition__Group__11__Impl : ( ( rule__TriggeredTransition__Group_11__0 )* ) ;
     public final void rule__TriggeredTransition__Group__11__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17889:1: ( ( ( rule__TriggeredTransition__Group_11__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17890:1: ( ( rule__TriggeredTransition__Group_11__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17733:1: ( ( ( rule__TriggeredTransition__Group_11__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17734:1: ( ( rule__TriggeredTransition__Group_11__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17890:1: ( ( rule__TriggeredTransition__Group_11__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17891:1: ( rule__TriggeredTransition__Group_11__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17734:1: ( ( rule__TriggeredTransition__Group_11__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17735:1: ( rule__TriggeredTransition__Group_11__0 )*
             {
              before(grammarAccess.getTriggeredTransitionAccess().getGroup_11()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17892:1: ( rule__TriggeredTransition__Group_11__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17736:1: ( rule__TriggeredTransition__Group_11__0 )*
             loop173:
             do {
                 int alt173=2;
                 int LA173_0 = input.LA(1);
 
-                if ( (LA173_0==107) ) {
+                if ( (LA173_0==108) ) {
                     alt173=1;
                 }
 
 
                 switch (alt173) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17892:2: rule__TriggeredTransition__Group_11__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17736:2: rule__TriggeredTransition__Group_11__0
             	    {
-            	    pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__0_in_rule__TriggeredTransition__Group__11__Impl36307);
+            	    pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__0_in_rule__TriggeredTransition__Group__11__Impl35999);
             	    rule__TriggeredTransition__Group_11__0();
 
             	    state._fsp--;
@@ -49212,21 +48976,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__12"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17902:1: rule__TriggeredTransition__Group__12 : rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17746:1: rule__TriggeredTransition__Group__12 : rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13 ;
     public final void rule__TriggeredTransition__Group__12() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17906:1: ( rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17907:2: rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17750:1: ( rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17751:2: rule__TriggeredTransition__Group__12__Impl rule__TriggeredTransition__Group__13
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__12__Impl_in_rule__TriggeredTransition__Group__1236338);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__12__Impl_in_rule__TriggeredTransition__Group__1236030);
             rule__TriggeredTransition__Group__12__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__13_in_rule__TriggeredTransition__Group__1236341);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__13_in_rule__TriggeredTransition__Group__1236033);
             rule__TriggeredTransition__Group__13();
 
             state._fsp--;
@@ -49250,20 +49014,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__12__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17914:1: rule__TriggeredTransition__Group__12__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17758:1: rule__TriggeredTransition__Group__12__Impl : ( '}' ) ;
     public final void rule__TriggeredTransition__Group__12__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17918:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17919:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17762:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17763:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17919:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17920:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17763:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17764:1: '}'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_12()); 
-            match(input,41,FOLLOW_41_in_rule__TriggeredTransition__Group__12__Impl36369); 
+            match(input,42,FOLLOW_42_in_rule__TriggeredTransition__Group__12__Impl36061); 
              after(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_12()); 
 
             }
@@ -49287,21 +49051,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__13"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17933:1: rule__TriggeredTransition__Group__13 : rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17777:1: rule__TriggeredTransition__Group__13 : rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14 ;
     public final void rule__TriggeredTransition__Group__13() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17937:1: ( rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17938:2: rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17781:1: ( rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17782:2: rule__TriggeredTransition__Group__13__Impl rule__TriggeredTransition__Group__14
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__13__Impl_in_rule__TriggeredTransition__Group__1336400);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__13__Impl_in_rule__TriggeredTransition__Group__1336092);
             rule__TriggeredTransition__Group__13__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__14_in_rule__TriggeredTransition__Group__1336403);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__14_in_rule__TriggeredTransition__Group__1336095);
             rule__TriggeredTransition__Group__14();
 
             state._fsp--;
@@ -49325,31 +49089,31 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__13__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17945:1: rule__TriggeredTransition__Group__13__Impl : ( ( rule__TriggeredTransition__Group_13__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17789:1: rule__TriggeredTransition__Group__13__Impl : ( ( rule__TriggeredTransition__Group_13__0 )? ) ;
     public final void rule__TriggeredTransition__Group__13__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17949:1: ( ( ( rule__TriggeredTransition__Group_13__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17950:1: ( ( rule__TriggeredTransition__Group_13__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17793:1: ( ( ( rule__TriggeredTransition__Group_13__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17794:1: ( ( rule__TriggeredTransition__Group_13__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17950:1: ( ( rule__TriggeredTransition__Group_13__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17951:1: ( rule__TriggeredTransition__Group_13__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17794:1: ( ( rule__TriggeredTransition__Group_13__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17795:1: ( rule__TriggeredTransition__Group_13__0 )?
             {
              before(grammarAccess.getTriggeredTransitionAccess().getGroup_13()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17952:1: ( rule__TriggeredTransition__Group_13__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17796:1: ( rule__TriggeredTransition__Group_13__0 )?
             int alt174=2;
             int LA174_0 = input.LA(1);
 
-            if ( (LA174_0==105) ) {
+            if ( (LA174_0==106) ) {
                 alt174=1;
             }
             switch (alt174) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17952:2: rule__TriggeredTransition__Group_13__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17796:2: rule__TriggeredTransition__Group_13__0
                     {
-                    pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__0_in_rule__TriggeredTransition__Group__13__Impl36430);
+                    pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__0_in_rule__TriggeredTransition__Group__13__Impl36122);
                     rule__TriggeredTransition__Group_13__0();
 
                     state._fsp--;
@@ -49383,16 +49147,16 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__14"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17962:1: rule__TriggeredTransition__Group__14 : rule__TriggeredTransition__Group__14__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17806:1: rule__TriggeredTransition__Group__14 : rule__TriggeredTransition__Group__14__Impl ;
     public final void rule__TriggeredTransition__Group__14() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17966:1: ( rule__TriggeredTransition__Group__14__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17967:2: rule__TriggeredTransition__Group__14__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17810:1: ( rule__TriggeredTransition__Group__14__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17811:2: rule__TriggeredTransition__Group__14__Impl
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group__14__Impl_in_rule__TriggeredTransition__Group__1436461);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group__14__Impl_in_rule__TriggeredTransition__Group__1436153);
             rule__TriggeredTransition__Group__14__Impl();
 
             state._fsp--;
@@ -49416,20 +49180,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group__14__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17973:1: rule__TriggeredTransition__Group__14__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17817:1: rule__TriggeredTransition__Group__14__Impl : ( '}' ) ;
     public final void rule__TriggeredTransition__Group__14__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17977:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17978:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17821:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17822:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17978:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17979:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17822:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17823:1: '}'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_14()); 
-            match(input,41,FOLLOW_41_in_rule__TriggeredTransition__Group__14__Impl36489); 
+            match(input,42,FOLLOW_42_in_rule__TriggeredTransition__Group__14__Impl36181); 
              after(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_14()); 
 
             }
@@ -49453,21 +49217,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_11__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18022:1: rule__TriggeredTransition__Group_11__0 : rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17866:1: rule__TriggeredTransition__Group_11__0 : rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1 ;
     public final void rule__TriggeredTransition__Group_11__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18026:1: ( rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18027:2: rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17870:1: ( rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17871:2: rule__TriggeredTransition__Group_11__0__Impl rule__TriggeredTransition__Group_11__1
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__0__Impl_in_rule__TriggeredTransition__Group_11__036550);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__0__Impl_in_rule__TriggeredTransition__Group_11__036242);
             rule__TriggeredTransition__Group_11__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__1_in_rule__TriggeredTransition__Group_11__036553);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__1_in_rule__TriggeredTransition__Group_11__036245);
             rule__TriggeredTransition__Group_11__1();
 
             state._fsp--;
@@ -49491,20 +49255,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_11__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18034:1: rule__TriggeredTransition__Group_11__0__Impl : ( 'or' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17878:1: rule__TriggeredTransition__Group_11__0__Impl : ( 'or' ) ;
     public final void rule__TriggeredTransition__Group_11__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18038:1: ( ( 'or' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18039:1: ( 'or' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17882:1: ( ( 'or' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17883:1: ( 'or' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18039:1: ( 'or' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18040:1: 'or'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17883:1: ( 'or' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17884:1: 'or'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getOrKeyword_11_0()); 
-            match(input,107,FOLLOW_107_in_rule__TriggeredTransition__Group_11__0__Impl36581); 
+            match(input,108,FOLLOW_108_in_rule__TriggeredTransition__Group_11__0__Impl36273); 
              after(grammarAccess.getTriggeredTransitionAccess().getOrKeyword_11_0()); 
 
             }
@@ -49528,16 +49292,16 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_11__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18053:1: rule__TriggeredTransition__Group_11__1 : rule__TriggeredTransition__Group_11__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17897:1: rule__TriggeredTransition__Group_11__1 : rule__TriggeredTransition__Group_11__1__Impl ;
     public final void rule__TriggeredTransition__Group_11__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18057:1: ( rule__TriggeredTransition__Group_11__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18058:2: rule__TriggeredTransition__Group_11__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17901:1: ( rule__TriggeredTransition__Group_11__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17902:2: rule__TriggeredTransition__Group_11__1__Impl
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__1__Impl_in_rule__TriggeredTransition__Group_11__136612);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_11__1__Impl_in_rule__TriggeredTransition__Group_11__136304);
             rule__TriggeredTransition__Group_11__1__Impl();
 
             state._fsp--;
@@ -49561,23 +49325,23 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_11__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18064:1: rule__TriggeredTransition__Group_11__1__Impl : ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17908:1: rule__TriggeredTransition__Group_11__1__Impl : ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) ) ;
     public final void rule__TriggeredTransition__Group_11__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18068:1: ( ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18069:1: ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17912:1: ( ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17913:1: ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18069:1: ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18070:1: ( rule__TriggeredTransition__TriggersAssignment_11_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17913:1: ( ( rule__TriggeredTransition__TriggersAssignment_11_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17914:1: ( rule__TriggeredTransition__TriggersAssignment_11_1 )
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_11_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18071:1: ( rule__TriggeredTransition__TriggersAssignment_11_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18071:2: rule__TriggeredTransition__TriggersAssignment_11_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17915:1: ( rule__TriggeredTransition__TriggersAssignment_11_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17915:2: rule__TriggeredTransition__TriggersAssignment_11_1
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__TriggersAssignment_11_1_in_rule__TriggeredTransition__Group_11__1__Impl36639);
+            pushFollow(FOLLOW_rule__TriggeredTransition__TriggersAssignment_11_1_in_rule__TriggeredTransition__Group_11__1__Impl36331);
             rule__TriggeredTransition__TriggersAssignment_11_1();
 
             state._fsp--;
@@ -49608,21 +49372,21 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_13__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18085:1: rule__TriggeredTransition__Group_13__0 : rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17929:1: rule__TriggeredTransition__Group_13__0 : rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1 ;
     public final void rule__TriggeredTransition__Group_13__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18089:1: ( rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18090:2: rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17933:1: ( rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17934:2: rule__TriggeredTransition__Group_13__0__Impl rule__TriggeredTransition__Group_13__1
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__0__Impl_in_rule__TriggeredTransition__Group_13__036673);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__0__Impl_in_rule__TriggeredTransition__Group_13__036365);
             rule__TriggeredTransition__Group_13__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__1_in_rule__TriggeredTransition__Group_13__036676);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__1_in_rule__TriggeredTransition__Group_13__036368);
             rule__TriggeredTransition__Group_13__1();
 
             state._fsp--;
@@ -49646,20 +49410,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_13__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18097:1: rule__TriggeredTransition__Group_13__0__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17941:1: rule__TriggeredTransition__Group_13__0__Impl : ( 'action' ) ;
     public final void rule__TriggeredTransition__Group_13__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18101:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18102:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17945:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17946:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18102:1: ( 'action' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18103:1: 'action'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17946:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17947:1: 'action'
             {
              before(grammarAccess.getTriggeredTransitionAccess().getActionKeyword_13_0()); 
-            match(input,105,FOLLOW_105_in_rule__TriggeredTransition__Group_13__0__Impl36704); 
+            match(input,106,FOLLOW_106_in_rule__TriggeredTransition__Group_13__0__Impl36396); 
              after(grammarAccess.getTriggeredTransitionAccess().getActionKeyword_13_0()); 
 
             }
@@ -49683,16 +49447,16 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_13__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18116:1: rule__TriggeredTransition__Group_13__1 : rule__TriggeredTransition__Group_13__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17960:1: rule__TriggeredTransition__Group_13__1 : rule__TriggeredTransition__Group_13__1__Impl ;
     public final void rule__TriggeredTransition__Group_13__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18120:1: ( rule__TriggeredTransition__Group_13__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18121:2: rule__TriggeredTransition__Group_13__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17964:1: ( rule__TriggeredTransition__Group_13__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17965:2: rule__TriggeredTransition__Group_13__1__Impl
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__1__Impl_in_rule__TriggeredTransition__Group_13__136735);
+            pushFollow(FOLLOW_rule__TriggeredTransition__Group_13__1__Impl_in_rule__TriggeredTransition__Group_13__136427);
             rule__TriggeredTransition__Group_13__1__Impl();
 
             state._fsp--;
@@ -49716,23 +49480,23 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__Group_13__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18127:1: rule__TriggeredTransition__Group_13__1__Impl : ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17971:1: rule__TriggeredTransition__Group_13__1__Impl : ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) ) ;
     public final void rule__TriggeredTransition__Group_13__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18131:1: ( ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18132:1: ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17975:1: ( ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17976:1: ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18132:1: ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18133:1: ( rule__TriggeredTransition__ActionAssignment_13_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17976:1: ( ( rule__TriggeredTransition__ActionAssignment_13_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17977:1: ( rule__TriggeredTransition__ActionAssignment_13_1 )
             {
              before(grammarAccess.getTriggeredTransitionAccess().getActionAssignment_13_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18134:1: ( rule__TriggeredTransition__ActionAssignment_13_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18134:2: rule__TriggeredTransition__ActionAssignment_13_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17978:1: ( rule__TriggeredTransition__ActionAssignment_13_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17978:2: rule__TriggeredTransition__ActionAssignment_13_1
             {
-            pushFollow(FOLLOW_rule__TriggeredTransition__ActionAssignment_13_1_in_rule__TriggeredTransition__Group_13__1__Impl36762);
+            pushFollow(FOLLOW_rule__TriggeredTransition__ActionAssignment_13_1_in_rule__TriggeredTransition__Group_13__1__Impl36454);
             rule__TriggeredTransition__ActionAssignment_13_1();
 
             state._fsp--;
@@ -49763,21 +49527,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18148:1: rule__GuardedTransition__Group__0 : rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17992:1: rule__GuardedTransition__Group__0 : rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1 ;
     public final void rule__GuardedTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18152:1: ( rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18153:2: rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17996:1: ( rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:17997:2: rule__GuardedTransition__Group__0__Impl rule__GuardedTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__0__Impl_in_rule__GuardedTransition__Group__036796);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__0__Impl_in_rule__GuardedTransition__Group__036488);
             rule__GuardedTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__1_in_rule__GuardedTransition__Group__036799);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__1_in_rule__GuardedTransition__Group__036491);
             rule__GuardedTransition__Group__1();
 
             state._fsp--;
@@ -49801,20 +49565,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18160:1: rule__GuardedTransition__Group__0__Impl : ( 'Transition' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18004:1: rule__GuardedTransition__Group__0__Impl : ( 'Transition' ) ;
     public final void rule__GuardedTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18164:1: ( ( 'Transition' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18165:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18008:1: ( ( 'Transition' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18009:1: ( 'Transition' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18165:1: ( 'Transition' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18166:1: 'Transition'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18009:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18010:1: 'Transition'
             {
              before(grammarAccess.getGuardedTransitionAccess().getTransitionKeyword_0()); 
-            match(input,103,FOLLOW_103_in_rule__GuardedTransition__Group__0__Impl36827); 
+            match(input,104,FOLLOW_104_in_rule__GuardedTransition__Group__0__Impl36519); 
              after(grammarAccess.getGuardedTransitionAccess().getTransitionKeyword_0()); 
 
             }
@@ -49838,21 +49602,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18179:1: rule__GuardedTransition__Group__1 : rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18023:1: rule__GuardedTransition__Group__1 : rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2 ;
     public final void rule__GuardedTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18183:1: ( rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18184:2: rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18027:1: ( rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18028:2: rule__GuardedTransition__Group__1__Impl rule__GuardedTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__1__Impl_in_rule__GuardedTransition__Group__136858);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__1__Impl_in_rule__GuardedTransition__Group__136550);
             rule__GuardedTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__2_in_rule__GuardedTransition__Group__136861);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__2_in_rule__GuardedTransition__Group__136553);
             rule__GuardedTransition__Group__2();
 
             state._fsp--;
@@ -49876,20 +49640,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18191:1: rule__GuardedTransition__Group__1__Impl : ( ( rule__GuardedTransition__NameAssignment_1 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18035:1: rule__GuardedTransition__Group__1__Impl : ( ( rule__GuardedTransition__NameAssignment_1 )? ) ;
     public final void rule__GuardedTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18195:1: ( ( ( rule__GuardedTransition__NameAssignment_1 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18196:1: ( ( rule__GuardedTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18039:1: ( ( ( rule__GuardedTransition__NameAssignment_1 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18040:1: ( ( rule__GuardedTransition__NameAssignment_1 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18196:1: ( ( rule__GuardedTransition__NameAssignment_1 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18197:1: ( rule__GuardedTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18040:1: ( ( rule__GuardedTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18041:1: ( rule__GuardedTransition__NameAssignment_1 )?
             {
              before(grammarAccess.getGuardedTransitionAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18198:1: ( rule__GuardedTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18042:1: ( rule__GuardedTransition__NameAssignment_1 )?
             int alt175=2;
             int LA175_0 = input.LA(1);
 
@@ -49898,9 +49662,9 @@
             }
             switch (alt175) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18198:2: rule__GuardedTransition__NameAssignment_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18042:2: rule__GuardedTransition__NameAssignment_1
                     {
-                    pushFollow(FOLLOW_rule__GuardedTransition__NameAssignment_1_in_rule__GuardedTransition__Group__1__Impl36888);
+                    pushFollow(FOLLOW_rule__GuardedTransition__NameAssignment_1_in_rule__GuardedTransition__Group__1__Impl36580);
                     rule__GuardedTransition__NameAssignment_1();
 
                     state._fsp--;
@@ -49934,21 +49698,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18208:1: rule__GuardedTransition__Group__2 : rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18052:1: rule__GuardedTransition__Group__2 : rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3 ;
     public final void rule__GuardedTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18212:1: ( rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18213:2: rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18056:1: ( rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18057:2: rule__GuardedTransition__Group__2__Impl rule__GuardedTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__2__Impl_in_rule__GuardedTransition__Group__236919);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__2__Impl_in_rule__GuardedTransition__Group__236611);
             rule__GuardedTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__3_in_rule__GuardedTransition__Group__236922);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__3_in_rule__GuardedTransition__Group__236614);
             rule__GuardedTransition__Group__3();
 
             state._fsp--;
@@ -49972,20 +49736,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18220:1: rule__GuardedTransition__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18064:1: rule__GuardedTransition__Group__2__Impl : ( ':' ) ;
     public final void rule__GuardedTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18224:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18225:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18068:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18069:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18225:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18226:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18069:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18070:1: ':'
             {
              before(grammarAccess.getGuardedTransitionAccess().getColonKeyword_2()); 
-            match(input,42,FOLLOW_42_in_rule__GuardedTransition__Group__2__Impl36950); 
+            match(input,43,FOLLOW_43_in_rule__GuardedTransition__Group__2__Impl36642); 
              after(grammarAccess.getGuardedTransitionAccess().getColonKeyword_2()); 
 
             }
@@ -50009,21 +49773,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18239:1: rule__GuardedTransition__Group__3 : rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18083:1: rule__GuardedTransition__Group__3 : rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4 ;
     public final void rule__GuardedTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18243:1: ( rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18244:2: rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18087:1: ( rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18088:2: rule__GuardedTransition__Group__3__Impl rule__GuardedTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__3__Impl_in_rule__GuardedTransition__Group__336981);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__3__Impl_in_rule__GuardedTransition__Group__336673);
             rule__GuardedTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__4_in_rule__GuardedTransition__Group__336984);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__4_in_rule__GuardedTransition__Group__336676);
             rule__GuardedTransition__Group__4();
 
             state._fsp--;
@@ -50047,23 +49811,23 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18251:1: rule__GuardedTransition__Group__3__Impl : ( ( rule__GuardedTransition__FromAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18095:1: rule__GuardedTransition__Group__3__Impl : ( ( rule__GuardedTransition__FromAssignment_3 ) ) ;
     public final void rule__GuardedTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18255:1: ( ( ( rule__GuardedTransition__FromAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18256:1: ( ( rule__GuardedTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18099:1: ( ( ( rule__GuardedTransition__FromAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18100:1: ( ( rule__GuardedTransition__FromAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18256:1: ( ( rule__GuardedTransition__FromAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18257:1: ( rule__GuardedTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18100:1: ( ( rule__GuardedTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18101:1: ( rule__GuardedTransition__FromAssignment_3 )
             {
              before(grammarAccess.getGuardedTransitionAccess().getFromAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18258:1: ( rule__GuardedTransition__FromAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18258:2: rule__GuardedTransition__FromAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18102:1: ( rule__GuardedTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18102:2: rule__GuardedTransition__FromAssignment_3
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__FromAssignment_3_in_rule__GuardedTransition__Group__3__Impl37011);
+            pushFollow(FOLLOW_rule__GuardedTransition__FromAssignment_3_in_rule__GuardedTransition__Group__3__Impl36703);
             rule__GuardedTransition__FromAssignment_3();
 
             state._fsp--;
@@ -50094,21 +49858,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18268:1: rule__GuardedTransition__Group__4 : rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18112:1: rule__GuardedTransition__Group__4 : rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5 ;
     public final void rule__GuardedTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18272:1: ( rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18273:2: rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18116:1: ( rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18117:2: rule__GuardedTransition__Group__4__Impl rule__GuardedTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__4__Impl_in_rule__GuardedTransition__Group__437041);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__4__Impl_in_rule__GuardedTransition__Group__436733);
             rule__GuardedTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__5_in_rule__GuardedTransition__Group__437044);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__5_in_rule__GuardedTransition__Group__436736);
             rule__GuardedTransition__Group__5();
 
             state._fsp--;
@@ -50132,20 +49896,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18280:1: rule__GuardedTransition__Group__4__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18124:1: rule__GuardedTransition__Group__4__Impl : ( '->' ) ;
     public final void rule__GuardedTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18284:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18285:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18128:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18129:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18285:1: ( '->' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18286:1: '->'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18129:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18130:1: '->'
             {
              before(grammarAccess.getGuardedTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
-            match(input,44,FOLLOW_44_in_rule__GuardedTransition__Group__4__Impl37072); 
+            match(input,45,FOLLOW_45_in_rule__GuardedTransition__Group__4__Impl36764); 
              after(grammarAccess.getGuardedTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
 
             }
@@ -50169,21 +49933,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18299:1: rule__GuardedTransition__Group__5 : rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18143:1: rule__GuardedTransition__Group__5 : rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6 ;
     public final void rule__GuardedTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18303:1: ( rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18304:2: rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18147:1: ( rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18148:2: rule__GuardedTransition__Group__5__Impl rule__GuardedTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__5__Impl_in_rule__GuardedTransition__Group__537103);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__5__Impl_in_rule__GuardedTransition__Group__536795);
             rule__GuardedTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__6_in_rule__GuardedTransition__Group__537106);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__6_in_rule__GuardedTransition__Group__536798);
             rule__GuardedTransition__Group__6();
 
             state._fsp--;
@@ -50207,23 +49971,23 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18311:1: rule__GuardedTransition__Group__5__Impl : ( ( rule__GuardedTransition__ToAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18155:1: rule__GuardedTransition__Group__5__Impl : ( ( rule__GuardedTransition__ToAssignment_5 ) ) ;
     public final void rule__GuardedTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18315:1: ( ( ( rule__GuardedTransition__ToAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18316:1: ( ( rule__GuardedTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18159:1: ( ( ( rule__GuardedTransition__ToAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18160:1: ( ( rule__GuardedTransition__ToAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18316:1: ( ( rule__GuardedTransition__ToAssignment_5 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18317:1: ( rule__GuardedTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18160:1: ( ( rule__GuardedTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18161:1: ( rule__GuardedTransition__ToAssignment_5 )
             {
              before(grammarAccess.getGuardedTransitionAccess().getToAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18318:1: ( rule__GuardedTransition__ToAssignment_5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18318:2: rule__GuardedTransition__ToAssignment_5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18162:1: ( rule__GuardedTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18162:2: rule__GuardedTransition__ToAssignment_5
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__ToAssignment_5_in_rule__GuardedTransition__Group__5__Impl37133);
+            pushFollow(FOLLOW_rule__GuardedTransition__ToAssignment_5_in_rule__GuardedTransition__Group__5__Impl36825);
             rule__GuardedTransition__ToAssignment_5();
 
             state._fsp--;
@@ -50254,21 +50018,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18328:1: rule__GuardedTransition__Group__6 : rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18172:1: rule__GuardedTransition__Group__6 : rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7 ;
     public final void rule__GuardedTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18332:1: ( rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18333:2: rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18176:1: ( rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18177:2: rule__GuardedTransition__Group__6__Impl rule__GuardedTransition__Group__7
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__6__Impl_in_rule__GuardedTransition__Group__637163);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__6__Impl_in_rule__GuardedTransition__Group__636855);
             rule__GuardedTransition__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__7_in_rule__GuardedTransition__Group__637166);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__7_in_rule__GuardedTransition__Group__636858);
             rule__GuardedTransition__Group__7();
 
             state._fsp--;
@@ -50292,31 +50056,31 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18340:1: rule__GuardedTransition__Group__6__Impl : ( ( rule__GuardedTransition__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18184:1: rule__GuardedTransition__Group__6__Impl : ( ( rule__GuardedTransition__DocuAssignment_6 )? ) ;
     public final void rule__GuardedTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18344:1: ( ( ( rule__GuardedTransition__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18345:1: ( ( rule__GuardedTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18188:1: ( ( ( rule__GuardedTransition__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18189:1: ( ( rule__GuardedTransition__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18345:1: ( ( rule__GuardedTransition__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18346:1: ( rule__GuardedTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18189:1: ( ( rule__GuardedTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18190:1: ( rule__GuardedTransition__DocuAssignment_6 )?
             {
              before(grammarAccess.getGuardedTransitionAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18347:1: ( rule__GuardedTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18191:1: ( rule__GuardedTransition__DocuAssignment_6 )?
             int alt176=2;
             int LA176_0 = input.LA(1);
 
-            if ( (LA176_0==58) ) {
+            if ( (LA176_0==59) ) {
                 alt176=1;
             }
             switch (alt176) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18347:2: rule__GuardedTransition__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18191:2: rule__GuardedTransition__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__GuardedTransition__DocuAssignment_6_in_rule__GuardedTransition__Group__6__Impl37193);
+                    pushFollow(FOLLOW_rule__GuardedTransition__DocuAssignment_6_in_rule__GuardedTransition__Group__6__Impl36885);
                     rule__GuardedTransition__DocuAssignment_6();
 
                     state._fsp--;
@@ -50350,21 +50114,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18357:1: rule__GuardedTransition__Group__7 : rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18201:1: rule__GuardedTransition__Group__7 : rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8 ;
     public final void rule__GuardedTransition__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18361:1: ( rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18362:2: rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18205:1: ( rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18206:2: rule__GuardedTransition__Group__7__Impl rule__GuardedTransition__Group__8
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__7__Impl_in_rule__GuardedTransition__Group__737224);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__7__Impl_in_rule__GuardedTransition__Group__736916);
             rule__GuardedTransition__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__8_in_rule__GuardedTransition__Group__737227);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__8_in_rule__GuardedTransition__Group__736919);
             rule__GuardedTransition__Group__8();
 
             state._fsp--;
@@ -50388,20 +50152,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18369:1: rule__GuardedTransition__Group__7__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18213:1: rule__GuardedTransition__Group__7__Impl : ( '{' ) ;
     public final void rule__GuardedTransition__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18373:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18374:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18217:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18218:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18374:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18375:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18218:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18219:1: '{'
             {
              before(grammarAccess.getGuardedTransitionAccess().getLeftCurlyBracketKeyword_7()); 
-            match(input,40,FOLLOW_40_in_rule__GuardedTransition__Group__7__Impl37255); 
+            match(input,41,FOLLOW_41_in_rule__GuardedTransition__Group__7__Impl36947); 
              after(grammarAccess.getGuardedTransitionAccess().getLeftCurlyBracketKeyword_7()); 
 
             }
@@ -50425,21 +50189,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18388:1: rule__GuardedTransition__Group__8 : rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18232:1: rule__GuardedTransition__Group__8 : rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9 ;
     public final void rule__GuardedTransition__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18392:1: ( rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18393:2: rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18236:1: ( rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18237:2: rule__GuardedTransition__Group__8__Impl rule__GuardedTransition__Group__9
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__8__Impl_in_rule__GuardedTransition__Group__837286);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__8__Impl_in_rule__GuardedTransition__Group__836978);
             rule__GuardedTransition__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__9_in_rule__GuardedTransition__Group__837289);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__9_in_rule__GuardedTransition__Group__836981);
             rule__GuardedTransition__Group__9();
 
             state._fsp--;
@@ -50463,20 +50227,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__8__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18400:1: rule__GuardedTransition__Group__8__Impl : ( 'guard' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18244:1: rule__GuardedTransition__Group__8__Impl : ( 'guard' ) ;
     public final void rule__GuardedTransition__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18404:1: ( ( 'guard' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18405:1: ( 'guard' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18248:1: ( ( 'guard' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18249:1: ( 'guard' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18405:1: ( 'guard' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18406:1: 'guard'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18249:1: ( 'guard' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18250:1: 'guard'
             {
              before(grammarAccess.getGuardedTransitionAccess().getGuardKeyword_8()); 
-            match(input,108,FOLLOW_108_in_rule__GuardedTransition__Group__8__Impl37317); 
+            match(input,109,FOLLOW_109_in_rule__GuardedTransition__Group__8__Impl37009); 
              after(grammarAccess.getGuardedTransitionAccess().getGuardKeyword_8()); 
 
             }
@@ -50500,21 +50264,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18419:1: rule__GuardedTransition__Group__9 : rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18263:1: rule__GuardedTransition__Group__9 : rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10 ;
     public final void rule__GuardedTransition__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18423:1: ( rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18424:2: rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18267:1: ( rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18268:2: rule__GuardedTransition__Group__9__Impl rule__GuardedTransition__Group__10
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__9__Impl_in_rule__GuardedTransition__Group__937348);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__9__Impl_in_rule__GuardedTransition__Group__937040);
             rule__GuardedTransition__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__10_in_rule__GuardedTransition__Group__937351);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__10_in_rule__GuardedTransition__Group__937043);
             rule__GuardedTransition__Group__10();
 
             state._fsp--;
@@ -50538,23 +50302,23 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__9__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18431:1: rule__GuardedTransition__Group__9__Impl : ( ( rule__GuardedTransition__GuardAssignment_9 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18275:1: rule__GuardedTransition__Group__9__Impl : ( ( rule__GuardedTransition__GuardAssignment_9 ) ) ;
     public final void rule__GuardedTransition__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18435:1: ( ( ( rule__GuardedTransition__GuardAssignment_9 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18436:1: ( ( rule__GuardedTransition__GuardAssignment_9 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18279:1: ( ( ( rule__GuardedTransition__GuardAssignment_9 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18280:1: ( ( rule__GuardedTransition__GuardAssignment_9 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18436:1: ( ( rule__GuardedTransition__GuardAssignment_9 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18437:1: ( rule__GuardedTransition__GuardAssignment_9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18280:1: ( ( rule__GuardedTransition__GuardAssignment_9 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18281:1: ( rule__GuardedTransition__GuardAssignment_9 )
             {
              before(grammarAccess.getGuardedTransitionAccess().getGuardAssignment_9()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18438:1: ( rule__GuardedTransition__GuardAssignment_9 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18438:2: rule__GuardedTransition__GuardAssignment_9
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18282:1: ( rule__GuardedTransition__GuardAssignment_9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18282:2: rule__GuardedTransition__GuardAssignment_9
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__GuardAssignment_9_in_rule__GuardedTransition__Group__9__Impl37378);
+            pushFollow(FOLLOW_rule__GuardedTransition__GuardAssignment_9_in_rule__GuardedTransition__Group__9__Impl37070);
             rule__GuardedTransition__GuardAssignment_9();
 
             state._fsp--;
@@ -50585,21 +50349,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__10"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18448:1: rule__GuardedTransition__Group__10 : rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18292:1: rule__GuardedTransition__Group__10 : rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11 ;
     public final void rule__GuardedTransition__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18452:1: ( rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18453:2: rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18296:1: ( rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18297:2: rule__GuardedTransition__Group__10__Impl rule__GuardedTransition__Group__11
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__10__Impl_in_rule__GuardedTransition__Group__1037408);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__10__Impl_in_rule__GuardedTransition__Group__1037100);
             rule__GuardedTransition__Group__10__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__11_in_rule__GuardedTransition__Group__1037411);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__11_in_rule__GuardedTransition__Group__1037103);
             rule__GuardedTransition__Group__11();
 
             state._fsp--;
@@ -50623,31 +50387,31 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__10__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18460:1: rule__GuardedTransition__Group__10__Impl : ( ( rule__GuardedTransition__Group_10__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18304:1: rule__GuardedTransition__Group__10__Impl : ( ( rule__GuardedTransition__Group_10__0 )? ) ;
     public final void rule__GuardedTransition__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18464:1: ( ( ( rule__GuardedTransition__Group_10__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18465:1: ( ( rule__GuardedTransition__Group_10__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18308:1: ( ( ( rule__GuardedTransition__Group_10__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18309:1: ( ( rule__GuardedTransition__Group_10__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18465:1: ( ( rule__GuardedTransition__Group_10__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18466:1: ( rule__GuardedTransition__Group_10__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18309:1: ( ( rule__GuardedTransition__Group_10__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18310:1: ( rule__GuardedTransition__Group_10__0 )?
             {
              before(grammarAccess.getGuardedTransitionAccess().getGroup_10()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18467:1: ( rule__GuardedTransition__Group_10__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18311:1: ( rule__GuardedTransition__Group_10__0 )?
             int alt177=2;
             int LA177_0 = input.LA(1);
 
-            if ( (LA177_0==105) ) {
+            if ( (LA177_0==106) ) {
                 alt177=1;
             }
             switch (alt177) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18467:2: rule__GuardedTransition__Group_10__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18311:2: rule__GuardedTransition__Group_10__0
                     {
-                    pushFollow(FOLLOW_rule__GuardedTransition__Group_10__0_in_rule__GuardedTransition__Group__10__Impl37438);
+                    pushFollow(FOLLOW_rule__GuardedTransition__Group_10__0_in_rule__GuardedTransition__Group__10__Impl37130);
                     rule__GuardedTransition__Group_10__0();
 
                     state._fsp--;
@@ -50681,16 +50445,16 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__11"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18477:1: rule__GuardedTransition__Group__11 : rule__GuardedTransition__Group__11__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18321:1: rule__GuardedTransition__Group__11 : rule__GuardedTransition__Group__11__Impl ;
     public final void rule__GuardedTransition__Group__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18481:1: ( rule__GuardedTransition__Group__11__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18482:2: rule__GuardedTransition__Group__11__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18325:1: ( rule__GuardedTransition__Group__11__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18326:2: rule__GuardedTransition__Group__11__Impl
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group__11__Impl_in_rule__GuardedTransition__Group__1137469);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group__11__Impl_in_rule__GuardedTransition__Group__1137161);
             rule__GuardedTransition__Group__11__Impl();
 
             state._fsp--;
@@ -50714,20 +50478,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group__11__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18488:1: rule__GuardedTransition__Group__11__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18332:1: rule__GuardedTransition__Group__11__Impl : ( '}' ) ;
     public final void rule__GuardedTransition__Group__11__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18492:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18493:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18336:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18337:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18493:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18494:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18337:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18338:1: '}'
             {
              before(grammarAccess.getGuardedTransitionAccess().getRightCurlyBracketKeyword_11()); 
-            match(input,41,FOLLOW_41_in_rule__GuardedTransition__Group__11__Impl37497); 
+            match(input,42,FOLLOW_42_in_rule__GuardedTransition__Group__11__Impl37189); 
              after(grammarAccess.getGuardedTransitionAccess().getRightCurlyBracketKeyword_11()); 
 
             }
@@ -50751,21 +50515,21 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group_10__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18531:1: rule__GuardedTransition__Group_10__0 : rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18375:1: rule__GuardedTransition__Group_10__0 : rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1 ;
     public final void rule__GuardedTransition__Group_10__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18535:1: ( rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18536:2: rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18379:1: ( rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18380:2: rule__GuardedTransition__Group_10__0__Impl rule__GuardedTransition__Group_10__1
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__0__Impl_in_rule__GuardedTransition__Group_10__037552);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__0__Impl_in_rule__GuardedTransition__Group_10__037244);
             rule__GuardedTransition__Group_10__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__1_in_rule__GuardedTransition__Group_10__037555);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__1_in_rule__GuardedTransition__Group_10__037247);
             rule__GuardedTransition__Group_10__1();
 
             state._fsp--;
@@ -50789,20 +50553,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group_10__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18543:1: rule__GuardedTransition__Group_10__0__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18387:1: rule__GuardedTransition__Group_10__0__Impl : ( 'action' ) ;
     public final void rule__GuardedTransition__Group_10__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18547:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18548:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18391:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18392:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18548:1: ( 'action' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18549:1: 'action'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18392:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18393:1: 'action'
             {
              before(grammarAccess.getGuardedTransitionAccess().getActionKeyword_10_0()); 
-            match(input,105,FOLLOW_105_in_rule__GuardedTransition__Group_10__0__Impl37583); 
+            match(input,106,FOLLOW_106_in_rule__GuardedTransition__Group_10__0__Impl37275); 
              after(grammarAccess.getGuardedTransitionAccess().getActionKeyword_10_0()); 
 
             }
@@ -50826,16 +50590,16 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group_10__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18562:1: rule__GuardedTransition__Group_10__1 : rule__GuardedTransition__Group_10__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18406:1: rule__GuardedTransition__Group_10__1 : rule__GuardedTransition__Group_10__1__Impl ;
     public final void rule__GuardedTransition__Group_10__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18566:1: ( rule__GuardedTransition__Group_10__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18567:2: rule__GuardedTransition__Group_10__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18410:1: ( rule__GuardedTransition__Group_10__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18411:2: rule__GuardedTransition__Group_10__1__Impl
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__1__Impl_in_rule__GuardedTransition__Group_10__137614);
+            pushFollow(FOLLOW_rule__GuardedTransition__Group_10__1__Impl_in_rule__GuardedTransition__Group_10__137306);
             rule__GuardedTransition__Group_10__1__Impl();
 
             state._fsp--;
@@ -50859,23 +50623,23 @@
 
 
     // $ANTLR start "rule__GuardedTransition__Group_10__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18573:1: rule__GuardedTransition__Group_10__1__Impl : ( ( rule__GuardedTransition__ActionAssignment_10_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18417:1: rule__GuardedTransition__Group_10__1__Impl : ( ( rule__GuardedTransition__ActionAssignment_10_1 ) ) ;
     public final void rule__GuardedTransition__Group_10__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18577:1: ( ( ( rule__GuardedTransition__ActionAssignment_10_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18578:1: ( ( rule__GuardedTransition__ActionAssignment_10_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18421:1: ( ( ( rule__GuardedTransition__ActionAssignment_10_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18422:1: ( ( rule__GuardedTransition__ActionAssignment_10_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18578:1: ( ( rule__GuardedTransition__ActionAssignment_10_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18579:1: ( rule__GuardedTransition__ActionAssignment_10_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18422:1: ( ( rule__GuardedTransition__ActionAssignment_10_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18423:1: ( rule__GuardedTransition__ActionAssignment_10_1 )
             {
              before(grammarAccess.getGuardedTransitionAccess().getActionAssignment_10_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18580:1: ( rule__GuardedTransition__ActionAssignment_10_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18580:2: rule__GuardedTransition__ActionAssignment_10_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18424:1: ( rule__GuardedTransition__ActionAssignment_10_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18424:2: rule__GuardedTransition__ActionAssignment_10_1
             {
-            pushFollow(FOLLOW_rule__GuardedTransition__ActionAssignment_10_1_in_rule__GuardedTransition__Group_10__1__Impl37641);
+            pushFollow(FOLLOW_rule__GuardedTransition__ActionAssignment_10_1_in_rule__GuardedTransition__Group_10__1__Impl37333);
             rule__GuardedTransition__ActionAssignment_10_1();
 
             state._fsp--;
@@ -50906,21 +50670,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18594:1: rule__CPBranchTransition__Group__0 : rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18438:1: rule__CPBranchTransition__Group__0 : rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1 ;
     public final void rule__CPBranchTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18598:1: ( rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18599:2: rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18442:1: ( rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18443:2: rule__CPBranchTransition__Group__0__Impl rule__CPBranchTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__0__Impl_in_rule__CPBranchTransition__Group__037675);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__0__Impl_in_rule__CPBranchTransition__Group__037367);
             rule__CPBranchTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__1_in_rule__CPBranchTransition__Group__037678);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__1_in_rule__CPBranchTransition__Group__037370);
             rule__CPBranchTransition__Group__1();
 
             state._fsp--;
@@ -50944,20 +50708,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18606:1: rule__CPBranchTransition__Group__0__Impl : ( 'Transition' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18450:1: rule__CPBranchTransition__Group__0__Impl : ( 'Transition' ) ;
     public final void rule__CPBranchTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18610:1: ( ( 'Transition' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18611:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18454:1: ( ( 'Transition' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18455:1: ( 'Transition' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18611:1: ( 'Transition' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18612:1: 'Transition'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18455:1: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18456:1: 'Transition'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0()); 
-            match(input,103,FOLLOW_103_in_rule__CPBranchTransition__Group__0__Impl37706); 
+            match(input,104,FOLLOW_104_in_rule__CPBranchTransition__Group__0__Impl37398); 
              after(grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0()); 
 
             }
@@ -50981,21 +50745,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18625:1: rule__CPBranchTransition__Group__1 : rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18469:1: rule__CPBranchTransition__Group__1 : rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2 ;
     public final void rule__CPBranchTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18629:1: ( rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18630:2: rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18473:1: ( rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18474:2: rule__CPBranchTransition__Group__1__Impl rule__CPBranchTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__1__Impl_in_rule__CPBranchTransition__Group__137737);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__1__Impl_in_rule__CPBranchTransition__Group__137429);
             rule__CPBranchTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__2_in_rule__CPBranchTransition__Group__137740);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__2_in_rule__CPBranchTransition__Group__137432);
             rule__CPBranchTransition__Group__2();
 
             state._fsp--;
@@ -51019,20 +50783,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18637:1: rule__CPBranchTransition__Group__1__Impl : ( ( rule__CPBranchTransition__NameAssignment_1 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18481:1: rule__CPBranchTransition__Group__1__Impl : ( ( rule__CPBranchTransition__NameAssignment_1 )? ) ;
     public final void rule__CPBranchTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18641:1: ( ( ( rule__CPBranchTransition__NameAssignment_1 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18642:1: ( ( rule__CPBranchTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18485:1: ( ( ( rule__CPBranchTransition__NameAssignment_1 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18486:1: ( ( rule__CPBranchTransition__NameAssignment_1 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18642:1: ( ( rule__CPBranchTransition__NameAssignment_1 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18643:1: ( rule__CPBranchTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18486:1: ( ( rule__CPBranchTransition__NameAssignment_1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18487:1: ( rule__CPBranchTransition__NameAssignment_1 )?
             {
              before(grammarAccess.getCPBranchTransitionAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18644:1: ( rule__CPBranchTransition__NameAssignment_1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18488:1: ( rule__CPBranchTransition__NameAssignment_1 )?
             int alt178=2;
             int LA178_0 = input.LA(1);
 
@@ -51041,9 +50805,9 @@
             }
             switch (alt178) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18644:2: rule__CPBranchTransition__NameAssignment_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18488:2: rule__CPBranchTransition__NameAssignment_1
                     {
-                    pushFollow(FOLLOW_rule__CPBranchTransition__NameAssignment_1_in_rule__CPBranchTransition__Group__1__Impl37767);
+                    pushFollow(FOLLOW_rule__CPBranchTransition__NameAssignment_1_in_rule__CPBranchTransition__Group__1__Impl37459);
                     rule__CPBranchTransition__NameAssignment_1();
 
                     state._fsp--;
@@ -51077,21 +50841,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18654:1: rule__CPBranchTransition__Group__2 : rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18498:1: rule__CPBranchTransition__Group__2 : rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3 ;
     public final void rule__CPBranchTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18658:1: ( rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18659:2: rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18502:1: ( rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18503:2: rule__CPBranchTransition__Group__2__Impl rule__CPBranchTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__2__Impl_in_rule__CPBranchTransition__Group__237798);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__2__Impl_in_rule__CPBranchTransition__Group__237490);
             rule__CPBranchTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__3_in_rule__CPBranchTransition__Group__237801);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__3_in_rule__CPBranchTransition__Group__237493);
             rule__CPBranchTransition__Group__3();
 
             state._fsp--;
@@ -51115,20 +50879,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18666:1: rule__CPBranchTransition__Group__2__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18510:1: rule__CPBranchTransition__Group__2__Impl : ( ':' ) ;
     public final void rule__CPBranchTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18670:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18671:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18514:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18515:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18671:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18672:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18515:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18516:1: ':'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2()); 
-            match(input,42,FOLLOW_42_in_rule__CPBranchTransition__Group__2__Impl37829); 
+            match(input,43,FOLLOW_43_in_rule__CPBranchTransition__Group__2__Impl37521); 
              after(grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2()); 
 
             }
@@ -51152,21 +50916,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18685:1: rule__CPBranchTransition__Group__3 : rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18529:1: rule__CPBranchTransition__Group__3 : rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4 ;
     public final void rule__CPBranchTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18689:1: ( rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18690:2: rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18533:1: ( rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18534:2: rule__CPBranchTransition__Group__3__Impl rule__CPBranchTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__3__Impl_in_rule__CPBranchTransition__Group__337860);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__3__Impl_in_rule__CPBranchTransition__Group__337552);
             rule__CPBranchTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__4_in_rule__CPBranchTransition__Group__337863);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__4_in_rule__CPBranchTransition__Group__337555);
             rule__CPBranchTransition__Group__4();
 
             state._fsp--;
@@ -51190,23 +50954,23 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18697:1: rule__CPBranchTransition__Group__3__Impl : ( ( rule__CPBranchTransition__FromAssignment_3 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18541:1: rule__CPBranchTransition__Group__3__Impl : ( ( rule__CPBranchTransition__FromAssignment_3 ) ) ;
     public final void rule__CPBranchTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18701:1: ( ( ( rule__CPBranchTransition__FromAssignment_3 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18702:1: ( ( rule__CPBranchTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18545:1: ( ( ( rule__CPBranchTransition__FromAssignment_3 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18546:1: ( ( rule__CPBranchTransition__FromAssignment_3 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18702:1: ( ( rule__CPBranchTransition__FromAssignment_3 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18703:1: ( rule__CPBranchTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18546:1: ( ( rule__CPBranchTransition__FromAssignment_3 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18547:1: ( rule__CPBranchTransition__FromAssignment_3 )
             {
              before(grammarAccess.getCPBranchTransitionAccess().getFromAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18704:1: ( rule__CPBranchTransition__FromAssignment_3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18704:2: rule__CPBranchTransition__FromAssignment_3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18548:1: ( rule__CPBranchTransition__FromAssignment_3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18548:2: rule__CPBranchTransition__FromAssignment_3
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__FromAssignment_3_in_rule__CPBranchTransition__Group__3__Impl37890);
+            pushFollow(FOLLOW_rule__CPBranchTransition__FromAssignment_3_in_rule__CPBranchTransition__Group__3__Impl37582);
             rule__CPBranchTransition__FromAssignment_3();
 
             state._fsp--;
@@ -51237,21 +51001,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18714:1: rule__CPBranchTransition__Group__4 : rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18558:1: rule__CPBranchTransition__Group__4 : rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5 ;
     public final void rule__CPBranchTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18718:1: ( rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18719:2: rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18562:1: ( rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18563:2: rule__CPBranchTransition__Group__4__Impl rule__CPBranchTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__4__Impl_in_rule__CPBranchTransition__Group__437920);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__4__Impl_in_rule__CPBranchTransition__Group__437612);
             rule__CPBranchTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__5_in_rule__CPBranchTransition__Group__437923);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__5_in_rule__CPBranchTransition__Group__437615);
             rule__CPBranchTransition__Group__5();
 
             state._fsp--;
@@ -51275,20 +51039,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18726:1: rule__CPBranchTransition__Group__4__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18570:1: rule__CPBranchTransition__Group__4__Impl : ( '->' ) ;
     public final void rule__CPBranchTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18730:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18731:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18574:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18575:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18731:1: ( '->' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18732:1: '->'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18575:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18576:1: '->'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
-            match(input,44,FOLLOW_44_in_rule__CPBranchTransition__Group__4__Impl37951); 
+            match(input,45,FOLLOW_45_in_rule__CPBranchTransition__Group__4__Impl37643); 
              after(grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); 
 
             }
@@ -51312,21 +51076,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18745:1: rule__CPBranchTransition__Group__5 : rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18589:1: rule__CPBranchTransition__Group__5 : rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6 ;
     public final void rule__CPBranchTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18749:1: ( rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18750:2: rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18593:1: ( rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18594:2: rule__CPBranchTransition__Group__5__Impl rule__CPBranchTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__5__Impl_in_rule__CPBranchTransition__Group__537982);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__5__Impl_in_rule__CPBranchTransition__Group__537674);
             rule__CPBranchTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__6_in_rule__CPBranchTransition__Group__537985);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__6_in_rule__CPBranchTransition__Group__537677);
             rule__CPBranchTransition__Group__6();
 
             state._fsp--;
@@ -51350,23 +51114,23 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18757:1: rule__CPBranchTransition__Group__5__Impl : ( ( rule__CPBranchTransition__ToAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18601:1: rule__CPBranchTransition__Group__5__Impl : ( ( rule__CPBranchTransition__ToAssignment_5 ) ) ;
     public final void rule__CPBranchTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18761:1: ( ( ( rule__CPBranchTransition__ToAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18762:1: ( ( rule__CPBranchTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18605:1: ( ( ( rule__CPBranchTransition__ToAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18606:1: ( ( rule__CPBranchTransition__ToAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18762:1: ( ( rule__CPBranchTransition__ToAssignment_5 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18763:1: ( rule__CPBranchTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18606:1: ( ( rule__CPBranchTransition__ToAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18607:1: ( rule__CPBranchTransition__ToAssignment_5 )
             {
              before(grammarAccess.getCPBranchTransitionAccess().getToAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18764:1: ( rule__CPBranchTransition__ToAssignment_5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18764:2: rule__CPBranchTransition__ToAssignment_5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18608:1: ( rule__CPBranchTransition__ToAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18608:2: rule__CPBranchTransition__ToAssignment_5
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__ToAssignment_5_in_rule__CPBranchTransition__Group__5__Impl38012);
+            pushFollow(FOLLOW_rule__CPBranchTransition__ToAssignment_5_in_rule__CPBranchTransition__Group__5__Impl37704);
             rule__CPBranchTransition__ToAssignment_5();
 
             state._fsp--;
@@ -51397,21 +51161,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18774:1: rule__CPBranchTransition__Group__6 : rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18618:1: rule__CPBranchTransition__Group__6 : rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7 ;
     public final void rule__CPBranchTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18778:1: ( rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18779:2: rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18622:1: ( rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18623:2: rule__CPBranchTransition__Group__6__Impl rule__CPBranchTransition__Group__7
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__6__Impl_in_rule__CPBranchTransition__Group__638042);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__6__Impl_in_rule__CPBranchTransition__Group__637734);
             rule__CPBranchTransition__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__7_in_rule__CPBranchTransition__Group__638045);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__7_in_rule__CPBranchTransition__Group__637737);
             rule__CPBranchTransition__Group__7();
 
             state._fsp--;
@@ -51435,31 +51199,31 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18786:1: rule__CPBranchTransition__Group__6__Impl : ( ( rule__CPBranchTransition__DocuAssignment_6 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18630:1: rule__CPBranchTransition__Group__6__Impl : ( ( rule__CPBranchTransition__DocuAssignment_6 )? ) ;
     public final void rule__CPBranchTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18790:1: ( ( ( rule__CPBranchTransition__DocuAssignment_6 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18791:1: ( ( rule__CPBranchTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18634:1: ( ( ( rule__CPBranchTransition__DocuAssignment_6 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18635:1: ( ( rule__CPBranchTransition__DocuAssignment_6 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18791:1: ( ( rule__CPBranchTransition__DocuAssignment_6 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18792:1: ( rule__CPBranchTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18635:1: ( ( rule__CPBranchTransition__DocuAssignment_6 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18636:1: ( rule__CPBranchTransition__DocuAssignment_6 )?
             {
              before(grammarAccess.getCPBranchTransitionAccess().getDocuAssignment_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18793:1: ( rule__CPBranchTransition__DocuAssignment_6 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18637:1: ( rule__CPBranchTransition__DocuAssignment_6 )?
             int alt179=2;
             int LA179_0 = input.LA(1);
 
-            if ( (LA179_0==58) ) {
+            if ( (LA179_0==59) ) {
                 alt179=1;
             }
             switch (alt179) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18793:2: rule__CPBranchTransition__DocuAssignment_6
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18637:2: rule__CPBranchTransition__DocuAssignment_6
                     {
-                    pushFollow(FOLLOW_rule__CPBranchTransition__DocuAssignment_6_in_rule__CPBranchTransition__Group__6__Impl38072);
+                    pushFollow(FOLLOW_rule__CPBranchTransition__DocuAssignment_6_in_rule__CPBranchTransition__Group__6__Impl37764);
                     rule__CPBranchTransition__DocuAssignment_6();
 
                     state._fsp--;
@@ -51493,21 +51257,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18803:1: rule__CPBranchTransition__Group__7 : rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18647:1: rule__CPBranchTransition__Group__7 : rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8 ;
     public final void rule__CPBranchTransition__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18807:1: ( rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18808:2: rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18651:1: ( rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18652:2: rule__CPBranchTransition__Group__7__Impl rule__CPBranchTransition__Group__8
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__7__Impl_in_rule__CPBranchTransition__Group__738103);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__7__Impl_in_rule__CPBranchTransition__Group__737795);
             rule__CPBranchTransition__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__8_in_rule__CPBranchTransition__Group__738106);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__8_in_rule__CPBranchTransition__Group__737798);
             rule__CPBranchTransition__Group__8();
 
             state._fsp--;
@@ -51531,20 +51295,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18815:1: rule__CPBranchTransition__Group__7__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18659:1: rule__CPBranchTransition__Group__7__Impl : ( '{' ) ;
     public final void rule__CPBranchTransition__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18819:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18820:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18663:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18664:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18820:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18821:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18664:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18665:1: '{'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_7()); 
-            match(input,40,FOLLOW_40_in_rule__CPBranchTransition__Group__7__Impl38134); 
+            match(input,41,FOLLOW_41_in_rule__CPBranchTransition__Group__7__Impl37826); 
              after(grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_7()); 
 
             }
@@ -51568,21 +51332,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18834:1: rule__CPBranchTransition__Group__8 : rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18678:1: rule__CPBranchTransition__Group__8 : rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9 ;
     public final void rule__CPBranchTransition__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18838:1: ( rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18839:2: rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18682:1: ( rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18683:2: rule__CPBranchTransition__Group__8__Impl rule__CPBranchTransition__Group__9
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__8__Impl_in_rule__CPBranchTransition__Group__838165);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__8__Impl_in_rule__CPBranchTransition__Group__837857);
             rule__CPBranchTransition__Group__8__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__9_in_rule__CPBranchTransition__Group__838168);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__9_in_rule__CPBranchTransition__Group__837860);
             rule__CPBranchTransition__Group__9();
 
             state._fsp--;
@@ -51606,20 +51370,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__8__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18846:1: rule__CPBranchTransition__Group__8__Impl : ( 'cond' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18690:1: rule__CPBranchTransition__Group__8__Impl : ( 'cond' ) ;
     public final void rule__CPBranchTransition__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18850:1: ( ( 'cond' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18851:1: ( 'cond' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18694:1: ( ( 'cond' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18695:1: ( 'cond' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18851:1: ( 'cond' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18852:1: 'cond'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18695:1: ( 'cond' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18696:1: 'cond'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getCondKeyword_8()); 
-            match(input,109,FOLLOW_109_in_rule__CPBranchTransition__Group__8__Impl38196); 
+            match(input,110,FOLLOW_110_in_rule__CPBranchTransition__Group__8__Impl37888); 
              after(grammarAccess.getCPBranchTransitionAccess().getCondKeyword_8()); 
 
             }
@@ -51643,21 +51407,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18865:1: rule__CPBranchTransition__Group__9 : rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18709:1: rule__CPBranchTransition__Group__9 : rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10 ;
     public final void rule__CPBranchTransition__Group__9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18869:1: ( rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18870:2: rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18713:1: ( rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18714:2: rule__CPBranchTransition__Group__9__Impl rule__CPBranchTransition__Group__10
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__9__Impl_in_rule__CPBranchTransition__Group__938227);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__9__Impl_in_rule__CPBranchTransition__Group__937919);
             rule__CPBranchTransition__Group__9__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__10_in_rule__CPBranchTransition__Group__938230);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__10_in_rule__CPBranchTransition__Group__937922);
             rule__CPBranchTransition__Group__10();
 
             state._fsp--;
@@ -51681,23 +51445,23 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__9__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18877:1: rule__CPBranchTransition__Group__9__Impl : ( ( rule__CPBranchTransition__ConditionAssignment_9 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18721:1: rule__CPBranchTransition__Group__9__Impl : ( ( rule__CPBranchTransition__ConditionAssignment_9 ) ) ;
     public final void rule__CPBranchTransition__Group__9__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18881:1: ( ( ( rule__CPBranchTransition__ConditionAssignment_9 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18882:1: ( ( rule__CPBranchTransition__ConditionAssignment_9 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18725:1: ( ( ( rule__CPBranchTransition__ConditionAssignment_9 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18726:1: ( ( rule__CPBranchTransition__ConditionAssignment_9 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18882:1: ( ( rule__CPBranchTransition__ConditionAssignment_9 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18883:1: ( rule__CPBranchTransition__ConditionAssignment_9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18726:1: ( ( rule__CPBranchTransition__ConditionAssignment_9 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18727:1: ( rule__CPBranchTransition__ConditionAssignment_9 )
             {
              before(grammarAccess.getCPBranchTransitionAccess().getConditionAssignment_9()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18884:1: ( rule__CPBranchTransition__ConditionAssignment_9 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18884:2: rule__CPBranchTransition__ConditionAssignment_9
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18728:1: ( rule__CPBranchTransition__ConditionAssignment_9 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18728:2: rule__CPBranchTransition__ConditionAssignment_9
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__ConditionAssignment_9_in_rule__CPBranchTransition__Group__9__Impl38257);
+            pushFollow(FOLLOW_rule__CPBranchTransition__ConditionAssignment_9_in_rule__CPBranchTransition__Group__9__Impl37949);
             rule__CPBranchTransition__ConditionAssignment_9();
 
             state._fsp--;
@@ -51728,21 +51492,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__10"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18894:1: rule__CPBranchTransition__Group__10 : rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18738:1: rule__CPBranchTransition__Group__10 : rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11 ;
     public final void rule__CPBranchTransition__Group__10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18898:1: ( rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18899:2: rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18742:1: ( rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18743:2: rule__CPBranchTransition__Group__10__Impl rule__CPBranchTransition__Group__11
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__10__Impl_in_rule__CPBranchTransition__Group__1038287);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__10__Impl_in_rule__CPBranchTransition__Group__1037979);
             rule__CPBranchTransition__Group__10__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__11_in_rule__CPBranchTransition__Group__1038290);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__11_in_rule__CPBranchTransition__Group__1037982);
             rule__CPBranchTransition__Group__11();
 
             state._fsp--;
@@ -51766,31 +51530,31 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__10__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18906:1: rule__CPBranchTransition__Group__10__Impl : ( ( rule__CPBranchTransition__Group_10__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18750:1: rule__CPBranchTransition__Group__10__Impl : ( ( rule__CPBranchTransition__Group_10__0 )? ) ;
     public final void rule__CPBranchTransition__Group__10__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18910:1: ( ( ( rule__CPBranchTransition__Group_10__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18911:1: ( ( rule__CPBranchTransition__Group_10__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18754:1: ( ( ( rule__CPBranchTransition__Group_10__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18755:1: ( ( rule__CPBranchTransition__Group_10__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18911:1: ( ( rule__CPBranchTransition__Group_10__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18912:1: ( rule__CPBranchTransition__Group_10__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18755:1: ( ( rule__CPBranchTransition__Group_10__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18756:1: ( rule__CPBranchTransition__Group_10__0 )?
             {
              before(grammarAccess.getCPBranchTransitionAccess().getGroup_10()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18913:1: ( rule__CPBranchTransition__Group_10__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18757:1: ( rule__CPBranchTransition__Group_10__0 )?
             int alt180=2;
             int LA180_0 = input.LA(1);
 
-            if ( (LA180_0==105) ) {
+            if ( (LA180_0==106) ) {
                 alt180=1;
             }
             switch (alt180) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18913:2: rule__CPBranchTransition__Group_10__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18757:2: rule__CPBranchTransition__Group_10__0
                     {
-                    pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__0_in_rule__CPBranchTransition__Group__10__Impl38317);
+                    pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__0_in_rule__CPBranchTransition__Group__10__Impl38009);
                     rule__CPBranchTransition__Group_10__0();
 
                     state._fsp--;
@@ -51824,16 +51588,16 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__11"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18923:1: rule__CPBranchTransition__Group__11 : rule__CPBranchTransition__Group__11__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18767:1: rule__CPBranchTransition__Group__11 : rule__CPBranchTransition__Group__11__Impl ;
     public final void rule__CPBranchTransition__Group__11() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18927:1: ( rule__CPBranchTransition__Group__11__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18928:2: rule__CPBranchTransition__Group__11__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18771:1: ( rule__CPBranchTransition__Group__11__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18772:2: rule__CPBranchTransition__Group__11__Impl
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group__11__Impl_in_rule__CPBranchTransition__Group__1138348);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group__11__Impl_in_rule__CPBranchTransition__Group__1138040);
             rule__CPBranchTransition__Group__11__Impl();
 
             state._fsp--;
@@ -51857,20 +51621,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group__11__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18934:1: rule__CPBranchTransition__Group__11__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18778:1: rule__CPBranchTransition__Group__11__Impl : ( '}' ) ;
     public final void rule__CPBranchTransition__Group__11__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18938:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18939:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18782:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18783:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18939:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18940:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18783:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18784:1: '}'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_11()); 
-            match(input,41,FOLLOW_41_in_rule__CPBranchTransition__Group__11__Impl38376); 
+            match(input,42,FOLLOW_42_in_rule__CPBranchTransition__Group__11__Impl38068); 
              after(grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_11()); 
 
             }
@@ -51894,21 +51658,21 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group_10__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18977:1: rule__CPBranchTransition__Group_10__0 : rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18821:1: rule__CPBranchTransition__Group_10__0 : rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1 ;
     public final void rule__CPBranchTransition__Group_10__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18981:1: ( rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18982:2: rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18825:1: ( rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18826:2: rule__CPBranchTransition__Group_10__0__Impl rule__CPBranchTransition__Group_10__1
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__0__Impl_in_rule__CPBranchTransition__Group_10__038431);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__0__Impl_in_rule__CPBranchTransition__Group_10__038123);
             rule__CPBranchTransition__Group_10__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__1_in_rule__CPBranchTransition__Group_10__038434);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__1_in_rule__CPBranchTransition__Group_10__038126);
             rule__CPBranchTransition__Group_10__1();
 
             state._fsp--;
@@ -51932,20 +51696,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group_10__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18989:1: rule__CPBranchTransition__Group_10__0__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18833:1: rule__CPBranchTransition__Group_10__0__Impl : ( 'action' ) ;
     public final void rule__CPBranchTransition__Group_10__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18993:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18994:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18837:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18838:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18994:1: ( 'action' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18995:1: 'action'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18838:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18839:1: 'action'
             {
              before(grammarAccess.getCPBranchTransitionAccess().getActionKeyword_10_0()); 
-            match(input,105,FOLLOW_105_in_rule__CPBranchTransition__Group_10__0__Impl38462); 
+            match(input,106,FOLLOW_106_in_rule__CPBranchTransition__Group_10__0__Impl38154); 
              after(grammarAccess.getCPBranchTransitionAccess().getActionKeyword_10_0()); 
 
             }
@@ -51969,16 +51733,16 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group_10__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19008:1: rule__CPBranchTransition__Group_10__1 : rule__CPBranchTransition__Group_10__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18852:1: rule__CPBranchTransition__Group_10__1 : rule__CPBranchTransition__Group_10__1__Impl ;
     public final void rule__CPBranchTransition__Group_10__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19012:1: ( rule__CPBranchTransition__Group_10__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19013:2: rule__CPBranchTransition__Group_10__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18856:1: ( rule__CPBranchTransition__Group_10__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18857:2: rule__CPBranchTransition__Group_10__1__Impl
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__1__Impl_in_rule__CPBranchTransition__Group_10__138493);
+            pushFollow(FOLLOW_rule__CPBranchTransition__Group_10__1__Impl_in_rule__CPBranchTransition__Group_10__138185);
             rule__CPBranchTransition__Group_10__1__Impl();
 
             state._fsp--;
@@ -52002,23 +51766,23 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__Group_10__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19019:1: rule__CPBranchTransition__Group_10__1__Impl : ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18863:1: rule__CPBranchTransition__Group_10__1__Impl : ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) ) ;
     public final void rule__CPBranchTransition__Group_10__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19023:1: ( ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19024:1: ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18867:1: ( ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18868:1: ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19024:1: ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19025:1: ( rule__CPBranchTransition__ActionAssignment_10_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18868:1: ( ( rule__CPBranchTransition__ActionAssignment_10_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18869:1: ( rule__CPBranchTransition__ActionAssignment_10_1 )
             {
              before(grammarAccess.getCPBranchTransitionAccess().getActionAssignment_10_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19026:1: ( rule__CPBranchTransition__ActionAssignment_10_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19026:2: rule__CPBranchTransition__ActionAssignment_10_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18870:1: ( rule__CPBranchTransition__ActionAssignment_10_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18870:2: rule__CPBranchTransition__ActionAssignment_10_1
             {
-            pushFollow(FOLLOW_rule__CPBranchTransition__ActionAssignment_10_1_in_rule__CPBranchTransition__Group_10__1__Impl38520);
+            pushFollow(FOLLOW_rule__CPBranchTransition__ActionAssignment_10_1_in_rule__CPBranchTransition__Group_10__1__Impl38212);
             rule__CPBranchTransition__ActionAssignment_10_1();
 
             state._fsp--;
@@ -52049,21 +51813,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19040:1: rule__RefinedTransition__Group__0 : rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18884:1: rule__RefinedTransition__Group__0 : rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1 ;
     public final void rule__RefinedTransition__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19044:1: ( rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19045:2: rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18888:1: ( rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18889:2: rule__RefinedTransition__Group__0__Impl rule__RefinedTransition__Group__1
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__0__Impl_in_rule__RefinedTransition__Group__038554);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__0__Impl_in_rule__RefinedTransition__Group__038246);
             rule__RefinedTransition__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__1_in_rule__RefinedTransition__Group__038557);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__1_in_rule__RefinedTransition__Group__038249);
             rule__RefinedTransition__Group__1();
 
             state._fsp--;
@@ -52087,20 +51851,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19052:1: rule__RefinedTransition__Group__0__Impl : ( 'RefinedTransition' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18896:1: rule__RefinedTransition__Group__0__Impl : ( 'RefinedTransition' ) ;
     public final void rule__RefinedTransition__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19056:1: ( ( 'RefinedTransition' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19057:1: ( 'RefinedTransition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18900:1: ( ( 'RefinedTransition' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18901:1: ( 'RefinedTransition' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19057:1: ( 'RefinedTransition' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19058:1: 'RefinedTransition'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18901:1: ( 'RefinedTransition' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18902:1: 'RefinedTransition'
             {
              before(grammarAccess.getRefinedTransitionAccess().getRefinedTransitionKeyword_0()); 
-            match(input,110,FOLLOW_110_in_rule__RefinedTransition__Group__0__Impl38585); 
+            match(input,111,FOLLOW_111_in_rule__RefinedTransition__Group__0__Impl38277); 
              after(grammarAccess.getRefinedTransitionAccess().getRefinedTransitionKeyword_0()); 
 
             }
@@ -52124,21 +51888,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19071:1: rule__RefinedTransition__Group__1 : rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18915:1: rule__RefinedTransition__Group__1 : rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2 ;
     public final void rule__RefinedTransition__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19075:1: ( rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19076:2: rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18919:1: ( rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18920:2: rule__RefinedTransition__Group__1__Impl rule__RefinedTransition__Group__2
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__1__Impl_in_rule__RefinedTransition__Group__138616);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__1__Impl_in_rule__RefinedTransition__Group__138308);
             rule__RefinedTransition__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__2_in_rule__RefinedTransition__Group__138619);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__2_in_rule__RefinedTransition__Group__138311);
             rule__RefinedTransition__Group__2();
 
             state._fsp--;
@@ -52162,23 +51926,23 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19083:1: rule__RefinedTransition__Group__1__Impl : ( ( rule__RefinedTransition__TargetAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18927:1: rule__RefinedTransition__Group__1__Impl : ( ( rule__RefinedTransition__TargetAssignment_1 ) ) ;
     public final void rule__RefinedTransition__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19087:1: ( ( ( rule__RefinedTransition__TargetAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19088:1: ( ( rule__RefinedTransition__TargetAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18931:1: ( ( ( rule__RefinedTransition__TargetAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18932:1: ( ( rule__RefinedTransition__TargetAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19088:1: ( ( rule__RefinedTransition__TargetAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19089:1: ( rule__RefinedTransition__TargetAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18932:1: ( ( rule__RefinedTransition__TargetAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18933:1: ( rule__RefinedTransition__TargetAssignment_1 )
             {
              before(grammarAccess.getRefinedTransitionAccess().getTargetAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19090:1: ( rule__RefinedTransition__TargetAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19090:2: rule__RefinedTransition__TargetAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18934:1: ( rule__RefinedTransition__TargetAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18934:2: rule__RefinedTransition__TargetAssignment_1
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__TargetAssignment_1_in_rule__RefinedTransition__Group__1__Impl38646);
+            pushFollow(FOLLOW_rule__RefinedTransition__TargetAssignment_1_in_rule__RefinedTransition__Group__1__Impl38338);
             rule__RefinedTransition__TargetAssignment_1();
 
             state._fsp--;
@@ -52209,21 +51973,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19100:1: rule__RefinedTransition__Group__2 : rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18944:1: rule__RefinedTransition__Group__2 : rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3 ;
     public final void rule__RefinedTransition__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19104:1: ( rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19105:2: rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18948:1: ( rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18949:2: rule__RefinedTransition__Group__2__Impl rule__RefinedTransition__Group__3
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__2__Impl_in_rule__RefinedTransition__Group__238676);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__2__Impl_in_rule__RefinedTransition__Group__238368);
             rule__RefinedTransition__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__3_in_rule__RefinedTransition__Group__238679);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__3_in_rule__RefinedTransition__Group__238371);
             rule__RefinedTransition__Group__3();
 
             state._fsp--;
@@ -52247,31 +52011,31 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19112:1: rule__RefinedTransition__Group__2__Impl : ( ( rule__RefinedTransition__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18956:1: rule__RefinedTransition__Group__2__Impl : ( ( rule__RefinedTransition__DocuAssignment_2 )? ) ;
     public final void rule__RefinedTransition__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19116:1: ( ( ( rule__RefinedTransition__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19117:1: ( ( rule__RefinedTransition__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18960:1: ( ( ( rule__RefinedTransition__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18961:1: ( ( rule__RefinedTransition__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19117:1: ( ( rule__RefinedTransition__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19118:1: ( rule__RefinedTransition__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18961:1: ( ( rule__RefinedTransition__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18962:1: ( rule__RefinedTransition__DocuAssignment_2 )?
             {
              before(grammarAccess.getRefinedTransitionAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19119:1: ( rule__RefinedTransition__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18963:1: ( rule__RefinedTransition__DocuAssignment_2 )?
             int alt181=2;
             int LA181_0 = input.LA(1);
 
-            if ( (LA181_0==58) ) {
+            if ( (LA181_0==59) ) {
                 alt181=1;
             }
             switch (alt181) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19119:2: rule__RefinedTransition__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18963:2: rule__RefinedTransition__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__RefinedTransition__DocuAssignment_2_in_rule__RefinedTransition__Group__2__Impl38706);
+                    pushFollow(FOLLOW_rule__RefinedTransition__DocuAssignment_2_in_rule__RefinedTransition__Group__2__Impl38398);
                     rule__RefinedTransition__DocuAssignment_2();
 
                     state._fsp--;
@@ -52305,21 +52069,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19129:1: rule__RefinedTransition__Group__3 : rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18973:1: rule__RefinedTransition__Group__3 : rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4 ;
     public final void rule__RefinedTransition__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19133:1: ( rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19134:2: rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18977:1: ( rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18978:2: rule__RefinedTransition__Group__3__Impl rule__RefinedTransition__Group__4
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__3__Impl_in_rule__RefinedTransition__Group__338737);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__3__Impl_in_rule__RefinedTransition__Group__338429);
             rule__RefinedTransition__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__4_in_rule__RefinedTransition__Group__338740);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__4_in_rule__RefinedTransition__Group__338432);
             rule__RefinedTransition__Group__4();
 
             state._fsp--;
@@ -52343,20 +52107,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19141:1: rule__RefinedTransition__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18985:1: rule__RefinedTransition__Group__3__Impl : ( '{' ) ;
     public final void rule__RefinedTransition__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19145:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19146:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18989:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18990:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19146:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19147:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18990:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:18991:1: '{'
             {
              before(grammarAccess.getRefinedTransitionAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,40,FOLLOW_40_in_rule__RefinedTransition__Group__3__Impl38768); 
+            match(input,41,FOLLOW_41_in_rule__RefinedTransition__Group__3__Impl38460); 
              after(grammarAccess.getRefinedTransitionAccess().getLeftCurlyBracketKeyword_3()); 
 
             }
@@ -52380,21 +52144,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19160:1: rule__RefinedTransition__Group__4 : rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19004:1: rule__RefinedTransition__Group__4 : rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5 ;
     public final void rule__RefinedTransition__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19164:1: ( rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19165:2: rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19008:1: ( rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19009:2: rule__RefinedTransition__Group__4__Impl rule__RefinedTransition__Group__5
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__4__Impl_in_rule__RefinedTransition__Group__438799);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__4__Impl_in_rule__RefinedTransition__Group__438491);
             rule__RefinedTransition__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__5_in_rule__RefinedTransition__Group__438802);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__5_in_rule__RefinedTransition__Group__438494);
             rule__RefinedTransition__Group__5();
 
             state._fsp--;
@@ -52418,20 +52182,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19172:1: rule__RefinedTransition__Group__4__Impl : ( 'action' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19016:1: rule__RefinedTransition__Group__4__Impl : ( 'action' ) ;
     public final void rule__RefinedTransition__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19176:1: ( ( 'action' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19177:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19020:1: ( ( 'action' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19021:1: ( 'action' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19177:1: ( 'action' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19178:1: 'action'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19021:1: ( 'action' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19022:1: 'action'
             {
              before(grammarAccess.getRefinedTransitionAccess().getActionKeyword_4()); 
-            match(input,105,FOLLOW_105_in_rule__RefinedTransition__Group__4__Impl38830); 
+            match(input,106,FOLLOW_106_in_rule__RefinedTransition__Group__4__Impl38522); 
              after(grammarAccess.getRefinedTransitionAccess().getActionKeyword_4()); 
 
             }
@@ -52455,21 +52219,21 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19191:1: rule__RefinedTransition__Group__5 : rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19035:1: rule__RefinedTransition__Group__5 : rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6 ;
     public final void rule__RefinedTransition__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19195:1: ( rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19196:2: rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19039:1: ( rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19040:2: rule__RefinedTransition__Group__5__Impl rule__RefinedTransition__Group__6
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__5__Impl_in_rule__RefinedTransition__Group__538861);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__5__Impl_in_rule__RefinedTransition__Group__538553);
             rule__RefinedTransition__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__6_in_rule__RefinedTransition__Group__538864);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__6_in_rule__RefinedTransition__Group__538556);
             rule__RefinedTransition__Group__6();
 
             state._fsp--;
@@ -52493,23 +52257,23 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19203:1: rule__RefinedTransition__Group__5__Impl : ( ( rule__RefinedTransition__ActionAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19047:1: rule__RefinedTransition__Group__5__Impl : ( ( rule__RefinedTransition__ActionAssignment_5 ) ) ;
     public final void rule__RefinedTransition__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19207:1: ( ( ( rule__RefinedTransition__ActionAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19208:1: ( ( rule__RefinedTransition__ActionAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19051:1: ( ( ( rule__RefinedTransition__ActionAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19052:1: ( ( rule__RefinedTransition__ActionAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19208:1: ( ( rule__RefinedTransition__ActionAssignment_5 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19209:1: ( rule__RefinedTransition__ActionAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19052:1: ( ( rule__RefinedTransition__ActionAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19053:1: ( rule__RefinedTransition__ActionAssignment_5 )
             {
              before(grammarAccess.getRefinedTransitionAccess().getActionAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19210:1: ( rule__RefinedTransition__ActionAssignment_5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19210:2: rule__RefinedTransition__ActionAssignment_5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19054:1: ( rule__RefinedTransition__ActionAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19054:2: rule__RefinedTransition__ActionAssignment_5
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__ActionAssignment_5_in_rule__RefinedTransition__Group__5__Impl38891);
+            pushFollow(FOLLOW_rule__RefinedTransition__ActionAssignment_5_in_rule__RefinedTransition__Group__5__Impl38583);
             rule__RefinedTransition__ActionAssignment_5();
 
             state._fsp--;
@@ -52540,16 +52304,16 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19220:1: rule__RefinedTransition__Group__6 : rule__RefinedTransition__Group__6__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19064:1: rule__RefinedTransition__Group__6 : rule__RefinedTransition__Group__6__Impl ;
     public final void rule__RefinedTransition__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19224:1: ( rule__RefinedTransition__Group__6__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19225:2: rule__RefinedTransition__Group__6__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19068:1: ( rule__RefinedTransition__Group__6__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19069:2: rule__RefinedTransition__Group__6__Impl
             {
-            pushFollow(FOLLOW_rule__RefinedTransition__Group__6__Impl_in_rule__RefinedTransition__Group__638921);
+            pushFollow(FOLLOW_rule__RefinedTransition__Group__6__Impl_in_rule__RefinedTransition__Group__638613);
             rule__RefinedTransition__Group__6__Impl();
 
             state._fsp--;
@@ -52573,20 +52337,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19231:1: rule__RefinedTransition__Group__6__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19075:1: rule__RefinedTransition__Group__6__Impl : ( '}' ) ;
     public final void rule__RefinedTransition__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19235:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19236:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19079:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19080:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19236:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19237:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19080:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19081:1: '}'
             {
              before(grammarAccess.getRefinedTransitionAccess().getRightCurlyBracketKeyword_6()); 
-            match(input,41,FOLLOW_41_in_rule__RefinedTransition__Group__6__Impl38949); 
+            match(input,42,FOLLOW_42_in_rule__RefinedTransition__Group__6__Impl38641); 
              after(grammarAccess.getRefinedTransitionAccess().getRightCurlyBracketKeyword_6()); 
 
             }
@@ -52610,21 +52374,21 @@
 
 
     // $ANTLR start "rule__TrPointTerminal__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19264:1: rule__TrPointTerminal__Group__0 : rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19108:1: rule__TrPointTerminal__Group__0 : rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1 ;
     public final void rule__TrPointTerminal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19268:1: ( rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19269:2: rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19112:1: ( rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19113:2: rule__TrPointTerminal__Group__0__Impl rule__TrPointTerminal__Group__1
             {
-            pushFollow(FOLLOW_rule__TrPointTerminal__Group__0__Impl_in_rule__TrPointTerminal__Group__038994);
+            pushFollow(FOLLOW_rule__TrPointTerminal__Group__0__Impl_in_rule__TrPointTerminal__Group__038686);
             rule__TrPointTerminal__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__TrPointTerminal__Group__1_in_rule__TrPointTerminal__Group__038997);
+            pushFollow(FOLLOW_rule__TrPointTerminal__Group__1_in_rule__TrPointTerminal__Group__038689);
             rule__TrPointTerminal__Group__1();
 
             state._fsp--;
@@ -52648,20 +52412,20 @@
 
 
     // $ANTLR start "rule__TrPointTerminal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19276:1: rule__TrPointTerminal__Group__0__Impl : ( 'my' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19120:1: rule__TrPointTerminal__Group__0__Impl : ( 'my' ) ;
     public final void rule__TrPointTerminal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19280:1: ( ( 'my' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19281:1: ( 'my' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19124:1: ( ( 'my' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19125:1: ( 'my' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19281:1: ( 'my' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19282:1: 'my'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19125:1: ( 'my' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19126:1: 'my'
             {
              before(grammarAccess.getTrPointTerminalAccess().getMyKeyword_0()); 
-            match(input,111,FOLLOW_111_in_rule__TrPointTerminal__Group__0__Impl39025); 
+            match(input,112,FOLLOW_112_in_rule__TrPointTerminal__Group__0__Impl38717); 
              after(grammarAccess.getTrPointTerminalAccess().getMyKeyword_0()); 
 
             }
@@ -52685,16 +52449,16 @@
 
 
     // $ANTLR start "rule__TrPointTerminal__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19295:1: rule__TrPointTerminal__Group__1 : rule__TrPointTerminal__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19139:1: rule__TrPointTerminal__Group__1 : rule__TrPointTerminal__Group__1__Impl ;
     public final void rule__TrPointTerminal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19299:1: ( rule__TrPointTerminal__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19300:2: rule__TrPointTerminal__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19143:1: ( rule__TrPointTerminal__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19144:2: rule__TrPointTerminal__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__TrPointTerminal__Group__1__Impl_in_rule__TrPointTerminal__Group__139056);
+            pushFollow(FOLLOW_rule__TrPointTerminal__Group__1__Impl_in_rule__TrPointTerminal__Group__138748);
             rule__TrPointTerminal__Group__1__Impl();
 
             state._fsp--;
@@ -52718,23 +52482,23 @@
 
 
     // $ANTLR start "rule__TrPointTerminal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19306:1: rule__TrPointTerminal__Group__1__Impl : ( ( rule__TrPointTerminal__TrPointAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19150:1: rule__TrPointTerminal__Group__1__Impl : ( ( rule__TrPointTerminal__TrPointAssignment_1 ) ) ;
     public final void rule__TrPointTerminal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19310:1: ( ( ( rule__TrPointTerminal__TrPointAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19311:1: ( ( rule__TrPointTerminal__TrPointAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19154:1: ( ( ( rule__TrPointTerminal__TrPointAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19155:1: ( ( rule__TrPointTerminal__TrPointAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19311:1: ( ( rule__TrPointTerminal__TrPointAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19312:1: ( rule__TrPointTerminal__TrPointAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19155:1: ( ( rule__TrPointTerminal__TrPointAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19156:1: ( rule__TrPointTerminal__TrPointAssignment_1 )
             {
              before(grammarAccess.getTrPointTerminalAccess().getTrPointAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19313:1: ( rule__TrPointTerminal__TrPointAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19313:2: rule__TrPointTerminal__TrPointAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19157:1: ( rule__TrPointTerminal__TrPointAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19157:2: rule__TrPointTerminal__TrPointAssignment_1
             {
-            pushFollow(FOLLOW_rule__TrPointTerminal__TrPointAssignment_1_in_rule__TrPointTerminal__Group__1__Impl39083);
+            pushFollow(FOLLOW_rule__TrPointTerminal__TrPointAssignment_1_in_rule__TrPointTerminal__Group__1__Impl38775);
             rule__TrPointTerminal__TrPointAssignment_1();
 
             state._fsp--;
@@ -52765,21 +52529,21 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19327:1: rule__SubStateTrPointTerminal__Group__0 : rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19171:1: rule__SubStateTrPointTerminal__Group__0 : rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1 ;
     public final void rule__SubStateTrPointTerminal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19331:1: ( rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19332:2: rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19175:1: ( rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19176:2: rule__SubStateTrPointTerminal__Group__0__Impl rule__SubStateTrPointTerminal__Group__1
             {
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__0__Impl_in_rule__SubStateTrPointTerminal__Group__039117);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__0__Impl_in_rule__SubStateTrPointTerminal__Group__038809);
             rule__SubStateTrPointTerminal__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__1_in_rule__SubStateTrPointTerminal__Group__039120);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__1_in_rule__SubStateTrPointTerminal__Group__038812);
             rule__SubStateTrPointTerminal__Group__1();
 
             state._fsp--;
@@ -52803,23 +52567,23 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19339:1: rule__SubStateTrPointTerminal__Group__0__Impl : ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19183:1: rule__SubStateTrPointTerminal__Group__0__Impl : ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) ) ;
     public final void rule__SubStateTrPointTerminal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19343:1: ( ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19344:1: ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19187:1: ( ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19188:1: ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19344:1: ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19345:1: ( rule__SubStateTrPointTerminal__TrPointAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19188:1: ( ( rule__SubStateTrPointTerminal__TrPointAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19189:1: ( rule__SubStateTrPointTerminal__TrPointAssignment_0 )
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19346:1: ( rule__SubStateTrPointTerminal__TrPointAssignment_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19346:2: rule__SubStateTrPointTerminal__TrPointAssignment_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19190:1: ( rule__SubStateTrPointTerminal__TrPointAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19190:2: rule__SubStateTrPointTerminal__TrPointAssignment_0
             {
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__TrPointAssignment_0_in_rule__SubStateTrPointTerminal__Group__0__Impl39147);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__TrPointAssignment_0_in_rule__SubStateTrPointTerminal__Group__0__Impl38839);
             rule__SubStateTrPointTerminal__TrPointAssignment_0();
 
             state._fsp--;
@@ -52850,21 +52614,21 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19356:1: rule__SubStateTrPointTerminal__Group__1 : rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19200:1: rule__SubStateTrPointTerminal__Group__1 : rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2 ;
     public final void rule__SubStateTrPointTerminal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19360:1: ( rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19361:2: rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19204:1: ( rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19205:2: rule__SubStateTrPointTerminal__Group__1__Impl rule__SubStateTrPointTerminal__Group__2
             {
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__1__Impl_in_rule__SubStateTrPointTerminal__Group__139177);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__1__Impl_in_rule__SubStateTrPointTerminal__Group__138869);
             rule__SubStateTrPointTerminal__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__2_in_rule__SubStateTrPointTerminal__Group__139180);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__2_in_rule__SubStateTrPointTerminal__Group__138872);
             rule__SubStateTrPointTerminal__Group__2();
 
             state._fsp--;
@@ -52888,20 +52652,20 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19368:1: rule__SubStateTrPointTerminal__Group__1__Impl : ( 'of' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19212:1: rule__SubStateTrPointTerminal__Group__1__Impl : ( 'of' ) ;
     public final void rule__SubStateTrPointTerminal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19372:1: ( ( 'of' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19373:1: ( 'of' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19216:1: ( ( 'of' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19217:1: ( 'of' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19373:1: ( 'of' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19374:1: 'of'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19217:1: ( 'of' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19218:1: 'of'
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1()); 
-            match(input,49,FOLLOW_49_in_rule__SubStateTrPointTerminal__Group__1__Impl39208); 
+            match(input,50,FOLLOW_50_in_rule__SubStateTrPointTerminal__Group__1__Impl38900); 
              after(grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1()); 
 
             }
@@ -52925,16 +52689,16 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19387:1: rule__SubStateTrPointTerminal__Group__2 : rule__SubStateTrPointTerminal__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19231:1: rule__SubStateTrPointTerminal__Group__2 : rule__SubStateTrPointTerminal__Group__2__Impl ;
     public final void rule__SubStateTrPointTerminal__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19391:1: ( rule__SubStateTrPointTerminal__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19392:2: rule__SubStateTrPointTerminal__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19235:1: ( rule__SubStateTrPointTerminal__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19236:2: rule__SubStateTrPointTerminal__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__2__Impl_in_rule__SubStateTrPointTerminal__Group__239239);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__Group__2__Impl_in_rule__SubStateTrPointTerminal__Group__238931);
             rule__SubStateTrPointTerminal__Group__2__Impl();
 
             state._fsp--;
@@ -52958,23 +52722,23 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19398:1: rule__SubStateTrPointTerminal__Group__2__Impl : ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19242:1: rule__SubStateTrPointTerminal__Group__2__Impl : ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) ) ;
     public final void rule__SubStateTrPointTerminal__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19402:1: ( ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19403:1: ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19246:1: ( ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19247:1: ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19403:1: ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19404:1: ( rule__SubStateTrPointTerminal__StateAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19247:1: ( ( rule__SubStateTrPointTerminal__StateAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19248:1: ( rule__SubStateTrPointTerminal__StateAssignment_2 )
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getStateAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19405:1: ( rule__SubStateTrPointTerminal__StateAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19405:2: rule__SubStateTrPointTerminal__StateAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19249:1: ( rule__SubStateTrPointTerminal__StateAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19249:2: rule__SubStateTrPointTerminal__StateAssignment_2
             {
-            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__StateAssignment_2_in_rule__SubStateTrPointTerminal__Group__2__Impl39266);
+            pushFollow(FOLLOW_rule__SubStateTrPointTerminal__StateAssignment_2_in_rule__SubStateTrPointTerminal__Group__2__Impl38958);
             rule__SubStateTrPointTerminal__StateAssignment_2();
 
             state._fsp--;
@@ -53005,21 +52769,21 @@
 
 
     // $ANTLR start "rule__ChoicepointTerminal__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19421:1: rule__ChoicepointTerminal__Group__0 : rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19265:1: rule__ChoicepointTerminal__Group__0 : rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1 ;
     public final void rule__ChoicepointTerminal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19425:1: ( rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19426:2: rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19269:1: ( rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19270:2: rule__ChoicepointTerminal__Group__0__Impl rule__ChoicepointTerminal__Group__1
             {
-            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__0__Impl_in_rule__ChoicepointTerminal__Group__039302);
+            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__0__Impl_in_rule__ChoicepointTerminal__Group__038994);
             rule__ChoicepointTerminal__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__1_in_rule__ChoicepointTerminal__Group__039305);
+            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__1_in_rule__ChoicepointTerminal__Group__038997);
             rule__ChoicepointTerminal__Group__1();
 
             state._fsp--;
@@ -53043,20 +52807,20 @@
 
 
     // $ANTLR start "rule__ChoicepointTerminal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19433:1: rule__ChoicepointTerminal__Group__0__Impl : ( 'cp' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19277:1: rule__ChoicepointTerminal__Group__0__Impl : ( 'cp' ) ;
     public final void rule__ChoicepointTerminal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19437:1: ( ( 'cp' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19438:1: ( 'cp' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19281:1: ( ( 'cp' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19282:1: ( 'cp' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19438:1: ( 'cp' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19439:1: 'cp'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19282:1: ( 'cp' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19283:1: 'cp'
             {
              before(grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0()); 
-            match(input,112,FOLLOW_112_in_rule__ChoicepointTerminal__Group__0__Impl39333); 
+            match(input,113,FOLLOW_113_in_rule__ChoicepointTerminal__Group__0__Impl39025); 
              after(grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0()); 
 
             }
@@ -53080,16 +52844,16 @@
 
 
     // $ANTLR start "rule__ChoicepointTerminal__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19452:1: rule__ChoicepointTerminal__Group__1 : rule__ChoicepointTerminal__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19296:1: rule__ChoicepointTerminal__Group__1 : rule__ChoicepointTerminal__Group__1__Impl ;
     public final void rule__ChoicepointTerminal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19456:1: ( rule__ChoicepointTerminal__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19457:2: rule__ChoicepointTerminal__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19300:1: ( rule__ChoicepointTerminal__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19301:2: rule__ChoicepointTerminal__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__1__Impl_in_rule__ChoicepointTerminal__Group__139364);
+            pushFollow(FOLLOW_rule__ChoicepointTerminal__Group__1__Impl_in_rule__ChoicepointTerminal__Group__139056);
             rule__ChoicepointTerminal__Group__1__Impl();
 
             state._fsp--;
@@ -53113,23 +52877,23 @@
 
 
     // $ANTLR start "rule__ChoicepointTerminal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19463:1: rule__ChoicepointTerminal__Group__1__Impl : ( ( rule__ChoicepointTerminal__CpAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19307:1: rule__ChoicepointTerminal__Group__1__Impl : ( ( rule__ChoicepointTerminal__CpAssignment_1 ) ) ;
     public final void rule__ChoicepointTerminal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19467:1: ( ( ( rule__ChoicepointTerminal__CpAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19468:1: ( ( rule__ChoicepointTerminal__CpAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19311:1: ( ( ( rule__ChoicepointTerminal__CpAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19312:1: ( ( rule__ChoicepointTerminal__CpAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19468:1: ( ( rule__ChoicepointTerminal__CpAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19469:1: ( rule__ChoicepointTerminal__CpAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19312:1: ( ( rule__ChoicepointTerminal__CpAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19313:1: ( rule__ChoicepointTerminal__CpAssignment_1 )
             {
              before(grammarAccess.getChoicepointTerminalAccess().getCpAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19470:1: ( rule__ChoicepointTerminal__CpAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19470:2: rule__ChoicepointTerminal__CpAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19314:1: ( rule__ChoicepointTerminal__CpAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19314:2: rule__ChoicepointTerminal__CpAssignment_1
             {
-            pushFollow(FOLLOW_rule__ChoicepointTerminal__CpAssignment_1_in_rule__ChoicepointTerminal__Group__1__Impl39391);
+            pushFollow(FOLLOW_rule__ChoicepointTerminal__CpAssignment_1_in_rule__ChoicepointTerminal__Group__1__Impl39083);
             rule__ChoicepointTerminal__CpAssignment_1();
 
             state._fsp--;
@@ -53160,21 +52924,21 @@
 
 
     // $ANTLR start "rule__Trigger__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19484:1: rule__Trigger__Group__0 : rule__Trigger__Group__0__Impl rule__Trigger__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19328:1: rule__Trigger__Group__0 : rule__Trigger__Group__0__Impl rule__Trigger__Group__1 ;
     public final void rule__Trigger__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19488:1: ( rule__Trigger__Group__0__Impl rule__Trigger__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19489:2: rule__Trigger__Group__0__Impl rule__Trigger__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19332:1: ( rule__Trigger__Group__0__Impl rule__Trigger__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19333:2: rule__Trigger__Group__0__Impl rule__Trigger__Group__1
             {
-            pushFollow(FOLLOW_rule__Trigger__Group__0__Impl_in_rule__Trigger__Group__039425);
+            pushFollow(FOLLOW_rule__Trigger__Group__0__Impl_in_rule__Trigger__Group__039117);
             rule__Trigger__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Trigger__Group__1_in_rule__Trigger__Group__039428);
+            pushFollow(FOLLOW_rule__Trigger__Group__1_in_rule__Trigger__Group__039120);
             rule__Trigger__Group__1();
 
             state._fsp--;
@@ -53198,20 +52962,20 @@
 
 
     // $ANTLR start "rule__Trigger__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19496:1: rule__Trigger__Group__0__Impl : ( '<' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19340:1: rule__Trigger__Group__0__Impl : ( '<' ) ;
     public final void rule__Trigger__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19500:1: ( ( '<' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19501:1: ( '<' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19344:1: ( ( '<' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19345:1: ( '<' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19501:1: ( '<' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19502:1: '<'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19345:1: ( '<' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19346:1: '<'
             {
              before(grammarAccess.getTriggerAccess().getLessThanSignKeyword_0()); 
-            match(input,113,FOLLOW_113_in_rule__Trigger__Group__0__Impl39456); 
+            match(input,114,FOLLOW_114_in_rule__Trigger__Group__0__Impl39148); 
              after(grammarAccess.getTriggerAccess().getLessThanSignKeyword_0()); 
 
             }
@@ -53235,21 +52999,21 @@
 
 
     // $ANTLR start "rule__Trigger__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19515:1: rule__Trigger__Group__1 : rule__Trigger__Group__1__Impl rule__Trigger__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19359:1: rule__Trigger__Group__1 : rule__Trigger__Group__1__Impl rule__Trigger__Group__2 ;
     public final void rule__Trigger__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19519:1: ( rule__Trigger__Group__1__Impl rule__Trigger__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19520:2: rule__Trigger__Group__1__Impl rule__Trigger__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19363:1: ( rule__Trigger__Group__1__Impl rule__Trigger__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19364:2: rule__Trigger__Group__1__Impl rule__Trigger__Group__2
             {
-            pushFollow(FOLLOW_rule__Trigger__Group__1__Impl_in_rule__Trigger__Group__139487);
+            pushFollow(FOLLOW_rule__Trigger__Group__1__Impl_in_rule__Trigger__Group__139179);
             rule__Trigger__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Trigger__Group__2_in_rule__Trigger__Group__139490);
+            pushFollow(FOLLOW_rule__Trigger__Group__2_in_rule__Trigger__Group__139182);
             rule__Trigger__Group__2();
 
             state._fsp--;
@@ -53273,23 +53037,23 @@
 
 
     // $ANTLR start "rule__Trigger__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19527:1: rule__Trigger__Group__1__Impl : ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19371:1: rule__Trigger__Group__1__Impl : ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) ) ;
     public final void rule__Trigger__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19531:1: ( ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19532:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19375:1: ( ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19376:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19532:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19533:1: ( rule__Trigger__MsgFromIfPairsAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19376:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19377:1: ( rule__Trigger__MsgFromIfPairsAssignment_1 )
             {
              before(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19534:1: ( rule__Trigger__MsgFromIfPairsAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19534:2: rule__Trigger__MsgFromIfPairsAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19378:1: ( rule__Trigger__MsgFromIfPairsAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19378:2: rule__Trigger__MsgFromIfPairsAssignment_1
             {
-            pushFollow(FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_1_in_rule__Trigger__Group__1__Impl39517);
+            pushFollow(FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_1_in_rule__Trigger__Group__1__Impl39209);
             rule__Trigger__MsgFromIfPairsAssignment_1();
 
             state._fsp--;
@@ -53320,21 +53084,21 @@
 
 
     // $ANTLR start "rule__Trigger__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19544:1: rule__Trigger__Group__2 : rule__Trigger__Group__2__Impl rule__Trigger__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19388:1: rule__Trigger__Group__2 : rule__Trigger__Group__2__Impl rule__Trigger__Group__3 ;
     public final void rule__Trigger__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19548:1: ( rule__Trigger__Group__2__Impl rule__Trigger__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19549:2: rule__Trigger__Group__2__Impl rule__Trigger__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19392:1: ( rule__Trigger__Group__2__Impl rule__Trigger__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19393:2: rule__Trigger__Group__2__Impl rule__Trigger__Group__3
             {
-            pushFollow(FOLLOW_rule__Trigger__Group__2__Impl_in_rule__Trigger__Group__239547);
+            pushFollow(FOLLOW_rule__Trigger__Group__2__Impl_in_rule__Trigger__Group__239239);
             rule__Trigger__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Trigger__Group__3_in_rule__Trigger__Group__239550);
+            pushFollow(FOLLOW_rule__Trigger__Group__3_in_rule__Trigger__Group__239242);
             rule__Trigger__Group__3();
 
             state._fsp--;
@@ -53358,35 +53122,35 @@
 
 
     // $ANTLR start "rule__Trigger__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19556:1: rule__Trigger__Group__2__Impl : ( ( rule__Trigger__Group_2__0 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19400:1: rule__Trigger__Group__2__Impl : ( ( rule__Trigger__Group_2__0 )* ) ;
     public final void rule__Trigger__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19560:1: ( ( ( rule__Trigger__Group_2__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19561:1: ( ( rule__Trigger__Group_2__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19404:1: ( ( ( rule__Trigger__Group_2__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19405:1: ( ( rule__Trigger__Group_2__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19561:1: ( ( rule__Trigger__Group_2__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19562:1: ( rule__Trigger__Group_2__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19405:1: ( ( rule__Trigger__Group_2__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19406:1: ( rule__Trigger__Group_2__0 )*
             {
              before(grammarAccess.getTriggerAccess().getGroup_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19563:1: ( rule__Trigger__Group_2__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19407:1: ( rule__Trigger__Group_2__0 )*
             loop182:
             do {
                 int alt182=2;
                 int LA182_0 = input.LA(1);
 
-                if ( (LA182_0==115) ) {
+                if ( (LA182_0==116) ) {
                     alt182=1;
                 }
 
 
                 switch (alt182) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19563:2: rule__Trigger__Group_2__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19407:2: rule__Trigger__Group_2__0
             	    {
-            	    pushFollow(FOLLOW_rule__Trigger__Group_2__0_in_rule__Trigger__Group__2__Impl39577);
+            	    pushFollow(FOLLOW_rule__Trigger__Group_2__0_in_rule__Trigger__Group__2__Impl39269);
             	    rule__Trigger__Group_2__0();
 
             	    state._fsp--;
@@ -53423,21 +53187,21 @@
 
 
     // $ANTLR start "rule__Trigger__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19573:1: rule__Trigger__Group__3 : rule__Trigger__Group__3__Impl rule__Trigger__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19417:1: rule__Trigger__Group__3 : rule__Trigger__Group__3__Impl rule__Trigger__Group__4 ;
     public final void rule__Trigger__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19577:1: ( rule__Trigger__Group__3__Impl rule__Trigger__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19578:2: rule__Trigger__Group__3__Impl rule__Trigger__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19421:1: ( rule__Trigger__Group__3__Impl rule__Trigger__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19422:2: rule__Trigger__Group__3__Impl rule__Trigger__Group__4
             {
-            pushFollow(FOLLOW_rule__Trigger__Group__3__Impl_in_rule__Trigger__Group__339608);
+            pushFollow(FOLLOW_rule__Trigger__Group__3__Impl_in_rule__Trigger__Group__339300);
             rule__Trigger__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Trigger__Group__4_in_rule__Trigger__Group__339611);
+            pushFollow(FOLLOW_rule__Trigger__Group__4_in_rule__Trigger__Group__339303);
             rule__Trigger__Group__4();
 
             state._fsp--;
@@ -53461,31 +53225,31 @@
 
 
     // $ANTLR start "rule__Trigger__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19585:1: rule__Trigger__Group__3__Impl : ( ( rule__Trigger__GuardAssignment_3 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19429:1: rule__Trigger__Group__3__Impl : ( ( rule__Trigger__GuardAssignment_3 )? ) ;
     public final void rule__Trigger__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19589:1: ( ( ( rule__Trigger__GuardAssignment_3 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19590:1: ( ( rule__Trigger__GuardAssignment_3 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19433:1: ( ( ( rule__Trigger__GuardAssignment_3 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19434:1: ( ( rule__Trigger__GuardAssignment_3 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19590:1: ( ( rule__Trigger__GuardAssignment_3 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19591:1: ( rule__Trigger__GuardAssignment_3 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19434:1: ( ( rule__Trigger__GuardAssignment_3 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19435:1: ( rule__Trigger__GuardAssignment_3 )?
             {
              before(grammarAccess.getTriggerAccess().getGuardAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19592:1: ( rule__Trigger__GuardAssignment_3 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19436:1: ( rule__Trigger__GuardAssignment_3 )?
             int alt183=2;
             int LA183_0 = input.LA(1);
 
-            if ( (LA183_0==108) ) {
+            if ( (LA183_0==109) ) {
                 alt183=1;
             }
             switch (alt183) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19592:2: rule__Trigger__GuardAssignment_3
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19436:2: rule__Trigger__GuardAssignment_3
                     {
-                    pushFollow(FOLLOW_rule__Trigger__GuardAssignment_3_in_rule__Trigger__Group__3__Impl39638);
+                    pushFollow(FOLLOW_rule__Trigger__GuardAssignment_3_in_rule__Trigger__Group__3__Impl39330);
                     rule__Trigger__GuardAssignment_3();
 
                     state._fsp--;
@@ -53519,16 +53283,16 @@
 
 
     // $ANTLR start "rule__Trigger__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19602:1: rule__Trigger__Group__4 : rule__Trigger__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19446:1: rule__Trigger__Group__4 : rule__Trigger__Group__4__Impl ;
     public final void rule__Trigger__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19606:1: ( rule__Trigger__Group__4__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19607:2: rule__Trigger__Group__4__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19450:1: ( rule__Trigger__Group__4__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19451:2: rule__Trigger__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__Trigger__Group__4__Impl_in_rule__Trigger__Group__439669);
+            pushFollow(FOLLOW_rule__Trigger__Group__4__Impl_in_rule__Trigger__Group__439361);
             rule__Trigger__Group__4__Impl();
 
             state._fsp--;
@@ -53552,20 +53316,20 @@
 
 
     // $ANTLR start "rule__Trigger__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19613:1: rule__Trigger__Group__4__Impl : ( '>' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19457:1: rule__Trigger__Group__4__Impl : ( '>' ) ;
     public final void rule__Trigger__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19617:1: ( ( '>' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19618:1: ( '>' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19461:1: ( ( '>' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19462:1: ( '>' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19618:1: ( '>' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19619:1: '>'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19462:1: ( '>' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19463:1: '>'
             {
              before(grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4()); 
-            match(input,114,FOLLOW_114_in_rule__Trigger__Group__4__Impl39697); 
+            match(input,115,FOLLOW_115_in_rule__Trigger__Group__4__Impl39389); 
              after(grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4()); 
 
             }
@@ -53589,21 +53353,21 @@
 
 
     // $ANTLR start "rule__Trigger__Group_2__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19642:1: rule__Trigger__Group_2__0 : rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19486:1: rule__Trigger__Group_2__0 : rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1 ;
     public final void rule__Trigger__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19646:1: ( rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19647:2: rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19490:1: ( rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19491:2: rule__Trigger__Group_2__0__Impl rule__Trigger__Group_2__1
             {
-            pushFollow(FOLLOW_rule__Trigger__Group_2__0__Impl_in_rule__Trigger__Group_2__039738);
+            pushFollow(FOLLOW_rule__Trigger__Group_2__0__Impl_in_rule__Trigger__Group_2__039430);
             rule__Trigger__Group_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Trigger__Group_2__1_in_rule__Trigger__Group_2__039741);
+            pushFollow(FOLLOW_rule__Trigger__Group_2__1_in_rule__Trigger__Group_2__039433);
             rule__Trigger__Group_2__1();
 
             state._fsp--;
@@ -53627,20 +53391,20 @@
 
 
     // $ANTLR start "rule__Trigger__Group_2__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19654:1: rule__Trigger__Group_2__0__Impl : ( '|' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19498:1: rule__Trigger__Group_2__0__Impl : ( '|' ) ;
     public final void rule__Trigger__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19658:1: ( ( '|' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19659:1: ( '|' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19502:1: ( ( '|' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19503:1: ( '|' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19659:1: ( '|' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19660:1: '|'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19503:1: ( '|' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19504:1: '|'
             {
              before(grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0()); 
-            match(input,115,FOLLOW_115_in_rule__Trigger__Group_2__0__Impl39769); 
+            match(input,116,FOLLOW_116_in_rule__Trigger__Group_2__0__Impl39461); 
              after(grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0()); 
 
             }
@@ -53664,16 +53428,16 @@
 
 
     // $ANTLR start "rule__Trigger__Group_2__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19673:1: rule__Trigger__Group_2__1 : rule__Trigger__Group_2__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19517:1: rule__Trigger__Group_2__1 : rule__Trigger__Group_2__1__Impl ;
     public final void rule__Trigger__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19677:1: ( rule__Trigger__Group_2__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19678:2: rule__Trigger__Group_2__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19521:1: ( rule__Trigger__Group_2__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19522:2: rule__Trigger__Group_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__Trigger__Group_2__1__Impl_in_rule__Trigger__Group_2__139800);
+            pushFollow(FOLLOW_rule__Trigger__Group_2__1__Impl_in_rule__Trigger__Group_2__139492);
             rule__Trigger__Group_2__1__Impl();
 
             state._fsp--;
@@ -53697,23 +53461,23 @@
 
 
     // $ANTLR start "rule__Trigger__Group_2__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19684:1: rule__Trigger__Group_2__1__Impl : ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19528:1: rule__Trigger__Group_2__1__Impl : ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) ) ;
     public final void rule__Trigger__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19688:1: ( ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19689:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19532:1: ( ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19533:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19689:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19690:1: ( rule__Trigger__MsgFromIfPairsAssignment_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19533:1: ( ( rule__Trigger__MsgFromIfPairsAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19534:1: ( rule__Trigger__MsgFromIfPairsAssignment_2_1 )
             {
              before(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_2_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19691:1: ( rule__Trigger__MsgFromIfPairsAssignment_2_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19691:2: rule__Trigger__MsgFromIfPairsAssignment_2_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19535:1: ( rule__Trigger__MsgFromIfPairsAssignment_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19535:2: rule__Trigger__MsgFromIfPairsAssignment_2_1
             {
-            pushFollow(FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_2_1_in_rule__Trigger__Group_2__1__Impl39827);
+            pushFollow(FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_2_1_in_rule__Trigger__Group_2__1__Impl39519);
             rule__Trigger__MsgFromIfPairsAssignment_2_1();
 
             state._fsp--;
@@ -53744,21 +53508,21 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19705:1: rule__MessageFromIf__Group__0 : rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19549:1: rule__MessageFromIf__Group__0 : rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1 ;
     public final void rule__MessageFromIf__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19709:1: ( rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19710:2: rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19553:1: ( rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19554:2: rule__MessageFromIf__Group__0__Impl rule__MessageFromIf__Group__1
             {
-            pushFollow(FOLLOW_rule__MessageFromIf__Group__0__Impl_in_rule__MessageFromIf__Group__039861);
+            pushFollow(FOLLOW_rule__MessageFromIf__Group__0__Impl_in_rule__MessageFromIf__Group__039553);
             rule__MessageFromIf__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__MessageFromIf__Group__1_in_rule__MessageFromIf__Group__039864);
+            pushFollow(FOLLOW_rule__MessageFromIf__Group__1_in_rule__MessageFromIf__Group__039556);
             rule__MessageFromIf__Group__1();
 
             state._fsp--;
@@ -53782,23 +53546,23 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19717:1: rule__MessageFromIf__Group__0__Impl : ( ( rule__MessageFromIf__MessageAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19561:1: rule__MessageFromIf__Group__0__Impl : ( ( rule__MessageFromIf__MessageAssignment_0 ) ) ;
     public final void rule__MessageFromIf__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19721:1: ( ( ( rule__MessageFromIf__MessageAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19722:1: ( ( rule__MessageFromIf__MessageAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19565:1: ( ( ( rule__MessageFromIf__MessageAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19566:1: ( ( rule__MessageFromIf__MessageAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19722:1: ( ( rule__MessageFromIf__MessageAssignment_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19723:1: ( rule__MessageFromIf__MessageAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19566:1: ( ( rule__MessageFromIf__MessageAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19567:1: ( rule__MessageFromIf__MessageAssignment_0 )
             {
              before(grammarAccess.getMessageFromIfAccess().getMessageAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19724:1: ( rule__MessageFromIf__MessageAssignment_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19724:2: rule__MessageFromIf__MessageAssignment_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19568:1: ( rule__MessageFromIf__MessageAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19568:2: rule__MessageFromIf__MessageAssignment_0
             {
-            pushFollow(FOLLOW_rule__MessageFromIf__MessageAssignment_0_in_rule__MessageFromIf__Group__0__Impl39891);
+            pushFollow(FOLLOW_rule__MessageFromIf__MessageAssignment_0_in_rule__MessageFromIf__Group__0__Impl39583);
             rule__MessageFromIf__MessageAssignment_0();
 
             state._fsp--;
@@ -53829,21 +53593,21 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19734:1: rule__MessageFromIf__Group__1 : rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19578:1: rule__MessageFromIf__Group__1 : rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2 ;
     public final void rule__MessageFromIf__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19738:1: ( rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19739:2: rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19582:1: ( rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19583:2: rule__MessageFromIf__Group__1__Impl rule__MessageFromIf__Group__2
             {
-            pushFollow(FOLLOW_rule__MessageFromIf__Group__1__Impl_in_rule__MessageFromIf__Group__139921);
+            pushFollow(FOLLOW_rule__MessageFromIf__Group__1__Impl_in_rule__MessageFromIf__Group__139613);
             rule__MessageFromIf__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__MessageFromIf__Group__2_in_rule__MessageFromIf__Group__139924);
+            pushFollow(FOLLOW_rule__MessageFromIf__Group__2_in_rule__MessageFromIf__Group__139616);
             rule__MessageFromIf__Group__2();
 
             state._fsp--;
@@ -53867,20 +53631,20 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19746:1: rule__MessageFromIf__Group__1__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19590:1: rule__MessageFromIf__Group__1__Impl : ( ':' ) ;
     public final void rule__MessageFromIf__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19750:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19751:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19594:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19595:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19751:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19752:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19595:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19596:1: ':'
             {
              before(grammarAccess.getMessageFromIfAccess().getColonKeyword_1()); 
-            match(input,42,FOLLOW_42_in_rule__MessageFromIf__Group__1__Impl39952); 
+            match(input,43,FOLLOW_43_in_rule__MessageFromIf__Group__1__Impl39644); 
              after(grammarAccess.getMessageFromIfAccess().getColonKeyword_1()); 
 
             }
@@ -53904,16 +53668,16 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19765:1: rule__MessageFromIf__Group__2 : rule__MessageFromIf__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19609:1: rule__MessageFromIf__Group__2 : rule__MessageFromIf__Group__2__Impl ;
     public final void rule__MessageFromIf__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19769:1: ( rule__MessageFromIf__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19770:2: rule__MessageFromIf__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19613:1: ( rule__MessageFromIf__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19614:2: rule__MessageFromIf__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__MessageFromIf__Group__2__Impl_in_rule__MessageFromIf__Group__239983);
+            pushFollow(FOLLOW_rule__MessageFromIf__Group__2__Impl_in_rule__MessageFromIf__Group__239675);
             rule__MessageFromIf__Group__2__Impl();
 
             state._fsp--;
@@ -53937,23 +53701,23 @@
 
 
     // $ANTLR start "rule__MessageFromIf__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19776:1: rule__MessageFromIf__Group__2__Impl : ( ( rule__MessageFromIf__FromAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19620:1: rule__MessageFromIf__Group__2__Impl : ( ( rule__MessageFromIf__FromAssignment_2 ) ) ;
     public final void rule__MessageFromIf__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19780:1: ( ( ( rule__MessageFromIf__FromAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19781:1: ( ( rule__MessageFromIf__FromAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19624:1: ( ( ( rule__MessageFromIf__FromAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19625:1: ( ( rule__MessageFromIf__FromAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19781:1: ( ( rule__MessageFromIf__FromAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19782:1: ( rule__MessageFromIf__FromAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19625:1: ( ( rule__MessageFromIf__FromAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19626:1: ( rule__MessageFromIf__FromAssignment_2 )
             {
              before(grammarAccess.getMessageFromIfAccess().getFromAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19783:1: ( rule__MessageFromIf__FromAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19783:2: rule__MessageFromIf__FromAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19627:1: ( rule__MessageFromIf__FromAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19627:2: rule__MessageFromIf__FromAssignment_2
             {
-            pushFollow(FOLLOW_rule__MessageFromIf__FromAssignment_2_in_rule__MessageFromIf__Group__2__Impl40010);
+            pushFollow(FOLLOW_rule__MessageFromIf__FromAssignment_2_in_rule__MessageFromIf__Group__2__Impl39702);
             rule__MessageFromIf__FromAssignment_2();
 
             state._fsp--;
@@ -53984,21 +53748,21 @@
 
 
     // $ANTLR start "rule__Guard__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19799:1: rule__Guard__Group__0 : rule__Guard__Group__0__Impl rule__Guard__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19643:1: rule__Guard__Group__0 : rule__Guard__Group__0__Impl rule__Guard__Group__1 ;
     public final void rule__Guard__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19803:1: ( rule__Guard__Group__0__Impl rule__Guard__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19804:2: rule__Guard__Group__0__Impl rule__Guard__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19647:1: ( rule__Guard__Group__0__Impl rule__Guard__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19648:2: rule__Guard__Group__0__Impl rule__Guard__Group__1
             {
-            pushFollow(FOLLOW_rule__Guard__Group__0__Impl_in_rule__Guard__Group__040046);
+            pushFollow(FOLLOW_rule__Guard__Group__0__Impl_in_rule__Guard__Group__039738);
             rule__Guard__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Guard__Group__1_in_rule__Guard__Group__040049);
+            pushFollow(FOLLOW_rule__Guard__Group__1_in_rule__Guard__Group__039741);
             rule__Guard__Group__1();
 
             state._fsp--;
@@ -54022,20 +53786,20 @@
 
 
     // $ANTLR start "rule__Guard__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19811:1: rule__Guard__Group__0__Impl : ( 'guard' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19655:1: rule__Guard__Group__0__Impl : ( 'guard' ) ;
     public final void rule__Guard__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19815:1: ( ( 'guard' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19816:1: ( 'guard' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19659:1: ( ( 'guard' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19660:1: ( 'guard' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19816:1: ( 'guard' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19817:1: 'guard'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19660:1: ( 'guard' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19661:1: 'guard'
             {
              before(grammarAccess.getGuardAccess().getGuardKeyword_0()); 
-            match(input,108,FOLLOW_108_in_rule__Guard__Group__0__Impl40077); 
+            match(input,109,FOLLOW_109_in_rule__Guard__Group__0__Impl39769); 
              after(grammarAccess.getGuardAccess().getGuardKeyword_0()); 
 
             }
@@ -54059,16 +53823,16 @@
 
 
     // $ANTLR start "rule__Guard__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19830:1: rule__Guard__Group__1 : rule__Guard__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19674:1: rule__Guard__Group__1 : rule__Guard__Group__1__Impl ;
     public final void rule__Guard__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19834:1: ( rule__Guard__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19835:2: rule__Guard__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19678:1: ( rule__Guard__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19679:2: rule__Guard__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__Guard__Group__1__Impl_in_rule__Guard__Group__140108);
+            pushFollow(FOLLOW_rule__Guard__Group__1__Impl_in_rule__Guard__Group__139800);
             rule__Guard__Group__1__Impl();
 
             state._fsp--;
@@ -54092,23 +53856,23 @@
 
 
     // $ANTLR start "rule__Guard__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19841:1: rule__Guard__Group__1__Impl : ( ( rule__Guard__GuardAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19685:1: rule__Guard__Group__1__Impl : ( ( rule__Guard__GuardAssignment_1 ) ) ;
     public final void rule__Guard__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19845:1: ( ( ( rule__Guard__GuardAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19846:1: ( ( rule__Guard__GuardAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19689:1: ( ( ( rule__Guard__GuardAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19690:1: ( ( rule__Guard__GuardAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19846:1: ( ( rule__Guard__GuardAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19847:1: ( rule__Guard__GuardAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19690:1: ( ( rule__Guard__GuardAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19691:1: ( rule__Guard__GuardAssignment_1 )
             {
              before(grammarAccess.getGuardAccess().getGuardAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19848:1: ( rule__Guard__GuardAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19848:2: rule__Guard__GuardAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19692:1: ( rule__Guard__GuardAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19692:2: rule__Guard__GuardAssignment_1
             {
-            pushFollow(FOLLOW_rule__Guard__GuardAssignment_1_in_rule__Guard__Group__1__Impl40135);
+            pushFollow(FOLLOW_rule__Guard__GuardAssignment_1_in_rule__Guard__Group__1__Impl39827);
             rule__Guard__GuardAssignment_1();
 
             state._fsp--;
@@ -54139,21 +53903,21 @@
 
 
     // $ANTLR start "rule__ProtocolSemantics__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19862:1: rule__ProtocolSemantics__Group__0 : rule__ProtocolSemantics__Group__0__Impl rule__ProtocolSemantics__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19706:1: rule__ProtocolSemantics__Group__0 : rule__ProtocolSemantics__Group__0__Impl rule__ProtocolSemantics__Group__1 ;
     public final void rule__ProtocolSemantics__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19866:1: ( rule__ProtocolSemantics__Group__0__Impl rule__ProtocolSemantics__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19867:2: rule__ProtocolSemantics__Group__0__Impl rule__ProtocolSemantics__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19710:1: ( rule__ProtocolSemantics__Group__0__Impl rule__ProtocolSemantics__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19711:2: rule__ProtocolSemantics__Group__0__Impl rule__ProtocolSemantics__Group__1
             {
-            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__0__Impl_in_rule__ProtocolSemantics__Group__040169);
+            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__0__Impl_in_rule__ProtocolSemantics__Group__039861);
             rule__ProtocolSemantics__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__1_in_rule__ProtocolSemantics__Group__040172);
+            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__1_in_rule__ProtocolSemantics__Group__039864);
             rule__ProtocolSemantics__Group__1();
 
             state._fsp--;
@@ -54177,21 +53941,21 @@
 
 
     // $ANTLR start "rule__ProtocolSemantics__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19874:1: rule__ProtocolSemantics__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19718:1: rule__ProtocolSemantics__Group__0__Impl : ( () ) ;
     public final void rule__ProtocolSemantics__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19878:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19879:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19722:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19723:1: ( () )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19879:1: ( () )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19880:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19723:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19724:1: ()
             {
              before(grammarAccess.getProtocolSemanticsAccess().getProtocolSemanticsAction_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19881:1: ()
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19883:1: 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19725:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19727:1: 
             {
             }
 
@@ -54214,21 +53978,21 @@
 
 
     // $ANTLR start "rule__ProtocolSemantics__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19893:1: rule__ProtocolSemantics__Group__1 : rule__ProtocolSemantics__Group__1__Impl rule__ProtocolSemantics__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19737:1: rule__ProtocolSemantics__Group__1 : rule__ProtocolSemantics__Group__1__Impl rule__ProtocolSemantics__Group__2 ;
     public final void rule__ProtocolSemantics__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19897:1: ( rule__ProtocolSemantics__Group__1__Impl rule__ProtocolSemantics__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19898:2: rule__ProtocolSemantics__Group__1__Impl rule__ProtocolSemantics__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19741:1: ( rule__ProtocolSemantics__Group__1__Impl rule__ProtocolSemantics__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19742:2: rule__ProtocolSemantics__Group__1__Impl rule__ProtocolSemantics__Group__2
             {
-            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__1__Impl_in_rule__ProtocolSemantics__Group__140230);
+            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__1__Impl_in_rule__ProtocolSemantics__Group__139922);
             rule__ProtocolSemantics__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__2_in_rule__ProtocolSemantics__Group__140233);
+            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__2_in_rule__ProtocolSemantics__Group__139925);
             rule__ProtocolSemantics__Group__2();
 
             state._fsp--;
@@ -54252,20 +54016,20 @@
 
 
     // $ANTLR start "rule__ProtocolSemantics__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19905:1: rule__ProtocolSemantics__Group__1__Impl : ( 'semantics' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19749:1: rule__ProtocolSemantics__Group__1__Impl : ( 'semantics' ) ;
     public final void rule__ProtocolSemantics__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19909:1: ( ( 'semantics' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19910:1: ( 'semantics' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19753:1: ( ( 'semantics' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19754:1: ( 'semantics' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19910:1: ( 'semantics' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19911:1: 'semantics'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19754:1: ( 'semantics' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19755:1: 'semantics'
             {
              before(grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_1()); 
-            match(input,116,FOLLOW_116_in_rule__ProtocolSemantics__Group__1__Impl40261); 
+            match(input,117,FOLLOW_117_in_rule__ProtocolSemantics__Group__1__Impl39953); 
              after(grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_1()); 
 
             }
@@ -54289,21 +54053,21 @@
 
 
     // $ANTLR start "rule__ProtocolSemantics__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19924:1: rule__ProtocolSemantics__Group__2 : rule__ProtocolSemantics__Group__2__Impl rule__ProtocolSemantics__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19768:1: rule__ProtocolSemantics__Group__2 : rule__ProtocolSemantics__Group__2__Impl rule__ProtocolSemantics__Group__3 ;
     public final void rule__ProtocolSemantics__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19928:1: ( rule__ProtocolSemantics__Group__2__Impl rule__ProtocolSemantics__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19929:2: rule__ProtocolSemantics__Group__2__Impl rule__ProtocolSemantics__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19772:1: ( rule__ProtocolSemantics__Group__2__Impl rule__ProtocolSemantics__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19773:2: rule__ProtocolSemantics__Group__2__Impl rule__ProtocolSemantics__Group__3
             {
-            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__2__Impl_in_rule__ProtocolSemantics__Group__240292);
+            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__2__Impl_in_rule__ProtocolSemantics__Group__239984);
             rule__ProtocolSemantics__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__3_in_rule__ProtocolSemantics__Group__240295);
+            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__3_in_rule__ProtocolSemantics__Group__239987);
             rule__ProtocolSemantics__Group__3();
 
             state._fsp--;
@@ -54327,20 +54091,20 @@
 
 
     // $ANTLR start "rule__ProtocolSemantics__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19936:1: rule__ProtocolSemantics__Group__2__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19780:1: rule__ProtocolSemantics__Group__2__Impl : ( '{' ) ;
     public final void rule__ProtocolSemantics__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19940:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19941:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19784:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19785:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19941:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19942:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19785:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19786:1: '{'
             {
              before(grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_2()); 
-            match(input,40,FOLLOW_40_in_rule__ProtocolSemantics__Group__2__Impl40323); 
+            match(input,41,FOLLOW_41_in_rule__ProtocolSemantics__Group__2__Impl40015); 
              after(grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_2()); 
 
             }
@@ -54364,21 +54128,21 @@
 
 
     // $ANTLR start "rule__ProtocolSemantics__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19955:1: rule__ProtocolSemantics__Group__3 : rule__ProtocolSemantics__Group__3__Impl rule__ProtocolSemantics__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19799:1: rule__ProtocolSemantics__Group__3 : rule__ProtocolSemantics__Group__3__Impl rule__ProtocolSemantics__Group__4 ;
     public final void rule__ProtocolSemantics__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19959:1: ( rule__ProtocolSemantics__Group__3__Impl rule__ProtocolSemantics__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19960:2: rule__ProtocolSemantics__Group__3__Impl rule__ProtocolSemantics__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19803:1: ( rule__ProtocolSemantics__Group__3__Impl rule__ProtocolSemantics__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19804:2: rule__ProtocolSemantics__Group__3__Impl rule__ProtocolSemantics__Group__4
             {
-            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__3__Impl_in_rule__ProtocolSemantics__Group__340354);
+            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__3__Impl_in_rule__ProtocolSemantics__Group__340046);
             rule__ProtocolSemantics__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__4_in_rule__ProtocolSemantics__Group__340357);
+            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__4_in_rule__ProtocolSemantics__Group__340049);
             rule__ProtocolSemantics__Group__4();
 
             state._fsp--;
@@ -54402,35 +54166,35 @@
 
 
     // $ANTLR start "rule__ProtocolSemantics__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19967:1: rule__ProtocolSemantics__Group__3__Impl : ( ( rule__ProtocolSemantics__RulesAssignment_3 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19811:1: rule__ProtocolSemantics__Group__3__Impl : ( ( rule__ProtocolSemantics__RulesAssignment_3 )* ) ;
     public final void rule__ProtocolSemantics__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19971:1: ( ( ( rule__ProtocolSemantics__RulesAssignment_3 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19972:1: ( ( rule__ProtocolSemantics__RulesAssignment_3 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19815:1: ( ( ( rule__ProtocolSemantics__RulesAssignment_3 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19816:1: ( ( rule__ProtocolSemantics__RulesAssignment_3 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19972:1: ( ( rule__ProtocolSemantics__RulesAssignment_3 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19973:1: ( rule__ProtocolSemantics__RulesAssignment_3 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19816:1: ( ( rule__ProtocolSemantics__RulesAssignment_3 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19817:1: ( rule__ProtocolSemantics__RulesAssignment_3 )*
             {
              before(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19974:1: ( rule__ProtocolSemantics__RulesAssignment_3 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19818:1: ( rule__ProtocolSemantics__RulesAssignment_3 )*
             loop184:
             do {
                 int alt184=2;
                 int LA184_0 = input.LA(1);
 
-                if ( ((LA184_0>=117 && LA184_0<=118)) ) {
+                if ( ((LA184_0>=118 && LA184_0<=119)) ) {
                     alt184=1;
                 }
 
 
                 switch (alt184) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19974:2: rule__ProtocolSemantics__RulesAssignment_3
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19818:2: rule__ProtocolSemantics__RulesAssignment_3
             	    {
-            	    pushFollow(FOLLOW_rule__ProtocolSemantics__RulesAssignment_3_in_rule__ProtocolSemantics__Group__3__Impl40384);
+            	    pushFollow(FOLLOW_rule__ProtocolSemantics__RulesAssignment_3_in_rule__ProtocolSemantics__Group__3__Impl40076);
             	    rule__ProtocolSemantics__RulesAssignment_3();
 
             	    state._fsp--;
@@ -54467,16 +54231,16 @@
 
 
     // $ANTLR start "rule__ProtocolSemantics__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19984:1: rule__ProtocolSemantics__Group__4 : rule__ProtocolSemantics__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19828:1: rule__ProtocolSemantics__Group__4 : rule__ProtocolSemantics__Group__4__Impl ;
     public final void rule__ProtocolSemantics__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19988:1: ( rule__ProtocolSemantics__Group__4__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19989:2: rule__ProtocolSemantics__Group__4__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19832:1: ( rule__ProtocolSemantics__Group__4__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19833:2: rule__ProtocolSemantics__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__4__Impl_in_rule__ProtocolSemantics__Group__440415);
+            pushFollow(FOLLOW_rule__ProtocolSemantics__Group__4__Impl_in_rule__ProtocolSemantics__Group__440107);
             rule__ProtocolSemantics__Group__4__Impl();
 
             state._fsp--;
@@ -54500,20 +54264,20 @@
 
 
     // $ANTLR start "rule__ProtocolSemantics__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19995:1: rule__ProtocolSemantics__Group__4__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19839:1: rule__ProtocolSemantics__Group__4__Impl : ( '}' ) ;
     public final void rule__ProtocolSemantics__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19999:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20000:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19843:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19844:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20000:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20001:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19844:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19845:1: '}'
             {
              before(grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_4()); 
-            match(input,41,FOLLOW_41_in_rule__ProtocolSemantics__Group__4__Impl40443); 
+            match(input,42,FOLLOW_42_in_rule__ProtocolSemantics__Group__4__Impl40135); 
              after(grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_4()); 
 
             }
@@ -54537,21 +54301,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20024:1: rule__InSemanticsRule__Group__0 : rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19868:1: rule__InSemanticsRule__Group__0 : rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1 ;
     public final void rule__InSemanticsRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20028:1: ( rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20029:2: rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19872:1: ( rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19873:2: rule__InSemanticsRule__Group__0__Impl rule__InSemanticsRule__Group__1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__0__Impl_in_rule__InSemanticsRule__Group__040484);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__0__Impl_in_rule__InSemanticsRule__Group__040176);
             rule__InSemanticsRule__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__1_in_rule__InSemanticsRule__Group__040487);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__1_in_rule__InSemanticsRule__Group__040179);
             rule__InSemanticsRule__Group__1();
 
             state._fsp--;
@@ -54575,20 +54339,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20036:1: rule__InSemanticsRule__Group__0__Impl : ( 'in' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19880:1: rule__InSemanticsRule__Group__0__Impl : ( 'in' ) ;
     public final void rule__InSemanticsRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20040:1: ( ( 'in' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20041:1: ( 'in' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19884:1: ( ( 'in' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19885:1: ( 'in' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20041:1: ( 'in' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20042:1: 'in'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19885:1: ( 'in' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19886:1: 'in'
             {
              before(grammarAccess.getInSemanticsRuleAccess().getInKeyword_0()); 
-            match(input,117,FOLLOW_117_in_rule__InSemanticsRule__Group__0__Impl40515); 
+            match(input,118,FOLLOW_118_in_rule__InSemanticsRule__Group__0__Impl40207); 
              after(grammarAccess.getInSemanticsRuleAccess().getInKeyword_0()); 
 
             }
@@ -54612,21 +54376,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20055:1: rule__InSemanticsRule__Group__1 : rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19899:1: rule__InSemanticsRule__Group__1 : rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2 ;
     public final void rule__InSemanticsRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20059:1: ( rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20060:2: rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19903:1: ( rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19904:2: rule__InSemanticsRule__Group__1__Impl rule__InSemanticsRule__Group__2
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__1__Impl_in_rule__InSemanticsRule__Group__140546);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__1__Impl_in_rule__InSemanticsRule__Group__140238);
             rule__InSemanticsRule__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__2_in_rule__InSemanticsRule__Group__140549);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__2_in_rule__InSemanticsRule__Group__140241);
             rule__InSemanticsRule__Group__2();
 
             state._fsp--;
@@ -54650,20 +54414,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20067:1: rule__InSemanticsRule__Group__1__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19911:1: rule__InSemanticsRule__Group__1__Impl : ( ':' ) ;
     public final void rule__InSemanticsRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20071:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20072:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19915:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19916:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20072:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20073:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19916:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19917:1: ':'
             {
              before(grammarAccess.getInSemanticsRuleAccess().getColonKeyword_1()); 
-            match(input,42,FOLLOW_42_in_rule__InSemanticsRule__Group__1__Impl40577); 
+            match(input,43,FOLLOW_43_in_rule__InSemanticsRule__Group__1__Impl40269); 
              after(grammarAccess.getInSemanticsRuleAccess().getColonKeyword_1()); 
 
             }
@@ -54687,21 +54451,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20086:1: rule__InSemanticsRule__Group__2 : rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19930:1: rule__InSemanticsRule__Group__2 : rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3 ;
     public final void rule__InSemanticsRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20090:1: ( rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20091:2: rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19934:1: ( rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19935:2: rule__InSemanticsRule__Group__2__Impl rule__InSemanticsRule__Group__3
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__2__Impl_in_rule__InSemanticsRule__Group__240608);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__2__Impl_in_rule__InSemanticsRule__Group__240300);
             rule__InSemanticsRule__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__3_in_rule__InSemanticsRule__Group__240611);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__3_in_rule__InSemanticsRule__Group__240303);
             rule__InSemanticsRule__Group__3();
 
             state._fsp--;
@@ -54725,23 +54489,23 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20098:1: rule__InSemanticsRule__Group__2__Impl : ( ( rule__InSemanticsRule__MsgAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19942:1: rule__InSemanticsRule__Group__2__Impl : ( ( rule__InSemanticsRule__MsgAssignment_2 ) ) ;
     public final void rule__InSemanticsRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20102:1: ( ( ( rule__InSemanticsRule__MsgAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20103:1: ( ( rule__InSemanticsRule__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19946:1: ( ( ( rule__InSemanticsRule__MsgAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19947:1: ( ( rule__InSemanticsRule__MsgAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20103:1: ( ( rule__InSemanticsRule__MsgAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20104:1: ( rule__InSemanticsRule__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19947:1: ( ( rule__InSemanticsRule__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19948:1: ( rule__InSemanticsRule__MsgAssignment_2 )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getMsgAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20105:1: ( rule__InSemanticsRule__MsgAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20105:2: rule__InSemanticsRule__MsgAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19949:1: ( rule__InSemanticsRule__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19949:2: rule__InSemanticsRule__MsgAssignment_2
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__MsgAssignment_2_in_rule__InSemanticsRule__Group__2__Impl40638);
+            pushFollow(FOLLOW_rule__InSemanticsRule__MsgAssignment_2_in_rule__InSemanticsRule__Group__2__Impl40330);
             rule__InSemanticsRule__MsgAssignment_2();
 
             state._fsp--;
@@ -54772,16 +54536,16 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20115:1: rule__InSemanticsRule__Group__3 : rule__InSemanticsRule__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19959:1: rule__InSemanticsRule__Group__3 : rule__InSemanticsRule__Group__3__Impl ;
     public final void rule__InSemanticsRule__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20119:1: ( rule__InSemanticsRule__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20120:2: rule__InSemanticsRule__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19963:1: ( rule__InSemanticsRule__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19964:2: rule__InSemanticsRule__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group__3__Impl_in_rule__InSemanticsRule__Group__340668);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group__3__Impl_in_rule__InSemanticsRule__Group__340360);
             rule__InSemanticsRule__Group__3__Impl();
 
             state._fsp--;
@@ -54805,31 +54569,31 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20126:1: rule__InSemanticsRule__Group__3__Impl : ( ( rule__InSemanticsRule__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19970:1: rule__InSemanticsRule__Group__3__Impl : ( ( rule__InSemanticsRule__Group_3__0 )? ) ;
     public final void rule__InSemanticsRule__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20130:1: ( ( ( rule__InSemanticsRule__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20131:1: ( ( rule__InSemanticsRule__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19974:1: ( ( ( rule__InSemanticsRule__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19975:1: ( ( rule__InSemanticsRule__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20131:1: ( ( rule__InSemanticsRule__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20132:1: ( rule__InSemanticsRule__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19975:1: ( ( rule__InSemanticsRule__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19976:1: ( rule__InSemanticsRule__Group_3__0 )?
             {
              before(grammarAccess.getInSemanticsRuleAccess().getGroup_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20133:1: ( rule__InSemanticsRule__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19977:1: ( rule__InSemanticsRule__Group_3__0 )?
             int alt185=2;
             int LA185_0 = input.LA(1);
 
-            if ( (LA185_0==44) ) {
+            if ( (LA185_0==45) ) {
                 alt185=1;
             }
             switch (alt185) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20133:2: rule__InSemanticsRule__Group_3__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19977:2: rule__InSemanticsRule__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__0_in_rule__InSemanticsRule__Group__3__Impl40695);
+                    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__0_in_rule__InSemanticsRule__Group__3__Impl40387);
                     rule__InSemanticsRule__Group_3__0();
 
                     state._fsp--;
@@ -54863,21 +54627,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20151:1: rule__InSemanticsRule__Group_3__0 : rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19995:1: rule__InSemanticsRule__Group_3__0 : rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1 ;
     public final void rule__InSemanticsRule__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20155:1: ( rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20156:2: rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:19999:1: ( rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20000:2: rule__InSemanticsRule__Group_3__0__Impl rule__InSemanticsRule__Group_3__1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__0__Impl_in_rule__InSemanticsRule__Group_3__040734);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__0__Impl_in_rule__InSemanticsRule__Group_3__040426);
             rule__InSemanticsRule__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__1_in_rule__InSemanticsRule__Group_3__040737);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__1_in_rule__InSemanticsRule__Group_3__040429);
             rule__InSemanticsRule__Group_3__1();
 
             state._fsp--;
@@ -54901,20 +54665,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20163:1: rule__InSemanticsRule__Group_3__0__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20007:1: rule__InSemanticsRule__Group_3__0__Impl : ( '->' ) ;
     public final void rule__InSemanticsRule__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20167:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20168:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20011:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20012:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20168:1: ( '->' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20169:1: '->'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20012:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20013:1: '->'
             {
              before(grammarAccess.getInSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0()); 
-            match(input,44,FOLLOW_44_in_rule__InSemanticsRule__Group_3__0__Impl40765); 
+            match(input,45,FOLLOW_45_in_rule__InSemanticsRule__Group_3__0__Impl40457); 
              after(grammarAccess.getInSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0()); 
 
             }
@@ -54938,16 +54702,16 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20182:1: rule__InSemanticsRule__Group_3__1 : rule__InSemanticsRule__Group_3__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20026:1: rule__InSemanticsRule__Group_3__1 : rule__InSemanticsRule__Group_3__1__Impl ;
     public final void rule__InSemanticsRule__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20186:1: ( rule__InSemanticsRule__Group_3__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20187:2: rule__InSemanticsRule__Group_3__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20030:1: ( rule__InSemanticsRule__Group_3__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20031:2: rule__InSemanticsRule__Group_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__1__Impl_in_rule__InSemanticsRule__Group_3__140796);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3__1__Impl_in_rule__InSemanticsRule__Group_3__140488);
             rule__InSemanticsRule__Group_3__1__Impl();
 
             state._fsp--;
@@ -54971,23 +54735,23 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20193:1: rule__InSemanticsRule__Group_3__1__Impl : ( ( rule__InSemanticsRule__Alternatives_3_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20037:1: rule__InSemanticsRule__Group_3__1__Impl : ( ( rule__InSemanticsRule__Alternatives_3_1 ) ) ;
     public final void rule__InSemanticsRule__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20197:1: ( ( ( rule__InSemanticsRule__Alternatives_3_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20198:1: ( ( rule__InSemanticsRule__Alternatives_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20041:1: ( ( ( rule__InSemanticsRule__Alternatives_3_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20042:1: ( ( rule__InSemanticsRule__Alternatives_3_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20198:1: ( ( rule__InSemanticsRule__Alternatives_3_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20199:1: ( rule__InSemanticsRule__Alternatives_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20042:1: ( ( rule__InSemanticsRule__Alternatives_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20043:1: ( rule__InSemanticsRule__Alternatives_3_1 )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getAlternatives_3_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20200:1: ( rule__InSemanticsRule__Alternatives_3_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20200:2: rule__InSemanticsRule__Alternatives_3_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20044:1: ( rule__InSemanticsRule__Alternatives_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20044:2: rule__InSemanticsRule__Alternatives_3_1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Alternatives_3_1_in_rule__InSemanticsRule__Group_3__1__Impl40823);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Alternatives_3_1_in_rule__InSemanticsRule__Group_3__1__Impl40515);
             rule__InSemanticsRule__Alternatives_3_1();
 
             state._fsp--;
@@ -55018,21 +54782,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20214:1: rule__InSemanticsRule__Group_3_1_1__0 : rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20058:1: rule__InSemanticsRule__Group_3_1_1__0 : rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1 ;
     public final void rule__InSemanticsRule__Group_3_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20218:1: ( rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20219:2: rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20062:1: ( rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20063:2: rule__InSemanticsRule__Group_3_1_1__0__Impl rule__InSemanticsRule__Group_3_1_1__1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__0__Impl_in_rule__InSemanticsRule__Group_3_1_1__040857);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__0__Impl_in_rule__InSemanticsRule__Group_3_1_1__040549);
             rule__InSemanticsRule__Group_3_1_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__1_in_rule__InSemanticsRule__Group_3_1_1__040860);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__1_in_rule__InSemanticsRule__Group_3_1_1__040552);
             rule__InSemanticsRule__Group_3_1_1__1();
 
             state._fsp--;
@@ -55056,20 +54820,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20226:1: rule__InSemanticsRule__Group_3_1_1__0__Impl : ( '(' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20070:1: rule__InSemanticsRule__Group_3_1_1__0__Impl : ( '(' ) ;
     public final void rule__InSemanticsRule__Group_3_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20230:1: ( ( '(' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20231:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20074:1: ( ( '(' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20075:1: ( '(' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20231:1: ( '(' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20232:1: '('
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20075:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20076:1: '('
             {
              before(grammarAccess.getInSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0()); 
-            match(input,46,FOLLOW_46_in_rule__InSemanticsRule__Group_3_1_1__0__Impl40888); 
+            match(input,47,FOLLOW_47_in_rule__InSemanticsRule__Group_3_1_1__0__Impl40580); 
              after(grammarAccess.getInSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0()); 
 
             }
@@ -55093,21 +54857,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20245:1: rule__InSemanticsRule__Group_3_1_1__1 : rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20089:1: rule__InSemanticsRule__Group_3_1_1__1 : rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2 ;
     public final void rule__InSemanticsRule__Group_3_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20249:1: ( rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20250:2: rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20093:1: ( rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20094:2: rule__InSemanticsRule__Group_3_1_1__1__Impl rule__InSemanticsRule__Group_3_1_1__2
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__1__Impl_in_rule__InSemanticsRule__Group_3_1_1__140919);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__1__Impl_in_rule__InSemanticsRule__Group_3_1_1__140611);
             rule__InSemanticsRule__Group_3_1_1__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__2_in_rule__InSemanticsRule__Group_3_1_1__140922);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__2_in_rule__InSemanticsRule__Group_3_1_1__140614);
             rule__InSemanticsRule__Group_3_1_1__2();
 
             state._fsp--;
@@ -55131,23 +54895,23 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20257:1: rule__InSemanticsRule__Group_3_1_1__1__Impl : ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20101:1: rule__InSemanticsRule__Group_3_1_1__1__Impl : ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) ;
     public final void rule__InSemanticsRule__Group_3_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20261:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20262:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20105:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20106:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20262:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20263:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20106:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20107:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsAssignment_3_1_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20264:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20264:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20108:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20108:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__InSemanticsRule__Group_3_1_1__1__Impl40949);
+            pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__InSemanticsRule__Group_3_1_1__1__Impl40641);
             rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1();
 
             state._fsp--;
@@ -55178,21 +54942,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20274:1: rule__InSemanticsRule__Group_3_1_1__2 : rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20118:1: rule__InSemanticsRule__Group_3_1_1__2 : rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3 ;
     public final void rule__InSemanticsRule__Group_3_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20278:1: ( rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20279:2: rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20122:1: ( rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20123:2: rule__InSemanticsRule__Group_3_1_1__2__Impl rule__InSemanticsRule__Group_3_1_1__3
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__2__Impl_in_rule__InSemanticsRule__Group_3_1_1__240979);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__2__Impl_in_rule__InSemanticsRule__Group_3_1_1__240671);
             rule__InSemanticsRule__Group_3_1_1__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__3_in_rule__InSemanticsRule__Group_3_1_1__240982);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__3_in_rule__InSemanticsRule__Group_3_1_1__240674);
             rule__InSemanticsRule__Group_3_1_1__3();
 
             state._fsp--;
@@ -55216,26 +54980,26 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20286:1: rule__InSemanticsRule__Group_3_1_1__2__Impl : ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20130:1: rule__InSemanticsRule__Group_3_1_1__2__Impl : ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) ) ;
     public final void rule__InSemanticsRule__Group_3_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20290:1: ( ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20291:1: ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20134:1: ( ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20135:1: ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20291:1: ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20292:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20135:1: ( ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20136:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20292:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20293:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20136:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20137:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getGroup_3_1_1_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20294:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20294:2: rule__InSemanticsRule__Group_3_1_1_2__0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20138:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20138:2: rule__InSemanticsRule__Group_3_1_1_2__0
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl41011);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl40703);
             rule__InSemanticsRule__Group_3_1_1_2__0();
 
             state._fsp--;
@@ -55247,26 +55011,26 @@
 
             }
 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20297:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20298:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20141:1: ( ( rule__InSemanticsRule__Group_3_1_1_2__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20142:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )*
             {
              before(grammarAccess.getInSemanticsRuleAccess().getGroup_3_1_1_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20299:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20143:1: ( rule__InSemanticsRule__Group_3_1_1_2__0 )*
             loop186:
             do {
                 int alt186=2;
                 int LA186_0 = input.LA(1);
 
-                if ( (LA186_0==50) ) {
+                if ( (LA186_0==51) ) {
                     alt186=1;
                 }
 
 
                 switch (alt186) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20299:2: rule__InSemanticsRule__Group_3_1_1_2__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20143:2: rule__InSemanticsRule__Group_3_1_1_2__0
             	    {
-            	    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl41023);
+            	    pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl40715);
             	    rule__InSemanticsRule__Group_3_1_1_2__0();
 
             	    state._fsp--;
@@ -55306,16 +55070,16 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20310:1: rule__InSemanticsRule__Group_3_1_1__3 : rule__InSemanticsRule__Group_3_1_1__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20154:1: rule__InSemanticsRule__Group_3_1_1__3 : rule__InSemanticsRule__Group_3_1_1__3__Impl ;
     public final void rule__InSemanticsRule__Group_3_1_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20314:1: ( rule__InSemanticsRule__Group_3_1_1__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20315:2: rule__InSemanticsRule__Group_3_1_1__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20158:1: ( rule__InSemanticsRule__Group_3_1_1__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20159:2: rule__InSemanticsRule__Group_3_1_1__3__Impl
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__3__Impl_in_rule__InSemanticsRule__Group_3_1_1__341056);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1__3__Impl_in_rule__InSemanticsRule__Group_3_1_1__340748);
             rule__InSemanticsRule__Group_3_1_1__3__Impl();
 
             state._fsp--;
@@ -55339,20 +55103,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20321:1: rule__InSemanticsRule__Group_3_1_1__3__Impl : ( ')' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20165:1: rule__InSemanticsRule__Group_3_1_1__3__Impl : ( ')' ) ;
     public final void rule__InSemanticsRule__Group_3_1_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20325:1: ( ( ')' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20326:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20169:1: ( ( ')' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20170:1: ( ')' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20326:1: ( ')' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20327:1: ')'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20170:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20171:1: ')'
             {
              before(grammarAccess.getInSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3()); 
-            match(input,47,FOLLOW_47_in_rule__InSemanticsRule__Group_3_1_1__3__Impl41084); 
+            match(input,48,FOLLOW_48_in_rule__InSemanticsRule__Group_3_1_1__3__Impl40776); 
              after(grammarAccess.getInSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3()); 
 
             }
@@ -55376,21 +55140,21 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1_2__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20348:1: rule__InSemanticsRule__Group_3_1_1_2__0 : rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20192:1: rule__InSemanticsRule__Group_3_1_1_2__0 : rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1 ;
     public final void rule__InSemanticsRule__Group_3_1_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20352:1: ( rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20353:2: rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20196:1: ( rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20197:2: rule__InSemanticsRule__Group_3_1_1_2__0__Impl rule__InSemanticsRule__Group_3_1_1_2__1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__041123);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__040815);
             rule__InSemanticsRule__Group_3_1_1_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1_in_rule__InSemanticsRule__Group_3_1_1_2__041126);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1_in_rule__InSemanticsRule__Group_3_1_1_2__040818);
             rule__InSemanticsRule__Group_3_1_1_2__1();
 
             state._fsp--;
@@ -55414,20 +55178,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1_2__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20360:1: rule__InSemanticsRule__Group_3_1_1_2__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20204:1: rule__InSemanticsRule__Group_3_1_1_2__0__Impl : ( ',' ) ;
     public final void rule__InSemanticsRule__Group_3_1_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20364:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20365:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20208:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20209:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20365:1: ( ',' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20366:1: ','
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20209:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20210:1: ','
             {
              before(grammarAccess.getInSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0()); 
-            match(input,50,FOLLOW_50_in_rule__InSemanticsRule__Group_3_1_1_2__0__Impl41154); 
+            match(input,51,FOLLOW_51_in_rule__InSemanticsRule__Group_3_1_1_2__0__Impl40846); 
              after(grammarAccess.getInSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0()); 
 
             }
@@ -55451,16 +55215,16 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1_2__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20379:1: rule__InSemanticsRule__Group_3_1_1_2__1 : rule__InSemanticsRule__Group_3_1_1_2__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20223:1: rule__InSemanticsRule__Group_3_1_1_2__1 : rule__InSemanticsRule__Group_3_1_1_2__1__Impl ;
     public final void rule__InSemanticsRule__Group_3_1_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20383:1: ( rule__InSemanticsRule__Group_3_1_1_2__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20384:2: rule__InSemanticsRule__Group_3_1_1_2__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20227:1: ( rule__InSemanticsRule__Group_3_1_1_2__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20228:2: rule__InSemanticsRule__Group_3_1_1_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__141185);
+            pushFollow(FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__140877);
             rule__InSemanticsRule__Group_3_1_1_2__1__Impl();
 
             state._fsp--;
@@ -55484,23 +55248,23 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__Group_3_1_1_2__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20390:1: rule__InSemanticsRule__Group_3_1_1_2__1__Impl : ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20234:1: rule__InSemanticsRule__Group_3_1_1_2__1__Impl : ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) ;
     public final void rule__InSemanticsRule__Group_3_1_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20394:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20395:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20238:1: ( ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20239:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20395:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20396:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20239:1: ( ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20240:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsAssignment_3_1_1_2_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20397:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20397:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20241:1: ( rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20241:2: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1
             {
-            pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__InSemanticsRule__Group_3_1_1_2__1__Impl41212);
+            pushFollow(FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__InSemanticsRule__Group_3_1_1_2__1__Impl40904);
             rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1();
 
             state._fsp--;
@@ -55531,21 +55295,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20411:1: rule__OutSemanticsRule__Group__0 : rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20255:1: rule__OutSemanticsRule__Group__0 : rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1 ;
     public final void rule__OutSemanticsRule__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20415:1: ( rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20416:2: rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20259:1: ( rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20260:2: rule__OutSemanticsRule__Group__0__Impl rule__OutSemanticsRule__Group__1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__0__Impl_in_rule__OutSemanticsRule__Group__041246);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__0__Impl_in_rule__OutSemanticsRule__Group__040938);
             rule__OutSemanticsRule__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__1_in_rule__OutSemanticsRule__Group__041249);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__1_in_rule__OutSemanticsRule__Group__040941);
             rule__OutSemanticsRule__Group__1();
 
             state._fsp--;
@@ -55569,20 +55333,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20423:1: rule__OutSemanticsRule__Group__0__Impl : ( 'out' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20267:1: rule__OutSemanticsRule__Group__0__Impl : ( 'out' ) ;
     public final void rule__OutSemanticsRule__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20427:1: ( ( 'out' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20428:1: ( 'out' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20271:1: ( ( 'out' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20272:1: ( 'out' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20428:1: ( 'out' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20429:1: 'out'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20272:1: ( 'out' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20273:1: 'out'
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getOutKeyword_0()); 
-            match(input,118,FOLLOW_118_in_rule__OutSemanticsRule__Group__0__Impl41277); 
+            match(input,119,FOLLOW_119_in_rule__OutSemanticsRule__Group__0__Impl40969); 
              after(grammarAccess.getOutSemanticsRuleAccess().getOutKeyword_0()); 
 
             }
@@ -55606,21 +55370,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20442:1: rule__OutSemanticsRule__Group__1 : rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20286:1: rule__OutSemanticsRule__Group__1 : rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2 ;
     public final void rule__OutSemanticsRule__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20446:1: ( rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20447:2: rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20290:1: ( rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20291:2: rule__OutSemanticsRule__Group__1__Impl rule__OutSemanticsRule__Group__2
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__1__Impl_in_rule__OutSemanticsRule__Group__141308);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__1__Impl_in_rule__OutSemanticsRule__Group__141000);
             rule__OutSemanticsRule__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__2_in_rule__OutSemanticsRule__Group__141311);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__2_in_rule__OutSemanticsRule__Group__141003);
             rule__OutSemanticsRule__Group__2();
 
             state._fsp--;
@@ -55644,20 +55408,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20454:1: rule__OutSemanticsRule__Group__1__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20298:1: rule__OutSemanticsRule__Group__1__Impl : ( ':' ) ;
     public final void rule__OutSemanticsRule__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20458:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20459:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20302:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20303:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20459:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20460:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20303:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20304:1: ':'
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getColonKeyword_1()); 
-            match(input,42,FOLLOW_42_in_rule__OutSemanticsRule__Group__1__Impl41339); 
+            match(input,43,FOLLOW_43_in_rule__OutSemanticsRule__Group__1__Impl41031); 
              after(grammarAccess.getOutSemanticsRuleAccess().getColonKeyword_1()); 
 
             }
@@ -55681,21 +55445,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20473:1: rule__OutSemanticsRule__Group__2 : rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20317:1: rule__OutSemanticsRule__Group__2 : rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3 ;
     public final void rule__OutSemanticsRule__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20477:1: ( rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20478:2: rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20321:1: ( rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20322:2: rule__OutSemanticsRule__Group__2__Impl rule__OutSemanticsRule__Group__3
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__2__Impl_in_rule__OutSemanticsRule__Group__241370);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__2__Impl_in_rule__OutSemanticsRule__Group__241062);
             rule__OutSemanticsRule__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__3_in_rule__OutSemanticsRule__Group__241373);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__3_in_rule__OutSemanticsRule__Group__241065);
             rule__OutSemanticsRule__Group__3();
 
             state._fsp--;
@@ -55719,23 +55483,23 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20485:1: rule__OutSemanticsRule__Group__2__Impl : ( ( rule__OutSemanticsRule__MsgAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20329:1: rule__OutSemanticsRule__Group__2__Impl : ( ( rule__OutSemanticsRule__MsgAssignment_2 ) ) ;
     public final void rule__OutSemanticsRule__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20489:1: ( ( ( rule__OutSemanticsRule__MsgAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20490:1: ( ( rule__OutSemanticsRule__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20333:1: ( ( ( rule__OutSemanticsRule__MsgAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20334:1: ( ( rule__OutSemanticsRule__MsgAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20490:1: ( ( rule__OutSemanticsRule__MsgAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20491:1: ( rule__OutSemanticsRule__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20334:1: ( ( rule__OutSemanticsRule__MsgAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20335:1: ( rule__OutSemanticsRule__MsgAssignment_2 )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getMsgAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20492:1: ( rule__OutSemanticsRule__MsgAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20492:2: rule__OutSemanticsRule__MsgAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20336:1: ( rule__OutSemanticsRule__MsgAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20336:2: rule__OutSemanticsRule__MsgAssignment_2
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__MsgAssignment_2_in_rule__OutSemanticsRule__Group__2__Impl41400);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__MsgAssignment_2_in_rule__OutSemanticsRule__Group__2__Impl41092);
             rule__OutSemanticsRule__MsgAssignment_2();
 
             state._fsp--;
@@ -55766,16 +55530,16 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20502:1: rule__OutSemanticsRule__Group__3 : rule__OutSemanticsRule__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20346:1: rule__OutSemanticsRule__Group__3 : rule__OutSemanticsRule__Group__3__Impl ;
     public final void rule__OutSemanticsRule__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20506:1: ( rule__OutSemanticsRule__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20507:2: rule__OutSemanticsRule__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20350:1: ( rule__OutSemanticsRule__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20351:2: rule__OutSemanticsRule__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__3__Impl_in_rule__OutSemanticsRule__Group__341430);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group__3__Impl_in_rule__OutSemanticsRule__Group__341122);
             rule__OutSemanticsRule__Group__3__Impl();
 
             state._fsp--;
@@ -55799,31 +55563,31 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20513:1: rule__OutSemanticsRule__Group__3__Impl : ( ( rule__OutSemanticsRule__Group_3__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20357:1: rule__OutSemanticsRule__Group__3__Impl : ( ( rule__OutSemanticsRule__Group_3__0 )? ) ;
     public final void rule__OutSemanticsRule__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20517:1: ( ( ( rule__OutSemanticsRule__Group_3__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20518:1: ( ( rule__OutSemanticsRule__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20361:1: ( ( ( rule__OutSemanticsRule__Group_3__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20362:1: ( ( rule__OutSemanticsRule__Group_3__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20518:1: ( ( rule__OutSemanticsRule__Group_3__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20519:1: ( rule__OutSemanticsRule__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20362:1: ( ( rule__OutSemanticsRule__Group_3__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20363:1: ( rule__OutSemanticsRule__Group_3__0 )?
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getGroup_3()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20520:1: ( rule__OutSemanticsRule__Group_3__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20364:1: ( rule__OutSemanticsRule__Group_3__0 )?
             int alt187=2;
             int LA187_0 = input.LA(1);
 
-            if ( (LA187_0==44) ) {
+            if ( (LA187_0==45) ) {
                 alt187=1;
             }
             switch (alt187) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20520:2: rule__OutSemanticsRule__Group_3__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20364:2: rule__OutSemanticsRule__Group_3__0
                     {
-                    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__0_in_rule__OutSemanticsRule__Group__3__Impl41457);
+                    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__0_in_rule__OutSemanticsRule__Group__3__Impl41149);
                     rule__OutSemanticsRule__Group_3__0();
 
                     state._fsp--;
@@ -55857,21 +55621,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20538:1: rule__OutSemanticsRule__Group_3__0 : rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20382:1: rule__OutSemanticsRule__Group_3__0 : rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1 ;
     public final void rule__OutSemanticsRule__Group_3__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20542:1: ( rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20543:2: rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20386:1: ( rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20387:2: rule__OutSemanticsRule__Group_3__0__Impl rule__OutSemanticsRule__Group_3__1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__0__Impl_in_rule__OutSemanticsRule__Group_3__041496);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__0__Impl_in_rule__OutSemanticsRule__Group_3__041188);
             rule__OutSemanticsRule__Group_3__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__1_in_rule__OutSemanticsRule__Group_3__041499);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__1_in_rule__OutSemanticsRule__Group_3__041191);
             rule__OutSemanticsRule__Group_3__1();
 
             state._fsp--;
@@ -55895,20 +55659,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20550:1: rule__OutSemanticsRule__Group_3__0__Impl : ( '->' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20394:1: rule__OutSemanticsRule__Group_3__0__Impl : ( '->' ) ;
     public final void rule__OutSemanticsRule__Group_3__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20554:1: ( ( '->' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20555:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20398:1: ( ( '->' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20399:1: ( '->' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20555:1: ( '->' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20556:1: '->'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20399:1: ( '->' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20400:1: '->'
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0()); 
-            match(input,44,FOLLOW_44_in_rule__OutSemanticsRule__Group_3__0__Impl41527); 
+            match(input,45,FOLLOW_45_in_rule__OutSemanticsRule__Group_3__0__Impl41219); 
              after(grammarAccess.getOutSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0()); 
 
             }
@@ -55932,16 +55696,16 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20569:1: rule__OutSemanticsRule__Group_3__1 : rule__OutSemanticsRule__Group_3__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20413:1: rule__OutSemanticsRule__Group_3__1 : rule__OutSemanticsRule__Group_3__1__Impl ;
     public final void rule__OutSemanticsRule__Group_3__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20573:1: ( rule__OutSemanticsRule__Group_3__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20574:2: rule__OutSemanticsRule__Group_3__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20417:1: ( rule__OutSemanticsRule__Group_3__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20418:2: rule__OutSemanticsRule__Group_3__1__Impl
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__1__Impl_in_rule__OutSemanticsRule__Group_3__141558);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3__1__Impl_in_rule__OutSemanticsRule__Group_3__141250);
             rule__OutSemanticsRule__Group_3__1__Impl();
 
             state._fsp--;
@@ -55965,23 +55729,23 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20580:1: rule__OutSemanticsRule__Group_3__1__Impl : ( ( rule__OutSemanticsRule__Alternatives_3_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20424:1: rule__OutSemanticsRule__Group_3__1__Impl : ( ( rule__OutSemanticsRule__Alternatives_3_1 ) ) ;
     public final void rule__OutSemanticsRule__Group_3__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20584:1: ( ( ( rule__OutSemanticsRule__Alternatives_3_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20585:1: ( ( rule__OutSemanticsRule__Alternatives_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20428:1: ( ( ( rule__OutSemanticsRule__Alternatives_3_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20429:1: ( ( rule__OutSemanticsRule__Alternatives_3_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20585:1: ( ( rule__OutSemanticsRule__Alternatives_3_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20586:1: ( rule__OutSemanticsRule__Alternatives_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20429:1: ( ( rule__OutSemanticsRule__Alternatives_3_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20430:1: ( rule__OutSemanticsRule__Alternatives_3_1 )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getAlternatives_3_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20587:1: ( rule__OutSemanticsRule__Alternatives_3_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20587:2: rule__OutSemanticsRule__Alternatives_3_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20431:1: ( rule__OutSemanticsRule__Alternatives_3_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20431:2: rule__OutSemanticsRule__Alternatives_3_1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Alternatives_3_1_in_rule__OutSemanticsRule__Group_3__1__Impl41585);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Alternatives_3_1_in_rule__OutSemanticsRule__Group_3__1__Impl41277);
             rule__OutSemanticsRule__Alternatives_3_1();
 
             state._fsp--;
@@ -56012,21 +55776,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20601:1: rule__OutSemanticsRule__Group_3_1_1__0 : rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20445:1: rule__OutSemanticsRule__Group_3_1_1__0 : rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1 ;
     public final void rule__OutSemanticsRule__Group_3_1_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20605:1: ( rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20606:2: rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20449:1: ( rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20450:2: rule__OutSemanticsRule__Group_3_1_1__0__Impl rule__OutSemanticsRule__Group_3_1_1__1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1__041619);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1__041311);
             rule__OutSemanticsRule__Group_3_1_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1_in_rule__OutSemanticsRule__Group_3_1_1__041622);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1_in_rule__OutSemanticsRule__Group_3_1_1__041314);
             rule__OutSemanticsRule__Group_3_1_1__1();
 
             state._fsp--;
@@ -56050,20 +55814,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20613:1: rule__OutSemanticsRule__Group_3_1_1__0__Impl : ( '(' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20457:1: rule__OutSemanticsRule__Group_3_1_1__0__Impl : ( '(' ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20617:1: ( ( '(' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20618:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20461:1: ( ( '(' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20462:1: ( '(' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20618:1: ( '(' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20619:1: '('
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20462:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20463:1: '('
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0()); 
-            match(input,46,FOLLOW_46_in_rule__OutSemanticsRule__Group_3_1_1__0__Impl41650); 
+            match(input,47,FOLLOW_47_in_rule__OutSemanticsRule__Group_3_1_1__0__Impl41342); 
              after(grammarAccess.getOutSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0()); 
 
             }
@@ -56087,21 +55851,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20632:1: rule__OutSemanticsRule__Group_3_1_1__1 : rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20476:1: rule__OutSemanticsRule__Group_3_1_1__1 : rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2 ;
     public final void rule__OutSemanticsRule__Group_3_1_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20636:1: ( rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20637:2: rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20480:1: ( rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20481:2: rule__OutSemanticsRule__Group_3_1_1__1__Impl rule__OutSemanticsRule__Group_3_1_1__2
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1__141681);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1__141373);
             rule__OutSemanticsRule__Group_3_1_1__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2_in_rule__OutSemanticsRule__Group_3_1_1__141684);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2_in_rule__OutSemanticsRule__Group_3_1_1__141376);
             rule__OutSemanticsRule__Group_3_1_1__2();
 
             state._fsp--;
@@ -56125,23 +55889,23 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20644:1: rule__OutSemanticsRule__Group_3_1_1__1__Impl : ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20488:1: rule__OutSemanticsRule__Group_3_1_1__1__Impl : ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20648:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20649:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20492:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20493:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20649:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20650:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20493:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20494:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsAssignment_3_1_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20651:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20651:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20495:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20495:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__OutSemanticsRule__Group_3_1_1__1__Impl41711);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__OutSemanticsRule__Group_3_1_1__1__Impl41403);
             rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1();
 
             state._fsp--;
@@ -56172,21 +55936,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20661:1: rule__OutSemanticsRule__Group_3_1_1__2 : rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20505:1: rule__OutSemanticsRule__Group_3_1_1__2 : rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3 ;
     public final void rule__OutSemanticsRule__Group_3_1_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20665:1: ( rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20666:2: rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20509:1: ( rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20510:2: rule__OutSemanticsRule__Group_3_1_1__2__Impl rule__OutSemanticsRule__Group_3_1_1__3
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2__Impl_in_rule__OutSemanticsRule__Group_3_1_1__241741);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2__Impl_in_rule__OutSemanticsRule__Group_3_1_1__241433);
             rule__OutSemanticsRule__Group_3_1_1__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3_in_rule__OutSemanticsRule__Group_3_1_1__241744);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3_in_rule__OutSemanticsRule__Group_3_1_1__241436);
             rule__OutSemanticsRule__Group_3_1_1__3();
 
             state._fsp--;
@@ -56210,26 +55974,26 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20673:1: rule__OutSemanticsRule__Group_3_1_1__2__Impl : ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20517:1: rule__OutSemanticsRule__Group_3_1_1__2__Impl : ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20677:1: ( ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20678:1: ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20521:1: ( ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20522:1: ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20678:1: ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20679:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20522:1: ( ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20523:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) ) ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20679:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20680:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20523:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20524:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getGroup_3_1_1_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20681:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20681:2: rule__OutSemanticsRule__Group_3_1_1_2__0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20525:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20525:2: rule__OutSemanticsRule__Group_3_1_1_2__0
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl41773);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl41465);
             rule__OutSemanticsRule__Group_3_1_1_2__0();
 
             state._fsp--;
@@ -56241,26 +56005,26 @@
 
             }
 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20684:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20685:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20528:1: ( ( rule__OutSemanticsRule__Group_3_1_1_2__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20529:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )*
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getGroup_3_1_1_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20686:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20530:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0 )*
             loop188:
             do {
                 int alt188=2;
                 int LA188_0 = input.LA(1);
 
-                if ( (LA188_0==50) ) {
+                if ( (LA188_0==51) ) {
                     alt188=1;
                 }
 
 
                 switch (alt188) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20686:2: rule__OutSemanticsRule__Group_3_1_1_2__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20530:2: rule__OutSemanticsRule__Group_3_1_1_2__0
             	    {
-            	    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl41785);
+            	    pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl41477);
             	    rule__OutSemanticsRule__Group_3_1_1_2__0();
 
             	    state._fsp--;
@@ -56300,16 +56064,16 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20697:1: rule__OutSemanticsRule__Group_3_1_1__3 : rule__OutSemanticsRule__Group_3_1_1__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20541:1: rule__OutSemanticsRule__Group_3_1_1__3 : rule__OutSemanticsRule__Group_3_1_1__3__Impl ;
     public final void rule__OutSemanticsRule__Group_3_1_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20701:1: ( rule__OutSemanticsRule__Group_3_1_1__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20702:2: rule__OutSemanticsRule__Group_3_1_1__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20545:1: ( rule__OutSemanticsRule__Group_3_1_1__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20546:2: rule__OutSemanticsRule__Group_3_1_1__3__Impl
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3__Impl_in_rule__OutSemanticsRule__Group_3_1_1__341818);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3__Impl_in_rule__OutSemanticsRule__Group_3_1_1__341510);
             rule__OutSemanticsRule__Group_3_1_1__3__Impl();
 
             state._fsp--;
@@ -56333,20 +56097,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20708:1: rule__OutSemanticsRule__Group_3_1_1__3__Impl : ( ')' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20552:1: rule__OutSemanticsRule__Group_3_1_1__3__Impl : ( ')' ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20712:1: ( ( ')' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20713:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20556:1: ( ( ')' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20557:1: ( ')' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20713:1: ( ')' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20714:1: ')'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20557:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20558:1: ')'
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3()); 
-            match(input,47,FOLLOW_47_in_rule__OutSemanticsRule__Group_3_1_1__3__Impl41846); 
+            match(input,48,FOLLOW_48_in_rule__OutSemanticsRule__Group_3_1_1__3__Impl41538); 
              after(grammarAccess.getOutSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3()); 
 
             }
@@ -56370,21 +56134,21 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1_2__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20735:1: rule__OutSemanticsRule__Group_3_1_1_2__0 : rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20579:1: rule__OutSemanticsRule__Group_3_1_1_2__0 : rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1 ;
     public final void rule__OutSemanticsRule__Group_3_1_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20739:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20740:2: rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20583:1: ( rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20584:2: rule__OutSemanticsRule__Group_3_1_1_2__0__Impl rule__OutSemanticsRule__Group_3_1_1_2__1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__041885);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__041577);
             rule__OutSemanticsRule__Group_3_1_1_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1_in_rule__OutSemanticsRule__Group_3_1_1_2__041888);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1_in_rule__OutSemanticsRule__Group_3_1_1_2__041580);
             rule__OutSemanticsRule__Group_3_1_1_2__1();
 
             state._fsp--;
@@ -56408,20 +56172,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1_2__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20747:1: rule__OutSemanticsRule__Group_3_1_1_2__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20591:1: rule__OutSemanticsRule__Group_3_1_1_2__0__Impl : ( ',' ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20751:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20752:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20595:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20596:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20752:1: ( ',' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20753:1: ','
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20596:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20597:1: ','
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0()); 
-            match(input,50,FOLLOW_50_in_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl41916); 
+            match(input,51,FOLLOW_51_in_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl41608); 
              after(grammarAccess.getOutSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0()); 
 
             }
@@ -56445,16 +56209,16 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1_2__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20766:1: rule__OutSemanticsRule__Group_3_1_1_2__1 : rule__OutSemanticsRule__Group_3_1_1_2__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20610:1: rule__OutSemanticsRule__Group_3_1_1_2__1 : rule__OutSemanticsRule__Group_3_1_1_2__1__Impl ;
     public final void rule__OutSemanticsRule__Group_3_1_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20770:1: ( rule__OutSemanticsRule__Group_3_1_1_2__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20771:2: rule__OutSemanticsRule__Group_3_1_1_2__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20614:1: ( rule__OutSemanticsRule__Group_3_1_1_2__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20615:2: rule__OutSemanticsRule__Group_3_1_1_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__141947);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__141639);
             rule__OutSemanticsRule__Group_3_1_1_2__1__Impl();
 
             state._fsp--;
@@ -56478,23 +56242,23 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__Group_3_1_1_2__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20777:1: rule__OutSemanticsRule__Group_3_1_1_2__1__Impl : ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20621:1: rule__OutSemanticsRule__Group_3_1_1_2__1__Impl : ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) ;
     public final void rule__OutSemanticsRule__Group_3_1_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20781:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20782:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20625:1: ( ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20626:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20782:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20783:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20626:1: ( ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20627:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsAssignment_3_1_1_2_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20784:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20784:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20628:1: ( rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20628:2: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1
             {
-            pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl41974);
+            pushFollow(FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl41666);
             rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1();
 
             state._fsp--;
@@ -56525,21 +56289,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20798:1: rule__Annotation__Group__0 : rule__Annotation__Group__0__Impl rule__Annotation__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20642:1: rule__Annotation__Group__0 : rule__Annotation__Group__0__Impl rule__Annotation__Group__1 ;
     public final void rule__Annotation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20802:1: ( rule__Annotation__Group__0__Impl rule__Annotation__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20803:2: rule__Annotation__Group__0__Impl rule__Annotation__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20646:1: ( rule__Annotation__Group__0__Impl rule__Annotation__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20647:2: rule__Annotation__Group__0__Impl rule__Annotation__Group__1
             {
-            pushFollow(FOLLOW_rule__Annotation__Group__0__Impl_in_rule__Annotation__Group__042008);
+            pushFollow(FOLLOW_rule__Annotation__Group__0__Impl_in_rule__Annotation__Group__041700);
             rule__Annotation__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group__1_in_rule__Annotation__Group__042011);
+            pushFollow(FOLLOW_rule__Annotation__Group__1_in_rule__Annotation__Group__041703);
             rule__Annotation__Group__1();
 
             state._fsp--;
@@ -56563,20 +56327,20 @@
 
 
     // $ANTLR start "rule__Annotation__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20810:1: rule__Annotation__Group__0__Impl : ( '@' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20654:1: rule__Annotation__Group__0__Impl : ( '@' ) ;
     public final void rule__Annotation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20814:1: ( ( '@' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20815:1: ( '@' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20658:1: ( ( '@' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20659:1: ( '@' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20815:1: ( '@' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20816:1: '@'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20659:1: ( '@' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20660:1: '@'
             {
              before(grammarAccess.getAnnotationAccess().getCommercialAtKeyword_0()); 
-            match(input,119,FOLLOW_119_in_rule__Annotation__Group__0__Impl42039); 
+            match(input,120,FOLLOW_120_in_rule__Annotation__Group__0__Impl41731); 
              after(grammarAccess.getAnnotationAccess().getCommercialAtKeyword_0()); 
 
             }
@@ -56600,21 +56364,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20829:1: rule__Annotation__Group__1 : rule__Annotation__Group__1__Impl rule__Annotation__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20673:1: rule__Annotation__Group__1 : rule__Annotation__Group__1__Impl rule__Annotation__Group__2 ;
     public final void rule__Annotation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20833:1: ( rule__Annotation__Group__1__Impl rule__Annotation__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20834:2: rule__Annotation__Group__1__Impl rule__Annotation__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20677:1: ( rule__Annotation__Group__1__Impl rule__Annotation__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20678:2: rule__Annotation__Group__1__Impl rule__Annotation__Group__2
             {
-            pushFollow(FOLLOW_rule__Annotation__Group__1__Impl_in_rule__Annotation__Group__142070);
+            pushFollow(FOLLOW_rule__Annotation__Group__1__Impl_in_rule__Annotation__Group__141762);
             rule__Annotation__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group__2_in_rule__Annotation__Group__142073);
+            pushFollow(FOLLOW_rule__Annotation__Group__2_in_rule__Annotation__Group__141765);
             rule__Annotation__Group__2();
 
             state._fsp--;
@@ -56638,23 +56402,23 @@
 
 
     // $ANTLR start "rule__Annotation__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20841:1: rule__Annotation__Group__1__Impl : ( ( rule__Annotation__TypeAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20685:1: rule__Annotation__Group__1__Impl : ( ( rule__Annotation__TypeAssignment_1 ) ) ;
     public final void rule__Annotation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20845:1: ( ( ( rule__Annotation__TypeAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20846:1: ( ( rule__Annotation__TypeAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20689:1: ( ( ( rule__Annotation__TypeAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20690:1: ( ( rule__Annotation__TypeAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20846:1: ( ( rule__Annotation__TypeAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20847:1: ( rule__Annotation__TypeAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20690:1: ( ( rule__Annotation__TypeAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20691:1: ( rule__Annotation__TypeAssignment_1 )
             {
              before(grammarAccess.getAnnotationAccess().getTypeAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20848:1: ( rule__Annotation__TypeAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20848:2: rule__Annotation__TypeAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20692:1: ( rule__Annotation__TypeAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20692:2: rule__Annotation__TypeAssignment_1
             {
-            pushFollow(FOLLOW_rule__Annotation__TypeAssignment_1_in_rule__Annotation__Group__1__Impl42100);
+            pushFollow(FOLLOW_rule__Annotation__TypeAssignment_1_in_rule__Annotation__Group__1__Impl41792);
             rule__Annotation__TypeAssignment_1();
 
             state._fsp--;
@@ -56685,16 +56449,16 @@
 
 
     // $ANTLR start "rule__Annotation__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20858:1: rule__Annotation__Group__2 : rule__Annotation__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20702:1: rule__Annotation__Group__2 : rule__Annotation__Group__2__Impl ;
     public final void rule__Annotation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20862:1: ( rule__Annotation__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20863:2: rule__Annotation__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20706:1: ( rule__Annotation__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20707:2: rule__Annotation__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__Annotation__Group__2__Impl_in_rule__Annotation__Group__242130);
+            pushFollow(FOLLOW_rule__Annotation__Group__2__Impl_in_rule__Annotation__Group__241822);
             rule__Annotation__Group__2__Impl();
 
             state._fsp--;
@@ -56718,31 +56482,31 @@
 
 
     // $ANTLR start "rule__Annotation__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20869:1: rule__Annotation__Group__2__Impl : ( ( rule__Annotation__Group_2__0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20713:1: rule__Annotation__Group__2__Impl : ( ( rule__Annotation__Group_2__0 )? ) ;
     public final void rule__Annotation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20873:1: ( ( ( rule__Annotation__Group_2__0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20874:1: ( ( rule__Annotation__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20717:1: ( ( ( rule__Annotation__Group_2__0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20718:1: ( ( rule__Annotation__Group_2__0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20874:1: ( ( rule__Annotation__Group_2__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20875:1: ( rule__Annotation__Group_2__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20718:1: ( ( rule__Annotation__Group_2__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20719:1: ( rule__Annotation__Group_2__0 )?
             {
              before(grammarAccess.getAnnotationAccess().getGroup_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20876:1: ( rule__Annotation__Group_2__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20720:1: ( rule__Annotation__Group_2__0 )?
             int alt189=2;
             int LA189_0 = input.LA(1);
 
-            if ( (LA189_0==46) ) {
+            if ( (LA189_0==47) ) {
                 alt189=1;
             }
             switch (alt189) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20876:2: rule__Annotation__Group_2__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20720:2: rule__Annotation__Group_2__0
                     {
-                    pushFollow(FOLLOW_rule__Annotation__Group_2__0_in_rule__Annotation__Group__2__Impl42157);
+                    pushFollow(FOLLOW_rule__Annotation__Group_2__0_in_rule__Annotation__Group__2__Impl41849);
                     rule__Annotation__Group_2__0();
 
                     state._fsp--;
@@ -56776,21 +56540,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20892:1: rule__Annotation__Group_2__0 : rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20736:1: rule__Annotation__Group_2__0 : rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1 ;
     public final void rule__Annotation__Group_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20896:1: ( rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20897:2: rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20740:1: ( rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20741:2: rule__Annotation__Group_2__0__Impl rule__Annotation__Group_2__1
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2__0__Impl_in_rule__Annotation__Group_2__042194);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__0__Impl_in_rule__Annotation__Group_2__041886);
             rule__Annotation__Group_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group_2__1_in_rule__Annotation__Group_2__042197);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__1_in_rule__Annotation__Group_2__041889);
             rule__Annotation__Group_2__1();
 
             state._fsp--;
@@ -56814,20 +56578,20 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20904:1: rule__Annotation__Group_2__0__Impl : ( '(' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20748:1: rule__Annotation__Group_2__0__Impl : ( '(' ) ;
     public final void rule__Annotation__Group_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20908:1: ( ( '(' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20909:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20752:1: ( ( '(' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20753:1: ( '(' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20909:1: ( '(' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20910:1: '('
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20753:1: ( '(' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20754:1: '('
             {
              before(grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_2_0()); 
-            match(input,46,FOLLOW_46_in_rule__Annotation__Group_2__0__Impl42225); 
+            match(input,47,FOLLOW_47_in_rule__Annotation__Group_2__0__Impl41917); 
              after(grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_2_0()); 
 
             }
@@ -56851,21 +56615,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20923:1: rule__Annotation__Group_2__1 : rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20767:1: rule__Annotation__Group_2__1 : rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2 ;
     public final void rule__Annotation__Group_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20927:1: ( rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20928:2: rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20771:1: ( rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20772:2: rule__Annotation__Group_2__1__Impl rule__Annotation__Group_2__2
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2__1__Impl_in_rule__Annotation__Group_2__142256);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__1__Impl_in_rule__Annotation__Group_2__141948);
             rule__Annotation__Group_2__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group_2__2_in_rule__Annotation__Group_2__142259);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__2_in_rule__Annotation__Group_2__141951);
             rule__Annotation__Group_2__2();
 
             state._fsp--;
@@ -56889,23 +56653,23 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20935:1: rule__Annotation__Group_2__1__Impl : ( ( rule__Annotation__AttributesAssignment_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20779:1: rule__Annotation__Group_2__1__Impl : ( ( rule__Annotation__AttributesAssignment_2_1 ) ) ;
     public final void rule__Annotation__Group_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20939:1: ( ( ( rule__Annotation__AttributesAssignment_2_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20940:1: ( ( rule__Annotation__AttributesAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20783:1: ( ( ( rule__Annotation__AttributesAssignment_2_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20784:1: ( ( rule__Annotation__AttributesAssignment_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20940:1: ( ( rule__Annotation__AttributesAssignment_2_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20941:1: ( rule__Annotation__AttributesAssignment_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20784:1: ( ( rule__Annotation__AttributesAssignment_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20785:1: ( rule__Annotation__AttributesAssignment_2_1 )
             {
              before(grammarAccess.getAnnotationAccess().getAttributesAssignment_2_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20942:1: ( rule__Annotation__AttributesAssignment_2_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20942:2: rule__Annotation__AttributesAssignment_2_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20786:1: ( rule__Annotation__AttributesAssignment_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20786:2: rule__Annotation__AttributesAssignment_2_1
             {
-            pushFollow(FOLLOW_rule__Annotation__AttributesAssignment_2_1_in_rule__Annotation__Group_2__1__Impl42286);
+            pushFollow(FOLLOW_rule__Annotation__AttributesAssignment_2_1_in_rule__Annotation__Group_2__1__Impl41978);
             rule__Annotation__AttributesAssignment_2_1();
 
             state._fsp--;
@@ -56936,21 +56700,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20952:1: rule__Annotation__Group_2__2 : rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20796:1: rule__Annotation__Group_2__2 : rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3 ;
     public final void rule__Annotation__Group_2__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20956:1: ( rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20957:2: rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20800:1: ( rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20801:2: rule__Annotation__Group_2__2__Impl rule__Annotation__Group_2__3
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2__2__Impl_in_rule__Annotation__Group_2__242316);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__2__Impl_in_rule__Annotation__Group_2__242008);
             rule__Annotation__Group_2__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group_2__3_in_rule__Annotation__Group_2__242319);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__3_in_rule__Annotation__Group_2__242011);
             rule__Annotation__Group_2__3();
 
             state._fsp--;
@@ -56974,35 +56738,35 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20964:1: rule__Annotation__Group_2__2__Impl : ( ( rule__Annotation__Group_2_2__0 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20808:1: rule__Annotation__Group_2__2__Impl : ( ( rule__Annotation__Group_2_2__0 )* ) ;
     public final void rule__Annotation__Group_2__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20968:1: ( ( ( rule__Annotation__Group_2_2__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20969:1: ( ( rule__Annotation__Group_2_2__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20812:1: ( ( ( rule__Annotation__Group_2_2__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20813:1: ( ( rule__Annotation__Group_2_2__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20969:1: ( ( rule__Annotation__Group_2_2__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20970:1: ( rule__Annotation__Group_2_2__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20813:1: ( ( rule__Annotation__Group_2_2__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20814:1: ( rule__Annotation__Group_2_2__0 )*
             {
              before(grammarAccess.getAnnotationAccess().getGroup_2_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20971:1: ( rule__Annotation__Group_2_2__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20815:1: ( rule__Annotation__Group_2_2__0 )*
             loop190:
             do {
                 int alt190=2;
                 int LA190_0 = input.LA(1);
 
-                if ( (LA190_0==50) ) {
+                if ( (LA190_0==51) ) {
                     alt190=1;
                 }
 
 
                 switch (alt190) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20971:2: rule__Annotation__Group_2_2__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20815:2: rule__Annotation__Group_2_2__0
             	    {
-            	    pushFollow(FOLLOW_rule__Annotation__Group_2_2__0_in_rule__Annotation__Group_2__2__Impl42346);
+            	    pushFollow(FOLLOW_rule__Annotation__Group_2_2__0_in_rule__Annotation__Group_2__2__Impl42038);
             	    rule__Annotation__Group_2_2__0();
 
             	    state._fsp--;
@@ -57039,16 +56803,16 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20981:1: rule__Annotation__Group_2__3 : rule__Annotation__Group_2__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20825:1: rule__Annotation__Group_2__3 : rule__Annotation__Group_2__3__Impl ;
     public final void rule__Annotation__Group_2__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20985:1: ( rule__Annotation__Group_2__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20986:2: rule__Annotation__Group_2__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20829:1: ( rule__Annotation__Group_2__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20830:2: rule__Annotation__Group_2__3__Impl
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2__3__Impl_in_rule__Annotation__Group_2__342377);
+            pushFollow(FOLLOW_rule__Annotation__Group_2__3__Impl_in_rule__Annotation__Group_2__342069);
             rule__Annotation__Group_2__3__Impl();
 
             state._fsp--;
@@ -57072,20 +56836,20 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20992:1: rule__Annotation__Group_2__3__Impl : ( ')' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20836:1: rule__Annotation__Group_2__3__Impl : ( ')' ) ;
     public final void rule__Annotation__Group_2__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20996:1: ( ( ')' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20997:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20840:1: ( ( ')' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20841:1: ( ')' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20997:1: ( ')' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20998:1: ')'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20841:1: ( ')' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20842:1: ')'
             {
              before(grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_2_3()); 
-            match(input,47,FOLLOW_47_in_rule__Annotation__Group_2__3__Impl42405); 
+            match(input,48,FOLLOW_48_in_rule__Annotation__Group_2__3__Impl42097); 
              after(grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_2_3()); 
 
             }
@@ -57109,21 +56873,21 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2_2__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21019:1: rule__Annotation__Group_2_2__0 : rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20863:1: rule__Annotation__Group_2_2__0 : rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1 ;
     public final void rule__Annotation__Group_2_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21023:1: ( rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21024:2: rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20867:1: ( rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20868:2: rule__Annotation__Group_2_2__0__Impl rule__Annotation__Group_2_2__1
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2_2__0__Impl_in_rule__Annotation__Group_2_2__042444);
+            pushFollow(FOLLOW_rule__Annotation__Group_2_2__0__Impl_in_rule__Annotation__Group_2_2__042136);
             rule__Annotation__Group_2_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Annotation__Group_2_2__1_in_rule__Annotation__Group_2_2__042447);
+            pushFollow(FOLLOW_rule__Annotation__Group_2_2__1_in_rule__Annotation__Group_2_2__042139);
             rule__Annotation__Group_2_2__1();
 
             state._fsp--;
@@ -57147,20 +56911,20 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2_2__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21031:1: rule__Annotation__Group_2_2__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20875:1: rule__Annotation__Group_2_2__0__Impl : ( ',' ) ;
     public final void rule__Annotation__Group_2_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21035:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21036:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20879:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20880:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21036:1: ( ',' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21037:1: ','
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20880:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20881:1: ','
             {
              before(grammarAccess.getAnnotationAccess().getCommaKeyword_2_2_0()); 
-            match(input,50,FOLLOW_50_in_rule__Annotation__Group_2_2__0__Impl42475); 
+            match(input,51,FOLLOW_51_in_rule__Annotation__Group_2_2__0__Impl42167); 
              after(grammarAccess.getAnnotationAccess().getCommaKeyword_2_2_0()); 
 
             }
@@ -57184,16 +56948,16 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2_2__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21050:1: rule__Annotation__Group_2_2__1 : rule__Annotation__Group_2_2__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20894:1: rule__Annotation__Group_2_2__1 : rule__Annotation__Group_2_2__1__Impl ;
     public final void rule__Annotation__Group_2_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21054:1: ( rule__Annotation__Group_2_2__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21055:2: rule__Annotation__Group_2_2__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20898:1: ( rule__Annotation__Group_2_2__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20899:2: rule__Annotation__Group_2_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__Annotation__Group_2_2__1__Impl_in_rule__Annotation__Group_2_2__142506);
+            pushFollow(FOLLOW_rule__Annotation__Group_2_2__1__Impl_in_rule__Annotation__Group_2_2__142198);
             rule__Annotation__Group_2_2__1__Impl();
 
             state._fsp--;
@@ -57217,23 +56981,23 @@
 
 
     // $ANTLR start "rule__Annotation__Group_2_2__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21061:1: rule__Annotation__Group_2_2__1__Impl : ( ( rule__Annotation__AttributesAssignment_2_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20905:1: rule__Annotation__Group_2_2__1__Impl : ( ( rule__Annotation__AttributesAssignment_2_2_1 ) ) ;
     public final void rule__Annotation__Group_2_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21065:1: ( ( ( rule__Annotation__AttributesAssignment_2_2_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21066:1: ( ( rule__Annotation__AttributesAssignment_2_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20909:1: ( ( ( rule__Annotation__AttributesAssignment_2_2_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20910:1: ( ( rule__Annotation__AttributesAssignment_2_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21066:1: ( ( rule__Annotation__AttributesAssignment_2_2_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21067:1: ( rule__Annotation__AttributesAssignment_2_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20910:1: ( ( rule__Annotation__AttributesAssignment_2_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20911:1: ( rule__Annotation__AttributesAssignment_2_2_1 )
             {
              before(grammarAccess.getAnnotationAccess().getAttributesAssignment_2_2_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21068:1: ( rule__Annotation__AttributesAssignment_2_2_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21068:2: rule__Annotation__AttributesAssignment_2_2_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20912:1: ( rule__Annotation__AttributesAssignment_2_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20912:2: rule__Annotation__AttributesAssignment_2_2_1
             {
-            pushFollow(FOLLOW_rule__Annotation__AttributesAssignment_2_2_1_in_rule__Annotation__Group_2_2__1__Impl42533);
+            pushFollow(FOLLOW_rule__Annotation__AttributesAssignment_2_2_1_in_rule__Annotation__Group_2_2__1__Impl42225);
             rule__Annotation__AttributesAssignment_2_2_1();
 
             state._fsp--;
@@ -57264,21 +57028,21 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21082:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20926:1: rule__KeyValue__Group__0 : rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 ;
     public final void rule__KeyValue__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21086:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21087:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20930:1: ( rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20931:2: rule__KeyValue__Group__0__Impl rule__KeyValue__Group__1
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__042567);
+            pushFollow(FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__042259);
             rule__KeyValue__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__042570);
+            pushFollow(FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__042262);
             rule__KeyValue__Group__1();
 
             state._fsp--;
@@ -57302,23 +57066,23 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21094:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20938:1: rule__KeyValue__Group__0__Impl : ( ( rule__KeyValue__KeyAssignment_0 ) ) ;
     public final void rule__KeyValue__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21098:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21099:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20942:1: ( ( ( rule__KeyValue__KeyAssignment_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20943:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21099:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21100:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20943:1: ( ( rule__KeyValue__KeyAssignment_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20944:1: ( rule__KeyValue__KeyAssignment_0 )
             {
              before(grammarAccess.getKeyValueAccess().getKeyAssignment_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21101:1: ( rule__KeyValue__KeyAssignment_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21101:2: rule__KeyValue__KeyAssignment_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20945:1: ( rule__KeyValue__KeyAssignment_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20945:2: rule__KeyValue__KeyAssignment_0
             {
-            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl42597);
+            pushFollow(FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl42289);
             rule__KeyValue__KeyAssignment_0();
 
             state._fsp--;
@@ -57349,21 +57113,21 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21111:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20955:1: rule__KeyValue__Group__1 : rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 ;
     public final void rule__KeyValue__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21115:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21116:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20959:1: ( rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20960:2: rule__KeyValue__Group__1__Impl rule__KeyValue__Group__2
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__142627);
+            pushFollow(FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__142319);
             rule__KeyValue__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__142630);
+            pushFollow(FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__142322);
             rule__KeyValue__Group__2();
 
             state._fsp--;
@@ -57387,20 +57151,20 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21123:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20967:1: rule__KeyValue__Group__1__Impl : ( '=' ) ;
     public final void rule__KeyValue__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21127:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21128:1: ( '=' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20971:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20972:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21128:1: ( '=' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21129:1: '='
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20972:1: ( '=' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20973:1: '='
             {
              before(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
-            match(input,51,FOLLOW_51_in_rule__KeyValue__Group__1__Impl42658); 
+            match(input,52,FOLLOW_52_in_rule__KeyValue__Group__1__Impl42350); 
              after(grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1()); 
 
             }
@@ -57424,16 +57188,16 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21142:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20986:1: rule__KeyValue__Group__2 : rule__KeyValue__Group__2__Impl ;
     public final void rule__KeyValue__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21146:1: ( rule__KeyValue__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21147:2: rule__KeyValue__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20990:1: ( rule__KeyValue__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20991:2: rule__KeyValue__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__242689);
+            pushFollow(FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__242381);
             rule__KeyValue__Group__2__Impl();
 
             state._fsp--;
@@ -57457,23 +57221,23 @@
 
 
     // $ANTLR start "rule__KeyValue__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21153:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:20997:1: rule__KeyValue__Group__2__Impl : ( ( rule__KeyValue__ValueAssignment_2 ) ) ;
     public final void rule__KeyValue__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21157:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21158:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21001:1: ( ( ( rule__KeyValue__ValueAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21002:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21158:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21159:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21002:1: ( ( rule__KeyValue__ValueAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21003:1: ( rule__KeyValue__ValueAssignment_2 )
             {
              before(grammarAccess.getKeyValueAccess().getValueAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21160:1: ( rule__KeyValue__ValueAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21160:2: rule__KeyValue__ValueAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21004:1: ( rule__KeyValue__ValueAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21004:2: rule__KeyValue__ValueAssignment_2
             {
-            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl42716);
+            pushFollow(FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl42408);
             rule__KeyValue__ValueAssignment_2();
 
             state._fsp--;
@@ -57504,21 +57268,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21176:1: rule__AnnotationType__Group__0 : rule__AnnotationType__Group__0__Impl rule__AnnotationType__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21020:1: rule__AnnotationType__Group__0 : rule__AnnotationType__Group__0__Impl rule__AnnotationType__Group__1 ;
     public final void rule__AnnotationType__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21180:1: ( rule__AnnotationType__Group__0__Impl rule__AnnotationType__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21181:2: rule__AnnotationType__Group__0__Impl rule__AnnotationType__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21024:1: ( rule__AnnotationType__Group__0__Impl rule__AnnotationType__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21025:2: rule__AnnotationType__Group__0__Impl rule__AnnotationType__Group__1
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group__0__Impl_in_rule__AnnotationType__Group__042752);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__0__Impl_in_rule__AnnotationType__Group__042444);
             rule__AnnotationType__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group__1_in_rule__AnnotationType__Group__042755);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__1_in_rule__AnnotationType__Group__042447);
             rule__AnnotationType__Group__1();
 
             state._fsp--;
@@ -57542,20 +57306,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21188:1: rule__AnnotationType__Group__0__Impl : ( 'AnnotationType' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21032:1: rule__AnnotationType__Group__0__Impl : ( 'AnnotationType' ) ;
     public final void rule__AnnotationType__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21192:1: ( ( 'AnnotationType' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21193:1: ( 'AnnotationType' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21036:1: ( ( 'AnnotationType' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21037:1: ( 'AnnotationType' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21193:1: ( 'AnnotationType' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21194:1: 'AnnotationType'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21037:1: ( 'AnnotationType' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21038:1: 'AnnotationType'
             {
              before(grammarAccess.getAnnotationTypeAccess().getAnnotationTypeKeyword_0()); 
-            match(input,120,FOLLOW_120_in_rule__AnnotationType__Group__0__Impl42783); 
+            match(input,121,FOLLOW_121_in_rule__AnnotationType__Group__0__Impl42475); 
              after(grammarAccess.getAnnotationTypeAccess().getAnnotationTypeKeyword_0()); 
 
             }
@@ -57579,21 +57343,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21207:1: rule__AnnotationType__Group__1 : rule__AnnotationType__Group__1__Impl rule__AnnotationType__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21051:1: rule__AnnotationType__Group__1 : rule__AnnotationType__Group__1__Impl rule__AnnotationType__Group__2 ;
     public final void rule__AnnotationType__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21211:1: ( rule__AnnotationType__Group__1__Impl rule__AnnotationType__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21212:2: rule__AnnotationType__Group__1__Impl rule__AnnotationType__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21055:1: ( rule__AnnotationType__Group__1__Impl rule__AnnotationType__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21056:2: rule__AnnotationType__Group__1__Impl rule__AnnotationType__Group__2
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group__1__Impl_in_rule__AnnotationType__Group__142814);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__1__Impl_in_rule__AnnotationType__Group__142506);
             rule__AnnotationType__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group__2_in_rule__AnnotationType__Group__142817);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__2_in_rule__AnnotationType__Group__142509);
             rule__AnnotationType__Group__2();
 
             state._fsp--;
@@ -57617,23 +57381,23 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21219:1: rule__AnnotationType__Group__1__Impl : ( ( rule__AnnotationType__NameAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21063:1: rule__AnnotationType__Group__1__Impl : ( ( rule__AnnotationType__NameAssignment_1 ) ) ;
     public final void rule__AnnotationType__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21223:1: ( ( ( rule__AnnotationType__NameAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21224:1: ( ( rule__AnnotationType__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21067:1: ( ( ( rule__AnnotationType__NameAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21068:1: ( ( rule__AnnotationType__NameAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21224:1: ( ( rule__AnnotationType__NameAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21225:1: ( rule__AnnotationType__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21068:1: ( ( rule__AnnotationType__NameAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21069:1: ( rule__AnnotationType__NameAssignment_1 )
             {
              before(grammarAccess.getAnnotationTypeAccess().getNameAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21226:1: ( rule__AnnotationType__NameAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21226:2: rule__AnnotationType__NameAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21070:1: ( rule__AnnotationType__NameAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21070:2: rule__AnnotationType__NameAssignment_1
             {
-            pushFollow(FOLLOW_rule__AnnotationType__NameAssignment_1_in_rule__AnnotationType__Group__1__Impl42844);
+            pushFollow(FOLLOW_rule__AnnotationType__NameAssignment_1_in_rule__AnnotationType__Group__1__Impl42536);
             rule__AnnotationType__NameAssignment_1();
 
             state._fsp--;
@@ -57664,21 +57428,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21236:1: rule__AnnotationType__Group__2 : rule__AnnotationType__Group__2__Impl rule__AnnotationType__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21080:1: rule__AnnotationType__Group__2 : rule__AnnotationType__Group__2__Impl rule__AnnotationType__Group__3 ;
     public final void rule__AnnotationType__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21240:1: ( rule__AnnotationType__Group__2__Impl rule__AnnotationType__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21241:2: rule__AnnotationType__Group__2__Impl rule__AnnotationType__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21084:1: ( rule__AnnotationType__Group__2__Impl rule__AnnotationType__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21085:2: rule__AnnotationType__Group__2__Impl rule__AnnotationType__Group__3
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group__2__Impl_in_rule__AnnotationType__Group__242874);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__2__Impl_in_rule__AnnotationType__Group__242566);
             rule__AnnotationType__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group__3_in_rule__AnnotationType__Group__242877);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__3_in_rule__AnnotationType__Group__242569);
             rule__AnnotationType__Group__3();
 
             state._fsp--;
@@ -57702,31 +57466,31 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21248:1: rule__AnnotationType__Group__2__Impl : ( ( rule__AnnotationType__DocuAssignment_2 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21092:1: rule__AnnotationType__Group__2__Impl : ( ( rule__AnnotationType__DocuAssignment_2 )? ) ;
     public final void rule__AnnotationType__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21252:1: ( ( ( rule__AnnotationType__DocuAssignment_2 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21253:1: ( ( rule__AnnotationType__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21096:1: ( ( ( rule__AnnotationType__DocuAssignment_2 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21097:1: ( ( rule__AnnotationType__DocuAssignment_2 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21253:1: ( ( rule__AnnotationType__DocuAssignment_2 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21254:1: ( rule__AnnotationType__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21097:1: ( ( rule__AnnotationType__DocuAssignment_2 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21098:1: ( rule__AnnotationType__DocuAssignment_2 )?
             {
              before(grammarAccess.getAnnotationTypeAccess().getDocuAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21255:1: ( rule__AnnotationType__DocuAssignment_2 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21099:1: ( rule__AnnotationType__DocuAssignment_2 )?
             int alt191=2;
             int LA191_0 = input.LA(1);
 
-            if ( (LA191_0==58) ) {
+            if ( (LA191_0==59) ) {
                 alt191=1;
             }
             switch (alt191) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21255:2: rule__AnnotationType__DocuAssignment_2
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21099:2: rule__AnnotationType__DocuAssignment_2
                     {
-                    pushFollow(FOLLOW_rule__AnnotationType__DocuAssignment_2_in_rule__AnnotationType__Group__2__Impl42904);
+                    pushFollow(FOLLOW_rule__AnnotationType__DocuAssignment_2_in_rule__AnnotationType__Group__2__Impl42596);
                     rule__AnnotationType__DocuAssignment_2();
 
                     state._fsp--;
@@ -57760,21 +57524,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21265:1: rule__AnnotationType__Group__3 : rule__AnnotationType__Group__3__Impl rule__AnnotationType__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21109:1: rule__AnnotationType__Group__3 : rule__AnnotationType__Group__3__Impl rule__AnnotationType__Group__4 ;
     public final void rule__AnnotationType__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21269:1: ( rule__AnnotationType__Group__3__Impl rule__AnnotationType__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21270:2: rule__AnnotationType__Group__3__Impl rule__AnnotationType__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21113:1: ( rule__AnnotationType__Group__3__Impl rule__AnnotationType__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21114:2: rule__AnnotationType__Group__3__Impl rule__AnnotationType__Group__4
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group__3__Impl_in_rule__AnnotationType__Group__342935);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__3__Impl_in_rule__AnnotationType__Group__342627);
             rule__AnnotationType__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group__4_in_rule__AnnotationType__Group__342938);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__4_in_rule__AnnotationType__Group__342630);
             rule__AnnotationType__Group__4();
 
             state._fsp--;
@@ -57798,20 +57562,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21277:1: rule__AnnotationType__Group__3__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21121:1: rule__AnnotationType__Group__3__Impl : ( '{' ) ;
     public final void rule__AnnotationType__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21281:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21282:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21125:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21126:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21282:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21283:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21126:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21127:1: '{'
             {
              before(grammarAccess.getAnnotationTypeAccess().getLeftCurlyBracketKeyword_3()); 
-            match(input,40,FOLLOW_40_in_rule__AnnotationType__Group__3__Impl42966); 
+            match(input,41,FOLLOW_41_in_rule__AnnotationType__Group__3__Impl42658); 
              after(grammarAccess.getAnnotationTypeAccess().getLeftCurlyBracketKeyword_3()); 
 
             }
@@ -57835,21 +57599,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21296:1: rule__AnnotationType__Group__4 : rule__AnnotationType__Group__4__Impl rule__AnnotationType__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21140:1: rule__AnnotationType__Group__4 : rule__AnnotationType__Group__4__Impl rule__AnnotationType__Group__5 ;
     public final void rule__AnnotationType__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21300:1: ( rule__AnnotationType__Group__4__Impl rule__AnnotationType__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21301:2: rule__AnnotationType__Group__4__Impl rule__AnnotationType__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21144:1: ( rule__AnnotationType__Group__4__Impl rule__AnnotationType__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21145:2: rule__AnnotationType__Group__4__Impl rule__AnnotationType__Group__5
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group__4__Impl_in_rule__AnnotationType__Group__442997);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__4__Impl_in_rule__AnnotationType__Group__442689);
             rule__AnnotationType__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group__5_in_rule__AnnotationType__Group__443000);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__5_in_rule__AnnotationType__Group__442692);
             rule__AnnotationType__Group__5();
 
             state._fsp--;
@@ -57873,20 +57637,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21308:1: rule__AnnotationType__Group__4__Impl : ( 'target' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21152:1: rule__AnnotationType__Group__4__Impl : ( 'target' ) ;
     public final void rule__AnnotationType__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21312:1: ( ( 'target' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21313:1: ( 'target' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21156:1: ( ( 'target' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21157:1: ( 'target' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21313:1: ( 'target' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21314:1: 'target'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21157:1: ( 'target' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21158:1: 'target'
             {
              before(grammarAccess.getAnnotationTypeAccess().getTargetKeyword_4()); 
-            match(input,121,FOLLOW_121_in_rule__AnnotationType__Group__4__Impl43028); 
+            match(input,122,FOLLOW_122_in_rule__AnnotationType__Group__4__Impl42720); 
              after(grammarAccess.getAnnotationTypeAccess().getTargetKeyword_4()); 
 
             }
@@ -57910,21 +57674,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21327:1: rule__AnnotationType__Group__5 : rule__AnnotationType__Group__5__Impl rule__AnnotationType__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21171:1: rule__AnnotationType__Group__5 : rule__AnnotationType__Group__5__Impl rule__AnnotationType__Group__6 ;
     public final void rule__AnnotationType__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21331:1: ( rule__AnnotationType__Group__5__Impl rule__AnnotationType__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21332:2: rule__AnnotationType__Group__5__Impl rule__AnnotationType__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21175:1: ( rule__AnnotationType__Group__5__Impl rule__AnnotationType__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21176:2: rule__AnnotationType__Group__5__Impl rule__AnnotationType__Group__6
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group__5__Impl_in_rule__AnnotationType__Group__543059);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__5__Impl_in_rule__AnnotationType__Group__542751);
             rule__AnnotationType__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group__6_in_rule__AnnotationType__Group__543062);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__6_in_rule__AnnotationType__Group__542754);
             rule__AnnotationType__Group__6();
 
             state._fsp--;
@@ -57948,20 +57712,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21339:1: rule__AnnotationType__Group__5__Impl : ( '=' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21183:1: rule__AnnotationType__Group__5__Impl : ( '=' ) ;
     public final void rule__AnnotationType__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21343:1: ( ( '=' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21344:1: ( '=' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21187:1: ( ( '=' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21188:1: ( '=' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21344:1: ( '=' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21345:1: '='
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21188:1: ( '=' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21189:1: '='
             {
              before(grammarAccess.getAnnotationTypeAccess().getEqualsSignKeyword_5()); 
-            match(input,51,FOLLOW_51_in_rule__AnnotationType__Group__5__Impl43090); 
+            match(input,52,FOLLOW_52_in_rule__AnnotationType__Group__5__Impl42782); 
              after(grammarAccess.getAnnotationTypeAccess().getEqualsSignKeyword_5()); 
 
             }
@@ -57985,21 +57749,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21358:1: rule__AnnotationType__Group__6 : rule__AnnotationType__Group__6__Impl rule__AnnotationType__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21202:1: rule__AnnotationType__Group__6 : rule__AnnotationType__Group__6__Impl rule__AnnotationType__Group__7 ;
     public final void rule__AnnotationType__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21362:1: ( rule__AnnotationType__Group__6__Impl rule__AnnotationType__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21363:2: rule__AnnotationType__Group__6__Impl rule__AnnotationType__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21206:1: ( rule__AnnotationType__Group__6__Impl rule__AnnotationType__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21207:2: rule__AnnotationType__Group__6__Impl rule__AnnotationType__Group__7
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group__6__Impl_in_rule__AnnotationType__Group__643121);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__6__Impl_in_rule__AnnotationType__Group__642813);
             rule__AnnotationType__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group__7_in_rule__AnnotationType__Group__643124);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__7_in_rule__AnnotationType__Group__642816);
             rule__AnnotationType__Group__7();
 
             state._fsp--;
@@ -58023,23 +57787,23 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21370:1: rule__AnnotationType__Group__6__Impl : ( ( rule__AnnotationType__Alternatives_6 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21214:1: rule__AnnotationType__Group__6__Impl : ( ( rule__AnnotationType__Alternatives_6 ) ) ;
     public final void rule__AnnotationType__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21374:1: ( ( ( rule__AnnotationType__Alternatives_6 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21375:1: ( ( rule__AnnotationType__Alternatives_6 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21218:1: ( ( ( rule__AnnotationType__Alternatives_6 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21219:1: ( ( rule__AnnotationType__Alternatives_6 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21375:1: ( ( rule__AnnotationType__Alternatives_6 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21376:1: ( rule__AnnotationType__Alternatives_6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21219:1: ( ( rule__AnnotationType__Alternatives_6 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21220:1: ( rule__AnnotationType__Alternatives_6 )
             {
              before(grammarAccess.getAnnotationTypeAccess().getAlternatives_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21377:1: ( rule__AnnotationType__Alternatives_6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21377:2: rule__AnnotationType__Alternatives_6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21221:1: ( rule__AnnotationType__Alternatives_6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21221:2: rule__AnnotationType__Alternatives_6
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Alternatives_6_in_rule__AnnotationType__Group__6__Impl43151);
+            pushFollow(FOLLOW_rule__AnnotationType__Alternatives_6_in_rule__AnnotationType__Group__6__Impl42843);
             rule__AnnotationType__Alternatives_6();
 
             state._fsp--;
@@ -58070,21 +57834,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21387:1: rule__AnnotationType__Group__7 : rule__AnnotationType__Group__7__Impl rule__AnnotationType__Group__8 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21231:1: rule__AnnotationType__Group__7 : rule__AnnotationType__Group__7__Impl rule__AnnotationType__Group__8 ;
     public final void rule__AnnotationType__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21391:1: ( rule__AnnotationType__Group__7__Impl rule__AnnotationType__Group__8 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21392:2: rule__AnnotationType__Group__7__Impl rule__AnnotationType__Group__8
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21235:1: ( rule__AnnotationType__Group__7__Impl rule__AnnotationType__Group__8 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21236:2: rule__AnnotationType__Group__7__Impl rule__AnnotationType__Group__8
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group__7__Impl_in_rule__AnnotationType__Group__743181);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__7__Impl_in_rule__AnnotationType__Group__742873);
             rule__AnnotationType__Group__7__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group__8_in_rule__AnnotationType__Group__743184);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__8_in_rule__AnnotationType__Group__742876);
             rule__AnnotationType__Group__8();
 
             state._fsp--;
@@ -58108,35 +57872,35 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21399:1: rule__AnnotationType__Group__7__Impl : ( ( rule__AnnotationType__AttributesAssignment_7 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21243:1: rule__AnnotationType__Group__7__Impl : ( ( rule__AnnotationType__AttributesAssignment_7 )* ) ;
     public final void rule__AnnotationType__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21403:1: ( ( ( rule__AnnotationType__AttributesAssignment_7 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21404:1: ( ( rule__AnnotationType__AttributesAssignment_7 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21247:1: ( ( ( rule__AnnotationType__AttributesAssignment_7 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21248:1: ( ( rule__AnnotationType__AttributesAssignment_7 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21404:1: ( ( rule__AnnotationType__AttributesAssignment_7 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21405:1: ( rule__AnnotationType__AttributesAssignment_7 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21248:1: ( ( rule__AnnotationType__AttributesAssignment_7 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21249:1: ( rule__AnnotationType__AttributesAssignment_7 )*
             {
              before(grammarAccess.getAnnotationTypeAccess().getAttributesAssignment_7()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21406:1: ( rule__AnnotationType__AttributesAssignment_7 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21250:1: ( rule__AnnotationType__AttributesAssignment_7 )*
             loop192:
             do {
                 int alt192=2;
                 int LA192_0 = input.LA(1);
 
-                if ( (LA192_0==24||LA192_0==33) ) {
+                if ( (LA192_0==23||LA192_0==34) ) {
                     alt192=1;
                 }
 
 
                 switch (alt192) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21406:2: rule__AnnotationType__AttributesAssignment_7
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21250:2: rule__AnnotationType__AttributesAssignment_7
             	    {
-            	    pushFollow(FOLLOW_rule__AnnotationType__AttributesAssignment_7_in_rule__AnnotationType__Group__7__Impl43211);
+            	    pushFollow(FOLLOW_rule__AnnotationType__AttributesAssignment_7_in_rule__AnnotationType__Group__7__Impl42903);
             	    rule__AnnotationType__AttributesAssignment_7();
 
             	    state._fsp--;
@@ -58173,16 +57937,16 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21416:1: rule__AnnotationType__Group__8 : rule__AnnotationType__Group__8__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21260:1: rule__AnnotationType__Group__8 : rule__AnnotationType__Group__8__Impl ;
     public final void rule__AnnotationType__Group__8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21420:1: ( rule__AnnotationType__Group__8__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21421:2: rule__AnnotationType__Group__8__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21264:1: ( rule__AnnotationType__Group__8__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21265:2: rule__AnnotationType__Group__8__Impl
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group__8__Impl_in_rule__AnnotationType__Group__843242);
+            pushFollow(FOLLOW_rule__AnnotationType__Group__8__Impl_in_rule__AnnotationType__Group__842934);
             rule__AnnotationType__Group__8__Impl();
 
             state._fsp--;
@@ -58206,20 +57970,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group__8__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21427:1: rule__AnnotationType__Group__8__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21271:1: rule__AnnotationType__Group__8__Impl : ( '}' ) ;
     public final void rule__AnnotationType__Group__8__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21431:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21432:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21275:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21276:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21432:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21433:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21276:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21277:1: '}'
             {
              before(grammarAccess.getAnnotationTypeAccess().getRightCurlyBracketKeyword_8()); 
-            match(input,41,FOLLOW_41_in_rule__AnnotationType__Group__8__Impl43270); 
+            match(input,42,FOLLOW_42_in_rule__AnnotationType__Group__8__Impl42962); 
              after(grammarAccess.getAnnotationTypeAccess().getRightCurlyBracketKeyword_8()); 
 
             }
@@ -58243,21 +58007,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21464:1: rule__AnnotationType__Group_6_1__0 : rule__AnnotationType__Group_6_1__0__Impl rule__AnnotationType__Group_6_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21308:1: rule__AnnotationType__Group_6_1__0 : rule__AnnotationType__Group_6_1__0__Impl rule__AnnotationType__Group_6_1__1 ;
     public final void rule__AnnotationType__Group_6_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21468:1: ( rule__AnnotationType__Group_6_1__0__Impl rule__AnnotationType__Group_6_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21469:2: rule__AnnotationType__Group_6_1__0__Impl rule__AnnotationType__Group_6_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21312:1: ( rule__AnnotationType__Group_6_1__0__Impl rule__AnnotationType__Group_6_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21313:2: rule__AnnotationType__Group_6_1__0__Impl rule__AnnotationType__Group_6_1__1
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__0__Impl_in_rule__AnnotationType__Group_6_1__043319);
+            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__0__Impl_in_rule__AnnotationType__Group_6_1__043011);
             rule__AnnotationType__Group_6_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__1_in_rule__AnnotationType__Group_6_1__043322);
+            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__1_in_rule__AnnotationType__Group_6_1__043014);
             rule__AnnotationType__Group_6_1__1();
 
             state._fsp--;
@@ -58281,20 +58045,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21476:1: rule__AnnotationType__Group_6_1__0__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21320:1: rule__AnnotationType__Group_6_1__0__Impl : ( '{' ) ;
     public final void rule__AnnotationType__Group_6_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21480:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21481:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21324:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21325:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21481:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21482:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21325:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21326:1: '{'
             {
              before(grammarAccess.getAnnotationTypeAccess().getLeftCurlyBracketKeyword_6_1_0()); 
-            match(input,40,FOLLOW_40_in_rule__AnnotationType__Group_6_1__0__Impl43350); 
+            match(input,41,FOLLOW_41_in_rule__AnnotationType__Group_6_1__0__Impl43042); 
              after(grammarAccess.getAnnotationTypeAccess().getLeftCurlyBracketKeyword_6_1_0()); 
 
             }
@@ -58318,21 +58082,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21495:1: rule__AnnotationType__Group_6_1__1 : rule__AnnotationType__Group_6_1__1__Impl rule__AnnotationType__Group_6_1__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21339:1: rule__AnnotationType__Group_6_1__1 : rule__AnnotationType__Group_6_1__1__Impl rule__AnnotationType__Group_6_1__2 ;
     public final void rule__AnnotationType__Group_6_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21499:1: ( rule__AnnotationType__Group_6_1__1__Impl rule__AnnotationType__Group_6_1__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21500:2: rule__AnnotationType__Group_6_1__1__Impl rule__AnnotationType__Group_6_1__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21343:1: ( rule__AnnotationType__Group_6_1__1__Impl rule__AnnotationType__Group_6_1__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21344:2: rule__AnnotationType__Group_6_1__1__Impl rule__AnnotationType__Group_6_1__2
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__1__Impl_in_rule__AnnotationType__Group_6_1__143381);
+            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__1__Impl_in_rule__AnnotationType__Group_6_1__143073);
             rule__AnnotationType__Group_6_1__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__2_in_rule__AnnotationType__Group_6_1__143384);
+            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__2_in_rule__AnnotationType__Group_6_1__143076);
             rule__AnnotationType__Group_6_1__2();
 
             state._fsp--;
@@ -58356,23 +58120,23 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21507:1: rule__AnnotationType__Group_6_1__1__Impl : ( ( rule__AnnotationType__TargetsAssignment_6_1_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21351:1: rule__AnnotationType__Group_6_1__1__Impl : ( ( rule__AnnotationType__TargetsAssignment_6_1_1 ) ) ;
     public final void rule__AnnotationType__Group_6_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21511:1: ( ( ( rule__AnnotationType__TargetsAssignment_6_1_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21512:1: ( ( rule__AnnotationType__TargetsAssignment_6_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21355:1: ( ( ( rule__AnnotationType__TargetsAssignment_6_1_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21356:1: ( ( rule__AnnotationType__TargetsAssignment_6_1_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21512:1: ( ( rule__AnnotationType__TargetsAssignment_6_1_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21513:1: ( rule__AnnotationType__TargetsAssignment_6_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21356:1: ( ( rule__AnnotationType__TargetsAssignment_6_1_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21357:1: ( rule__AnnotationType__TargetsAssignment_6_1_1 )
             {
              before(grammarAccess.getAnnotationTypeAccess().getTargetsAssignment_6_1_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21514:1: ( rule__AnnotationType__TargetsAssignment_6_1_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21514:2: rule__AnnotationType__TargetsAssignment_6_1_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21358:1: ( rule__AnnotationType__TargetsAssignment_6_1_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21358:2: rule__AnnotationType__TargetsAssignment_6_1_1
             {
-            pushFollow(FOLLOW_rule__AnnotationType__TargetsAssignment_6_1_1_in_rule__AnnotationType__Group_6_1__1__Impl43411);
+            pushFollow(FOLLOW_rule__AnnotationType__TargetsAssignment_6_1_1_in_rule__AnnotationType__Group_6_1__1__Impl43103);
             rule__AnnotationType__TargetsAssignment_6_1_1();
 
             state._fsp--;
@@ -58403,21 +58167,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21524:1: rule__AnnotationType__Group_6_1__2 : rule__AnnotationType__Group_6_1__2__Impl rule__AnnotationType__Group_6_1__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21368:1: rule__AnnotationType__Group_6_1__2 : rule__AnnotationType__Group_6_1__2__Impl rule__AnnotationType__Group_6_1__3 ;
     public final void rule__AnnotationType__Group_6_1__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21528:1: ( rule__AnnotationType__Group_6_1__2__Impl rule__AnnotationType__Group_6_1__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21529:2: rule__AnnotationType__Group_6_1__2__Impl rule__AnnotationType__Group_6_1__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21372:1: ( rule__AnnotationType__Group_6_1__2__Impl rule__AnnotationType__Group_6_1__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21373:2: rule__AnnotationType__Group_6_1__2__Impl rule__AnnotationType__Group_6_1__3
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__2__Impl_in_rule__AnnotationType__Group_6_1__243441);
+            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__2__Impl_in_rule__AnnotationType__Group_6_1__243133);
             rule__AnnotationType__Group_6_1__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__3_in_rule__AnnotationType__Group_6_1__243444);
+            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__3_in_rule__AnnotationType__Group_6_1__243136);
             rule__AnnotationType__Group_6_1__3();
 
             state._fsp--;
@@ -58441,35 +58205,35 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21536:1: rule__AnnotationType__Group_6_1__2__Impl : ( ( rule__AnnotationType__Group_6_1_2__0 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21380:1: rule__AnnotationType__Group_6_1__2__Impl : ( ( rule__AnnotationType__Group_6_1_2__0 )* ) ;
     public final void rule__AnnotationType__Group_6_1__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21540:1: ( ( ( rule__AnnotationType__Group_6_1_2__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21541:1: ( ( rule__AnnotationType__Group_6_1_2__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21384:1: ( ( ( rule__AnnotationType__Group_6_1_2__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21385:1: ( ( rule__AnnotationType__Group_6_1_2__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21541:1: ( ( rule__AnnotationType__Group_6_1_2__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21542:1: ( rule__AnnotationType__Group_6_1_2__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21385:1: ( ( rule__AnnotationType__Group_6_1_2__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21386:1: ( rule__AnnotationType__Group_6_1_2__0 )*
             {
              before(grammarAccess.getAnnotationTypeAccess().getGroup_6_1_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21543:1: ( rule__AnnotationType__Group_6_1_2__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21387:1: ( rule__AnnotationType__Group_6_1_2__0 )*
             loop193:
             do {
                 int alt193=2;
                 int LA193_0 = input.LA(1);
 
-                if ( (LA193_0==50) ) {
+                if ( (LA193_0==51) ) {
                     alt193=1;
                 }
 
 
                 switch (alt193) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21543:2: rule__AnnotationType__Group_6_1_2__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21387:2: rule__AnnotationType__Group_6_1_2__0
             	    {
-            	    pushFollow(FOLLOW_rule__AnnotationType__Group_6_1_2__0_in_rule__AnnotationType__Group_6_1__2__Impl43471);
+            	    pushFollow(FOLLOW_rule__AnnotationType__Group_6_1_2__0_in_rule__AnnotationType__Group_6_1__2__Impl43163);
             	    rule__AnnotationType__Group_6_1_2__0();
 
             	    state._fsp--;
@@ -58506,16 +58270,16 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21553:1: rule__AnnotationType__Group_6_1__3 : rule__AnnotationType__Group_6_1__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21397:1: rule__AnnotationType__Group_6_1__3 : rule__AnnotationType__Group_6_1__3__Impl ;
     public final void rule__AnnotationType__Group_6_1__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21557:1: ( rule__AnnotationType__Group_6_1__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21558:2: rule__AnnotationType__Group_6_1__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21401:1: ( rule__AnnotationType__Group_6_1__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21402:2: rule__AnnotationType__Group_6_1__3__Impl
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__3__Impl_in_rule__AnnotationType__Group_6_1__343502);
+            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1__3__Impl_in_rule__AnnotationType__Group_6_1__343194);
             rule__AnnotationType__Group_6_1__3__Impl();
 
             state._fsp--;
@@ -58539,20 +58303,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21564:1: rule__AnnotationType__Group_6_1__3__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21408:1: rule__AnnotationType__Group_6_1__3__Impl : ( '}' ) ;
     public final void rule__AnnotationType__Group_6_1__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21568:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21569:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21412:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21413:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21569:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21570:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21413:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21414:1: '}'
             {
              before(grammarAccess.getAnnotationTypeAccess().getRightCurlyBracketKeyword_6_1_3()); 
-            match(input,41,FOLLOW_41_in_rule__AnnotationType__Group_6_1__3__Impl43530); 
+            match(input,42,FOLLOW_42_in_rule__AnnotationType__Group_6_1__3__Impl43222); 
              after(grammarAccess.getAnnotationTypeAccess().getRightCurlyBracketKeyword_6_1_3()); 
 
             }
@@ -58576,21 +58340,21 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1_2__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21591:1: rule__AnnotationType__Group_6_1_2__0 : rule__AnnotationType__Group_6_1_2__0__Impl rule__AnnotationType__Group_6_1_2__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21435:1: rule__AnnotationType__Group_6_1_2__0 : rule__AnnotationType__Group_6_1_2__0__Impl rule__AnnotationType__Group_6_1_2__1 ;
     public final void rule__AnnotationType__Group_6_1_2__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21595:1: ( rule__AnnotationType__Group_6_1_2__0__Impl rule__AnnotationType__Group_6_1_2__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21596:2: rule__AnnotationType__Group_6_1_2__0__Impl rule__AnnotationType__Group_6_1_2__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21439:1: ( rule__AnnotationType__Group_6_1_2__0__Impl rule__AnnotationType__Group_6_1_2__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21440:2: rule__AnnotationType__Group_6_1_2__0__Impl rule__AnnotationType__Group_6_1_2__1
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1_2__0__Impl_in_rule__AnnotationType__Group_6_1_2__043569);
+            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1_2__0__Impl_in_rule__AnnotationType__Group_6_1_2__043261);
             rule__AnnotationType__Group_6_1_2__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1_2__1_in_rule__AnnotationType__Group_6_1_2__043572);
+            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1_2__1_in_rule__AnnotationType__Group_6_1_2__043264);
             rule__AnnotationType__Group_6_1_2__1();
 
             state._fsp--;
@@ -58614,20 +58378,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1_2__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21603:1: rule__AnnotationType__Group_6_1_2__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21447:1: rule__AnnotationType__Group_6_1_2__0__Impl : ( ',' ) ;
     public final void rule__AnnotationType__Group_6_1_2__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21607:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21608:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21451:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21452:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21608:1: ( ',' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21609:1: ','
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21452:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21453:1: ','
             {
              before(grammarAccess.getAnnotationTypeAccess().getCommaKeyword_6_1_2_0()); 
-            match(input,50,FOLLOW_50_in_rule__AnnotationType__Group_6_1_2__0__Impl43600); 
+            match(input,51,FOLLOW_51_in_rule__AnnotationType__Group_6_1_2__0__Impl43292); 
              after(grammarAccess.getAnnotationTypeAccess().getCommaKeyword_6_1_2_0()); 
 
             }
@@ -58651,16 +58415,16 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1_2__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21622:1: rule__AnnotationType__Group_6_1_2__1 : rule__AnnotationType__Group_6_1_2__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21466:1: rule__AnnotationType__Group_6_1_2__1 : rule__AnnotationType__Group_6_1_2__1__Impl ;
     public final void rule__AnnotationType__Group_6_1_2__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21626:1: ( rule__AnnotationType__Group_6_1_2__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21627:2: rule__AnnotationType__Group_6_1_2__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21470:1: ( rule__AnnotationType__Group_6_1_2__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21471:2: rule__AnnotationType__Group_6_1_2__1__Impl
             {
-            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1_2__1__Impl_in_rule__AnnotationType__Group_6_1_2__143631);
+            pushFollow(FOLLOW_rule__AnnotationType__Group_6_1_2__1__Impl_in_rule__AnnotationType__Group_6_1_2__143323);
             rule__AnnotationType__Group_6_1_2__1__Impl();
 
             state._fsp--;
@@ -58684,23 +58448,23 @@
 
 
     // $ANTLR start "rule__AnnotationType__Group_6_1_2__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21633:1: rule__AnnotationType__Group_6_1_2__1__Impl : ( ( rule__AnnotationType__TargetsAssignment_6_1_2_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21477:1: rule__AnnotationType__Group_6_1_2__1__Impl : ( ( rule__AnnotationType__TargetsAssignment_6_1_2_1 ) ) ;
     public final void rule__AnnotationType__Group_6_1_2__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21637:1: ( ( ( rule__AnnotationType__TargetsAssignment_6_1_2_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21638:1: ( ( rule__AnnotationType__TargetsAssignment_6_1_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21481:1: ( ( ( rule__AnnotationType__TargetsAssignment_6_1_2_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21482:1: ( ( rule__AnnotationType__TargetsAssignment_6_1_2_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21638:1: ( ( rule__AnnotationType__TargetsAssignment_6_1_2_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21639:1: ( rule__AnnotationType__TargetsAssignment_6_1_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21482:1: ( ( rule__AnnotationType__TargetsAssignment_6_1_2_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21483:1: ( rule__AnnotationType__TargetsAssignment_6_1_2_1 )
             {
              before(grammarAccess.getAnnotationTypeAccess().getTargetsAssignment_6_1_2_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21640:1: ( rule__AnnotationType__TargetsAssignment_6_1_2_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21640:2: rule__AnnotationType__TargetsAssignment_6_1_2_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21484:1: ( rule__AnnotationType__TargetsAssignment_6_1_2_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21484:2: rule__AnnotationType__TargetsAssignment_6_1_2_1
             {
-            pushFollow(FOLLOW_rule__AnnotationType__TargetsAssignment_6_1_2_1_in_rule__AnnotationType__Group_6_1_2__1__Impl43658);
+            pushFollow(FOLLOW_rule__AnnotationType__TargetsAssignment_6_1_2_1_in_rule__AnnotationType__Group_6_1_2__1__Impl43350);
             rule__AnnotationType__TargetsAssignment_6_1_2_1();
 
             state._fsp--;
@@ -58731,21 +58495,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21654:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21498:1: rule__SimpleAnnotationAttribute__Group__0 : rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 ;
     public final void rule__SimpleAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21658:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21659:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21502:1: ( rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21503:2: rule__SimpleAnnotationAttribute__Group__0__Impl rule__SimpleAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__043692);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__043384);
             rule__SimpleAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__043695);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__043387);
             rule__SimpleAnnotationAttribute__Group__1();
 
             state._fsp--;
@@ -58769,23 +58533,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21666:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21510:1: rule__SimpleAnnotationAttribute__Group__0__Impl : ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21670:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21671:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21514:1: ( ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21515:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21671:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21672:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21515:1: ( ( rule__SimpleAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21516:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21673:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21673:2: rule__SimpleAnnotationAttribute__Alternatives_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21517:1: ( rule__SimpleAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21517:2: rule__SimpleAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl43722);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl43414);
             rule__SimpleAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
@@ -58816,21 +58580,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21683:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21527:1: rule__SimpleAnnotationAttribute__Group__1 : rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 ;
     public final void rule__SimpleAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21687:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21688:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21531:1: ( rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21532:2: rule__SimpleAnnotationAttribute__Group__1__Impl rule__SimpleAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__143752);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__143444);
             rule__SimpleAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__143755);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__143447);
             rule__SimpleAnnotationAttribute__Group__2();
 
             state._fsp--;
@@ -58854,20 +58618,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21695:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21539:1: rule__SimpleAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21699:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21700:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21543:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21544:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21700:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21701:1: 'attribute'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21544:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21545:1: 'attribute'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
-            match(input,122,FOLLOW_122_in_rule__SimpleAnnotationAttribute__Group__1__Impl43783); 
+            match(input,123,FOLLOW_123_in_rule__SimpleAnnotationAttribute__Group__1__Impl43475); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1()); 
 
             }
@@ -58891,21 +58655,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21714:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21558:1: rule__SimpleAnnotationAttribute__Group__2 : rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 ;
     public final void rule__SimpleAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21718:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21719:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21562:1: ( rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21563:2: rule__SimpleAnnotationAttribute__Group__2__Impl rule__SimpleAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__243814);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__243506);
             rule__SimpleAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__243817);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__243509);
             rule__SimpleAnnotationAttribute__Group__3();
 
             state._fsp--;
@@ -58929,23 +58693,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21726:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21570:1: rule__SimpleAnnotationAttribute__Group__2__Impl : ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21730:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21731:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21574:1: ( ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21575:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21731:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21732:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21575:1: ( ( rule__SimpleAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21576:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21733:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21733:2: rule__SimpleAnnotationAttribute__NameAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21577:1: ( rule__SimpleAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21577:2: rule__SimpleAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl43844);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl43536);
             rule__SimpleAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
@@ -58976,21 +58740,21 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21743:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21587:1: rule__SimpleAnnotationAttribute__Group__3 : rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 ;
     public final void rule__SimpleAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21747:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21748:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21591:1: ( rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21592:2: rule__SimpleAnnotationAttribute__Group__3__Impl rule__SimpleAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__343874);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__343566);
             rule__SimpleAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__343877);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__343569);
             rule__SimpleAnnotationAttribute__Group__4();
 
             state._fsp--;
@@ -59014,20 +58778,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21755:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21599:1: rule__SimpleAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__SimpleAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21759:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21760:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21603:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21604:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21760:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21761:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21604:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21605:1: ':'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
-            match(input,42,FOLLOW_42_in_rule__SimpleAnnotationAttribute__Group__3__Impl43905); 
+            match(input,43,FOLLOW_43_in_rule__SimpleAnnotationAttribute__Group__3__Impl43597); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3()); 
 
             }
@@ -59051,16 +58815,16 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21774:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21618:1: rule__SimpleAnnotationAttribute__Group__4 : rule__SimpleAnnotationAttribute__Group__4__Impl ;
     public final void rule__SimpleAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21778:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21779:2: rule__SimpleAnnotationAttribute__Group__4__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21622:1: ( rule__SimpleAnnotationAttribute__Group__4__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21623:2: rule__SimpleAnnotationAttribute__Group__4__Impl
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__443936);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__443628);
             rule__SimpleAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
@@ -59084,23 +58848,23 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21785:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21629:1: rule__SimpleAnnotationAttribute__Group__4__Impl : ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) ;
     public final void rule__SimpleAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21789:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21790:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21633:1: ( ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21634:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21790:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21791:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21634:1: ( ( rule__SimpleAnnotationAttribute__TypeAssignment_4 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21635:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeAssignment_4()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21792:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21792:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21636:1: ( rule__SimpleAnnotationAttribute__TypeAssignment_4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21636:2: rule__SimpleAnnotationAttribute__TypeAssignment_4
             {
-            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl43963);
+            pushFollow(FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl43655);
             rule__SimpleAnnotationAttribute__TypeAssignment_4();
 
             state._fsp--;
@@ -59131,21 +58895,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21812:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21656:1: rule__EnumAnnotationAttribute__Group__0 : rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 ;
     public final void rule__EnumAnnotationAttribute__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21816:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21817:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21660:1: ( rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21661:2: rule__EnumAnnotationAttribute__Group__0__Impl rule__EnumAnnotationAttribute__Group__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__044003);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__043695);
             rule__EnumAnnotationAttribute__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__044006);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__043698);
             rule__EnumAnnotationAttribute__Group__1();
 
             state._fsp--;
@@ -59169,23 +58933,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21824:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21668:1: rule__EnumAnnotationAttribute__Group__0__Impl : ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21828:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21829:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21672:1: ( ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21673:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21829:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21830:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21673:1: ( ( rule__EnumAnnotationAttribute__Alternatives_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21674:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21831:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21831:2: rule__EnumAnnotationAttribute__Alternatives_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21675:1: ( rule__EnumAnnotationAttribute__Alternatives_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21675:2: rule__EnumAnnotationAttribute__Alternatives_0
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl44033);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl43725);
             rule__EnumAnnotationAttribute__Alternatives_0();
 
             state._fsp--;
@@ -59216,21 +58980,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21841:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21685:1: rule__EnumAnnotationAttribute__Group__1 : rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 ;
     public final void rule__EnumAnnotationAttribute__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21845:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21846:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21689:1: ( rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21690:2: rule__EnumAnnotationAttribute__Group__1__Impl rule__EnumAnnotationAttribute__Group__2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__144063);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__143755);
             rule__EnumAnnotationAttribute__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__144066);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__143758);
             rule__EnumAnnotationAttribute__Group__2();
 
             state._fsp--;
@@ -59254,20 +59018,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21853:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21697:1: rule__EnumAnnotationAttribute__Group__1__Impl : ( 'attribute' ) ;
     public final void rule__EnumAnnotationAttribute__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21857:1: ( ( 'attribute' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21858:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21701:1: ( ( 'attribute' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21702:1: ( 'attribute' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21858:1: ( 'attribute' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21859:1: 'attribute'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21702:1: ( 'attribute' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21703:1: 'attribute'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
-            match(input,122,FOLLOW_122_in_rule__EnumAnnotationAttribute__Group__1__Impl44094); 
+            match(input,123,FOLLOW_123_in_rule__EnumAnnotationAttribute__Group__1__Impl43786); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1()); 
 
             }
@@ -59291,21 +59055,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21872:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21716:1: rule__EnumAnnotationAttribute__Group__2 : rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 ;
     public final void rule__EnumAnnotationAttribute__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21876:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21877:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21720:1: ( rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21721:2: rule__EnumAnnotationAttribute__Group__2__Impl rule__EnumAnnotationAttribute__Group__3
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__244125);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__243817);
             rule__EnumAnnotationAttribute__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__244128);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__243820);
             rule__EnumAnnotationAttribute__Group__3();
 
             state._fsp--;
@@ -59329,23 +59093,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21884:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21728:1: rule__EnumAnnotationAttribute__Group__2__Impl : ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21888:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21889:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21732:1: ( ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21733:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21889:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21890:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21733:1: ( ( rule__EnumAnnotationAttribute__NameAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21734:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getNameAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21891:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21891:2: rule__EnumAnnotationAttribute__NameAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21735:1: ( rule__EnumAnnotationAttribute__NameAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21735:2: rule__EnumAnnotationAttribute__NameAssignment_2
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl44155);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl43847);
             rule__EnumAnnotationAttribute__NameAssignment_2();
 
             state._fsp--;
@@ -59376,21 +59140,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21901:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21745:1: rule__EnumAnnotationAttribute__Group__3 : rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 ;
     public final void rule__EnumAnnotationAttribute__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21905:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21906:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21749:1: ( rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21750:2: rule__EnumAnnotationAttribute__Group__3__Impl rule__EnumAnnotationAttribute__Group__4
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__344185);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__343877);
             rule__EnumAnnotationAttribute__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__344188);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__343880);
             rule__EnumAnnotationAttribute__Group__4();
 
             state._fsp--;
@@ -59414,20 +59178,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21913:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21757:1: rule__EnumAnnotationAttribute__Group__3__Impl : ( ':' ) ;
     public final void rule__EnumAnnotationAttribute__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21917:1: ( ( ':' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21918:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21761:1: ( ( ':' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21762:1: ( ':' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21918:1: ( ':' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21919:1: ':'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21762:1: ( ':' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21763:1: ':'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
-            match(input,42,FOLLOW_42_in_rule__EnumAnnotationAttribute__Group__3__Impl44216); 
+            match(input,43,FOLLOW_43_in_rule__EnumAnnotationAttribute__Group__3__Impl43908); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3()); 
 
             }
@@ -59451,21 +59215,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21932:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21776:1: rule__EnumAnnotationAttribute__Group__4 : rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 ;
     public final void rule__EnumAnnotationAttribute__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21936:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21937:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21780:1: ( rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21781:2: rule__EnumAnnotationAttribute__Group__4__Impl rule__EnumAnnotationAttribute__Group__5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__444247);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__443939);
             rule__EnumAnnotationAttribute__Group__4__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__444250);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__443942);
             rule__EnumAnnotationAttribute__Group__5();
 
             state._fsp--;
@@ -59489,20 +59253,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21944:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21788:1: rule__EnumAnnotationAttribute__Group__4__Impl : ( '{' ) ;
     public final void rule__EnumAnnotationAttribute__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21948:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21949:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21792:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21793:1: ( '{' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21949:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21950:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21793:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21794:1: '{'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
-            match(input,40,FOLLOW_40_in_rule__EnumAnnotationAttribute__Group__4__Impl44278); 
+            match(input,41,FOLLOW_41_in_rule__EnumAnnotationAttribute__Group__4__Impl43970); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4()); 
 
             }
@@ -59526,21 +59290,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21963:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21807:1: rule__EnumAnnotationAttribute__Group__5 : rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 ;
     public final void rule__EnumAnnotationAttribute__Group__5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21967:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21968:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21811:1: ( rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21812:2: rule__EnumAnnotationAttribute__Group__5__Impl rule__EnumAnnotationAttribute__Group__6
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__544309);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__544001);
             rule__EnumAnnotationAttribute__Group__5__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__544312);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__544004);
             rule__EnumAnnotationAttribute__Group__6();
 
             state._fsp--;
@@ -59564,23 +59328,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__5__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21975:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21819:1: rule__EnumAnnotationAttribute__Group__5__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group__5__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21979:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21980:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21823:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21824:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21980:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21981:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21824:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_5 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21825:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_5()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21982:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21982:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21826:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21826:2: rule__EnumAnnotationAttribute__ValuesAssignment_5
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl44339);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl44031);
             rule__EnumAnnotationAttribute__ValuesAssignment_5();
 
             state._fsp--;
@@ -59611,21 +59375,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21992:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21836:1: rule__EnumAnnotationAttribute__Group__6 : rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 ;
     public final void rule__EnumAnnotationAttribute__Group__6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21996:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21997:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21840:1: ( rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21841:2: rule__EnumAnnotationAttribute__Group__6__Impl rule__EnumAnnotationAttribute__Group__7
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__644369);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__644061);
             rule__EnumAnnotationAttribute__Group__6__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__644372);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__644064);
             rule__EnumAnnotationAttribute__Group__7();
 
             state._fsp--;
@@ -59649,35 +59413,35 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__6__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22004:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21848:1: rule__EnumAnnotationAttribute__Group__6__Impl : ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) ;
     public final void rule__EnumAnnotationAttribute__Group__6__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22008:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22009:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21852:1: ( ( ( rule__EnumAnnotationAttribute__Group_6__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21853:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22009:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22010:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21853:1: ( ( rule__EnumAnnotationAttribute__Group_6__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21854:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getGroup_6()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22011:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21855:1: ( rule__EnumAnnotationAttribute__Group_6__0 )*
             loop194:
             do {
                 int alt194=2;
                 int LA194_0 = input.LA(1);
 
-                if ( (LA194_0==50) ) {
+                if ( (LA194_0==51) ) {
                     alt194=1;
                 }
 
 
                 switch (alt194) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22011:2: rule__EnumAnnotationAttribute__Group_6__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21855:2: rule__EnumAnnotationAttribute__Group_6__0
             	    {
-            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl44399);
+            	    pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl44091);
             	    rule__EnumAnnotationAttribute__Group_6__0();
 
             	    state._fsp--;
@@ -59714,16 +59478,16 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22021:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21865:1: rule__EnumAnnotationAttribute__Group__7 : rule__EnumAnnotationAttribute__Group__7__Impl ;
     public final void rule__EnumAnnotationAttribute__Group__7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22025:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22026:2: rule__EnumAnnotationAttribute__Group__7__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21869:1: ( rule__EnumAnnotationAttribute__Group__7__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21870:2: rule__EnumAnnotationAttribute__Group__7__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__744430);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__744122);
             rule__EnumAnnotationAttribute__Group__7__Impl();
 
             state._fsp--;
@@ -59747,20 +59511,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group__7__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22032:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21876:1: rule__EnumAnnotationAttribute__Group__7__Impl : ( '}' ) ;
     public final void rule__EnumAnnotationAttribute__Group__7__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22036:1: ( ( '}' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22037:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21880:1: ( ( '}' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21881:1: ( '}' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22037:1: ( '}' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22038:1: '}'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21881:1: ( '}' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21882:1: '}'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
-            match(input,41,FOLLOW_41_in_rule__EnumAnnotationAttribute__Group__7__Impl44458); 
+            match(input,42,FOLLOW_42_in_rule__EnumAnnotationAttribute__Group__7__Impl44150); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7()); 
 
             }
@@ -59784,21 +59548,21 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22067:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21911:1: rule__EnumAnnotationAttribute__Group_6__0 : rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 ;
     public final void rule__EnumAnnotationAttribute__Group_6__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22071:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22072:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21915:1: ( rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21916:2: rule__EnumAnnotationAttribute__Group_6__0__Impl rule__EnumAnnotationAttribute__Group_6__1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__044505);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__044197);
             rule__EnumAnnotationAttribute__Group_6__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__044508);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__044200);
             rule__EnumAnnotationAttribute__Group_6__1();
 
             state._fsp--;
@@ -59822,20 +59586,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22079:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21923:1: rule__EnumAnnotationAttribute__Group_6__0__Impl : ( ',' ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22083:1: ( ( ',' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22084:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21927:1: ( ( ',' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21928:1: ( ',' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22084:1: ( ',' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22085:1: ','
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21928:1: ( ',' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21929:1: ','
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
-            match(input,50,FOLLOW_50_in_rule__EnumAnnotationAttribute__Group_6__0__Impl44536); 
+            match(input,51,FOLLOW_51_in_rule__EnumAnnotationAttribute__Group_6__0__Impl44228); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0()); 
 
             }
@@ -59859,16 +59623,16 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22098:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21942:1: rule__EnumAnnotationAttribute__Group_6__1 : rule__EnumAnnotationAttribute__Group_6__1__Impl ;
     public final void rule__EnumAnnotationAttribute__Group_6__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22102:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22103:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21946:1: ( rule__EnumAnnotationAttribute__Group_6__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21947:2: rule__EnumAnnotationAttribute__Group_6__1__Impl
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__144567);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__144259);
             rule__EnumAnnotationAttribute__Group_6__1__Impl();
 
             state._fsp--;
@@ -59892,23 +59656,23 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__Group_6__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22109:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21953:1: rule__EnumAnnotationAttribute__Group_6__1__Impl : ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) ;
     public final void rule__EnumAnnotationAttribute__Group_6__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22113:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22114:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21957:1: ( ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21958:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22114:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22115:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21958:1: ( ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21959:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesAssignment_6_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22116:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22116:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21960:1: ( rule__EnumAnnotationAttribute__ValuesAssignment_6_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21960:2: rule__EnumAnnotationAttribute__ValuesAssignment_6_1
             {
-            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl44594);
+            pushFollow(FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl44286);
             rule__EnumAnnotationAttribute__ValuesAssignment_6_1();
 
             state._fsp--;
@@ -59939,21 +59703,21 @@
 
 
     // $ANTLR start "rule__Import__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22130:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21974:1: rule__Import__Group__0 : rule__Import__Group__0__Impl rule__Import__Group__1 ;
     public final void rule__Import__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22134:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22135:2: rule__Import__Group__0__Impl rule__Import__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21978:1: ( rule__Import__Group__0__Impl rule__Import__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21979:2: rule__Import__Group__0__Impl rule__Import__Group__1
             {
-            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__044628);
+            pushFollow(FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__044320);
             rule__Import__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__044631);
+            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__044323);
             rule__Import__Group__1();
 
             state._fsp--;
@@ -59977,20 +59741,20 @@
 
 
     // $ANTLR start "rule__Import__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22142:1: rule__Import__Group__0__Impl : ( 'import' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21986:1: rule__Import__Group__0__Impl : ( 'import' ) ;
     public final void rule__Import__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22146:1: ( ( 'import' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22147:1: ( 'import' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21990:1: ( ( 'import' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21991:1: ( 'import' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22147:1: ( 'import' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22148:1: 'import'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21991:1: ( 'import' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:21992:1: 'import'
             {
              before(grammarAccess.getImportAccess().getImportKeyword_0()); 
-            match(input,123,FOLLOW_123_in_rule__Import__Group__0__Impl44659); 
+            match(input,124,FOLLOW_124_in_rule__Import__Group__0__Impl44351); 
              after(grammarAccess.getImportAccess().getImportKeyword_0()); 
 
             }
@@ -60014,21 +59778,21 @@
 
 
     // $ANTLR start "rule__Import__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22161:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22005:1: rule__Import__Group__1 : rule__Import__Group__1__Impl rule__Import__Group__2 ;
     public final void rule__Import__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22165:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22166:2: rule__Import__Group__1__Impl rule__Import__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22009:1: ( rule__Import__Group__1__Impl rule__Import__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22010:2: rule__Import__Group__1__Impl rule__Import__Group__2
             {
-            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__144690);
+            pushFollow(FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__144382);
             rule__Import__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__144693);
+            pushFollow(FOLLOW_rule__Import__Group__2_in_rule__Import__Group__144385);
             rule__Import__Group__2();
 
             state._fsp--;
@@ -60052,23 +59816,23 @@
 
 
     // $ANTLR start "rule__Import__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22173:1: rule__Import__Group__1__Impl : ( ( rule__Import__Alternatives_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22017:1: rule__Import__Group__1__Impl : ( ( rule__Import__Alternatives_1 ) ) ;
     public final void rule__Import__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22177:1: ( ( ( rule__Import__Alternatives_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22178:1: ( ( rule__Import__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22021:1: ( ( ( rule__Import__Alternatives_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22022:1: ( ( rule__Import__Alternatives_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22178:1: ( ( rule__Import__Alternatives_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22179:1: ( rule__Import__Alternatives_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22022:1: ( ( rule__Import__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22023:1: ( rule__Import__Alternatives_1 )
             {
              before(grammarAccess.getImportAccess().getAlternatives_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22180:1: ( rule__Import__Alternatives_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22180:2: rule__Import__Alternatives_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22024:1: ( rule__Import__Alternatives_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22024:2: rule__Import__Alternatives_1
             {
-            pushFollow(FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl44720);
+            pushFollow(FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl44412);
             rule__Import__Alternatives_1();
 
             state._fsp--;
@@ -60099,16 +59863,16 @@
 
 
     // $ANTLR start "rule__Import__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22190:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22034:1: rule__Import__Group__2 : rule__Import__Group__2__Impl ;
     public final void rule__Import__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22194:1: ( rule__Import__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22195:2: rule__Import__Group__2__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22038:1: ( rule__Import__Group__2__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22039:2: rule__Import__Group__2__Impl
             {
-            pushFollow(FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__244750);
+            pushFollow(FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__244442);
             rule__Import__Group__2__Impl();
 
             state._fsp--;
@@ -60132,23 +59896,23 @@
 
 
     // $ANTLR start "rule__Import__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22201:1: rule__Import__Group__2__Impl : ( ( rule__Import__ImportURIAssignment_2 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22045:1: rule__Import__Group__2__Impl : ( ( rule__Import__ImportURIAssignment_2 ) ) ;
     public final void rule__Import__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22205:1: ( ( ( rule__Import__ImportURIAssignment_2 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22206:1: ( ( rule__Import__ImportURIAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22049:1: ( ( ( rule__Import__ImportURIAssignment_2 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22050:1: ( ( rule__Import__ImportURIAssignment_2 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22206:1: ( ( rule__Import__ImportURIAssignment_2 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22207:1: ( rule__Import__ImportURIAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22050:1: ( ( rule__Import__ImportURIAssignment_2 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22051:1: ( rule__Import__ImportURIAssignment_2 )
             {
              before(grammarAccess.getImportAccess().getImportURIAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22208:1: ( rule__Import__ImportURIAssignment_2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22208:2: rule__Import__ImportURIAssignment_2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22052:1: ( rule__Import__ImportURIAssignment_2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22052:2: rule__Import__ImportURIAssignment_2
             {
-            pushFollow(FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl44777);
+            pushFollow(FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl44469);
             rule__Import__ImportURIAssignment_2();
 
             state._fsp--;
@@ -60179,21 +59943,21 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22224:1: rule__Import__Group_1_0__0 : rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22068:1: rule__Import__Group_1_0__0 : rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 ;
     public final void rule__Import__Group_1_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22228:1: ( rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22229:2: rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22072:1: ( rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22073:2: rule__Import__Group_1_0__0__Impl rule__Import__Group_1_0__1
             {
-            pushFollow(FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__044813);
+            pushFollow(FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__044505);
             rule__Import__Group_1_0__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__044816);
+            pushFollow(FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__044508);
             rule__Import__Group_1_0__1();
 
             state._fsp--;
@@ -60217,23 +59981,23 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22236:1: rule__Import__Group_1_0__0__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22080:1: rule__Import__Group_1_0__0__Impl : ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) ;
     public final void rule__Import__Group_1_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22240:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22241:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22084:1: ( ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22085:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22241:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22242:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22085:1: ( ( rule__Import__ImportedNamespaceAssignment_1_0_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22086:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
             {
              before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22243:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22243:2: rule__Import__ImportedNamespaceAssignment_1_0_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22087:1: ( rule__Import__ImportedNamespaceAssignment_1_0_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22087:2: rule__Import__ImportedNamespaceAssignment_1_0_0
             {
-            pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl44843);
+            pushFollow(FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl44535);
             rule__Import__ImportedNamespaceAssignment_1_0_0();
 
             state._fsp--;
@@ -60264,16 +60028,16 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22253:1: rule__Import__Group_1_0__1 : rule__Import__Group_1_0__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22097:1: rule__Import__Group_1_0__1 : rule__Import__Group_1_0__1__Impl ;
     public final void rule__Import__Group_1_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22257:1: ( rule__Import__Group_1_0__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22258:2: rule__Import__Group_1_0__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22101:1: ( rule__Import__Group_1_0__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22102:2: rule__Import__Group_1_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__144873);
+            pushFollow(FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__144565);
             rule__Import__Group_1_0__1__Impl();
 
             state._fsp--;
@@ -60297,20 +60061,20 @@
 
 
     // $ANTLR start "rule__Import__Group_1_0__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22264:1: rule__Import__Group_1_0__1__Impl : ( 'from' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22108:1: rule__Import__Group_1_0__1__Impl : ( 'from' ) ;
     public final void rule__Import__Group_1_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22268:1: ( ( 'from' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22269:1: ( 'from' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22112:1: ( ( 'from' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22113:1: ( 'from' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22269:1: ( 'from' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22270:1: 'from'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22113:1: ( 'from' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22114:1: 'from'
             {
              before(grammarAccess.getImportAccess().getFromKeyword_1_0_1()); 
-            match(input,124,FOLLOW_124_in_rule__Import__Group_1_0__1__Impl44901); 
+            match(input,125,FOLLOW_125_in_rule__Import__Group_1_0__1__Impl44593); 
              after(grammarAccess.getImportAccess().getFromKeyword_1_0_1()); 
 
             }
@@ -60334,21 +60098,21 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22287:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22131:1: rule__ImportedFQN__Group__0 : rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 ;
     public final void rule__ImportedFQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22291:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22292:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22135:1: ( rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22136:2: rule__ImportedFQN__Group__0__Impl rule__ImportedFQN__Group__1
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__044936);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__044628);
             rule__ImportedFQN__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__044939);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__044631);
             rule__ImportedFQN__Group__1();
 
             state._fsp--;
@@ -60372,20 +60136,20 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22299:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22143:1: rule__ImportedFQN__Group__0__Impl : ( ruleFQN ) ;
     public final void rule__ImportedFQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22303:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22304:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22147:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22148:1: ( ruleFQN )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22304:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22305:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22148:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22149:1: ruleFQN
             {
              before(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl44966);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl44658);
             ruleFQN();
 
             state._fsp--;
@@ -60413,16 +60177,16 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22316:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22160:1: rule__ImportedFQN__Group__1 : rule__ImportedFQN__Group__1__Impl ;
     public final void rule__ImportedFQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22320:1: ( rule__ImportedFQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22321:2: rule__ImportedFQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22164:1: ( rule__ImportedFQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22165:2: rule__ImportedFQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__144995);
+            pushFollow(FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__144687);
             rule__ImportedFQN__Group__1__Impl();
 
             state._fsp--;
@@ -60446,31 +60210,31 @@
 
 
     // $ANTLR start "rule__ImportedFQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22327:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22171:1: rule__ImportedFQN__Group__1__Impl : ( ( '.*' )? ) ;
     public final void rule__ImportedFQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22331:1: ( ( ( '.*' )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22332:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22175:1: ( ( ( '.*' )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22176:1: ( ( '.*' )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22332:1: ( ( '.*' )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22333:1: ( '.*' )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22176:1: ( ( '.*' )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22177:1: ( '.*' )?
             {
              before(grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22334:1: ( '.*' )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22178:1: ( '.*' )?
             int alt195=2;
             int LA195_0 = input.LA(1);
 
-            if ( (LA195_0==125) ) {
+            if ( (LA195_0==126) ) {
                 alt195=1;
             }
             switch (alt195) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22335:2: '.*'
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22179:2: '.*'
                     {
-                    match(input,125,FOLLOW_125_in_rule__ImportedFQN__Group__1__Impl45024); 
+                    match(input,126,FOLLOW_126_in_rule__ImportedFQN__Group__1__Impl44716); 
 
                     }
                     break;
@@ -60500,21 +60264,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22350:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22194:1: rule__Documentation__Group__0 : rule__Documentation__Group__0__Impl rule__Documentation__Group__1 ;
     public final void rule__Documentation__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22354:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22355:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22198:1: ( rule__Documentation__Group__0__Impl rule__Documentation__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22199:2: rule__Documentation__Group__0__Impl rule__Documentation__Group__1
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__045061);
+            pushFollow(FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__044753);
             rule__Documentation__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__045064);
+            pushFollow(FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__044756);
             rule__Documentation__Group__1();
 
             state._fsp--;
@@ -60538,21 +60302,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22362:1: rule__Documentation__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22206:1: rule__Documentation__Group__0__Impl : ( () ) ;
     public final void rule__Documentation__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22366:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22367:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22210:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22211:1: ( () )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22367:1: ( () )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22368:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22211:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22212:1: ()
             {
              before(grammarAccess.getDocumentationAccess().getDocumentationAction_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22369:1: ()
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22371:1: 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22213:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22215:1: 
             {
             }
 
@@ -60575,21 +60339,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22381:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22225:1: rule__Documentation__Group__1 : rule__Documentation__Group__1__Impl rule__Documentation__Group__2 ;
     public final void rule__Documentation__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22385:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22386:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22229:1: ( rule__Documentation__Group__1__Impl rule__Documentation__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22230:2: rule__Documentation__Group__1__Impl rule__Documentation__Group__2
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__145122);
+            pushFollow(FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__144814);
             rule__Documentation__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__145125);
+            pushFollow(FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__144817);
             rule__Documentation__Group__2();
 
             state._fsp--;
@@ -60613,20 +60377,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22393:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22237:1: rule__Documentation__Group__1__Impl : ( '[' ) ;
     public final void rule__Documentation__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22397:1: ( ( '[' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22398:1: ( '[' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22241:1: ( ( '[' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22242:1: ( '[' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22398:1: ( '[' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22399:1: '['
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22242:1: ( '[' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22243:1: '['
             {
              before(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
-            match(input,58,FOLLOW_58_in_rule__Documentation__Group__1__Impl45153); 
+            match(input,59,FOLLOW_59_in_rule__Documentation__Group__1__Impl44845); 
              after(grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1()); 
 
             }
@@ -60650,21 +60414,21 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22412:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22256:1: rule__Documentation__Group__2 : rule__Documentation__Group__2__Impl rule__Documentation__Group__3 ;
     public final void rule__Documentation__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22416:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22417:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22260:1: ( rule__Documentation__Group__2__Impl rule__Documentation__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22261:2: rule__Documentation__Group__2__Impl rule__Documentation__Group__3
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__245184);
+            pushFollow(FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__244876);
             rule__Documentation__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__245187);
+            pushFollow(FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__244879);
             rule__Documentation__Group__3();
 
             state._fsp--;
@@ -60688,20 +60452,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22424:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22268:1: rule__Documentation__Group__2__Impl : ( ( rule__Documentation__LinesAssignment_2 )* ) ;
     public final void rule__Documentation__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22428:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22429:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22272:1: ( ( ( rule__Documentation__LinesAssignment_2 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22273:1: ( ( rule__Documentation__LinesAssignment_2 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22429:1: ( ( rule__Documentation__LinesAssignment_2 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22430:1: ( rule__Documentation__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22273:1: ( ( rule__Documentation__LinesAssignment_2 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22274:1: ( rule__Documentation__LinesAssignment_2 )*
             {
              before(grammarAccess.getDocumentationAccess().getLinesAssignment_2()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22431:1: ( rule__Documentation__LinesAssignment_2 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22275:1: ( rule__Documentation__LinesAssignment_2 )*
             loop196:
             do {
                 int alt196=2;
@@ -60714,9 +60478,9 @@
 
                 switch (alt196) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22431:2: rule__Documentation__LinesAssignment_2
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22275:2: rule__Documentation__LinesAssignment_2
             	    {
-            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl45214);
+            	    pushFollow(FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl44906);
             	    rule__Documentation__LinesAssignment_2();
 
             	    state._fsp--;
@@ -60753,16 +60517,16 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22441:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22285:1: rule__Documentation__Group__3 : rule__Documentation__Group__3__Impl ;
     public final void rule__Documentation__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22445:1: ( rule__Documentation__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22446:2: rule__Documentation__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22289:1: ( rule__Documentation__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22290:2: rule__Documentation__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__345245);
+            pushFollow(FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__344937);
             rule__Documentation__Group__3__Impl();
 
             state._fsp--;
@@ -60786,20 +60550,20 @@
 
 
     // $ANTLR start "rule__Documentation__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22452:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22296:1: rule__Documentation__Group__3__Impl : ( ']' ) ;
     public final void rule__Documentation__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22456:1: ( ( ']' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22457:1: ( ']' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22300:1: ( ( ']' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22301:1: ( ']' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22457:1: ( ']' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22458:1: ']'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22301:1: ( ']' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22302:1: ']'
             {
              before(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
-            match(input,59,FOLLOW_59_in_rule__Documentation__Group__3__Impl45273); 
+            match(input,60,FOLLOW_60_in_rule__Documentation__Group__3__Impl44965); 
              after(grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3()); 
 
             }
@@ -60823,21 +60587,21 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22485:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22329:1: rule__BooleanLiteral__Group__0 : rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 ;
     public final void rule__BooleanLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22489:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22490:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22333:1: ( rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22334:2: rule__BooleanLiteral__Group__0__Impl rule__BooleanLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__045318);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__045010);
             rule__BooleanLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__045321);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__045013);
             rule__BooleanLiteral__Group__1();
 
             state._fsp--;
@@ -60861,21 +60625,21 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22497:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22341:1: rule__BooleanLiteral__Group__0__Impl : ( () ) ;
     public final void rule__BooleanLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22501:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22502:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22345:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22346:1: ( () )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22502:1: ( () )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22503:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22346:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22347:1: ()
             {
              before(grammarAccess.getBooleanLiteralAccess().getBooleanLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22504:1: ()
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22506:1: 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22348:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22350:1: 
             {
             }
 
@@ -60898,16 +60662,16 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22516:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22360:1: rule__BooleanLiteral__Group__1 : rule__BooleanLiteral__Group__1__Impl ;
     public final void rule__BooleanLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22520:1: ( rule__BooleanLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22521:2: rule__BooleanLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22364:1: ( rule__BooleanLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22365:2: rule__BooleanLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__145379);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__145071);
             rule__BooleanLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -60931,23 +60695,23 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22527:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22371:1: rule__BooleanLiteral__Group__1__Impl : ( ( rule__BooleanLiteral__Alternatives_1 ) ) ;
     public final void rule__BooleanLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22531:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22532:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22375:1: ( ( ( rule__BooleanLiteral__Alternatives_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22376:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22532:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22533:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22376:1: ( ( rule__BooleanLiteral__Alternatives_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22377:1: ( rule__BooleanLiteral__Alternatives_1 )
             {
              before(grammarAccess.getBooleanLiteralAccess().getAlternatives_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22534:1: ( rule__BooleanLiteral__Alternatives_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22534:2: rule__BooleanLiteral__Alternatives_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22378:1: ( rule__BooleanLiteral__Alternatives_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22378:2: rule__BooleanLiteral__Alternatives_1
             {
-            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl45406);
+            pushFollow(FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl45098);
             rule__BooleanLiteral__Alternatives_1();
 
             state._fsp--;
@@ -60978,21 +60742,21 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22548:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22392:1: rule__RealLiteral__Group__0 : rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 ;
     public final void rule__RealLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22552:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22553:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22396:1: ( rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22397:2: rule__RealLiteral__Group__0__Impl rule__RealLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__045440);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__045132);
             rule__RealLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__045443);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__045135);
             rule__RealLiteral__Group__1();
 
             state._fsp--;
@@ -61016,21 +60780,21 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22560:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22404:1: rule__RealLiteral__Group__0__Impl : ( () ) ;
     public final void rule__RealLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22564:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22565:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22408:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22409:1: ( () )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22565:1: ( () )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22566:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22409:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22410:1: ()
             {
              before(grammarAccess.getRealLiteralAccess().getRealLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22567:1: ()
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22569:1: 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22411:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22413:1: 
             {
             }
 
@@ -61053,16 +60817,16 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22579:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22423:1: rule__RealLiteral__Group__1 : rule__RealLiteral__Group__1__Impl ;
     public final void rule__RealLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22583:1: ( rule__RealLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22584:2: rule__RealLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22427:1: ( rule__RealLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22428:2: rule__RealLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__145501);
+            pushFollow(FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__145193);
             rule__RealLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -61086,23 +60850,23 @@
 
 
     // $ANTLR start "rule__RealLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22590:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22434:1: rule__RealLiteral__Group__1__Impl : ( ( rule__RealLiteral__ValueAssignment_1 ) ) ;
     public final void rule__RealLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22594:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22595:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22438:1: ( ( ( rule__RealLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22439:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22595:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22596:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22439:1: ( ( rule__RealLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22440:1: ( rule__RealLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getRealLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22597:1: ( rule__RealLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22597:2: rule__RealLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22441:1: ( rule__RealLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22441:2: rule__RealLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl45528);
+            pushFollow(FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl45220);
             rule__RealLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -61133,21 +60897,21 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22611:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22455:1: rule__IntLiteral__Group__0 : rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 ;
     public final void rule__IntLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22615:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22616:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22459:1: ( rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22460:2: rule__IntLiteral__Group__0__Impl rule__IntLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__045562);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__045254);
             rule__IntLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__045565);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__045257);
             rule__IntLiteral__Group__1();
 
             state._fsp--;
@@ -61171,21 +60935,21 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22623:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22467:1: rule__IntLiteral__Group__0__Impl : ( () ) ;
     public final void rule__IntLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22627:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22628:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22471:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22472:1: ( () )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22628:1: ( () )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22629:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22472:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22473:1: ()
             {
              before(grammarAccess.getIntLiteralAccess().getIntLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22630:1: ()
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22632:1: 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22474:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22476:1: 
             {
             }
 
@@ -61208,16 +60972,16 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22642:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22486:1: rule__IntLiteral__Group__1 : rule__IntLiteral__Group__1__Impl ;
     public final void rule__IntLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22646:1: ( rule__IntLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22647:2: rule__IntLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22490:1: ( rule__IntLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22491:2: rule__IntLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__145623);
+            pushFollow(FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__145315);
             rule__IntLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -61241,23 +61005,23 @@
 
 
     // $ANTLR start "rule__IntLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22653:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22497:1: rule__IntLiteral__Group__1__Impl : ( ( rule__IntLiteral__ValueAssignment_1 ) ) ;
     public final void rule__IntLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22657:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22658:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22501:1: ( ( ( rule__IntLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22502:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22658:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22659:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22502:1: ( ( rule__IntLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22503:1: ( rule__IntLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getIntLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22660:1: ( rule__IntLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22660:2: rule__IntLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22504:1: ( rule__IntLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22504:2: rule__IntLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl45650);
+            pushFollow(FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl45342);
             rule__IntLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -61288,21 +61052,21 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22674:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22518:1: rule__StringLiteral__Group__0 : rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 ;
     public final void rule__StringLiteral__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22678:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22679:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22522:1: ( rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22523:2: rule__StringLiteral__Group__0__Impl rule__StringLiteral__Group__1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__045684);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__045376);
             rule__StringLiteral__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__045687);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__045379);
             rule__StringLiteral__Group__1();
 
             state._fsp--;
@@ -61326,21 +61090,21 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22686:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22530:1: rule__StringLiteral__Group__0__Impl : ( () ) ;
     public final void rule__StringLiteral__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22690:1: ( ( () ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22691:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22534:1: ( ( () ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22535:1: ( () )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22691:1: ( () )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22692:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22535:1: ( () )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22536:1: ()
             {
              before(grammarAccess.getStringLiteralAccess().getStringLiteralAction_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22693:1: ()
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22695:1: 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22537:1: ()
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22539:1: 
             {
             }
 
@@ -61363,16 +61127,16 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22705:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22549:1: rule__StringLiteral__Group__1 : rule__StringLiteral__Group__1__Impl ;
     public final void rule__StringLiteral__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22709:1: ( rule__StringLiteral__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22710:2: rule__StringLiteral__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22553:1: ( rule__StringLiteral__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22554:2: rule__StringLiteral__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__145745);
+            pushFollow(FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__145437);
             rule__StringLiteral__Group__1__Impl();
 
             state._fsp--;
@@ -61396,23 +61160,23 @@
 
 
     // $ANTLR start "rule__StringLiteral__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22716:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22560:1: rule__StringLiteral__Group__1__Impl : ( ( rule__StringLiteral__ValueAssignment_1 ) ) ;
     public final void rule__StringLiteral__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22720:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22721:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22564:1: ( ( ( rule__StringLiteral__ValueAssignment_1 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22565:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22721:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22722:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22565:1: ( ( rule__StringLiteral__ValueAssignment_1 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22566:1: ( rule__StringLiteral__ValueAssignment_1 )
             {
              before(grammarAccess.getStringLiteralAccess().getValueAssignment_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22723:1: ( rule__StringLiteral__ValueAssignment_1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22723:2: rule__StringLiteral__ValueAssignment_1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22567:1: ( rule__StringLiteral__ValueAssignment_1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22567:2: rule__StringLiteral__ValueAssignment_1
             {
-            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl45772);
+            pushFollow(FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl45464);
             rule__StringLiteral__ValueAssignment_1();
 
             state._fsp--;
@@ -61442,23 +61206,23 @@
     // $ANTLR end "rule__StringLiteral__Group__1__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22737:1: rule__SignedInteger__Group__0 : rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 ;
-    public final void rule__SignedInteger__Group__0() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22581:1: rule__Integer__Group_0__0 : rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 ;
+    public final void rule__Integer__Group_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22741:1: ( rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22742:2: rule__SignedInteger__Group__0__Impl rule__SignedInteger__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22585:1: ( rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22586:2: rule__Integer__Group_0__0__Impl rule__Integer__Group_0__1
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__045806);
-            rule__SignedInteger__Group__0__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__045498);
+            rule__Integer__Group_0__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__045809);
-            rule__SignedInteger__Group__1();
+            pushFollow(FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__045501);
+            rule__Integer__Group_0__1();
 
             state._fsp--;
 
@@ -61477,36 +61241,36 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0"
+    // $ANTLR end "rule__Integer__Group_0__0"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22749:1: rule__SignedInteger__Group__0__Impl : ( ( rule__SignedInteger__Alternatives_0 )? ) ;
-    public final void rule__SignedInteger__Group__0__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__0__Impl"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22593:1: rule__Integer__Group_0__0__Impl : ( ( rule__Integer__Alternatives_0_0 )? ) ;
+    public final void rule__Integer__Group_0__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22753:1: ( ( ( rule__SignedInteger__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22754:1: ( ( rule__SignedInteger__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22597:1: ( ( ( rule__Integer__Alternatives_0_0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22598:1: ( ( rule__Integer__Alternatives_0_0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22754:1: ( ( rule__SignedInteger__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22755:1: ( rule__SignedInteger__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22598:1: ( ( rule__Integer__Alternatives_0_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22599:1: ( rule__Integer__Alternatives_0_0 )?
             {
-             before(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22756:1: ( rule__SignedInteger__Alternatives_0 )?
+             before(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22600:1: ( rule__Integer__Alternatives_0_0 )?
             int alt197=2;
             int LA197_0 = input.LA(1);
 
-            if ( ((LA197_0>=27 && LA197_0<=28)) ) {
+            if ( ((LA197_0>=26 && LA197_0<=27)) ) {
                 alt197=1;
             }
             switch (alt197) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22756:2: rule__SignedInteger__Alternatives_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22600:2: rule__Integer__Alternatives_0_0
                     {
-                    pushFollow(FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl45836);
-                    rule__SignedInteger__Alternatives_0();
+                    pushFollow(FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl45528);
+                    rule__Integer__Alternatives_0_0();
 
                     state._fsp--;
 
@@ -61516,7 +61280,7 @@
 
             }
 
-             after(grammarAccess.getSignedIntegerAccess().getAlternatives_0()); 
+             after(grammarAccess.getIntegerAccess().getAlternatives_0_0()); 
 
             }
 
@@ -61535,21 +61299,21 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__0__Impl"
+    // $ANTLR end "rule__Integer__Group_0__0__Impl"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22766:1: rule__SignedInteger__Group__1 : rule__SignedInteger__Group__1__Impl ;
-    public final void rule__SignedInteger__Group__1() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22610:1: rule__Integer__Group_0__1 : rule__Integer__Group_0__1__Impl ;
+    public final void rule__Integer__Group_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22770:1: ( rule__SignedInteger__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22771:2: rule__SignedInteger__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22614:1: ( rule__Integer__Group_0__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22615:2: rule__Integer__Group_0__1__Impl
             {
-            pushFollow(FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__145867);
-            rule__SignedInteger__Group__1__Impl();
+            pushFollow(FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__145559);
+            rule__Integer__Group_0__1__Impl();
 
             state._fsp--;
 
@@ -61568,25 +61332,25 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1"
+    // $ANTLR end "rule__Integer__Group_0__1"
 
 
-    // $ANTLR start "rule__SignedInteger__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22777:1: rule__SignedInteger__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__SignedInteger__Group__1__Impl() throws RecognitionException {
+    // $ANTLR start "rule__Integer__Group_0__1__Impl"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22621:1: rule__Integer__Group_0__1__Impl : ( RULE_INT ) ;
+    public final void rule__Integer__Group_0__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22781:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22782:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22625:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22626:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22782:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22783:1: RULE_INT
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22626:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22627:1: RULE_INT
             {
-             before(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl45894); 
-             after(grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+             before(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl45586); 
+             after(grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
 
             }
 
@@ -61605,25 +61369,25 @@
         }
         return ;
     }
-    // $ANTLR end "rule__SignedInteger__Group__1__Impl"
+    // $ANTLR end "rule__Integer__Group_0__1__Impl"
 
 
     // $ANTLR start "rule__Decimal__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22798:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22642:1: rule__Decimal__Group__0 : rule__Decimal__Group__0__Impl rule__Decimal__Group__1 ;
     public final void rule__Decimal__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22802:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22803:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22646:1: ( rule__Decimal__Group__0__Impl rule__Decimal__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22647:2: rule__Decimal__Group__0__Impl rule__Decimal__Group__1
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__045927);
+            pushFollow(FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__045619);
             rule__Decimal__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__045930);
+            pushFollow(FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__045622);
             rule__Decimal__Group__1();
 
             state._fsp--;
@@ -61647,31 +61411,31 @@
 
 
     // $ANTLR start "rule__Decimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22810:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22654:1: rule__Decimal__Group__0__Impl : ( ( rule__Decimal__Alternatives_0 )? ) ;
     public final void rule__Decimal__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22814:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22815:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22658:1: ( ( ( rule__Decimal__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22659:1: ( ( rule__Decimal__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22815:1: ( ( rule__Decimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22816:1: ( rule__Decimal__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22659:1: ( ( rule__Decimal__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22660:1: ( rule__Decimal__Alternatives_0 )?
             {
              before(grammarAccess.getDecimalAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22817:1: ( rule__Decimal__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22661:1: ( rule__Decimal__Alternatives_0 )?
             int alt198=2;
             int LA198_0 = input.LA(1);
 
-            if ( ((LA198_0>=27 && LA198_0<=28)) ) {
+            if ( ((LA198_0>=26 && LA198_0<=27)) ) {
                 alt198=1;
             }
             switch (alt198) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22817:2: rule__Decimal__Alternatives_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22661:2: rule__Decimal__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl45957);
+                    pushFollow(FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl45649);
                     rule__Decimal__Alternatives_0();
 
                     state._fsp--;
@@ -61705,21 +61469,21 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22827:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22671:1: rule__Decimal__Group__1 : rule__Decimal__Group__1__Impl rule__Decimal__Group__2 ;
     public final void rule__Decimal__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22831:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22832:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22675:1: ( rule__Decimal__Group__1__Impl rule__Decimal__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22676:2: rule__Decimal__Group__1__Impl rule__Decimal__Group__2
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__145988);
+            pushFollow(FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__145680);
             rule__Decimal__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__145991);
+            pushFollow(FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__145683);
             rule__Decimal__Group__2();
 
             state._fsp--;
@@ -61743,20 +61507,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22839:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22683:1: rule__Decimal__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22843:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22844:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22687:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22688:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22844:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22845:1: RULE_INT
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22688:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22689:1: RULE_INT
             {
              before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl46018); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl45710); 
              after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
 
             }
@@ -61780,21 +61544,21 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22856:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22700:1: rule__Decimal__Group__2 : rule__Decimal__Group__2__Impl rule__Decimal__Group__3 ;
     public final void rule__Decimal__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22860:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22861:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22704:1: ( rule__Decimal__Group__2__Impl rule__Decimal__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22705:2: rule__Decimal__Group__2__Impl rule__Decimal__Group__3
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__246047);
+            pushFollow(FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__245739);
             rule__Decimal__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__246050);
+            pushFollow(FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__245742);
             rule__Decimal__Group__3();
 
             state._fsp--;
@@ -61818,20 +61582,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22868:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22712:1: rule__Decimal__Group__2__Impl : ( '.' ) ;
     public final void rule__Decimal__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22872:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22873:1: ( '.' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22716:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22717:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22873:1: ( '.' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22874:1: '.'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22717:1: ( '.' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22718:1: '.'
             {
              before(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
-            match(input,85,FOLLOW_85_in_rule__Decimal__Group__2__Impl46078); 
+            match(input,86,FOLLOW_86_in_rule__Decimal__Group__2__Impl45770); 
              after(grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
 
             }
@@ -61855,16 +61619,16 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22887:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22731:1: rule__Decimal__Group__3 : rule__Decimal__Group__3__Impl ;
     public final void rule__Decimal__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22891:1: ( rule__Decimal__Group__3__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22892:2: rule__Decimal__Group__3__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22735:1: ( rule__Decimal__Group__3__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22736:2: rule__Decimal__Group__3__Impl
             {
-            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__346109);
+            pushFollow(FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__345801);
             rule__Decimal__Group__3__Impl();
 
             state._fsp--;
@@ -61888,20 +61652,20 @@
 
 
     // $ANTLR start "rule__Decimal__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22898:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22742:1: rule__Decimal__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__Decimal__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22902:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22903:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22746:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22747:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22903:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22904:1: RULE_INT
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22747:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22748:1: RULE_INT
             {
              before(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl46136); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl45828); 
              after(grammarAccess.getDecimalAccess().getINTTerminalRuleCall_3()); 
 
             }
@@ -61924,504 +61688,22 @@
     // $ANTLR end "rule__Decimal__Group__3__Impl"
 
 
-    // $ANTLR start "rule__DotDecimal__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22923:1: rule__DotDecimal__Group__0 : rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 ;
-    public final void rule__DotDecimal__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22927:1: ( rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22928:2: rule__DotDecimal__Group__0__Impl rule__DotDecimal__Group__1
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__046173);
-            rule__DotDecimal__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__046176);
-            rule__DotDecimal__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22935:1: rule__DotDecimal__Group__0__Impl : ( ( rule__DotDecimal__Alternatives_0 )? ) ;
-    public final void rule__DotDecimal__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22939:1: ( ( ( rule__DotDecimal__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22940:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22940:1: ( ( rule__DotDecimal__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22941:1: ( rule__DotDecimal__Alternatives_0 )?
-            {
-             before(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22942:1: ( rule__DotDecimal__Alternatives_0 )?
-            int alt199=2;
-            int LA199_0 = input.LA(1);
-
-            if ( ((LA199_0>=27 && LA199_0<=28)) ) {
-                alt199=1;
-            }
-            switch (alt199) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22942:2: rule__DotDecimal__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl46203);
-                    rule__DotDecimal__Alternatives_0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDotDecimalAccess().getAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22952:1: rule__DotDecimal__Group__1 : rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 ;
-    public final void rule__DotDecimal__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22956:1: ( rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22957:2: rule__DotDecimal__Group__1__Impl rule__DotDecimal__Group__2
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__146234);
-            rule__DotDecimal__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__146237);
-            rule__DotDecimal__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22964:1: rule__DotDecimal__Group__1__Impl : ( '.' ) ;
-    public final void rule__DotDecimal__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22968:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22969:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22969:1: ( '.' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22970:1: '.'
-            {
-             before(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-            match(input,85,FOLLOW_85_in_rule__DotDecimal__Group__1__Impl46265); 
-             after(grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22983:1: rule__DotDecimal__Group__2 : rule__DotDecimal__Group__2__Impl ;
-    public final void rule__DotDecimal__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22987:1: ( rule__DotDecimal__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22988:2: rule__DotDecimal__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__246296);
-            rule__DotDecimal__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2"
-
-
-    // $ANTLR start "rule__DotDecimal__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22994:1: rule__DotDecimal__Group__2__Impl : ( RULE_INT ) ;
-    public final void rule__DotDecimal__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22998:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22999:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22999:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23000:1: RULE_INT
-            {
-             before(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl46323); 
-             after(grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DotDecimal__Group__2__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23017:1: rule__DecimalDot__Group__0 : rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 ;
-    public final void rule__DecimalDot__Group__0() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23021:1: ( rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23022:2: rule__DecimalDot__Group__0__Impl rule__DecimalDot__Group__1
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__046358);
-            rule__DecimalDot__Group__0__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__046361);
-            rule__DecimalDot__Group__1();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23029:1: rule__DecimalDot__Group__0__Impl : ( ( rule__DecimalDot__Alternatives_0 )? ) ;
-    public final void rule__DecimalDot__Group__0__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23033:1: ( ( ( rule__DecimalDot__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23034:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23034:1: ( ( rule__DecimalDot__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23035:1: ( rule__DecimalDot__Alternatives_0 )?
-            {
-             before(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23036:1: ( rule__DecimalDot__Alternatives_0 )?
-            int alt200=2;
-            int LA200_0 = input.LA(1);
-
-            if ( ((LA200_0>=27 && LA200_0<=28)) ) {
-                alt200=1;
-            }
-            switch (alt200) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23036:2: rule__DecimalDot__Alternatives_0
-                    {
-                    pushFollow(FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl46388);
-                    rule__DecimalDot__Alternatives_0();
-
-                    state._fsp--;
-
-
-                    }
-                    break;
-
-            }
-
-             after(grammarAccess.getDecimalDotAccess().getAlternatives_0()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__0__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23046:1: rule__DecimalDot__Group__1 : rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 ;
-    public final void rule__DecimalDot__Group__1() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23050:1: ( rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23051:2: rule__DecimalDot__Group__1__Impl rule__DecimalDot__Group__2
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__146419);
-            rule__DecimalDot__Group__1__Impl();
-
-            state._fsp--;
-
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__146422);
-            rule__DecimalDot__Group__2();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23058:1: rule__DecimalDot__Group__1__Impl : ( RULE_INT ) ;
-    public final void rule__DecimalDot__Group__1__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23062:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23063:1: ( RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23063:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23064:1: RULE_INT
-            {
-             before(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl46449); 
-             after(grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__1__Impl"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23075:1: rule__DecimalDot__Group__2 : rule__DecimalDot__Group__2__Impl ;
-    public final void rule__DecimalDot__Group__2() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23079:1: ( rule__DecimalDot__Group__2__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23080:2: rule__DecimalDot__Group__2__Impl
-            {
-            pushFollow(FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__246478);
-            rule__DecimalDot__Group__2__Impl();
-
-            state._fsp--;
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2"
-
-
-    // $ANTLR start "rule__DecimalDot__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23086:1: rule__DecimalDot__Group__2__Impl : ( '.' ) ;
-    public final void rule__DecimalDot__Group__2__Impl() throws RecognitionException {
-
-        		int stackSize = keepStackSize();
-            
-        try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23090:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23091:1: ( '.' )
-            {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23091:1: ( '.' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23092:1: '.'
-            {
-             before(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-            match(input,85,FOLLOW_85_in_rule__DecimalDot__Group__2__Impl46506); 
-             after(grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-
-            }
-
-
-            }
-
-        }
-        catch (RecognitionException re) {
-            reportError(re);
-            recover(input,re);
-        }
-        finally {
-
-            	restoreStackSize(stackSize);
-
-        }
-        return ;
-    }
-    // $ANTLR end "rule__DecimalDot__Group__2__Impl"
-
-
     // $ANTLR start "rule__DecimalExp__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23111:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22767:1: rule__DecimalExp__Group__0 : rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 ;
     public final void rule__DecimalExp__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23115:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23116:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22771:1: ( rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22772:2: rule__DecimalExp__Group__0__Impl rule__DecimalExp__Group__1
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__046543);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__045865);
             rule__DecimalExp__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__046546);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__045868);
             rule__DecimalExp__Group__1();
 
             state._fsp--;
@@ -62445,31 +61727,31 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23123:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22779:1: rule__DecimalExp__Group__0__Impl : ( ( rule__DecimalExp__Alternatives_0 )? ) ;
     public final void rule__DecimalExp__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23127:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23128:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22783:1: ( ( ( rule__DecimalExp__Alternatives_0 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22784:1: ( ( rule__DecimalExp__Alternatives_0 )? )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23128:1: ( ( rule__DecimalExp__Alternatives_0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23129:1: ( rule__DecimalExp__Alternatives_0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22784:1: ( ( rule__DecimalExp__Alternatives_0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22785:1: ( rule__DecimalExp__Alternatives_0 )?
             {
              before(grammarAccess.getDecimalExpAccess().getAlternatives_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23130:1: ( rule__DecimalExp__Alternatives_0 )?
-            int alt201=2;
-            int LA201_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22786:1: ( rule__DecimalExp__Alternatives_0 )?
+            int alt199=2;
+            int LA199_0 = input.LA(1);
 
-            if ( ((LA201_0>=27 && LA201_0<=28)) ) {
-                alt201=1;
+            if ( ((LA199_0>=26 && LA199_0<=27)) ) {
+                alt199=1;
             }
-            switch (alt201) {
+            switch (alt199) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23130:2: rule__DecimalExp__Alternatives_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22786:2: rule__DecimalExp__Alternatives_0
                     {
-                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl46573);
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl45895);
                     rule__DecimalExp__Alternatives_0();
 
                     state._fsp--;
@@ -62503,21 +61785,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23140:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22796:1: rule__DecimalExp__Group__1 : rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 ;
     public final void rule__DecimalExp__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23144:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23145:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22800:1: ( rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22801:2: rule__DecimalExp__Group__1__Impl rule__DecimalExp__Group__2
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__146604);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__145926);
             rule__DecimalExp__Group__1__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__146607);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__145929);
             rule__DecimalExp__Group__2();
 
             state._fsp--;
@@ -62541,20 +61823,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23152:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22808:1: rule__DecimalExp__Group__1__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23156:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23157:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22812:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22813:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23157:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23158:1: RULE_INT
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22813:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22814:1: RULE_INT
             {
              before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl46634); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl45956); 
              after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
 
             }
@@ -62578,21 +61860,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23169:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22825:1: rule__DecimalExp__Group__2 : rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 ;
     public final void rule__DecimalExp__Group__2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23173:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23174:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22829:1: ( rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22830:2: rule__DecimalExp__Group__2__Impl rule__DecimalExp__Group__3
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__246663);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__245985);
             rule__DecimalExp__Group__2__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__246666);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__245988);
             rule__DecimalExp__Group__3();
 
             state._fsp--;
@@ -62616,20 +61898,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__2__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23181:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22837:1: rule__DecimalExp__Group__2__Impl : ( '.' ) ;
     public final void rule__DecimalExp__Group__2__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23185:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23186:1: ( '.' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22841:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22842:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23186:1: ( '.' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23187:1: '.'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22842:1: ( '.' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22843:1: '.'
             {
              before(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
-            match(input,85,FOLLOW_85_in_rule__DecimalExp__Group__2__Impl46694); 
+            match(input,86,FOLLOW_86_in_rule__DecimalExp__Group__2__Impl46016); 
              after(grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
 
             }
@@ -62653,21 +61935,21 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23200:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22856:1: rule__DecimalExp__Group__3 : rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 ;
     public final void rule__DecimalExp__Group__3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23204:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23205:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22860:1: ( rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22861:2: rule__DecimalExp__Group__3__Impl rule__DecimalExp__Group__4
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__346725);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__346047);
             rule__DecimalExp__Group__3__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__346728);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__346050);
             rule__DecimalExp__Group__4();
 
             state._fsp--;
@@ -62691,20 +61973,20 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__3__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23212:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22868:1: rule__DecimalExp__Group__3__Impl : ( RULE_INT ) ;
     public final void rule__DecimalExp__Group__3__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23216:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23217:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22872:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22873:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23217:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23218:1: RULE_INT
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22873:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22874:1: RULE_INT
             {
              before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl46755); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl46077); 
              after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
 
             }
@@ -62728,20 +62010,25 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23229:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22885:1: rule__DecimalExp__Group__4 : rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 ;
     public final void rule__DecimalExp__Group__4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23233:1: ( rule__DecimalExp__Group__4__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23234:2: rule__DecimalExp__Group__4__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22889:1: ( rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22890:2: rule__DecimalExp__Group__4__Impl rule__DecimalExp__Group__5
             {
-            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__446784);
+            pushFollow(FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__446106);
             rule__DecimalExp__Group__4__Impl();
 
             state._fsp--;
 
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__446109);
+            rule__DecimalExp__Group__5();
+
+            state._fsp--;
+
 
             }
 
@@ -62761,21 +62048,31 @@
 
 
     // $ANTLR start "rule__DecimalExp__Group__4__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23240:1: rule__DecimalExp__Group__4__Impl : ( RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22897:1: rule__DecimalExp__Group__4__Impl : ( ( rule__DecimalExp__Alternatives_4 ) ) ;
     public final void rule__DecimalExp__Group__4__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23244:1: ( ( RULE_EXP ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23245:1: ( RULE_EXP )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22901:1: ( ( ( rule__DecimalExp__Alternatives_4 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22902:1: ( ( rule__DecimalExp__Alternatives_4 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23245:1: ( RULE_EXP )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23246:1: RULE_EXP
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22902:1: ( ( rule__DecimalExp__Alternatives_4 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22903:1: ( rule__DecimalExp__Alternatives_4 )
             {
-             before(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
-            match(input,RULE_EXP,FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl46811); 
-             after(grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+             before(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22904:1: ( rule__DecimalExp__Alternatives_4 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22904:2: rule__DecimalExp__Alternatives_4
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl46136);
+            rule__DecimalExp__Alternatives_4();
+
+            state._fsp--;
+
+
+            }
+
+             after(grammarAccess.getDecimalExpAccess().getAlternatives_4()); 
 
             }
 
@@ -62797,22 +62094,188 @@
     // $ANTLR end "rule__DecimalExp__Group__4__Impl"
 
 
+    // $ANTLR start "rule__DecimalExp__Group__5"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22914:1: rule__DecimalExp__Group__5 : rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 ;
+    public final void rule__DecimalExp__Group__5() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22918:1: ( rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22919:2: rule__DecimalExp__Group__5__Impl rule__DecimalExp__Group__6
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__546166);
+            rule__DecimalExp__Group__5__Impl();
+
+            state._fsp--;
+
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__546169);
+            rule__DecimalExp__Group__6();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__5__Impl"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22926:1: rule__DecimalExp__Group__5__Impl : ( ( rule__DecimalExp__Alternatives_5 )? ) ;
+    public final void rule__DecimalExp__Group__5__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22930:1: ( ( ( rule__DecimalExp__Alternatives_5 )? ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22931:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            {
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22931:1: ( ( rule__DecimalExp__Alternatives_5 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22932:1: ( rule__DecimalExp__Alternatives_5 )?
+            {
+             before(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22933:1: ( rule__DecimalExp__Alternatives_5 )?
+            int alt200=2;
+            int LA200_0 = input.LA(1);
+
+            if ( ((LA200_0>=26 && LA200_0<=27)) ) {
+                alt200=1;
+            }
+            switch (alt200) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22933:2: rule__DecimalExp__Alternatives_5
+                    {
+                    pushFollow(FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl46196);
+                    rule__DecimalExp__Alternatives_5();
+
+                    state._fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+             after(grammarAccess.getDecimalExpAccess().getAlternatives_5()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__5__Impl"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22943:1: rule__DecimalExp__Group__6 : rule__DecimalExp__Group__6__Impl ;
+    public final void rule__DecimalExp__Group__6() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22947:1: ( rule__DecimalExp__Group__6__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22948:2: rule__DecimalExp__Group__6__Impl
+            {
+            pushFollow(FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__646227);
+            rule__DecimalExp__Group__6__Impl();
+
+            state._fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6"
+
+
+    // $ANTLR start "rule__DecimalExp__Group__6__Impl"
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22954:1: rule__DecimalExp__Group__6__Impl : ( RULE_INT ) ;
+    public final void rule__DecimalExp__Group__6__Impl() throws RecognitionException {
+
+        		int stackSize = keepStackSize();
+            
+        try {
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22958:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22959:1: ( RULE_INT )
+            {
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22959:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22960:1: RULE_INT
+            {
+             before(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl46254); 
+             after(grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+
+            	restoreStackSize(stackSize);
+
+        }
+        return ;
+    }
+    // $ANTLR end "rule__DecimalExp__Group__6__Impl"
+
+
     // $ANTLR start "rule__FQN__Group__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23267:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22985:1: rule__FQN__Group__0 : rule__FQN__Group__0__Impl rule__FQN__Group__1 ;
     public final void rule__FQN__Group__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23271:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23272:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22989:1: ( rule__FQN__Group__0__Impl rule__FQN__Group__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22990:2: rule__FQN__Group__0__Impl rule__FQN__Group__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__046850);
+            pushFollow(FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__046297);
             rule__FQN__Group__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__046853);
+            pushFollow(FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__046300);
             rule__FQN__Group__1();
 
             state._fsp--;
@@ -62836,20 +62299,20 @@
 
 
     // $ANTLR start "rule__FQN__Group__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23279:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:22997:1: rule__FQN__Group__0__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23283:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23284:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23001:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23002:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23284:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23285:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23002:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23003:1: RULE_ID
             {
              before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl46880); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl46327); 
              after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
 
             }
@@ -62873,16 +62336,16 @@
 
 
     // $ANTLR start "rule__FQN__Group__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23296:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23014:1: rule__FQN__Group__1 : rule__FQN__Group__1__Impl ;
     public final void rule__FQN__Group__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23300:1: ( rule__FQN__Group__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23301:2: rule__FQN__Group__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23018:1: ( rule__FQN__Group__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23019:2: rule__FQN__Group__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__146909);
+            pushFollow(FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__146356);
             rule__FQN__Group__1__Impl();
 
             state._fsp--;
@@ -62906,35 +62369,35 @@
 
 
     // $ANTLR start "rule__FQN__Group__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23307:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23025:1: rule__FQN__Group__1__Impl : ( ( rule__FQN__Group_1__0 )* ) ;
     public final void rule__FQN__Group__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23311:1: ( ( ( rule__FQN__Group_1__0 )* ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23312:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23029:1: ( ( ( rule__FQN__Group_1__0 )* ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23030:1: ( ( rule__FQN__Group_1__0 )* )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23312:1: ( ( rule__FQN__Group_1__0 )* )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23313:1: ( rule__FQN__Group_1__0 )*
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23030:1: ( ( rule__FQN__Group_1__0 )* )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23031:1: ( rule__FQN__Group_1__0 )*
             {
              before(grammarAccess.getFQNAccess().getGroup_1()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23314:1: ( rule__FQN__Group_1__0 )*
-            loop202:
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23032:1: ( rule__FQN__Group_1__0 )*
+            loop201:
             do {
-                int alt202=2;
-                int LA202_0 = input.LA(1);
+                int alt201=2;
+                int LA201_0 = input.LA(1);
 
-                if ( (LA202_0==85) ) {
-                    alt202=1;
+                if ( (LA201_0==86) ) {
+                    alt201=1;
                 }
 
 
-                switch (alt202) {
+                switch (alt201) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23314:2: rule__FQN__Group_1__0
+            	    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23032:2: rule__FQN__Group_1__0
             	    {
-            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl46936);
+            	    pushFollow(FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl46383);
             	    rule__FQN__Group_1__0();
 
             	    state._fsp--;
@@ -62944,7 +62407,7 @@
             	    break;
 
             	default :
-            	    break loop202;
+            	    break loop201;
                 }
             } while (true);
 
@@ -62971,21 +62434,21 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23328:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23046:1: rule__FQN__Group_1__0 : rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 ;
     public final void rule__FQN__Group_1__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23332:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23333:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23050:1: ( rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23051:2: rule__FQN__Group_1__0__Impl rule__FQN__Group_1__1
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__046971);
+            pushFollow(FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__046418);
             rule__FQN__Group_1__0__Impl();
 
             state._fsp--;
 
-            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__046974);
+            pushFollow(FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__046421);
             rule__FQN__Group_1__1();
 
             state._fsp--;
@@ -63009,20 +62472,20 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23340:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23058:1: rule__FQN__Group_1__0__Impl : ( '.' ) ;
     public final void rule__FQN__Group_1__0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23344:1: ( ( '.' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23345:1: ( '.' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23062:1: ( ( '.' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23063:1: ( '.' )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23345:1: ( '.' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23346:1: '.'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23063:1: ( '.' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23064:1: '.'
             {
              before(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
-            match(input,85,FOLLOW_85_in_rule__FQN__Group_1__0__Impl47002); 
+            match(input,86,FOLLOW_86_in_rule__FQN__Group_1__0__Impl46449); 
              after(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
 
             }
@@ -63046,16 +62509,16 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23359:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23077:1: rule__FQN__Group_1__1 : rule__FQN__Group_1__1__Impl ;
     public final void rule__FQN__Group_1__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23363:1: ( rule__FQN__Group_1__1__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23364:2: rule__FQN__Group_1__1__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23081:1: ( rule__FQN__Group_1__1__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23082:2: rule__FQN__Group_1__1__Impl
             {
-            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__147033);
+            pushFollow(FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__146480);
             rule__FQN__Group_1__1__Impl();
 
             state._fsp--;
@@ -63079,20 +62542,20 @@
 
 
     // $ANTLR start "rule__FQN__Group_1__1__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23370:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23088:1: rule__FQN__Group_1__1__Impl : ( RULE_ID ) ;
     public final void rule__FQN__Group_1__1__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23374:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23375:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23092:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23093:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23375:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23376:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23093:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23094:1: RULE_ID
             {
              before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl47060); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl46507); 
              after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); 
 
             }
@@ -63116,31 +62579,31 @@
 
 
     // $ANTLR start "rule__ActorClass__UnorderedGroup_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23392:1: rule__ActorClass__UnorderedGroup_0 : ( rule__ActorClass__UnorderedGroup_0__0 )? ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23110:1: rule__ActorClass__UnorderedGroup_0 : ( rule__ActorClass__UnorderedGroup_0__0 )? ;
     public final void rule__ActorClass__UnorderedGroup_0() throws RecognitionException {
 
             	int stackSize = keepStackSize();
         		getUnorderedGroupHelper().enter(grammarAccess.getActorClassAccess().getUnorderedGroup_0());
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23397:1: ( ( rule__ActorClass__UnorderedGroup_0__0 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23398:2: ( rule__ActorClass__UnorderedGroup_0__0 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23115:1: ( ( rule__ActorClass__UnorderedGroup_0__0 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23116:2: ( rule__ActorClass__UnorderedGroup_0__0 )?
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23398:2: ( rule__ActorClass__UnorderedGroup_0__0 )?
-            int alt203=2;
-            int LA203_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23116:2: ( rule__ActorClass__UnorderedGroup_0__0 )?
+            int alt202=2;
+            int LA202_0 = input.LA(1);
 
-            if ( LA203_0 ==128 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 0) ) {
-                alt203=1;
+            if ( LA202_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 0) ) {
+                alt202=1;
             }
-            else if ( ( LA203_0 >=29 && LA203_0<=31 ||LA203_0==34 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 1) ) {
-                alt203=1;
+            else if ( ( LA202_0 >=30 && LA202_0<=32 ||LA202_0==35 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 1) ) {
+                alt202=1;
             }
-            switch (alt203) {
+            switch (alt202) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23398:2: rule__ActorClass__UnorderedGroup_0__0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23116:2: rule__ActorClass__UnorderedGroup_0__0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__UnorderedGroup_0__0_in_rule__ActorClass__UnorderedGroup_047094);
+                    pushFollow(FOLLOW_rule__ActorClass__UnorderedGroup_0__0_in_rule__ActorClass__UnorderedGroup_046541);
                     rule__ActorClass__UnorderedGroup_0__0();
 
                     state._fsp--;
@@ -63171,44 +62634,44 @@
 
 
     // $ANTLR start "rule__ActorClass__UnorderedGroup_0__Impl"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23408:1: rule__ActorClass__UnorderedGroup_0__Impl : ( ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23126:1: rule__ActorClass__UnorderedGroup_0__Impl : ( ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) ) ) ;
     public final void rule__ActorClass__UnorderedGroup_0__Impl() throws RecognitionException {
 
         		int stackSize = keepStackSize();
         		boolean selected = false;
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23413:1: ( ( ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23414:3: ( ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23131:1: ( ( ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23132:3: ( ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23414:3: ( ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) ) )
-            int alt204=2;
-            int LA204_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23132:3: ( ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) ) | ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) ) )
+            int alt203=2;
+            int LA203_0 = input.LA(1);
 
-            if ( LA204_0 ==128 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 0) ) {
-                alt204=1;
+            if ( LA203_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 0) ) {
+                alt203=1;
             }
-            else if ( ( LA204_0 >=29 && LA204_0<=31 ||LA204_0==34 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 1) ) {
-                alt204=2;
+            else if ( ( LA203_0 >=30 && LA203_0<=32 ||LA203_0==35 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 1) ) {
+                alt203=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 204, 0, input);
+                    new NoViableAltException("", 203, 0, input);
 
                 throw nvae;
             }
-            switch (alt204) {
+            switch (alt203) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23416:4: ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23134:4: ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23416:4: ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23417:5: {...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23134:4: ({...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23135:5: {...}? => ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 0) ) {
                         throw new FailedPredicateException(input, "rule__ActorClass__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 0)");
                     }
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23417:107: ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23418:6: ( ( rule__ActorClass__AbstractAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23135:107: ( ( ( rule__ActorClass__AbstractAssignment_0_0 ) ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23136:6: ( ( rule__ActorClass__AbstractAssignment_0_0 ) )
                     {
                      
                     	 				  getUnorderedGroupHelper().select(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 0);
@@ -63216,14 +62679,14 @@
 
                     	 				  selected = true;
                     	 				
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23424:6: ( ( rule__ActorClass__AbstractAssignment_0_0 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23426:7: ( rule__ActorClass__AbstractAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23142:6: ( ( rule__ActorClass__AbstractAssignment_0_0 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23144:7: ( rule__ActorClass__AbstractAssignment_0_0 )
                     {
                      before(grammarAccess.getActorClassAccess().getAbstractAssignment_0_0()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23427:7: ( rule__ActorClass__AbstractAssignment_0_0 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23427:8: rule__ActorClass__AbstractAssignment_0_0
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23145:7: ( rule__ActorClass__AbstractAssignment_0_0 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23145:8: rule__ActorClass__AbstractAssignment_0_0
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__AbstractAssignment_0_0_in_rule__ActorClass__UnorderedGroup_0__Impl47181);
+                    pushFollow(FOLLOW_rule__ActorClass__AbstractAssignment_0_0_in_rule__ActorClass__UnorderedGroup_0__Impl46628);
                     rule__ActorClass__AbstractAssignment_0_0();
 
                     state._fsp--;
@@ -63245,16 +62708,16 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23433:4: ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23151:4: ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) )
                     {
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23433:4: ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23434:5: {...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23151:4: ({...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23152:5: {...}? => ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) )
                     {
                     if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 1) ) {
                         throw new FailedPredicateException(input, "rule__ActorClass__UnorderedGroup_0__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 1)");
                     }
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23434:107: ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23435:6: ( ( rule__ActorClass__CommTypeAssignment_0_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23152:107: ( ( ( rule__ActorClass__CommTypeAssignment_0_1 ) ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23153:6: ( ( rule__ActorClass__CommTypeAssignment_0_1 ) )
                     {
                      
                     	 				  getUnorderedGroupHelper().select(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 1);
@@ -63262,14 +62725,14 @@
 
                     	 				  selected = true;
                     	 				
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23441:6: ( ( rule__ActorClass__CommTypeAssignment_0_1 ) )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23443:7: ( rule__ActorClass__CommTypeAssignment_0_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23159:6: ( ( rule__ActorClass__CommTypeAssignment_0_1 ) )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23161:7: ( rule__ActorClass__CommTypeAssignment_0_1 )
                     {
                      before(grammarAccess.getActorClassAccess().getCommTypeAssignment_0_1()); 
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23444:7: ( rule__ActorClass__CommTypeAssignment_0_1 )
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23444:8: rule__ActorClass__CommTypeAssignment_0_1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23162:7: ( rule__ActorClass__CommTypeAssignment_0_1 )
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23162:8: rule__ActorClass__CommTypeAssignment_0_1
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__CommTypeAssignment_0_1_in_rule__ActorClass__UnorderedGroup_0__Impl47272);
+                    pushFollow(FOLLOW_rule__ActorClass__CommTypeAssignment_0_1_in_rule__ActorClass__UnorderedGroup_0__Impl46719);
                     rule__ActorClass__CommTypeAssignment_0_1();
 
                     state._fsp--;
@@ -63314,35 +62777,35 @@
 
 
     // $ANTLR start "rule__ActorClass__UnorderedGroup_0__0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23459:1: rule__ActorClass__UnorderedGroup_0__0 : rule__ActorClass__UnorderedGroup_0__Impl ( rule__ActorClass__UnorderedGroup_0__1 )? ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23177:1: rule__ActorClass__UnorderedGroup_0__0 : rule__ActorClass__UnorderedGroup_0__Impl ( rule__ActorClass__UnorderedGroup_0__1 )? ;
     public final void rule__ActorClass__UnorderedGroup_0__0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23463:1: ( rule__ActorClass__UnorderedGroup_0__Impl ( rule__ActorClass__UnorderedGroup_0__1 )? )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23464:2: rule__ActorClass__UnorderedGroup_0__Impl ( rule__ActorClass__UnorderedGroup_0__1 )?
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23181:1: ( rule__ActorClass__UnorderedGroup_0__Impl ( rule__ActorClass__UnorderedGroup_0__1 )? )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23182:2: rule__ActorClass__UnorderedGroup_0__Impl ( rule__ActorClass__UnorderedGroup_0__1 )?
             {
-            pushFollow(FOLLOW_rule__ActorClass__UnorderedGroup_0__Impl_in_rule__ActorClass__UnorderedGroup_0__047331);
+            pushFollow(FOLLOW_rule__ActorClass__UnorderedGroup_0__Impl_in_rule__ActorClass__UnorderedGroup_0__046778);
             rule__ActorClass__UnorderedGroup_0__Impl();
 
             state._fsp--;
 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23465:2: ( rule__ActorClass__UnorderedGroup_0__1 )?
-            int alt205=2;
-            int LA205_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23183:2: ( rule__ActorClass__UnorderedGroup_0__1 )?
+            int alt204=2;
+            int LA204_0 = input.LA(1);
 
-            if ( LA205_0 ==128 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 0) ) {
-                alt205=1;
+            if ( LA204_0 ==129 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 0) ) {
+                alt204=1;
             }
-            else if ( ( LA205_0 >=29 && LA205_0<=31 ||LA205_0==34 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 1) ) {
-                alt205=1;
+            else if ( ( LA204_0 >=30 && LA204_0<=32 ||LA204_0==35 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 1) ) {
+                alt204=1;
             }
-            switch (alt205) {
+            switch (alt204) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23465:2: rule__ActorClass__UnorderedGroup_0__1
+                    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23183:2: rule__ActorClass__UnorderedGroup_0__1
                     {
-                    pushFollow(FOLLOW_rule__ActorClass__UnorderedGroup_0__1_in_rule__ActorClass__UnorderedGroup_0__047334);
+                    pushFollow(FOLLOW_rule__ActorClass__UnorderedGroup_0__1_in_rule__ActorClass__UnorderedGroup_0__046781);
                     rule__ActorClass__UnorderedGroup_0__1();
 
                     state._fsp--;
@@ -63372,16 +62835,16 @@
 
 
     // $ANTLR start "rule__ActorClass__UnorderedGroup_0__1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23472:1: rule__ActorClass__UnorderedGroup_0__1 : rule__ActorClass__UnorderedGroup_0__Impl ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23190:1: rule__ActorClass__UnorderedGroup_0__1 : rule__ActorClass__UnorderedGroup_0__Impl ;
     public final void rule__ActorClass__UnorderedGroup_0__1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23476:1: ( rule__ActorClass__UnorderedGroup_0__Impl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23477:2: rule__ActorClass__UnorderedGroup_0__Impl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23194:1: ( rule__ActorClass__UnorderedGroup_0__Impl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23195:2: rule__ActorClass__UnorderedGroup_0__Impl
             {
-            pushFollow(FOLLOW_rule__ActorClass__UnorderedGroup_0__Impl_in_rule__ActorClass__UnorderedGroup_0__147359);
+            pushFollow(FOLLOW_rule__ActorClass__UnorderedGroup_0__Impl_in_rule__ActorClass__UnorderedGroup_0__146806);
             rule__ActorClass__UnorderedGroup_0__Impl();
 
             state._fsp--;
@@ -63405,20 +62868,20 @@
 
 
     // $ANTLR start "rule__RoomModel__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23488:1: rule__RoomModel__NameAssignment_1 : ( ruleFQN ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23206:1: rule__RoomModel__NameAssignment_1 : ( ruleFQN ) ;
     public final void rule__RoomModel__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23492:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23493:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23210:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23211:1: ( ruleFQN )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23493:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23494:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23211:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23212:1: ruleFQN
             {
              before(grammarAccess.getRoomModelAccess().getNameFQNParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__RoomModel__NameAssignment_147391);
+            pushFollow(FOLLOW_ruleFQN_in_rule__RoomModel__NameAssignment_146838);
             ruleFQN();
 
             state._fsp--;
@@ -63446,20 +62909,20 @@
 
 
     // $ANTLR start "rule__RoomModel__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23503:1: rule__RoomModel__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23221:1: rule__RoomModel__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__RoomModel__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23507:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23508:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23225:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23226:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23508:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23509:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23226:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23227:1: ruleDocumentation
             {
              before(grammarAccess.getRoomModelAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__RoomModel__DocuAssignment_247422);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__RoomModel__DocuAssignment_246869);
             ruleDocumentation();
 
             state._fsp--;
@@ -63487,20 +62950,20 @@
 
 
     // $ANTLR start "rule__RoomModel__ImportsAssignment_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23518:1: rule__RoomModel__ImportsAssignment_4 : ( ruleImport ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23236:1: rule__RoomModel__ImportsAssignment_4 : ( ruleImport ) ;
     public final void rule__RoomModel__ImportsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23522:1: ( ( ruleImport ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23523:1: ( ruleImport )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23240:1: ( ( ruleImport ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23241:1: ( ruleImport )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23523:1: ( ruleImport )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23524:1: ruleImport
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23241:1: ( ruleImport )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23242:1: ruleImport
             {
              before(grammarAccess.getRoomModelAccess().getImportsImportParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleImport_in_rule__RoomModel__ImportsAssignment_447453);
+            pushFollow(FOLLOW_ruleImport_in_rule__RoomModel__ImportsAssignment_446900);
             ruleImport();
 
             state._fsp--;
@@ -63528,20 +62991,20 @@
 
 
     // $ANTLR start "rule__RoomModel__PrimitiveTypesAssignment_5_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23533:1: rule__RoomModel__PrimitiveTypesAssignment_5_0 : ( rulePrimitiveType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23251:1: rule__RoomModel__PrimitiveTypesAssignment_5_0 : ( rulePrimitiveType ) ;
     public final void rule__RoomModel__PrimitiveTypesAssignment_5_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23537:1: ( ( rulePrimitiveType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23538:1: ( rulePrimitiveType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23255:1: ( ( rulePrimitiveType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23256:1: ( rulePrimitiveType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23538:1: ( rulePrimitiveType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23539:1: rulePrimitiveType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23256:1: ( rulePrimitiveType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23257:1: rulePrimitiveType
             {
              before(grammarAccess.getRoomModelAccess().getPrimitiveTypesPrimitiveTypeParserRuleCall_5_0_0()); 
-            pushFollow(FOLLOW_rulePrimitiveType_in_rule__RoomModel__PrimitiveTypesAssignment_5_047484);
+            pushFollow(FOLLOW_rulePrimitiveType_in_rule__RoomModel__PrimitiveTypesAssignment_5_046931);
             rulePrimitiveType();
 
             state._fsp--;
@@ -63569,20 +63032,20 @@
 
 
     // $ANTLR start "rule__RoomModel__EnumerationTypesAssignment_5_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23548:1: rule__RoomModel__EnumerationTypesAssignment_5_1 : ( ruleEnumerationType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23266:1: rule__RoomModel__EnumerationTypesAssignment_5_1 : ( ruleEnumerationType ) ;
     public final void rule__RoomModel__EnumerationTypesAssignment_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23552:1: ( ( ruleEnumerationType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23553:1: ( ruleEnumerationType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23270:1: ( ( ruleEnumerationType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23271:1: ( ruleEnumerationType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23553:1: ( ruleEnumerationType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23554:1: ruleEnumerationType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23271:1: ( ruleEnumerationType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23272:1: ruleEnumerationType
             {
              before(grammarAccess.getRoomModelAccess().getEnumerationTypesEnumerationTypeParserRuleCall_5_1_0()); 
-            pushFollow(FOLLOW_ruleEnumerationType_in_rule__RoomModel__EnumerationTypesAssignment_5_147515);
+            pushFollow(FOLLOW_ruleEnumerationType_in_rule__RoomModel__EnumerationTypesAssignment_5_146962);
             ruleEnumerationType();
 
             state._fsp--;
@@ -63610,20 +63073,20 @@
 
 
     // $ANTLR start "rule__RoomModel__ExternalTypesAssignment_5_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23563:1: rule__RoomModel__ExternalTypesAssignment_5_2 : ( ruleExternalType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23281:1: rule__RoomModel__ExternalTypesAssignment_5_2 : ( ruleExternalType ) ;
     public final void rule__RoomModel__ExternalTypesAssignment_5_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23567:1: ( ( ruleExternalType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23568:1: ( ruleExternalType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23285:1: ( ( ruleExternalType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23286:1: ( ruleExternalType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23568:1: ( ruleExternalType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23569:1: ruleExternalType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23286:1: ( ruleExternalType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23287:1: ruleExternalType
             {
              before(grammarAccess.getRoomModelAccess().getExternalTypesExternalTypeParserRuleCall_5_2_0()); 
-            pushFollow(FOLLOW_ruleExternalType_in_rule__RoomModel__ExternalTypesAssignment_5_247546);
+            pushFollow(FOLLOW_ruleExternalType_in_rule__RoomModel__ExternalTypesAssignment_5_246993);
             ruleExternalType();
 
             state._fsp--;
@@ -63651,20 +63114,20 @@
 
 
     // $ANTLR start "rule__RoomModel__DataClassesAssignment_5_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23578:1: rule__RoomModel__DataClassesAssignment_5_3 : ( ruleDataClass ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23296:1: rule__RoomModel__DataClassesAssignment_5_3 : ( ruleDataClass ) ;
     public final void rule__RoomModel__DataClassesAssignment_5_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23582:1: ( ( ruleDataClass ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23583:1: ( ruleDataClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23300:1: ( ( ruleDataClass ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23301:1: ( ruleDataClass )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23583:1: ( ruleDataClass )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23584:1: ruleDataClass
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23301:1: ( ruleDataClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23302:1: ruleDataClass
             {
              before(grammarAccess.getRoomModelAccess().getDataClassesDataClassParserRuleCall_5_3_0()); 
-            pushFollow(FOLLOW_ruleDataClass_in_rule__RoomModel__DataClassesAssignment_5_347577);
+            pushFollow(FOLLOW_ruleDataClass_in_rule__RoomModel__DataClassesAssignment_5_347024);
             ruleDataClass();
 
             state._fsp--;
@@ -63692,20 +63155,20 @@
 
 
     // $ANTLR start "rule__RoomModel__ProtocolClassesAssignment_5_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23593:1: rule__RoomModel__ProtocolClassesAssignment_5_4 : ( ruleGeneralProtocolClass ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23311:1: rule__RoomModel__ProtocolClassesAssignment_5_4 : ( ruleGeneralProtocolClass ) ;
     public final void rule__RoomModel__ProtocolClassesAssignment_5_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23597:1: ( ( ruleGeneralProtocolClass ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23598:1: ( ruleGeneralProtocolClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23315:1: ( ( ruleGeneralProtocolClass ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23316:1: ( ruleGeneralProtocolClass )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23598:1: ( ruleGeneralProtocolClass )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23599:1: ruleGeneralProtocolClass
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23316:1: ( ruleGeneralProtocolClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23317:1: ruleGeneralProtocolClass
             {
              before(grammarAccess.getRoomModelAccess().getProtocolClassesGeneralProtocolClassParserRuleCall_5_4_0()); 
-            pushFollow(FOLLOW_ruleGeneralProtocolClass_in_rule__RoomModel__ProtocolClassesAssignment_5_447608);
+            pushFollow(FOLLOW_ruleGeneralProtocolClass_in_rule__RoomModel__ProtocolClassesAssignment_5_447055);
             ruleGeneralProtocolClass();
 
             state._fsp--;
@@ -63733,20 +63196,20 @@
 
 
     // $ANTLR start "rule__RoomModel__ActorClassesAssignment_5_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23608:1: rule__RoomModel__ActorClassesAssignment_5_5 : ( ruleActorClass ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23326:1: rule__RoomModel__ActorClassesAssignment_5_5 : ( ruleActorClass ) ;
     public final void rule__RoomModel__ActorClassesAssignment_5_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23612:1: ( ( ruleActorClass ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23613:1: ( ruleActorClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23330:1: ( ( ruleActorClass ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23331:1: ( ruleActorClass )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23613:1: ( ruleActorClass )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23614:1: ruleActorClass
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23331:1: ( ruleActorClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23332:1: ruleActorClass
             {
              before(grammarAccess.getRoomModelAccess().getActorClassesActorClassParserRuleCall_5_5_0()); 
-            pushFollow(FOLLOW_ruleActorClass_in_rule__RoomModel__ActorClassesAssignment_5_547639);
+            pushFollow(FOLLOW_ruleActorClass_in_rule__RoomModel__ActorClassesAssignment_5_547086);
             ruleActorClass();
 
             state._fsp--;
@@ -63774,20 +63237,20 @@
 
 
     // $ANTLR start "rule__RoomModel__SubSystemClassesAssignment_5_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23623:1: rule__RoomModel__SubSystemClassesAssignment_5_6 : ( ruleSubSystemClass ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23341:1: rule__RoomModel__SubSystemClassesAssignment_5_6 : ( ruleSubSystemClass ) ;
     public final void rule__RoomModel__SubSystemClassesAssignment_5_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23627:1: ( ( ruleSubSystemClass ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23628:1: ( ruleSubSystemClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23345:1: ( ( ruleSubSystemClass ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23346:1: ( ruleSubSystemClass )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23628:1: ( ruleSubSystemClass )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23629:1: ruleSubSystemClass
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23346:1: ( ruleSubSystemClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23347:1: ruleSubSystemClass
             {
              before(grammarAccess.getRoomModelAccess().getSubSystemClassesSubSystemClassParserRuleCall_5_6_0()); 
-            pushFollow(FOLLOW_ruleSubSystemClass_in_rule__RoomModel__SubSystemClassesAssignment_5_647670);
+            pushFollow(FOLLOW_ruleSubSystemClass_in_rule__RoomModel__SubSystemClassesAssignment_5_647117);
             ruleSubSystemClass();
 
             state._fsp--;
@@ -63815,20 +63278,20 @@
 
 
     // $ANTLR start "rule__RoomModel__SystemsAssignment_5_7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23638:1: rule__RoomModel__SystemsAssignment_5_7 : ( ruleLogicalSystem ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23356:1: rule__RoomModel__SystemsAssignment_5_7 : ( ruleLogicalSystem ) ;
     public final void rule__RoomModel__SystemsAssignment_5_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23642:1: ( ( ruleLogicalSystem ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23643:1: ( ruleLogicalSystem )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23360:1: ( ( ruleLogicalSystem ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23361:1: ( ruleLogicalSystem )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23643:1: ( ruleLogicalSystem )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23644:1: ruleLogicalSystem
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23361:1: ( ruleLogicalSystem )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23362:1: ruleLogicalSystem
             {
              before(grammarAccess.getRoomModelAccess().getSystemsLogicalSystemParserRuleCall_5_7_0()); 
-            pushFollow(FOLLOW_ruleLogicalSystem_in_rule__RoomModel__SystemsAssignment_5_747701);
+            pushFollow(FOLLOW_ruleLogicalSystem_in_rule__RoomModel__SystemsAssignment_5_747148);
             ruleLogicalSystem();
 
             state._fsp--;
@@ -63856,20 +63319,20 @@
 
 
     // $ANTLR start "rule__RoomModel__AnnotationTypesAssignment_5_8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23653:1: rule__RoomModel__AnnotationTypesAssignment_5_8 : ( ruleAnnotationType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23371:1: rule__RoomModel__AnnotationTypesAssignment_5_8 : ( ruleAnnotationType ) ;
     public final void rule__RoomModel__AnnotationTypesAssignment_5_8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23657:1: ( ( ruleAnnotationType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23658:1: ( ruleAnnotationType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23375:1: ( ( ruleAnnotationType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23376:1: ( ruleAnnotationType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23658:1: ( ruleAnnotationType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23659:1: ruleAnnotationType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23376:1: ( ruleAnnotationType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23377:1: ruleAnnotationType
             {
              before(grammarAccess.getRoomModelAccess().getAnnotationTypesAnnotationTypeParserRuleCall_5_8_0()); 
-            pushFollow(FOLLOW_ruleAnnotationType_in_rule__RoomModel__AnnotationTypesAssignment_5_847732);
+            pushFollow(FOLLOW_ruleAnnotationType_in_rule__RoomModel__AnnotationTypesAssignment_5_847179);
             ruleAnnotationType();
 
             state._fsp--;
@@ -63897,20 +63360,20 @@
 
 
     // $ANTLR start "rule__VarDecl__NameAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23668:1: rule__VarDecl__NameAssignment_0 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23386:1: rule__VarDecl__NameAssignment_0 : ( RULE_ID ) ;
     public final void rule__VarDecl__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23672:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23673:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23390:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23391:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23673:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23674:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23391:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23392:1: RULE_ID
             {
              before(grammarAccess.getVarDeclAccess().getNameIDTerminalRuleCall_0_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__VarDecl__NameAssignment_047763); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__VarDecl__NameAssignment_047210); 
              after(grammarAccess.getVarDeclAccess().getNameIDTerminalRuleCall_0_0()); 
 
             }
@@ -63934,20 +63397,20 @@
 
 
     // $ANTLR start "rule__VarDecl__RefTypeAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23683:1: rule__VarDecl__RefTypeAssignment_2 : ( ruleRefableType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23401:1: rule__VarDecl__RefTypeAssignment_2 : ( ruleRefableType ) ;
     public final void rule__VarDecl__RefTypeAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23687:1: ( ( ruleRefableType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23688:1: ( ruleRefableType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23405:1: ( ( ruleRefableType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23406:1: ( ruleRefableType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23688:1: ( ruleRefableType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23689:1: ruleRefableType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23406:1: ( ruleRefableType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23407:1: ruleRefableType
             {
              before(grammarAccess.getVarDeclAccess().getRefTypeRefableTypeParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleRefableType_in_rule__VarDecl__RefTypeAssignment_247794);
+            pushFollow(FOLLOW_ruleRefableType_in_rule__VarDecl__RefTypeAssignment_247241);
             ruleRefableType();
 
             state._fsp--;
@@ -63975,24 +63438,24 @@
 
 
     // $ANTLR start "rule__RefableType__TypeAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23698:1: rule__RefableType__TypeAssignment_0 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23416:1: rule__RefableType__TypeAssignment_0 : ( ( ruleFQN ) ) ;
     public final void rule__RefableType__TypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23702:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23703:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23420:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23421:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23703:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23704:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23421:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23422:1: ( ruleFQN )
             {
              before(grammarAccess.getRefableTypeAccess().getTypeDataTypeCrossReference_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23705:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23706:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23423:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23424:1: ruleFQN
             {
              before(grammarAccess.getRefableTypeAccess().getTypeDataTypeFQNParserRuleCall_0_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__RefableType__TypeAssignment_047829);
+            pushFollow(FOLLOW_ruleFQN_in_rule__RefableType__TypeAssignment_047276);
             ruleFQN();
 
             state._fsp--;
@@ -64024,24 +63487,24 @@
 
 
     // $ANTLR start "rule__RefableType__RefAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23717:1: rule__RefableType__RefAssignment_1 : ( ( 'ref' ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23435:1: rule__RefableType__RefAssignment_1 : ( ( 'ref' ) ) ;
     public final void rule__RefableType__RefAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23721:1: ( ( ( 'ref' ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23722:1: ( ( 'ref' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23439:1: ( ( ( 'ref' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23440:1: ( ( 'ref' ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23722:1: ( ( 'ref' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23723:1: ( 'ref' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23440:1: ( ( 'ref' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23441:1: ( 'ref' )
             {
              before(grammarAccess.getRefableTypeAccess().getRefRefKeyword_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23724:1: ( 'ref' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23725:1: 'ref'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23442:1: ( 'ref' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23443:1: 'ref'
             {
              before(grammarAccess.getRefableTypeAccess().getRefRefKeyword_1_0()); 
-            match(input,89,FOLLOW_89_in_rule__RefableType__RefAssignment_147869); 
+            match(input,90,FOLLOW_90_in_rule__RefableType__RefAssignment_147316); 
              after(grammarAccess.getRefableTypeAccess().getRefRefKeyword_1_0()); 
 
             }
@@ -64069,20 +63532,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23740:1: rule__PrimitiveType__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23458:1: rule__PrimitiveType__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__PrimitiveType__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23744:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23745:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23462:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23463:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23745:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23746:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23463:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23464:1: RULE_ID
             {
              before(grammarAccess.getPrimitiveTypeAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PrimitiveType__NameAssignment_147908); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PrimitiveType__NameAssignment_147355); 
              after(grammarAccess.getPrimitiveTypeAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -64106,20 +63569,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__TypeAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23755:1: rule__PrimitiveType__TypeAssignment_3 : ( ruleLiteralType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23473:1: rule__PrimitiveType__TypeAssignment_3 : ( ruleLiteralType ) ;
     public final void rule__PrimitiveType__TypeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23759:1: ( ( ruleLiteralType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23760:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23477:1: ( ( ruleLiteralType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23478:1: ( ruleLiteralType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23760:1: ( ruleLiteralType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23761:1: ruleLiteralType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23478:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23479:1: ruleLiteralType
             {
              before(grammarAccess.getPrimitiveTypeAccess().getTypeLiteralTypeEnumRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleLiteralType_in_rule__PrimitiveType__TypeAssignment_347939);
+            pushFollow(FOLLOW_ruleLiteralType_in_rule__PrimitiveType__TypeAssignment_347386);
             ruleLiteralType();
 
             state._fsp--;
@@ -64147,20 +63610,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__TargetNameAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23770:1: rule__PrimitiveType__TargetNameAssignment_5 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23488:1: rule__PrimitiveType__TargetNameAssignment_5 : ( RULE_STRING ) ;
     public final void rule__PrimitiveType__TargetNameAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23774:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23775:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23492:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23493:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23775:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23776:1: RULE_STRING
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23493:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23494:1: RULE_STRING
             {
              before(grammarAccess.getPrimitiveTypeAccess().getTargetNameSTRINGTerminalRuleCall_5_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__PrimitiveType__TargetNameAssignment_547970); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__PrimitiveType__TargetNameAssignment_547417); 
              after(grammarAccess.getPrimitiveTypeAccess().getTargetNameSTRINGTerminalRuleCall_5_0()); 
 
             }
@@ -64184,20 +63647,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__CastNameAssignment_6_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23785:1: rule__PrimitiveType__CastNameAssignment_6_1 : ( ruleFQN ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23503:1: rule__PrimitiveType__CastNameAssignment_6_1 : ( ruleFQN ) ;
     public final void rule__PrimitiveType__CastNameAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23789:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23790:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23507:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23508:1: ( ruleFQN )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23790:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23791:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23508:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23509:1: ruleFQN
             {
              before(grammarAccess.getPrimitiveTypeAccess().getCastNameFQNParserRuleCall_6_1_0()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__PrimitiveType__CastNameAssignment_6_148001);
+            pushFollow(FOLLOW_ruleFQN_in_rule__PrimitiveType__CastNameAssignment_6_147448);
             ruleFQN();
 
             state._fsp--;
@@ -64225,20 +63688,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__DefaultValueLiteralAssignment_8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23800:1: rule__PrimitiveType__DefaultValueLiteralAssignment_8 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23518:1: rule__PrimitiveType__DefaultValueLiteralAssignment_8 : ( RULE_STRING ) ;
     public final void rule__PrimitiveType__DefaultValueLiteralAssignment_8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23804:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23805:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23522:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23523:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23805:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23806:1: RULE_STRING
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23523:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23524:1: RULE_STRING
             {
              before(grammarAccess.getPrimitiveTypeAccess().getDefaultValueLiteralSTRINGTerminalRuleCall_8_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__PrimitiveType__DefaultValueLiteralAssignment_848032); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__PrimitiveType__DefaultValueLiteralAssignment_847479); 
              after(grammarAccess.getPrimitiveTypeAccess().getDefaultValueLiteralSTRINGTerminalRuleCall_8_0()); 
 
             }
@@ -64262,20 +63725,20 @@
 
 
     // $ANTLR start "rule__PrimitiveType__DocuAssignment_9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23815:1: rule__PrimitiveType__DocuAssignment_9 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23533:1: rule__PrimitiveType__DocuAssignment_9 : ( ruleDocumentation ) ;
     public final void rule__PrimitiveType__DocuAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23819:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23820:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23537:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23538:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23820:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23821:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23538:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23539:1: ruleDocumentation
             {
              before(grammarAccess.getPrimitiveTypeAccess().getDocuDocumentationParserRuleCall_9_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__PrimitiveType__DocuAssignment_948063);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__PrimitiveType__DocuAssignment_947510);
             ruleDocumentation();
 
             state._fsp--;
@@ -64303,20 +63766,20 @@
 
 
     // $ANTLR start "rule__EnumerationType__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23830:1: rule__EnumerationType__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23548:1: rule__EnumerationType__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__EnumerationType__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23834:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23835:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23552:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23553:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23835:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23836:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23553:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23554:1: RULE_ID
             {
              before(grammarAccess.getEnumerationTypeAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumerationType__NameAssignment_148094); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumerationType__NameAssignment_147541); 
              after(grammarAccess.getEnumerationTypeAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -64340,20 +63803,20 @@
 
 
     // $ANTLR start "rule__EnumerationType__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23845:1: rule__EnumerationType__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23563:1: rule__EnumerationType__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__EnumerationType__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23849:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23850:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23567:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23568:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23850:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23851:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23568:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23569:1: ruleDocumentation
             {
              before(grammarAccess.getEnumerationTypeAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__EnumerationType__DocuAssignment_248125);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__EnumerationType__DocuAssignment_247572);
             ruleDocumentation();
 
             state._fsp--;
@@ -64381,24 +63844,24 @@
 
 
     // $ANTLR start "rule__EnumerationType__PrimitiveTypeAssignment_3_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23860:1: rule__EnumerationType__PrimitiveTypeAssignment_3_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23578:1: rule__EnumerationType__PrimitiveTypeAssignment_3_1 : ( ( ruleFQN ) ) ;
     public final void rule__EnumerationType__PrimitiveTypeAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23864:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23865:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23582:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23583:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23865:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23866:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23583:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23584:1: ( ruleFQN )
             {
              before(grammarAccess.getEnumerationTypeAccess().getPrimitiveTypePrimitiveTypeCrossReference_3_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23867:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23868:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23585:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23586:1: ruleFQN
             {
              before(grammarAccess.getEnumerationTypeAccess().getPrimitiveTypePrimitiveTypeFQNParserRuleCall_3_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__EnumerationType__PrimitiveTypeAssignment_3_148160);
+            pushFollow(FOLLOW_ruleFQN_in_rule__EnumerationType__PrimitiveTypeAssignment_3_147607);
             ruleFQN();
 
             state._fsp--;
@@ -64430,20 +63893,20 @@
 
 
     // $ANTLR start "rule__EnumerationType__LiteralsAssignment_5_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23879:1: rule__EnumerationType__LiteralsAssignment_5_0 : ( ruleEnumLiteral ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23597:1: rule__EnumerationType__LiteralsAssignment_5_0 : ( ruleEnumLiteral ) ;
     public final void rule__EnumerationType__LiteralsAssignment_5_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23883:1: ( ( ruleEnumLiteral ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23884:1: ( ruleEnumLiteral )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23601:1: ( ( ruleEnumLiteral ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23602:1: ( ruleEnumLiteral )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23884:1: ( ruleEnumLiteral )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23885:1: ruleEnumLiteral
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23602:1: ( ruleEnumLiteral )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23603:1: ruleEnumLiteral
             {
              before(grammarAccess.getEnumerationTypeAccess().getLiteralsEnumLiteralParserRuleCall_5_0_0()); 
-            pushFollow(FOLLOW_ruleEnumLiteral_in_rule__EnumerationType__LiteralsAssignment_5_048195);
+            pushFollow(FOLLOW_ruleEnumLiteral_in_rule__EnumerationType__LiteralsAssignment_5_047642);
             ruleEnumLiteral();
 
             state._fsp--;
@@ -64471,20 +63934,20 @@
 
 
     // $ANTLR start "rule__EnumerationType__LiteralsAssignment_5_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23894:1: rule__EnumerationType__LiteralsAssignment_5_1_1 : ( ruleEnumLiteral ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23612:1: rule__EnumerationType__LiteralsAssignment_5_1_1 : ( ruleEnumLiteral ) ;
     public final void rule__EnumerationType__LiteralsAssignment_5_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23898:1: ( ( ruleEnumLiteral ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23899:1: ( ruleEnumLiteral )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23616:1: ( ( ruleEnumLiteral ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23617:1: ( ruleEnumLiteral )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23899:1: ( ruleEnumLiteral )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23900:1: ruleEnumLiteral
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23617:1: ( ruleEnumLiteral )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23618:1: ruleEnumLiteral
             {
              before(grammarAccess.getEnumerationTypeAccess().getLiteralsEnumLiteralParserRuleCall_5_1_1_0()); 
-            pushFollow(FOLLOW_ruleEnumLiteral_in_rule__EnumerationType__LiteralsAssignment_5_1_148226);
+            pushFollow(FOLLOW_ruleEnumLiteral_in_rule__EnumerationType__LiteralsAssignment_5_1_147673);
             ruleEnumLiteral();
 
             state._fsp--;
@@ -64512,20 +63975,20 @@
 
 
     // $ANTLR start "rule__EnumLiteral__NameAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23909:1: rule__EnumLiteral__NameAssignment_0 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23627:1: rule__EnumLiteral__NameAssignment_0 : ( RULE_ID ) ;
     public final void rule__EnumLiteral__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23913:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23914:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23631:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23632:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23914:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23915:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23632:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23633:1: RULE_ID
             {
              before(grammarAccess.getEnumLiteralAccess().getNameIDTerminalRuleCall_0_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumLiteral__NameAssignment_048257); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumLiteral__NameAssignment_047704); 
              after(grammarAccess.getEnumLiteralAccess().getNameIDTerminalRuleCall_0_0()); 
 
             }
@@ -64549,20 +64012,20 @@
 
 
     // $ANTLR start "rule__EnumLiteral__LiteralAssignment_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23924:1: rule__EnumLiteral__LiteralAssignment_1_1 : ( ruleIntLiteral ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23642:1: rule__EnumLiteral__LiteralAssignment_1_1 : ( ruleIntLiteral ) ;
     public final void rule__EnumLiteral__LiteralAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23928:1: ( ( ruleIntLiteral ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23929:1: ( ruleIntLiteral )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23646:1: ( ( ruleIntLiteral ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23647:1: ( ruleIntLiteral )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23929:1: ( ruleIntLiteral )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23930:1: ruleIntLiteral
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23647:1: ( ruleIntLiteral )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23648:1: ruleIntLiteral
             {
              before(grammarAccess.getEnumLiteralAccess().getLiteralIntLiteralParserRuleCall_1_1_0()); 
-            pushFollow(FOLLOW_ruleIntLiteral_in_rule__EnumLiteral__LiteralAssignment_1_148288);
+            pushFollow(FOLLOW_ruleIntLiteral_in_rule__EnumLiteral__LiteralAssignment_1_147735);
             ruleIntLiteral();
 
             state._fsp--;
@@ -64590,20 +64053,20 @@
 
 
     // $ANTLR start "rule__ExternalType__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23939:1: rule__ExternalType__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23657:1: rule__ExternalType__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__ExternalType__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23943:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23944:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23661:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23662:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23944:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23945:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23662:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23663:1: RULE_ID
             {
              before(grammarAccess.getExternalTypeAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExternalType__NameAssignment_148319); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExternalType__NameAssignment_147766); 
              after(grammarAccess.getExternalTypeAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -64627,20 +64090,20 @@
 
 
     // $ANTLR start "rule__ExternalType__TargetNameAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23954:1: rule__ExternalType__TargetNameAssignment_3 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23672:1: rule__ExternalType__TargetNameAssignment_3 : ( RULE_STRING ) ;
     public final void rule__ExternalType__TargetNameAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23958:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23959:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23676:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23677:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23959:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23960:1: RULE_STRING
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23677:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23678:1: RULE_STRING
             {
              before(grammarAccess.getExternalTypeAccess().getTargetNameSTRINGTerminalRuleCall_3_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ExternalType__TargetNameAssignment_348350); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ExternalType__TargetNameAssignment_347797); 
              after(grammarAccess.getExternalTypeAccess().getTargetNameSTRINGTerminalRuleCall_3_0()); 
 
             }
@@ -64664,20 +64127,20 @@
 
 
     // $ANTLR start "rule__ExternalType__DefaultValueLiteralAssignment_4_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23969:1: rule__ExternalType__DefaultValueLiteralAssignment_4_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23687:1: rule__ExternalType__DefaultValueLiteralAssignment_4_1 : ( RULE_STRING ) ;
     public final void rule__ExternalType__DefaultValueLiteralAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23973:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23974:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23691:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23692:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23974:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23975:1: RULE_STRING
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23692:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23693:1: RULE_STRING
             {
              before(grammarAccess.getExternalTypeAccess().getDefaultValueLiteralSTRINGTerminalRuleCall_4_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ExternalType__DefaultValueLiteralAssignment_4_148381); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ExternalType__DefaultValueLiteralAssignment_4_147828); 
              after(grammarAccess.getExternalTypeAccess().getDefaultValueLiteralSTRINGTerminalRuleCall_4_1_0()); 
 
             }
@@ -64701,20 +64164,20 @@
 
 
     // $ANTLR start "rule__ExternalType__DocuAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23984:1: rule__ExternalType__DocuAssignment_5 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23702:1: rule__ExternalType__DocuAssignment_5 : ( ruleDocumentation ) ;
     public final void rule__ExternalType__DocuAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23988:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23989:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23706:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23707:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23989:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23990:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23707:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23708:1: ruleDocumentation
             {
              before(grammarAccess.getExternalTypeAccess().getDocuDocumentationParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__ExternalType__DocuAssignment_548412);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__ExternalType__DocuAssignment_547859);
             ruleDocumentation();
 
             state._fsp--;
@@ -64742,20 +64205,20 @@
 
 
     // $ANTLR start "rule__DataClass__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23999:1: rule__DataClass__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23717:1: rule__DataClass__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__DataClass__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24003:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24004:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23721:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23722:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24004:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24005:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23722:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23723:1: RULE_ID
             {
              before(grammarAccess.getDataClassAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__DataClass__NameAssignment_148443); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__DataClass__NameAssignment_147890); 
              after(grammarAccess.getDataClassAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -64779,20 +64242,20 @@
 
 
     // $ANTLR start "rule__DataClass__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24014:1: rule__DataClass__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23732:1: rule__DataClass__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__DataClass__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24018:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24019:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23736:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23737:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24019:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24020:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23737:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23738:1: ruleDocumentation
             {
              before(grammarAccess.getDataClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__DataClass__DocuAssignment_248474);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__DataClass__DocuAssignment_247921);
             ruleDocumentation();
 
             state._fsp--;
@@ -64820,24 +64283,24 @@
 
 
     // $ANTLR start "rule__DataClass__BaseAssignment_3_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24029:1: rule__DataClass__BaseAssignment_3_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23747:1: rule__DataClass__BaseAssignment_3_1 : ( ( ruleFQN ) ) ;
     public final void rule__DataClass__BaseAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24033:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24034:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23751:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23752:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24034:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24035:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23752:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23753:1: ( ruleFQN )
             {
              before(grammarAccess.getDataClassAccess().getBaseDataClassCrossReference_3_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24036:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24037:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23754:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23755:1: ruleFQN
             {
              before(grammarAccess.getDataClassAccess().getBaseDataClassFQNParserRuleCall_3_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__DataClass__BaseAssignment_3_148509);
+            pushFollow(FOLLOW_ruleFQN_in_rule__DataClass__BaseAssignment_3_147956);
             ruleFQN();
 
             state._fsp--;
@@ -64869,20 +64332,20 @@
 
 
     // $ANTLR start "rule__DataClass__AnnotationsAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24048:1: rule__DataClass__AnnotationsAssignment_5 : ( ruleAnnotation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23766:1: rule__DataClass__AnnotationsAssignment_5 : ( ruleAnnotation ) ;
     public final void rule__DataClass__AnnotationsAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24052:1: ( ( ruleAnnotation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24053:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23770:1: ( ( ruleAnnotation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23771:1: ( ruleAnnotation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24053:1: ( ruleAnnotation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24054:1: ruleAnnotation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23771:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23772:1: ruleAnnotation
             {
              before(grammarAccess.getDataClassAccess().getAnnotationsAnnotationParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleAnnotation_in_rule__DataClass__AnnotationsAssignment_548544);
+            pushFollow(FOLLOW_ruleAnnotation_in_rule__DataClass__AnnotationsAssignment_547991);
             ruleAnnotation();
 
             state._fsp--;
@@ -64910,20 +64373,20 @@
 
 
     // $ANTLR start "rule__DataClass__UserCode1Assignment_6_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24063:1: rule__DataClass__UserCode1Assignment_6_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23781:1: rule__DataClass__UserCode1Assignment_6_1 : ( ruleDetailCode ) ;
     public final void rule__DataClass__UserCode1Assignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24067:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24068:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23785:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23786:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24068:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24069:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23786:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23787:1: ruleDetailCode
             {
              before(grammarAccess.getDataClassAccess().getUserCode1DetailCodeParserRuleCall_6_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode1Assignment_6_148575);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode1Assignment_6_148022);
             ruleDetailCode();
 
             state._fsp--;
@@ -64951,20 +64414,20 @@
 
 
     // $ANTLR start "rule__DataClass__UserCode2Assignment_7_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24078:1: rule__DataClass__UserCode2Assignment_7_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23796:1: rule__DataClass__UserCode2Assignment_7_1 : ( ruleDetailCode ) ;
     public final void rule__DataClass__UserCode2Assignment_7_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24082:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24083:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23800:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23801:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24083:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24084:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23801:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23802:1: ruleDetailCode
             {
              before(grammarAccess.getDataClassAccess().getUserCode2DetailCodeParserRuleCall_7_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode2Assignment_7_148606);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode2Assignment_7_148053);
             ruleDetailCode();
 
             state._fsp--;
@@ -64992,20 +64455,20 @@
 
 
     // $ANTLR start "rule__DataClass__UserCode3Assignment_8_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24093:1: rule__DataClass__UserCode3Assignment_8_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23811:1: rule__DataClass__UserCode3Assignment_8_1 : ( ruleDetailCode ) ;
     public final void rule__DataClass__UserCode3Assignment_8_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24097:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24098:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23815:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23816:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24098:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24099:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23816:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23817:1: ruleDetailCode
             {
              before(grammarAccess.getDataClassAccess().getUserCode3DetailCodeParserRuleCall_8_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode3Assignment_8_148637);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode3Assignment_8_148084);
             ruleDetailCode();
 
             state._fsp--;
@@ -65033,20 +64496,20 @@
 
 
     // $ANTLR start "rule__DataClass__OperationsAssignment_9_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24108:1: rule__DataClass__OperationsAssignment_9_0 : ( ruleStandardOperation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23826:1: rule__DataClass__OperationsAssignment_9_0 : ( ruleStandardOperation ) ;
     public final void rule__DataClass__OperationsAssignment_9_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24112:1: ( ( ruleStandardOperation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24113:1: ( ruleStandardOperation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23830:1: ( ( ruleStandardOperation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23831:1: ( ruleStandardOperation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24113:1: ( ruleStandardOperation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24114:1: ruleStandardOperation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23831:1: ( ruleStandardOperation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23832:1: ruleStandardOperation
             {
              before(grammarAccess.getDataClassAccess().getOperationsStandardOperationParserRuleCall_9_0_0()); 
-            pushFollow(FOLLOW_ruleStandardOperation_in_rule__DataClass__OperationsAssignment_9_048668);
+            pushFollow(FOLLOW_ruleStandardOperation_in_rule__DataClass__OperationsAssignment_9_048115);
             ruleStandardOperation();
 
             state._fsp--;
@@ -65074,20 +64537,20 @@
 
 
     // $ANTLR start "rule__DataClass__StructorsAssignment_9_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24123:1: rule__DataClass__StructorsAssignment_9_1 : ( ruleClassStructor ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23841:1: rule__DataClass__StructorsAssignment_9_1 : ( ruleClassStructor ) ;
     public final void rule__DataClass__StructorsAssignment_9_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24127:1: ( ( ruleClassStructor ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24128:1: ( ruleClassStructor )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23845:1: ( ( ruleClassStructor ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23846:1: ( ruleClassStructor )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24128:1: ( ruleClassStructor )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24129:1: ruleClassStructor
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23846:1: ( ruleClassStructor )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23847:1: ruleClassStructor
             {
              before(grammarAccess.getDataClassAccess().getStructorsClassStructorParserRuleCall_9_1_0()); 
-            pushFollow(FOLLOW_ruleClassStructor_in_rule__DataClass__StructorsAssignment_9_148699);
+            pushFollow(FOLLOW_ruleClassStructor_in_rule__DataClass__StructorsAssignment_9_148146);
             ruleClassStructor();
 
             state._fsp--;
@@ -65115,20 +64578,20 @@
 
 
     // $ANTLR start "rule__DataClass__AttributesAssignment_9_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24138:1: rule__DataClass__AttributesAssignment_9_2 : ( ruleAttribute ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23856:1: rule__DataClass__AttributesAssignment_9_2 : ( ruleAttribute ) ;
     public final void rule__DataClass__AttributesAssignment_9_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24142:1: ( ( ruleAttribute ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24143:1: ( ruleAttribute )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23860:1: ( ( ruleAttribute ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23861:1: ( ruleAttribute )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24143:1: ( ruleAttribute )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24144:1: ruleAttribute
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23861:1: ( ruleAttribute )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23862:1: ruleAttribute
             {
              before(grammarAccess.getDataClassAccess().getAttributesAttributeParserRuleCall_9_2_0()); 
-            pushFollow(FOLLOW_ruleAttribute_in_rule__DataClass__AttributesAssignment_9_248730);
+            pushFollow(FOLLOW_ruleAttribute_in_rule__DataClass__AttributesAssignment_9_248177);
             ruleAttribute();
 
             state._fsp--;
@@ -65156,20 +64619,20 @@
 
 
     // $ANTLR start "rule__Attribute__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24153:1: rule__Attribute__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23871:1: rule__Attribute__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__Attribute__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24157:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24158:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23875:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23876:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24158:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24159:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23876:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23877:1: RULE_ID
             {
              before(grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Attribute__NameAssignment_148761); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Attribute__NameAssignment_148208); 
              after(grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -65193,20 +64656,20 @@
 
 
     // $ANTLR start "rule__Attribute__SizeAssignment_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24168:1: rule__Attribute__SizeAssignment_2_1 : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23886:1: rule__Attribute__SizeAssignment_2_1 : ( RULE_INT ) ;
     public final void rule__Attribute__SizeAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24172:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24173:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23890:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23891:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24173:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24174:1: RULE_INT
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23891:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23892:1: RULE_INT
             {
              before(grammarAccess.getAttributeAccess().getSizeINTTerminalRuleCall_2_1_0()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Attribute__SizeAssignment_2_148792); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Attribute__SizeAssignment_2_148239); 
              after(grammarAccess.getAttributeAccess().getSizeINTTerminalRuleCall_2_1_0()); 
 
             }
@@ -65230,20 +64693,20 @@
 
 
     // $ANTLR start "rule__Attribute__TypeAssignment_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24183:1: rule__Attribute__TypeAssignment_4 : ( ruleRefableType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23901:1: rule__Attribute__TypeAssignment_4 : ( ruleRefableType ) ;
     public final void rule__Attribute__TypeAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24187:1: ( ( ruleRefableType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24188:1: ( ruleRefableType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23905:1: ( ( ruleRefableType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23906:1: ( ruleRefableType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24188:1: ( ruleRefableType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24189:1: ruleRefableType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23906:1: ( ruleRefableType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23907:1: ruleRefableType
             {
              before(grammarAccess.getAttributeAccess().getTypeRefableTypeParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleRefableType_in_rule__Attribute__TypeAssignment_448823);
+            pushFollow(FOLLOW_ruleRefableType_in_rule__Attribute__TypeAssignment_448270);
             ruleRefableType();
 
             state._fsp--;
@@ -65271,20 +64734,20 @@
 
 
     // $ANTLR start "rule__Attribute__DefaultValueLiteralAssignment_5_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24198:1: rule__Attribute__DefaultValueLiteralAssignment_5_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23916:1: rule__Attribute__DefaultValueLiteralAssignment_5_1 : ( RULE_STRING ) ;
     public final void rule__Attribute__DefaultValueLiteralAssignment_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24202:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24203:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23920:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23921:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24203:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24204:1: RULE_STRING
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23921:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23922:1: RULE_STRING
             {
              before(grammarAccess.getAttributeAccess().getDefaultValueLiteralSTRINGTerminalRuleCall_5_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Attribute__DefaultValueLiteralAssignment_5_148854); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Attribute__DefaultValueLiteralAssignment_5_148301); 
              after(grammarAccess.getAttributeAccess().getDefaultValueLiteralSTRINGTerminalRuleCall_5_1_0()); 
 
             }
@@ -65308,20 +64771,20 @@
 
 
     // $ANTLR start "rule__Attribute__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24213:1: rule__Attribute__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23931:1: rule__Attribute__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__Attribute__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24217:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24218:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23935:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23936:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24218:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24219:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23936:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23937:1: ruleDocumentation
             {
              before(grammarAccess.getAttributeAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__Attribute__DocuAssignment_648885);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__Attribute__DocuAssignment_648332);
             ruleDocumentation();
 
             state._fsp--;
@@ -65349,24 +64812,24 @@
 
 
     // $ANTLR start "rule__StandardOperation__OverrideAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24228:1: rule__StandardOperation__OverrideAssignment_0 : ( ( 'override' ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23946:1: rule__StandardOperation__OverrideAssignment_0 : ( ( 'override' ) ) ;
     public final void rule__StandardOperation__OverrideAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24232:1: ( ( ( 'override' ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24233:1: ( ( 'override' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23950:1: ( ( ( 'override' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23951:1: ( ( 'override' ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24233:1: ( ( 'override' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24234:1: ( 'override' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23951:1: ( ( 'override' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23952:1: ( 'override' )
             {
              before(grammarAccess.getStandardOperationAccess().getOverrideOverrideKeyword_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24235:1: ( 'override' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24236:1: 'override'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23953:1: ( 'override' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23954:1: 'override'
             {
              before(grammarAccess.getStandardOperationAccess().getOverrideOverrideKeyword_0_0()); 
-            match(input,126,FOLLOW_126_in_rule__StandardOperation__OverrideAssignment_048921); 
+            match(input,127,FOLLOW_127_in_rule__StandardOperation__OverrideAssignment_048368); 
              after(grammarAccess.getStandardOperationAccess().getOverrideOverrideKeyword_0_0()); 
 
             }
@@ -65394,20 +64857,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__NameAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24251:1: rule__StandardOperation__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23969:1: rule__StandardOperation__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__StandardOperation__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24255:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24256:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23973:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23974:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24256:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24257:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23974:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23975:1: RULE_ID
             {
              before(grammarAccess.getStandardOperationAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__StandardOperation__NameAssignment_248960); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__StandardOperation__NameAssignment_248407); 
              after(grammarAccess.getStandardOperationAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -65431,20 +64894,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__ArgumentsAssignment_4_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24266:1: rule__StandardOperation__ArgumentsAssignment_4_0 : ( ruleVarDecl ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23984:1: rule__StandardOperation__ArgumentsAssignment_4_0 : ( ruleVarDecl ) ;
     public final void rule__StandardOperation__ArgumentsAssignment_4_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24270:1: ( ( ruleVarDecl ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24271:1: ( ruleVarDecl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23988:1: ( ( ruleVarDecl ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23989:1: ( ruleVarDecl )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24271:1: ( ruleVarDecl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24272:1: ruleVarDecl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23989:1: ( ruleVarDecl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23990:1: ruleVarDecl
             {
              before(grammarAccess.getStandardOperationAccess().getArgumentsVarDeclParserRuleCall_4_0_0()); 
-            pushFollow(FOLLOW_ruleVarDecl_in_rule__StandardOperation__ArgumentsAssignment_4_048991);
+            pushFollow(FOLLOW_ruleVarDecl_in_rule__StandardOperation__ArgumentsAssignment_4_048438);
             ruleVarDecl();
 
             state._fsp--;
@@ -65472,20 +64935,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__ArgumentsAssignment_4_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24281:1: rule__StandardOperation__ArgumentsAssignment_4_1_1 : ( ruleVarDecl ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:23999:1: rule__StandardOperation__ArgumentsAssignment_4_1_1 : ( ruleVarDecl ) ;
     public final void rule__StandardOperation__ArgumentsAssignment_4_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24285:1: ( ( ruleVarDecl ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24286:1: ( ruleVarDecl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24003:1: ( ( ruleVarDecl ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24004:1: ( ruleVarDecl )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24286:1: ( ruleVarDecl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24287:1: ruleVarDecl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24004:1: ( ruleVarDecl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24005:1: ruleVarDecl
             {
              before(grammarAccess.getStandardOperationAccess().getArgumentsVarDeclParserRuleCall_4_1_1_0()); 
-            pushFollow(FOLLOW_ruleVarDecl_in_rule__StandardOperation__ArgumentsAssignment_4_1_149022);
+            pushFollow(FOLLOW_ruleVarDecl_in_rule__StandardOperation__ArgumentsAssignment_4_1_148469);
             ruleVarDecl();
 
             state._fsp--;
@@ -65513,20 +64976,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__ReturnTypeAssignment_6_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24296:1: rule__StandardOperation__ReturnTypeAssignment_6_1_1 : ( ruleRefableType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24014:1: rule__StandardOperation__ReturnTypeAssignment_6_1_1 : ( ruleRefableType ) ;
     public final void rule__StandardOperation__ReturnTypeAssignment_6_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24300:1: ( ( ruleRefableType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24301:1: ( ruleRefableType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24018:1: ( ( ruleRefableType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24019:1: ( ruleRefableType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24301:1: ( ruleRefableType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24302:1: ruleRefableType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24019:1: ( ruleRefableType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24020:1: ruleRefableType
             {
              before(grammarAccess.getStandardOperationAccess().getReturnTypeRefableTypeParserRuleCall_6_1_1_0()); 
-            pushFollow(FOLLOW_ruleRefableType_in_rule__StandardOperation__ReturnTypeAssignment_6_1_149053);
+            pushFollow(FOLLOW_ruleRefableType_in_rule__StandardOperation__ReturnTypeAssignment_6_1_148500);
             ruleRefableType();
 
             state._fsp--;
@@ -65554,20 +65017,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__DocuAssignment_7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24311:1: rule__StandardOperation__DocuAssignment_7 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24029:1: rule__StandardOperation__DocuAssignment_7 : ( ruleDocumentation ) ;
     public final void rule__StandardOperation__DocuAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24315:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24316:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24033:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24034:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24316:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24317:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24034:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24035:1: ruleDocumentation
             {
              before(grammarAccess.getStandardOperationAccess().getDocuDocumentationParserRuleCall_7_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__StandardOperation__DocuAssignment_749084);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__StandardOperation__DocuAssignment_748531);
             ruleDocumentation();
 
             state._fsp--;
@@ -65595,20 +65058,20 @@
 
 
     // $ANTLR start "rule__StandardOperation__DetailCodeAssignment_8"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24326:1: rule__StandardOperation__DetailCodeAssignment_8 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24044:1: rule__StandardOperation__DetailCodeAssignment_8 : ( ruleDetailCode ) ;
     public final void rule__StandardOperation__DetailCodeAssignment_8() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24330:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24331:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24048:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24049:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24331:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24332:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24049:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24050:1: ruleDetailCode
             {
              before(grammarAccess.getStandardOperationAccess().getDetailCodeDetailCodeParserRuleCall_8_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__StandardOperation__DetailCodeAssignment_849115);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__StandardOperation__DetailCodeAssignment_848562);
             ruleDetailCode();
 
             state._fsp--;
@@ -65636,20 +65099,20 @@
 
 
     // $ANTLR start "rule__PortOperation__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24341:1: rule__PortOperation__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24059:1: rule__PortOperation__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__PortOperation__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24345:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24346:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24063:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24064:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24346:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24347:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24064:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24065:1: RULE_ID
             {
              before(grammarAccess.getPortOperationAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PortOperation__NameAssignment_149146); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PortOperation__NameAssignment_148593); 
              after(grammarAccess.getPortOperationAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -65673,20 +65136,20 @@
 
 
     // $ANTLR start "rule__PortOperation__ArgumentsAssignment_3_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24356:1: rule__PortOperation__ArgumentsAssignment_3_0 : ( ruleVarDecl ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24074:1: rule__PortOperation__ArgumentsAssignment_3_0 : ( ruleVarDecl ) ;
     public final void rule__PortOperation__ArgumentsAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24360:1: ( ( ruleVarDecl ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24361:1: ( ruleVarDecl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24078:1: ( ( ruleVarDecl ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24079:1: ( ruleVarDecl )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24361:1: ( ruleVarDecl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24362:1: ruleVarDecl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24079:1: ( ruleVarDecl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24080:1: ruleVarDecl
             {
              before(grammarAccess.getPortOperationAccess().getArgumentsVarDeclParserRuleCall_3_0_0()); 
-            pushFollow(FOLLOW_ruleVarDecl_in_rule__PortOperation__ArgumentsAssignment_3_049177);
+            pushFollow(FOLLOW_ruleVarDecl_in_rule__PortOperation__ArgumentsAssignment_3_048624);
             ruleVarDecl();
 
             state._fsp--;
@@ -65714,20 +65177,20 @@
 
 
     // $ANTLR start "rule__PortOperation__ArgumentsAssignment_3_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24371:1: rule__PortOperation__ArgumentsAssignment_3_1_1 : ( ruleVarDecl ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24089:1: rule__PortOperation__ArgumentsAssignment_3_1_1 : ( ruleVarDecl ) ;
     public final void rule__PortOperation__ArgumentsAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24375:1: ( ( ruleVarDecl ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24376:1: ( ruleVarDecl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24093:1: ( ( ruleVarDecl ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24094:1: ( ruleVarDecl )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24376:1: ( ruleVarDecl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24377:1: ruleVarDecl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24094:1: ( ruleVarDecl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24095:1: ruleVarDecl
             {
              before(grammarAccess.getPortOperationAccess().getArgumentsVarDeclParserRuleCall_3_1_1_0()); 
-            pushFollow(FOLLOW_ruleVarDecl_in_rule__PortOperation__ArgumentsAssignment_3_1_149208);
+            pushFollow(FOLLOW_ruleVarDecl_in_rule__PortOperation__ArgumentsAssignment_3_1_148655);
             ruleVarDecl();
 
             state._fsp--;
@@ -65755,20 +65218,20 @@
 
 
     // $ANTLR start "rule__PortOperation__ReturnTypeAssignment_5_0_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24386:1: rule__PortOperation__ReturnTypeAssignment_5_0_1_1 : ( ruleRefableType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24104:1: rule__PortOperation__ReturnTypeAssignment_5_0_1_1 : ( ruleRefableType ) ;
     public final void rule__PortOperation__ReturnTypeAssignment_5_0_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24390:1: ( ( ruleRefableType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24391:1: ( ruleRefableType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24108:1: ( ( ruleRefableType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24109:1: ( ruleRefableType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24391:1: ( ruleRefableType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24392:1: ruleRefableType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24109:1: ( ruleRefableType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24110:1: ruleRefableType
             {
              before(grammarAccess.getPortOperationAccess().getReturnTypeRefableTypeParserRuleCall_5_0_1_1_0()); 
-            pushFollow(FOLLOW_ruleRefableType_in_rule__PortOperation__ReturnTypeAssignment_5_0_1_149239);
+            pushFollow(FOLLOW_ruleRefableType_in_rule__PortOperation__ReturnTypeAssignment_5_0_1_148686);
             ruleRefableType();
 
             state._fsp--;
@@ -65796,24 +65259,24 @@
 
 
     // $ANTLR start "rule__PortOperation__SendsMsgAssignment_5_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24401:1: rule__PortOperation__SendsMsgAssignment_5_1_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24119:1: rule__PortOperation__SendsMsgAssignment_5_1_1 : ( ( RULE_ID ) ) ;
     public final void rule__PortOperation__SendsMsgAssignment_5_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24405:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24406:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24123:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24124:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24406:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24407:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24124:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24125:1: ( RULE_ID )
             {
              before(grammarAccess.getPortOperationAccess().getSendsMsgMessageCrossReference_5_1_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24408:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24409:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24126:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24127:1: RULE_ID
             {
              before(grammarAccess.getPortOperationAccess().getSendsMsgMessageIDTerminalRuleCall_5_1_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PortOperation__SendsMsgAssignment_5_1_149274); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__PortOperation__SendsMsgAssignment_5_1_148721); 
              after(grammarAccess.getPortOperationAccess().getSendsMsgMessageIDTerminalRuleCall_5_1_1_0_1()); 
 
             }
@@ -65841,20 +65304,20 @@
 
 
     // $ANTLR start "rule__PortOperation__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24420:1: rule__PortOperation__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24138:1: rule__PortOperation__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__PortOperation__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24424:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24425:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24142:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24143:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24425:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24426:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24143:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24144:1: ruleDocumentation
             {
              before(grammarAccess.getPortOperationAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__PortOperation__DocuAssignment_649309);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__PortOperation__DocuAssignment_648756);
             ruleDocumentation();
 
             state._fsp--;
@@ -65882,20 +65345,20 @@
 
 
     // $ANTLR start "rule__PortOperation__DetailCodeAssignment_7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24435:1: rule__PortOperation__DetailCodeAssignment_7 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24153:1: rule__PortOperation__DetailCodeAssignment_7 : ( ruleDetailCode ) ;
     public final void rule__PortOperation__DetailCodeAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24439:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24440:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24157:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24158:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24440:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24441:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24158:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24159:1: ruleDetailCode
             {
              before(grammarAccess.getPortOperationAccess().getDetailCodeDetailCodeParserRuleCall_7_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__PortOperation__DetailCodeAssignment_749340);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__PortOperation__DetailCodeAssignment_748787);
             ruleDetailCode();
 
             state._fsp--;
@@ -65923,23 +65386,23 @@
 
 
     // $ANTLR start "rule__ClassStructor__NameAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24450:1: rule__ClassStructor__NameAssignment_0 : ( ( rule__ClassStructor__NameAlternatives_0_0 ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24168:1: rule__ClassStructor__NameAssignment_0 : ( ( rule__ClassStructor__NameAlternatives_0_0 ) ) ;
     public final void rule__ClassStructor__NameAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24454:1: ( ( ( rule__ClassStructor__NameAlternatives_0_0 ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24455:1: ( ( rule__ClassStructor__NameAlternatives_0_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24172:1: ( ( ( rule__ClassStructor__NameAlternatives_0_0 ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24173:1: ( ( rule__ClassStructor__NameAlternatives_0_0 ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24455:1: ( ( rule__ClassStructor__NameAlternatives_0_0 ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24456:1: ( rule__ClassStructor__NameAlternatives_0_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24173:1: ( ( rule__ClassStructor__NameAlternatives_0_0 ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24174:1: ( rule__ClassStructor__NameAlternatives_0_0 )
             {
              before(grammarAccess.getClassStructorAccess().getNameAlternatives_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24457:1: ( rule__ClassStructor__NameAlternatives_0_0 )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24457:2: rule__ClassStructor__NameAlternatives_0_0
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24175:1: ( rule__ClassStructor__NameAlternatives_0_0 )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24175:2: rule__ClassStructor__NameAlternatives_0_0
             {
-            pushFollow(FOLLOW_rule__ClassStructor__NameAlternatives_0_0_in_rule__ClassStructor__NameAssignment_049371);
+            pushFollow(FOLLOW_rule__ClassStructor__NameAlternatives_0_0_in_rule__ClassStructor__NameAssignment_048818);
             rule__ClassStructor__NameAlternatives_0_0();
 
             state._fsp--;
@@ -65970,20 +65433,20 @@
 
 
     // $ANTLR start "rule__ClassStructor__DetailCodeAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24466:1: rule__ClassStructor__DetailCodeAssignment_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24184:1: rule__ClassStructor__DetailCodeAssignment_1 : ( ruleDetailCode ) ;
     public final void rule__ClassStructor__DetailCodeAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24470:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24471:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24188:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24189:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24471:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24472:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24189:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24190:1: ruleDetailCode
             {
              before(grammarAccess.getClassStructorAccess().getDetailCodeDetailCodeParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__ClassStructor__DetailCodeAssignment_149404);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__ClassStructor__DetailCodeAssignment_148851);
             ruleDetailCode();
 
             state._fsp--;
@@ -66011,20 +65474,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__CommTypeAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24481:1: rule__ProtocolClass__CommTypeAssignment_0 : ( ruleCommunicationType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24199:1: rule__ProtocolClass__CommTypeAssignment_0 : ( ruleCommunicationType ) ;
     public final void rule__ProtocolClass__CommTypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24485:1: ( ( ruleCommunicationType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24486:1: ( ruleCommunicationType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24203:1: ( ( ruleCommunicationType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24204:1: ( ruleCommunicationType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24486:1: ( ruleCommunicationType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24487:1: ruleCommunicationType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24204:1: ( ruleCommunicationType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24205:1: ruleCommunicationType
             {
              before(grammarAccess.getProtocolClassAccess().getCommTypeCommunicationTypeEnumRuleCall_0_0()); 
-            pushFollow(FOLLOW_ruleCommunicationType_in_rule__ProtocolClass__CommTypeAssignment_049435);
+            pushFollow(FOLLOW_ruleCommunicationType_in_rule__ProtocolClass__CommTypeAssignment_048882);
             ruleCommunicationType();
 
             state._fsp--;
@@ -66052,20 +65515,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__NameAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24496:1: rule__ProtocolClass__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24214:1: rule__ProtocolClass__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__ProtocolClass__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24500:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24501:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24218:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24219:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24501:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24502:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24219:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24220:1: RULE_ID
             {
              before(grammarAccess.getProtocolClassAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ProtocolClass__NameAssignment_249466); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ProtocolClass__NameAssignment_248913); 
              after(grammarAccess.getProtocolClassAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -66089,20 +65552,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__DocuAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24511:1: rule__ProtocolClass__DocuAssignment_3 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24229:1: rule__ProtocolClass__DocuAssignment_3 : ( ruleDocumentation ) ;
     public final void rule__ProtocolClass__DocuAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24515:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24516:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24233:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24234:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24516:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24517:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24234:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24235:1: ruleDocumentation
             {
              before(grammarAccess.getProtocolClassAccess().getDocuDocumentationParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__ProtocolClass__DocuAssignment_349497);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__ProtocolClass__DocuAssignment_348944);
             ruleDocumentation();
 
             state._fsp--;
@@ -66130,24 +65593,24 @@
 
 
     // $ANTLR start "rule__ProtocolClass__BaseAssignment_4_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24526:1: rule__ProtocolClass__BaseAssignment_4_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24244:1: rule__ProtocolClass__BaseAssignment_4_1 : ( ( ruleFQN ) ) ;
     public final void rule__ProtocolClass__BaseAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24530:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24531:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24248:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24249:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24531:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24532:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24249:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24250:1: ( ruleFQN )
             {
              before(grammarAccess.getProtocolClassAccess().getBaseProtocolClassCrossReference_4_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24533:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24534:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24251:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24252:1: ruleFQN
             {
              before(grammarAccess.getProtocolClassAccess().getBaseProtocolClassFQNParserRuleCall_4_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__ProtocolClass__BaseAssignment_4_149532);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ProtocolClass__BaseAssignment_4_148979);
             ruleFQN();
 
             state._fsp--;
@@ -66179,20 +65642,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__AnnotationsAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24545:1: rule__ProtocolClass__AnnotationsAssignment_6 : ( ruleAnnotation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24263:1: rule__ProtocolClass__AnnotationsAssignment_6 : ( ruleAnnotation ) ;
     public final void rule__ProtocolClass__AnnotationsAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24549:1: ( ( ruleAnnotation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24550:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24267:1: ( ( ruleAnnotation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24268:1: ( ruleAnnotation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24550:1: ( ruleAnnotation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24551:1: ruleAnnotation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24268:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24269:1: ruleAnnotation
             {
              before(grammarAccess.getProtocolClassAccess().getAnnotationsAnnotationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleAnnotation_in_rule__ProtocolClass__AnnotationsAssignment_649567);
+            pushFollow(FOLLOW_ruleAnnotation_in_rule__ProtocolClass__AnnotationsAssignment_649014);
             ruleAnnotation();
 
             state._fsp--;
@@ -66220,20 +65683,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__UserCode1Assignment_7_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24560:1: rule__ProtocolClass__UserCode1Assignment_7_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24278:1: rule__ProtocolClass__UserCode1Assignment_7_1 : ( ruleDetailCode ) ;
     public final void rule__ProtocolClass__UserCode1Assignment_7_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24564:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24565:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24282:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24283:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24565:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24566:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24283:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24284:1: ruleDetailCode
             {
              before(grammarAccess.getProtocolClassAccess().getUserCode1DetailCodeParserRuleCall_7_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode1Assignment_7_149598);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode1Assignment_7_149045);
             ruleDetailCode();
 
             state._fsp--;
@@ -66261,20 +65724,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__UserCode2Assignment_8_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24575:1: rule__ProtocolClass__UserCode2Assignment_8_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24293:1: rule__ProtocolClass__UserCode2Assignment_8_1 : ( ruleDetailCode ) ;
     public final void rule__ProtocolClass__UserCode2Assignment_8_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24579:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24580:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24297:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24298:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24580:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24581:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24298:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24299:1: ruleDetailCode
             {
              before(grammarAccess.getProtocolClassAccess().getUserCode2DetailCodeParserRuleCall_8_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode2Assignment_8_149629);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode2Assignment_8_149076);
             ruleDetailCode();
 
             state._fsp--;
@@ -66302,20 +65765,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__UserCode3Assignment_9_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24590:1: rule__ProtocolClass__UserCode3Assignment_9_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24308:1: rule__ProtocolClass__UserCode3Assignment_9_1 : ( ruleDetailCode ) ;
     public final void rule__ProtocolClass__UserCode3Assignment_9_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24594:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24595:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24312:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24313:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24595:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24596:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24313:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24314:1: ruleDetailCode
             {
              before(grammarAccess.getProtocolClassAccess().getUserCode3DetailCodeParserRuleCall_9_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode3Assignment_9_149660);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode3Assignment_9_149107);
             ruleDetailCode();
 
             state._fsp--;
@@ -66343,20 +65806,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__IncomingMessagesAssignment_10_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24605:1: rule__ProtocolClass__IncomingMessagesAssignment_10_2 : ( ruleMessage ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24323:1: rule__ProtocolClass__IncomingMessagesAssignment_10_2 : ( ruleMessage ) ;
     public final void rule__ProtocolClass__IncomingMessagesAssignment_10_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24609:1: ( ( ruleMessage ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24610:1: ( ruleMessage )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24327:1: ( ( ruleMessage ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24328:1: ( ruleMessage )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24610:1: ( ruleMessage )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24611:1: ruleMessage
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24328:1: ( ruleMessage )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24329:1: ruleMessage
             {
              before(grammarAccess.getProtocolClassAccess().getIncomingMessagesMessageParserRuleCall_10_2_0()); 
-            pushFollow(FOLLOW_ruleMessage_in_rule__ProtocolClass__IncomingMessagesAssignment_10_249691);
+            pushFollow(FOLLOW_ruleMessage_in_rule__ProtocolClass__IncomingMessagesAssignment_10_249138);
             ruleMessage();
 
             state._fsp--;
@@ -66384,20 +65847,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__OutgoingMessagesAssignment_11_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24620:1: rule__ProtocolClass__OutgoingMessagesAssignment_11_2 : ( ruleMessage ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24338:1: rule__ProtocolClass__OutgoingMessagesAssignment_11_2 : ( ruleMessage ) ;
     public final void rule__ProtocolClass__OutgoingMessagesAssignment_11_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24624:1: ( ( ruleMessage ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24625:1: ( ruleMessage )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24342:1: ( ( ruleMessage ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24343:1: ( ruleMessage )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24625:1: ( ruleMessage )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24626:1: ruleMessage
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24343:1: ( ruleMessage )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24344:1: ruleMessage
             {
              before(grammarAccess.getProtocolClassAccess().getOutgoingMessagesMessageParserRuleCall_11_2_0()); 
-            pushFollow(FOLLOW_ruleMessage_in_rule__ProtocolClass__OutgoingMessagesAssignment_11_249722);
+            pushFollow(FOLLOW_ruleMessage_in_rule__ProtocolClass__OutgoingMessagesAssignment_11_249169);
             ruleMessage();
 
             state._fsp--;
@@ -66425,20 +65888,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__RegularAssignment_12_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24635:1: rule__ProtocolClass__RegularAssignment_12_2 : ( rulePortClass ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24353:1: rule__ProtocolClass__RegularAssignment_12_2 : ( rulePortClass ) ;
     public final void rule__ProtocolClass__RegularAssignment_12_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24639:1: ( ( rulePortClass ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24640:1: ( rulePortClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24357:1: ( ( rulePortClass ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24358:1: ( rulePortClass )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24640:1: ( rulePortClass )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24641:1: rulePortClass
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24358:1: ( rulePortClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24359:1: rulePortClass
             {
              before(grammarAccess.getProtocolClassAccess().getRegularPortClassParserRuleCall_12_2_0()); 
-            pushFollow(FOLLOW_rulePortClass_in_rule__ProtocolClass__RegularAssignment_12_249753);
+            pushFollow(FOLLOW_rulePortClass_in_rule__ProtocolClass__RegularAssignment_12_249200);
             rulePortClass();
 
             state._fsp--;
@@ -66466,20 +65929,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__ConjugatedAssignment_13_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24650:1: rule__ProtocolClass__ConjugatedAssignment_13_2 : ( rulePortClass ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24368:1: rule__ProtocolClass__ConjugatedAssignment_13_2 : ( rulePortClass ) ;
     public final void rule__ProtocolClass__ConjugatedAssignment_13_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24654:1: ( ( rulePortClass ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24655:1: ( rulePortClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24372:1: ( ( rulePortClass ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24373:1: ( rulePortClass )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24655:1: ( rulePortClass )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24656:1: rulePortClass
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24373:1: ( rulePortClass )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24374:1: rulePortClass
             {
              before(grammarAccess.getProtocolClassAccess().getConjugatedPortClassParserRuleCall_13_2_0()); 
-            pushFollow(FOLLOW_rulePortClass_in_rule__ProtocolClass__ConjugatedAssignment_13_249784);
+            pushFollow(FOLLOW_rulePortClass_in_rule__ProtocolClass__ConjugatedAssignment_13_249231);
             rulePortClass();
 
             state._fsp--;
@@ -66507,20 +65970,20 @@
 
 
     // $ANTLR start "rule__ProtocolClass__SemanticsAssignment_14"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24665:1: rule__ProtocolClass__SemanticsAssignment_14 : ( ruleProtocolSemantics ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24383:1: rule__ProtocolClass__SemanticsAssignment_14 : ( ruleProtocolSemantics ) ;
     public final void rule__ProtocolClass__SemanticsAssignment_14() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24669:1: ( ( ruleProtocolSemantics ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24670:1: ( ruleProtocolSemantics )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24387:1: ( ( ruleProtocolSemantics ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24388:1: ( ruleProtocolSemantics )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24670:1: ( ruleProtocolSemantics )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24671:1: ruleProtocolSemantics
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24388:1: ( ruleProtocolSemantics )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24389:1: ruleProtocolSemantics
             {
              before(grammarAccess.getProtocolClassAccess().getSemanticsProtocolSemanticsParserRuleCall_14_0()); 
-            pushFollow(FOLLOW_ruleProtocolSemantics_in_rule__ProtocolClass__SemanticsAssignment_1449815);
+            pushFollow(FOLLOW_ruleProtocolSemantics_in_rule__ProtocolClass__SemanticsAssignment_1449262);
             ruleProtocolSemantics();
 
             state._fsp--;
@@ -66548,20 +66011,20 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24680:1: rule__CompoundProtocolClass__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24398:1: rule__CompoundProtocolClass__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__CompoundProtocolClass__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24684:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24685:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24402:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24403:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24685:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24686:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24403:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24404:1: RULE_ID
             {
              before(grammarAccess.getCompoundProtocolClassAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__CompoundProtocolClass__NameAssignment_149846); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__CompoundProtocolClass__NameAssignment_149293); 
              after(grammarAccess.getCompoundProtocolClassAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -66585,20 +66048,20 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24695:1: rule__CompoundProtocolClass__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24413:1: rule__CompoundProtocolClass__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__CompoundProtocolClass__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24699:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24700:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24417:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24418:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24700:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24701:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24418:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24419:1: ruleDocumentation
             {
              before(grammarAccess.getCompoundProtocolClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__CompoundProtocolClass__DocuAssignment_249877);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__CompoundProtocolClass__DocuAssignment_249324);
             ruleDocumentation();
 
             state._fsp--;
@@ -66626,20 +66089,20 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__AnnotationsAssignment_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24710:1: rule__CompoundProtocolClass__AnnotationsAssignment_4 : ( ruleAnnotation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24428:1: rule__CompoundProtocolClass__AnnotationsAssignment_4 : ( ruleAnnotation ) ;
     public final void rule__CompoundProtocolClass__AnnotationsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24714:1: ( ( ruleAnnotation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24715:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24432:1: ( ( ruleAnnotation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24433:1: ( ruleAnnotation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24715:1: ( ruleAnnotation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24716:1: ruleAnnotation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24433:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24434:1: ruleAnnotation
             {
              before(grammarAccess.getCompoundProtocolClassAccess().getAnnotationsAnnotationParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleAnnotation_in_rule__CompoundProtocolClass__AnnotationsAssignment_449908);
+            pushFollow(FOLLOW_ruleAnnotation_in_rule__CompoundProtocolClass__AnnotationsAssignment_449355);
             ruleAnnotation();
 
             state._fsp--;
@@ -66667,20 +66130,20 @@
 
 
     // $ANTLR start "rule__CompoundProtocolClass__SubProtocolsAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24725:1: rule__CompoundProtocolClass__SubProtocolsAssignment_5 : ( ruleSubProtocol ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24443:1: rule__CompoundProtocolClass__SubProtocolsAssignment_5 : ( ruleSubProtocol ) ;
     public final void rule__CompoundProtocolClass__SubProtocolsAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24729:1: ( ( ruleSubProtocol ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24730:1: ( ruleSubProtocol )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24447:1: ( ( ruleSubProtocol ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24448:1: ( ruleSubProtocol )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24730:1: ( ruleSubProtocol )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24731:1: ruleSubProtocol
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24448:1: ( ruleSubProtocol )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24449:1: ruleSubProtocol
             {
              before(grammarAccess.getCompoundProtocolClassAccess().getSubProtocolsSubProtocolParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleSubProtocol_in_rule__CompoundProtocolClass__SubProtocolsAssignment_549939);
+            pushFollow(FOLLOW_ruleSubProtocol_in_rule__CompoundProtocolClass__SubProtocolsAssignment_549386);
             ruleSubProtocol();
 
             state._fsp--;
@@ -66708,20 +66171,20 @@
 
 
     // $ANTLR start "rule__SubProtocol__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24740:1: rule__SubProtocol__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24458:1: rule__SubProtocol__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__SubProtocol__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24744:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24745:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24462:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24463:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24745:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24746:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24463:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24464:1: RULE_ID
             {
              before(grammarAccess.getSubProtocolAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubProtocol__NameAssignment_149970); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubProtocol__NameAssignment_149417); 
              after(grammarAccess.getSubProtocolAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -66745,24 +66208,24 @@
 
 
     // $ANTLR start "rule__SubProtocol__ProtocolAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24755:1: rule__SubProtocol__ProtocolAssignment_3 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24473:1: rule__SubProtocol__ProtocolAssignment_3 : ( ( ruleFQN ) ) ;
     public final void rule__SubProtocol__ProtocolAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24759:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24760:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24477:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24478:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24760:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24761:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24478:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24479:1: ( ruleFQN )
             {
              before(grammarAccess.getSubProtocolAccess().getProtocolGeneralProtocolClassCrossReference_3_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24762:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24763:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24480:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24481:1: ruleFQN
             {
              before(grammarAccess.getSubProtocolAccess().getProtocolGeneralProtocolClassFQNParserRuleCall_3_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__SubProtocol__ProtocolAssignment_350005);
+            pushFollow(FOLLOW_ruleFQN_in_rule__SubProtocol__ProtocolAssignment_349452);
             ruleFQN();
 
             state._fsp--;
@@ -66794,24 +66257,24 @@
 
 
     // $ANTLR start "rule__Message__PrivAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24774:1: rule__Message__PrivAssignment_0 : ( ( 'private' ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24492:1: rule__Message__PrivAssignment_0 : ( ( 'private' ) ) ;
     public final void rule__Message__PrivAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24778:1: ( ( ( 'private' ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24779:1: ( ( 'private' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24496:1: ( ( ( 'private' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24497:1: ( ( 'private' ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24779:1: ( ( 'private' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24780:1: ( 'private' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24497:1: ( ( 'private' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24498:1: ( 'private' )
             {
              before(grammarAccess.getMessageAccess().getPrivPrivateKeyword_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24781:1: ( 'private' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24782:1: 'private'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24499:1: ( 'private' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24500:1: 'private'
             {
              before(grammarAccess.getMessageAccess().getPrivPrivateKeyword_0_0()); 
-            match(input,127,FOLLOW_127_in_rule__Message__PrivAssignment_050045); 
+            match(input,128,FOLLOW_128_in_rule__Message__PrivAssignment_049492); 
              after(grammarAccess.getMessageAccess().getPrivPrivateKeyword_0_0()); 
 
             }
@@ -66839,20 +66302,20 @@
 
 
     // $ANTLR start "rule__Message__NameAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24797:1: rule__Message__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24515:1: rule__Message__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__Message__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24801:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24802:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24519:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24520:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24802:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24803:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24520:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24521:1: RULE_ID
             {
              before(grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Message__NameAssignment_250084); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Message__NameAssignment_249531); 
              after(grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -66876,20 +66339,20 @@
 
 
     // $ANTLR start "rule__Message__DataAssignment_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24812:1: rule__Message__DataAssignment_4 : ( ruleVarDecl ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24530:1: rule__Message__DataAssignment_4 : ( ruleVarDecl ) ;
     public final void rule__Message__DataAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24816:1: ( ( ruleVarDecl ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24817:1: ( ruleVarDecl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24534:1: ( ( ruleVarDecl ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24535:1: ( ruleVarDecl )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24817:1: ( ruleVarDecl )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24818:1: ruleVarDecl
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24535:1: ( ruleVarDecl )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24536:1: ruleVarDecl
             {
              before(grammarAccess.getMessageAccess().getDataVarDeclParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleVarDecl_in_rule__Message__DataAssignment_450115);
+            pushFollow(FOLLOW_ruleVarDecl_in_rule__Message__DataAssignment_449562);
             ruleVarDecl();
 
             state._fsp--;
@@ -66917,20 +66380,20 @@
 
 
     // $ANTLR start "rule__Message__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24827:1: rule__Message__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24545:1: rule__Message__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__Message__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24831:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24832:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24549:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24550:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24832:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24833:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24550:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24551:1: ruleDocumentation
             {
              before(grammarAccess.getMessageAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__Message__DocuAssignment_650146);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__Message__DocuAssignment_649593);
             ruleDocumentation();
 
             state._fsp--;
@@ -66958,20 +66421,20 @@
 
 
     // $ANTLR start "rule__PortClass__UserCodeAssignment_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24842:1: rule__PortClass__UserCodeAssignment_2_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24560:1: rule__PortClass__UserCodeAssignment_2_1 : ( ruleDetailCode ) ;
     public final void rule__PortClass__UserCodeAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24846:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24847:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24564:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24565:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24847:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24848:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24565:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24566:1: ruleDetailCode
             {
              before(grammarAccess.getPortClassAccess().getUserCodeDetailCodeParserRuleCall_2_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__PortClass__UserCodeAssignment_2_150177);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__PortClass__UserCodeAssignment_2_149624);
             ruleDetailCode();
 
             state._fsp--;
@@ -66999,20 +66462,20 @@
 
 
     // $ANTLR start "rule__PortClass__MsgHandlersAssignment_3_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24857:1: rule__PortClass__MsgHandlersAssignment_3_0 : ( ruleMessageHandler ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24575:1: rule__PortClass__MsgHandlersAssignment_3_0 : ( ruleMessageHandler ) ;
     public final void rule__PortClass__MsgHandlersAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24861:1: ( ( ruleMessageHandler ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24862:1: ( ruleMessageHandler )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24579:1: ( ( ruleMessageHandler ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24580:1: ( ruleMessageHandler )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24862:1: ( ruleMessageHandler )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24863:1: ruleMessageHandler
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24580:1: ( ruleMessageHandler )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24581:1: ruleMessageHandler
             {
              before(grammarAccess.getPortClassAccess().getMsgHandlersMessageHandlerParserRuleCall_3_0_0()); 
-            pushFollow(FOLLOW_ruleMessageHandler_in_rule__PortClass__MsgHandlersAssignment_3_050208);
+            pushFollow(FOLLOW_ruleMessageHandler_in_rule__PortClass__MsgHandlersAssignment_3_049655);
             ruleMessageHandler();
 
             state._fsp--;
@@ -67040,20 +66503,20 @@
 
 
     // $ANTLR start "rule__PortClass__OperationsAssignment_3_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24872:1: rule__PortClass__OperationsAssignment_3_1 : ( rulePortOperation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24590:1: rule__PortClass__OperationsAssignment_3_1 : ( rulePortOperation ) ;
     public final void rule__PortClass__OperationsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24876:1: ( ( rulePortOperation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24877:1: ( rulePortOperation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24594:1: ( ( rulePortOperation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24595:1: ( rulePortOperation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24877:1: ( rulePortOperation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24878:1: rulePortOperation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24595:1: ( rulePortOperation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24596:1: rulePortOperation
             {
              before(grammarAccess.getPortClassAccess().getOperationsPortOperationParserRuleCall_3_1_0()); 
-            pushFollow(FOLLOW_rulePortOperation_in_rule__PortClass__OperationsAssignment_3_150239);
+            pushFollow(FOLLOW_rulePortOperation_in_rule__PortClass__OperationsAssignment_3_149686);
             rulePortOperation();
 
             state._fsp--;
@@ -67081,20 +66544,20 @@
 
 
     // $ANTLR start "rule__PortClass__AttributesAssignment_3_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24887:1: rule__PortClass__AttributesAssignment_3_2 : ( ruleAttribute ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24605:1: rule__PortClass__AttributesAssignment_3_2 : ( ruleAttribute ) ;
     public final void rule__PortClass__AttributesAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24891:1: ( ( ruleAttribute ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24892:1: ( ruleAttribute )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24609:1: ( ( ruleAttribute ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24610:1: ( ruleAttribute )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24892:1: ( ruleAttribute )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24893:1: ruleAttribute
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24610:1: ( ruleAttribute )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24611:1: ruleAttribute
             {
              before(grammarAccess.getPortClassAccess().getAttributesAttributeParserRuleCall_3_2_0()); 
-            pushFollow(FOLLOW_ruleAttribute_in_rule__PortClass__AttributesAssignment_3_250270);
+            pushFollow(FOLLOW_ruleAttribute_in_rule__PortClass__AttributesAssignment_3_249717);
             ruleAttribute();
 
             state._fsp--;
@@ -67122,24 +66585,24 @@
 
 
     // $ANTLR start "rule__InMessageHandler__MsgAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24902:1: rule__InMessageHandler__MsgAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24620:1: rule__InMessageHandler__MsgAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__InMessageHandler__MsgAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24906:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24907:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24624:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24625:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24907:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24908:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24625:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24626:1: ( RULE_ID )
             {
              before(grammarAccess.getInMessageHandlerAccess().getMsgMessageCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24909:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24910:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24627:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24628:1: RULE_ID
             {
              before(grammarAccess.getInMessageHandlerAccess().getMsgMessageIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__InMessageHandler__MsgAssignment_250305); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__InMessageHandler__MsgAssignment_249752); 
              after(grammarAccess.getInMessageHandlerAccess().getMsgMessageIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -67167,20 +66630,20 @@
 
 
     // $ANTLR start "rule__InMessageHandler__DetailCodeAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24921:1: rule__InMessageHandler__DetailCodeAssignment_3 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24639:1: rule__InMessageHandler__DetailCodeAssignment_3 : ( ruleDetailCode ) ;
     public final void rule__InMessageHandler__DetailCodeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24925:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24926:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24643:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24644:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24926:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24927:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24644:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24645:1: ruleDetailCode
             {
              before(grammarAccess.getInMessageHandlerAccess().getDetailCodeDetailCodeParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__InMessageHandler__DetailCodeAssignment_350340);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__InMessageHandler__DetailCodeAssignment_349787);
             ruleDetailCode();
 
             state._fsp--;
@@ -67208,24 +66671,24 @@
 
 
     // $ANTLR start "rule__OutMessageHandler__MsgAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24936:1: rule__OutMessageHandler__MsgAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24654:1: rule__OutMessageHandler__MsgAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__OutMessageHandler__MsgAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24940:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24941:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24658:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24659:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24941:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24942:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24659:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24660:1: ( RULE_ID )
             {
              before(grammarAccess.getOutMessageHandlerAccess().getMsgMessageCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24943:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24944:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24661:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24662:1: RULE_ID
             {
              before(grammarAccess.getOutMessageHandlerAccess().getMsgMessageIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__OutMessageHandler__MsgAssignment_250375); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__OutMessageHandler__MsgAssignment_249822); 
              after(grammarAccess.getOutMessageHandlerAccess().getMsgMessageIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -67253,20 +66716,20 @@
 
 
     // $ANTLR start "rule__OutMessageHandler__DetailCodeAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24955:1: rule__OutMessageHandler__DetailCodeAssignment_3 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24673:1: rule__OutMessageHandler__DetailCodeAssignment_3 : ( ruleDetailCode ) ;
     public final void rule__OutMessageHandler__DetailCodeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24959:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24960:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24677:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24678:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24960:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24961:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24678:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24679:1: ruleDetailCode
             {
              before(grammarAccess.getOutMessageHandlerAccess().getDetailCodeDetailCodeParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__OutMessageHandler__DetailCodeAssignment_350410);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__OutMessageHandler__DetailCodeAssignment_349857);
             ruleDetailCode();
 
             state._fsp--;
@@ -67294,24 +66757,24 @@
 
 
     // $ANTLR start "rule__ActorClass__AbstractAssignment_0_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24970:1: rule__ActorClass__AbstractAssignment_0_0 : ( ( 'abstract' ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24688:1: rule__ActorClass__AbstractAssignment_0_0 : ( ( 'abstract' ) ) ;
     public final void rule__ActorClass__AbstractAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24974:1: ( ( ( 'abstract' ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24975:1: ( ( 'abstract' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24692:1: ( ( ( 'abstract' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24693:1: ( ( 'abstract' ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24975:1: ( ( 'abstract' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24976:1: ( 'abstract' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24693:1: ( ( 'abstract' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24694:1: ( 'abstract' )
             {
              before(grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24977:1: ( 'abstract' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24978:1: 'abstract'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24695:1: ( 'abstract' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24696:1: 'abstract'
             {
              before(grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0_0()); 
-            match(input,128,FOLLOW_128_in_rule__ActorClass__AbstractAssignment_0_050446); 
+            match(input,129,FOLLOW_129_in_rule__ActorClass__AbstractAssignment_0_049893); 
              after(grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0_0()); 
 
             }
@@ -67339,20 +66802,20 @@
 
 
     // $ANTLR start "rule__ActorClass__CommTypeAssignment_0_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24993:1: rule__ActorClass__CommTypeAssignment_0_1 : ( ruleComponentCommunicationType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24711:1: rule__ActorClass__CommTypeAssignment_0_1 : ( ruleComponentCommunicationType ) ;
     public final void rule__ActorClass__CommTypeAssignment_0_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24997:1: ( ( ruleComponentCommunicationType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24998:1: ( ruleComponentCommunicationType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24715:1: ( ( ruleComponentCommunicationType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24716:1: ( ruleComponentCommunicationType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24998:1: ( ruleComponentCommunicationType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24999:1: ruleComponentCommunicationType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24716:1: ( ruleComponentCommunicationType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24717:1: ruleComponentCommunicationType
             {
              before(grammarAccess.getActorClassAccess().getCommTypeComponentCommunicationTypeEnumRuleCall_0_1_0()); 
-            pushFollow(FOLLOW_ruleComponentCommunicationType_in_rule__ActorClass__CommTypeAssignment_0_150485);
+            pushFollow(FOLLOW_ruleComponentCommunicationType_in_rule__ActorClass__CommTypeAssignment_0_149932);
             ruleComponentCommunicationType();
 
             state._fsp--;
@@ -67380,20 +66843,20 @@
 
 
     // $ANTLR start "rule__ActorClass__NameAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25008:1: rule__ActorClass__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24726:1: rule__ActorClass__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__ActorClass__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25012:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25013:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24730:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24731:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25013:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25014:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24731:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24732:1: RULE_ID
             {
              before(grammarAccess.getActorClassAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ActorClass__NameAssignment_250516); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ActorClass__NameAssignment_249963); 
              after(grammarAccess.getActorClassAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -67417,20 +66880,20 @@
 
 
     // $ANTLR start "rule__ActorClass__DocuAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25023:1: rule__ActorClass__DocuAssignment_3 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24741:1: rule__ActorClass__DocuAssignment_3 : ( ruleDocumentation ) ;
     public final void rule__ActorClass__DocuAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25027:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25028:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24745:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24746:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25028:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25029:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24746:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24747:1: ruleDocumentation
             {
              before(grammarAccess.getActorClassAccess().getDocuDocumentationParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__ActorClass__DocuAssignment_350547);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__ActorClass__DocuAssignment_349994);
             ruleDocumentation();
 
             state._fsp--;
@@ -67458,24 +66921,24 @@
 
 
     // $ANTLR start "rule__ActorClass__BaseAssignment_4_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25038:1: rule__ActorClass__BaseAssignment_4_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24756:1: rule__ActorClass__BaseAssignment_4_1 : ( ( ruleFQN ) ) ;
     public final void rule__ActorClass__BaseAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25042:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25043:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24760:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24761:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25043:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25044:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24761:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24762:1: ( ruleFQN )
             {
              before(grammarAccess.getActorClassAccess().getBaseActorClassCrossReference_4_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25045:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25046:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24763:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24764:1: ruleFQN
             {
              before(grammarAccess.getActorClassAccess().getBaseActorClassFQNParserRuleCall_4_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__ActorClass__BaseAssignment_4_150582);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ActorClass__BaseAssignment_4_150029);
             ruleFQN();
 
             state._fsp--;
@@ -67507,20 +66970,20 @@
 
 
     // $ANTLR start "rule__ActorClass__AnnotationsAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25057:1: rule__ActorClass__AnnotationsAssignment_6 : ( ruleAnnotation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24775:1: rule__ActorClass__AnnotationsAssignment_6 : ( ruleAnnotation ) ;
     public final void rule__ActorClass__AnnotationsAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25061:1: ( ( ruleAnnotation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25062:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24779:1: ( ( ruleAnnotation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24780:1: ( ruleAnnotation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25062:1: ( ruleAnnotation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25063:1: ruleAnnotation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24780:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24781:1: ruleAnnotation
             {
              before(grammarAccess.getActorClassAccess().getAnnotationsAnnotationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleAnnotation_in_rule__ActorClass__AnnotationsAssignment_650617);
+            pushFollow(FOLLOW_ruleAnnotation_in_rule__ActorClass__AnnotationsAssignment_650064);
             ruleAnnotation();
 
             state._fsp--;
@@ -67548,20 +67011,20 @@
 
 
     // $ANTLR start "rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25072:1: rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 : ( ruleSPP ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24790:1: rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0 : ( ruleSPP ) ;
     public final void rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25076:1: ( ( ruleSPP ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25077:1: ( ruleSPP )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24794:1: ( ( ruleSPP ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24795:1: ( ruleSPP )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25077:1: ( ruleSPP )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25078:1: ruleSPP
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24795:1: ( ruleSPP )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24796:1: ruleSPP
             {
              before(grammarAccess.getActorClassAccess().getServiceProvisionPointsSPPParserRuleCall_7_2_0_0()); 
-            pushFollow(FOLLOW_ruleSPP_in_rule__ActorClass__ServiceProvisionPointsAssignment_7_2_050648);
+            pushFollow(FOLLOW_ruleSPP_in_rule__ActorClass__ServiceProvisionPointsAssignment_7_2_050095);
             ruleSPP();
 
             state._fsp--;
@@ -67589,20 +67052,20 @@
 
 
     // $ANTLR start "rule__ActorClass__InterfacePortsAssignment_7_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25087:1: rule__ActorClass__InterfacePortsAssignment_7_2_1 : ( rulePort ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24805:1: rule__ActorClass__InterfacePortsAssignment_7_2_1 : ( rulePort ) ;
     public final void rule__ActorClass__InterfacePortsAssignment_7_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25091:1: ( ( rulePort ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25092:1: ( rulePort )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24809:1: ( ( rulePort ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24810:1: ( rulePort )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25092:1: ( rulePort )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25093:1: rulePort
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24810:1: ( rulePort )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24811:1: rulePort
             {
              before(grammarAccess.getActorClassAccess().getInterfacePortsPortParserRuleCall_7_2_1_0()); 
-            pushFollow(FOLLOW_rulePort_in_rule__ActorClass__InterfacePortsAssignment_7_2_150679);
+            pushFollow(FOLLOW_rulePort_in_rule__ActorClass__InterfacePortsAssignment_7_2_150126);
             rulePort();
 
             state._fsp--;
@@ -67630,20 +67093,20 @@
 
 
     // $ANTLR start "rule__ActorClass__StructureDocuAssignment_8_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25102:1: rule__ActorClass__StructureDocuAssignment_8_1 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24820:1: rule__ActorClass__StructureDocuAssignment_8_1 : ( ruleDocumentation ) ;
     public final void rule__ActorClass__StructureDocuAssignment_8_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25106:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25107:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24824:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24825:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25107:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25108:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24825:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24826:1: ruleDocumentation
             {
              before(grammarAccess.getActorClassAccess().getStructureDocuDocumentationParserRuleCall_8_1_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__ActorClass__StructureDocuAssignment_8_150710);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__ActorClass__StructureDocuAssignment_8_150157);
             ruleDocumentation();
 
             state._fsp--;
@@ -67671,20 +67134,20 @@
 
 
     // $ANTLR start "rule__ActorClass__UserCode1Assignment_8_3_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25117:1: rule__ActorClass__UserCode1Assignment_8_3_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24835:1: rule__ActorClass__UserCode1Assignment_8_3_1 : ( ruleDetailCode ) ;
     public final void rule__ActorClass__UserCode1Assignment_8_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25121:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25122:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24839:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24840:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25122:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25123:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24840:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24841:1: ruleDetailCode
             {
              before(grammarAccess.getActorClassAccess().getUserCode1DetailCodeParserRuleCall_8_3_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode1Assignment_8_3_150741);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode1Assignment_8_3_150188);
             ruleDetailCode();
 
             state._fsp--;
@@ -67712,20 +67175,20 @@
 
 
     // $ANTLR start "rule__ActorClass__UserCode2Assignment_8_4_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25132:1: rule__ActorClass__UserCode2Assignment_8_4_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24850:1: rule__ActorClass__UserCode2Assignment_8_4_1 : ( ruleDetailCode ) ;
     public final void rule__ActorClass__UserCode2Assignment_8_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25136:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25137:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24854:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24855:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25137:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25138:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24855:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24856:1: ruleDetailCode
             {
              before(grammarAccess.getActorClassAccess().getUserCode2DetailCodeParserRuleCall_8_4_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode2Assignment_8_4_150772);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode2Assignment_8_4_150219);
             ruleDetailCode();
 
             state._fsp--;
@@ -67753,20 +67216,20 @@
 
 
     // $ANTLR start "rule__ActorClass__UserCode3Assignment_8_5_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25147:1: rule__ActorClass__UserCode3Assignment_8_5_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24865:1: rule__ActorClass__UserCode3Assignment_8_5_1 : ( ruleDetailCode ) ;
     public final void rule__ActorClass__UserCode3Assignment_8_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25151:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25152:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24869:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24870:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25152:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25153:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24870:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24871:1: ruleDetailCode
             {
              before(grammarAccess.getActorClassAccess().getUserCode3DetailCodeParserRuleCall_8_5_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode3Assignment_8_5_150803);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode3Assignment_8_5_150250);
             ruleDetailCode();
 
             state._fsp--;
@@ -67794,20 +67257,20 @@
 
 
     // $ANTLR start "rule__ActorClass__ConnectionsAssignment_8_6_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25162:1: rule__ActorClass__ConnectionsAssignment_8_6_0 : ( ruleLayerConnection ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24880:1: rule__ActorClass__ConnectionsAssignment_8_6_0 : ( ruleLayerConnection ) ;
     public final void rule__ActorClass__ConnectionsAssignment_8_6_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25166:1: ( ( ruleLayerConnection ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25167:1: ( ruleLayerConnection )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24884:1: ( ( ruleLayerConnection ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24885:1: ( ruleLayerConnection )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25167:1: ( ruleLayerConnection )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25168:1: ruleLayerConnection
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24885:1: ( ruleLayerConnection )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24886:1: ruleLayerConnection
             {
              before(grammarAccess.getActorClassAccess().getConnectionsLayerConnectionParserRuleCall_8_6_0_0()); 
-            pushFollow(FOLLOW_ruleLayerConnection_in_rule__ActorClass__ConnectionsAssignment_8_6_050834);
+            pushFollow(FOLLOW_ruleLayerConnection_in_rule__ActorClass__ConnectionsAssignment_8_6_050281);
             ruleLayerConnection();
 
             state._fsp--;
@@ -67835,20 +67298,20 @@
 
 
     // $ANTLR start "rule__ActorClass__BindingsAssignment_8_6_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25177:1: rule__ActorClass__BindingsAssignment_8_6_1 : ( ruleBinding ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24895:1: rule__ActorClass__BindingsAssignment_8_6_1 : ( ruleBinding ) ;
     public final void rule__ActorClass__BindingsAssignment_8_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25181:1: ( ( ruleBinding ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25182:1: ( ruleBinding )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24899:1: ( ( ruleBinding ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24900:1: ( ruleBinding )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25182:1: ( ruleBinding )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25183:1: ruleBinding
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24900:1: ( ruleBinding )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24901:1: ruleBinding
             {
              before(grammarAccess.getActorClassAccess().getBindingsBindingParserRuleCall_8_6_1_0()); 
-            pushFollow(FOLLOW_ruleBinding_in_rule__ActorClass__BindingsAssignment_8_6_150865);
+            pushFollow(FOLLOW_ruleBinding_in_rule__ActorClass__BindingsAssignment_8_6_150312);
             ruleBinding();
 
             state._fsp--;
@@ -67876,20 +67339,20 @@
 
 
     // $ANTLR start "rule__ActorClass__ServiceImplementationsAssignment_8_6_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25192:1: rule__ActorClass__ServiceImplementationsAssignment_8_6_2 : ( ruleServiceImplementation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24910:1: rule__ActorClass__ServiceImplementationsAssignment_8_6_2 : ( ruleServiceImplementation ) ;
     public final void rule__ActorClass__ServiceImplementationsAssignment_8_6_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25196:1: ( ( ruleServiceImplementation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25197:1: ( ruleServiceImplementation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24914:1: ( ( ruleServiceImplementation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24915:1: ( ruleServiceImplementation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25197:1: ( ruleServiceImplementation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25198:1: ruleServiceImplementation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24915:1: ( ruleServiceImplementation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24916:1: ruleServiceImplementation
             {
              before(grammarAccess.getActorClassAccess().getServiceImplementationsServiceImplementationParserRuleCall_8_6_2_0()); 
-            pushFollow(FOLLOW_ruleServiceImplementation_in_rule__ActorClass__ServiceImplementationsAssignment_8_6_250896);
+            pushFollow(FOLLOW_ruleServiceImplementation_in_rule__ActorClass__ServiceImplementationsAssignment_8_6_250343);
             ruleServiceImplementation();
 
             state._fsp--;
@@ -67917,20 +67380,20 @@
 
 
     // $ANTLR start "rule__ActorClass__AttributesAssignment_8_6_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25207:1: rule__ActorClass__AttributesAssignment_8_6_3 : ( ruleAttribute ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24925:1: rule__ActorClass__AttributesAssignment_8_6_3 : ( ruleAttribute ) ;
     public final void rule__ActorClass__AttributesAssignment_8_6_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25211:1: ( ( ruleAttribute ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25212:1: ( ruleAttribute )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24929:1: ( ( ruleAttribute ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24930:1: ( ruleAttribute )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25212:1: ( ruleAttribute )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25213:1: ruleAttribute
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24930:1: ( ruleAttribute )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24931:1: ruleAttribute
             {
              before(grammarAccess.getActorClassAccess().getAttributesAttributeParserRuleCall_8_6_3_0()); 
-            pushFollow(FOLLOW_ruleAttribute_in_rule__ActorClass__AttributesAssignment_8_6_350927);
+            pushFollow(FOLLOW_ruleAttribute_in_rule__ActorClass__AttributesAssignment_8_6_350374);
             ruleAttribute();
 
             state._fsp--;
@@ -67958,20 +67421,20 @@
 
 
     // $ANTLR start "rule__ActorClass__ActorRefsAssignment_8_6_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25222:1: rule__ActorClass__ActorRefsAssignment_8_6_4 : ( ruleActorRef ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24940:1: rule__ActorClass__ActorRefsAssignment_8_6_4 : ( ruleActorRef ) ;
     public final void rule__ActorClass__ActorRefsAssignment_8_6_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25226:1: ( ( ruleActorRef ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25227:1: ( ruleActorRef )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24944:1: ( ( ruleActorRef ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24945:1: ( ruleActorRef )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25227:1: ( ruleActorRef )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25228:1: ruleActorRef
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24945:1: ( ruleActorRef )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24946:1: ruleActorRef
             {
              before(grammarAccess.getActorClassAccess().getActorRefsActorRefParserRuleCall_8_6_4_0()); 
-            pushFollow(FOLLOW_ruleActorRef_in_rule__ActorClass__ActorRefsAssignment_8_6_450958);
+            pushFollow(FOLLOW_ruleActorRef_in_rule__ActorClass__ActorRefsAssignment_8_6_450405);
             ruleActorRef();
 
             state._fsp--;
@@ -67999,20 +67462,20 @@
 
 
     // $ANTLR start "rule__ActorClass__ServiceAccessPointsAssignment_8_6_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25237:1: rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 : ( ruleSAP ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24955:1: rule__ActorClass__ServiceAccessPointsAssignment_8_6_5 : ( ruleSAP ) ;
     public final void rule__ActorClass__ServiceAccessPointsAssignment_8_6_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25241:1: ( ( ruleSAP ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25242:1: ( ruleSAP )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24959:1: ( ( ruleSAP ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24960:1: ( ruleSAP )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25242:1: ( ruleSAP )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25243:1: ruleSAP
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24960:1: ( ruleSAP )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24961:1: ruleSAP
             {
              before(grammarAccess.getActorClassAccess().getServiceAccessPointsSAPParserRuleCall_8_6_5_0()); 
-            pushFollow(FOLLOW_ruleSAP_in_rule__ActorClass__ServiceAccessPointsAssignment_8_6_550989);
+            pushFollow(FOLLOW_ruleSAP_in_rule__ActorClass__ServiceAccessPointsAssignment_8_6_550436);
             ruleSAP();
 
             state._fsp--;
@@ -68040,20 +67503,20 @@
 
 
     // $ANTLR start "rule__ActorClass__InternalPortsAssignment_8_6_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25252:1: rule__ActorClass__InternalPortsAssignment_8_6_6 : ( rulePort ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24970:1: rule__ActorClass__InternalPortsAssignment_8_6_6 : ( rulePort ) ;
     public final void rule__ActorClass__InternalPortsAssignment_8_6_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25256:1: ( ( rulePort ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25257:1: ( rulePort )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24974:1: ( ( rulePort ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24975:1: ( rulePort )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25257:1: ( rulePort )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25258:1: rulePort
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24975:1: ( rulePort )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24976:1: rulePort
             {
              before(grammarAccess.getActorClassAccess().getInternalPortsPortParserRuleCall_8_6_6_0()); 
-            pushFollow(FOLLOW_rulePort_in_rule__ActorClass__InternalPortsAssignment_8_6_651020);
+            pushFollow(FOLLOW_rulePort_in_rule__ActorClass__InternalPortsAssignment_8_6_650467);
             rulePort();
 
             state._fsp--;
@@ -68081,20 +67544,20 @@
 
 
     // $ANTLR start "rule__ActorClass__ExternalPortsAssignment_8_6_7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25267:1: rule__ActorClass__ExternalPortsAssignment_8_6_7 : ( ruleExternalPort ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24985:1: rule__ActorClass__ExternalPortsAssignment_8_6_7 : ( ruleExternalPort ) ;
     public final void rule__ActorClass__ExternalPortsAssignment_8_6_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25271:1: ( ( ruleExternalPort ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25272:1: ( ruleExternalPort )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24989:1: ( ( ruleExternalPort ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24990:1: ( ruleExternalPort )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25272:1: ( ruleExternalPort )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25273:1: ruleExternalPort
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24990:1: ( ruleExternalPort )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:24991:1: ruleExternalPort
             {
              before(grammarAccess.getActorClassAccess().getExternalPortsExternalPortParserRuleCall_8_6_7_0()); 
-            pushFollow(FOLLOW_ruleExternalPort_in_rule__ActorClass__ExternalPortsAssignment_8_6_751051);
+            pushFollow(FOLLOW_ruleExternalPort_in_rule__ActorClass__ExternalPortsAssignment_8_6_750498);
             ruleExternalPort();
 
             state._fsp--;
@@ -68122,20 +67585,20 @@
 
 
     // $ANTLR start "rule__ActorClass__BehaviorDocuAssignment_9_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25282:1: rule__ActorClass__BehaviorDocuAssignment_9_1 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25000:1: rule__ActorClass__BehaviorDocuAssignment_9_1 : ( ruleDocumentation ) ;
     public final void rule__ActorClass__BehaviorDocuAssignment_9_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25286:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25287:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25004:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25005:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25287:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25288:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25005:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25006:1: ruleDocumentation
             {
              before(grammarAccess.getActorClassAccess().getBehaviorDocuDocumentationParserRuleCall_9_1_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__ActorClass__BehaviorDocuAssignment_9_151082);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__ActorClass__BehaviorDocuAssignment_9_150529);
             ruleDocumentation();
 
             state._fsp--;
@@ -68163,20 +67626,20 @@
 
 
     // $ANTLR start "rule__ActorClass__BehaviorAnnotationsAssignment_9_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25297:1: rule__ActorClass__BehaviorAnnotationsAssignment_9_3 : ( ruleAnnotation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25015:1: rule__ActorClass__BehaviorAnnotationsAssignment_9_3 : ( ruleAnnotation ) ;
     public final void rule__ActorClass__BehaviorAnnotationsAssignment_9_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25301:1: ( ( ruleAnnotation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25302:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25019:1: ( ( ruleAnnotation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25020:1: ( ruleAnnotation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25302:1: ( ruleAnnotation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25303:1: ruleAnnotation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25020:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25021:1: ruleAnnotation
             {
              before(grammarAccess.getActorClassAccess().getBehaviorAnnotationsAnnotationParserRuleCall_9_3_0()); 
-            pushFollow(FOLLOW_ruleAnnotation_in_rule__ActorClass__BehaviorAnnotationsAssignment_9_351113);
+            pushFollow(FOLLOW_ruleAnnotation_in_rule__ActorClass__BehaviorAnnotationsAssignment_9_350560);
             ruleAnnotation();
 
             state._fsp--;
@@ -68204,20 +67667,20 @@
 
 
     // $ANTLR start "rule__ActorClass__OperationsAssignment_9_4_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25312:1: rule__ActorClass__OperationsAssignment_9_4_0 : ( ruleStandardOperation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25030:1: rule__ActorClass__OperationsAssignment_9_4_0 : ( ruleStandardOperation ) ;
     public final void rule__ActorClass__OperationsAssignment_9_4_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25316:1: ( ( ruleStandardOperation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25317:1: ( ruleStandardOperation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25034:1: ( ( ruleStandardOperation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25035:1: ( ruleStandardOperation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25317:1: ( ruleStandardOperation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25318:1: ruleStandardOperation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25035:1: ( ruleStandardOperation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25036:1: ruleStandardOperation
             {
              before(grammarAccess.getActorClassAccess().getOperationsStandardOperationParserRuleCall_9_4_0_0()); 
-            pushFollow(FOLLOW_ruleStandardOperation_in_rule__ActorClass__OperationsAssignment_9_4_051144);
+            pushFollow(FOLLOW_ruleStandardOperation_in_rule__ActorClass__OperationsAssignment_9_4_050591);
             ruleStandardOperation();
 
             state._fsp--;
@@ -68245,20 +67708,20 @@
 
 
     // $ANTLR start "rule__ActorClass__StructorsAssignment_9_4_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25327:1: rule__ActorClass__StructorsAssignment_9_4_1 : ( ruleClassStructor ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25045:1: rule__ActorClass__StructorsAssignment_9_4_1 : ( ruleClassStructor ) ;
     public final void rule__ActorClass__StructorsAssignment_9_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25331:1: ( ( ruleClassStructor ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25332:1: ( ruleClassStructor )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25049:1: ( ( ruleClassStructor ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25050:1: ( ruleClassStructor )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25332:1: ( ruleClassStructor )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25333:1: ruleClassStructor
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25050:1: ( ruleClassStructor )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25051:1: ruleClassStructor
             {
              before(grammarAccess.getActorClassAccess().getStructorsClassStructorParserRuleCall_9_4_1_0()); 
-            pushFollow(FOLLOW_ruleClassStructor_in_rule__ActorClass__StructorsAssignment_9_4_151175);
+            pushFollow(FOLLOW_ruleClassStructor_in_rule__ActorClass__StructorsAssignment_9_4_150622);
             ruleClassStructor();
 
             state._fsp--;
@@ -68286,20 +67749,20 @@
 
 
     // $ANTLR start "rule__ActorClass__StateMachineAssignment_9_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25342:1: rule__ActorClass__StateMachineAssignment_9_5 : ( ruleStateMachine ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25060:1: rule__ActorClass__StateMachineAssignment_9_5 : ( ruleStateMachine ) ;
     public final void rule__ActorClass__StateMachineAssignment_9_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25346:1: ( ( ruleStateMachine ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25347:1: ( ruleStateMachine )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25064:1: ( ( ruleStateMachine ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25065:1: ( ruleStateMachine )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25347:1: ( ruleStateMachine )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25348:1: ruleStateMachine
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25065:1: ( ruleStateMachine )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25066:1: ruleStateMachine
             {
              before(grammarAccess.getActorClassAccess().getStateMachineStateMachineParserRuleCall_9_5_0()); 
-            pushFollow(FOLLOW_ruleStateMachine_in_rule__ActorClass__StateMachineAssignment_9_551206);
+            pushFollow(FOLLOW_ruleStateMachine_in_rule__ActorClass__StateMachineAssignment_9_550653);
             ruleStateMachine();
 
             state._fsp--;
@@ -68327,24 +67790,24 @@
 
 
     // $ANTLR start "rule__Port__ConjugatedAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25357:1: rule__Port__ConjugatedAssignment_0 : ( ( 'conjugated' ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25075:1: rule__Port__ConjugatedAssignment_0 : ( ( 'conjugated' ) ) ;
     public final void rule__Port__ConjugatedAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25361:1: ( ( ( 'conjugated' ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25362:1: ( ( 'conjugated' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25079:1: ( ( ( 'conjugated' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25080:1: ( ( 'conjugated' ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25362:1: ( ( 'conjugated' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25363:1: ( 'conjugated' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25080:1: ( ( 'conjugated' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25081:1: ( 'conjugated' )
             {
              before(grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25364:1: ( 'conjugated' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25365:1: 'conjugated'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25082:1: ( 'conjugated' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25083:1: 'conjugated'
             {
              before(grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); 
-            match(input,66,FOLLOW_66_in_rule__Port__ConjugatedAssignment_051242); 
+            match(input,67,FOLLOW_67_in_rule__Port__ConjugatedAssignment_050689); 
              after(grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); 
 
             }
@@ -68372,20 +67835,20 @@
 
 
     // $ANTLR start "rule__Port__NameAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25380:1: rule__Port__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25098:1: rule__Port__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__Port__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25384:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25385:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25102:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25103:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25385:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25386:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25103:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25104:1: RULE_ID
             {
              before(grammarAccess.getPortAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Port__NameAssignment_251281); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Port__NameAssignment_250728); 
              after(grammarAccess.getPortAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -68409,20 +67872,20 @@
 
 
     // $ANTLR start "rule__Port__MultiplicityAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25395:1: rule__Port__MultiplicityAssignment_3 : ( ruleMULTIPLICITY ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25113:1: rule__Port__MultiplicityAssignment_3 : ( ruleMULTIPLICITY ) ;
     public final void rule__Port__MultiplicityAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25399:1: ( ( ruleMULTIPLICITY ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25400:1: ( ruleMULTIPLICITY )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25117:1: ( ( ruleMULTIPLICITY ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25118:1: ( ruleMULTIPLICITY )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25400:1: ( ruleMULTIPLICITY )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25401:1: ruleMULTIPLICITY
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25118:1: ( ruleMULTIPLICITY )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25119:1: ruleMULTIPLICITY
             {
              before(grammarAccess.getPortAccess().getMultiplicityMULTIPLICITYParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleMULTIPLICITY_in_rule__Port__MultiplicityAssignment_351312);
+            pushFollow(FOLLOW_ruleMULTIPLICITY_in_rule__Port__MultiplicityAssignment_350759);
             ruleMULTIPLICITY();
 
             state._fsp--;
@@ -68450,24 +67913,24 @@
 
 
     // $ANTLR start "rule__Port__ProtocolAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25410:1: rule__Port__ProtocolAssignment_5 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25128:1: rule__Port__ProtocolAssignment_5 : ( ( ruleFQN ) ) ;
     public final void rule__Port__ProtocolAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25414:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25415:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25132:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25133:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25415:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25416:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25133:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25134:1: ( ruleFQN )
             {
              before(grammarAccess.getPortAccess().getProtocolGeneralProtocolClassCrossReference_5_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25417:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25418:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25135:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25136:1: ruleFQN
             {
              before(grammarAccess.getPortAccess().getProtocolGeneralProtocolClassFQNParserRuleCall_5_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__Port__ProtocolAssignment_551347);
+            pushFollow(FOLLOW_ruleFQN_in_rule__Port__ProtocolAssignment_550794);
             ruleFQN();
 
             state._fsp--;
@@ -68499,20 +67962,20 @@
 
 
     // $ANTLR start "rule__Port__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25429:1: rule__Port__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25147:1: rule__Port__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__Port__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25433:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25434:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25151:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25152:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25434:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25435:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25152:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25153:1: ruleDocumentation
             {
              before(grammarAccess.getPortAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__Port__DocuAssignment_651382);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__Port__DocuAssignment_650829);
             ruleDocumentation();
 
             state._fsp--;
@@ -68540,24 +68003,24 @@
 
 
     // $ANTLR start "rule__ExternalPort__InterfacePortAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25444:1: rule__ExternalPort__InterfacePortAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25162:1: rule__ExternalPort__InterfacePortAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__ExternalPort__InterfacePortAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25448:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25449:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25166:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25167:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25449:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25450:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25167:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25168:1: ( RULE_ID )
             {
              before(grammarAccess.getExternalPortAccess().getInterfacePortPortCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25451:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25452:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25169:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25170:1: RULE_ID
             {
              before(grammarAccess.getExternalPortAccess().getInterfacePortPortIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExternalPort__InterfacePortAssignment_251417); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExternalPort__InterfacePortAssignment_250864); 
              after(grammarAccess.getExternalPortAccess().getInterfacePortPortIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -68585,20 +68048,20 @@
 
 
     // $ANTLR start "rule__SAP__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25463:1: rule__SAP__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25181:1: rule__SAP__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__SAP__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25467:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25468:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25185:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25186:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25468:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25469:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25186:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25187:1: RULE_ID
             {
              before(grammarAccess.getSAPAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SAP__NameAssignment_151452); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SAP__NameAssignment_150899); 
              after(grammarAccess.getSAPAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -68622,24 +68085,24 @@
 
 
     // $ANTLR start "rule__SAP__ProtocolAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25478:1: rule__SAP__ProtocolAssignment_3 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25196:1: rule__SAP__ProtocolAssignment_3 : ( ( ruleFQN ) ) ;
     public final void rule__SAP__ProtocolAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25482:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25483:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25200:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25201:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25483:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25484:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25201:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25202:1: ( ruleFQN )
             {
              before(grammarAccess.getSAPAccess().getProtocolProtocolClassCrossReference_3_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25485:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25486:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25203:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25204:1: ruleFQN
             {
              before(grammarAccess.getSAPAccess().getProtocolProtocolClassFQNParserRuleCall_3_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__SAP__ProtocolAssignment_351487);
+            pushFollow(FOLLOW_ruleFQN_in_rule__SAP__ProtocolAssignment_350934);
             ruleFQN();
 
             state._fsp--;
@@ -68671,20 +68134,20 @@
 
 
     // $ANTLR start "rule__SPP__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25497:1: rule__SPP__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25215:1: rule__SPP__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__SPP__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25501:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25502:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25219:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25220:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25502:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25503:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25220:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25221:1: RULE_ID
             {
              before(grammarAccess.getSPPAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SPP__NameAssignment_151522); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SPP__NameAssignment_150969); 
              after(grammarAccess.getSPPAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -68708,24 +68171,24 @@
 
 
     // $ANTLR start "rule__SPP__ProtocolAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25512:1: rule__SPP__ProtocolAssignment_3 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25230:1: rule__SPP__ProtocolAssignment_3 : ( ( ruleFQN ) ) ;
     public final void rule__SPP__ProtocolAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25516:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25517:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25234:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25235:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25517:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25518:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25235:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25236:1: ( ruleFQN )
             {
              before(grammarAccess.getSPPAccess().getProtocolProtocolClassCrossReference_3_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25519:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25520:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25237:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25238:1: ruleFQN
             {
              before(grammarAccess.getSPPAccess().getProtocolProtocolClassFQNParserRuleCall_3_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__SPP__ProtocolAssignment_351557);
+            pushFollow(FOLLOW_ruleFQN_in_rule__SPP__ProtocolAssignment_351004);
             ruleFQN();
 
             state._fsp--;
@@ -68757,24 +68220,24 @@
 
 
     // $ANTLR start "rule__ServiceImplementation__SppAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25531:1: rule__ServiceImplementation__SppAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25249:1: rule__ServiceImplementation__SppAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__ServiceImplementation__SppAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25535:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25536:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25253:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25254:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25536:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25537:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25254:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25255:1: ( RULE_ID )
             {
              before(grammarAccess.getServiceImplementationAccess().getSppSPPCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25538:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25539:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25256:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25257:1: RULE_ID
             {
              before(grammarAccess.getServiceImplementationAccess().getSppSPPIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ServiceImplementation__SppAssignment_251596); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ServiceImplementation__SppAssignment_251043); 
              after(grammarAccess.getServiceImplementationAccess().getSppSPPIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -68802,20 +68265,20 @@
 
 
     // $ANTLR start "rule__LogicalSystem__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25550:1: rule__LogicalSystem__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25268:1: rule__LogicalSystem__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__LogicalSystem__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25554:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25555:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25272:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25273:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25555:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25556:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25273:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25274:1: RULE_ID
             {
              before(grammarAccess.getLogicalSystemAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__LogicalSystem__NameAssignment_151631); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__LogicalSystem__NameAssignment_151078); 
              after(grammarAccess.getLogicalSystemAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -68839,20 +68302,20 @@
 
 
     // $ANTLR start "rule__LogicalSystem__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25565:1: rule__LogicalSystem__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25283:1: rule__LogicalSystem__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__LogicalSystem__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25569:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25570:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25287:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25288:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25570:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25571:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25288:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25289:1: ruleDocumentation
             {
              before(grammarAccess.getLogicalSystemAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__LogicalSystem__DocuAssignment_251662);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__LogicalSystem__DocuAssignment_251109);
             ruleDocumentation();
 
             state._fsp--;
@@ -68880,20 +68343,20 @@
 
 
     // $ANTLR start "rule__LogicalSystem__AnnotationsAssignment_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25580:1: rule__LogicalSystem__AnnotationsAssignment_4 : ( ruleAnnotation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25298:1: rule__LogicalSystem__AnnotationsAssignment_4 : ( ruleAnnotation ) ;
     public final void rule__LogicalSystem__AnnotationsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25584:1: ( ( ruleAnnotation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25585:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25302:1: ( ( ruleAnnotation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25303:1: ( ruleAnnotation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25585:1: ( ruleAnnotation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25586:1: ruleAnnotation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25303:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25304:1: ruleAnnotation
             {
              before(grammarAccess.getLogicalSystemAccess().getAnnotationsAnnotationParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleAnnotation_in_rule__LogicalSystem__AnnotationsAssignment_451693);
+            pushFollow(FOLLOW_ruleAnnotation_in_rule__LogicalSystem__AnnotationsAssignment_451140);
             ruleAnnotation();
 
             state._fsp--;
@@ -68921,20 +68384,20 @@
 
 
     // $ANTLR start "rule__LogicalSystem__ConnectionsAssignment_5_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25595:1: rule__LogicalSystem__ConnectionsAssignment_5_0 : ( ruleLayerConnection ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25313:1: rule__LogicalSystem__ConnectionsAssignment_5_0 : ( ruleLayerConnection ) ;
     public final void rule__LogicalSystem__ConnectionsAssignment_5_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25599:1: ( ( ruleLayerConnection ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25600:1: ( ruleLayerConnection )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25317:1: ( ( ruleLayerConnection ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25318:1: ( ruleLayerConnection )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25600:1: ( ruleLayerConnection )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25601:1: ruleLayerConnection
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25318:1: ( ruleLayerConnection )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25319:1: ruleLayerConnection
             {
              before(grammarAccess.getLogicalSystemAccess().getConnectionsLayerConnectionParserRuleCall_5_0_0()); 
-            pushFollow(FOLLOW_ruleLayerConnection_in_rule__LogicalSystem__ConnectionsAssignment_5_051724);
+            pushFollow(FOLLOW_ruleLayerConnection_in_rule__LogicalSystem__ConnectionsAssignment_5_051171);
             ruleLayerConnection();
 
             state._fsp--;
@@ -68962,20 +68425,20 @@
 
 
     // $ANTLR start "rule__LogicalSystem__BindingsAssignment_5_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25610:1: rule__LogicalSystem__BindingsAssignment_5_1 : ( ruleBinding ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25328:1: rule__LogicalSystem__BindingsAssignment_5_1 : ( ruleBinding ) ;
     public final void rule__LogicalSystem__BindingsAssignment_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25614:1: ( ( ruleBinding ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25615:1: ( ruleBinding )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25332:1: ( ( ruleBinding ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25333:1: ( ruleBinding )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25615:1: ( ruleBinding )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25616:1: ruleBinding
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25333:1: ( ruleBinding )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25334:1: ruleBinding
             {
              before(grammarAccess.getLogicalSystemAccess().getBindingsBindingParserRuleCall_5_1_0()); 
-            pushFollow(FOLLOW_ruleBinding_in_rule__LogicalSystem__BindingsAssignment_5_151755);
+            pushFollow(FOLLOW_ruleBinding_in_rule__LogicalSystem__BindingsAssignment_5_151202);
             ruleBinding();
 
             state._fsp--;
@@ -69003,20 +68466,20 @@
 
 
     // $ANTLR start "rule__LogicalSystem__SubSystemsAssignment_5_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25625:1: rule__LogicalSystem__SubSystemsAssignment_5_2 : ( ruleSubSystemRef ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25343:1: rule__LogicalSystem__SubSystemsAssignment_5_2 : ( ruleSubSystemRef ) ;
     public final void rule__LogicalSystem__SubSystemsAssignment_5_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25629:1: ( ( ruleSubSystemRef ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25630:1: ( ruleSubSystemRef )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25347:1: ( ( ruleSubSystemRef ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25348:1: ( ruleSubSystemRef )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25630:1: ( ruleSubSystemRef )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25631:1: ruleSubSystemRef
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25348:1: ( ruleSubSystemRef )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25349:1: ruleSubSystemRef
             {
              before(grammarAccess.getLogicalSystemAccess().getSubSystemsSubSystemRefParserRuleCall_5_2_0()); 
-            pushFollow(FOLLOW_ruleSubSystemRef_in_rule__LogicalSystem__SubSystemsAssignment_5_251786);
+            pushFollow(FOLLOW_ruleSubSystemRef_in_rule__LogicalSystem__SubSystemsAssignment_5_251233);
             ruleSubSystemRef();
 
             state._fsp--;
@@ -69044,20 +68507,20 @@
 
 
     // $ANTLR start "rule__SubSystemRef__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25640:1: rule__SubSystemRef__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25358:1: rule__SubSystemRef__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__SubSystemRef__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25644:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25645:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25362:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25363:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25645:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25646:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25363:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25364:1: RULE_ID
             {
              before(grammarAccess.getSubSystemRefAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubSystemRef__NameAssignment_151817); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubSystemRef__NameAssignment_151264); 
              after(grammarAccess.getSubSystemRefAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -69081,24 +68544,24 @@
 
 
     // $ANTLR start "rule__SubSystemRef__TypeAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25655:1: rule__SubSystemRef__TypeAssignment_3 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25373:1: rule__SubSystemRef__TypeAssignment_3 : ( ( ruleFQN ) ) ;
     public final void rule__SubSystemRef__TypeAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25659:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25660:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25377:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25378:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25660:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25661:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25378:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25379:1: ( ruleFQN )
             {
              before(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassCrossReference_3_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25662:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25663:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25380:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25381:1: ruleFQN
             {
              before(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassFQNParserRuleCall_3_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__SubSystemRef__TypeAssignment_351852);
+            pushFollow(FOLLOW_ruleFQN_in_rule__SubSystemRef__TypeAssignment_351299);
             ruleFQN();
 
             state._fsp--;
@@ -69130,20 +68593,20 @@
 
 
     // $ANTLR start "rule__SubSystemRef__DocuAssignment_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25674:1: rule__SubSystemRef__DocuAssignment_4 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25392:1: rule__SubSystemRef__DocuAssignment_4 : ( ruleDocumentation ) ;
     public final void rule__SubSystemRef__DocuAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25678:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25679:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25396:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25397:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25679:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25680:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25397:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25398:1: ruleDocumentation
             {
              before(grammarAccess.getSubSystemRefAccess().getDocuDocumentationParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__SubSystemRef__DocuAssignment_451887);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__SubSystemRef__DocuAssignment_451334);
             ruleDocumentation();
 
             state._fsp--;
@@ -69171,20 +68634,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25689:1: rule__SubSystemClass__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25407:1: rule__SubSystemClass__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__SubSystemClass__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25693:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25694:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25411:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25412:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25694:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25695:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25412:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25413:1: RULE_ID
             {
              before(grammarAccess.getSubSystemClassAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubSystemClass__NameAssignment_151918); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubSystemClass__NameAssignment_151365); 
              after(grammarAccess.getSubSystemClassAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -69208,20 +68671,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25704:1: rule__SubSystemClass__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25422:1: rule__SubSystemClass__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__SubSystemClass__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25708:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25709:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25426:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25427:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25709:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25710:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25427:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25428:1: ruleDocumentation
             {
              before(grammarAccess.getSubSystemClassAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__SubSystemClass__DocuAssignment_251949);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__SubSystemClass__DocuAssignment_251396);
             ruleDocumentation();
 
             state._fsp--;
@@ -69249,20 +68712,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__AnnotationsAssignment_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25719:1: rule__SubSystemClass__AnnotationsAssignment_4 : ( ruleAnnotation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25437:1: rule__SubSystemClass__AnnotationsAssignment_4 : ( ruleAnnotation ) ;
     public final void rule__SubSystemClass__AnnotationsAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25723:1: ( ( ruleAnnotation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25724:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25441:1: ( ( ruleAnnotation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25442:1: ( ruleAnnotation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25724:1: ( ruleAnnotation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25725:1: ruleAnnotation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25442:1: ( ruleAnnotation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25443:1: ruleAnnotation
             {
              before(grammarAccess.getSubSystemClassAccess().getAnnotationsAnnotationParserRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleAnnotation_in_rule__SubSystemClass__AnnotationsAssignment_451980);
+            pushFollow(FOLLOW_ruleAnnotation_in_rule__SubSystemClass__AnnotationsAssignment_451427);
             ruleAnnotation();
 
             state._fsp--;
@@ -69290,20 +68753,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__UserCode1Assignment_5_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25734:1: rule__SubSystemClass__UserCode1Assignment_5_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25452:1: rule__SubSystemClass__UserCode1Assignment_5_1 : ( ruleDetailCode ) ;
     public final void rule__SubSystemClass__UserCode1Assignment_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25738:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25739:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25456:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25457:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25739:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25740:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25457:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25458:1: ruleDetailCode
             {
              before(grammarAccess.getSubSystemClassAccess().getUserCode1DetailCodeParserRuleCall_5_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode1Assignment_5_152011);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode1Assignment_5_151458);
             ruleDetailCode();
 
             state._fsp--;
@@ -69331,20 +68794,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__UserCode2Assignment_6_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25749:1: rule__SubSystemClass__UserCode2Assignment_6_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25467:1: rule__SubSystemClass__UserCode2Assignment_6_1 : ( ruleDetailCode ) ;
     public final void rule__SubSystemClass__UserCode2Assignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25753:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25754:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25471:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25472:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25754:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25755:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25472:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25473:1: ruleDetailCode
             {
              before(grammarAccess.getSubSystemClassAccess().getUserCode2DetailCodeParserRuleCall_6_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode2Assignment_6_152042);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode2Assignment_6_151489);
             ruleDetailCode();
 
             state._fsp--;
@@ -69372,20 +68835,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__UserCode3Assignment_7_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25764:1: rule__SubSystemClass__UserCode3Assignment_7_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25482:1: rule__SubSystemClass__UserCode3Assignment_7_1 : ( ruleDetailCode ) ;
     public final void rule__SubSystemClass__UserCode3Assignment_7_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25768:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25769:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25486:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25487:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25769:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25770:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25487:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25488:1: ruleDetailCode
             {
              before(grammarAccess.getSubSystemClassAccess().getUserCode3DetailCodeParserRuleCall_7_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode3Assignment_7_152073);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode3Assignment_7_151520);
             ruleDetailCode();
 
             state._fsp--;
@@ -69413,20 +68876,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25779:1: rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 : ( ruleActorInstanceMapping ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25497:1: rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0 : ( ruleActorInstanceMapping ) ;
     public final void rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25783:1: ( ( ruleActorInstanceMapping ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25784:1: ( ruleActorInstanceMapping )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25501:1: ( ( ruleActorInstanceMapping ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25502:1: ( ruleActorInstanceMapping )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25784:1: ( ruleActorInstanceMapping )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25785:1: ruleActorInstanceMapping
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25502:1: ( ruleActorInstanceMapping )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25503:1: ruleActorInstanceMapping
             {
              before(grammarAccess.getSubSystemClassAccess().getActorInstanceMappingsActorInstanceMappingParserRuleCall_8_0_0()); 
-            pushFollow(FOLLOW_ruleActorInstanceMapping_in_rule__SubSystemClass__ActorInstanceMappingsAssignment_8_052104);
+            pushFollow(FOLLOW_ruleActorInstanceMapping_in_rule__SubSystemClass__ActorInstanceMappingsAssignment_8_051551);
             ruleActorInstanceMapping();
 
             state._fsp--;
@@ -69454,20 +68917,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__ThreadsAssignment_8_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25794:1: rule__SubSystemClass__ThreadsAssignment_8_1 : ( ruleLogicalThread ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25512:1: rule__SubSystemClass__ThreadsAssignment_8_1 : ( ruleLogicalThread ) ;
     public final void rule__SubSystemClass__ThreadsAssignment_8_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25798:1: ( ( ruleLogicalThread ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25799:1: ( ruleLogicalThread )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25516:1: ( ( ruleLogicalThread ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25517:1: ( ruleLogicalThread )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25799:1: ( ruleLogicalThread )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25800:1: ruleLogicalThread
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25517:1: ( ruleLogicalThread )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25518:1: ruleLogicalThread
             {
              before(grammarAccess.getSubSystemClassAccess().getThreadsLogicalThreadParserRuleCall_8_1_0()); 
-            pushFollow(FOLLOW_ruleLogicalThread_in_rule__SubSystemClass__ThreadsAssignment_8_152135);
+            pushFollow(FOLLOW_ruleLogicalThread_in_rule__SubSystemClass__ThreadsAssignment_8_151582);
             ruleLogicalThread();
 
             state._fsp--;
@@ -69495,20 +68958,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__ConnectionsAssignment_8_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25809:1: rule__SubSystemClass__ConnectionsAssignment_8_2 : ( ruleLayerConnection ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25527:1: rule__SubSystemClass__ConnectionsAssignment_8_2 : ( ruleLayerConnection ) ;
     public final void rule__SubSystemClass__ConnectionsAssignment_8_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25813:1: ( ( ruleLayerConnection ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25814:1: ( ruleLayerConnection )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25531:1: ( ( ruleLayerConnection ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25532:1: ( ruleLayerConnection )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25814:1: ( ruleLayerConnection )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25815:1: ruleLayerConnection
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25532:1: ( ruleLayerConnection )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25533:1: ruleLayerConnection
             {
              before(grammarAccess.getSubSystemClassAccess().getConnectionsLayerConnectionParserRuleCall_8_2_0()); 
-            pushFollow(FOLLOW_ruleLayerConnection_in_rule__SubSystemClass__ConnectionsAssignment_8_252166);
+            pushFollow(FOLLOW_ruleLayerConnection_in_rule__SubSystemClass__ConnectionsAssignment_8_251613);
             ruleLayerConnection();
 
             state._fsp--;
@@ -69536,20 +68999,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__BindingsAssignment_8_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25824:1: rule__SubSystemClass__BindingsAssignment_8_3 : ( ruleBinding ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25542:1: rule__SubSystemClass__BindingsAssignment_8_3 : ( ruleBinding ) ;
     public final void rule__SubSystemClass__BindingsAssignment_8_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25828:1: ( ( ruleBinding ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25829:1: ( ruleBinding )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25546:1: ( ( ruleBinding ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25547:1: ( ruleBinding )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25829:1: ( ruleBinding )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25830:1: ruleBinding
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25547:1: ( ruleBinding )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25548:1: ruleBinding
             {
              before(grammarAccess.getSubSystemClassAccess().getBindingsBindingParserRuleCall_8_3_0()); 
-            pushFollow(FOLLOW_ruleBinding_in_rule__SubSystemClass__BindingsAssignment_8_352197);
+            pushFollow(FOLLOW_ruleBinding_in_rule__SubSystemClass__BindingsAssignment_8_351644);
             ruleBinding();
 
             state._fsp--;
@@ -69577,20 +69040,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__ActorRefsAssignment_8_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25839:1: rule__SubSystemClass__ActorRefsAssignment_8_4 : ( ruleActorRef ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25557:1: rule__SubSystemClass__ActorRefsAssignment_8_4 : ( ruleActorRef ) ;
     public final void rule__SubSystemClass__ActorRefsAssignment_8_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25843:1: ( ( ruleActorRef ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25844:1: ( ruleActorRef )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25561:1: ( ( ruleActorRef ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25562:1: ( ruleActorRef )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25844:1: ( ruleActorRef )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25845:1: ruleActorRef
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25562:1: ( ruleActorRef )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25563:1: ruleActorRef
             {
              before(grammarAccess.getSubSystemClassAccess().getActorRefsActorRefParserRuleCall_8_4_0()); 
-            pushFollow(FOLLOW_ruleActorRef_in_rule__SubSystemClass__ActorRefsAssignment_8_452228);
+            pushFollow(FOLLOW_ruleActorRef_in_rule__SubSystemClass__ActorRefsAssignment_8_451675);
             ruleActorRef();
 
             state._fsp--;
@@ -69618,20 +69081,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25854:1: rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 : ( ruleSPP ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25572:1: rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5 : ( ruleSPP ) ;
     public final void rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25858:1: ( ( ruleSPP ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25859:1: ( ruleSPP )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25576:1: ( ( ruleSPP ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25577:1: ( ruleSPP )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25859:1: ( ruleSPP )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25860:1: ruleSPP
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25577:1: ( ruleSPP )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25578:1: ruleSPP
             {
              before(grammarAccess.getSubSystemClassAccess().getServiceProvisionPointsSPPParserRuleCall_8_5_0()); 
-            pushFollow(FOLLOW_ruleSPP_in_rule__SubSystemClass__ServiceProvisionPointsAssignment_8_552259);
+            pushFollow(FOLLOW_ruleSPP_in_rule__SubSystemClass__ServiceProvisionPointsAssignment_8_551706);
             ruleSPP();
 
             state._fsp--;
@@ -69659,20 +69122,20 @@
 
 
     // $ANTLR start "rule__SubSystemClass__RelayPortsAssignment_8_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25869:1: rule__SubSystemClass__RelayPortsAssignment_8_6 : ( rulePort ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25587:1: rule__SubSystemClass__RelayPortsAssignment_8_6 : ( rulePort ) ;
     public final void rule__SubSystemClass__RelayPortsAssignment_8_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25873:1: ( ( rulePort ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25874:1: ( rulePort )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25591:1: ( ( rulePort ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25592:1: ( rulePort )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25874:1: ( rulePort )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25875:1: rulePort
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25592:1: ( rulePort )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25593:1: rulePort
             {
              before(grammarAccess.getSubSystemClassAccess().getRelayPortsPortParserRuleCall_8_6_0()); 
-            pushFollow(FOLLOW_rulePort_in_rule__SubSystemClass__RelayPortsAssignment_8_652290);
+            pushFollow(FOLLOW_rulePort_in_rule__SubSystemClass__RelayPortsAssignment_8_651737);
             rulePort();
 
             state._fsp--;
@@ -69700,20 +69163,20 @@
 
 
     // $ANTLR start "rule__LogicalThread__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25884:1: rule__LogicalThread__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25602:1: rule__LogicalThread__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__LogicalThread__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25888:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25889:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25606:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25607:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25889:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25890:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25607:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25608:1: RULE_ID
             {
              before(grammarAccess.getLogicalThreadAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__LogicalThread__NameAssignment_152321); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__LogicalThread__NameAssignment_151768); 
              after(grammarAccess.getLogicalThreadAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -69737,20 +69200,20 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__PathAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25899:1: rule__ActorInstanceMapping__PathAssignment_1 : ( ruleRefPath ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25617:1: rule__ActorInstanceMapping__PathAssignment_1 : ( ruleRefPath ) ;
     public final void rule__ActorInstanceMapping__PathAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25903:1: ( ( ruleRefPath ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25904:1: ( ruleRefPath )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25621:1: ( ( ruleRefPath ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25622:1: ( ruleRefPath )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25904:1: ( ruleRefPath )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25905:1: ruleRefPath
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25622:1: ( ruleRefPath )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25623:1: ruleRefPath
             {
              before(grammarAccess.getActorInstanceMappingAccess().getPathRefPathParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleRefPath_in_rule__ActorInstanceMapping__PathAssignment_152352);
+            pushFollow(FOLLOW_ruleRefPath_in_rule__ActorInstanceMapping__PathAssignment_151799);
             ruleRefPath();
 
             state._fsp--;
@@ -69778,24 +69241,24 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__ThreadAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25914:1: rule__ActorInstanceMapping__ThreadAssignment_3 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25632:1: rule__ActorInstanceMapping__ThreadAssignment_3 : ( ( RULE_ID ) ) ;
     public final void rule__ActorInstanceMapping__ThreadAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25918:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25919:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25636:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25637:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25919:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25920:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25637:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25638:1: ( RULE_ID )
             {
              before(grammarAccess.getActorInstanceMappingAccess().getThreadLogicalThreadCrossReference_3_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25921:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25922:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25639:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25640:1: RULE_ID
             {
              before(grammarAccess.getActorInstanceMappingAccess().getThreadLogicalThreadIDTerminalRuleCall_3_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ActorInstanceMapping__ThreadAssignment_352387); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ActorInstanceMapping__ThreadAssignment_351834); 
              after(grammarAccess.getActorInstanceMappingAccess().getThreadLogicalThreadIDTerminalRuleCall_3_0_1()); 
 
             }
@@ -69823,20 +69286,20 @@
 
 
     // $ANTLR start "rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25933:1: rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 : ( ruleActorInstanceMapping ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25651:1: rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1 : ( ruleActorInstanceMapping ) ;
     public final void rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25937:1: ( ( ruleActorInstanceMapping ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25938:1: ( ruleActorInstanceMapping )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25655:1: ( ( ruleActorInstanceMapping ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25656:1: ( ruleActorInstanceMapping )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25938:1: ( ruleActorInstanceMapping )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25939:1: ruleActorInstanceMapping
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25656:1: ( ruleActorInstanceMapping )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25657:1: ruleActorInstanceMapping
             {
              before(grammarAccess.getActorInstanceMappingAccess().getActorInstanceMappingsActorInstanceMappingParserRuleCall_4_1_0()); 
-            pushFollow(FOLLOW_ruleActorInstanceMapping_in_rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_152422);
+            pushFollow(FOLLOW_ruleActorInstanceMapping_in_rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_151869);
             ruleActorInstanceMapping();
 
             state._fsp--;
@@ -69864,20 +69327,20 @@
 
 
     // $ANTLR start "rule__RefPath__RefsAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25948:1: rule__RefPath__RefsAssignment_0 : ( ruleRefSegment ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25666:1: rule__RefPath__RefsAssignment_0 : ( ruleRefSegment ) ;
     public final void rule__RefPath__RefsAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25952:1: ( ( ruleRefSegment ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25953:1: ( ruleRefSegment )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25670:1: ( ( ruleRefSegment ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25671:1: ( ruleRefSegment )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25953:1: ( ruleRefSegment )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25954:1: ruleRefSegment
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25671:1: ( ruleRefSegment )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25672:1: ruleRefSegment
             {
              before(grammarAccess.getRefPathAccess().getRefsRefSegmentParserRuleCall_0_0()); 
-            pushFollow(FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_052453);
+            pushFollow(FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_051900);
             ruleRefSegment();
 
             state._fsp--;
@@ -69905,20 +69368,20 @@
 
 
     // $ANTLR start "rule__RefPath__RefsAssignment_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25963:1: rule__RefPath__RefsAssignment_1_1 : ( ruleRefSegment ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25681:1: rule__RefPath__RefsAssignment_1_1 : ( ruleRefSegment ) ;
     public final void rule__RefPath__RefsAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25967:1: ( ( ruleRefSegment ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25968:1: ( ruleRefSegment )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25685:1: ( ( ruleRefSegment ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25686:1: ( ruleRefSegment )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25968:1: ( ruleRefSegment )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25969:1: ruleRefSegment
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25686:1: ( ruleRefSegment )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25687:1: ruleRefSegment
             {
              before(grammarAccess.getRefPathAccess().getRefsRefSegmentParserRuleCall_1_1_0()); 
-            pushFollow(FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_1_152484);
+            pushFollow(FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_1_151931);
             ruleRefSegment();
 
             state._fsp--;
@@ -69946,20 +69409,20 @@
 
 
     // $ANTLR start "rule__RefSegment__RefAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25978:1: rule__RefSegment__RefAssignment_0 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25696:1: rule__RefSegment__RefAssignment_0 : ( RULE_ID ) ;
     public final void rule__RefSegment__RefAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25982:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25983:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25700:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25701:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25983:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25984:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25701:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25702:1: RULE_ID
             {
              before(grammarAccess.getRefSegmentAccess().getRefIDTerminalRuleCall_0_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RefSegment__RefAssignment_052515); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RefSegment__RefAssignment_051962); 
              after(grammarAccess.getRefSegmentAccess().getRefIDTerminalRuleCall_0_0()); 
 
             }
@@ -69983,20 +69446,20 @@
 
 
     // $ANTLR start "rule__RefSegment__IdxAssignment_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25993:1: rule__RefSegment__IdxAssignment_1_1 : ( RULE_INT ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25711:1: rule__RefSegment__IdxAssignment_1_1 : ( RULE_INT ) ;
     public final void rule__RefSegment__IdxAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25997:1: ( ( RULE_INT ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25998:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25715:1: ( ( RULE_INT ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25716:1: ( RULE_INT )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25998:1: ( RULE_INT )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25999:1: RULE_INT
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25716:1: ( RULE_INT )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25717:1: RULE_INT
             {
              before(grammarAccess.getRefSegmentAccess().getIdxINTTerminalRuleCall_1_1_0()); 
-            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__RefSegment__IdxAssignment_1_152546); 
+            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__RefSegment__IdxAssignment_1_151993); 
              after(grammarAccess.getRefSegmentAccess().getIdxINTTerminalRuleCall_1_1_0()); 
 
             }
@@ -70020,20 +69483,20 @@
 
 
     // $ANTLR start "rule__Binding__Endpoint1Assignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26008:1: rule__Binding__Endpoint1Assignment_1 : ( ruleBindingEndPoint ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25726:1: rule__Binding__Endpoint1Assignment_1 : ( ruleBindingEndPoint ) ;
     public final void rule__Binding__Endpoint1Assignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26012:1: ( ( ruleBindingEndPoint ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26013:1: ( ruleBindingEndPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25730:1: ( ( ruleBindingEndPoint ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25731:1: ( ruleBindingEndPoint )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26013:1: ( ruleBindingEndPoint )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26014:1: ruleBindingEndPoint
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25731:1: ( ruleBindingEndPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25732:1: ruleBindingEndPoint
             {
              before(grammarAccess.getBindingAccess().getEndpoint1BindingEndPointParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleBindingEndPoint_in_rule__Binding__Endpoint1Assignment_152577);
+            pushFollow(FOLLOW_ruleBindingEndPoint_in_rule__Binding__Endpoint1Assignment_152024);
             ruleBindingEndPoint();
 
             state._fsp--;
@@ -70061,20 +69524,20 @@
 
 
     // $ANTLR start "rule__Binding__Endpoint2Assignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26023:1: rule__Binding__Endpoint2Assignment_3 : ( ruleBindingEndPoint ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25741:1: rule__Binding__Endpoint2Assignment_3 : ( ruleBindingEndPoint ) ;
     public final void rule__Binding__Endpoint2Assignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26027:1: ( ( ruleBindingEndPoint ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26028:1: ( ruleBindingEndPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25745:1: ( ( ruleBindingEndPoint ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25746:1: ( ruleBindingEndPoint )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26028:1: ( ruleBindingEndPoint )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26029:1: ruleBindingEndPoint
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25746:1: ( ruleBindingEndPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25747:1: ruleBindingEndPoint
             {
              before(grammarAccess.getBindingAccess().getEndpoint2BindingEndPointParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleBindingEndPoint_in_rule__Binding__Endpoint2Assignment_352608);
+            pushFollow(FOLLOW_ruleBindingEndPoint_in_rule__Binding__Endpoint2Assignment_352055);
             ruleBindingEndPoint();
 
             state._fsp--;
@@ -70102,24 +69565,24 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__ActorRefAssignment_0_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26038:1: rule__BindingEndPoint__ActorRefAssignment_0_0 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25756:1: rule__BindingEndPoint__ActorRefAssignment_0_0 : ( ( RULE_ID ) ) ;
     public final void rule__BindingEndPoint__ActorRefAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26042:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26043:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25760:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25761:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26043:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26044:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25761:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25762:1: ( RULE_ID )
             {
              before(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefCrossReference_0_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26045:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26046:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25763:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25764:1: RULE_ID
             {
              before(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__BindingEndPoint__ActorRefAssignment_0_052643); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__BindingEndPoint__ActorRefAssignment_0_052090); 
              after(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1()); 
 
             }
@@ -70147,24 +69610,24 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__PortAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26057:1: rule__BindingEndPoint__PortAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25775:1: rule__BindingEndPoint__PortAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__BindingEndPoint__PortAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26061:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26062:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25779:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25780:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26062:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26063:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25780:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25781:1: ( RULE_ID )
             {
              before(grammarAccess.getBindingEndPointAccess().getPortPortCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26064:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26065:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25782:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25783:1: RULE_ID
             {
              before(grammarAccess.getBindingEndPointAccess().getPortPortIDTerminalRuleCall_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__BindingEndPoint__PortAssignment_152682); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__BindingEndPoint__PortAssignment_152129); 
              after(grammarAccess.getBindingEndPointAccess().getPortPortIDTerminalRuleCall_1_0_1()); 
 
             }
@@ -70192,24 +69655,24 @@
 
 
     // $ANTLR start "rule__BindingEndPoint__SubAssignment_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26076:1: rule__BindingEndPoint__SubAssignment_2_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25794:1: rule__BindingEndPoint__SubAssignment_2_1 : ( ( RULE_ID ) ) ;
     public final void rule__BindingEndPoint__SubAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26080:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26081:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25798:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25799:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26081:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26082:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25799:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25800:1: ( RULE_ID )
             {
              before(grammarAccess.getBindingEndPointAccess().getSubSubProtocolCrossReference_2_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26083:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26084:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25801:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25802:1: RULE_ID
             {
              before(grammarAccess.getBindingEndPointAccess().getSubSubProtocolIDTerminalRuleCall_2_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__BindingEndPoint__SubAssignment_2_152721); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__BindingEndPoint__SubAssignment_2_152168); 
              after(grammarAccess.getBindingEndPointAccess().getSubSubProtocolIDTerminalRuleCall_2_1_0_1()); 
 
             }
@@ -70237,20 +69700,20 @@
 
 
     // $ANTLR start "rule__LayerConnection__FromAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26095:1: rule__LayerConnection__FromAssignment_1 : ( ruleSAPoint ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25813:1: rule__LayerConnection__FromAssignment_1 : ( ruleSAPoint ) ;
     public final void rule__LayerConnection__FromAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26099:1: ( ( ruleSAPoint ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26100:1: ( ruleSAPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25817:1: ( ( ruleSAPoint ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25818:1: ( ruleSAPoint )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26100:1: ( ruleSAPoint )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26101:1: ruleSAPoint
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25818:1: ( ruleSAPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25819:1: ruleSAPoint
             {
              before(grammarAccess.getLayerConnectionAccess().getFromSAPointParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleSAPoint_in_rule__LayerConnection__FromAssignment_152756);
+            pushFollow(FOLLOW_ruleSAPoint_in_rule__LayerConnection__FromAssignment_152203);
             ruleSAPoint();
 
             state._fsp--;
@@ -70278,20 +69741,20 @@
 
 
     // $ANTLR start "rule__LayerConnection__ToAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26110:1: rule__LayerConnection__ToAssignment_3 : ( ruleSPPoint ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25828:1: rule__LayerConnection__ToAssignment_3 : ( ruleSPPoint ) ;
     public final void rule__LayerConnection__ToAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26114:1: ( ( ruleSPPoint ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26115:1: ( ruleSPPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25832:1: ( ( ruleSPPoint ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25833:1: ( ruleSPPoint )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26115:1: ( ruleSPPoint )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26116:1: ruleSPPoint
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25833:1: ( ruleSPPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25834:1: ruleSPPoint
             {
              before(grammarAccess.getLayerConnectionAccess().getToSPPointParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleSPPoint_in_rule__LayerConnection__ToAssignment_352787);
+            pushFollow(FOLLOW_ruleSPPoint_in_rule__LayerConnection__ToAssignment_352234);
             ruleSPPoint();
 
             state._fsp--;
@@ -70319,24 +69782,24 @@
 
 
     // $ANTLR start "rule__RefSAPoint__RefAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26125:1: rule__RefSAPoint__RefAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25843:1: rule__RefSAPoint__RefAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__RefSAPoint__RefAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26129:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26130:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25847:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25848:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26130:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26131:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25848:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25849:1: ( RULE_ID )
             {
              before(grammarAccess.getRefSAPointAccess().getRefActorContainerRefCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26132:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26133:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25850:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25851:1: RULE_ID
             {
              before(grammarAccess.getRefSAPointAccess().getRefActorContainerRefIDTerminalRuleCall_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RefSAPoint__RefAssignment_152822); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RefSAPoint__RefAssignment_152269); 
              after(grammarAccess.getRefSAPointAccess().getRefActorContainerRefIDTerminalRuleCall_1_0_1()); 
 
             }
@@ -70364,24 +69827,24 @@
 
 
     // $ANTLR start "rule__RelaySAPoint__RelayAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26144:1: rule__RelaySAPoint__RelayAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25862:1: rule__RelaySAPoint__RelayAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__RelaySAPoint__RelayAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26148:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26149:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25866:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25867:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26149:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26150:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25867:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25868:1: ( RULE_ID )
             {
              before(grammarAccess.getRelaySAPointAccess().getRelaySPPCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26151:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26152:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25869:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25870:1: RULE_ID
             {
              before(grammarAccess.getRelaySAPointAccess().getRelaySPPIDTerminalRuleCall_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RelaySAPoint__RelayAssignment_152861); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RelaySAPoint__RelayAssignment_152308); 
              after(grammarAccess.getRelaySAPointAccess().getRelaySPPIDTerminalRuleCall_1_0_1()); 
 
             }
@@ -70409,24 +69872,24 @@
 
 
     // $ANTLR start "rule__SPPoint__RefAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26163:1: rule__SPPoint__RefAssignment_0 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25881:1: rule__SPPoint__RefAssignment_0 : ( ( RULE_ID ) ) ;
     public final void rule__SPPoint__RefAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26167:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26168:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25885:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25886:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26168:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26169:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25886:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25887:1: ( RULE_ID )
             {
              before(grammarAccess.getSPPointAccess().getRefActorContainerRefCrossReference_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26170:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26171:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25888:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25889:1: RULE_ID
             {
              before(grammarAccess.getSPPointAccess().getRefActorContainerRefIDTerminalRuleCall_0_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SPPoint__RefAssignment_052900); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SPPoint__RefAssignment_052347); 
              after(grammarAccess.getSPPointAccess().getRefActorContainerRefIDTerminalRuleCall_0_0_1()); 
 
             }
@@ -70454,24 +69917,24 @@
 
 
     // $ANTLR start "rule__SPPoint__ServiceAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26182:1: rule__SPPoint__ServiceAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25900:1: rule__SPPoint__ServiceAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__SPPoint__ServiceAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26186:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26187:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25904:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25905:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26187:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26188:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25905:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25906:1: ( RULE_ID )
             {
              before(grammarAccess.getSPPointAccess().getServiceSPPCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26189:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26190:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25907:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25908:1: RULE_ID
             {
              before(grammarAccess.getSPPointAccess().getServiceSPPIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SPPoint__ServiceAssignment_252939); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SPPoint__ServiceAssignment_252386); 
              after(grammarAccess.getSPPointAccess().getServiceSPPIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -70499,20 +69962,20 @@
 
 
     // $ANTLR start "rule__ActorRef__RefTypeAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26201:1: rule__ActorRef__RefTypeAssignment_0 : ( ruleReferenceType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25919:1: rule__ActorRef__RefTypeAssignment_0 : ( ruleReferenceType ) ;
     public final void rule__ActorRef__RefTypeAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26205:1: ( ( ruleReferenceType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26206:1: ( ruleReferenceType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25923:1: ( ( ruleReferenceType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25924:1: ( ruleReferenceType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26206:1: ( ruleReferenceType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26207:1: ruleReferenceType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25924:1: ( ruleReferenceType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25925:1: ruleReferenceType
             {
              before(grammarAccess.getActorRefAccess().getRefTypeReferenceTypeEnumRuleCall_0_0()); 
-            pushFollow(FOLLOW_ruleReferenceType_in_rule__ActorRef__RefTypeAssignment_052974);
+            pushFollow(FOLLOW_ruleReferenceType_in_rule__ActorRef__RefTypeAssignment_052421);
             ruleReferenceType();
 
             state._fsp--;
@@ -70540,20 +70003,20 @@
 
 
     // $ANTLR start "rule__ActorRef__NameAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26216:1: rule__ActorRef__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25934:1: rule__ActorRef__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__ActorRef__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26220:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26221:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25938:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25939:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26221:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26222:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25939:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25940:1: RULE_ID
             {
              before(grammarAccess.getActorRefAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ActorRef__NameAssignment_253005); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ActorRef__NameAssignment_252452); 
              after(grammarAccess.getActorRefAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -70577,20 +70040,20 @@
 
 
     // $ANTLR start "rule__ActorRef__MultiplicityAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26231:1: rule__ActorRef__MultiplicityAssignment_3 : ( ruleMULTIPLICITY ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25949:1: rule__ActorRef__MultiplicityAssignment_3 : ( ruleMULTIPLICITY ) ;
     public final void rule__ActorRef__MultiplicityAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26235:1: ( ( ruleMULTIPLICITY ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26236:1: ( ruleMULTIPLICITY )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25953:1: ( ( ruleMULTIPLICITY ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25954:1: ( ruleMULTIPLICITY )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26236:1: ( ruleMULTIPLICITY )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26237:1: ruleMULTIPLICITY
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25954:1: ( ruleMULTIPLICITY )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25955:1: ruleMULTIPLICITY
             {
              before(grammarAccess.getActorRefAccess().getMultiplicityMULTIPLICITYParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleMULTIPLICITY_in_rule__ActorRef__MultiplicityAssignment_353036);
+            pushFollow(FOLLOW_ruleMULTIPLICITY_in_rule__ActorRef__MultiplicityAssignment_352483);
             ruleMULTIPLICITY();
 
             state._fsp--;
@@ -70618,24 +70081,24 @@
 
 
     // $ANTLR start "rule__ActorRef__TypeAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26246:1: rule__ActorRef__TypeAssignment_5 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25964:1: rule__ActorRef__TypeAssignment_5 : ( ( ruleFQN ) ) ;
     public final void rule__ActorRef__TypeAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26250:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26251:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25968:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25969:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26251:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26252:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25969:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25970:1: ( ruleFQN )
             {
              before(grammarAccess.getActorRefAccess().getTypeActorClassCrossReference_5_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26253:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26254:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25971:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25972:1: ruleFQN
             {
              before(grammarAccess.getActorRefAccess().getTypeActorClassFQNParserRuleCall_5_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__ActorRef__TypeAssignment_553071);
+            pushFollow(FOLLOW_ruleFQN_in_rule__ActorRef__TypeAssignment_552518);
             ruleFQN();
 
             state._fsp--;
@@ -70667,20 +70130,20 @@
 
 
     // $ANTLR start "rule__ActorRef__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26265:1: rule__ActorRef__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25983:1: rule__ActorRef__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__ActorRef__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26269:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26270:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25987:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25988:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26270:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26271:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25988:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25989:1: ruleDocumentation
             {
              before(grammarAccess.getActorRefAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__ActorRef__DocuAssignment_653106);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__ActorRef__DocuAssignment_652553);
             ruleDocumentation();
 
             state._fsp--;
@@ -70708,20 +70171,20 @@
 
 
     // $ANTLR start "rule__StateGraph__StatesAssignment_2_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26281:1: rule__StateGraph__StatesAssignment_2_0 : ( ruleState ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:25999:1: rule__StateGraph__StatesAssignment_2_0 : ( ruleState ) ;
     public final void rule__StateGraph__StatesAssignment_2_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26285:1: ( ( ruleState ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26286:1: ( ruleState )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26003:1: ( ( ruleState ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26004:1: ( ruleState )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26286:1: ( ruleState )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26287:1: ruleState
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26004:1: ( ruleState )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26005:1: ruleState
             {
              before(grammarAccess.getStateGraphAccess().getStatesStateParserRuleCall_2_0_0()); 
-            pushFollow(FOLLOW_ruleState_in_rule__StateGraph__StatesAssignment_2_053138);
+            pushFollow(FOLLOW_ruleState_in_rule__StateGraph__StatesAssignment_2_052585);
             ruleState();
 
             state._fsp--;
@@ -70749,20 +70212,20 @@
 
 
     // $ANTLR start "rule__StateGraph__TrPointsAssignment_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26296:1: rule__StateGraph__TrPointsAssignment_2_1 : ( ruleTrPoint ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26014:1: rule__StateGraph__TrPointsAssignment_2_1 : ( ruleTrPoint ) ;
     public final void rule__StateGraph__TrPointsAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26300:1: ( ( ruleTrPoint ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26301:1: ( ruleTrPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26018:1: ( ( ruleTrPoint ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26019:1: ( ruleTrPoint )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26301:1: ( ruleTrPoint )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26302:1: ruleTrPoint
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26019:1: ( ruleTrPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26020:1: ruleTrPoint
             {
              before(grammarAccess.getStateGraphAccess().getTrPointsTrPointParserRuleCall_2_1_0()); 
-            pushFollow(FOLLOW_ruleTrPoint_in_rule__StateGraph__TrPointsAssignment_2_153169);
+            pushFollow(FOLLOW_ruleTrPoint_in_rule__StateGraph__TrPointsAssignment_2_152616);
             ruleTrPoint();
 
             state._fsp--;
@@ -70790,20 +70253,20 @@
 
 
     // $ANTLR start "rule__StateGraph__ChPointsAssignment_2_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26311:1: rule__StateGraph__ChPointsAssignment_2_2 : ( ruleChoicePoint ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26029:1: rule__StateGraph__ChPointsAssignment_2_2 : ( ruleChoicePoint ) ;
     public final void rule__StateGraph__ChPointsAssignment_2_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26315:1: ( ( ruleChoicePoint ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26316:1: ( ruleChoicePoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26033:1: ( ( ruleChoicePoint ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26034:1: ( ruleChoicePoint )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26316:1: ( ruleChoicePoint )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26317:1: ruleChoicePoint
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26034:1: ( ruleChoicePoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26035:1: ruleChoicePoint
             {
              before(grammarAccess.getStateGraphAccess().getChPointsChoicePointParserRuleCall_2_2_0()); 
-            pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateGraph__ChPointsAssignment_2_253200);
+            pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateGraph__ChPointsAssignment_2_252647);
             ruleChoicePoint();
 
             state._fsp--;
@@ -70831,20 +70294,20 @@
 
 
     // $ANTLR start "rule__StateGraph__TransitionsAssignment_2_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26326:1: rule__StateGraph__TransitionsAssignment_2_3 : ( ruleTransition ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26044:1: rule__StateGraph__TransitionsAssignment_2_3 : ( ruleTransition ) ;
     public final void rule__StateGraph__TransitionsAssignment_2_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26330:1: ( ( ruleTransition ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26331:1: ( ruleTransition )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26048:1: ( ( ruleTransition ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26049:1: ( ruleTransition )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26331:1: ( ruleTransition )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26332:1: ruleTransition
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26049:1: ( ruleTransition )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26050:1: ruleTransition
             {
              before(grammarAccess.getStateGraphAccess().getTransitionsTransitionParserRuleCall_2_3_0()); 
-            pushFollow(FOLLOW_ruleTransition_in_rule__StateGraph__TransitionsAssignment_2_353231);
+            pushFollow(FOLLOW_ruleTransition_in_rule__StateGraph__TransitionsAssignment_2_352678);
             ruleTransition();
 
             state._fsp--;
@@ -70872,20 +70335,20 @@
 
 
     // $ANTLR start "rule__StateGraph__RefinedTransitionsAssignment_2_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26341:1: rule__StateGraph__RefinedTransitionsAssignment_2_4 : ( ruleRefinedTransition ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26059:1: rule__StateGraph__RefinedTransitionsAssignment_2_4 : ( ruleRefinedTransition ) ;
     public final void rule__StateGraph__RefinedTransitionsAssignment_2_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26345:1: ( ( ruleRefinedTransition ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26346:1: ( ruleRefinedTransition )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26063:1: ( ( ruleRefinedTransition ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26064:1: ( ruleRefinedTransition )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26346:1: ( ruleRefinedTransition )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26347:1: ruleRefinedTransition
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26064:1: ( ruleRefinedTransition )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26065:1: ruleRefinedTransition
             {
              before(grammarAccess.getStateGraphAccess().getRefinedTransitionsRefinedTransitionParserRuleCall_2_4_0()); 
-            pushFollow(FOLLOW_ruleRefinedTransition_in_rule__StateGraph__RefinedTransitionsAssignment_2_453262);
+            pushFollow(FOLLOW_ruleRefinedTransition_in_rule__StateGraph__RefinedTransitionsAssignment_2_452709);
             ruleRefinedTransition();
 
             state._fsp--;
@@ -70913,20 +70376,20 @@
 
 
     // $ANTLR start "rule__StateMachine__StatesAssignment_3_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26356:1: rule__StateMachine__StatesAssignment_3_0 : ( ruleState ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26074:1: rule__StateMachine__StatesAssignment_3_0 : ( ruleState ) ;
     public final void rule__StateMachine__StatesAssignment_3_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26360:1: ( ( ruleState ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26361:1: ( ruleState )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26078:1: ( ( ruleState ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26079:1: ( ruleState )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26361:1: ( ruleState )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26362:1: ruleState
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26079:1: ( ruleState )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26080:1: ruleState
             {
              before(grammarAccess.getStateMachineAccess().getStatesStateParserRuleCall_3_0_0()); 
-            pushFollow(FOLLOW_ruleState_in_rule__StateMachine__StatesAssignment_3_053293);
+            pushFollow(FOLLOW_ruleState_in_rule__StateMachine__StatesAssignment_3_052740);
             ruleState();
 
             state._fsp--;
@@ -70954,20 +70417,20 @@
 
 
     // $ANTLR start "rule__StateMachine__TrPointsAssignment_3_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26371:1: rule__StateMachine__TrPointsAssignment_3_1 : ( ruleTrPoint ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26089:1: rule__StateMachine__TrPointsAssignment_3_1 : ( ruleTrPoint ) ;
     public final void rule__StateMachine__TrPointsAssignment_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26375:1: ( ( ruleTrPoint ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26376:1: ( ruleTrPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26093:1: ( ( ruleTrPoint ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26094:1: ( ruleTrPoint )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26376:1: ( ruleTrPoint )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26377:1: ruleTrPoint
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26094:1: ( ruleTrPoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26095:1: ruleTrPoint
             {
              before(grammarAccess.getStateMachineAccess().getTrPointsTrPointParserRuleCall_3_1_0()); 
-            pushFollow(FOLLOW_ruleTrPoint_in_rule__StateMachine__TrPointsAssignment_3_153324);
+            pushFollow(FOLLOW_ruleTrPoint_in_rule__StateMachine__TrPointsAssignment_3_152771);
             ruleTrPoint();
 
             state._fsp--;
@@ -70995,20 +70458,20 @@
 
 
     // $ANTLR start "rule__StateMachine__ChPointsAssignment_3_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26386:1: rule__StateMachine__ChPointsAssignment_3_2 : ( ruleChoicePoint ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26104:1: rule__StateMachine__ChPointsAssignment_3_2 : ( ruleChoicePoint ) ;
     public final void rule__StateMachine__ChPointsAssignment_3_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26390:1: ( ( ruleChoicePoint ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26391:1: ( ruleChoicePoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26108:1: ( ( ruleChoicePoint ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26109:1: ( ruleChoicePoint )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26391:1: ( ruleChoicePoint )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26392:1: ruleChoicePoint
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26109:1: ( ruleChoicePoint )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26110:1: ruleChoicePoint
             {
              before(grammarAccess.getStateMachineAccess().getChPointsChoicePointParserRuleCall_3_2_0()); 
-            pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateMachine__ChPointsAssignment_3_253355);
+            pushFollow(FOLLOW_ruleChoicePoint_in_rule__StateMachine__ChPointsAssignment_3_252802);
             ruleChoicePoint();
 
             state._fsp--;
@@ -71036,20 +70499,20 @@
 
 
     // $ANTLR start "rule__StateMachine__TransitionsAssignment_3_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26401:1: rule__StateMachine__TransitionsAssignment_3_3 : ( ruleTransition ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26119:1: rule__StateMachine__TransitionsAssignment_3_3 : ( ruleTransition ) ;
     public final void rule__StateMachine__TransitionsAssignment_3_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26405:1: ( ( ruleTransition ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26406:1: ( ruleTransition )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26123:1: ( ( ruleTransition ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26124:1: ( ruleTransition )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26406:1: ( ruleTransition )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26407:1: ruleTransition
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26124:1: ( ruleTransition )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26125:1: ruleTransition
             {
              before(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_3_3_0()); 
-            pushFollow(FOLLOW_ruleTransition_in_rule__StateMachine__TransitionsAssignment_3_353386);
+            pushFollow(FOLLOW_ruleTransition_in_rule__StateMachine__TransitionsAssignment_3_352833);
             ruleTransition();
 
             state._fsp--;
@@ -71077,20 +70540,20 @@
 
 
     // $ANTLR start "rule__StateMachine__RefinedTransitionsAssignment_3_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26416:1: rule__StateMachine__RefinedTransitionsAssignment_3_4 : ( ruleRefinedTransition ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26134:1: rule__StateMachine__RefinedTransitionsAssignment_3_4 : ( ruleRefinedTransition ) ;
     public final void rule__StateMachine__RefinedTransitionsAssignment_3_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26420:1: ( ( ruleRefinedTransition ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26421:1: ( ruleRefinedTransition )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26138:1: ( ( ruleRefinedTransition ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26139:1: ( ruleRefinedTransition )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26421:1: ( ruleRefinedTransition )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26422:1: ruleRefinedTransition
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26139:1: ( ruleRefinedTransition )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26140:1: ruleRefinedTransition
             {
              before(grammarAccess.getStateMachineAccess().getRefinedTransitionsRefinedTransitionParserRuleCall_3_4_0()); 
-            pushFollow(FOLLOW_ruleRefinedTransition_in_rule__StateMachine__RefinedTransitionsAssignment_3_453417);
+            pushFollow(FOLLOW_ruleRefinedTransition_in_rule__StateMachine__RefinedTransitionsAssignment_3_452864);
             ruleRefinedTransition();
 
             state._fsp--;
@@ -71118,20 +70581,20 @@
 
 
     // $ANTLR start "rule__SimpleState__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26431:1: rule__SimpleState__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26149:1: rule__SimpleState__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__SimpleState__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26435:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26436:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26153:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26154:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26436:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26437:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26154:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26155:1: RULE_ID
             {
              before(grammarAccess.getSimpleStateAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleState__NameAssignment_153448); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleState__NameAssignment_152895); 
              after(grammarAccess.getSimpleStateAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -71155,20 +70618,20 @@
 
 
     // $ANTLR start "rule__SimpleState__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26446:1: rule__SimpleState__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26164:1: rule__SimpleState__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__SimpleState__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26450:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26451:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26168:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26169:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26451:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26452:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26169:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26170:1: ruleDocumentation
             {
              before(grammarAccess.getSimpleStateAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__SimpleState__DocuAssignment_253479);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__SimpleState__DocuAssignment_252926);
             ruleDocumentation();
 
             state._fsp--;
@@ -71196,20 +70659,20 @@
 
 
     // $ANTLR start "rule__SimpleState__EntryCodeAssignment_3_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26461:1: rule__SimpleState__EntryCodeAssignment_3_1_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26179:1: rule__SimpleState__EntryCodeAssignment_3_1_1 : ( ruleDetailCode ) ;
     public final void rule__SimpleState__EntryCodeAssignment_3_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26465:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26466:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26183:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26184:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26466:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26467:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26184:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26185:1: ruleDetailCode
             {
              before(grammarAccess.getSimpleStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__EntryCodeAssignment_3_1_153510);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__EntryCodeAssignment_3_1_152957);
             ruleDetailCode();
 
             state._fsp--;
@@ -71237,20 +70700,20 @@
 
 
     // $ANTLR start "rule__SimpleState__ExitCodeAssignment_3_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26476:1: rule__SimpleState__ExitCodeAssignment_3_2_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26194:1: rule__SimpleState__ExitCodeAssignment_3_2_1 : ( ruleDetailCode ) ;
     public final void rule__SimpleState__ExitCodeAssignment_3_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26480:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26481:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26198:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26199:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26481:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26482:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26199:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26200:1: ruleDetailCode
             {
              before(grammarAccess.getSimpleStateAccess().getExitCodeDetailCodeParserRuleCall_3_2_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__ExitCodeAssignment_3_2_153541);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__ExitCodeAssignment_3_2_152988);
             ruleDetailCode();
 
             state._fsp--;
@@ -71278,20 +70741,20 @@
 
 
     // $ANTLR start "rule__SimpleState__DoCodeAssignment_3_3_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26491:1: rule__SimpleState__DoCodeAssignment_3_3_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26209:1: rule__SimpleState__DoCodeAssignment_3_3_1 : ( ruleDetailCode ) ;
     public final void rule__SimpleState__DoCodeAssignment_3_3_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26495:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26496:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26213:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26214:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26496:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26497:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26214:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26215:1: ruleDetailCode
             {
              before(grammarAccess.getSimpleStateAccess().getDoCodeDetailCodeParserRuleCall_3_3_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__DoCodeAssignment_3_3_153572);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__SimpleState__DoCodeAssignment_3_3_153019);
             ruleDetailCode();
 
             state._fsp--;
@@ -71319,20 +70782,20 @@
 
 
     // $ANTLR start "rule__SimpleState__SubgraphAssignment_3_4_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26506:1: rule__SimpleState__SubgraphAssignment_3_4_1 : ( ruleStateGraph ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26224:1: rule__SimpleState__SubgraphAssignment_3_4_1 : ( ruleStateGraph ) ;
     public final void rule__SimpleState__SubgraphAssignment_3_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26510:1: ( ( ruleStateGraph ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26511:1: ( ruleStateGraph )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26228:1: ( ( ruleStateGraph ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26229:1: ( ruleStateGraph )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26511:1: ( ruleStateGraph )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26512:1: ruleStateGraph
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26229:1: ( ruleStateGraph )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26230:1: ruleStateGraph
             {
              before(grammarAccess.getSimpleStateAccess().getSubgraphStateGraphParserRuleCall_3_4_1_0()); 
-            pushFollow(FOLLOW_ruleStateGraph_in_rule__SimpleState__SubgraphAssignment_3_4_153603);
+            pushFollow(FOLLOW_ruleStateGraph_in_rule__SimpleState__SubgraphAssignment_3_4_153050);
             ruleStateGraph();
 
             state._fsp--;
@@ -71360,24 +70823,24 @@
 
 
     // $ANTLR start "rule__RefinedState__TargetAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26521:1: rule__RefinedState__TargetAssignment_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26239:1: rule__RefinedState__TargetAssignment_1 : ( ( ruleFQN ) ) ;
     public final void rule__RefinedState__TargetAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26525:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26526:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26243:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26244:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26526:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26527:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26244:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26245:1: ( ruleFQN )
             {
              before(grammarAccess.getRefinedStateAccess().getTargetStateCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26528:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26529:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26246:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26247:1: ruleFQN
             {
              before(grammarAccess.getRefinedStateAccess().getTargetStateFQNParserRuleCall_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__RefinedState__TargetAssignment_153638);
+            pushFollow(FOLLOW_ruleFQN_in_rule__RefinedState__TargetAssignment_153085);
             ruleFQN();
 
             state._fsp--;
@@ -71409,20 +70872,20 @@
 
 
     // $ANTLR start "rule__RefinedState__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26540:1: rule__RefinedState__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26258:1: rule__RefinedState__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__RefinedState__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26544:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26545:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26262:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26263:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26545:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26546:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26263:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26264:1: ruleDocumentation
             {
              before(grammarAccess.getRefinedStateAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__RefinedState__DocuAssignment_253673);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__RefinedState__DocuAssignment_253120);
             ruleDocumentation();
 
             state._fsp--;
@@ -71450,20 +70913,20 @@
 
 
     // $ANTLR start "rule__RefinedState__EntryCodeAssignment_4_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26555:1: rule__RefinedState__EntryCodeAssignment_4_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26273:1: rule__RefinedState__EntryCodeAssignment_4_1 : ( ruleDetailCode ) ;
     public final void rule__RefinedState__EntryCodeAssignment_4_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26559:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26560:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26277:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26278:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26560:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26561:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26278:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26279:1: ruleDetailCode
             {
              before(grammarAccess.getRefinedStateAccess().getEntryCodeDetailCodeParserRuleCall_4_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__EntryCodeAssignment_4_153704);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__EntryCodeAssignment_4_153151);
             ruleDetailCode();
 
             state._fsp--;
@@ -71491,20 +70954,20 @@
 
 
     // $ANTLR start "rule__RefinedState__ExitCodeAssignment_5_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26570:1: rule__RefinedState__ExitCodeAssignment_5_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26288:1: rule__RefinedState__ExitCodeAssignment_5_1 : ( ruleDetailCode ) ;
     public final void rule__RefinedState__ExitCodeAssignment_5_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26574:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26575:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26292:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26293:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26575:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26576:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26293:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26294:1: ruleDetailCode
             {
              before(grammarAccess.getRefinedStateAccess().getExitCodeDetailCodeParserRuleCall_5_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__ExitCodeAssignment_5_153735);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__ExitCodeAssignment_5_153182);
             ruleDetailCode();
 
             state._fsp--;
@@ -71532,20 +70995,20 @@
 
 
     // $ANTLR start "rule__RefinedState__DoCodeAssignment_6_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26585:1: rule__RefinedState__DoCodeAssignment_6_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26303:1: rule__RefinedState__DoCodeAssignment_6_1 : ( ruleDetailCode ) ;
     public final void rule__RefinedState__DoCodeAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26589:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26590:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26307:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26308:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26590:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26591:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26308:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26309:1: ruleDetailCode
             {
              before(grammarAccess.getRefinedStateAccess().getDoCodeDetailCodeParserRuleCall_6_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__DoCodeAssignment_6_153766);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedState__DoCodeAssignment_6_153213);
             ruleDetailCode();
 
             state._fsp--;
@@ -71573,20 +71036,20 @@
 
 
     // $ANTLR start "rule__RefinedState__SubgraphAssignment_7_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26600:1: rule__RefinedState__SubgraphAssignment_7_1 : ( ruleStateGraph ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26318:1: rule__RefinedState__SubgraphAssignment_7_1 : ( ruleStateGraph ) ;
     public final void rule__RefinedState__SubgraphAssignment_7_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26604:1: ( ( ruleStateGraph ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26605:1: ( ruleStateGraph )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26322:1: ( ( ruleStateGraph ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26323:1: ( ruleStateGraph )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26605:1: ( ruleStateGraph )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26606:1: ruleStateGraph
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26323:1: ( ruleStateGraph )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26324:1: ruleStateGraph
             {
              before(grammarAccess.getRefinedStateAccess().getSubgraphStateGraphParserRuleCall_7_1_0()); 
-            pushFollow(FOLLOW_ruleStateGraph_in_rule__RefinedState__SubgraphAssignment_7_153797);
+            pushFollow(FOLLOW_ruleStateGraph_in_rule__RefinedState__SubgraphAssignment_7_153244);
             ruleStateGraph();
 
             state._fsp--;
@@ -71614,24 +71077,24 @@
 
 
     // $ANTLR start "rule__DetailCode__UsedAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26615:1: rule__DetailCode__UsedAssignment_1 : ( ( '{' ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26333:1: rule__DetailCode__UsedAssignment_1 : ( ( '{' ) ) ;
     public final void rule__DetailCode__UsedAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26619:1: ( ( ( '{' ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26620:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26337:1: ( ( ( '{' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26338:1: ( ( '{' ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26620:1: ( ( '{' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26621:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26338:1: ( ( '{' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26339:1: ( '{' )
             {
              before(grammarAccess.getDetailCodeAccess().getUsedLeftCurlyBracketKeyword_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26622:1: ( '{' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26623:1: '{'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26340:1: ( '{' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26341:1: '{'
             {
              before(grammarAccess.getDetailCodeAccess().getUsedLeftCurlyBracketKeyword_1_0()); 
-            match(input,40,FOLLOW_40_in_rule__DetailCode__UsedAssignment_153833); 
+            match(input,41,FOLLOW_41_in_rule__DetailCode__UsedAssignment_153280); 
              after(grammarAccess.getDetailCodeAccess().getUsedLeftCurlyBracketKeyword_1_0()); 
 
             }
@@ -71659,20 +71122,20 @@
 
 
     // $ANTLR start "rule__DetailCode__LinesAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26638:1: rule__DetailCode__LinesAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26356:1: rule__DetailCode__LinesAssignment_2 : ( RULE_STRING ) ;
     public final void rule__DetailCode__LinesAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26642:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26643:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26360:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26361:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26643:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26644:1: RULE_STRING
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26361:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26362:1: RULE_STRING
             {
              before(grammarAccess.getDetailCodeAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__DetailCode__LinesAssignment_253872); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__DetailCode__LinesAssignment_253319); 
              after(grammarAccess.getDetailCodeAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
 
             }
@@ -71696,24 +71159,24 @@
 
 
     // $ANTLR start "rule__TransitionPoint__HandlerAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26653:1: rule__TransitionPoint__HandlerAssignment_0 : ( ( 'handler' ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26371:1: rule__TransitionPoint__HandlerAssignment_0 : ( ( 'handler' ) ) ;
     public final void rule__TransitionPoint__HandlerAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26657:1: ( ( ( 'handler' ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26658:1: ( ( 'handler' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26375:1: ( ( ( 'handler' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26376:1: ( ( 'handler' ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26658:1: ( ( 'handler' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26659:1: ( 'handler' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26376:1: ( ( 'handler' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26377:1: ( 'handler' )
             {
              before(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26660:1: ( 'handler' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26661:1: 'handler'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26378:1: ( 'handler' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26379:1: 'handler'
             {
              before(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); 
-            match(input,129,FOLLOW_129_in_rule__TransitionPoint__HandlerAssignment_053908); 
+            match(input,130,FOLLOW_130_in_rule__TransitionPoint__HandlerAssignment_053355); 
              after(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); 
 
             }
@@ -71741,20 +71204,20 @@
 
 
     // $ANTLR start "rule__TransitionPoint__NameAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26676:1: rule__TransitionPoint__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26394:1: rule__TransitionPoint__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__TransitionPoint__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26680:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26681:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26398:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26399:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26681:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26682:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26399:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26400:1: RULE_ID
             {
              before(grammarAccess.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TransitionPoint__NameAssignment_253947); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TransitionPoint__NameAssignment_253394); 
              after(grammarAccess.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -71778,20 +71241,20 @@
 
 
     // $ANTLR start "rule__EntryPoint__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26691:1: rule__EntryPoint__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26409:1: rule__EntryPoint__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__EntryPoint__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26695:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26696:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26413:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26414:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26696:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26697:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26414:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26415:1: RULE_ID
             {
              before(grammarAccess.getEntryPointAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EntryPoint__NameAssignment_153978); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EntryPoint__NameAssignment_153425); 
              after(grammarAccess.getEntryPointAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -71815,20 +71278,20 @@
 
 
     // $ANTLR start "rule__ExitPoint__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26706:1: rule__ExitPoint__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26424:1: rule__ExitPoint__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__ExitPoint__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26710:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26711:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26428:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26429:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26711:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26712:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26429:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26430:1: RULE_ID
             {
              before(grammarAccess.getExitPointAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExitPoint__NameAssignment_154009); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ExitPoint__NameAssignment_153456); 
              after(grammarAccess.getExitPointAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -71852,20 +71315,20 @@
 
 
     // $ANTLR start "rule__ChoicePoint__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26721:1: rule__ChoicePoint__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26439:1: rule__ChoicePoint__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__ChoicePoint__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26725:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26726:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26443:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26444:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26726:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26727:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26444:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26445:1: RULE_ID
             {
              before(grammarAccess.getChoicePointAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ChoicePoint__NameAssignment_154040); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ChoicePoint__NameAssignment_153487); 
              after(grammarAccess.getChoicePointAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -71889,20 +71352,20 @@
 
 
     // $ANTLR start "rule__ChoicePoint__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26736:1: rule__ChoicePoint__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26454:1: rule__ChoicePoint__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__ChoicePoint__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26740:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26741:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26458:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26459:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26741:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26742:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26459:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26460:1: ruleDocumentation
             {
              before(grammarAccess.getChoicePointAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__ChoicePoint__DocuAssignment_254071);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__ChoicePoint__DocuAssignment_253518);
             ruleDocumentation();
 
             state._fsp--;
@@ -71930,20 +71393,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26751:1: rule__InitialTransition__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26469:1: rule__InitialTransition__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__InitialTransition__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26755:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26756:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26473:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26474:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26756:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26757:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26474:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26475:1: RULE_ID
             {
              before(grammarAccess.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__InitialTransition__NameAssignment_154102); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__InitialTransition__NameAssignment_153549); 
              after(grammarAccess.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -71967,20 +71430,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__ToAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26766:1: rule__InitialTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26484:1: rule__InitialTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
     public final void rule__InitialTransition__ToAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26770:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26771:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26488:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26489:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26771:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26772:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26489:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26490:1: ruleTransitionTerminal
             {
              before(grammarAccess.getInitialTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__InitialTransition__ToAssignment_554133);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__InitialTransition__ToAssignment_553580);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -72008,20 +71471,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26781:1: rule__InitialTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26499:1: rule__InitialTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__InitialTransition__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26785:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26786:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26503:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26504:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26786:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26787:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26504:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26505:1: ruleDocumentation
             {
              before(grammarAccess.getInitialTransitionAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__InitialTransition__DocuAssignment_654164);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__InitialTransition__DocuAssignment_653611);
             ruleDocumentation();
 
             state._fsp--;
@@ -72049,20 +71512,20 @@
 
 
     // $ANTLR start "rule__InitialTransition__ActionAssignment_7_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26796:1: rule__InitialTransition__ActionAssignment_7_1_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26514:1: rule__InitialTransition__ActionAssignment_7_1_1 : ( ruleDetailCode ) ;
     public final void rule__InitialTransition__ActionAssignment_7_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26800:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26801:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26518:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26519:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26801:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26802:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26519:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26520:1: ruleDetailCode
             {
              before(grammarAccess.getInitialTransitionAccess().getActionDetailCodeParserRuleCall_7_1_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__InitialTransition__ActionAssignment_7_1_154195);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__InitialTransition__ActionAssignment_7_1_153642);
             ruleDetailCode();
 
             state._fsp--;
@@ -72090,20 +71553,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26811:1: rule__ContinuationTransition__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26529:1: rule__ContinuationTransition__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__ContinuationTransition__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26815:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26816:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26533:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26534:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26816:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26817:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26534:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26535:1: RULE_ID
             {
              before(grammarAccess.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ContinuationTransition__NameAssignment_154226); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ContinuationTransition__NameAssignment_153673); 
              after(grammarAccess.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -72127,20 +71590,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__FromAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26826:1: rule__ContinuationTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26544:1: rule__ContinuationTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
     public final void rule__ContinuationTransition__FromAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26830:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26831:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26548:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26549:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26831:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26832:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26549:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26550:1: ruleTransitionTerminal
             {
              before(grammarAccess.getContinuationTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__FromAssignment_354257);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__FromAssignment_353704);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -72168,20 +71631,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__ToAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26841:1: rule__ContinuationTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26559:1: rule__ContinuationTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
     public final void rule__ContinuationTransition__ToAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26845:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26846:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26563:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26564:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26846:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26847:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26564:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26565:1: ruleTransitionTerminal
             {
              before(grammarAccess.getContinuationTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__ToAssignment_554288);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__ToAssignment_553735);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -72209,20 +71672,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26856:1: rule__ContinuationTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26574:1: rule__ContinuationTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__ContinuationTransition__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26860:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26861:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26578:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26579:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26861:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26862:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26579:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26580:1: ruleDocumentation
             {
              before(grammarAccess.getContinuationTransitionAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__ContinuationTransition__DocuAssignment_654319);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__ContinuationTransition__DocuAssignment_653766);
             ruleDocumentation();
 
             state._fsp--;
@@ -72250,20 +71713,20 @@
 
 
     // $ANTLR start "rule__ContinuationTransition__ActionAssignment_7_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26871:1: rule__ContinuationTransition__ActionAssignment_7_1_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26589:1: rule__ContinuationTransition__ActionAssignment_7_1_1 : ( ruleDetailCode ) ;
     public final void rule__ContinuationTransition__ActionAssignment_7_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26875:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26876:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26593:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26594:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26876:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26877:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26594:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26595:1: ruleDetailCode
             {
              before(grammarAccess.getContinuationTransitionAccess().getActionDetailCodeParserRuleCall_7_1_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__ContinuationTransition__ActionAssignment_7_1_154350);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__ContinuationTransition__ActionAssignment_7_1_153797);
             ruleDetailCode();
 
             state._fsp--;
@@ -72291,20 +71754,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26886:1: rule__TriggeredTransition__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26604:1: rule__TriggeredTransition__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__TriggeredTransition__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26890:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26891:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26608:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26609:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26891:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26892:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26609:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26610:1: RULE_ID
             {
              before(grammarAccess.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TriggeredTransition__NameAssignment_154381); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TriggeredTransition__NameAssignment_153828); 
              after(grammarAccess.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -72328,20 +71791,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__FromAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26901:1: rule__TriggeredTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26619:1: rule__TriggeredTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
     public final void rule__TriggeredTransition__FromAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26905:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26906:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26623:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26624:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26906:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26907:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26624:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26625:1: ruleTransitionTerminal
             {
              before(grammarAccess.getTriggeredTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__FromAssignment_354412);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__FromAssignment_353859);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -72369,20 +71832,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__ToAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26916:1: rule__TriggeredTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26634:1: rule__TriggeredTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
     public final void rule__TriggeredTransition__ToAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26920:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26921:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26638:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26639:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26921:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26922:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26639:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26640:1: ruleTransitionTerminal
             {
              before(grammarAccess.getTriggeredTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__ToAssignment_554443);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__ToAssignment_553890);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -72410,20 +71873,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26931:1: rule__TriggeredTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26649:1: rule__TriggeredTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__TriggeredTransition__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26935:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26936:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26653:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26654:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26936:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26937:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26654:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26655:1: ruleDocumentation
             {
              before(grammarAccess.getTriggeredTransitionAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__TriggeredTransition__DocuAssignment_654474);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__TriggeredTransition__DocuAssignment_653921);
             ruleDocumentation();
 
             state._fsp--;
@@ -72451,20 +71914,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__TriggersAssignment_10"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26946:1: rule__TriggeredTransition__TriggersAssignment_10 : ( ruleTrigger ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26664:1: rule__TriggeredTransition__TriggersAssignment_10 : ( ruleTrigger ) ;
     public final void rule__TriggeredTransition__TriggersAssignment_10() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26950:1: ( ( ruleTrigger ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26951:1: ( ruleTrigger )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26668:1: ( ( ruleTrigger ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26669:1: ( ruleTrigger )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26951:1: ( ruleTrigger )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26952:1: ruleTrigger
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26669:1: ( ruleTrigger )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26670:1: ruleTrigger
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_10_0()); 
-            pushFollow(FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_1054505);
+            pushFollow(FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_1053952);
             ruleTrigger();
 
             state._fsp--;
@@ -72492,20 +71955,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__TriggersAssignment_11_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26961:1: rule__TriggeredTransition__TriggersAssignment_11_1 : ( ruleTrigger ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26679:1: rule__TriggeredTransition__TriggersAssignment_11_1 : ( ruleTrigger ) ;
     public final void rule__TriggeredTransition__TriggersAssignment_11_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26965:1: ( ( ruleTrigger ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26966:1: ( ruleTrigger )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26683:1: ( ( ruleTrigger ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26684:1: ( ruleTrigger )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26966:1: ( ruleTrigger )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26967:1: ruleTrigger
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26684:1: ( ruleTrigger )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26685:1: ruleTrigger
             {
              before(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_11_1_0()); 
-            pushFollow(FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_11_154536);
+            pushFollow(FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_11_153983);
             ruleTrigger();
 
             state._fsp--;
@@ -72533,20 +71996,20 @@
 
 
     // $ANTLR start "rule__TriggeredTransition__ActionAssignment_13_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26976:1: rule__TriggeredTransition__ActionAssignment_13_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26694:1: rule__TriggeredTransition__ActionAssignment_13_1 : ( ruleDetailCode ) ;
     public final void rule__TriggeredTransition__ActionAssignment_13_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26980:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26981:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26698:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26699:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26981:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26982:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26699:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26700:1: ruleDetailCode
             {
              before(grammarAccess.getTriggeredTransitionAccess().getActionDetailCodeParserRuleCall_13_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__TriggeredTransition__ActionAssignment_13_154567);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__TriggeredTransition__ActionAssignment_13_154014);
             ruleDetailCode();
 
             state._fsp--;
@@ -72574,20 +72037,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26991:1: rule__GuardedTransition__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26709:1: rule__GuardedTransition__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__GuardedTransition__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26995:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26996:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26713:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26714:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26996:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26997:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26714:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26715:1: RULE_ID
             {
              before(grammarAccess.getGuardedTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GuardedTransition__NameAssignment_154598); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GuardedTransition__NameAssignment_154045); 
              after(grammarAccess.getGuardedTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -72611,20 +72074,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__FromAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27006:1: rule__GuardedTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26724:1: rule__GuardedTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
     public final void rule__GuardedTransition__FromAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27010:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27011:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26728:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26729:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27011:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27012:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26729:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26730:1: ruleTransitionTerminal
             {
              before(grammarAccess.getGuardedTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__FromAssignment_354629);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__FromAssignment_354076);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -72652,20 +72115,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__ToAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27021:1: rule__GuardedTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26739:1: rule__GuardedTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
     public final void rule__GuardedTransition__ToAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27025:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27026:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26743:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26744:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27026:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27027:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26744:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26745:1: ruleTransitionTerminal
             {
              before(grammarAccess.getGuardedTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__ToAssignment_554660);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__ToAssignment_554107);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -72693,20 +72156,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27036:1: rule__GuardedTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26754:1: rule__GuardedTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__GuardedTransition__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27040:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27041:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26758:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26759:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27041:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27042:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26759:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26760:1: ruleDocumentation
             {
              before(grammarAccess.getGuardedTransitionAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__GuardedTransition__DocuAssignment_654691);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__GuardedTransition__DocuAssignment_654138);
             ruleDocumentation();
 
             state._fsp--;
@@ -72734,20 +72197,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__GuardAssignment_9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27051:1: rule__GuardedTransition__GuardAssignment_9 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26769:1: rule__GuardedTransition__GuardAssignment_9 : ( ruleDetailCode ) ;
     public final void rule__GuardedTransition__GuardAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27055:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27056:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26773:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26774:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27056:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27057:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26774:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26775:1: ruleDetailCode
             {
              before(grammarAccess.getGuardedTransitionAccess().getGuardDetailCodeParserRuleCall_9_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__GuardedTransition__GuardAssignment_954722);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__GuardedTransition__GuardAssignment_954169);
             ruleDetailCode();
 
             state._fsp--;
@@ -72775,20 +72238,20 @@
 
 
     // $ANTLR start "rule__GuardedTransition__ActionAssignment_10_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27066:1: rule__GuardedTransition__ActionAssignment_10_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26784:1: rule__GuardedTransition__ActionAssignment_10_1 : ( ruleDetailCode ) ;
     public final void rule__GuardedTransition__ActionAssignment_10_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27070:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27071:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26788:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26789:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27071:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27072:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26789:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26790:1: ruleDetailCode
             {
              before(grammarAccess.getGuardedTransitionAccess().getActionDetailCodeParserRuleCall_10_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__GuardedTransition__ActionAssignment_10_154753);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__GuardedTransition__ActionAssignment_10_154200);
             ruleDetailCode();
 
             state._fsp--;
@@ -72816,20 +72279,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27081:1: rule__CPBranchTransition__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26799:1: rule__CPBranchTransition__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__CPBranchTransition__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27085:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27086:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26803:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26804:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27086:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27087:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26804:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26805:1: RULE_ID
             {
              before(grammarAccess.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__CPBranchTransition__NameAssignment_154784); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__CPBranchTransition__NameAssignment_154231); 
              after(grammarAccess.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -72853,20 +72316,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__FromAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27096:1: rule__CPBranchTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26814:1: rule__CPBranchTransition__FromAssignment_3 : ( ruleTransitionTerminal ) ;
     public final void rule__CPBranchTransition__FromAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27100:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27101:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26818:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26819:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27101:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27102:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26819:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26820:1: ruleTransitionTerminal
             {
              before(grammarAccess.getCPBranchTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__FromAssignment_354815);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__FromAssignment_354262);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -72894,20 +72357,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__ToAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27111:1: rule__CPBranchTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26829:1: rule__CPBranchTransition__ToAssignment_5 : ( ruleTransitionTerminal ) ;
     public final void rule__CPBranchTransition__ToAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27115:1: ( ( ruleTransitionTerminal ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27116:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26833:1: ( ( ruleTransitionTerminal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26834:1: ( ruleTransitionTerminal )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27116:1: ( ruleTransitionTerminal )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27117:1: ruleTransitionTerminal
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26834:1: ( ruleTransitionTerminal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26835:1: ruleTransitionTerminal
             {
              before(grammarAccess.getCPBranchTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__ToAssignment_554846);
+            pushFollow(FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__ToAssignment_554293);
             ruleTransitionTerminal();
 
             state._fsp--;
@@ -72935,20 +72398,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__DocuAssignment_6"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27126:1: rule__CPBranchTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26844:1: rule__CPBranchTransition__DocuAssignment_6 : ( ruleDocumentation ) ;
     public final void rule__CPBranchTransition__DocuAssignment_6() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27130:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27131:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26848:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26849:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27131:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27132:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26849:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26850:1: ruleDocumentation
             {
              before(grammarAccess.getCPBranchTransitionAccess().getDocuDocumentationParserRuleCall_6_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__CPBranchTransition__DocuAssignment_654877);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__CPBranchTransition__DocuAssignment_654324);
             ruleDocumentation();
 
             state._fsp--;
@@ -72976,20 +72439,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__ConditionAssignment_9"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27141:1: rule__CPBranchTransition__ConditionAssignment_9 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26859:1: rule__CPBranchTransition__ConditionAssignment_9 : ( ruleDetailCode ) ;
     public final void rule__CPBranchTransition__ConditionAssignment_9() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27145:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27146:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26863:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26864:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27146:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27147:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26864:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26865:1: ruleDetailCode
             {
              before(grammarAccess.getCPBranchTransitionAccess().getConditionDetailCodeParserRuleCall_9_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ConditionAssignment_954908);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ConditionAssignment_954355);
             ruleDetailCode();
 
             state._fsp--;
@@ -73017,20 +72480,20 @@
 
 
     // $ANTLR start "rule__CPBranchTransition__ActionAssignment_10_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27156:1: rule__CPBranchTransition__ActionAssignment_10_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26874:1: rule__CPBranchTransition__ActionAssignment_10_1 : ( ruleDetailCode ) ;
     public final void rule__CPBranchTransition__ActionAssignment_10_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27160:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27161:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26878:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26879:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27161:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27162:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26879:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26880:1: ruleDetailCode
             {
              before(grammarAccess.getCPBranchTransitionAccess().getActionDetailCodeParserRuleCall_10_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ActionAssignment_10_154939);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ActionAssignment_10_154386);
             ruleDetailCode();
 
             state._fsp--;
@@ -73058,24 +72521,24 @@
 
 
     // $ANTLR start "rule__RefinedTransition__TargetAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27171:1: rule__RefinedTransition__TargetAssignment_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26889:1: rule__RefinedTransition__TargetAssignment_1 : ( ( ruleFQN ) ) ;
     public final void rule__RefinedTransition__TargetAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27175:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27176:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26893:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26894:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27176:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27177:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26894:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26895:1: ( ruleFQN )
             {
              before(grammarAccess.getRefinedTransitionAccess().getTargetTransitionCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27178:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27179:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26896:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26897:1: ruleFQN
             {
              before(grammarAccess.getRefinedTransitionAccess().getTargetTransitionFQNParserRuleCall_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__RefinedTransition__TargetAssignment_154974);
+            pushFollow(FOLLOW_ruleFQN_in_rule__RefinedTransition__TargetAssignment_154421);
             ruleFQN();
 
             state._fsp--;
@@ -73107,20 +72570,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27190:1: rule__RefinedTransition__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26908:1: rule__RefinedTransition__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__RefinedTransition__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27194:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27195:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26912:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26913:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27195:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27196:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26913:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26914:1: ruleDocumentation
             {
              before(grammarAccess.getRefinedTransitionAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__RefinedTransition__DocuAssignment_255009);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__RefinedTransition__DocuAssignment_254456);
             ruleDocumentation();
 
             state._fsp--;
@@ -73148,20 +72611,20 @@
 
 
     // $ANTLR start "rule__RefinedTransition__ActionAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27205:1: rule__RefinedTransition__ActionAssignment_5 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26923:1: rule__RefinedTransition__ActionAssignment_5 : ( ruleDetailCode ) ;
     public final void rule__RefinedTransition__ActionAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27209:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27210:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26927:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26928:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27210:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27211:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26928:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26929:1: ruleDetailCode
             {
              before(grammarAccess.getRefinedTransitionAccess().getActionDetailCodeParserRuleCall_5_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedTransition__ActionAssignment_555040);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__RefinedTransition__ActionAssignment_554487);
             ruleDetailCode();
 
             state._fsp--;
@@ -73189,24 +72652,24 @@
 
 
     // $ANTLR start "rule__StateTerminal__StateAssignment"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27220:1: rule__StateTerminal__StateAssignment : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26938:1: rule__StateTerminal__StateAssignment : ( ( RULE_ID ) ) ;
     public final void rule__StateTerminal__StateAssignment() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27224:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27225:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26942:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26943:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27225:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27226:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26943:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26944:1: ( RULE_ID )
             {
              before(grammarAccess.getStateTerminalAccess().getStateStateCrossReference_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27227:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27228:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26945:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26946:1: RULE_ID
             {
              before(grammarAccess.getStateTerminalAccess().getStateStateIDTerminalRuleCall_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__StateTerminal__StateAssignment55075); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__StateTerminal__StateAssignment54522); 
              after(grammarAccess.getStateTerminalAccess().getStateStateIDTerminalRuleCall_0_1()); 
 
             }
@@ -73234,24 +72697,24 @@
 
 
     // $ANTLR start "rule__TrPointTerminal__TrPointAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27239:1: rule__TrPointTerminal__TrPointAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26957:1: rule__TrPointTerminal__TrPointAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__TrPointTerminal__TrPointAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27243:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27244:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26961:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26962:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27244:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27245:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26962:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26963:1: ( RULE_ID )
             {
              before(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27246:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27247:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26964:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26965:1: RULE_ID
             {
              before(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TrPointTerminal__TrPointAssignment_155114); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__TrPointTerminal__TrPointAssignment_154561); 
              after(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_1_0_1()); 
 
             }
@@ -73279,24 +72742,24 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__TrPointAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27258:1: rule__SubStateTrPointTerminal__TrPointAssignment_0 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26976:1: rule__SubStateTrPointTerminal__TrPointAssignment_0 : ( ( RULE_ID ) ) ;
     public final void rule__SubStateTrPointTerminal__TrPointAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27262:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27263:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26980:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26981:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27263:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27264:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26981:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26982:1: ( RULE_ID )
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointCrossReference_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27265:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27266:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26983:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26984:1: RULE_ID
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_0_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__TrPointAssignment_055153); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__TrPointAssignment_054600); 
              after(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_0_0_1()); 
 
             }
@@ -73324,24 +72787,24 @@
 
 
     // $ANTLR start "rule__SubStateTrPointTerminal__StateAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27277:1: rule__SubStateTrPointTerminal__StateAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26995:1: rule__SubStateTrPointTerminal__StateAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__SubStateTrPointTerminal__StateAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27281:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27282:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:26999:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27000:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27282:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27283:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27000:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27001:1: ( RULE_ID )
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getStateStateCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27284:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27285:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27002:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27003:1: RULE_ID
             {
              before(grammarAccess.getSubStateTrPointTerminalAccess().getStateStateIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__StateAssignment_255192); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__StateAssignment_254639); 
              after(grammarAccess.getSubStateTrPointTerminalAccess().getStateStateIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -73369,24 +72832,24 @@
 
 
     // $ANTLR start "rule__ChoicepointTerminal__CpAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27296:1: rule__ChoicepointTerminal__CpAssignment_1 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27014:1: rule__ChoicepointTerminal__CpAssignment_1 : ( ( RULE_ID ) ) ;
     public final void rule__ChoicepointTerminal__CpAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27300:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27301:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27018:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27019:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27301:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27302:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27019:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27020:1: ( RULE_ID )
             {
              before(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27303:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27304:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27021:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27022:1: RULE_ID
             {
              before(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointIDTerminalRuleCall_1_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ChoicepointTerminal__CpAssignment_155231); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ChoicepointTerminal__CpAssignment_154678); 
              after(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointIDTerminalRuleCall_1_0_1()); 
 
             }
@@ -73414,20 +72877,20 @@
 
 
     // $ANTLR start "rule__Trigger__MsgFromIfPairsAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27315:1: rule__Trigger__MsgFromIfPairsAssignment_1 : ( ruleMessageFromIf ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27033:1: rule__Trigger__MsgFromIfPairsAssignment_1 : ( ruleMessageFromIf ) ;
     public final void rule__Trigger__MsgFromIfPairsAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27319:1: ( ( ruleMessageFromIf ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27320:1: ( ruleMessageFromIf )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27037:1: ( ( ruleMessageFromIf ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27038:1: ( ruleMessageFromIf )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27320:1: ( ruleMessageFromIf )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27321:1: ruleMessageFromIf
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27038:1: ( ruleMessageFromIf )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27039:1: ruleMessageFromIf
             {
              before(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_155266);
+            pushFollow(FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_154713);
             ruleMessageFromIf();
 
             state._fsp--;
@@ -73455,20 +72918,20 @@
 
 
     // $ANTLR start "rule__Trigger__MsgFromIfPairsAssignment_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27330:1: rule__Trigger__MsgFromIfPairsAssignment_2_1 : ( ruleMessageFromIf ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27048:1: rule__Trigger__MsgFromIfPairsAssignment_2_1 : ( ruleMessageFromIf ) ;
     public final void rule__Trigger__MsgFromIfPairsAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27334:1: ( ( ruleMessageFromIf ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27335:1: ( ruleMessageFromIf )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27052:1: ( ( ruleMessageFromIf ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27053:1: ( ruleMessageFromIf )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27335:1: ( ruleMessageFromIf )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27336:1: ruleMessageFromIf
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27053:1: ( ruleMessageFromIf )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27054:1: ruleMessageFromIf
             {
              before(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0()); 
-            pushFollow(FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_2_155297);
+            pushFollow(FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_2_154744);
             ruleMessageFromIf();
 
             state._fsp--;
@@ -73496,20 +72959,20 @@
 
 
     // $ANTLR start "rule__Trigger__GuardAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27345:1: rule__Trigger__GuardAssignment_3 : ( ruleGuard ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27063:1: rule__Trigger__GuardAssignment_3 : ( ruleGuard ) ;
     public final void rule__Trigger__GuardAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27349:1: ( ( ruleGuard ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27350:1: ( ruleGuard )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27067:1: ( ( ruleGuard ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27068:1: ( ruleGuard )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27350:1: ( ruleGuard )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27351:1: ruleGuard
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27068:1: ( ruleGuard )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27069:1: ruleGuard
             {
              before(grammarAccess.getTriggerAccess().getGuardGuardParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleGuard_in_rule__Trigger__GuardAssignment_355328);
+            pushFollow(FOLLOW_ruleGuard_in_rule__Trigger__GuardAssignment_354775);
             ruleGuard();
 
             state._fsp--;
@@ -73537,24 +73000,24 @@
 
 
     // $ANTLR start "rule__MessageFromIf__MessageAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27360:1: rule__MessageFromIf__MessageAssignment_0 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27078:1: rule__MessageFromIf__MessageAssignment_0 : ( ( RULE_ID ) ) ;
     public final void rule__MessageFromIf__MessageAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27364:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27365:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27082:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27083:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27365:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27366:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27083:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27084:1: ( RULE_ID )
             {
              before(grammarAccess.getMessageFromIfAccess().getMessageEObjectCrossReference_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27367:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27368:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27085:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27086:1: RULE_ID
             {
              before(grammarAccess.getMessageFromIfAccess().getMessageEObjectIDTerminalRuleCall_0_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__MessageFromIf__MessageAssignment_055363); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__MessageFromIf__MessageAssignment_054810); 
              after(grammarAccess.getMessageFromIfAccess().getMessageEObjectIDTerminalRuleCall_0_0_1()); 
 
             }
@@ -73582,24 +73045,24 @@
 
 
     // $ANTLR start "rule__MessageFromIf__FromAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27379:1: rule__MessageFromIf__FromAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27097:1: rule__MessageFromIf__FromAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__MessageFromIf__FromAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27383:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27384:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27101:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27102:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27384:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27385:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27102:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27103:1: ( RULE_ID )
             {
              before(grammarAccess.getMessageFromIfAccess().getFromAbstractInterfaceItemCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27386:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27387:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27104:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27105:1: RULE_ID
             {
              before(grammarAccess.getMessageFromIfAccess().getFromAbstractInterfaceItemIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__MessageFromIf__FromAssignment_255402); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__MessageFromIf__FromAssignment_254849); 
              after(grammarAccess.getMessageFromIfAccess().getFromAbstractInterfaceItemIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -73627,20 +73090,20 @@
 
 
     // $ANTLR start "rule__Guard__GuardAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27398:1: rule__Guard__GuardAssignment_1 : ( ruleDetailCode ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27116:1: rule__Guard__GuardAssignment_1 : ( ruleDetailCode ) ;
     public final void rule__Guard__GuardAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27402:1: ( ( ruleDetailCode ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27403:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27120:1: ( ( ruleDetailCode ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27121:1: ( ruleDetailCode )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27403:1: ( ruleDetailCode )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27404:1: ruleDetailCode
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27121:1: ( ruleDetailCode )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27122:1: ruleDetailCode
             {
              before(grammarAccess.getGuardAccess().getGuardDetailCodeParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleDetailCode_in_rule__Guard__GuardAssignment_155437);
+            pushFollow(FOLLOW_ruleDetailCode_in_rule__Guard__GuardAssignment_154884);
             ruleDetailCode();
 
             state._fsp--;
@@ -73668,20 +73131,20 @@
 
 
     // $ANTLR start "rule__ProtocolSemantics__RulesAssignment_3"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27413:1: rule__ProtocolSemantics__RulesAssignment_3 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27131:1: rule__ProtocolSemantics__RulesAssignment_3 : ( ruleSemanticsRule ) ;
     public final void rule__ProtocolSemantics__RulesAssignment_3() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27417:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27418:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27135:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27136:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27418:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27419:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27136:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27137:1: ruleSemanticsRule
             {
              before(grammarAccess.getProtocolSemanticsAccess().getRulesSemanticsRuleParserRuleCall_3_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__ProtocolSemantics__RulesAssignment_355468);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__ProtocolSemantics__RulesAssignment_354915);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -73709,24 +73172,24 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__MsgAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27428:1: rule__InSemanticsRule__MsgAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27146:1: rule__InSemanticsRule__MsgAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__InSemanticsRule__MsgAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27432:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27433:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27150:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27151:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27433:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27434:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27151:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27152:1: ( RULE_ID )
             {
              before(grammarAccess.getInSemanticsRuleAccess().getMsgEObjectCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27435:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27436:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27153:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27154:1: RULE_ID
             {
              before(grammarAccess.getInSemanticsRuleAccess().getMsgEObjectIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__InSemanticsRule__MsgAssignment_255503); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__InSemanticsRule__MsgAssignment_254950); 
              after(grammarAccess.getInSemanticsRuleAccess().getMsgEObjectIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -73754,20 +73217,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__FollowUpsAssignment_3_1_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27447:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_0 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27165:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_0 : ( ruleSemanticsRule ) ;
     public final void rule__InSemanticsRule__FollowUpsAssignment_3_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27451:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27452:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27169:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27170:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27452:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27453:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27170:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27171:1: ruleSemanticsRule
             {
              before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_0_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_055538);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_054985);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -73795,20 +73258,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27462:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27180:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1 : ( ruleSemanticsRule ) ;
     public final void rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27466:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27467:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27184:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27185:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27467:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27468:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27185:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27186:1: ruleSemanticsRule
             {
              before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_1_1_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_155569);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_155016);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -73836,20 +73299,20 @@
 
 
     // $ANTLR start "rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27477:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27195:1: rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1 : ( ruleSemanticsRule ) ;
     public final void rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27481:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27482:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27199:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27200:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27482:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27483:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27200:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27201:1: ruleSemanticsRule
             {
              before(grammarAccess.getInSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_1_2_1_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_155600);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_155047);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -73877,24 +73340,24 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__MsgAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27492:1: rule__OutSemanticsRule__MsgAssignment_2 : ( ( RULE_ID ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27210:1: rule__OutSemanticsRule__MsgAssignment_2 : ( ( RULE_ID ) ) ;
     public final void rule__OutSemanticsRule__MsgAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27496:1: ( ( ( RULE_ID ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27497:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27214:1: ( ( ( RULE_ID ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27215:1: ( ( RULE_ID ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27497:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27498:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27215:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27216:1: ( RULE_ID )
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getMsgEObjectCrossReference_2_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27499:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27500:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27217:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27218:1: RULE_ID
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getMsgEObjectIDTerminalRuleCall_2_0_1()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__OutSemanticsRule__MsgAssignment_255635); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__OutSemanticsRule__MsgAssignment_255082); 
              after(grammarAccess.getOutSemanticsRuleAccess().getMsgEObjectIDTerminalRuleCall_2_0_1()); 
 
             }
@@ -73922,20 +73385,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__FollowUpsAssignment_3_1_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27511:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27229:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_0 : ( ruleSemanticsRule ) ;
     public final void rule__OutSemanticsRule__FollowUpsAssignment_3_1_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27515:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27516:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27233:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27234:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27516:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27517:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27234:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27235:1: ruleSemanticsRule
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_0_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_055670);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_055117);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -73963,20 +73426,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27526:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27244:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1 : ( ruleSemanticsRule ) ;
     public final void rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27530:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27531:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27248:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27249:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27531:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27532:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27249:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27250:1: ruleSemanticsRule
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_1_1_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_155701);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_155148);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -74004,20 +73467,20 @@
 
 
     // $ANTLR start "rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27541:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 : ( ruleSemanticsRule ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27259:1: rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1 : ( ruleSemanticsRule ) ;
     public final void rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27545:1: ( ( ruleSemanticsRule ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27546:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27263:1: ( ( ruleSemanticsRule ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27264:1: ( ruleSemanticsRule )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27546:1: ( ruleSemanticsRule )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27547:1: ruleSemanticsRule
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27264:1: ( ruleSemanticsRule )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27265:1: ruleSemanticsRule
             {
              before(grammarAccess.getOutSemanticsRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_3_1_1_2_1_0()); 
-            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_155732);
+            pushFollow(FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_155179);
             ruleSemanticsRule();
 
             state._fsp--;
@@ -74045,24 +73508,24 @@
 
 
     // $ANTLR start "rule__Annotation__TypeAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27556:1: rule__Annotation__TypeAssignment_1 : ( ( ruleFQN ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27274:1: rule__Annotation__TypeAssignment_1 : ( ( ruleFQN ) ) ;
     public final void rule__Annotation__TypeAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27560:1: ( ( ( ruleFQN ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27561:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27278:1: ( ( ( ruleFQN ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27279:1: ( ( ruleFQN ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27561:1: ( ( ruleFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27562:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27279:1: ( ( ruleFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27280:1: ( ruleFQN )
             {
              before(grammarAccess.getAnnotationAccess().getTypeAnnotationTypeCrossReference_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27563:1: ( ruleFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27564:1: ruleFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27281:1: ( ruleFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27282:1: ruleFQN
             {
              before(grammarAccess.getAnnotationAccess().getTypeAnnotationTypeFQNParserRuleCall_1_0_1()); 
-            pushFollow(FOLLOW_ruleFQN_in_rule__Annotation__TypeAssignment_155767);
+            pushFollow(FOLLOW_ruleFQN_in_rule__Annotation__TypeAssignment_155214);
             ruleFQN();
 
             state._fsp--;
@@ -74094,20 +73557,20 @@
 
 
     // $ANTLR start "rule__Annotation__AttributesAssignment_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27575:1: rule__Annotation__AttributesAssignment_2_1 : ( ruleKeyValue ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27293:1: rule__Annotation__AttributesAssignment_2_1 : ( ruleKeyValue ) ;
     public final void rule__Annotation__AttributesAssignment_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27579:1: ( ( ruleKeyValue ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27580:1: ( ruleKeyValue )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27297:1: ( ( ruleKeyValue ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27298:1: ( ruleKeyValue )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27580:1: ( ruleKeyValue )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27581:1: ruleKeyValue
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27298:1: ( ruleKeyValue )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27299:1: ruleKeyValue
             {
              before(grammarAccess.getAnnotationAccess().getAttributesKeyValueParserRuleCall_2_1_0()); 
-            pushFollow(FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_155802);
+            pushFollow(FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_155249);
             ruleKeyValue();
 
             state._fsp--;
@@ -74135,20 +73598,20 @@
 
 
     // $ANTLR start "rule__Annotation__AttributesAssignment_2_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27590:1: rule__Annotation__AttributesAssignment_2_2_1 : ( ruleKeyValue ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27308:1: rule__Annotation__AttributesAssignment_2_2_1 : ( ruleKeyValue ) ;
     public final void rule__Annotation__AttributesAssignment_2_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27594:1: ( ( ruleKeyValue ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27595:1: ( ruleKeyValue )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27312:1: ( ( ruleKeyValue ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27313:1: ( ruleKeyValue )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27595:1: ( ruleKeyValue )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27596:1: ruleKeyValue
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27313:1: ( ruleKeyValue )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27314:1: ruleKeyValue
             {
              before(grammarAccess.getAnnotationAccess().getAttributesKeyValueParserRuleCall_2_2_1_0()); 
-            pushFollow(FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_2_155833);
+            pushFollow(FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_2_155280);
             ruleKeyValue();
 
             state._fsp--;
@@ -74176,20 +73639,20 @@
 
 
     // $ANTLR start "rule__KeyValue__KeyAssignment_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27605:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27323:1: rule__KeyValue__KeyAssignment_0 : ( RULE_ID ) ;
     public final void rule__KeyValue__KeyAssignment_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27609:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27610:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27327:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27328:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27610:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27611:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27328:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27329:1: RULE_ID
             {
              before(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_055864); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_055311); 
              after(grammarAccess.getKeyValueAccess().getKeyIDTerminalRuleCall_0_0()); 
 
             }
@@ -74213,20 +73676,20 @@
 
 
     // $ANTLR start "rule__KeyValue__ValueAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27620:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27338:1: rule__KeyValue__ValueAssignment_2 : ( ruleLiteral ) ;
     public final void rule__KeyValue__ValueAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27624:1: ( ( ruleLiteral ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27625:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27342:1: ( ( ruleLiteral ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27343:1: ( ruleLiteral )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27625:1: ( ruleLiteral )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27626:1: ruleLiteral
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27343:1: ( ruleLiteral )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27344:1: ruleLiteral
             {
              before(grammarAccess.getKeyValueAccess().getValueLiteralParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_255895);
+            pushFollow(FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_255342);
             ruleLiteral();
 
             state._fsp--;
@@ -74254,20 +73717,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__NameAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27635:1: rule__AnnotationType__NameAssignment_1 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27353:1: rule__AnnotationType__NameAssignment_1 : ( RULE_ID ) ;
     public final void rule__AnnotationType__NameAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27639:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27640:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27357:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27358:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27640:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27641:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27358:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27359:1: RULE_ID
             {
              before(grammarAccess.getAnnotationTypeAccess().getNameIDTerminalRuleCall_1_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__AnnotationType__NameAssignment_155926); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__AnnotationType__NameAssignment_155373); 
              after(grammarAccess.getAnnotationTypeAccess().getNameIDTerminalRuleCall_1_0()); 
 
             }
@@ -74291,20 +73754,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__DocuAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27650:1: rule__AnnotationType__DocuAssignment_2 : ( ruleDocumentation ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27368:1: rule__AnnotationType__DocuAssignment_2 : ( ruleDocumentation ) ;
     public final void rule__AnnotationType__DocuAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27654:1: ( ( ruleDocumentation ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27655:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27372:1: ( ( ruleDocumentation ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27373:1: ( ruleDocumentation )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27655:1: ( ruleDocumentation )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27656:1: ruleDocumentation
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27373:1: ( ruleDocumentation )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27374:1: ruleDocumentation
             {
              before(grammarAccess.getAnnotationTypeAccess().getDocuDocumentationParserRuleCall_2_0()); 
-            pushFollow(FOLLOW_ruleDocumentation_in_rule__AnnotationType__DocuAssignment_255957);
+            pushFollow(FOLLOW_ruleDocumentation_in_rule__AnnotationType__DocuAssignment_255404);
             ruleDocumentation();
 
             state._fsp--;
@@ -74332,20 +73795,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__TargetsAssignment_6_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27665:1: rule__AnnotationType__TargetsAssignment_6_0 : ( ruleAnnotationTargetType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27383:1: rule__AnnotationType__TargetsAssignment_6_0 : ( ruleAnnotationTargetType ) ;
     public final void rule__AnnotationType__TargetsAssignment_6_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27669:1: ( ( ruleAnnotationTargetType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27670:1: ( ruleAnnotationTargetType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27387:1: ( ( ruleAnnotationTargetType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27388:1: ( ruleAnnotationTargetType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27670:1: ( ruleAnnotationTargetType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27671:1: ruleAnnotationTargetType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27388:1: ( ruleAnnotationTargetType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27389:1: ruleAnnotationTargetType
             {
              before(grammarAccess.getAnnotationTypeAccess().getTargetsAnnotationTargetTypeParserRuleCall_6_0_0()); 
-            pushFollow(FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_055988);
+            pushFollow(FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_055435);
             ruleAnnotationTargetType();
 
             state._fsp--;
@@ -74373,20 +73836,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__TargetsAssignment_6_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27680:1: rule__AnnotationType__TargetsAssignment_6_1_1 : ( ruleAnnotationTargetType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27398:1: rule__AnnotationType__TargetsAssignment_6_1_1 : ( ruleAnnotationTargetType ) ;
     public final void rule__AnnotationType__TargetsAssignment_6_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27684:1: ( ( ruleAnnotationTargetType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27685:1: ( ruleAnnotationTargetType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27402:1: ( ( ruleAnnotationTargetType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27403:1: ( ruleAnnotationTargetType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27685:1: ( ruleAnnotationTargetType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27686:1: ruleAnnotationTargetType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27403:1: ( ruleAnnotationTargetType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27404:1: ruleAnnotationTargetType
             {
              before(grammarAccess.getAnnotationTypeAccess().getTargetsAnnotationTargetTypeParserRuleCall_6_1_1_0()); 
-            pushFollow(FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_1_156019);
+            pushFollow(FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_1_155466);
             ruleAnnotationTargetType();
 
             state._fsp--;
@@ -74414,20 +73877,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__TargetsAssignment_6_1_2_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27695:1: rule__AnnotationType__TargetsAssignment_6_1_2_1 : ( ruleAnnotationTargetType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27413:1: rule__AnnotationType__TargetsAssignment_6_1_2_1 : ( ruleAnnotationTargetType ) ;
     public final void rule__AnnotationType__TargetsAssignment_6_1_2_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27699:1: ( ( ruleAnnotationTargetType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27700:1: ( ruleAnnotationTargetType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27417:1: ( ( ruleAnnotationTargetType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27418:1: ( ruleAnnotationTargetType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27700:1: ( ruleAnnotationTargetType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27701:1: ruleAnnotationTargetType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27418:1: ( ruleAnnotationTargetType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27419:1: ruleAnnotationTargetType
             {
              before(grammarAccess.getAnnotationTypeAccess().getTargetsAnnotationTargetTypeParserRuleCall_6_1_2_1_0()); 
-            pushFollow(FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_1_2_156050);
+            pushFollow(FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_1_2_155497);
             ruleAnnotationTargetType();
 
             state._fsp--;
@@ -74455,20 +73918,20 @@
 
 
     // $ANTLR start "rule__AnnotationType__AttributesAssignment_7"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27710:1: rule__AnnotationType__AttributesAssignment_7 : ( ruleAnnotationAttribute ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27428:1: rule__AnnotationType__AttributesAssignment_7 : ( ruleAnnotationAttribute ) ;
     public final void rule__AnnotationType__AttributesAssignment_7() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27714:1: ( ( ruleAnnotationAttribute ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27715:1: ( ruleAnnotationAttribute )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27432:1: ( ( ruleAnnotationAttribute ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27433:1: ( ruleAnnotationAttribute )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27715:1: ( ruleAnnotationAttribute )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27716:1: ruleAnnotationAttribute
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27433:1: ( ruleAnnotationAttribute )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27434:1: ruleAnnotationAttribute
             {
              before(grammarAccess.getAnnotationTypeAccess().getAttributesAnnotationAttributeParserRuleCall_7_0()); 
-            pushFollow(FOLLOW_ruleAnnotationAttribute_in_rule__AnnotationType__AttributesAssignment_756081);
+            pushFollow(FOLLOW_ruleAnnotationAttribute_in_rule__AnnotationType__AttributesAssignment_755528);
             ruleAnnotationAttribute();
 
             state._fsp--;
@@ -74496,24 +73959,24 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27725:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27443:1: rule__SimpleAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__SimpleAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27729:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27730:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27447:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27448:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27730:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27731:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27448:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27449:1: ( 'optional' )
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27732:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27733:1: 'optional'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27450:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27451:1: 'optional'
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            match(input,33,FOLLOW_33_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_056117); 
+            match(input,34,FOLLOW_34_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_055564); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
 
             }
@@ -74541,20 +74004,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27748:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27466:1: rule__SimpleAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__SimpleAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27752:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27753:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27470:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27471:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27753:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27754:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27471:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27472:1: RULE_ID
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_256156); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_255603); 
              after(grammarAccess.getSimpleAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -74578,20 +74041,20 @@
 
 
     // $ANTLR start "rule__SimpleAnnotationAttribute__TypeAssignment_4"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27763:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27481:1: rule__SimpleAnnotationAttribute__TypeAssignment_4 : ( ruleLiteralType ) ;
     public final void rule__SimpleAnnotationAttribute__TypeAssignment_4() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27767:1: ( ( ruleLiteralType ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27768:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27485:1: ( ( ruleLiteralType ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27486:1: ( ruleLiteralType )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27768:1: ( ruleLiteralType )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27769:1: ruleLiteralType
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27486:1: ( ruleLiteralType )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27487:1: ruleLiteralType
             {
              before(grammarAccess.getSimpleAnnotationAttributeAccess().getTypeLiteralTypeEnumRuleCall_4_0()); 
-            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_456187);
+            pushFollow(FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_455634);
             ruleLiteralType();
 
             state._fsp--;
@@ -74619,24 +74082,24 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__OptionalAssignment_0_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27778:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27496:1: rule__EnumAnnotationAttribute__OptionalAssignment_0_0 : ( ( 'optional' ) ) ;
     public final void rule__EnumAnnotationAttribute__OptionalAssignment_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27782:1: ( ( ( 'optional' ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27783:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27500:1: ( ( ( 'optional' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27501:1: ( ( 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27783:1: ( ( 'optional' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27784:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27501:1: ( ( 'optional' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27502:1: ( 'optional' )
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27785:1: ( 'optional' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27786:1: 'optional'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27503:1: ( 'optional' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27504:1: 'optional'
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
-            match(input,33,FOLLOW_33_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_056223); 
+            match(input,34,FOLLOW_34_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_055670); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0()); 
 
             }
@@ -74664,20 +74127,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__NameAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27801:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27519:1: rule__EnumAnnotationAttribute__NameAssignment_2 : ( RULE_ID ) ;
     public final void rule__EnumAnnotationAttribute__NameAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27805:1: ( ( RULE_ID ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27806:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27523:1: ( ( RULE_ID ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27524:1: ( RULE_ID )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27806:1: ( RULE_ID )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27807:1: RULE_ID
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27524:1: ( RULE_ID )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27525:1: RULE_ID
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
-            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_256262); 
+            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_255709); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getNameIDTerminalRuleCall_2_0()); 
 
             }
@@ -74701,20 +74164,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_5"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27816:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27534:1: rule__EnumAnnotationAttribute__ValuesAssignment_5 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_5() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27820:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27821:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27538:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27539:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27821:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27822:1: RULE_STRING
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27539:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27540:1: RULE_STRING
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_556293); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_555740); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_5_0()); 
 
             }
@@ -74738,20 +74201,20 @@
 
 
     // $ANTLR start "rule__EnumAnnotationAttribute__ValuesAssignment_6_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27831:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27549:1: rule__EnumAnnotationAttribute__ValuesAssignment_6_1 : ( RULE_STRING ) ;
     public final void rule__EnumAnnotationAttribute__ValuesAssignment_6_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27835:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27836:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27553:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27554:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27836:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27837:1: RULE_STRING
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27554:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27555:1: RULE_STRING
             {
              before(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_156324); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_155771); 
              after(grammarAccess.getEnumAnnotationAttributeAccess().getValuesSTRINGTerminalRuleCall_6_1_0()); 
 
             }
@@ -74775,20 +74238,20 @@
 
 
     // $ANTLR start "rule__Import__ImportedNamespaceAssignment_1_0_0"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27846:1: rule__Import__ImportedNamespaceAssignment_1_0_0 : ( ruleImportedFQN ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27564:1: rule__Import__ImportedNamespaceAssignment_1_0_0 : ( ruleImportedFQN ) ;
     public final void rule__Import__ImportedNamespaceAssignment_1_0_0() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27850:1: ( ( ruleImportedFQN ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27851:1: ( ruleImportedFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27568:1: ( ( ruleImportedFQN ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27569:1: ( ruleImportedFQN )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27851:1: ( ruleImportedFQN )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27852:1: ruleImportedFQN
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27569:1: ( ruleImportedFQN )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27570:1: ruleImportedFQN
             {
              before(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0_0_0()); 
-            pushFollow(FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_056355);
+            pushFollow(FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_055802);
             ruleImportedFQN();
 
             state._fsp--;
@@ -74816,20 +74279,20 @@
 
 
     // $ANTLR start "rule__Import__ImportURIAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27861:1: rule__Import__ImportURIAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27579:1: rule__Import__ImportURIAssignment_2 : ( RULE_STRING ) ;
     public final void rule__Import__ImportURIAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27865:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27866:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27583:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27584:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27866:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27867:1: RULE_STRING
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27584:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27585:1: RULE_STRING
             {
              before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_256386); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_255833); 
              after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_2_0()); 
 
             }
@@ -74853,20 +74316,20 @@
 
 
     // $ANTLR start "rule__Documentation__LinesAssignment_2"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27876:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27594:1: rule__Documentation__LinesAssignment_2 : ( RULE_STRING ) ;
     public final void rule__Documentation__LinesAssignment_2() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27880:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27881:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27598:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27599:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27881:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27882:1: RULE_STRING
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27599:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27600:1: RULE_STRING
             {
              before(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_256417); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_255864); 
              after(grammarAccess.getDocumentationAccess().getLinesSTRINGTerminalRuleCall_2_0()); 
 
             }
@@ -74890,24 +74353,24 @@
 
 
     // $ANTLR start "rule__BooleanLiteral__IsTrueAssignment_1_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27893:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27611:1: rule__BooleanLiteral__IsTrueAssignment_1_1 : ( ( 'true' ) ) ;
     public final void rule__BooleanLiteral__IsTrueAssignment_1_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27897:1: ( ( ( 'true' ) ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27898:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27615:1: ( ( ( 'true' ) ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27616:1: ( ( 'true' ) )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27898:1: ( ( 'true' ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27899:1: ( 'true' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27616:1: ( ( 'true' ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27617:1: ( 'true' )
             {
              before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27900:1: ( 'true' )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27901:1: 'true'
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27618:1: ( 'true' )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27619:1: 'true'
             {
              before(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
-            match(input,130,FOLLOW_130_in_rule__BooleanLiteral__IsTrueAssignment_1_156455); 
+            match(input,131,FOLLOW_131_in_rule__BooleanLiteral__IsTrueAssignment_1_155902); 
              after(grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); 
 
             }
@@ -74935,20 +74398,20 @@
 
 
     // $ANTLR start "rule__RealLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27916:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27634:1: rule__RealLiteral__ValueAssignment_1 : ( ruleReal ) ;
     public final void rule__RealLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27920:1: ( ( ruleReal ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27921:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27638:1: ( ( ruleReal ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27639:1: ( ruleReal )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27921:1: ( ruleReal )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27922:1: ruleReal
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27639:1: ( ruleReal )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27640:1: ruleReal
             {
              before(grammarAccess.getRealLiteralAccess().getValueRealParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_156494);
+            pushFollow(FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_155941);
             ruleReal();
 
             state._fsp--;
@@ -74976,20 +74439,20 @@
 
 
     // $ANTLR start "rule__IntLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27931:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27649:1: rule__IntLiteral__ValueAssignment_1 : ( ruleInteger ) ;
     public final void rule__IntLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27935:1: ( ( ruleInteger ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27936:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27653:1: ( ( ruleInteger ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27654:1: ( ruleInteger )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27936:1: ( ruleInteger )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27937:1: ruleInteger
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27654:1: ( ruleInteger )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27655:1: ruleInteger
             {
              before(grammarAccess.getIntLiteralAccess().getValueIntegerParserRuleCall_1_0()); 
-            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_156525);
+            pushFollow(FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_155972);
             ruleInteger();
 
             state._fsp--;
@@ -75017,20 +74480,20 @@
 
 
     // $ANTLR start "rule__StringLiteral__ValueAssignment_1"
-    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27946:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
+    // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27664:1: rule__StringLiteral__ValueAssignment_1 : ( RULE_STRING ) ;
     public final void rule__StringLiteral__ValueAssignment_1() throws RecognitionException {
 
         		int stackSize = keepStackSize();
             
         try {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27950:1: ( ( RULE_STRING ) )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27951:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27668:1: ( ( RULE_STRING ) )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27669:1: ( RULE_STRING )
             {
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27951:1: ( RULE_STRING )
-            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27952:1: RULE_STRING
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27669:1: ( RULE_STRING )
+            // ../org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g:27670:1: RULE_STRING
             {
              before(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
-            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_156556); 
+            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_156003); 
              after(grammarAccess.getStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); 
 
             }
@@ -75058,32 +74521,31 @@
     protected DFA1 dfa1 = new DFA1(this);
     protected DFA29 dfa29 = new DFA29(this);
     protected DFA30 dfa30 = new DFA30(this);
-    protected DFA45 dfa45 = new DFA45(this);
     static final String DFA1_eotS =
         "\15\uffff";
     static final String DFA1_eofS =
         "\15\uffff";
     static final String DFA1_minS =
-        "\1\21\4\uffff\3\22\5\uffff";
+        "\1\20\4\uffff\3\21\5\uffff";
     static final String DFA1_maxS =
-        "\1\u0080\4\uffff\3\u0080\5\uffff";
+        "\1\u0081\4\uffff\3\u0081\5\uffff";
     static final String DFA1_acceptS =
         "\1\uffff\1\1\1\2\1\3\1\4\3\uffff\1\5\1\6\1\7\1\10\1\11";
     static final String DFA1_specialS =
         "\15\uffff}>";
     static final String[] DFA1_transitionS = {
-            "\1\4\1\11\1\uffff\2\10\1\12\1\13\5\uffff\1\5\1\6\1\7\2\uffff"+
+            "\1\4\1\11\1\uffff\2\10\1\12\1\13\7\uffff\1\5\1\6\1\7\2\uffff"+
             "\1\11\10\uffff\1\1\4\uffff\1\2\3\uffff\1\3\103\uffff\1\14\7"+
             "\uffff\1\11",
             "",
             "",
             "",
             "",
-            "\1\11\1\uffff\1\10\10\uffff\3\11\2\uffff\1\11\135\uffff\1"+
+            "\1\11\1\uffff\1\10\12\uffff\3\11\2\uffff\1\11\135\uffff\1"+
             "\11",
-            "\1\11\1\uffff\1\10\10\uffff\3\11\2\uffff\1\11\135\uffff\1"+
+            "\1\11\1\uffff\1\10\12\uffff\3\11\2\uffff\1\11\135\uffff\1"+
             "\11",
-            "\1\11\1\uffff\1\10\10\uffff\3\11\2\uffff\1\11\135\uffff\1"+
+            "\1\11\1\uffff\1\10\12\uffff\3\11\2\uffff\1\11\135\uffff\1"+
             "\11",
             "",
             "",
@@ -75122,55 +74584,55 @@
             this.transition = DFA1_transition;
         }
         public String getDescription() {
-            return "3198:1: rule__RoomModel__Alternatives_5 : ( ( ( rule__RoomModel__PrimitiveTypesAssignment_5_0 ) ) | ( ( rule__RoomModel__EnumerationTypesAssignment_5_1 ) ) | ( ( rule__RoomModel__ExternalTypesAssignment_5_2 ) ) | ( ( rule__RoomModel__DataClassesAssignment_5_3 ) ) | ( ( rule__RoomModel__ProtocolClassesAssignment_5_4 ) ) | ( ( rule__RoomModel__ActorClassesAssignment_5_5 ) ) | ( ( rule__RoomModel__SubSystemClassesAssignment_5_6 ) ) | ( ( rule__RoomModel__SystemsAssignment_5_7 ) ) | ( ( rule__RoomModel__AnnotationTypesAssignment_5_8 ) ) );";
+            return "3054:1: rule__RoomModel__Alternatives_5 : ( ( ( rule__RoomModel__PrimitiveTypesAssignment_5_0 ) ) | ( ( rule__RoomModel__EnumerationTypesAssignment_5_1 ) ) | ( ( rule__RoomModel__ExternalTypesAssignment_5_2 ) ) | ( ( rule__RoomModel__DataClassesAssignment_5_3 ) ) | ( ( rule__RoomModel__ProtocolClassesAssignment_5_4 ) ) | ( ( rule__RoomModel__ActorClassesAssignment_5_5 ) ) | ( ( rule__RoomModel__SubSystemClassesAssignment_5_6 ) ) | ( ( rule__RoomModel__SystemsAssignment_5_7 ) ) | ( ( rule__RoomModel__AnnotationTypesAssignment_5_8 ) ) );";
         }
     }
     static final String DFA29_eotS =
         "\32\uffff";
     static final String DFA29_eofS =
-        "\13\uffff\1\22\7\uffff\3\22\1\uffff\1\22\2\uffff";
+        "\14\uffff\1\21\6\uffff\2\21\1\uffff\1\21\2\uffff\1\21";
     static final String DFA29_minS =
-        "\1\147\1\7\1\52\1\7\1\54\4\7\2\54\1\50\2\7\1\54\1\7\1\10\1\51\1"+
-        "\uffff\3\50\1\10\1\50\2\uffff";
+        "\1\150\1\6\1\53\1\6\1\55\4\6\3\55\1\51\2\6\1\7\1\52\1\uffff\1\6"+
+        "\2\51\1\7\1\51\2\uffff\1\51";
     static final String DFA29_maxS =
-        "\1\147\2\52\1\160\1\61\2\7\1\160\1\7\2\54\1\u0081\2\7\1\54\1\7"+
-        "\1\73\1\155\1\uffff\3\u0081\1\73\1\u0081\2\uffff";
+        "\1\150\2\53\1\161\1\62\3\6\1\161\3\55\1\u0082\2\6\1\74\1\156\1"+
+        "\uffff\1\6\2\u0082\1\74\1\u0082\2\uffff\1\u0082";
     static final String DFA29_acceptS =
-        "\22\uffff\1\2\5\uffff\1\1\1\3";
+        "\21\uffff\1\2\5\uffff\1\1\1\3\1\uffff";
     static final String DFA29_specialS =
         "\32\uffff}>";
     static final String[] DFA29_transitionS = {
             "\1\1",
-            "\1\2\42\uffff\1\3",
+            "\1\2\44\uffff\1\3",
             "\1\3",
-            "\1\4\147\uffff\1\5\1\6",
-            "\1\7\4\uffff\1\10",
+            "\1\4\151\uffff\1\5\1\6",
+            "\1\10\4\uffff\1\7",
             "\1\11",
             "\1\12",
-            "\1\13\147\uffff\1\14\1\15",
-            "\1\16",
-            "\1\7",
-            "\1\7",
-            "\1\21\1\22\7\uffff\1\17\10\uffff\1\20\42\uffff\1\22\4\uffff"+
-            "\6\22\6\uffff\1\22\22\uffff\1\22",
+            "\1\13",
+            "\1\14\151\uffff\1\15\1\16",
+            "\1\10",
+            "\1\10",
+            "\1\10",
+            "\1\20\1\21\7\uffff\1\22\10\uffff\1\17\42\uffff\1\21\4\uffff"+
+            "\6\21\6\uffff\1\21\22\uffff\1\21",
             "\1\23",
             "\1\24",
-            "\1\7",
-            "\1\25",
-            "\1\26\62\uffff\1\27",
-            "\1\22\77\uffff\1\22\1\30\1\uffff\1\30\1\31",
+            "\1\25\64\uffff\1\26",
+            "\1\21\77\uffff\1\21\1\27\1\uffff\1\27\1\30",
             "",
-            "\1\21\1\22\20\uffff\1\20\42\uffff\1\22\4\uffff\6\22\6\uffff"+
-            "\1\22\22\uffff\1\22",
-            "\1\21\1\22\20\uffff\1\20\42\uffff\1\22\4\uffff\6\22\6\uffff"+
-            "\1\22\22\uffff\1\22",
-            "\1\21\1\22\20\uffff\1\20\42\uffff\1\22\4\uffff\6\22\6\uffff"+
-            "\1\22\22\uffff\1\22",
-            "\1\26\62\uffff\1\27",
-            "\1\21\1\22\63\uffff\1\22\4\uffff\6\22\6\uffff\1\22\22\uffff"+
-            "\1\22",
+            "\1\31",
+            "\1\20\1\21\20\uffff\1\17\42\uffff\1\21\4\uffff\6\21\6\uffff"+
+            "\1\21\22\uffff\1\21",
+            "\1\20\1\21\20\uffff\1\17\42\uffff\1\21\4\uffff\6\21\6\uffff"+
+            "\1\21\22\uffff\1\21",
+            "\1\25\64\uffff\1\26",
+            "\1\20\1\21\63\uffff\1\21\4\uffff\6\21\6\uffff\1\21\22\uffff"+
+            "\1\21",
             "",
-            ""
+            "",
+            "\1\20\1\21\20\uffff\1\17\42\uffff\1\21\4\uffff\6\21\6\uffff"+
+            "\1\21\22\uffff\1\21"
     };
 
     static final short[] DFA29_eot = DFA.unpackEncodedString(DFA29_eotS);
@@ -75203,7 +74665,7 @@
             this.transition = DFA29_transition;
         }
         public String getDescription() {
-            return "4058:1: rule__NonInitialTransition__Alternatives : ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) );";
+            return "3914:1: rule__NonInitialTransition__Alternatives : ( ( ruleTransitionChainStartTransition ) | ( ruleContinuationTransition ) | ( ruleCPBranchTransition ) );";
         }
     }
     static final String DFA30_eotS =
@@ -75211,37 +74673,37 @@
     static final String DFA30_eofS =
         "\31\uffff";
     static final String DFA30_minS =
-        "\1\147\1\7\1\52\1\7\1\54\4\7\2\54\1\50\2\7\1\54\1\10\1\152\1\7"+
-        "\2\50\1\10\1\50\2\uffff\1\50";
+        "\1\150\1\6\1\53\1\6\1\55\4\6\3\55\1\51\2\6\1\7\1\153\1\6\2\51\1"+
+        "\7\1\51\2\uffff\1\51";
     static final String DFA30_maxS =
-        "\1\147\2\52\1\160\1\61\2\7\1\160\1\7\2\54\1\72\2\7\1\54\1\73\1"+
-        "\154\1\7\2\72\1\73\1\50\2\uffff\1\72";
+        "\1\150\2\53\1\161\1\62\3\6\1\161\3\55\1\73\2\6\1\74\1\155\1\6\2"+
+        "\73\1\74\1\51\2\uffff\1\73";
     static final String DFA30_acceptS =
         "\26\uffff\1\2\1\1\1\uffff";
     static final String DFA30_specialS =
         "\31\uffff}>";
     static final String[] DFA30_transitionS = {
             "\1\1",
-            "\1\2\42\uffff\1\3",
+            "\1\2\44\uffff\1\3",
             "\1\3",
-            "\1\4\147\uffff\1\5\1\6",
-            "\1\7\4\uffff\1\10",
+            "\1\4\151\uffff\1\5\1\6",
+            "\1\10\4\uffff\1\7",
             "\1\11",
             "\1\12",
-            "\1\13\147\uffff\1\14\1\15",
-            "\1\16",
-            "\1\7",
-            "\1\7",
+            "\1\13",
+            "\1\14\151\uffff\1\15\1\16",
+            "\1\10",
+            "\1\10",
+            "\1\10",
             "\1\20\10\uffff\1\21\10\uffff\1\17",
             "\1\22",
             "\1\23",
-            "\1\7",
-            "\1\24\62\uffff\1\25",
+            "\1\24\64\uffff\1\25",
             "\1\27\1\uffff\1\26",
             "\1\30",
             "\1\20\21\uffff\1\17",
             "\1\20\21\uffff\1\17",
-            "\1\24\62\uffff\1\25",
+            "\1\24\64\uffff\1\25",
             "\1\20",
             "",
             "",
@@ -75278,65 +74740,7 @@
             this.transition = DFA30_transition;
         }
         public String getDescription() {
-            return "4086:1: rule__TransitionChainStartTransition__Alternatives : ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) );";
-        }
-    }
-    static final String DFA45_eotS =
-        "\12\uffff";
-    static final String DFA45_eofS =
-        "\5\uffff\1\6\1\uffff\1\11\2\uffff";
-    static final String DFA45_minS =
-        "\3\5\1\125\1\uffff\1\5\1\uffff\1\6\2\uffff";
-    static final String DFA45_maxS =
-        "\4\125\1\uffff\1\62\1\uffff\1\62\2\uffff";
-    static final String DFA45_acceptS =
-        "\4\uffff\1\2\1\uffff\1\3\1\uffff\1\4\1\1";
-    static final String DFA45_specialS =
-        "\12\uffff}>";
-    static final String[] DFA45_transitionS = {
-            "\1\3\25\uffff\1\1\1\2\70\uffff\1\4",
-            "\1\3\117\uffff\1\4",
-            "\1\3\117\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\7\51\uffff\1\6\2\uffff\1\6",
-            "",
-            "\1\10\50\uffff\1\11\2\uffff\1\11",
-            "",
-            ""
-    };
-
-    static final short[] DFA45_eot = DFA.unpackEncodedString(DFA45_eotS);
-    static final short[] DFA45_eof = DFA.unpackEncodedString(DFA45_eofS);
-    static final char[] DFA45_min = DFA.unpackEncodedStringToUnsignedChars(DFA45_minS);
-    static final char[] DFA45_max = DFA.unpackEncodedStringToUnsignedChars(DFA45_maxS);
-    static final short[] DFA45_accept = DFA.unpackEncodedString(DFA45_acceptS);
-    static final short[] DFA45_special = DFA.unpackEncodedString(DFA45_specialS);
-    static final short[][] DFA45_transition;
-
-    static {
-        int numStates = DFA45_transitionS.length;
-        DFA45_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA45_transition[i] = DFA.unpackEncodedString(DFA45_transitionS[i]);
-        }
-    }
-
-    class DFA45 extends DFA {
-
-        public DFA45(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 45;
-            this.eot = DFA45_eot;
-            this.eof = DFA45_eof;
-            this.min = DFA45_min;
-            this.max = DFA45_max;
-            this.accept = DFA45_accept;
-            this.special = DFA45_special;
-            this.transition = DFA45_transition;
-        }
-        public String getDescription() {
-            return "4447:1: rule__Real__Alternatives : ( ( ruleDecimal ) | ( ruleDotDecimal ) | ( ruleDecimalDot ) | ( ruleDecimalExp ) );";
+            return "3942:1: rule__TransitionChainStartTransition__Alternatives : ( ( ruleTriggeredTransition ) | ( ruleGuardedTransition ) );";
         }
     }
  
@@ -75638,2081 +75042,2057 @@
     public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger5956 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInteger5963 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rule__Integer__Alternatives_in_ruleInteger5989 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger6021 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger6028 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0_in_ruleSignedInteger6058 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal6090 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal6097 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal6127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal6153 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal6160 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal6186 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal6218 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal6225 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal6255 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal6287 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal6294 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0_in_ruleDotDecimal6324 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot6356 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot6363 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0_in_ruleDecimalDot6393 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp6425 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp6432 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp6462 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN6489 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN6496 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN6522 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CommunicationType__Alternatives_in_ruleCommunicationType6559 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ReferenceType__Alternatives_in_ruleReferenceType6595 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ComponentCommunicationType__Alternatives_in_ruleComponentCommunicationType6633 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType6669 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__PrimitiveTypesAssignment_5_0_in_rule__RoomModel__Alternatives_56704 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__EnumerationTypesAssignment_5_1_in_rule__RoomModel__Alternatives_56722 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__ExternalTypesAssignment_5_2_in_rule__RoomModel__Alternatives_56740 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__DataClassesAssignment_5_3_in_rule__RoomModel__Alternatives_56758 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__ProtocolClassesAssignment_5_4_in_rule__RoomModel__Alternatives_56776 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__ActorClassesAssignment_5_5_in_rule__RoomModel__Alternatives_56794 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__SubSystemClassesAssignment_5_6_in_rule__RoomModel__Alternatives_56812 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__SystemsAssignment_5_7_in_rule__RoomModel__Alternatives_56830 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__AnnotationTypesAssignment_5_8_in_rule__RoomModel__Alternatives_56848 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleActorContainerClass_in_rule__StructureClass__Alternatives6882 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLogicalSystem_in_rule__StructureClass__Alternatives6899 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleActorClass_in_rule__ActorContainerClass__Alternatives6931 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSubSystemClass_in_rule__ActorContainerClass__Alternatives6948 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePrimitiveType_in_rule__DataType__Alternatives6980 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumerationType_in_rule__DataType__Alternatives6997 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleComplexType_in_rule__DataType__Alternatives7014 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDataClass_in_rule__ComplexType__Alternatives7046 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleExternalType_in_rule__ComplexType__Alternatives7063 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__OperationsAssignment_9_0_in_rule__DataClass__Alternatives_97095 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__StructorsAssignment_9_1_in_rule__DataClass__Alternatives_97113 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__AttributesAssignment_9_2_in_rule__DataClass__Alternatives_97131 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rule__StandardOperation__Alternatives_6_17166 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__ReturnTypeAssignment_6_1_1_in_rule__StandardOperation__Alternatives_6_17185 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_5_0__0_in_rule__PortOperation__Alternatives_57218 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_5_1__0_in_rule__PortOperation__Alternatives_57236 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_rule__PortOperation__Alternatives_5_0_17270 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__ReturnTypeAssignment_5_0_1_1_in_rule__PortOperation__Alternatives_5_0_17289 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rule__ClassStructor__NameAlternatives_0_07323 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_15_in_rule__ClassStructor__NameAlternatives_0_07343 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleProtocolClass_in_rule__GeneralProtocolClass__Alternatives7377 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleCompoundProtocolClass_in_rule__GeneralProtocolClass__Alternatives7394 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__MsgHandlersAssignment_3_0_in_rule__PortClass__Alternatives_37426 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__OperationsAssignment_3_1_in_rule__PortClass__Alternatives_37444 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__AttributesAssignment_3_2_in_rule__PortClass__Alternatives_37462 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInMessageHandler_in_rule__MessageHandler__Alternatives7495 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleOutMessageHandler_in_rule__MessageHandler__Alternatives7512 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0_in_rule__ActorClass__Alternatives_7_27544 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__InterfacePortsAssignment_7_2_1_in_rule__ActorClass__Alternatives_7_27562 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__ConnectionsAssignment_8_6_0_in_rule__ActorClass__Alternatives_8_67595 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__BindingsAssignment_8_6_1_in_rule__ActorClass__Alternatives_8_67613 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__ServiceImplementationsAssignment_8_6_2_in_rule__ActorClass__Alternatives_8_67631 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__AttributesAssignment_8_6_3_in_rule__ActorClass__Alternatives_8_67649 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__ActorRefsAssignment_8_6_4_in_rule__ActorClass__Alternatives_8_67667 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__ServiceAccessPointsAssignment_8_6_5_in_rule__ActorClass__Alternatives_8_67685 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__InternalPortsAssignment_8_6_6_in_rule__ActorClass__Alternatives_8_67703 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__ExternalPortsAssignment_8_6_7_in_rule__ActorClass__Alternatives_8_67721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__OperationsAssignment_9_4_0_in_rule__ActorClass__Alternatives_9_47754 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__StructorsAssignment_9_4_1_in_rule__ActorClass__Alternatives_9_47772 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePort_in_rule__InterfaceItem__Alternatives7805 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSAP_in_rule__InterfaceItem__Alternatives7822 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSPP_in_rule__InterfaceItem__Alternatives7839 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__ConnectionsAssignment_5_0_in_rule__LogicalSystem__Alternatives_57871 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__BindingsAssignment_5_1_in_rule__LogicalSystem__Alternatives_57889 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__SubSystemsAssignment_5_2_in_rule__LogicalSystem__Alternatives_57907 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0_in_rule__SubSystemClass__Alternatives_87941 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__ThreadsAssignment_8_1_in_rule__SubSystemClass__Alternatives_87959 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__ConnectionsAssignment_8_2_in_rule__SubSystemClass__Alternatives_87977 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__BindingsAssignment_8_3_in_rule__SubSystemClass__Alternatives_87995 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__ActorRefsAssignment_8_4_in_rule__SubSystemClass__Alternatives_88013 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5_in_rule__SubSystemClass__Alternatives_88031 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__RelayPortsAssignment_8_6_in_rule__SubSystemClass__Alternatives_88049 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefSAPoint_in_rule__SAPoint__Alternatives8082 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRelaySAPoint_in_rule__SAPoint__Alternatives8099 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_16_in_rule__MULTIPLICITY__Alternatives_18132 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__MULTIPLICITY__Alternatives_18151 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__AnnotationTargetType__Alternatives8184 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_rule__AnnotationTargetType__Alternatives8204 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_19_in_rule__AnnotationTargetType__Alternatives8224 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__AnnotationTargetType__Alternatives8244 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_21_in_rule__AnnotationTargetType__Alternatives8264 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_22_in_rule__AnnotationTargetType__Alternatives8284 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_rule__AnnotationTargetType__Alternatives8304 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleState_in_rule__StateGraphNode__Alternatives8338 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateGraphNode__Alternatives8355 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateGraphNode__Alternatives8372 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__StatesAssignment_2_0_in_rule__StateGraph__Alternatives_28405 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__TrPointsAssignment_2_1_in_rule__StateGraph__Alternatives_28423 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__ChPointsAssignment_2_2_in_rule__StateGraph__Alternatives_28441 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__TransitionsAssignment_2_3_in_rule__StateGraph__Alternatives_28459 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__RefinedTransitionsAssignment_2_4_in_rule__StateGraph__Alternatives_28477 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__StatesAssignment_3_0_in_rule__StateMachine__Alternatives_38510 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__TrPointsAssignment_3_1_in_rule__StateMachine__Alternatives_38528 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__ChPointsAssignment_3_2_in_rule__StateMachine__Alternatives_38546 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__TransitionsAssignment_3_3_in_rule__StateMachine__Alternatives_38564 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__RefinedTransitionsAssignment_3_4_in_rule__StateMachine__Alternatives_38582 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleState_in_rule__State__Alternatives8615 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefinedState_in_rule__State__Alternatives8632 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionPoint_in_rule__TrPoint__Alternatives8664 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEntryPoint_in_rule__TrPoint__Alternatives8681 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleExitPoint_in_rule__TrPoint__Alternatives8698 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInitialTransition_in_rule__Transition__Alternatives8730 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNonInitialTransition_in_rule__Transition__Alternatives8747 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionChainStartTransition_in_rule__NonInitialTransition__Alternatives8779 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleContinuationTransition_in_rule__NonInitialTransition__Alternatives8796 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleCPBranchTransition_in_rule__NonInitialTransition__Alternatives8813 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTriggeredTransition_in_rule__TransitionChainStartTransition__Alternatives8845 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleGuardedTransition_in_rule__TransitionChainStartTransition__Alternatives8862 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStateTerminal_in_rule__TransitionTerminal__Alternatives8894 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrPointTerminal_in_rule__TransitionTerminal__Alternatives8911 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSubStateTrPointTerminal_in_rule__TransitionTerminal__Alternatives8928 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleChoicepointTerminal_in_rule__TransitionTerminal__Alternatives8945 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInSemanticsRule_in_rule__SemanticsRule__Alternatives8977 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleOutSemanticsRule_in_rule__SemanticsRule__Alternatives8994 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__InSemanticsRule__Alternatives_3_19026 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__0_in_rule__InSemanticsRule__Alternatives_3_19044 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__OutSemanticsRule__Alternatives_3_19077 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0_in_rule__OutSemanticsRule__Alternatives_3_19095 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__TargetsAssignment_6_0_in_rule__AnnotationType__Alternatives_69128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__0_in_rule__AnnotationType__Alternatives_69146 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives9179 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives9196 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_09228 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__SimpleAnnotationAttribute__Alternatives_09247 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_09281 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_24_in_rule__EnumAnnotationAttribute__Alternatives_09300 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_19334 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_25_in_rule__Import__Alternatives_19353 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives9388 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives9405 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives9422 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_26_in_rule__BooleanLiteral__Alternatives_19455 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_19474 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives9507 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives9524 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_rule__Integer__Alternatives9556 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_rule__Integer__Alternatives9573 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__SignedInteger__Alternatives_09606 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__SignedInteger__Alternatives_09626 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives9660 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_rule__Real__Alternatives9677 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_rule__Real__Alternatives9694 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives9711 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__Decimal__Alternatives_09744 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__Decimal__Alternatives_09764 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__DotDecimal__Alternatives_09799 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__DotDecimal__Alternatives_09819 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__DecimalDot__Alternatives_09854 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__DecimalDot__Alternatives_09874 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_rule__DecimalExp__Alternatives_09909 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_rule__DecimalExp__Alternatives_09929 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__CommunicationType__Alternatives9964 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__CommunicationType__Alternatives9985 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_rule__CommunicationType__Alternatives10006 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_32_in_rule__ReferenceType__Alternatives10042 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__ReferenceType__Alternatives10063 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_29_in_rule__ComponentCommunicationType__Alternatives10100 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_30_in_rule__ComponentCommunicationType__Alternatives10121 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_rule__ComponentCommunicationType__Alternatives10142 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_31_in_rule__ComponentCommunicationType__Alternatives10163 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_35_in_rule__LiteralType__Alternatives10199 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_rule__LiteralType__Alternatives10220 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_rule__LiteralType__Alternatives10241 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_38_in_rule__LiteralType__Alternatives10262 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__0__Impl_in_rule__RoomModel__Group__010295 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__1_in_rule__RoomModel__Group__010298 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_39_in_rule__RoomModel__Group__0__Impl10326 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__1__Impl_in_rule__RoomModel__Group__110357 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__2_in_rule__RoomModel__Group__110360 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__NameAssignment_1_in_rule__RoomModel__Group__1__Impl10387 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__2__Impl_in_rule__RoomModel__Group__210417 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__3_in_rule__RoomModel__Group__210420 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__DocuAssignment_2_in_rule__RoomModel__Group__2__Impl10447 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__3__Impl_in_rule__RoomModel__Group__310478 = new BitSet(new long[]{0x00110A04E0F20000L,0x0900000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__4_in_rule__RoomModel__Group__310481 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__RoomModel__Group__3__Impl10509 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__4__Impl_in_rule__RoomModel__Group__410540 = new BitSet(new long[]{0x00110A04E0F20000L,0x0900000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__5_in_rule__RoomModel__Group__410543 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__ImportsAssignment_4_in_rule__RoomModel__Group__4__Impl10570 = new BitSet(new long[]{0x0000000000000002L,0x0800000000000000L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__5__Impl_in_rule__RoomModel__Group__510601 = new BitSet(new long[]{0x00110A04E0F20000L,0x0900000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__6_in_rule__RoomModel__Group__510604 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RoomModel__Alternatives_5_in_rule__RoomModel__Group__5__Impl10631 = new BitSet(new long[]{0x00110804E0F20002L,0x0100000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__RoomModel__Group__6__Impl_in_rule__RoomModel__Group__610662 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__RoomModel__Group__6__Impl10690 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__VarDecl__Group__0__Impl_in_rule__VarDecl__Group__010735 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__VarDecl__Group__1_in_rule__VarDecl__Group__010738 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__VarDecl__NameAssignment_0_in_rule__VarDecl__Group__0__Impl10765 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__VarDecl__Group__1__Impl_in_rule__VarDecl__Group__110795 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__VarDecl__Group__2_in_rule__VarDecl__Group__110798 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__VarDecl__Group__1__Impl10826 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__VarDecl__Group__2__Impl_in_rule__VarDecl__Group__210857 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__VarDecl__RefTypeAssignment_2_in_rule__VarDecl__Group__2__Impl10884 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefableType__Group__0__Impl_in_rule__RefableType__Group__010920 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
-    public static final BitSet FOLLOW_rule__RefableType__Group__1_in_rule__RefableType__Group__010923 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefableType__TypeAssignment_0_in_rule__RefableType__Group__0__Impl10950 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefableType__Group__1__Impl_in_rule__RefableType__Group__110980 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefableType__RefAssignment_1_in_rule__RefableType__Group__1__Impl11007 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__0__Impl_in_rule__PrimitiveType__Group__011042 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__1_in_rule__PrimitiveType__Group__011045 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_43_in_rule__PrimitiveType__Group__0__Impl11073 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__1__Impl_in_rule__PrimitiveType__Group__111104 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__2_in_rule__PrimitiveType__Group__111107 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__NameAssignment_1_in_rule__PrimitiveType__Group__1__Impl11134 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__2__Impl_in_rule__PrimitiveType__Group__211164 = new BitSet(new long[]{0x0000007800000000L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__3_in_rule__PrimitiveType__Group__211167 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__PrimitiveType__Group__2__Impl11195 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__3__Impl_in_rule__PrimitiveType__Group__311226 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__4_in_rule__PrimitiveType__Group__311229 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__TypeAssignment_3_in_rule__PrimitiveType__Group__3__Impl11256 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__4__Impl_in_rule__PrimitiveType__Group__411286 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__5_in_rule__PrimitiveType__Group__411289 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__PrimitiveType__Group__4__Impl11317 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__5__Impl_in_rule__PrimitiveType__Group__511348 = new BitSet(new long[]{0x0000600000000000L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__6_in_rule__PrimitiveType__Group__511351 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__TargetNameAssignment_5_in_rule__PrimitiveType__Group__5__Impl11378 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__6__Impl_in_rule__PrimitiveType__Group__611408 = new BitSet(new long[]{0x0000600000000000L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__7_in_rule__PrimitiveType__Group__611411 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__0_in_rule__PrimitiveType__Group__6__Impl11438 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__7__Impl_in_rule__PrimitiveType__Group__711469 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__8_in_rule__PrimitiveType__Group__711472 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_45_in_rule__PrimitiveType__Group__7__Impl11500 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__8__Impl_in_rule__PrimitiveType__Group__811531 = new BitSet(new long[]{0x0400000000000000L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__9_in_rule__PrimitiveType__Group__811534 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__DefaultValueLiteralAssignment_8_in_rule__PrimitiveType__Group__8__Impl11561 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group__9__Impl_in_rule__PrimitiveType__Group__911591 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__DocuAssignment_9_in_rule__PrimitiveType__Group__9__Impl11618 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__0__Impl_in_rule__PrimitiveType__Group_6__011669 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__1_in_rule__PrimitiveType__Group_6__011672 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__PrimitiveType__Group_6__0__Impl11700 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__1__Impl_in_rule__PrimitiveType__Group_6__111731 = new BitSet(new long[]{0x0000800000000000L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__2_in_rule__PrimitiveType__Group_6__111734 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__CastNameAssignment_6_1_in_rule__PrimitiveType__Group_6__1__Impl11761 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__2__Impl_in_rule__PrimitiveType__Group_6__211791 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__PrimitiveType__Group_6__2__Impl11819 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__0__Impl_in_rule__EnumerationType__Group__011856 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__1_in_rule__EnumerationType__Group__011859 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_48_in_rule__EnumerationType__Group__0__Impl11887 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__1__Impl_in_rule__EnumerationType__Group__111918 = new BitSet(new long[]{0x0402010000000000L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__2_in_rule__EnumerationType__Group__111921 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__NameAssignment_1_in_rule__EnumerationType__Group__1__Impl11948 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__2__Impl_in_rule__EnumerationType__Group__211978 = new BitSet(new long[]{0x0402010000000000L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__3_in_rule__EnumerationType__Group__211981 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__DocuAssignment_2_in_rule__EnumerationType__Group__2__Impl12008 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__3__Impl_in_rule__EnumerationType__Group__312039 = new BitSet(new long[]{0x0402010000000000L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__4_in_rule__EnumerationType__Group__312042 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_3__0_in_rule__EnumerationType__Group__3__Impl12069 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__4__Impl_in_rule__EnumerationType__Group__412100 = new BitSet(new long[]{0x0000020000000080L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__5_in_rule__EnumerationType__Group__412103 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__EnumerationType__Group__4__Impl12131 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__5__Impl_in_rule__EnumerationType__Group__512162 = new BitSet(new long[]{0x0000020000000080L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__6_in_rule__EnumerationType__Group__512165 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_5__0_in_rule__EnumerationType__Group__5__Impl12192 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group__6__Impl_in_rule__EnumerationType__Group__612223 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__EnumerationType__Group__6__Impl12251 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_3__0__Impl_in_rule__EnumerationType__Group_3__012296 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_3__1_in_rule__EnumerationType__Group_3__012299 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_49_in_rule__EnumerationType__Group_3__0__Impl12327 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_3__1__Impl_in_rule__EnumerationType__Group_3__112358 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__PrimitiveTypeAssignment_3_1_in_rule__EnumerationType__Group_3__1__Impl12385 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_5__0__Impl_in_rule__EnumerationType__Group_5__012419 = new BitSet(new long[]{0x0004000000000000L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_5__1_in_rule__EnumerationType__Group_5__012422 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__LiteralsAssignment_5_0_in_rule__EnumerationType__Group_5__0__Impl12449 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_5__1__Impl_in_rule__EnumerationType__Group_5__112479 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_5_1__0_in_rule__EnumerationType__Group_5__1__Impl12506 = new BitSet(new long[]{0x0004000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_5_1__0__Impl_in_rule__EnumerationType__Group_5_1__012541 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_5_1__1_in_rule__EnumerationType__Group_5_1__012544 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_rule__EnumerationType__Group_5_1__0__Impl12572 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__Group_5_1__1__Impl_in_rule__EnumerationType__Group_5_1__112603 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumerationType__LiteralsAssignment_5_1_1_in_rule__EnumerationType__Group_5_1__1__Impl12630 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumLiteral__Group__0__Impl_in_rule__EnumLiteral__Group__012664 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_rule__EnumLiteral__Group__1_in_rule__EnumLiteral__Group__012667 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumLiteral__NameAssignment_0_in_rule__EnumLiteral__Group__0__Impl12694 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumLiteral__Group__1__Impl_in_rule__EnumLiteral__Group__112724 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumLiteral__Group_1__0_in_rule__EnumLiteral__Group__1__Impl12751 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumLiteral__Group_1__0__Impl_in_rule__EnumLiteral__Group_1__012786 = new BitSet(new long[]{0x0000000018000030L});
-    public static final BitSet FOLLOW_rule__EnumLiteral__Group_1__1_in_rule__EnumLiteral__Group_1__012789 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_51_in_rule__EnumLiteral__Group_1__0__Impl12817 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumLiteral__Group_1__1__Impl_in_rule__EnumLiteral__Group_1__112848 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumLiteral__LiteralAssignment_1_1_in_rule__EnumLiteral__Group_1__1__Impl12875 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group__0__Impl_in_rule__ExternalType__Group__012909 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group__1_in_rule__ExternalType__Group__012912 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_52_in_rule__ExternalType__Group__0__Impl12940 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group__1__Impl_in_rule__ExternalType__Group__112971 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group__2_in_rule__ExternalType__Group__112974 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__NameAssignment_1_in_rule__ExternalType__Group__1__Impl13001 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group__2__Impl_in_rule__ExternalType__Group__213031 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group__3_in_rule__ExternalType__Group__213034 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__ExternalType__Group__2__Impl13062 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group__3__Impl_in_rule__ExternalType__Group__313093 = new BitSet(new long[]{0x0400200000000000L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group__4_in_rule__ExternalType__Group__313096 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__TargetNameAssignment_3_in_rule__ExternalType__Group__3__Impl13123 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group__4__Impl_in_rule__ExternalType__Group__413153 = new BitSet(new long[]{0x0400200000000000L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group__5_in_rule__ExternalType__Group__413156 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group_4__0_in_rule__ExternalType__Group__4__Impl13183 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group__5__Impl_in_rule__ExternalType__Group__513214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__DocuAssignment_5_in_rule__ExternalType__Group__5__Impl13241 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group_4__0__Impl_in_rule__ExternalType__Group_4__013284 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group_4__1_in_rule__ExternalType__Group_4__013287 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_45_in_rule__ExternalType__Group_4__0__Impl13315 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__Group_4__1__Impl_in_rule__ExternalType__Group_4__113346 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalType__DefaultValueLiteralAssignment_4_1_in_rule__ExternalType__Group_4__1__Impl13373 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__0__Impl_in_rule__DataClass__Group__013407 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__1_in_rule__DataClass__Group__013410 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_rule__DataClass__Group__0__Impl13438 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__1__Impl_in_rule__DataClass__Group__113469 = new BitSet(new long[]{0x0420010000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__2_in_rule__DataClass__Group__113472 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__NameAssignment_1_in_rule__DataClass__Group__1__Impl13499 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__2__Impl_in_rule__DataClass__Group__213529 = new BitSet(new long[]{0x0420010000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__3_in_rule__DataClass__Group__213532 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__DocuAssignment_2_in_rule__DataClass__Group__2__Impl13559 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__3__Impl_in_rule__DataClass__Group__313590 = new BitSet(new long[]{0x0420010000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__4_in_rule__DataClass__Group__313593 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_3__0_in_rule__DataClass__Group__3__Impl13620 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__4__Impl_in_rule__DataClass__Group__413651 = new BitSet(new long[]{0x13C002000000C000L,0x4080000000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__5_in_rule__DataClass__Group__413654 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__DataClass__Group__4__Impl13682 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__5__Impl_in_rule__DataClass__Group__513713 = new BitSet(new long[]{0x13C002000000C000L,0x4080000000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__6_in_rule__DataClass__Group__513716 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__AnnotationsAssignment_5_in_rule__DataClass__Group__5__Impl13743 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__6__Impl_in_rule__DataClass__Group__613774 = new BitSet(new long[]{0x13C002000000C000L,0x4080000000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__7_in_rule__DataClass__Group__613777 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_6__0_in_rule__DataClass__Group__6__Impl13804 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__7__Impl_in_rule__DataClass__Group__713835 = new BitSet(new long[]{0x13C002000000C000L,0x4080000000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__8_in_rule__DataClass__Group__713838 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_7__0_in_rule__DataClass__Group__7__Impl13865 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__8__Impl_in_rule__DataClass__Group__813896 = new BitSet(new long[]{0x13C002000000C000L,0x4080000000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__9_in_rule__DataClass__Group__813899 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_8__0_in_rule__DataClass__Group__8__Impl13926 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__9__Impl_in_rule__DataClass__Group__913957 = new BitSet(new long[]{0x13C002000000C000L,0x4080000000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__10_in_rule__DataClass__Group__913960 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Alternatives_9_in_rule__DataClass__Group__9__Impl13987 = new BitSet(new long[]{0x120000000000C002L,0x4000000000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group__10__Impl_in_rule__DataClass__Group__1014018 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__DataClass__Group__10__Impl14046 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_3__0__Impl_in_rule__DataClass__Group_3__014099 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_3__1_in_rule__DataClass__Group_3__014102 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_53_in_rule__DataClass__Group_3__0__Impl14130 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_3__1__Impl_in_rule__DataClass__Group_3__114161 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__BaseAssignment_3_1_in_rule__DataClass__Group_3__1__Impl14188 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_6__0__Impl_in_rule__DataClass__Group_6__014222 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_6__1_in_rule__DataClass__Group_6__014225 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_54_in_rule__DataClass__Group_6__0__Impl14253 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_6__1__Impl_in_rule__DataClass__Group_6__114284 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__UserCode1Assignment_6_1_in_rule__DataClass__Group_6__1__Impl14311 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_7__0__Impl_in_rule__DataClass__Group_7__014345 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_7__1_in_rule__DataClass__Group_7__014348 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_rule__DataClass__Group_7__0__Impl14376 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_7__1__Impl_in_rule__DataClass__Group_7__114407 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__UserCode2Assignment_7_1_in_rule__DataClass__Group_7__1__Impl14434 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_8__0__Impl_in_rule__DataClass__Group_8__014468 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_8__1_in_rule__DataClass__Group_8__014471 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_56_in_rule__DataClass__Group_8__0__Impl14499 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__Group_8__1__Impl_in_rule__DataClass__Group_8__114530 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DataClass__UserCode3Assignment_8_1_in_rule__DataClass__Group_8__1__Impl14557 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__0__Impl_in_rule__Attribute__Group__014591 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__1_in_rule__Attribute__Group__014594 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_57_in_rule__Attribute__Group__0__Impl14622 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__1__Impl_in_rule__Attribute__Group__114653 = new BitSet(new long[]{0x0400040000000000L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__2_in_rule__Attribute__Group__114656 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__NameAssignment_1_in_rule__Attribute__Group__1__Impl14683 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__2__Impl_in_rule__Attribute__Group__214713 = new BitSet(new long[]{0x0400040000000000L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__3_in_rule__Attribute__Group__214716 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group_2__0_in_rule__Attribute__Group__2__Impl14743 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__3__Impl_in_rule__Attribute__Group__314774 = new BitSet(new long[]{0x0408000000000080L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__4_in_rule__Attribute__Group__314777 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__Attribute__Group__3__Impl14805 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__4__Impl_in_rule__Attribute__Group__414836 = new BitSet(new long[]{0x0408000000000080L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__5_in_rule__Attribute__Group__414839 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__TypeAssignment_4_in_rule__Attribute__Group__4__Impl14866 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__5__Impl_in_rule__Attribute__Group__514897 = new BitSet(new long[]{0x0408000000000080L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__6_in_rule__Attribute__Group__514900 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group_5__0_in_rule__Attribute__Group__5__Impl14927 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group__6__Impl_in_rule__Attribute__Group__614958 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__DocuAssignment_6_in_rule__Attribute__Group__6__Impl14985 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group_2__0__Impl_in_rule__Attribute__Group_2__015030 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_rule__Attribute__Group_2__1_in_rule__Attribute__Group_2__015033 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_58_in_rule__Attribute__Group_2__0__Impl15061 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group_2__1__Impl_in_rule__Attribute__Group_2__115092 = new BitSet(new long[]{0x0800000000000000L});
-    public static final BitSet FOLLOW_rule__Attribute__Group_2__2_in_rule__Attribute__Group_2__115095 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__SizeAssignment_2_1_in_rule__Attribute__Group_2__1__Impl15122 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group_2__2__Impl_in_rule__Attribute__Group_2__215152 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_rule__Attribute__Group_2__2__Impl15180 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group_5__0__Impl_in_rule__Attribute__Group_5__015217 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__Attribute__Group_5__1_in_rule__Attribute__Group_5__015220 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_51_in_rule__Attribute__Group_5__0__Impl15248 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__Group_5__1__Impl_in_rule__Attribute__Group_5__115279 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Attribute__DefaultValueLiteralAssignment_5_1_in_rule__Attribute__Group_5__1__Impl15306 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__0__Impl_in_rule__StandardOperation__Group__015340 = new BitSet(new long[]{0x1000000000000000L,0x4000000000000000L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__1_in_rule__StandardOperation__Group__015343 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__OverrideAssignment_0_in_rule__StandardOperation__Group__0__Impl15370 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__1__Impl_in_rule__StandardOperation__Group__115401 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__2_in_rule__StandardOperation__Group__115404 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_rule__StandardOperation__Group__1__Impl15432 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__2__Impl_in_rule__StandardOperation__Group__215463 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__3_in_rule__StandardOperation__Group__215466 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__NameAssignment_2_in_rule__StandardOperation__Group__2__Impl15493 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__3__Impl_in_rule__StandardOperation__Group__315523 = new BitSet(new long[]{0x0000800000000080L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__4_in_rule__StandardOperation__Group__315526 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__StandardOperation__Group__3__Impl15554 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__4__Impl_in_rule__StandardOperation__Group__415585 = new BitSet(new long[]{0x0000800000000080L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__5_in_rule__StandardOperation__Group__415588 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_4__0_in_rule__StandardOperation__Group__4__Impl15615 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__5__Impl_in_rule__StandardOperation__Group__515646 = new BitSet(new long[]{0x0400050000000000L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__6_in_rule__StandardOperation__Group__515649 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__StandardOperation__Group__5__Impl15677 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__6__Impl_in_rule__StandardOperation__Group__615708 = new BitSet(new long[]{0x0400050000000000L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__7_in_rule__StandardOperation__Group__615711 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_6__0_in_rule__StandardOperation__Group__6__Impl15738 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__7__Impl_in_rule__StandardOperation__Group__715769 = new BitSet(new long[]{0x0400050000000000L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__8_in_rule__StandardOperation__Group__715772 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__DocuAssignment_7_in_rule__StandardOperation__Group__7__Impl15799 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group__8__Impl_in_rule__StandardOperation__Group__815830 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__DetailCodeAssignment_8_in_rule__StandardOperation__Group__8__Impl15857 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_4__0__Impl_in_rule__StandardOperation__Group_4__015905 = new BitSet(new long[]{0x0004000000000000L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_4__1_in_rule__StandardOperation__Group_4__015908 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__ArgumentsAssignment_4_0_in_rule__StandardOperation__Group_4__0__Impl15935 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_4__1__Impl_in_rule__StandardOperation__Group_4__115965 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_4_1__0_in_rule__StandardOperation__Group_4__1__Impl15992 = new BitSet(new long[]{0x0004000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_4_1__0__Impl_in_rule__StandardOperation__Group_4_1__016027 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_4_1__1_in_rule__StandardOperation__Group_4_1__016030 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_rule__StandardOperation__Group_4_1__0__Impl16058 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_4_1__1__Impl_in_rule__StandardOperation__Group_4_1__116089 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__ArgumentsAssignment_4_1_1_in_rule__StandardOperation__Group_4_1__1__Impl16116 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_6__0__Impl_in_rule__StandardOperation__Group_6__016150 = new BitSet(new long[]{0x0000000000002080L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_6__1_in_rule__StandardOperation__Group_6__016153 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__StandardOperation__Group_6__0__Impl16181 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Group_6__1__Impl_in_rule__StandardOperation__Group_6__116212 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StandardOperation__Alternatives_6_1_in_rule__StandardOperation__Group_6__1__Impl16239 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__0__Impl_in_rule__PortOperation__Group__016273 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__1_in_rule__PortOperation__Group__016276 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_rule__PortOperation__Group__0__Impl16304 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__1__Impl_in_rule__PortOperation__Group__116335 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__2_in_rule__PortOperation__Group__116338 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__NameAssignment_1_in_rule__PortOperation__Group__1__Impl16365 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__2__Impl_in_rule__PortOperation__Group__216395 = new BitSet(new long[]{0x0000800000000080L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__3_in_rule__PortOperation__Group__216398 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__PortOperation__Group__2__Impl16426 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__3__Impl_in_rule__PortOperation__Group__316457 = new BitSet(new long[]{0x0000800000000080L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__4_in_rule__PortOperation__Group__316460 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_3__0_in_rule__PortOperation__Group__3__Impl16487 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__4__Impl_in_rule__PortOperation__Group__416518 = new BitSet(new long[]{0x2400050000000000L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__5_in_rule__PortOperation__Group__416521 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__PortOperation__Group__4__Impl16549 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__5__Impl_in_rule__PortOperation__Group__516580 = new BitSet(new long[]{0x2400050000000000L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__6_in_rule__PortOperation__Group__516583 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Alternatives_5_in_rule__PortOperation__Group__5__Impl16610 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__6__Impl_in_rule__PortOperation__Group__616641 = new BitSet(new long[]{0x2400050000000000L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__7_in_rule__PortOperation__Group__616644 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__DocuAssignment_6_in_rule__PortOperation__Group__6__Impl16671 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group__7__Impl_in_rule__PortOperation__Group__716702 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__DetailCodeAssignment_7_in_rule__PortOperation__Group__7__Impl16729 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_3__0__Impl_in_rule__PortOperation__Group_3__016775 = new BitSet(new long[]{0x0004000000000000L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_3__1_in_rule__PortOperation__Group_3__016778 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__ArgumentsAssignment_3_0_in_rule__PortOperation__Group_3__0__Impl16805 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_3__1__Impl_in_rule__PortOperation__Group_3__116835 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_3_1__0_in_rule__PortOperation__Group_3__1__Impl16862 = new BitSet(new long[]{0x0004000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_3_1__0__Impl_in_rule__PortOperation__Group_3_1__016897 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_3_1__1_in_rule__PortOperation__Group_3_1__016900 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_rule__PortOperation__Group_3_1__0__Impl16928 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_3_1__1__Impl_in_rule__PortOperation__Group_3_1__116959 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__ArgumentsAssignment_3_1_1_in_rule__PortOperation__Group_3_1__1__Impl16986 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_5_0__0__Impl_in_rule__PortOperation__Group_5_0__017020 = new BitSet(new long[]{0x0000000000002080L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_5_0__1_in_rule__PortOperation__Group_5_0__017023 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__PortOperation__Group_5_0__0__Impl17051 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_5_0__1__Impl_in_rule__PortOperation__Group_5_0__117082 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Alternatives_5_0_1_in_rule__PortOperation__Group_5_0__1__Impl17109 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_5_1__0__Impl_in_rule__PortOperation__Group_5_1__017143 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_5_1__1_in_rule__PortOperation__Group_5_1__017146 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_61_in_rule__PortOperation__Group_5_1__0__Impl17174 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__Group_5_1__1__Impl_in_rule__PortOperation__Group_5_1__117205 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortOperation__SendsMsgAssignment_5_1_1_in_rule__PortOperation__Group_5_1__1__Impl17232 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ClassStructor__Group__0__Impl_in_rule__ClassStructor__Group__017266 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ClassStructor__Group__1_in_rule__ClassStructor__Group__017269 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ClassStructor__NameAssignment_0_in_rule__ClassStructor__Group__0__Impl17296 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ClassStructor__Group__1__Impl_in_rule__ClassStructor__Group__117326 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ClassStructor__DetailCodeAssignment_1_in_rule__ClassStructor__Group__1__Impl17353 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__0__Impl_in_rule__ProtocolClass__Group__017387 = new BitSet(new long[]{0x00000000E0100000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__1_in_rule__ProtocolClass__Group__017390 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__CommTypeAssignment_0_in_rule__ProtocolClass__Group__0__Impl17417 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__1__Impl_in_rule__ProtocolClass__Group__117448 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__2_in_rule__ProtocolClass__Group__117451 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_rule__ProtocolClass__Group__1__Impl17479 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__2__Impl_in_rule__ProtocolClass__Group__217510 = new BitSet(new long[]{0x0420010000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__3_in_rule__ProtocolClass__Group__217513 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__NameAssignment_2_in_rule__ProtocolClass__Group__2__Impl17540 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__3__Impl_in_rule__ProtocolClass__Group__317570 = new BitSet(new long[]{0x0420010000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__4_in_rule__ProtocolClass__Group__317573 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__DocuAssignment_3_in_rule__ProtocolClass__Group__3__Impl17600 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__4__Impl_in_rule__ProtocolClass__Group__417631 = new BitSet(new long[]{0x0420010000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__5_in_rule__ProtocolClass__Group__417634 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_4__0_in_rule__ProtocolClass__Group__4__Impl17661 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__5__Impl_in_rule__ProtocolClass__Group__517692 = new BitSet(new long[]{0xC1C0020000000000L,0x0090000000000005L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__6_in_rule__ProtocolClass__Group__517695 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__ProtocolClass__Group__5__Impl17723 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__6__Impl_in_rule__ProtocolClass__Group__617754 = new BitSet(new long[]{0xC1C0020000000000L,0x0090000000000005L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__7_in_rule__ProtocolClass__Group__617757 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__AnnotationsAssignment_6_in_rule__ProtocolClass__Group__6__Impl17784 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__7__Impl_in_rule__ProtocolClass__Group__717815 = new BitSet(new long[]{0xC1C0020000000000L,0x0090000000000005L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__8_in_rule__ProtocolClass__Group__717818 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_7__0_in_rule__ProtocolClass__Group__7__Impl17845 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__8__Impl_in_rule__ProtocolClass__Group__817876 = new BitSet(new long[]{0xC1C0020000000000L,0x0090000000000005L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__9_in_rule__ProtocolClass__Group__817879 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_8__0_in_rule__ProtocolClass__Group__8__Impl17906 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__9__Impl_in_rule__ProtocolClass__Group__917937 = new BitSet(new long[]{0xC1C0020000000000L,0x0090000000000005L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__10_in_rule__ProtocolClass__Group__917940 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_9__0_in_rule__ProtocolClass__Group__9__Impl17967 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__10__Impl_in_rule__ProtocolClass__Group__1017998 = new BitSet(new long[]{0xC1C0020000000000L,0x0090000000000005L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__11_in_rule__ProtocolClass__Group__1018001 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__0_in_rule__ProtocolClass__Group__10__Impl18028 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__11__Impl_in_rule__ProtocolClass__Group__1118059 = new BitSet(new long[]{0xC1C0020000000000L,0x0090000000000005L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__12_in_rule__ProtocolClass__Group__1118062 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__0_in_rule__ProtocolClass__Group__11__Impl18089 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__12__Impl_in_rule__ProtocolClass__Group__1218120 = new BitSet(new long[]{0xC1C0020000000000L,0x0090000000000005L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__13_in_rule__ProtocolClass__Group__1218123 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__0_in_rule__ProtocolClass__Group__12__Impl18150 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__13__Impl_in_rule__ProtocolClass__Group__1318181 = new BitSet(new long[]{0xC1C0020000000000L,0x0090000000000005L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__14_in_rule__ProtocolClass__Group__1318184 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__0_in_rule__ProtocolClass__Group__13__Impl18211 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__14__Impl_in_rule__ProtocolClass__Group__1418242 = new BitSet(new long[]{0xC1C0020000000000L,0x0090000000000005L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__15_in_rule__ProtocolClass__Group__1418245 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__SemanticsAssignment_14_in_rule__ProtocolClass__Group__14__Impl18272 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group__15__Impl_in_rule__ProtocolClass__Group__1518303 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__ProtocolClass__Group__15__Impl18331 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_4__0__Impl_in_rule__ProtocolClass__Group_4__018394 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_4__1_in_rule__ProtocolClass__Group_4__018397 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_53_in_rule__ProtocolClass__Group_4__0__Impl18425 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_4__1__Impl_in_rule__ProtocolClass__Group_4__118456 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__BaseAssignment_4_1_in_rule__ProtocolClass__Group_4__1__Impl18483 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_7__0__Impl_in_rule__ProtocolClass__Group_7__018517 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_7__1_in_rule__ProtocolClass__Group_7__018520 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_54_in_rule__ProtocolClass__Group_7__0__Impl18548 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_7__1__Impl_in_rule__ProtocolClass__Group_7__118579 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__UserCode1Assignment_7_1_in_rule__ProtocolClass__Group_7__1__Impl18606 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_8__0__Impl_in_rule__ProtocolClass__Group_8__018640 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_8__1_in_rule__ProtocolClass__Group_8__018643 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_rule__ProtocolClass__Group_8__0__Impl18671 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_8__1__Impl_in_rule__ProtocolClass__Group_8__118702 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__UserCode2Assignment_8_1_in_rule__ProtocolClass__Group_8__1__Impl18729 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_9__0__Impl_in_rule__ProtocolClass__Group_9__018763 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_9__1_in_rule__ProtocolClass__Group_9__018766 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_56_in_rule__ProtocolClass__Group_9__0__Impl18794 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_9__1__Impl_in_rule__ProtocolClass__Group_9__118825 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__UserCode3Assignment_9_1_in_rule__ProtocolClass__Group_9__1__Impl18852 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__0__Impl_in_rule__ProtocolClass__Group_10__018886 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__1_in_rule__ProtocolClass__Group_10__018889 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_62_in_rule__ProtocolClass__Group_10__0__Impl18917 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__1__Impl_in_rule__ProtocolClass__Group_10__118948 = new BitSet(new long[]{0x0000020000000000L,0x8000000000000010L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__2_in_rule__ProtocolClass__Group_10__118951 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__ProtocolClass__Group_10__1__Impl18979 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__2__Impl_in_rule__ProtocolClass__Group_10__219010 = new BitSet(new long[]{0x0000020000000000L,0x8000000000000010L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__3_in_rule__ProtocolClass__Group_10__219013 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__IncomingMessagesAssignment_10_2_in_rule__ProtocolClass__Group_10__2__Impl19040 = new BitSet(new long[]{0x0000000000000002L,0x8000000000000010L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__3__Impl_in_rule__ProtocolClass__Group_10__319071 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__ProtocolClass__Group_10__3__Impl19099 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__0__Impl_in_rule__ProtocolClass__Group_11__019138 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__1_in_rule__ProtocolClass__Group_11__019141 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_63_in_rule__ProtocolClass__Group_11__0__Impl19169 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__1__Impl_in_rule__ProtocolClass__Group_11__119200 = new BitSet(new long[]{0x0000020000000000L,0x8000000000000010L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__2_in_rule__ProtocolClass__Group_11__119203 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__ProtocolClass__Group_11__1__Impl19231 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__2__Impl_in_rule__ProtocolClass__Group_11__219262 = new BitSet(new long[]{0x0000020000000000L,0x8000000000000010L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__3_in_rule__ProtocolClass__Group_11__219265 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__OutgoingMessagesAssignment_11_2_in_rule__ProtocolClass__Group_11__2__Impl19292 = new BitSet(new long[]{0x0000000000000002L,0x8000000000000010L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__3__Impl_in_rule__ProtocolClass__Group_11__319323 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__ProtocolClass__Group_11__3__Impl19351 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__0__Impl_in_rule__ProtocolClass__Group_12__019390 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__1_in_rule__ProtocolClass__Group_12__019393 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_64_in_rule__ProtocolClass__Group_12__0__Impl19421 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__1__Impl_in_rule__ProtocolClass__Group_12__119452 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__2_in_rule__ProtocolClass__Group_12__119455 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_rule__ProtocolClass__Group_12__1__Impl19483 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__2__Impl_in_rule__ProtocolClass__Group_12__219514 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__RegularAssignment_12_2_in_rule__ProtocolClass__Group_12__2__Impl19541 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__0__Impl_in_rule__ProtocolClass__Group_13__019577 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__1_in_rule__ProtocolClass__Group_13__019580 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_66_in_rule__ProtocolClass__Group_13__0__Impl19608 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__1__Impl_in_rule__ProtocolClass__Group_13__119639 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__2_in_rule__ProtocolClass__Group_13__119642 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_rule__ProtocolClass__Group_13__1__Impl19670 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__2__Impl_in_rule__ProtocolClass__Group_13__219701 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolClass__ConjugatedAssignment_13_2_in_rule__ProtocolClass__Group_13__2__Impl19728 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__0__Impl_in_rule__CompoundProtocolClass__Group__019764 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__1_in_rule__CompoundProtocolClass__Group__019767 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_21_in_rule__CompoundProtocolClass__Group__0__Impl19795 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__1__Impl_in_rule__CompoundProtocolClass__Group__119826 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__2_in_rule__CompoundProtocolClass__Group__119829 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__NameAssignment_1_in_rule__CompoundProtocolClass__Group__1__Impl19856 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__2__Impl_in_rule__CompoundProtocolClass__Group__219886 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__3_in_rule__CompoundProtocolClass__Group__219889 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__DocuAssignment_2_in_rule__CompoundProtocolClass__Group__2__Impl19916 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__3__Impl_in_rule__CompoundProtocolClass__Group__319947 = new BitSet(new long[]{0x0000020000000000L,0x0080000000000008L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__4_in_rule__CompoundProtocolClass__Group__319950 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__CompoundProtocolClass__Group__3__Impl19978 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__4__Impl_in_rule__CompoundProtocolClass__Group__420009 = new BitSet(new long[]{0x0000020000000000L,0x0080000000000008L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__5_in_rule__CompoundProtocolClass__Group__420012 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__AnnotationsAssignment_4_in_rule__CompoundProtocolClass__Group__4__Impl20039 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__5__Impl_in_rule__CompoundProtocolClass__Group__520070 = new BitSet(new long[]{0x0000020000000000L,0x0080000000000008L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__6_in_rule__CompoundProtocolClass__Group__520073 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__SubProtocolsAssignment_5_in_rule__CompoundProtocolClass__Group__5__Impl20100 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L});
-    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__6__Impl_in_rule__CompoundProtocolClass__Group__620131 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__CompoundProtocolClass__Group__6__Impl20159 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubProtocol__Group__0__Impl_in_rule__SubProtocol__Group__020204 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SubProtocol__Group__1_in_rule__SubProtocol__Group__020207 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_67_in_rule__SubProtocol__Group__0__Impl20235 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubProtocol__Group__1__Impl_in_rule__SubProtocol__Group__120266 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__SubProtocol__Group__2_in_rule__SubProtocol__Group__120269 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubProtocol__NameAssignment_1_in_rule__SubProtocol__Group__1__Impl20296 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubProtocol__Group__2__Impl_in_rule__SubProtocol__Group__220326 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SubProtocol__Group__3_in_rule__SubProtocol__Group__220329 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__SubProtocol__Group__2__Impl20357 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubProtocol__Group__3__Impl_in_rule__SubProtocol__Group__320388 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubProtocol__ProtocolAssignment_3_in_rule__SubProtocol__Group__3__Impl20415 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Message__Group__0__Impl_in_rule__Message__Group__020453 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000010L});
-    public static final BitSet FOLLOW_rule__Message__Group__1_in_rule__Message__Group__020456 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Message__PrivAssignment_0_in_rule__Message__Group__0__Impl20483 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Message__Group__1__Impl_in_rule__Message__Group__120514 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__Message__Group__2_in_rule__Message__Group__120517 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_68_in_rule__Message__Group__1__Impl20545 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Message__Group__2__Impl_in_rule__Message__Group__220576 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_rule__Message__Group__3_in_rule__Message__Group__220579 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Message__NameAssignment_2_in_rule__Message__Group__2__Impl20606 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Message__Group__3__Impl_in_rule__Message__Group__320636 = new BitSet(new long[]{0x0000800000000080L});
-    public static final BitSet FOLLOW_rule__Message__Group__4_in_rule__Message__Group__320639 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__Message__Group__3__Impl20667 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Message__Group__4__Impl_in_rule__Message__Group__420698 = new BitSet(new long[]{0x0000800000000080L});
-    public static final BitSet FOLLOW_rule__Message__Group__5_in_rule__Message__Group__420701 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Message__DataAssignment_4_in_rule__Message__Group__4__Impl20728 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Message__Group__5__Impl_in_rule__Message__Group__520759 = new BitSet(new long[]{0x0400000000000000L});
-    public static final BitSet FOLLOW_rule__Message__Group__6_in_rule__Message__Group__520762 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__Message__Group__5__Impl20790 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Message__Group__6__Impl_in_rule__Message__Group__620821 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Message__DocuAssignment_6_in_rule__Message__Group__6__Impl20848 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__Group__0__Impl_in_rule__PortClass__Group__020893 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__PortClass__Group__1_in_rule__PortClass__Group__020896 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__Group__1__Impl_in_rule__PortClass__Group__120954 = new BitSet(new long[]{0x120002000000C000L,0x4000000000000060L});
-    public static final BitSet FOLLOW_rule__PortClass__Group__2_in_rule__PortClass__Group__120957 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__PortClass__Group__1__Impl20985 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__Group__2__Impl_in_rule__PortClass__Group__221016 = new BitSet(new long[]{0x120002000000C000L,0x4000000000000060L});
-    public static final BitSet FOLLOW_rule__PortClass__Group__3_in_rule__PortClass__Group__221019 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__Group_2__0_in_rule__PortClass__Group__2__Impl21046 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__Group__3__Impl_in_rule__PortClass__Group__321077 = new BitSet(new long[]{0x120002000000C000L,0x4000000000000060L});
-    public static final BitSet FOLLOW_rule__PortClass__Group__4_in_rule__PortClass__Group__321080 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__Alternatives_3_in_rule__PortClass__Group__3__Impl21107 = new BitSet(new long[]{0x120000000000C002L,0x4000000000000040L});
-    public static final BitSet FOLLOW_rule__PortClass__Group__4__Impl_in_rule__PortClass__Group__421138 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__PortClass__Group__4__Impl21166 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__Group_2__0__Impl_in_rule__PortClass__Group_2__021207 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__PortClass__Group_2__1_in_rule__PortClass__Group_2__021210 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_69_in_rule__PortClass__Group_2__0__Impl21238 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__Group_2__1__Impl_in_rule__PortClass__Group_2__121269 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__PortClass__UserCodeAssignment_2_1_in_rule__PortClass__Group_2__1__Impl21296 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InMessageHandler__Group__0__Impl_in_rule__InMessageHandler__Group__021330 = new BitSet(new long[]{0x4000000000000000L});
-    public static final BitSet FOLLOW_rule__InMessageHandler__Group__1_in_rule__InMessageHandler__Group__021333 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_70_in_rule__InMessageHandler__Group__0__Impl21361 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InMessageHandler__Group__1__Impl_in_rule__InMessageHandler__Group__121392 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__InMessageHandler__Group__2_in_rule__InMessageHandler__Group__121395 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_62_in_rule__InMessageHandler__Group__1__Impl21423 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InMessageHandler__Group__2__Impl_in_rule__InMessageHandler__Group__221454 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__InMessageHandler__Group__3_in_rule__InMessageHandler__Group__221457 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InMessageHandler__MsgAssignment_2_in_rule__InMessageHandler__Group__2__Impl21484 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InMessageHandler__Group__3__Impl_in_rule__InMessageHandler__Group__321514 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InMessageHandler__DetailCodeAssignment_3_in_rule__InMessageHandler__Group__3__Impl21541 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__0__Impl_in_rule__OutMessageHandler__Group__021579 = new BitSet(new long[]{0x8000000000000000L});
-    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__1_in_rule__OutMessageHandler__Group__021582 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_70_in_rule__OutMessageHandler__Group__0__Impl21610 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__1__Impl_in_rule__OutMessageHandler__Group__121641 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__2_in_rule__OutMessageHandler__Group__121644 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_63_in_rule__OutMessageHandler__Group__1__Impl21672 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__2__Impl_in_rule__OutMessageHandler__Group__221703 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__3_in_rule__OutMessageHandler__Group__221706 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutMessageHandler__MsgAssignment_2_in_rule__OutMessageHandler__Group__2__Impl21733 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__3__Impl_in_rule__OutMessageHandler__Group__321763 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutMessageHandler__DetailCodeAssignment_3_in_rule__OutMessageHandler__Group__3__Impl21790 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__0__Impl_in_rule__ActorClass__Group__021828 = new BitSet(new long[]{0x0000000000040000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__1_in_rule__ActorClass__Group__021831 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__UnorderedGroup_0_in_rule__ActorClass__Group__0__Impl21858 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__1__Impl_in_rule__ActorClass__Group__121888 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__2_in_rule__ActorClass__Group__121891 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_rule__ActorClass__Group__1__Impl21919 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__2__Impl_in_rule__ActorClass__Group__221950 = new BitSet(new long[]{0x0420010000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__3_in_rule__ActorClass__Group__221953 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__NameAssignment_2_in_rule__ActorClass__Group__2__Impl21980 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__3__Impl_in_rule__ActorClass__Group__322010 = new BitSet(new long[]{0x0420010000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__4_in_rule__ActorClass__Group__322013 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__DocuAssignment_3_in_rule__ActorClass__Group__3__Impl22040 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__4__Impl_in_rule__ActorClass__Group__422071 = new BitSet(new long[]{0x0420010000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__5_in_rule__ActorClass__Group__422074 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_4__0_in_rule__ActorClass__Group__4__Impl22101 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__5__Impl_in_rule__ActorClass__Group__522132 = new BitSet(new long[]{0x0000020000000000L,0x0080000000000380L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__6_in_rule__ActorClass__Group__522135 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__ActorClass__Group__5__Impl22163 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__6__Impl_in_rule__ActorClass__Group__622194 = new BitSet(new long[]{0x0000020000000000L,0x0080000000000380L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__7_in_rule__ActorClass__Group__622197 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__AnnotationsAssignment_6_in_rule__ActorClass__Group__6__Impl22224 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__7__Impl_in_rule__ActorClass__Group__722255 = new BitSet(new long[]{0x0000020000000000L,0x0080000000000380L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__8_in_rule__ActorClass__Group__722258 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_7__0_in_rule__ActorClass__Group__7__Impl22285 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__8__Impl_in_rule__ActorClass__Group__822316 = new BitSet(new long[]{0x0000020000000000L,0x0080000000000380L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__9_in_rule__ActorClass__Group__822319 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__0_in_rule__ActorClass__Group__8__Impl22346 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__9__Impl_in_rule__ActorClass__Group__922377 = new BitSet(new long[]{0x0000020000000000L,0x0080000000000380L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__10_in_rule__ActorClass__Group__922380 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__0_in_rule__ActorClass__Group__9__Impl22407 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group__10__Impl_in_rule__ActorClass__Group__1022438 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__ActorClass__Group__10__Impl22466 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_4__0__Impl_in_rule__ActorClass__Group_4__022519 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_4__1_in_rule__ActorClass__Group_4__022522 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_53_in_rule__ActorClass__Group_4__0__Impl22550 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_4__1__Impl_in_rule__ActorClass__Group_4__122581 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__BaseAssignment_4_1_in_rule__ActorClass__Group_4__1__Impl22608 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_7__0__Impl_in_rule__ActorClass__Group_7__022642 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_7__1_in_rule__ActorClass__Group_7__022645 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_71_in_rule__ActorClass__Group_7__0__Impl22673 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_7__1__Impl_in_rule__ActorClass__Group_7__122704 = new BitSet(new long[]{0x0000020000000000L,0x0000000000002404L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_7__2_in_rule__ActorClass__Group_7__122707 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__ActorClass__Group_7__1__Impl22735 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_7__2__Impl_in_rule__ActorClass__Group_7__222766 = new BitSet(new long[]{0x0000020000000000L,0x0000000000002404L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_7__3_in_rule__ActorClass__Group_7__222769 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Alternatives_7_2_in_rule__ActorClass__Group_7__2__Impl22796 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002404L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_7__3__Impl_in_rule__ActorClass__Group_7__322827 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__ActorClass__Group_7__3__Impl22855 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__0__Impl_in_rule__ActorClass__Group_8__022894 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__1_in_rule__ActorClass__Group_8__022897 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_72_in_rule__ActorClass__Group_8__0__Impl22925 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__1__Impl_in_rule__ActorClass__Group_8__122956 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__2_in_rule__ActorClass__Group_8__122959 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__StructureDocuAssignment_8_1_in_rule__ActorClass__Group_8__1__Impl22986 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__2__Impl_in_rule__ActorClass__Group_8__223017 = new BitSet(new long[]{0x13C002030000C000L,0x4000000008887C04L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__3_in_rule__ActorClass__Group_8__223020 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__ActorClass__Group_8__2__Impl23048 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__3__Impl_in_rule__ActorClass__Group_8__323079 = new BitSet(new long[]{0x13C002030000C000L,0x4000000008887C04L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__4_in_rule__ActorClass__Group_8__323082 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_3__0_in_rule__ActorClass__Group_8__3__Impl23109 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__4__Impl_in_rule__ActorClass__Group_8__423140 = new BitSet(new long[]{0x13C002030000C000L,0x4000000008887C04L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__5_in_rule__ActorClass__Group_8__423143 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_4__0_in_rule__ActorClass__Group_8__4__Impl23170 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__5__Impl_in_rule__ActorClass__Group_8__523201 = new BitSet(new long[]{0x13C002030000C000L,0x4000000008887C04L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__6_in_rule__ActorClass__Group_8__523204 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_5__0_in_rule__ActorClass__Group_8__5__Impl23231 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__6__Impl_in_rule__ActorClass__Group_8__623262 = new BitSet(new long[]{0x13C002030000C000L,0x4000000008887C04L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__7_in_rule__ActorClass__Group_8__623265 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Alternatives_8_6_in_rule__ActorClass__Group_8__6__Impl23292 = new BitSet(new long[]{0x120000030000C002L,0x4000000008887C04L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8__7__Impl_in_rule__ActorClass__Group_8__723323 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__ActorClass__Group_8__7__Impl23351 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_3__0__Impl_in_rule__ActorClass__Group_8_3__023398 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_3__1_in_rule__ActorClass__Group_8_3__023401 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_54_in_rule__ActorClass__Group_8_3__0__Impl23429 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_3__1__Impl_in_rule__ActorClass__Group_8_3__123460 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__UserCode1Assignment_8_3_1_in_rule__ActorClass__Group_8_3__1__Impl23487 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_4__0__Impl_in_rule__ActorClass__Group_8_4__023521 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_4__1_in_rule__ActorClass__Group_8_4__023524 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_rule__ActorClass__Group_8_4__0__Impl23552 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_4__1__Impl_in_rule__ActorClass__Group_8_4__123583 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__UserCode2Assignment_8_4_1_in_rule__ActorClass__Group_8_4__1__Impl23610 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_5__0__Impl_in_rule__ActorClass__Group_8_5__023644 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_5__1_in_rule__ActorClass__Group_8_5__023647 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_56_in_rule__ActorClass__Group_8_5__0__Impl23675 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_8_5__1__Impl_in_rule__ActorClass__Group_8_5__123706 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__UserCode3Assignment_8_5_1_in_rule__ActorClass__Group_8_5__1__Impl23733 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__0__Impl_in_rule__ActorClass__Group_9__023767 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__1_in_rule__ActorClass__Group_9__023770 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_73_in_rule__ActorClass__Group_9__0__Impl23798 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__1__Impl_in_rule__ActorClass__Group_9__123829 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__2_in_rule__ActorClass__Group_9__123832 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__BehaviorDocuAssignment_9_1_in_rule__ActorClass__Group_9__1__Impl23859 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__2__Impl_in_rule__ActorClass__Group_9__223890 = new BitSet(new long[]{0x100002000000C000L,0x4080000010000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__3_in_rule__ActorClass__Group_9__223893 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__ActorClass__Group_9__2__Impl23921 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__3__Impl_in_rule__ActorClass__Group_9__323952 = new BitSet(new long[]{0x100002000000C000L,0x4080000010000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__4_in_rule__ActorClass__Group_9__323955 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__BehaviorAnnotationsAssignment_9_3_in_rule__ActorClass__Group_9__3__Impl23982 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__4__Impl_in_rule__ActorClass__Group_9__424013 = new BitSet(new long[]{0x100002000000C000L,0x4080000010000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__5_in_rule__ActorClass__Group_9__424016 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Alternatives_9_4_in_rule__ActorClass__Group_9__4__Impl24043 = new BitSet(new long[]{0x100000000000C002L,0x4000000000000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__5__Impl_in_rule__ActorClass__Group_9__524074 = new BitSet(new long[]{0x100002000000C000L,0x4080000010000000L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__6_in_rule__ActorClass__Group_9__524077 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__StateMachineAssignment_9_5_in_rule__ActorClass__Group_9__5__Impl24104 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__Group_9__6__Impl_in_rule__ActorClass__Group_9__624135 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__ActorClass__Group_9__6__Impl24163 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__Group__0__Impl_in_rule__Port__Group__024208 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002404L});
-    public static final BitSet FOLLOW_rule__Port__Group__1_in_rule__Port__Group__024211 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__ConjugatedAssignment_0_in_rule__Port__Group__0__Impl24238 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__Group__1__Impl_in_rule__Port__Group__124269 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__Port__Group__2_in_rule__Port__Group__124272 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_74_in_rule__Port__Group__1__Impl24300 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__Group__2__Impl_in_rule__Port__Group__224331 = new BitSet(new long[]{0x0400040000000000L});
-    public static final BitSet FOLLOW_rule__Port__Group__3_in_rule__Port__Group__224334 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__NameAssignment_2_in_rule__Port__Group__2__Impl24361 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__Group__3__Impl_in_rule__Port__Group__324391 = new BitSet(new long[]{0x0400040000000000L});
-    public static final BitSet FOLLOW_rule__Port__Group__4_in_rule__Port__Group__324394 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__MultiplicityAssignment_3_in_rule__Port__Group__3__Impl24421 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__Group__4__Impl_in_rule__Port__Group__424452 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__Port__Group__5_in_rule__Port__Group__424455 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__Port__Group__4__Impl24483 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__Group__5__Impl_in_rule__Port__Group__524514 = new BitSet(new long[]{0x0400000000000000L});
-    public static final BitSet FOLLOW_rule__Port__Group__6_in_rule__Port__Group__524517 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__ProtocolAssignment_5_in_rule__Port__Group__5__Impl24544 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__Group__6__Impl_in_rule__Port__Group__624574 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Port__DocuAssignment_6_in_rule__Port__Group__6__Impl24601 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalPort__Group__0__Impl_in_rule__ExternalPort__Group__024646 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
-    public static final BitSet FOLLOW_rule__ExternalPort__Group__1_in_rule__ExternalPort__Group__024649 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_75_in_rule__ExternalPort__Group__0__Impl24677 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalPort__Group__1__Impl_in_rule__ExternalPort__Group__124708 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ExternalPort__Group__2_in_rule__ExternalPort__Group__124711 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_74_in_rule__ExternalPort__Group__1__Impl24739 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalPort__Group__2__Impl_in_rule__ExternalPort__Group__224770 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExternalPort__InterfacePortAssignment_2_in_rule__ExternalPort__Group__2__Impl24797 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SAP__Group__0__Impl_in_rule__SAP__Group__024833 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SAP__Group__1_in_rule__SAP__Group__024836 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_76_in_rule__SAP__Group__0__Impl24864 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SAP__Group__1__Impl_in_rule__SAP__Group__124895 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__SAP__Group__2_in_rule__SAP__Group__124898 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SAP__NameAssignment_1_in_rule__SAP__Group__1__Impl24925 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SAP__Group__2__Impl_in_rule__SAP__Group__224955 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SAP__Group__3_in_rule__SAP__Group__224958 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__SAP__Group__2__Impl24986 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SAP__Group__3__Impl_in_rule__SAP__Group__325017 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SAP__ProtocolAssignment_3_in_rule__SAP__Group__3__Impl25044 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SPP__Group__0__Impl_in_rule__SPP__Group__025082 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SPP__Group__1_in_rule__SPP__Group__025085 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_77_in_rule__SPP__Group__0__Impl25113 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SPP__Group__1__Impl_in_rule__SPP__Group__125144 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__SPP__Group__2_in_rule__SPP__Group__125147 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SPP__NameAssignment_1_in_rule__SPP__Group__1__Impl25174 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SPP__Group__2__Impl_in_rule__SPP__Group__225204 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SPP__Group__3_in_rule__SPP__Group__225207 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__SPP__Group__2__Impl25235 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SPP__Group__3__Impl_in_rule__SPP__Group__325266 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SPP__ProtocolAssignment_3_in_rule__SPP__Group__3__Impl25293 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ServiceImplementation__Group__0__Impl_in_rule__ServiceImplementation__Group__025331 = new BitSet(new long[]{0x0002000000000000L});
-    public static final BitSet FOLLOW_rule__ServiceImplementation__Group__1_in_rule__ServiceImplementation__Group__025334 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_78_in_rule__ServiceImplementation__Group__0__Impl25362 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ServiceImplementation__Group__1__Impl_in_rule__ServiceImplementation__Group__125393 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ServiceImplementation__Group__2_in_rule__ServiceImplementation__Group__125396 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_49_in_rule__ServiceImplementation__Group__1__Impl25424 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ServiceImplementation__Group__2__Impl_in_rule__ServiceImplementation__Group__225455 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ServiceImplementation__SppAssignment_2_in_rule__ServiceImplementation__Group__2__Impl25482 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__0__Impl_in_rule__LogicalSystem__Group__025518 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__1_in_rule__LogicalSystem__Group__025521 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_rule__LogicalSystem__Group__0__Impl25549 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__1__Impl_in_rule__LogicalSystem__Group__125580 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__2_in_rule__LogicalSystem__Group__125583 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__NameAssignment_1_in_rule__LogicalSystem__Group__1__Impl25610 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__2__Impl_in_rule__LogicalSystem__Group__225640 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__3_in_rule__LogicalSystem__Group__225643 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__DocuAssignment_2_in_rule__LogicalSystem__Group__2__Impl25670 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__3__Impl_in_rule__LogicalSystem__Group__325701 = new BitSet(new long[]{0x0000020000000000L,0x0080000000888000L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__4_in_rule__LogicalSystem__Group__325704 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__LogicalSystem__Group__3__Impl25732 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__4__Impl_in_rule__LogicalSystem__Group__425763 = new BitSet(new long[]{0x0000020000000000L,0x0080000000888000L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__5_in_rule__LogicalSystem__Group__425766 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__AnnotationsAssignment_4_in_rule__LogicalSystem__Group__4__Impl25793 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__5__Impl_in_rule__LogicalSystem__Group__525824 = new BitSet(new long[]{0x0000020000000000L,0x0080000000888000L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__6_in_rule__LogicalSystem__Group__525827 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Alternatives_5_in_rule__LogicalSystem__Group__5__Impl25854 = new BitSet(new long[]{0x0000000000000002L,0x0000000000888000L});
-    public static final BitSet FOLLOW_rule__LogicalSystem__Group__6__Impl_in_rule__LogicalSystem__Group__625885 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__LogicalSystem__Group__6__Impl25913 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__Group__0__Impl_in_rule__SubSystemRef__Group__025958 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__Group__1_in_rule__SubSystemRef__Group__025961 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_79_in_rule__SubSystemRef__Group__0__Impl25989 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__Group__1__Impl_in_rule__SubSystemRef__Group__126020 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__Group__2_in_rule__SubSystemRef__Group__126023 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__NameAssignment_1_in_rule__SubSystemRef__Group__1__Impl26050 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__Group__2__Impl_in_rule__SubSystemRef__Group__226080 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__Group__3_in_rule__SubSystemRef__Group__226083 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__SubSystemRef__Group__2__Impl26111 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__Group__3__Impl_in_rule__SubSystemRef__Group__326142 = new BitSet(new long[]{0x0400000000000000L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__Group__4_in_rule__SubSystemRef__Group__326145 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__TypeAssignment_3_in_rule__SubSystemRef__Group__3__Impl26172 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__Group__4__Impl_in_rule__SubSystemRef__Group__426202 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemRef__DocuAssignment_4_in_rule__SubSystemRef__Group__4__Impl26229 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__0__Impl_in_rule__SubSystemClass__Group__026270 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__1_in_rule__SubSystemClass__Group__026273 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_22_in_rule__SubSystemClass__Group__0__Impl26301 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__1__Impl_in_rule__SubSystemClass__Group__126332 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__2_in_rule__SubSystemClass__Group__126335 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__NameAssignment_1_in_rule__SubSystemClass__Group__1__Impl26362 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__2__Impl_in_rule__SubSystemClass__Group__226392 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__3_in_rule__SubSystemClass__Group__226395 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__DocuAssignment_2_in_rule__SubSystemClass__Group__2__Impl26422 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__3__Impl_in_rule__SubSystemClass__Group__326453 = new BitSet(new long[]{0x01C0020300000000L,0x00800000088B2404L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__4_in_rule__SubSystemClass__Group__326456 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__SubSystemClass__Group__3__Impl26484 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__4__Impl_in_rule__SubSystemClass__Group__426515 = new BitSet(new long[]{0x01C0020300000000L,0x00800000088B2404L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__5_in_rule__SubSystemClass__Group__426518 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__AnnotationsAssignment_4_in_rule__SubSystemClass__Group__4__Impl26545 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__5__Impl_in_rule__SubSystemClass__Group__526576 = new BitSet(new long[]{0x01C0020300000000L,0x00800000088B2404L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__6_in_rule__SubSystemClass__Group__526579 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_5__0_in_rule__SubSystemClass__Group__5__Impl26606 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__6__Impl_in_rule__SubSystemClass__Group__626637 = new BitSet(new long[]{0x01C0020300000000L,0x00800000088B2404L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__7_in_rule__SubSystemClass__Group__626640 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_6__0_in_rule__SubSystemClass__Group__6__Impl26667 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__7__Impl_in_rule__SubSystemClass__Group__726698 = new BitSet(new long[]{0x01C0020300000000L,0x00800000088B2404L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__8_in_rule__SubSystemClass__Group__726701 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_7__0_in_rule__SubSystemClass__Group__7__Impl26728 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__8__Impl_in_rule__SubSystemClass__Group__826759 = new BitSet(new long[]{0x01C0020300000000L,0x00800000088B2404L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__9_in_rule__SubSystemClass__Group__826762 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Alternatives_8_in_rule__SubSystemClass__Group__8__Impl26789 = new BitSet(new long[]{0x0000000300000002L,0x00000000088B2404L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group__9__Impl_in_rule__SubSystemClass__Group__926820 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__SubSystemClass__Group__9__Impl26848 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_5__0__Impl_in_rule__SubSystemClass__Group_5__026899 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_5__1_in_rule__SubSystemClass__Group_5__026902 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_54_in_rule__SubSystemClass__Group_5__0__Impl26930 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_5__1__Impl_in_rule__SubSystemClass__Group_5__126961 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__UserCode1Assignment_5_1_in_rule__SubSystemClass__Group_5__1__Impl26988 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_6__0__Impl_in_rule__SubSystemClass__Group_6__027022 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_6__1_in_rule__SubSystemClass__Group_6__027025 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_rule__SubSystemClass__Group_6__0__Impl27053 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_6__1__Impl_in_rule__SubSystemClass__Group_6__127084 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__UserCode2Assignment_6_1_in_rule__SubSystemClass__Group_6__1__Impl27111 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_7__0__Impl_in_rule__SubSystemClass__Group_7__027145 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_7__1_in_rule__SubSystemClass__Group_7__027148 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_56_in_rule__SubSystemClass__Group_7__0__Impl27176 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__Group_7__1__Impl_in_rule__SubSystemClass__Group_7__127207 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubSystemClass__UserCode3Assignment_7_1_in_rule__SubSystemClass__Group_7__1__Impl27234 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalThread__Group__0__Impl_in_rule__LogicalThread__Group__027268 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__LogicalThread__Group__1_in_rule__LogicalThread__Group__027271 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_80_in_rule__LogicalThread__Group__0__Impl27299 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalThread__Group__1__Impl_in_rule__LogicalThread__Group__127330 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LogicalThread__NameAssignment_1_in_rule__LogicalThread__Group__1__Impl27357 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__0__Impl_in_rule__ActorInstanceMapping__Group__027391 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__1_in_rule__ActorInstanceMapping__Group__027394 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_81_in_rule__ActorInstanceMapping__Group__0__Impl27422 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__1__Impl_in_rule__ActorInstanceMapping__Group__127453 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__2_in_rule__ActorInstanceMapping__Group__127456 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__PathAssignment_1_in_rule__ActorInstanceMapping__Group__1__Impl27483 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__2__Impl_in_rule__ActorInstanceMapping__Group__227513 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__3_in_rule__ActorInstanceMapping__Group__227516 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__ActorInstanceMapping__Group__2__Impl27544 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__3__Impl_in_rule__ActorInstanceMapping__Group__327575 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__4_in_rule__ActorInstanceMapping__Group__327578 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__ThreadAssignment_3_in_rule__ActorInstanceMapping__Group__3__Impl27605 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__4__Impl_in_rule__ActorInstanceMapping__Group__427635 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__0_in_rule__ActorInstanceMapping__Group__4__Impl27662 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__0__Impl_in_rule__ActorInstanceMapping__Group_4__027703 = new BitSet(new long[]{0x0000020000000000L,0x0000000000020000L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__1_in_rule__ActorInstanceMapping__Group_4__027706 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__ActorInstanceMapping__Group_4__0__Impl27734 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__1__Impl_in_rule__ActorInstanceMapping__Group_4__127765 = new BitSet(new long[]{0x0000020000000000L,0x0000000000020000L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__2_in_rule__ActorInstanceMapping__Group_4__127768 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1_in_rule__ActorInstanceMapping__Group_4__1__Impl27795 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L});
-    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__2__Impl_in_rule__ActorInstanceMapping__Group_4__227826 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__ActorInstanceMapping__Group_4__2__Impl27854 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__Group__0__Impl_in_rule__RefPath__Group__027891 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L});
-    public static final BitSet FOLLOW_rule__RefPath__Group__1_in_rule__RefPath__Group__027894 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__RefsAssignment_0_in_rule__RefPath__Group__0__Impl27921 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__Group__1__Impl_in_rule__RefPath__Group__127951 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__Group_1__0_in_rule__RefPath__Group__1__Impl27978 = new BitSet(new long[]{0x0000000000000002L,0x0000000000040000L});
-    public static final BitSet FOLLOW_rule__RefPath__Group_1__0__Impl_in_rule__RefPath__Group_1__028013 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__RefPath__Group_1__1_in_rule__RefPath__Group_1__028016 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_82_in_rule__RefPath__Group_1__0__Impl28044 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__Group_1__1__Impl_in_rule__RefPath__Group_1__128075 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefPath__RefsAssignment_1_1_in_rule__RefPath__Group_1__1__Impl28102 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group__0__Impl_in_rule__RefSegment__Group__028136 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group__1_in_rule__RefSegment__Group__028139 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__RefAssignment_0_in_rule__RefSegment__Group__0__Impl28166 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group__1__Impl_in_rule__RefSegment__Group__128196 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group_1__0_in_rule__RefSegment__Group__1__Impl28223 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group_1__0__Impl_in_rule__RefSegment__Group_1__028258 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group_1__1_in_rule__RefSegment__Group_1__028261 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__RefSegment__Group_1__0__Impl28289 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__Group_1__1__Impl_in_rule__RefSegment__Group_1__128320 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSegment__IdxAssignment_1_1_in_rule__RefSegment__Group_1__1__Impl28347 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Binding__Group__0__Impl_in_rule__Binding__Group__028381 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__Binding__Group__1_in_rule__Binding__Group__028384 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_83_in_rule__Binding__Group__0__Impl28412 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Binding__Group__1__Impl_in_rule__Binding__Group__128443 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
-    public static final BitSet FOLLOW_rule__Binding__Group__2_in_rule__Binding__Group__128446 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Binding__Endpoint1Assignment_1_in_rule__Binding__Group__1__Impl28473 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Binding__Group__2__Impl_in_rule__Binding__Group__228503 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__Binding__Group__3_in_rule__Binding__Group__228506 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_84_in_rule__Binding__Group__2__Impl28534 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Binding__Group__3__Impl_in_rule__Binding__Group__328565 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Binding__Endpoint2Assignment_3_in_rule__Binding__Group__3__Impl28592 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group__0__Impl_in_rule__BindingEndPoint__Group__028630 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group__1_in_rule__BindingEndPoint__Group__028633 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_0__0_in_rule__BindingEndPoint__Group__0__Impl28660 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group__1__Impl_in_rule__BindingEndPoint__Group__128691 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group__2_in_rule__BindingEndPoint__Group__128694 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__PortAssignment_1_in_rule__BindingEndPoint__Group__1__Impl28721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group__2__Impl_in_rule__BindingEndPoint__Group__228751 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_2__0_in_rule__BindingEndPoint__Group__2__Impl28778 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_0__0__Impl_in_rule__BindingEndPoint__Group_0__028815 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_0__1_in_rule__BindingEndPoint__Group_0__028818 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__ActorRefAssignment_0_0_in_rule__BindingEndPoint__Group_0__0__Impl28845 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_0__1__Impl_in_rule__BindingEndPoint__Group_0__128875 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_85_in_rule__BindingEndPoint__Group_0__1__Impl28903 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_2__0__Impl_in_rule__BindingEndPoint__Group_2__028938 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_2__1_in_rule__BindingEndPoint__Group_2__028941 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_86_in_rule__BindingEndPoint__Group_2__0__Impl28969 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_2__1__Impl_in_rule__BindingEndPoint__Group_2__129000 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BindingEndPoint__SubAssignment_2_1_in_rule__BindingEndPoint__Group_2__1__Impl29027 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LayerConnection__Group__0__Impl_in_rule__LayerConnection__Group__029061 = new BitSet(new long[]{0x0000000000000000L,0x0000000006000000L});
-    public static final BitSet FOLLOW_rule__LayerConnection__Group__1_in_rule__LayerConnection__Group__029064 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_87_in_rule__LayerConnection__Group__0__Impl29092 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LayerConnection__Group__1__Impl_in_rule__LayerConnection__Group__129123 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
-    public static final BitSet FOLLOW_rule__LayerConnection__Group__2_in_rule__LayerConnection__Group__129126 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LayerConnection__FromAssignment_1_in_rule__LayerConnection__Group__1__Impl29153 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LayerConnection__Group__2__Impl_in_rule__LayerConnection__Group__229183 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__LayerConnection__Group__3_in_rule__LayerConnection__Group__229186 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_88_in_rule__LayerConnection__Group__2__Impl29214 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LayerConnection__Group__3__Impl_in_rule__LayerConnection__Group__329245 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__LayerConnection__ToAssignment_3_in_rule__LayerConnection__Group__3__Impl29272 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSAPoint__Group__0__Impl_in_rule__RefSAPoint__Group__029310 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__RefSAPoint__Group__1_in_rule__RefSAPoint__Group__029313 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_89_in_rule__RefSAPoint__Group__0__Impl29341 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSAPoint__Group__1__Impl_in_rule__RefSAPoint__Group__129372 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefSAPoint__RefAssignment_1_in_rule__RefSAPoint__Group__1__Impl29399 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RelaySAPoint__Group__0__Impl_in_rule__RelaySAPoint__Group__029433 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__RelaySAPoint__Group__1_in_rule__RelaySAPoint__Group__029436 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_90_in_rule__RelaySAPoint__Group__0__Impl29464 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RelaySAPoint__Group__1__Impl_in_rule__RelaySAPoint__Group__129495 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RelaySAPoint__RelayAssignment_1_in_rule__RelaySAPoint__Group__1__Impl29522 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SPPoint__Group__0__Impl_in_rule__SPPoint__Group__029556 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_rule__SPPoint__Group__1_in_rule__SPPoint__Group__029559 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SPPoint__RefAssignment_0_in_rule__SPPoint__Group__0__Impl29586 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SPPoint__Group__1__Impl_in_rule__SPPoint__Group__129616 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SPPoint__Group__2_in_rule__SPPoint__Group__129619 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_85_in_rule__SPPoint__Group__1__Impl29647 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SPPoint__Group__2__Impl_in_rule__SPPoint__Group__229678 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SPPoint__ServiceAssignment_2_in_rule__SPPoint__Group__2__Impl29705 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__0__Impl_in_rule__ActorRef__Group__029741 = new BitSet(new long[]{0x0000000300000000L,0x0000000008000000L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__1_in_rule__ActorRef__Group__029744 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__RefTypeAssignment_0_in_rule__ActorRef__Group__0__Impl29771 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__1__Impl_in_rule__ActorRef__Group__129802 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__2_in_rule__ActorRef__Group__129805 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_91_in_rule__ActorRef__Group__1__Impl29833 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__2__Impl_in_rule__ActorRef__Group__229864 = new BitSet(new long[]{0x0400040000000000L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__3_in_rule__ActorRef__Group__229867 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__NameAssignment_2_in_rule__ActorRef__Group__2__Impl29894 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__3__Impl_in_rule__ActorRef__Group__329924 = new BitSet(new long[]{0x0400040000000000L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__4_in_rule__ActorRef__Group__329927 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__MultiplicityAssignment_3_in_rule__ActorRef__Group__3__Impl29954 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__4__Impl_in_rule__ActorRef__Group__429985 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__5_in_rule__ActorRef__Group__429988 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__ActorRef__Group__4__Impl30016 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__5__Impl_in_rule__ActorRef__Group__530047 = new BitSet(new long[]{0x0400000000000000L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__6_in_rule__ActorRef__Group__530050 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__TypeAssignment_5_in_rule__ActorRef__Group__5__Impl30077 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__Group__6__Impl_in_rule__ActorRef__Group__630107 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorRef__DocuAssignment_6_in_rule__ActorRef__Group__6__Impl30134 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MULTIPLICITY__Group__0__Impl_in_rule__MULTIPLICITY__Group__030179 = new BitSet(new long[]{0x0000000000010020L});
-    public static final BitSet FOLLOW_rule__MULTIPLICITY__Group__1_in_rule__MULTIPLICITY__Group__030182 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_58_in_rule__MULTIPLICITY__Group__0__Impl30210 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MULTIPLICITY__Group__1__Impl_in_rule__MULTIPLICITY__Group__130241 = new BitSet(new long[]{0x0800000000000000L});
-    public static final BitSet FOLLOW_rule__MULTIPLICITY__Group__2_in_rule__MULTIPLICITY__Group__130244 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MULTIPLICITY__Alternatives_1_in_rule__MULTIPLICITY__Group__1__Impl30271 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MULTIPLICITY__Group__2__Impl_in_rule__MULTIPLICITY__Group__230301 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_rule__MULTIPLICITY__Group__2__Impl30329 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__0__Impl_in_rule__StateGraph__Group__030366 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__1_in_rule__StateGraph__Group__030369 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__1__Impl_in_rule__StateGraph__Group__130427 = new BitSet(new long[]{0x0000020000000000L,0x000040FC20000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__2_in_rule__StateGraph__Group__130430 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__StateGraph__Group__1__Impl30458 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__2__Impl_in_rule__StateGraph__Group__230489 = new BitSet(new long[]{0x0000020000000000L,0x000040FC20000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__3_in_rule__StateGraph__Group__230492 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__Alternatives_2_in_rule__StateGraph__Group__2__Impl30519 = new BitSet(new long[]{0x0000000000000002L,0x000040FC20000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateGraph__Group__3__Impl_in_rule__StateGraph__Group__330550 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__StateGraph__Group__3__Impl30578 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__0__Impl_in_rule__StateMachine__Group__030617 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__1_in_rule__StateMachine__Group__030620 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__1__Impl_in_rule__StateMachine__Group__130678 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__2_in_rule__StateMachine__Group__130681 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_92_in_rule__StateMachine__Group__1__Impl30709 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__2__Impl_in_rule__StateMachine__Group__230740 = new BitSet(new long[]{0x0000020000000000L,0x000040FC20000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__3_in_rule__StateMachine__Group__230743 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__StateMachine__Group__2__Impl30771 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__3__Impl_in_rule__StateMachine__Group__330802 = new BitSet(new long[]{0x0000020000000000L,0x000040FC20000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__4_in_rule__StateMachine__Group__330805 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Alternatives_3_in_rule__StateMachine__Group__3__Impl30832 = new BitSet(new long[]{0x0000000000000002L,0x000040FC20000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StateMachine__Group__4__Impl_in_rule__StateMachine__Group__430863 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__StateMachine__Group__4__Impl30891 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__0__Impl_in_rule__SimpleState__Group__030932 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__1_in_rule__SimpleState__Group__030935 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_93_in_rule__SimpleState__Group__0__Impl30963 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__1__Impl_in_rule__SimpleState__Group__130994 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__2_in_rule__SimpleState__Group__130997 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__NameAssignment_1_in_rule__SimpleState__Group__1__Impl31024 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__2__Impl_in_rule__SimpleState__Group__231054 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__3_in_rule__SimpleState__Group__231057 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__DocuAssignment_2_in_rule__SimpleState__Group__2__Impl31084 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group__3__Impl_in_rule__SimpleState__Group__331115 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__0_in_rule__SimpleState__Group__3__Impl31142 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__0__Impl_in_rule__SimpleState__Group_3__031181 = new BitSet(new long[]{0x0000020000000000L,0x00000003C0000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__1_in_rule__SimpleState__Group_3__031184 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__SimpleState__Group_3__0__Impl31212 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__1__Impl_in_rule__SimpleState__Group_3__131243 = new BitSet(new long[]{0x0000020000000000L,0x00000003C0000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__2_in_rule__SimpleState__Group_3__131246 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__0_in_rule__SimpleState__Group_3__1__Impl31273 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__2__Impl_in_rule__SimpleState__Group_3__231304 = new BitSet(new long[]{0x0000020000000000L,0x00000003C0000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__3_in_rule__SimpleState__Group_3__231307 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__0_in_rule__SimpleState__Group_3__2__Impl31334 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__3__Impl_in_rule__SimpleState__Group_3__331365 = new BitSet(new long[]{0x0000020000000000L,0x00000003C0000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__4_in_rule__SimpleState__Group_3__331368 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__0_in_rule__SimpleState__Group_3__3__Impl31395 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__4__Impl_in_rule__SimpleState__Group_3__431426 = new BitSet(new long[]{0x0000020000000000L,0x00000003C0000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__5_in_rule__SimpleState__Group_3__431429 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__0_in_rule__SimpleState__Group_3__4__Impl31456 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3__5__Impl_in_rule__SimpleState__Group_3__531487 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__SimpleState__Group_3__5__Impl31515 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__0__Impl_in_rule__SimpleState__Group_3_1__031558 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__1_in_rule__SimpleState__Group_3_1__031561 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_94_in_rule__SimpleState__Group_3_1__0__Impl31589 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__1__Impl_in_rule__SimpleState__Group_3_1__131620 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__EntryCodeAssignment_3_1_1_in_rule__SimpleState__Group_3_1__1__Impl31647 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__0__Impl_in_rule__SimpleState__Group_3_2__031681 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__1_in_rule__SimpleState__Group_3_2__031684 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_95_in_rule__SimpleState__Group_3_2__0__Impl31712 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__1__Impl_in_rule__SimpleState__Group_3_2__131743 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__ExitCodeAssignment_3_2_1_in_rule__SimpleState__Group_3_2__1__Impl31770 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__0__Impl_in_rule__SimpleState__Group_3_3__031804 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__1_in_rule__SimpleState__Group_3_3__031807 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_96_in_rule__SimpleState__Group_3_3__0__Impl31835 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__1__Impl_in_rule__SimpleState__Group_3_3__131866 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__DoCodeAssignment_3_3_1_in_rule__SimpleState__Group_3_3__1__Impl31893 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__0__Impl_in_rule__SimpleState__Group_3_4__031927 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__1_in_rule__SimpleState__Group_3_4__031930 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_97_in_rule__SimpleState__Group_3_4__0__Impl31958 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__1__Impl_in_rule__SimpleState__Group_3_4__131989 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleState__SubgraphAssignment_3_4_1_in_rule__SimpleState__Group_3_4__1__Impl32016 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__0__Impl_in_rule__RefinedState__Group__032050 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__1_in_rule__RefinedState__Group__032053 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_98_in_rule__RefinedState__Group__0__Impl32081 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__1__Impl_in_rule__RefinedState__Group__132112 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__2_in_rule__RefinedState__Group__132115 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__TargetAssignment_1_in_rule__RefinedState__Group__1__Impl32142 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__2__Impl_in_rule__RefinedState__Group__232172 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__3_in_rule__RefinedState__Group__232175 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__DocuAssignment_2_in_rule__RefinedState__Group__2__Impl32202 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__3__Impl_in_rule__RefinedState__Group__332233 = new BitSet(new long[]{0x0000020000000000L,0x00000003C0000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__4_in_rule__RefinedState__Group__332236 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__RefinedState__Group__3__Impl32264 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__4__Impl_in_rule__RefinedState__Group__432295 = new BitSet(new long[]{0x0000020000000000L,0x00000003C0000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__5_in_rule__RefinedState__Group__432298 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_4__0_in_rule__RefinedState__Group__4__Impl32325 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__5__Impl_in_rule__RefinedState__Group__532356 = new BitSet(new long[]{0x0000020000000000L,0x00000003C0000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__6_in_rule__RefinedState__Group__532359 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_5__0_in_rule__RefinedState__Group__5__Impl32386 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__6__Impl_in_rule__RefinedState__Group__632417 = new BitSet(new long[]{0x0000020000000000L,0x00000003C0000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__7_in_rule__RefinedState__Group__632420 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_6__0_in_rule__RefinedState__Group__6__Impl32447 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__7__Impl_in_rule__RefinedState__Group__732478 = new BitSet(new long[]{0x0000020000000000L,0x00000003C0000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__8_in_rule__RefinedState__Group__732481 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_7__0_in_rule__RefinedState__Group__7__Impl32508 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group__8__Impl_in_rule__RefinedState__Group__832539 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__RefinedState__Group__8__Impl32567 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_4__0__Impl_in_rule__RefinedState__Group_4__032616 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_4__1_in_rule__RefinedState__Group_4__032619 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_94_in_rule__RefinedState__Group_4__0__Impl32647 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_4__1__Impl_in_rule__RefinedState__Group_4__132678 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__EntryCodeAssignment_4_1_in_rule__RefinedState__Group_4__1__Impl32705 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_5__0__Impl_in_rule__RefinedState__Group_5__032739 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_5__1_in_rule__RefinedState__Group_5__032742 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_95_in_rule__RefinedState__Group_5__0__Impl32770 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_5__1__Impl_in_rule__RefinedState__Group_5__132801 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__ExitCodeAssignment_5_1_in_rule__RefinedState__Group_5__1__Impl32828 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_6__0__Impl_in_rule__RefinedState__Group_6__032862 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_6__1_in_rule__RefinedState__Group_6__032865 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_96_in_rule__RefinedState__Group_6__0__Impl32893 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_6__1__Impl_in_rule__RefinedState__Group_6__132924 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__DoCodeAssignment_6_1_in_rule__RefinedState__Group_6__1__Impl32951 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_7__0__Impl_in_rule__RefinedState__Group_7__032985 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_7__1_in_rule__RefinedState__Group_7__032988 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_97_in_rule__RefinedState__Group_7__0__Impl33016 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__Group_7__1__Impl_in_rule__RefinedState__Group_7__133047 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedState__SubgraphAssignment_7_1_in_rule__RefinedState__Group_7__1__Impl33074 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__0__Impl_in_rule__DetailCode__Group__033108 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__1_in_rule__DetailCode__Group__033111 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__1__Impl_in_rule__DetailCode__Group__133169 = new BitSet(new long[]{0x0000020000000100L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__2_in_rule__DetailCode__Group__133172 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DetailCode__UsedAssignment_1_in_rule__DetailCode__Group__1__Impl33199 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__2__Impl_in_rule__DetailCode__Group__233229 = new BitSet(new long[]{0x0000020000000100L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__3_in_rule__DetailCode__Group__233232 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DetailCode__LinesAssignment_2_in_rule__DetailCode__Group__2__Impl33259 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_rule__DetailCode__Group__3__Impl_in_rule__DetailCode__Group__333290 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__DetailCode__Group__3__Impl33318 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__Group__0__Impl_in_rule__TransitionPoint__Group__033357 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L,0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__Group__1_in_rule__TransitionPoint__Group__033360 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__HandlerAssignment_0_in_rule__TransitionPoint__Group__0__Impl33387 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__Group__1__Impl_in_rule__TransitionPoint__Group__133418 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__Group__2_in_rule__TransitionPoint__Group__133421 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_99_in_rule__TransitionPoint__Group__1__Impl33449 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__Group__2__Impl_in_rule__TransitionPoint__Group__233480 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TransitionPoint__NameAssignment_2_in_rule__TransitionPoint__Group__2__Impl33507 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EntryPoint__Group__0__Impl_in_rule__EntryPoint__Group__033543 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__EntryPoint__Group__1_in_rule__EntryPoint__Group__033546 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_100_in_rule__EntryPoint__Group__0__Impl33574 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EntryPoint__Group__1__Impl_in_rule__EntryPoint__Group__133605 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EntryPoint__NameAssignment_1_in_rule__EntryPoint__Group__1__Impl33632 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExitPoint__Group__0__Impl_in_rule__ExitPoint__Group__033666 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ExitPoint__Group__1_in_rule__ExitPoint__Group__033669 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_101_in_rule__ExitPoint__Group__0__Impl33697 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExitPoint__Group__1__Impl_in_rule__ExitPoint__Group__133728 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ExitPoint__NameAssignment_1_in_rule__ExitPoint__Group__1__Impl33755 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__Group__0__Impl_in_rule__ChoicePoint__Group__033789 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__Group__1_in_rule__ChoicePoint__Group__033792 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_102_in_rule__ChoicePoint__Group__0__Impl33820 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__Group__1__Impl_in_rule__ChoicePoint__Group__133851 = new BitSet(new long[]{0x0400000000000000L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__Group__2_in_rule__ChoicePoint__Group__133854 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__NameAssignment_1_in_rule__ChoicePoint__Group__1__Impl33881 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__Group__2__Impl_in_rule__ChoicePoint__Group__233911 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicePoint__DocuAssignment_2_in_rule__ChoicePoint__Group__2__Impl33938 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__0__Impl_in_rule__InitialTransition__Group__033975 = new BitSet(new long[]{0x0000040000000080L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__1_in_rule__InitialTransition__Group__033978 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_103_in_rule__InitialTransition__Group__0__Impl34006 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__1__Impl_in_rule__InitialTransition__Group__134037 = new BitSet(new long[]{0x0000040000000080L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__2_in_rule__InitialTransition__Group__134040 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__NameAssignment_1_in_rule__InitialTransition__Group__1__Impl34067 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__2__Impl_in_rule__InitialTransition__Group__234098 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__3_in_rule__InitialTransition__Group__234101 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__InitialTransition__Group__2__Impl34129 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__3__Impl_in_rule__InitialTransition__Group__334160 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__4_in_rule__InitialTransition__Group__334163 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_104_in_rule__InitialTransition__Group__3__Impl34191 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__4__Impl_in_rule__InitialTransition__Group__434222 = new BitSet(new long[]{0x0000000000000080L,0x0001800000000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__5_in_rule__InitialTransition__Group__434225 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__InitialTransition__Group__4__Impl34253 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__5__Impl_in_rule__InitialTransition__Group__534284 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__6_in_rule__InitialTransition__Group__534287 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__ToAssignment_5_in_rule__InitialTransition__Group__5__Impl34314 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__6__Impl_in_rule__InitialTransition__Group__634344 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__7_in_rule__InitialTransition__Group__634347 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__DocuAssignment_6_in_rule__InitialTransition__Group__6__Impl34374 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group__7__Impl_in_rule__InitialTransition__Group__734405 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__0_in_rule__InitialTransition__Group__7__Impl34432 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__0__Impl_in_rule__InitialTransition__Group_7__034479 = new BitSet(new long[]{0x0000020000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__1_in_rule__InitialTransition__Group_7__034482 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__InitialTransition__Group_7__0__Impl34510 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__1__Impl_in_rule__InitialTransition__Group_7__134541 = new BitSet(new long[]{0x0000020000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__2_in_rule__InitialTransition__Group_7__134544 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__0_in_rule__InitialTransition__Group_7__1__Impl34571 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__2__Impl_in_rule__InitialTransition__Group_7__234602 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__InitialTransition__Group_7__2__Impl34630 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__0__Impl_in_rule__InitialTransition__Group_7_1__034667 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__1_in_rule__InitialTransition__Group_7_1__034670 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_105_in_rule__InitialTransition__Group_7_1__0__Impl34698 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__1__Impl_in_rule__InitialTransition__Group_7_1__134729 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InitialTransition__ActionAssignment_7_1_1_in_rule__InitialTransition__Group_7_1__1__Impl34756 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__0__Impl_in_rule__ContinuationTransition__Group__034790 = new BitSet(new long[]{0x0000040000000080L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__1_in_rule__ContinuationTransition__Group__034793 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_103_in_rule__ContinuationTransition__Group__0__Impl34821 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__1__Impl_in_rule__ContinuationTransition__Group__134852 = new BitSet(new long[]{0x0000040000000080L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__2_in_rule__ContinuationTransition__Group__134855 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__NameAssignment_1_in_rule__ContinuationTransition__Group__1__Impl34882 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__2__Impl_in_rule__ContinuationTransition__Group__234913 = new BitSet(new long[]{0x0000000000000080L,0x0001800000000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__3_in_rule__ContinuationTransition__Group__234916 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__ContinuationTransition__Group__2__Impl34944 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__3__Impl_in_rule__ContinuationTransition__Group__334975 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__4_in_rule__ContinuationTransition__Group__334978 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__FromAssignment_3_in_rule__ContinuationTransition__Group__3__Impl35005 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__4__Impl_in_rule__ContinuationTransition__Group__435035 = new BitSet(new long[]{0x0000000000000080L,0x0001800000000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__5_in_rule__ContinuationTransition__Group__435038 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__ContinuationTransition__Group__4__Impl35066 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__5__Impl_in_rule__ContinuationTransition__Group__535097 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__6_in_rule__ContinuationTransition__Group__535100 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__ToAssignment_5_in_rule__ContinuationTransition__Group__5__Impl35127 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__6__Impl_in_rule__ContinuationTransition__Group__635157 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__7_in_rule__ContinuationTransition__Group__635160 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__DocuAssignment_6_in_rule__ContinuationTransition__Group__6__Impl35187 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__7__Impl_in_rule__ContinuationTransition__Group__735218 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__0_in_rule__ContinuationTransition__Group__7__Impl35245 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__0__Impl_in_rule__ContinuationTransition__Group_7__035292 = new BitSet(new long[]{0x0000020000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__1_in_rule__ContinuationTransition__Group_7__035295 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__ContinuationTransition__Group_7__0__Impl35323 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__1__Impl_in_rule__ContinuationTransition__Group_7__135354 = new BitSet(new long[]{0x0000020000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__2_in_rule__ContinuationTransition__Group_7__135357 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__0_in_rule__ContinuationTransition__Group_7__1__Impl35384 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__2__Impl_in_rule__ContinuationTransition__Group_7__235415 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__ContinuationTransition__Group_7__2__Impl35443 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__0__Impl_in_rule__ContinuationTransition__Group_7_1__035480 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__1_in_rule__ContinuationTransition__Group_7_1__035483 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_105_in_rule__ContinuationTransition__Group_7_1__0__Impl35511 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__1__Impl_in_rule__ContinuationTransition__Group_7_1__135542 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ContinuationTransition__ActionAssignment_7_1_1_in_rule__ContinuationTransition__Group_7_1__1__Impl35569 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__0__Impl_in_rule__TriggeredTransition__Group__035603 = new BitSet(new long[]{0x0000040000000080L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__1_in_rule__TriggeredTransition__Group__035606 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_103_in_rule__TriggeredTransition__Group__0__Impl35634 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__1__Impl_in_rule__TriggeredTransition__Group__135665 = new BitSet(new long[]{0x0000040000000080L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__2_in_rule__TriggeredTransition__Group__135668 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__NameAssignment_1_in_rule__TriggeredTransition__Group__1__Impl35695 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__2__Impl_in_rule__TriggeredTransition__Group__235726 = new BitSet(new long[]{0x0000000000000080L,0x0001800000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__3_in_rule__TriggeredTransition__Group__235729 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__TriggeredTransition__Group__2__Impl35757 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__3__Impl_in_rule__TriggeredTransition__Group__335788 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__4_in_rule__TriggeredTransition__Group__335791 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__FromAssignment_3_in_rule__TriggeredTransition__Group__3__Impl35818 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__4__Impl_in_rule__TriggeredTransition__Group__435848 = new BitSet(new long[]{0x0000000000000080L,0x0001800000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__5_in_rule__TriggeredTransition__Group__435851 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__TriggeredTransition__Group__4__Impl35879 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__5__Impl_in_rule__TriggeredTransition__Group__535910 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__6_in_rule__TriggeredTransition__Group__535913 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__ToAssignment_5_in_rule__TriggeredTransition__Group__5__Impl35940 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__6__Impl_in_rule__TriggeredTransition__Group__635970 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__7_in_rule__TriggeredTransition__Group__635973 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__DocuAssignment_6_in_rule__TriggeredTransition__Group__6__Impl36000 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__7__Impl_in_rule__TriggeredTransition__Group__736031 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__8_in_rule__TriggeredTransition__Group__736034 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__TriggeredTransition__Group__7__Impl36062 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__8__Impl_in_rule__TriggeredTransition__Group__836093 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__9_in_rule__TriggeredTransition__Group__836096 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_106_in_rule__TriggeredTransition__Group__8__Impl36124 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__9__Impl_in_rule__TriggeredTransition__Group__936155 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__10_in_rule__TriggeredTransition__Group__936158 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__TriggeredTransition__Group__9__Impl36186 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__10__Impl_in_rule__TriggeredTransition__Group__1036217 = new BitSet(new long[]{0x0000020000000000L,0x0000080000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__11_in_rule__TriggeredTransition__Group__1036220 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__TriggersAssignment_10_in_rule__TriggeredTransition__Group__10__Impl36247 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__11__Impl_in_rule__TriggeredTransition__Group__1136277 = new BitSet(new long[]{0x0000020000000000L,0x0000080000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__12_in_rule__TriggeredTransition__Group__1136280 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__0_in_rule__TriggeredTransition__Group__11__Impl36307 = new BitSet(new long[]{0x0000000000000002L,0x0000080000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__12__Impl_in_rule__TriggeredTransition__Group__1236338 = new BitSet(new long[]{0x0000020000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__13_in_rule__TriggeredTransition__Group__1236341 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__TriggeredTransition__Group__12__Impl36369 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__13__Impl_in_rule__TriggeredTransition__Group__1336400 = new BitSet(new long[]{0x0000020000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__14_in_rule__TriggeredTransition__Group__1336403 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__0_in_rule__TriggeredTransition__Group__13__Impl36430 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__14__Impl_in_rule__TriggeredTransition__Group__1436461 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__TriggeredTransition__Group__14__Impl36489 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__0__Impl_in_rule__TriggeredTransition__Group_11__036550 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__1_in_rule__TriggeredTransition__Group_11__036553 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_107_in_rule__TriggeredTransition__Group_11__0__Impl36581 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__1__Impl_in_rule__TriggeredTransition__Group_11__136612 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__TriggersAssignment_11_1_in_rule__TriggeredTransition__Group_11__1__Impl36639 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__0__Impl_in_rule__TriggeredTransition__Group_13__036673 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__1_in_rule__TriggeredTransition__Group_13__036676 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_105_in_rule__TriggeredTransition__Group_13__0__Impl36704 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__1__Impl_in_rule__TriggeredTransition__Group_13__136735 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TriggeredTransition__ActionAssignment_13_1_in_rule__TriggeredTransition__Group_13__1__Impl36762 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__0__Impl_in_rule__GuardedTransition__Group__036796 = new BitSet(new long[]{0x0000040000000080L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__1_in_rule__GuardedTransition__Group__036799 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_103_in_rule__GuardedTransition__Group__0__Impl36827 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__1__Impl_in_rule__GuardedTransition__Group__136858 = new BitSet(new long[]{0x0000040000000080L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__2_in_rule__GuardedTransition__Group__136861 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__NameAssignment_1_in_rule__GuardedTransition__Group__1__Impl36888 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__2__Impl_in_rule__GuardedTransition__Group__236919 = new BitSet(new long[]{0x0000000000000080L,0x0001800000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__3_in_rule__GuardedTransition__Group__236922 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__GuardedTransition__Group__2__Impl36950 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__3__Impl_in_rule__GuardedTransition__Group__336981 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__4_in_rule__GuardedTransition__Group__336984 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__FromAssignment_3_in_rule__GuardedTransition__Group__3__Impl37011 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__4__Impl_in_rule__GuardedTransition__Group__437041 = new BitSet(new long[]{0x0000000000000080L,0x0001800000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__5_in_rule__GuardedTransition__Group__437044 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__GuardedTransition__Group__4__Impl37072 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__5__Impl_in_rule__GuardedTransition__Group__537103 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__6_in_rule__GuardedTransition__Group__537106 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__ToAssignment_5_in_rule__GuardedTransition__Group__5__Impl37133 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__6__Impl_in_rule__GuardedTransition__Group__637163 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__7_in_rule__GuardedTransition__Group__637166 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__DocuAssignment_6_in_rule__GuardedTransition__Group__6__Impl37193 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__7__Impl_in_rule__GuardedTransition__Group__737224 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__8_in_rule__GuardedTransition__Group__737227 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__GuardedTransition__Group__7__Impl37255 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__8__Impl_in_rule__GuardedTransition__Group__837286 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__9_in_rule__GuardedTransition__Group__837289 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_108_in_rule__GuardedTransition__Group__8__Impl37317 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__9__Impl_in_rule__GuardedTransition__Group__937348 = new BitSet(new long[]{0x0000020000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__10_in_rule__GuardedTransition__Group__937351 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__GuardAssignment_9_in_rule__GuardedTransition__Group__9__Impl37378 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__10__Impl_in_rule__GuardedTransition__Group__1037408 = new BitSet(new long[]{0x0000020000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__11_in_rule__GuardedTransition__Group__1037411 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__0_in_rule__GuardedTransition__Group__10__Impl37438 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group__11__Impl_in_rule__GuardedTransition__Group__1137469 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__GuardedTransition__Group__11__Impl37497 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__0__Impl_in_rule__GuardedTransition__Group_10__037552 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__1_in_rule__GuardedTransition__Group_10__037555 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_105_in_rule__GuardedTransition__Group_10__0__Impl37583 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__1__Impl_in_rule__GuardedTransition__Group_10__137614 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__GuardedTransition__ActionAssignment_10_1_in_rule__GuardedTransition__Group_10__1__Impl37641 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__0__Impl_in_rule__CPBranchTransition__Group__037675 = new BitSet(new long[]{0x0000040000000080L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__1_in_rule__CPBranchTransition__Group__037678 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_103_in_rule__CPBranchTransition__Group__0__Impl37706 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__1__Impl_in_rule__CPBranchTransition__Group__137737 = new BitSet(new long[]{0x0000040000000080L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__2_in_rule__CPBranchTransition__Group__137740 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__NameAssignment_1_in_rule__CPBranchTransition__Group__1__Impl37767 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__2__Impl_in_rule__CPBranchTransition__Group__237798 = new BitSet(new long[]{0x0000000000000080L,0x0001800000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__3_in_rule__CPBranchTransition__Group__237801 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__CPBranchTransition__Group__2__Impl37829 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__3__Impl_in_rule__CPBranchTransition__Group__337860 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__4_in_rule__CPBranchTransition__Group__337863 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__FromAssignment_3_in_rule__CPBranchTransition__Group__3__Impl37890 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__4__Impl_in_rule__CPBranchTransition__Group__437920 = new BitSet(new long[]{0x0000000000000080L,0x0001800000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__5_in_rule__CPBranchTransition__Group__437923 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__CPBranchTransition__Group__4__Impl37951 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__5__Impl_in_rule__CPBranchTransition__Group__537982 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__6_in_rule__CPBranchTransition__Group__537985 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__ToAssignment_5_in_rule__CPBranchTransition__Group__5__Impl38012 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__6__Impl_in_rule__CPBranchTransition__Group__638042 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__7_in_rule__CPBranchTransition__Group__638045 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__DocuAssignment_6_in_rule__CPBranchTransition__Group__6__Impl38072 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__7__Impl_in_rule__CPBranchTransition__Group__738103 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__8_in_rule__CPBranchTransition__Group__738106 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__CPBranchTransition__Group__7__Impl38134 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__8__Impl_in_rule__CPBranchTransition__Group__838165 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__9_in_rule__CPBranchTransition__Group__838168 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_109_in_rule__CPBranchTransition__Group__8__Impl38196 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__9__Impl_in_rule__CPBranchTransition__Group__938227 = new BitSet(new long[]{0x0000020000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__10_in_rule__CPBranchTransition__Group__938230 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__ConditionAssignment_9_in_rule__CPBranchTransition__Group__9__Impl38257 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__10__Impl_in_rule__CPBranchTransition__Group__1038287 = new BitSet(new long[]{0x0000020000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__11_in_rule__CPBranchTransition__Group__1038290 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__0_in_rule__CPBranchTransition__Group__10__Impl38317 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__11__Impl_in_rule__CPBranchTransition__Group__1138348 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__CPBranchTransition__Group__11__Impl38376 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__0__Impl_in_rule__CPBranchTransition__Group_10__038431 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__1_in_rule__CPBranchTransition__Group_10__038434 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_105_in_rule__CPBranchTransition__Group_10__0__Impl38462 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__1__Impl_in_rule__CPBranchTransition__Group_10__138493 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__CPBranchTransition__ActionAssignment_10_1_in_rule__CPBranchTransition__Group_10__1__Impl38520 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__0__Impl_in_rule__RefinedTransition__Group__038554 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__1_in_rule__RefinedTransition__Group__038557 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_110_in_rule__RefinedTransition__Group__0__Impl38585 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__1__Impl_in_rule__RefinedTransition__Group__138616 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__2_in_rule__RefinedTransition__Group__138619 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__TargetAssignment_1_in_rule__RefinedTransition__Group__1__Impl38646 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__2__Impl_in_rule__RefinedTransition__Group__238676 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__3_in_rule__RefinedTransition__Group__238679 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__DocuAssignment_2_in_rule__RefinedTransition__Group__2__Impl38706 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__3__Impl_in_rule__RefinedTransition__Group__338737 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__4_in_rule__RefinedTransition__Group__338740 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__RefinedTransition__Group__3__Impl38768 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__4__Impl_in_rule__RefinedTransition__Group__438799 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__5_in_rule__RefinedTransition__Group__438802 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_105_in_rule__RefinedTransition__Group__4__Impl38830 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__5__Impl_in_rule__RefinedTransition__Group__538861 = new BitSet(new long[]{0x0000020000000000L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__6_in_rule__RefinedTransition__Group__538864 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__ActionAssignment_5_in_rule__RefinedTransition__Group__5__Impl38891 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RefinedTransition__Group__6__Impl_in_rule__RefinedTransition__Group__638921 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__RefinedTransition__Group__6__Impl38949 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__0__Impl_in_rule__TrPointTerminal__Group__038994 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__1_in_rule__TrPointTerminal__Group__038997 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_111_in_rule__TrPointTerminal__Group__0__Impl39025 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__1__Impl_in_rule__TrPointTerminal__Group__139056 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__TrPointTerminal__TrPointAssignment_1_in_rule__TrPointTerminal__Group__1__Impl39083 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__0__Impl_in_rule__SubStateTrPointTerminal__Group__039117 = new BitSet(new long[]{0x0002000000000000L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__1_in_rule__SubStateTrPointTerminal__Group__039120 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__TrPointAssignment_0_in_rule__SubStateTrPointTerminal__Group__0__Impl39147 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__1__Impl_in_rule__SubStateTrPointTerminal__Group__139177 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__2_in_rule__SubStateTrPointTerminal__Group__139180 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_49_in_rule__SubStateTrPointTerminal__Group__1__Impl39208 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__2__Impl_in_rule__SubStateTrPointTerminal__Group__239239 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__StateAssignment_2_in_rule__SubStateTrPointTerminal__Group__2__Impl39266 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__0__Impl_in_rule__ChoicepointTerminal__Group__039302 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__1_in_rule__ChoicepointTerminal__Group__039305 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_112_in_rule__ChoicepointTerminal__Group__0__Impl39333 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__1__Impl_in_rule__ChoicepointTerminal__Group__139364 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ChoicepointTerminal__CpAssignment_1_in_rule__ChoicepointTerminal__Group__1__Impl39391 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__0__Impl_in_rule__Trigger__Group__039425 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__1_in_rule__Trigger__Group__039428 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_113_in_rule__Trigger__Group__0__Impl39456 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__1__Impl_in_rule__Trigger__Group__139487 = new BitSet(new long[]{0x0000000000000000L,0x000C100000000000L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__2_in_rule__Trigger__Group__139490 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_1_in_rule__Trigger__Group__1__Impl39517 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__2__Impl_in_rule__Trigger__Group__239547 = new BitSet(new long[]{0x0000000000000000L,0x000C100000000000L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__3_in_rule__Trigger__Group__239550 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group_2__0_in_rule__Trigger__Group__2__Impl39577 = new BitSet(new long[]{0x0000000000000002L,0x0008000000000000L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__3__Impl_in_rule__Trigger__Group__339608 = new BitSet(new long[]{0x0000000000000000L,0x000C100000000000L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__4_in_rule__Trigger__Group__339611 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__GuardAssignment_3_in_rule__Trigger__Group__3__Impl39638 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group__4__Impl_in_rule__Trigger__Group__439669 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_114_in_rule__Trigger__Group__4__Impl39697 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group_2__0__Impl_in_rule__Trigger__Group_2__039738 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__Trigger__Group_2__1_in_rule__Trigger__Group_2__039741 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_115_in_rule__Trigger__Group_2__0__Impl39769 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__Group_2__1__Impl_in_rule__Trigger__Group_2__139800 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_2_1_in_rule__Trigger__Group_2__1__Impl39827 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__Group__0__Impl_in_rule__MessageFromIf__Group__039861 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__Group__1_in_rule__MessageFromIf__Group__039864 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__MessageAssignment_0_in_rule__MessageFromIf__Group__0__Impl39891 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__Group__1__Impl_in_rule__MessageFromIf__Group__139921 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__Group__2_in_rule__MessageFromIf__Group__139924 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__MessageFromIf__Group__1__Impl39952 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__Group__2__Impl_in_rule__MessageFromIf__Group__239983 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__MessageFromIf__FromAssignment_2_in_rule__MessageFromIf__Group__2__Impl40010 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Guard__Group__0__Impl_in_rule__Guard__Group__040046 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__Guard__Group__1_in_rule__Guard__Group__040049 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_108_in_rule__Guard__Group__0__Impl40077 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Guard__Group__1__Impl_in_rule__Guard__Group__140108 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Guard__GuardAssignment_1_in_rule__Guard__Group__1__Impl40135 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__0__Impl_in_rule__ProtocolSemantics__Group__040169 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__1_in_rule__ProtocolSemantics__Group__040172 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__1__Impl_in_rule__ProtocolSemantics__Group__140230 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__2_in_rule__ProtocolSemantics__Group__140233 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_116_in_rule__ProtocolSemantics__Group__1__Impl40261 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__2__Impl_in_rule__ProtocolSemantics__Group__240292 = new BitSet(new long[]{0x0000020000000000L,0x0060000000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__3_in_rule__ProtocolSemantics__Group__240295 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__ProtocolSemantics__Group__2__Impl40323 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__3__Impl_in_rule__ProtocolSemantics__Group__340354 = new BitSet(new long[]{0x0000020000000000L,0x0060000000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__4_in_rule__ProtocolSemantics__Group__340357 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ProtocolSemantics__RulesAssignment_3_in_rule__ProtocolSemantics__Group__3__Impl40384 = new BitSet(new long[]{0x0000000000000002L,0x0060000000000000L});
-    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__4__Impl_in_rule__ProtocolSemantics__Group__440415 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__ProtocolSemantics__Group__4__Impl40443 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__0__Impl_in_rule__InSemanticsRule__Group__040484 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__1_in_rule__InSemanticsRule__Group__040487 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_117_in_rule__InSemanticsRule__Group__0__Impl40515 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__1__Impl_in_rule__InSemanticsRule__Group__140546 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__2_in_rule__InSemanticsRule__Group__140549 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__InSemanticsRule__Group__1__Impl40577 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__2__Impl_in_rule__InSemanticsRule__Group__240608 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__3_in_rule__InSemanticsRule__Group__240611 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__MsgAssignment_2_in_rule__InSemanticsRule__Group__2__Impl40638 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__3__Impl_in_rule__InSemanticsRule__Group__340668 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__0_in_rule__InSemanticsRule__Group__3__Impl40695 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__0__Impl_in_rule__InSemanticsRule__Group_3__040734 = new BitSet(new long[]{0x0000400000000000L,0x0060000000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__1_in_rule__InSemanticsRule__Group_3__040737 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__InSemanticsRule__Group_3__0__Impl40765 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__1__Impl_in_rule__InSemanticsRule__Group_3__140796 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Alternatives_3_1_in_rule__InSemanticsRule__Group_3__1__Impl40823 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__0__Impl_in_rule__InSemanticsRule__Group_3_1_1__040857 = new BitSet(new long[]{0x0000000000000000L,0x0060000000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__1_in_rule__InSemanticsRule__Group_3_1_1__040860 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__InSemanticsRule__Group_3_1_1__0__Impl40888 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__1__Impl_in_rule__InSemanticsRule__Group_3_1_1__140919 = new BitSet(new long[]{0x0004000000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__2_in_rule__InSemanticsRule__Group_3_1_1__140922 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__InSemanticsRule__Group_3_1_1__1__Impl40949 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__2__Impl_in_rule__InSemanticsRule__Group_3_1_1__240979 = new BitSet(new long[]{0x0000800000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__3_in_rule__InSemanticsRule__Group_3_1_1__240982 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl41011 = new BitSet(new long[]{0x0004000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl41023 = new BitSet(new long[]{0x0004000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__3__Impl_in_rule__InSemanticsRule__Group_3_1_1__341056 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__InSemanticsRule__Group_3_1_1__3__Impl41084 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__041123 = new BitSet(new long[]{0x0000000000000000L,0x0060000000000000L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1_in_rule__InSemanticsRule__Group_3_1_1_2__041126 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_rule__InSemanticsRule__Group_3_1_1_2__0__Impl41154 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__141185 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__InSemanticsRule__Group_3_1_1_2__1__Impl41212 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__0__Impl_in_rule__OutSemanticsRule__Group__041246 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__1_in_rule__OutSemanticsRule__Group__041249 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_118_in_rule__OutSemanticsRule__Group__0__Impl41277 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__1__Impl_in_rule__OutSemanticsRule__Group__141308 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__2_in_rule__OutSemanticsRule__Group__141311 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__OutSemanticsRule__Group__1__Impl41339 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__2__Impl_in_rule__OutSemanticsRule__Group__241370 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__3_in_rule__OutSemanticsRule__Group__241373 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__MsgAssignment_2_in_rule__OutSemanticsRule__Group__2__Impl41400 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__3__Impl_in_rule__OutSemanticsRule__Group__341430 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__0_in_rule__OutSemanticsRule__Group__3__Impl41457 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__0__Impl_in_rule__OutSemanticsRule__Group_3__041496 = new BitSet(new long[]{0x0000400000000000L,0x0060000000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__1_in_rule__OutSemanticsRule__Group_3__041499 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_44_in_rule__OutSemanticsRule__Group_3__0__Impl41527 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__1__Impl_in_rule__OutSemanticsRule__Group_3__141558 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Alternatives_3_1_in_rule__OutSemanticsRule__Group_3__1__Impl41585 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1__041619 = new BitSet(new long[]{0x0000000000000000L,0x0060000000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1_in_rule__OutSemanticsRule__Group_3_1_1__041622 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__OutSemanticsRule__Group_3_1_1__0__Impl41650 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1__141681 = new BitSet(new long[]{0x0004000000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2_in_rule__OutSemanticsRule__Group_3_1_1__141684 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__OutSemanticsRule__Group_3_1_1__1__Impl41711 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2__Impl_in_rule__OutSemanticsRule__Group_3_1_1__241741 = new BitSet(new long[]{0x0000800000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3_in_rule__OutSemanticsRule__Group_3_1_1__241744 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl41773 = new BitSet(new long[]{0x0004000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl41785 = new BitSet(new long[]{0x0004000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3__Impl_in_rule__OutSemanticsRule__Group_3_1_1__341818 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__OutSemanticsRule__Group_3_1_1__3__Impl41846 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__041885 = new BitSet(new long[]{0x0000000000000000L,0x0060000000000000L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1_in_rule__OutSemanticsRule__Group_3_1_1_2__041888 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl41916 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__141947 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl41974 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group__0__Impl_in_rule__Annotation__Group__042008 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__Annotation__Group__1_in_rule__Annotation__Group__042011 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_119_in_rule__Annotation__Group__0__Impl42039 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group__1__Impl_in_rule__Annotation__Group__142070 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_rule__Annotation__Group__2_in_rule__Annotation__Group__142073 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__TypeAssignment_1_in_rule__Annotation__Group__1__Impl42100 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group__2__Impl_in_rule__Annotation__Group__242130 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__0_in_rule__Annotation__Group__2__Impl42157 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__0__Impl_in_rule__Annotation__Group_2__042194 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__1_in_rule__Annotation__Group_2__042197 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_46_in_rule__Annotation__Group_2__0__Impl42225 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__1__Impl_in_rule__Annotation__Group_2__142256 = new BitSet(new long[]{0x0004800000000000L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__2_in_rule__Annotation__Group_2__142259 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__AttributesAssignment_2_1_in_rule__Annotation__Group_2__1__Impl42286 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__2__Impl_in_rule__Annotation__Group_2__242316 = new BitSet(new long[]{0x0004800000000000L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__3_in_rule__Annotation__Group_2__242319 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__0_in_rule__Annotation__Group_2__2__Impl42346 = new BitSet(new long[]{0x0004000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2__3__Impl_in_rule__Annotation__Group_2__342377 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rule__Annotation__Group_2__3__Impl42405 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__0__Impl_in_rule__Annotation__Group_2_2__042444 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__1_in_rule__Annotation__Group_2_2__042447 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_rule__Annotation__Group_2_2__0__Impl42475 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__1__Impl_in_rule__Annotation__Group_2_2__142506 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Annotation__AttributesAssignment_2_2_1_in_rule__Annotation__Group_2_2__1__Impl42533 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__042567 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__042570 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl42597 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__142627 = new BitSet(new long[]{0x000000001C000130L,0x0000000000200000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__142630 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_51_in_rule__KeyValue__Group__1__Impl42658 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__242689 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl42716 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__0__Impl_in_rule__AnnotationType__Group__042752 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__1_in_rule__AnnotationType__Group__042755 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_120_in_rule__AnnotationType__Group__0__Impl42783 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__1__Impl_in_rule__AnnotationType__Group__142814 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__2_in_rule__AnnotationType__Group__142817 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__NameAssignment_1_in_rule__AnnotationType__Group__1__Impl42844 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__2__Impl_in_rule__AnnotationType__Group__242874 = new BitSet(new long[]{0x0400010000000000L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__3_in_rule__AnnotationType__Group__242877 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__DocuAssignment_2_in_rule__AnnotationType__Group__2__Impl42904 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__3__Impl_in_rule__AnnotationType__Group__342935 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__4_in_rule__AnnotationType__Group__342938 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__AnnotationType__Group__3__Impl42966 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__4__Impl_in_rule__AnnotationType__Group__442997 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__5_in_rule__AnnotationType__Group__443000 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_121_in_rule__AnnotationType__Group__4__Impl43028 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__5__Impl_in_rule__AnnotationType__Group__543059 = new BitSet(new long[]{0x0000010000FE0000L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__6_in_rule__AnnotationType__Group__543062 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_51_in_rule__AnnotationType__Group__5__Impl43090 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__6__Impl_in_rule__AnnotationType__Group__643121 = new BitSet(new long[]{0x0000020201000000L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__7_in_rule__AnnotationType__Group__643124 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Alternatives_6_in_rule__AnnotationType__Group__6__Impl43151 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__7__Impl_in_rule__AnnotationType__Group__743181 = new BitSet(new long[]{0x0000020201000000L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__8_in_rule__AnnotationType__Group__743184 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__AttributesAssignment_7_in_rule__AnnotationType__Group__7__Impl43211 = new BitSet(new long[]{0x0000000201000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group__8__Impl_in_rule__AnnotationType__Group__843242 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__AnnotationType__Group__8__Impl43270 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__0__Impl_in_rule__AnnotationType__Group_6_1__043319 = new BitSet(new long[]{0x0000000000FE0000L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__1_in_rule__AnnotationType__Group_6_1__043322 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__AnnotationType__Group_6_1__0__Impl43350 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__1__Impl_in_rule__AnnotationType__Group_6_1__143381 = new BitSet(new long[]{0x0004020000000000L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__2_in_rule__AnnotationType__Group_6_1__143384 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__TargetsAssignment_6_1_1_in_rule__AnnotationType__Group_6_1__1__Impl43411 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__2__Impl_in_rule__AnnotationType__Group_6_1__243441 = new BitSet(new long[]{0x0004020000000000L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__3_in_rule__AnnotationType__Group_6_1__243444 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1_2__0_in_rule__AnnotationType__Group_6_1__2__Impl43471 = new BitSet(new long[]{0x0004000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__3__Impl_in_rule__AnnotationType__Group_6_1__343502 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__AnnotationType__Group_6_1__3__Impl43530 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1_2__0__Impl_in_rule__AnnotationType__Group_6_1_2__043569 = new BitSet(new long[]{0x0000000000FE0000L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1_2__1_in_rule__AnnotationType__Group_6_1_2__043572 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_rule__AnnotationType__Group_6_1_2__0__Impl43600 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1_2__1__Impl_in_rule__AnnotationType__Group_6_1_2__143631 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__AnnotationType__TargetsAssignment_6_1_2_1_in_rule__AnnotationType__Group_6_1_2__1__Impl43658 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__043692 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__043695 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl43722 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__143752 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__143755 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_122_in_rule__SimpleAnnotationAttribute__Group__1__Impl43783 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__243814 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__243817 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl43844 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__343874 = new BitSet(new long[]{0x0000007800000000L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__343877 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__SimpleAnnotationAttribute__Group__3__Impl43905 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__443936 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl43963 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__044003 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__044006 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl44033 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__144063 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__144066 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_122_in_rule__EnumAnnotationAttribute__Group__1__Impl44094 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__244125 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__244128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl44155 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__344185 = new BitSet(new long[]{0x0000010000000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__344188 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_rule__EnumAnnotationAttribute__Group__3__Impl44216 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__444247 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__444250 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__EnumAnnotationAttribute__Group__4__Impl44278 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__544309 = new BitSet(new long[]{0x0004020000000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__544312 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl44339 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__644369 = new BitSet(new long[]{0x0004020000000000L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__644372 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl44399 = new BitSet(new long[]{0x0004000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__744430 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_41_in_rule__EnumAnnotationAttribute__Group__7__Impl44458 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__044505 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__044508 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_rule__EnumAnnotationAttribute__Group_6__0__Impl44536 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__144567 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl44594 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__044628 = new BitSet(new long[]{0x0000000002000080L});
-    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__044631 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_123_in_rule__Import__Group__0__Impl44659 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__144690 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_rule__Import__Group__2_in_rule__Import__Group__144693 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl44720 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__244750 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl44777 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__044813 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__044816 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl44843 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__144873 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_124_in_rule__Import__Group_1_0__1__Impl44901 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__044936 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__044939 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl44966 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__144995 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_125_in_rule__ImportedFQN__Group__1__Impl45024 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__045061 = new BitSet(new long[]{0x0400000000000000L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__045064 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__145122 = new BitSet(new long[]{0x0800000000000100L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__145125 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_58_in_rule__Documentation__Group__1__Impl45153 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__245184 = new BitSet(new long[]{0x0800000000000100L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__245187 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl45214 = new BitSet(new long[]{0x0000000000000102L});
-    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__345245 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_59_in_rule__Documentation__Group__3__Impl45273 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__045318 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__045321 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__145379 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl45406 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__045440 = new BitSet(new long[]{0x0000000018000030L,0x0000000000200000L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__045443 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__145501 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl45528 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__045562 = new BitSet(new long[]{0x0000000018000030L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__045565 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__145623 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl45650 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__045684 = new BitSet(new long[]{0x000000001C000130L,0x0000000000200000L,0x0000000000000004L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__045687 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__145745 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl45772 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__0__Impl_in_rule__SignedInteger__Group__045806 = new BitSet(new long[]{0x0000000018000020L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1_in_rule__SignedInteger__Group__045809 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Alternatives_0_in_rule__SignedInteger__Group__0__Impl45836 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__SignedInteger__Group__1__Impl_in_rule__SignedInteger__Group__145867 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__SignedInteger__Group__1__Impl45894 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__045927 = new BitSet(new long[]{0x0000000018000020L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__045930 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl45957 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__145988 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__145991 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl46018 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__246047 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__246050 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_85_in_rule__Decimal__Group__2__Impl46078 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__346109 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl46136 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__0__Impl_in_rule__DotDecimal__Group__046173 = new BitSet(new long[]{0x0000000018000000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1_in_rule__DotDecimal__Group__046176 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Alternatives_0_in_rule__DotDecimal__Group__0__Impl46203 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__1__Impl_in_rule__DotDecimal__Group__146234 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2_in_rule__DotDecimal__Group__146237 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_85_in_rule__DotDecimal__Group__1__Impl46265 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DotDecimal__Group__2__Impl_in_rule__DotDecimal__Group__246296 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DotDecimal__Group__2__Impl46323 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__0__Impl_in_rule__DecimalDot__Group__046358 = new BitSet(new long[]{0x0000000018000020L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1_in_rule__DecimalDot__Group__046361 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Alternatives_0_in_rule__DecimalDot__Group__0__Impl46388 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__1__Impl_in_rule__DecimalDot__Group__146419 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2_in_rule__DecimalDot__Group__146422 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalDot__Group__1__Impl46449 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalDot__Group__2__Impl_in_rule__DecimalDot__Group__246478 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_85_in_rule__DecimalDot__Group__2__Impl46506 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__046543 = new BitSet(new long[]{0x0000000018000030L,0x0000000000200000L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__046546 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl46573 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__146604 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__146607 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl46634 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__246663 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__246666 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_85_in_rule__DecimalExp__Group__2__Impl46694 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__346725 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__346728 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl46755 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__446784 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_EXP_in_rule__DecimalExp__Group__4__Impl46811 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__046850 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__046853 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl46880 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__146909 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl46936 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__046971 = new BitSet(new long[]{0x0000000000000080L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__046974 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_85_in_rule__FQN__Group_1__0__Impl47002 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__147033 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl47060 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__UnorderedGroup_0__0_in_rule__ActorClass__UnorderedGroup_047094 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__AbstractAssignment_0_0_in_rule__ActorClass__UnorderedGroup_0__Impl47181 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__CommTypeAssignment_0_1_in_rule__ActorClass__UnorderedGroup_0__Impl47272 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__UnorderedGroup_0__Impl_in_rule__ActorClass__UnorderedGroup_0__047331 = new BitSet(new long[]{0x00000004E0000002L,0x0000000000000000L,0x0000000000000001L});
-    public static final BitSet FOLLOW_rule__ActorClass__UnorderedGroup_0__1_in_rule__ActorClass__UnorderedGroup_0__047334 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ActorClass__UnorderedGroup_0__Impl_in_rule__ActorClass__UnorderedGroup_0__147359 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__RoomModel__NameAssignment_147391 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RoomModel__DocuAssignment_247422 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImport_in_rule__RoomModel__ImportsAssignment_447453 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePrimitiveType_in_rule__RoomModel__PrimitiveTypesAssignment_5_047484 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumerationType_in_rule__RoomModel__EnumerationTypesAssignment_5_147515 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleExternalType_in_rule__RoomModel__ExternalTypesAssignment_5_247546 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDataClass_in_rule__RoomModel__DataClassesAssignment_5_347577 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleGeneralProtocolClass_in_rule__RoomModel__ProtocolClassesAssignment_5_447608 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleActorClass_in_rule__RoomModel__ActorClassesAssignment_5_547639 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSubSystemClass_in_rule__RoomModel__SubSystemClassesAssignment_5_647670 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLogicalSystem_in_rule__RoomModel__SystemsAssignment_5_747701 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotationType_in_rule__RoomModel__AnnotationTypesAssignment_5_847732 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__VarDecl__NameAssignment_047763 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefableType_in_rule__VarDecl__RefTypeAssignment_247794 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__RefableType__TypeAssignment_047829 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_89_in_rule__RefableType__RefAssignment_147869 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__PrimitiveType__NameAssignment_147908 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteralType_in_rule__PrimitiveType__TypeAssignment_347939 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__PrimitiveType__TargetNameAssignment_547970 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__PrimitiveType__CastNameAssignment_6_148001 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__PrimitiveType__DefaultValueLiteralAssignment_848032 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__PrimitiveType__DocuAssignment_948063 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumerationType__NameAssignment_148094 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__EnumerationType__DocuAssignment_248125 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__EnumerationType__PrimitiveTypeAssignment_3_148160 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumLiteral_in_rule__EnumerationType__LiteralsAssignment_5_048195 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleEnumLiteral_in_rule__EnumerationType__LiteralsAssignment_5_1_148226 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumLiteral__NameAssignment_048257 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__EnumLiteral__LiteralAssignment_1_148288 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ExternalType__NameAssignment_148319 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__ExternalType__TargetNameAssignment_348350 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__ExternalType__DefaultValueLiteralAssignment_4_148381 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ExternalType__DocuAssignment_548412 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__DataClass__NameAssignment_148443 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__DataClass__DocuAssignment_248474 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__DataClass__BaseAssignment_3_148509 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_rule__DataClass__AnnotationsAssignment_548544 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode1Assignment_6_148575 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode2Assignment_7_148606 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode3Assignment_8_148637 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStandardOperation_in_rule__DataClass__OperationsAssignment_9_048668 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleClassStructor_in_rule__DataClass__StructorsAssignment_9_148699 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAttribute_in_rule__DataClass__AttributesAssignment_9_248730 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__Attribute__NameAssignment_148761 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__Attribute__SizeAssignment_2_148792 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefableType_in_rule__Attribute__TypeAssignment_448823 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Attribute__DefaultValueLiteralAssignment_5_148854 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__Attribute__DocuAssignment_648885 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_126_in_rule__StandardOperation__OverrideAssignment_048921 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__StandardOperation__NameAssignment_248960 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleVarDecl_in_rule__StandardOperation__ArgumentsAssignment_4_048991 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleVarDecl_in_rule__StandardOperation__ArgumentsAssignment_4_1_149022 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefableType_in_rule__StandardOperation__ReturnTypeAssignment_6_1_149053 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__StandardOperation__DocuAssignment_749084 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__StandardOperation__DetailCodeAssignment_849115 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__PortOperation__NameAssignment_149146 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleVarDecl_in_rule__PortOperation__ArgumentsAssignment_3_049177 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleVarDecl_in_rule__PortOperation__ArgumentsAssignment_3_1_149208 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefableType_in_rule__PortOperation__ReturnTypeAssignment_5_0_1_149239 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__PortOperation__SendsMsgAssignment_5_1_149274 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__PortOperation__DocuAssignment_649309 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__PortOperation__DetailCodeAssignment_749340 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rule__ClassStructor__NameAlternatives_0_0_in_rule__ClassStructor__NameAssignment_049371 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ClassStructor__DetailCodeAssignment_149404 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleCommunicationType_in_rule__ProtocolClass__CommTypeAssignment_049435 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ProtocolClass__NameAssignment_249466 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ProtocolClass__DocuAssignment_349497 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ProtocolClass__BaseAssignment_4_149532 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_rule__ProtocolClass__AnnotationsAssignment_649567 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode1Assignment_7_149598 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode2Assignment_8_149629 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode3Assignment_9_149660 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleMessage_in_rule__ProtocolClass__IncomingMessagesAssignment_10_249691 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleMessage_in_rule__ProtocolClass__OutgoingMessagesAssignment_11_249722 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePortClass_in_rule__ProtocolClass__RegularAssignment_12_249753 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePortClass_in_rule__ProtocolClass__ConjugatedAssignment_13_249784 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleProtocolSemantics_in_rule__ProtocolClass__SemanticsAssignment_1449815 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__CompoundProtocolClass__NameAssignment_149846 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__CompoundProtocolClass__DocuAssignment_249877 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_rule__CompoundProtocolClass__AnnotationsAssignment_449908 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSubProtocol_in_rule__CompoundProtocolClass__SubProtocolsAssignment_549939 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SubProtocol__NameAssignment_149970 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__SubProtocol__ProtocolAssignment_350005 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_127_in_rule__Message__PrivAssignment_050045 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__Message__NameAssignment_250084 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleVarDecl_in_rule__Message__DataAssignment_450115 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__Message__DocuAssignment_650146 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__PortClass__UserCodeAssignment_2_150177 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleMessageHandler_in_rule__PortClass__MsgHandlersAssignment_3_050208 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePortOperation_in_rule__PortClass__OperationsAssignment_3_150239 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAttribute_in_rule__PortClass__AttributesAssignment_3_250270 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__InMessageHandler__MsgAssignment_250305 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__InMessageHandler__DetailCodeAssignment_350340 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__OutMessageHandler__MsgAssignment_250375 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__OutMessageHandler__DetailCodeAssignment_350410 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_128_in_rule__ActorClass__AbstractAssignment_0_050446 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleComponentCommunicationType_in_rule__ActorClass__CommTypeAssignment_0_150485 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ActorClass__NameAssignment_250516 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ActorClass__DocuAssignment_350547 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ActorClass__BaseAssignment_4_150582 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_rule__ActorClass__AnnotationsAssignment_650617 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSPP_in_rule__ActorClass__ServiceProvisionPointsAssignment_7_2_050648 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePort_in_rule__ActorClass__InterfacePortsAssignment_7_2_150679 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ActorClass__StructureDocuAssignment_8_150710 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode1Assignment_8_3_150741 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode2Assignment_8_4_150772 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode3Assignment_8_5_150803 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLayerConnection_in_rule__ActorClass__ConnectionsAssignment_8_6_050834 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBinding_in_rule__ActorClass__BindingsAssignment_8_6_150865 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleServiceImplementation_in_rule__ActorClass__ServiceImplementationsAssignment_8_6_250896 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAttribute_in_rule__ActorClass__AttributesAssignment_8_6_350927 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleActorRef_in_rule__ActorClass__ActorRefsAssignment_8_6_450958 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSAP_in_rule__ActorClass__ServiceAccessPointsAssignment_8_6_550989 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePort_in_rule__ActorClass__InternalPortsAssignment_8_6_651020 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleExternalPort_in_rule__ActorClass__ExternalPortsAssignment_8_6_751051 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ActorClass__BehaviorDocuAssignment_9_151082 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_rule__ActorClass__BehaviorAnnotationsAssignment_9_351113 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStandardOperation_in_rule__ActorClass__OperationsAssignment_9_4_051144 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleClassStructor_in_rule__ActorClass__StructorsAssignment_9_4_151175 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStateMachine_in_rule__ActorClass__StateMachineAssignment_9_551206 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_66_in_rule__Port__ConjugatedAssignment_051242 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__Port__NameAssignment_251281 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleMULTIPLICITY_in_rule__Port__MultiplicityAssignment_351312 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__Port__ProtocolAssignment_551347 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__Port__DocuAssignment_651382 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ExternalPort__InterfacePortAssignment_251417 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SAP__NameAssignment_151452 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__SAP__ProtocolAssignment_351487 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SPP__NameAssignment_151522 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__SPP__ProtocolAssignment_351557 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ServiceImplementation__SppAssignment_251596 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__LogicalSystem__NameAssignment_151631 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__LogicalSystem__DocuAssignment_251662 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_rule__LogicalSystem__AnnotationsAssignment_451693 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLayerConnection_in_rule__LogicalSystem__ConnectionsAssignment_5_051724 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBinding_in_rule__LogicalSystem__BindingsAssignment_5_151755 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSubSystemRef_in_rule__LogicalSystem__SubSystemsAssignment_5_251786 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SubSystemRef__NameAssignment_151817 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__SubSystemRef__TypeAssignment_351852 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__SubSystemRef__DocuAssignment_451887 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SubSystemClass__NameAssignment_151918 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__SubSystemClass__DocuAssignment_251949 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_rule__SubSystemClass__AnnotationsAssignment_451980 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode1Assignment_5_152011 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode2Assignment_6_152042 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode3Assignment_7_152073 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleActorInstanceMapping_in_rule__SubSystemClass__ActorInstanceMappingsAssignment_8_052104 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLogicalThread_in_rule__SubSystemClass__ThreadsAssignment_8_152135 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLayerConnection_in_rule__SubSystemClass__ConnectionsAssignment_8_252166 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBinding_in_rule__SubSystemClass__BindingsAssignment_8_352197 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleActorRef_in_rule__SubSystemClass__ActorRefsAssignment_8_452228 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSPP_in_rule__SubSystemClass__ServiceProvisionPointsAssignment_8_552259 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_rulePort_in_rule__SubSystemClass__RelayPortsAssignment_8_652290 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__LogicalThread__NameAssignment_152321 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefPath_in_rule__ActorInstanceMapping__PathAssignment_152352 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ActorInstanceMapping__ThreadAssignment_352387 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleActorInstanceMapping_in_rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_152422 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_052453 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_1_152484 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__RefSegment__RefAssignment_052515 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_INT_in_rule__RefSegment__IdxAssignment_1_152546 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBindingEndPoint_in_rule__Binding__Endpoint1Assignment_152577 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleBindingEndPoint_in_rule__Binding__Endpoint2Assignment_352608 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__BindingEndPoint__ActorRefAssignment_0_052643 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__BindingEndPoint__PortAssignment_152682 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__BindingEndPoint__SubAssignment_2_152721 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSAPoint_in_rule__LayerConnection__FromAssignment_152756 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSPPoint_in_rule__LayerConnection__ToAssignment_352787 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__RefSAPoint__RefAssignment_152822 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__RelaySAPoint__RelayAssignment_152861 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SPPoint__RefAssignment_052900 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SPPoint__ServiceAssignment_252939 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReferenceType_in_rule__ActorRef__RefTypeAssignment_052974 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ActorRef__NameAssignment_253005 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleMULTIPLICITY_in_rule__ActorRef__MultiplicityAssignment_353036 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__ActorRef__TypeAssignment_553071 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ActorRef__DocuAssignment_653106 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleState_in_rule__StateGraph__StatesAssignment_2_053138 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateGraph__TrPointsAssignment_2_153169 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateGraph__ChPointsAssignment_2_253200 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransition_in_rule__StateGraph__TransitionsAssignment_2_353231 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefinedTransition_in_rule__StateGraph__RefinedTransitionsAssignment_2_453262 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleState_in_rule__StateMachine__StatesAssignment_3_053293 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateMachine__TrPointsAssignment_3_153324 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateMachine__ChPointsAssignment_3_253355 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransition_in_rule__StateMachine__TransitionsAssignment_3_353386 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefinedTransition_in_rule__StateMachine__RefinedTransitionsAssignment_3_453417 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleState__NameAssignment_153448 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__SimpleState__DocuAssignment_253479 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__EntryCodeAssignment_3_1_153510 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__ExitCodeAssignment_3_2_153541 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__DoCodeAssignment_3_3_153572 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStateGraph_in_rule__SimpleState__SubgraphAssignment_3_4_153603 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__RefinedState__TargetAssignment_153638 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RefinedState__DocuAssignment_253673 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__EntryCodeAssignment_4_153704 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__ExitCodeAssignment_5_153735 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__DoCodeAssignment_6_153766 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleStateGraph_in_rule__RefinedState__SubgraphAssignment_7_153797 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_rule__DetailCode__UsedAssignment_153833 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__DetailCode__LinesAssignment_253872 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_129_in_rule__TransitionPoint__HandlerAssignment_053908 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__TransitionPoint__NameAssignment_253947 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EntryPoint__NameAssignment_153978 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ExitPoint__NameAssignment_154009 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ChoicePoint__NameAssignment_154040 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ChoicePoint__DocuAssignment_254071 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__InitialTransition__NameAssignment_154102 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__InitialTransition__ToAssignment_554133 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__InitialTransition__DocuAssignment_654164 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__InitialTransition__ActionAssignment_7_1_154195 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ContinuationTransition__NameAssignment_154226 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__FromAssignment_354257 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__ToAssignment_554288 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ContinuationTransition__DocuAssignment_654319 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ContinuationTransition__ActionAssignment_7_1_154350 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__TriggeredTransition__NameAssignment_154381 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__FromAssignment_354412 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__ToAssignment_554443 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__TriggeredTransition__DocuAssignment_654474 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_1054505 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_11_154536 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__TriggeredTransition__ActionAssignment_13_154567 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__GuardedTransition__NameAssignment_154598 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__FromAssignment_354629 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__ToAssignment_554660 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__GuardedTransition__DocuAssignment_654691 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__GuardedTransition__GuardAssignment_954722 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__GuardedTransition__ActionAssignment_10_154753 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__CPBranchTransition__NameAssignment_154784 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__FromAssignment_354815 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__ToAssignment_554846 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__CPBranchTransition__DocuAssignment_654877 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ConditionAssignment_954908 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ActionAssignment_10_154939 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__RefinedTransition__TargetAssignment_154974 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RefinedTransition__DocuAssignment_255009 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedTransition__ActionAssignment_555040 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__StateTerminal__StateAssignment55075 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__TrPointTerminal__TrPointAssignment_155114 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__TrPointAssignment_055153 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__StateAssignment_255192 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__ChoicepointTerminal__CpAssignment_155231 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_155266 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_2_155297 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleGuard_in_rule__Trigger__GuardAssignment_355328 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__MessageFromIf__MessageAssignment_055363 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__MessageFromIf__FromAssignment_255402 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rule__Guard__GuardAssignment_155437 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__ProtocolSemantics__RulesAssignment_355468 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__InSemanticsRule__MsgAssignment_255503 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_055538 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_155569 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_155600 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__OutSemanticsRule__MsgAssignment_255635 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_055670 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_155701 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_155732 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_rule__Annotation__TypeAssignment_155767 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_155802 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_2_155833 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_055864 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_255895 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__AnnotationType__NameAssignment_155926 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rule__AnnotationType__DocuAssignment_255957 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_055988 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_1_156019 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_1_2_156050 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_rule__AnnotationType__AttributesAssignment_756081 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_056117 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_256156 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_456187 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_056223 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_256262 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_556293 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_156324 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_056355 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_256386 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_256417 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_130_in_rule__BooleanLiteral__IsTrueAssignment_1_156455 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_156494 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_156525 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_156556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal6016 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal6023 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Real__Alternatives_in_ruleReal6049 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal6081 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal6088 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0_in_ruleDecimal6118 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp6150 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp6157 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0_in_ruleDecimalExp6187 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN6214 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN6221 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0_in_ruleFQN6247 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CommunicationType__Alternatives_in_ruleCommunicationType6284 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ReferenceType__Alternatives_in_ruleReferenceType6320 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ComponentCommunicationType__Alternatives_in_ruleComponentCommunicationType6358 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LiteralType__Alternatives_in_ruleLiteralType6394 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__PrimitiveTypesAssignment_5_0_in_rule__RoomModel__Alternatives_56429 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__EnumerationTypesAssignment_5_1_in_rule__RoomModel__Alternatives_56447 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__ExternalTypesAssignment_5_2_in_rule__RoomModel__Alternatives_56465 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__DataClassesAssignment_5_3_in_rule__RoomModel__Alternatives_56483 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__ProtocolClassesAssignment_5_4_in_rule__RoomModel__Alternatives_56501 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__ActorClassesAssignment_5_5_in_rule__RoomModel__Alternatives_56519 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__SubSystemClassesAssignment_5_6_in_rule__RoomModel__Alternatives_56537 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__SystemsAssignment_5_7_in_rule__RoomModel__Alternatives_56555 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__AnnotationTypesAssignment_5_8_in_rule__RoomModel__Alternatives_56573 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleActorContainerClass_in_rule__StructureClass__Alternatives6607 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLogicalSystem_in_rule__StructureClass__Alternatives6624 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleActorClass_in_rule__ActorContainerClass__Alternatives6656 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSubSystemClass_in_rule__ActorContainerClass__Alternatives6673 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePrimitiveType_in_rule__DataType__Alternatives6705 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumerationType_in_rule__DataType__Alternatives6722 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleComplexType_in_rule__DataType__Alternatives6739 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDataClass_in_rule__ComplexType__Alternatives6771 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleExternalType_in_rule__ComplexType__Alternatives6788 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__OperationsAssignment_9_0_in_rule__DataClass__Alternatives_96820 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__StructorsAssignment_9_1_in_rule__DataClass__Alternatives_96838 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__AttributesAssignment_9_2_in_rule__DataClass__Alternatives_96856 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_rule__StandardOperation__Alternatives_6_16891 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__ReturnTypeAssignment_6_1_1_in_rule__StandardOperation__Alternatives_6_16910 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_5_0__0_in_rule__PortOperation__Alternatives_56943 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_5_1__0_in_rule__PortOperation__Alternatives_56961 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_rule__PortOperation__Alternatives_5_0_16995 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__ReturnTypeAssignment_5_0_1_1_in_rule__PortOperation__Alternatives_5_0_17014 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_13_in_rule__ClassStructor__NameAlternatives_0_07048 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_14_in_rule__ClassStructor__NameAlternatives_0_07068 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleProtocolClass_in_rule__GeneralProtocolClass__Alternatives7102 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleCompoundProtocolClass_in_rule__GeneralProtocolClass__Alternatives7119 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__MsgHandlersAssignment_3_0_in_rule__PortClass__Alternatives_37151 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__OperationsAssignment_3_1_in_rule__PortClass__Alternatives_37169 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__AttributesAssignment_3_2_in_rule__PortClass__Alternatives_37187 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInMessageHandler_in_rule__MessageHandler__Alternatives7220 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleOutMessageHandler_in_rule__MessageHandler__Alternatives7237 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__ServiceProvisionPointsAssignment_7_2_0_in_rule__ActorClass__Alternatives_7_27269 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__InterfacePortsAssignment_7_2_1_in_rule__ActorClass__Alternatives_7_27287 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__ConnectionsAssignment_8_6_0_in_rule__ActorClass__Alternatives_8_67320 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__BindingsAssignment_8_6_1_in_rule__ActorClass__Alternatives_8_67338 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__ServiceImplementationsAssignment_8_6_2_in_rule__ActorClass__Alternatives_8_67356 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__AttributesAssignment_8_6_3_in_rule__ActorClass__Alternatives_8_67374 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__ActorRefsAssignment_8_6_4_in_rule__ActorClass__Alternatives_8_67392 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__ServiceAccessPointsAssignment_8_6_5_in_rule__ActorClass__Alternatives_8_67410 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__InternalPortsAssignment_8_6_6_in_rule__ActorClass__Alternatives_8_67428 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__ExternalPortsAssignment_8_6_7_in_rule__ActorClass__Alternatives_8_67446 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__OperationsAssignment_9_4_0_in_rule__ActorClass__Alternatives_9_47479 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__StructorsAssignment_9_4_1_in_rule__ActorClass__Alternatives_9_47497 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePort_in_rule__InterfaceItem__Alternatives7530 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSAP_in_rule__InterfaceItem__Alternatives7547 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSPP_in_rule__InterfaceItem__Alternatives7564 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__ConnectionsAssignment_5_0_in_rule__LogicalSystem__Alternatives_57596 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__BindingsAssignment_5_1_in_rule__LogicalSystem__Alternatives_57614 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__SubSystemsAssignment_5_2_in_rule__LogicalSystem__Alternatives_57632 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__ActorInstanceMappingsAssignment_8_0_in_rule__SubSystemClass__Alternatives_87666 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__ThreadsAssignment_8_1_in_rule__SubSystemClass__Alternatives_87684 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__ConnectionsAssignment_8_2_in_rule__SubSystemClass__Alternatives_87702 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__BindingsAssignment_8_3_in_rule__SubSystemClass__Alternatives_87720 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__ActorRefsAssignment_8_4_in_rule__SubSystemClass__Alternatives_87738 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__ServiceProvisionPointsAssignment_8_5_in_rule__SubSystemClass__Alternatives_87756 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__RelayPortsAssignment_8_6_in_rule__SubSystemClass__Alternatives_87774 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefSAPoint_in_rule__SAPoint__Alternatives7807 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRelaySAPoint_in_rule__SAPoint__Alternatives7824 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_15_in_rule__MULTIPLICITY__Alternatives_17857 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__MULTIPLICITY__Alternatives_17876 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__AnnotationTargetType__Alternatives7909 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_rule__AnnotationTargetType__Alternatives7929 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_18_in_rule__AnnotationTargetType__Alternatives7949 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_rule__AnnotationTargetType__Alternatives7969 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_20_in_rule__AnnotationTargetType__Alternatives7989 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_21_in_rule__AnnotationTargetType__Alternatives8009 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_22_in_rule__AnnotationTargetType__Alternatives8029 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleState_in_rule__StateGraphNode__Alternatives8063 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateGraphNode__Alternatives8080 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateGraphNode__Alternatives8097 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__StatesAssignment_2_0_in_rule__StateGraph__Alternatives_28130 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__TrPointsAssignment_2_1_in_rule__StateGraph__Alternatives_28148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__ChPointsAssignment_2_2_in_rule__StateGraph__Alternatives_28166 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__TransitionsAssignment_2_3_in_rule__StateGraph__Alternatives_28184 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__RefinedTransitionsAssignment_2_4_in_rule__StateGraph__Alternatives_28202 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__StatesAssignment_3_0_in_rule__StateMachine__Alternatives_38235 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__TrPointsAssignment_3_1_in_rule__StateMachine__Alternatives_38253 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__ChPointsAssignment_3_2_in_rule__StateMachine__Alternatives_38271 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__TransitionsAssignment_3_3_in_rule__StateMachine__Alternatives_38289 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__RefinedTransitionsAssignment_3_4_in_rule__StateMachine__Alternatives_38307 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleState_in_rule__State__Alternatives8340 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefinedState_in_rule__State__Alternatives8357 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionPoint_in_rule__TrPoint__Alternatives8389 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEntryPoint_in_rule__TrPoint__Alternatives8406 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleExitPoint_in_rule__TrPoint__Alternatives8423 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInitialTransition_in_rule__Transition__Alternatives8455 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNonInitialTransition_in_rule__Transition__Alternatives8472 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionChainStartTransition_in_rule__NonInitialTransition__Alternatives8504 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleContinuationTransition_in_rule__NonInitialTransition__Alternatives8521 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleCPBranchTransition_in_rule__NonInitialTransition__Alternatives8538 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTriggeredTransition_in_rule__TransitionChainStartTransition__Alternatives8570 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleGuardedTransition_in_rule__TransitionChainStartTransition__Alternatives8587 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStateTerminal_in_rule__TransitionTerminal__Alternatives8619 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrPointTerminal_in_rule__TransitionTerminal__Alternatives8636 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSubStateTrPointTerminal_in_rule__TransitionTerminal__Alternatives8653 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleChoicepointTerminal_in_rule__TransitionTerminal__Alternatives8670 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInSemanticsRule_in_rule__SemanticsRule__Alternatives8702 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleOutSemanticsRule_in_rule__SemanticsRule__Alternatives8719 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__InSemanticsRule__Alternatives_3_18751 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__0_in_rule__InSemanticsRule__Alternatives_3_18769 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_0_in_rule__OutSemanticsRule__Alternatives_3_18802 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0_in_rule__OutSemanticsRule__Alternatives_3_18820 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__TargetsAssignment_6_0_in_rule__AnnotationType__Alternatives_68853 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__0_in_rule__AnnotationType__Alternatives_68871 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives8904 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_rule__AnnotationAttribute__Alternatives8921 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__OptionalAssignment_0_0_in_rule__SimpleAnnotationAttribute__Alternatives_08953 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_23_in_rule__SimpleAnnotationAttribute__Alternatives_08972 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__OptionalAssignment_0_0_in_rule__EnumAnnotationAttribute__Alternatives_09006 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_23_in_rule__EnumAnnotationAttribute__Alternatives_09025 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__0_in_rule__Import__Alternatives_19059 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_24_in_rule__Import__Alternatives_19078 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBooleanLiteral_in_rule__Literal__Alternatives9113 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleNumberLiteral_in_rule__Literal__Alternatives9130 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStringLiteral_in_rule__Literal__Alternatives9147 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_25_in_rule__BooleanLiteral__Alternatives_19180 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__IsTrueAssignment_1_1_in_rule__BooleanLiteral__Alternatives_19199 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__NumberLiteral__Alternatives9232 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRealLiteral_in_rule__NumberLiteral__Alternatives9249 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0_in_rule__Integer__Alternatives9281 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_rule__Integer__Alternatives9299 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_26_in_rule__Integer__Alternatives_0_09332 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__Integer__Alternatives_0_09352 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_rule__Real__Alternatives9386 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_rule__Real__Alternatives9403 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_26_in_rule__Decimal__Alternatives_09436 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__Decimal__Alternatives_09456 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_26_in_rule__DecimalExp__Alternatives_09491 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__DecimalExp__Alternatives_09511 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_28_in_rule__DecimalExp__Alternatives_49546 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_29_in_rule__DecimalExp__Alternatives_49566 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_26_in_rule__DecimalExp__Alternatives_59601 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_rule__DecimalExp__Alternatives_59621 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__CommunicationType__Alternatives9656 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__CommunicationType__Alternatives9677 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_32_in_rule__CommunicationType__Alternatives9698 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_rule__ReferenceType__Alternatives9734 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__ReferenceType__Alternatives9755 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_30_in_rule__ComponentCommunicationType__Alternatives9792 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_31_in_rule__ComponentCommunicationType__Alternatives9813 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_35_in_rule__ComponentCommunicationType__Alternatives9834 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_32_in_rule__ComponentCommunicationType__Alternatives9855 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_36_in_rule__LiteralType__Alternatives9891 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_37_in_rule__LiteralType__Alternatives9912 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_38_in_rule__LiteralType__Alternatives9933 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_39_in_rule__LiteralType__Alternatives9954 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__0__Impl_in_rule__RoomModel__Group__09987 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__1_in_rule__RoomModel__Group__09990 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_40_in_rule__RoomModel__Group__0__Impl10018 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__1__Impl_in_rule__RoomModel__Group__110049 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__2_in_rule__RoomModel__Group__110052 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__NameAssignment_1_in_rule__RoomModel__Group__1__Impl10079 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__2__Impl_in_rule__RoomModel__Group__210109 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__3_in_rule__RoomModel__Group__210112 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__DocuAssignment_2_in_rule__RoomModel__Group__2__Impl10139 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__3__Impl_in_rule__RoomModel__Group__310170 = new BitSet(new long[]{0x00221409C0790000L,0x1200000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__4_in_rule__RoomModel__Group__310173 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__RoomModel__Group__3__Impl10201 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__4__Impl_in_rule__RoomModel__Group__410232 = new BitSet(new long[]{0x00221409C0790000L,0x1200000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__5_in_rule__RoomModel__Group__410235 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__ImportsAssignment_4_in_rule__RoomModel__Group__4__Impl10262 = new BitSet(new long[]{0x0000000000000002L,0x1000000000000000L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__5__Impl_in_rule__RoomModel__Group__510293 = new BitSet(new long[]{0x00221409C0790000L,0x1200000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__6_in_rule__RoomModel__Group__510296 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__Alternatives_5_in_rule__RoomModel__Group__5__Impl10323 = new BitSet(new long[]{0x00221009C0790002L,0x0200000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RoomModel__Group__6__Impl_in_rule__RoomModel__Group__610354 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__RoomModel__Group__6__Impl10382 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__VarDecl__Group__0__Impl_in_rule__VarDecl__Group__010427 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__VarDecl__Group__1_in_rule__VarDecl__Group__010430 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__VarDecl__NameAssignment_0_in_rule__VarDecl__Group__0__Impl10457 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__VarDecl__Group__1__Impl_in_rule__VarDecl__Group__110487 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__VarDecl__Group__2_in_rule__VarDecl__Group__110490 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__VarDecl__Group__1__Impl10518 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__VarDecl__Group__2__Impl_in_rule__VarDecl__Group__210549 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__VarDecl__RefTypeAssignment_2_in_rule__VarDecl__Group__2__Impl10576 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefableType__Group__0__Impl_in_rule__RefableType__Group__010612 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L});
+    public static final BitSet FOLLOW_rule__RefableType__Group__1_in_rule__RefableType__Group__010615 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefableType__TypeAssignment_0_in_rule__RefableType__Group__0__Impl10642 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefableType__Group__1__Impl_in_rule__RefableType__Group__110672 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefableType__RefAssignment_1_in_rule__RefableType__Group__1__Impl10699 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__0__Impl_in_rule__PrimitiveType__Group__010734 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__1_in_rule__PrimitiveType__Group__010737 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_44_in_rule__PrimitiveType__Group__0__Impl10765 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__1__Impl_in_rule__PrimitiveType__Group__110796 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__2_in_rule__PrimitiveType__Group__110799 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__NameAssignment_1_in_rule__PrimitiveType__Group__1__Impl10826 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__2__Impl_in_rule__PrimitiveType__Group__210856 = new BitSet(new long[]{0x000000F000000000L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__3_in_rule__PrimitiveType__Group__210859 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__PrimitiveType__Group__2__Impl10887 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__3__Impl_in_rule__PrimitiveType__Group__310918 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__4_in_rule__PrimitiveType__Group__310921 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__TypeAssignment_3_in_rule__PrimitiveType__Group__3__Impl10948 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__4__Impl_in_rule__PrimitiveType__Group__410978 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__5_in_rule__PrimitiveType__Group__410981 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__PrimitiveType__Group__4__Impl11009 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__5__Impl_in_rule__PrimitiveType__Group__511040 = new BitSet(new long[]{0x0000C00000000000L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__6_in_rule__PrimitiveType__Group__511043 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__TargetNameAssignment_5_in_rule__PrimitiveType__Group__5__Impl11070 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__6__Impl_in_rule__PrimitiveType__Group__611100 = new BitSet(new long[]{0x0000C00000000000L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__7_in_rule__PrimitiveType__Group__611103 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__0_in_rule__PrimitiveType__Group__6__Impl11130 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__7__Impl_in_rule__PrimitiveType__Group__711161 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__8_in_rule__PrimitiveType__Group__711164 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_46_in_rule__PrimitiveType__Group__7__Impl11192 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__8__Impl_in_rule__PrimitiveType__Group__811223 = new BitSet(new long[]{0x0800000000000000L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__9_in_rule__PrimitiveType__Group__811226 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__DefaultValueLiteralAssignment_8_in_rule__PrimitiveType__Group__8__Impl11253 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group__9__Impl_in_rule__PrimitiveType__Group__911283 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__DocuAssignment_9_in_rule__PrimitiveType__Group__9__Impl11310 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__0__Impl_in_rule__PrimitiveType__Group_6__011361 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__1_in_rule__PrimitiveType__Group_6__011364 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__PrimitiveType__Group_6__0__Impl11392 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__1__Impl_in_rule__PrimitiveType__Group_6__111423 = new BitSet(new long[]{0x0001000000000000L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__2_in_rule__PrimitiveType__Group_6__111426 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__CastNameAssignment_6_1_in_rule__PrimitiveType__Group_6__1__Impl11453 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PrimitiveType__Group_6__2__Impl_in_rule__PrimitiveType__Group_6__211483 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__PrimitiveType__Group_6__2__Impl11511 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__0__Impl_in_rule__EnumerationType__Group__011548 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__1_in_rule__EnumerationType__Group__011551 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_49_in_rule__EnumerationType__Group__0__Impl11579 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__1__Impl_in_rule__EnumerationType__Group__111610 = new BitSet(new long[]{0x0804020000000000L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__2_in_rule__EnumerationType__Group__111613 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__NameAssignment_1_in_rule__EnumerationType__Group__1__Impl11640 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__2__Impl_in_rule__EnumerationType__Group__211670 = new BitSet(new long[]{0x0804020000000000L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__3_in_rule__EnumerationType__Group__211673 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__DocuAssignment_2_in_rule__EnumerationType__Group__2__Impl11700 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__3__Impl_in_rule__EnumerationType__Group__311731 = new BitSet(new long[]{0x0804020000000000L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__4_in_rule__EnumerationType__Group__311734 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_3__0_in_rule__EnumerationType__Group__3__Impl11761 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__4__Impl_in_rule__EnumerationType__Group__411792 = new BitSet(new long[]{0x0000040000000040L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__5_in_rule__EnumerationType__Group__411795 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__EnumerationType__Group__4__Impl11823 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__5__Impl_in_rule__EnumerationType__Group__511854 = new BitSet(new long[]{0x0000040000000040L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__6_in_rule__EnumerationType__Group__511857 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_5__0_in_rule__EnumerationType__Group__5__Impl11884 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group__6__Impl_in_rule__EnumerationType__Group__611915 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__EnumerationType__Group__6__Impl11943 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_3__0__Impl_in_rule__EnumerationType__Group_3__011988 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_3__1_in_rule__EnumerationType__Group_3__011991 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_50_in_rule__EnumerationType__Group_3__0__Impl12019 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_3__1__Impl_in_rule__EnumerationType__Group_3__112050 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__PrimitiveTypeAssignment_3_1_in_rule__EnumerationType__Group_3__1__Impl12077 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_5__0__Impl_in_rule__EnumerationType__Group_5__012111 = new BitSet(new long[]{0x0008000000000000L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_5__1_in_rule__EnumerationType__Group_5__012114 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__LiteralsAssignment_5_0_in_rule__EnumerationType__Group_5__0__Impl12141 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_5__1__Impl_in_rule__EnumerationType__Group_5__112171 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_5_1__0_in_rule__EnumerationType__Group_5__1__Impl12198 = new BitSet(new long[]{0x0008000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_5_1__0__Impl_in_rule__EnumerationType__Group_5_1__012233 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_5_1__1_in_rule__EnumerationType__Group_5_1__012236 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_rule__EnumerationType__Group_5_1__0__Impl12264 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__Group_5_1__1__Impl_in_rule__EnumerationType__Group_5_1__112295 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumerationType__LiteralsAssignment_5_1_1_in_rule__EnumerationType__Group_5_1__1__Impl12322 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumLiteral__Group__0__Impl_in_rule__EnumLiteral__Group__012356 = new BitSet(new long[]{0x0010000000000000L});
+    public static final BitSet FOLLOW_rule__EnumLiteral__Group__1_in_rule__EnumLiteral__Group__012359 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumLiteral__NameAssignment_0_in_rule__EnumLiteral__Group__0__Impl12386 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumLiteral__Group__1__Impl_in_rule__EnumLiteral__Group__112416 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumLiteral__Group_1__0_in_rule__EnumLiteral__Group__1__Impl12443 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumLiteral__Group_1__0__Impl_in_rule__EnumLiteral__Group_1__012478 = new BitSet(new long[]{0x000000000C000030L});
+    public static final BitSet FOLLOW_rule__EnumLiteral__Group_1__1_in_rule__EnumLiteral__Group_1__012481 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_52_in_rule__EnumLiteral__Group_1__0__Impl12509 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumLiteral__Group_1__1__Impl_in_rule__EnumLiteral__Group_1__112540 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumLiteral__LiteralAssignment_1_1_in_rule__EnumLiteral__Group_1__1__Impl12567 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group__0__Impl_in_rule__ExternalType__Group__012601 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group__1_in_rule__ExternalType__Group__012604 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_53_in_rule__ExternalType__Group__0__Impl12632 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group__1__Impl_in_rule__ExternalType__Group__112663 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group__2_in_rule__ExternalType__Group__112666 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__NameAssignment_1_in_rule__ExternalType__Group__1__Impl12693 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group__2__Impl_in_rule__ExternalType__Group__212723 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group__3_in_rule__ExternalType__Group__212726 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__ExternalType__Group__2__Impl12754 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group__3__Impl_in_rule__ExternalType__Group__312785 = new BitSet(new long[]{0x0800400000000000L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group__4_in_rule__ExternalType__Group__312788 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__TargetNameAssignment_3_in_rule__ExternalType__Group__3__Impl12815 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group__4__Impl_in_rule__ExternalType__Group__412845 = new BitSet(new long[]{0x0800400000000000L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group__5_in_rule__ExternalType__Group__412848 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group_4__0_in_rule__ExternalType__Group__4__Impl12875 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group__5__Impl_in_rule__ExternalType__Group__512906 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__DocuAssignment_5_in_rule__ExternalType__Group__5__Impl12933 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group_4__0__Impl_in_rule__ExternalType__Group_4__012976 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group_4__1_in_rule__ExternalType__Group_4__012979 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_46_in_rule__ExternalType__Group_4__0__Impl13007 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__Group_4__1__Impl_in_rule__ExternalType__Group_4__113038 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalType__DefaultValueLiteralAssignment_4_1_in_rule__ExternalType__Group_4__1__Impl13065 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__0__Impl_in_rule__DataClass__Group__013099 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__1_in_rule__DataClass__Group__013102 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_16_in_rule__DataClass__Group__0__Impl13130 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__1__Impl_in_rule__DataClass__Group__113161 = new BitSet(new long[]{0x0840020000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__2_in_rule__DataClass__Group__113164 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__NameAssignment_1_in_rule__DataClass__Group__1__Impl13191 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__2__Impl_in_rule__DataClass__Group__213221 = new BitSet(new long[]{0x0840020000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__3_in_rule__DataClass__Group__213224 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__DocuAssignment_2_in_rule__DataClass__Group__2__Impl13251 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__3__Impl_in_rule__DataClass__Group__313282 = new BitSet(new long[]{0x0840020000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__4_in_rule__DataClass__Group__313285 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_3__0_in_rule__DataClass__Group__3__Impl13312 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__4__Impl_in_rule__DataClass__Group__413343 = new BitSet(new long[]{0x2780040000006000L,0x8100000000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__5_in_rule__DataClass__Group__413346 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__DataClass__Group__4__Impl13374 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__5__Impl_in_rule__DataClass__Group__513405 = new BitSet(new long[]{0x2780040000006000L,0x8100000000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__6_in_rule__DataClass__Group__513408 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__AnnotationsAssignment_5_in_rule__DataClass__Group__5__Impl13435 = new BitSet(new long[]{0x0000000000000002L,0x0100000000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__6__Impl_in_rule__DataClass__Group__613466 = new BitSet(new long[]{0x2780040000006000L,0x8100000000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__7_in_rule__DataClass__Group__613469 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_6__0_in_rule__DataClass__Group__6__Impl13496 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__7__Impl_in_rule__DataClass__Group__713527 = new BitSet(new long[]{0x2780040000006000L,0x8100000000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__8_in_rule__DataClass__Group__713530 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_7__0_in_rule__DataClass__Group__7__Impl13557 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__8__Impl_in_rule__DataClass__Group__813588 = new BitSet(new long[]{0x2780040000006000L,0x8100000000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__9_in_rule__DataClass__Group__813591 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_8__0_in_rule__DataClass__Group__8__Impl13618 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__9__Impl_in_rule__DataClass__Group__913649 = new BitSet(new long[]{0x2780040000006000L,0x8100000000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__10_in_rule__DataClass__Group__913652 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Alternatives_9_in_rule__DataClass__Group__9__Impl13679 = new BitSet(new long[]{0x2400000000006002L,0x8000000000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group__10__Impl_in_rule__DataClass__Group__1013710 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__DataClass__Group__10__Impl13738 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_3__0__Impl_in_rule__DataClass__Group_3__013791 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_3__1_in_rule__DataClass__Group_3__013794 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_54_in_rule__DataClass__Group_3__0__Impl13822 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_3__1__Impl_in_rule__DataClass__Group_3__113853 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__BaseAssignment_3_1_in_rule__DataClass__Group_3__1__Impl13880 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_6__0__Impl_in_rule__DataClass__Group_6__013914 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_6__1_in_rule__DataClass__Group_6__013917 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_55_in_rule__DataClass__Group_6__0__Impl13945 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_6__1__Impl_in_rule__DataClass__Group_6__113976 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__UserCode1Assignment_6_1_in_rule__DataClass__Group_6__1__Impl14003 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_7__0__Impl_in_rule__DataClass__Group_7__014037 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_7__1_in_rule__DataClass__Group_7__014040 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_56_in_rule__DataClass__Group_7__0__Impl14068 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_7__1__Impl_in_rule__DataClass__Group_7__114099 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__UserCode2Assignment_7_1_in_rule__DataClass__Group_7__1__Impl14126 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_8__0__Impl_in_rule__DataClass__Group_8__014160 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_8__1_in_rule__DataClass__Group_8__014163 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_57_in_rule__DataClass__Group_8__0__Impl14191 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__Group_8__1__Impl_in_rule__DataClass__Group_8__114222 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DataClass__UserCode3Assignment_8_1_in_rule__DataClass__Group_8__1__Impl14249 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__0__Impl_in_rule__Attribute__Group__014283 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__1_in_rule__Attribute__Group__014286 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_58_in_rule__Attribute__Group__0__Impl14314 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__1__Impl_in_rule__Attribute__Group__114345 = new BitSet(new long[]{0x0800080000000000L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__2_in_rule__Attribute__Group__114348 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__NameAssignment_1_in_rule__Attribute__Group__1__Impl14375 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__2__Impl_in_rule__Attribute__Group__214405 = new BitSet(new long[]{0x0800080000000000L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__3_in_rule__Attribute__Group__214408 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group_2__0_in_rule__Attribute__Group__2__Impl14435 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__3__Impl_in_rule__Attribute__Group__314466 = new BitSet(new long[]{0x0810000000000040L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__4_in_rule__Attribute__Group__314469 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__Attribute__Group__3__Impl14497 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__4__Impl_in_rule__Attribute__Group__414528 = new BitSet(new long[]{0x0810000000000040L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__5_in_rule__Attribute__Group__414531 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__TypeAssignment_4_in_rule__Attribute__Group__4__Impl14558 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__5__Impl_in_rule__Attribute__Group__514589 = new BitSet(new long[]{0x0810000000000040L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__6_in_rule__Attribute__Group__514592 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group_5__0_in_rule__Attribute__Group__5__Impl14619 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group__6__Impl_in_rule__Attribute__Group__614650 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__DocuAssignment_6_in_rule__Attribute__Group__6__Impl14677 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group_2__0__Impl_in_rule__Attribute__Group_2__014722 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__Attribute__Group_2__1_in_rule__Attribute__Group_2__014725 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_rule__Attribute__Group_2__0__Impl14753 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group_2__1__Impl_in_rule__Attribute__Group_2__114784 = new BitSet(new long[]{0x1000000000000000L});
+    public static final BitSet FOLLOW_rule__Attribute__Group_2__2_in_rule__Attribute__Group_2__114787 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__SizeAssignment_2_1_in_rule__Attribute__Group_2__1__Impl14814 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group_2__2__Impl_in_rule__Attribute__Group_2__214844 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_rule__Attribute__Group_2__2__Impl14872 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group_5__0__Impl_in_rule__Attribute__Group_5__014909 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__Attribute__Group_5__1_in_rule__Attribute__Group_5__014912 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_52_in_rule__Attribute__Group_5__0__Impl14940 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__Group_5__1__Impl_in_rule__Attribute__Group_5__114971 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Attribute__DefaultValueLiteralAssignment_5_1_in_rule__Attribute__Group_5__1__Impl14998 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__0__Impl_in_rule__StandardOperation__Group__015032 = new BitSet(new long[]{0x2000000000000000L,0x8000000000000000L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__1_in_rule__StandardOperation__Group__015035 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__OverrideAssignment_0_in_rule__StandardOperation__Group__0__Impl15062 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__1__Impl_in_rule__StandardOperation__Group__115093 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__2_in_rule__StandardOperation__Group__115096 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_61_in_rule__StandardOperation__Group__1__Impl15124 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__2__Impl_in_rule__StandardOperation__Group__215155 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__3_in_rule__StandardOperation__Group__215158 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__NameAssignment_2_in_rule__StandardOperation__Group__2__Impl15185 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__3__Impl_in_rule__StandardOperation__Group__315215 = new BitSet(new long[]{0x0001000000000040L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__4_in_rule__StandardOperation__Group__315218 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__StandardOperation__Group__3__Impl15246 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__4__Impl_in_rule__StandardOperation__Group__415277 = new BitSet(new long[]{0x0001000000000040L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__5_in_rule__StandardOperation__Group__415280 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_4__0_in_rule__StandardOperation__Group__4__Impl15307 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__5__Impl_in_rule__StandardOperation__Group__515338 = new BitSet(new long[]{0x08000A0000000000L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__6_in_rule__StandardOperation__Group__515341 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__StandardOperation__Group__5__Impl15369 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__6__Impl_in_rule__StandardOperation__Group__615400 = new BitSet(new long[]{0x08000A0000000000L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__7_in_rule__StandardOperation__Group__615403 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_6__0_in_rule__StandardOperation__Group__6__Impl15430 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__7__Impl_in_rule__StandardOperation__Group__715461 = new BitSet(new long[]{0x08000A0000000000L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__8_in_rule__StandardOperation__Group__715464 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__DocuAssignment_7_in_rule__StandardOperation__Group__7__Impl15491 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group__8__Impl_in_rule__StandardOperation__Group__815522 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__DetailCodeAssignment_8_in_rule__StandardOperation__Group__8__Impl15549 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_4__0__Impl_in_rule__StandardOperation__Group_4__015597 = new BitSet(new long[]{0x0008000000000000L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_4__1_in_rule__StandardOperation__Group_4__015600 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__ArgumentsAssignment_4_0_in_rule__StandardOperation__Group_4__0__Impl15627 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_4__1__Impl_in_rule__StandardOperation__Group_4__115657 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_4_1__0_in_rule__StandardOperation__Group_4__1__Impl15684 = new BitSet(new long[]{0x0008000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_4_1__0__Impl_in_rule__StandardOperation__Group_4_1__015719 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_4_1__1_in_rule__StandardOperation__Group_4_1__015722 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_rule__StandardOperation__Group_4_1__0__Impl15750 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_4_1__1__Impl_in_rule__StandardOperation__Group_4_1__115781 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__ArgumentsAssignment_4_1_1_in_rule__StandardOperation__Group_4_1__1__Impl15808 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_6__0__Impl_in_rule__StandardOperation__Group_6__015842 = new BitSet(new long[]{0x0000000000001040L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_6__1_in_rule__StandardOperation__Group_6__015845 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__StandardOperation__Group_6__0__Impl15873 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Group_6__1__Impl_in_rule__StandardOperation__Group_6__115904 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StandardOperation__Alternatives_6_1_in_rule__StandardOperation__Group_6__1__Impl15931 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__0__Impl_in_rule__PortOperation__Group__015965 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__1_in_rule__PortOperation__Group__015968 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_61_in_rule__PortOperation__Group__0__Impl15996 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__1__Impl_in_rule__PortOperation__Group__116027 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__2_in_rule__PortOperation__Group__116030 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__NameAssignment_1_in_rule__PortOperation__Group__1__Impl16057 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__2__Impl_in_rule__PortOperation__Group__216087 = new BitSet(new long[]{0x0001000000000040L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__3_in_rule__PortOperation__Group__216090 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__PortOperation__Group__2__Impl16118 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__3__Impl_in_rule__PortOperation__Group__316149 = new BitSet(new long[]{0x0001000000000040L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__4_in_rule__PortOperation__Group__316152 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_3__0_in_rule__PortOperation__Group__3__Impl16179 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__4__Impl_in_rule__PortOperation__Group__416210 = new BitSet(new long[]{0x48000A0000000000L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__5_in_rule__PortOperation__Group__416213 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__PortOperation__Group__4__Impl16241 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__5__Impl_in_rule__PortOperation__Group__516272 = new BitSet(new long[]{0x48000A0000000000L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__6_in_rule__PortOperation__Group__516275 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Alternatives_5_in_rule__PortOperation__Group__5__Impl16302 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__6__Impl_in_rule__PortOperation__Group__616333 = new BitSet(new long[]{0x48000A0000000000L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__7_in_rule__PortOperation__Group__616336 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__DocuAssignment_6_in_rule__PortOperation__Group__6__Impl16363 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group__7__Impl_in_rule__PortOperation__Group__716394 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__DetailCodeAssignment_7_in_rule__PortOperation__Group__7__Impl16421 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_3__0__Impl_in_rule__PortOperation__Group_3__016467 = new BitSet(new long[]{0x0008000000000000L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_3__1_in_rule__PortOperation__Group_3__016470 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__ArgumentsAssignment_3_0_in_rule__PortOperation__Group_3__0__Impl16497 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_3__1__Impl_in_rule__PortOperation__Group_3__116527 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_3_1__0_in_rule__PortOperation__Group_3__1__Impl16554 = new BitSet(new long[]{0x0008000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_3_1__0__Impl_in_rule__PortOperation__Group_3_1__016589 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_3_1__1_in_rule__PortOperation__Group_3_1__016592 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_rule__PortOperation__Group_3_1__0__Impl16620 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_3_1__1__Impl_in_rule__PortOperation__Group_3_1__116651 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__ArgumentsAssignment_3_1_1_in_rule__PortOperation__Group_3_1__1__Impl16678 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_5_0__0__Impl_in_rule__PortOperation__Group_5_0__016712 = new BitSet(new long[]{0x0000000000001040L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_5_0__1_in_rule__PortOperation__Group_5_0__016715 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__PortOperation__Group_5_0__0__Impl16743 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_5_0__1__Impl_in_rule__PortOperation__Group_5_0__116774 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Alternatives_5_0_1_in_rule__PortOperation__Group_5_0__1__Impl16801 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_5_1__0__Impl_in_rule__PortOperation__Group_5_1__016835 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_5_1__1_in_rule__PortOperation__Group_5_1__016838 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_62_in_rule__PortOperation__Group_5_1__0__Impl16866 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__Group_5_1__1__Impl_in_rule__PortOperation__Group_5_1__116897 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortOperation__SendsMsgAssignment_5_1_1_in_rule__PortOperation__Group_5_1__1__Impl16924 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ClassStructor__Group__0__Impl_in_rule__ClassStructor__Group__016958 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ClassStructor__Group__1_in_rule__ClassStructor__Group__016961 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ClassStructor__NameAssignment_0_in_rule__ClassStructor__Group__0__Impl16988 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ClassStructor__Group__1__Impl_in_rule__ClassStructor__Group__117018 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ClassStructor__DetailCodeAssignment_1_in_rule__ClassStructor__Group__1__Impl17045 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__0__Impl_in_rule__ProtocolClass__Group__017079 = new BitSet(new long[]{0x00000001C0080000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__1_in_rule__ProtocolClass__Group__017082 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__CommTypeAssignment_0_in_rule__ProtocolClass__Group__0__Impl17109 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__1__Impl_in_rule__ProtocolClass__Group__117140 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__2_in_rule__ProtocolClass__Group__117143 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_rule__ProtocolClass__Group__1__Impl17171 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__2__Impl_in_rule__ProtocolClass__Group__217202 = new BitSet(new long[]{0x0840020000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__3_in_rule__ProtocolClass__Group__217205 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__NameAssignment_2_in_rule__ProtocolClass__Group__2__Impl17232 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__3__Impl_in_rule__ProtocolClass__Group__317262 = new BitSet(new long[]{0x0840020000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__4_in_rule__ProtocolClass__Group__317265 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__DocuAssignment_3_in_rule__ProtocolClass__Group__3__Impl17292 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__4__Impl_in_rule__ProtocolClass__Group__417323 = new BitSet(new long[]{0x0840020000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__5_in_rule__ProtocolClass__Group__417326 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_4__0_in_rule__ProtocolClass__Group__4__Impl17353 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__5__Impl_in_rule__ProtocolClass__Group__517384 = new BitSet(new long[]{0x8380040000000000L,0x012000000000000BL});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__6_in_rule__ProtocolClass__Group__517387 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__ProtocolClass__Group__5__Impl17415 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__6__Impl_in_rule__ProtocolClass__Group__617446 = new BitSet(new long[]{0x8380040000000000L,0x012000000000000BL});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__7_in_rule__ProtocolClass__Group__617449 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__AnnotationsAssignment_6_in_rule__ProtocolClass__Group__6__Impl17476 = new BitSet(new long[]{0x0000000000000002L,0x0100000000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__7__Impl_in_rule__ProtocolClass__Group__717507 = new BitSet(new long[]{0x8380040000000000L,0x012000000000000BL});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__8_in_rule__ProtocolClass__Group__717510 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_7__0_in_rule__ProtocolClass__Group__7__Impl17537 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__8__Impl_in_rule__ProtocolClass__Group__817568 = new BitSet(new long[]{0x8380040000000000L,0x012000000000000BL});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__9_in_rule__ProtocolClass__Group__817571 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_8__0_in_rule__ProtocolClass__Group__8__Impl17598 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__9__Impl_in_rule__ProtocolClass__Group__917629 = new BitSet(new long[]{0x8380040000000000L,0x012000000000000BL});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__10_in_rule__ProtocolClass__Group__917632 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_9__0_in_rule__ProtocolClass__Group__9__Impl17659 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__10__Impl_in_rule__ProtocolClass__Group__1017690 = new BitSet(new long[]{0x8380040000000000L,0x012000000000000BL});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__11_in_rule__ProtocolClass__Group__1017693 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__0_in_rule__ProtocolClass__Group__10__Impl17720 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__11__Impl_in_rule__ProtocolClass__Group__1117751 = new BitSet(new long[]{0x8380040000000000L,0x012000000000000BL});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__12_in_rule__ProtocolClass__Group__1117754 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__0_in_rule__ProtocolClass__Group__11__Impl17781 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__12__Impl_in_rule__ProtocolClass__Group__1217812 = new BitSet(new long[]{0x8380040000000000L,0x012000000000000BL});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__13_in_rule__ProtocolClass__Group__1217815 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__0_in_rule__ProtocolClass__Group__12__Impl17842 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__13__Impl_in_rule__ProtocolClass__Group__1317873 = new BitSet(new long[]{0x8380040000000000L,0x012000000000000BL});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__14_in_rule__ProtocolClass__Group__1317876 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__0_in_rule__ProtocolClass__Group__13__Impl17903 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__14__Impl_in_rule__ProtocolClass__Group__1417934 = new BitSet(new long[]{0x8380040000000000L,0x012000000000000BL});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__15_in_rule__ProtocolClass__Group__1417937 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__SemanticsAssignment_14_in_rule__ProtocolClass__Group__14__Impl17964 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group__15__Impl_in_rule__ProtocolClass__Group__1517995 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__ProtocolClass__Group__15__Impl18023 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_4__0__Impl_in_rule__ProtocolClass__Group_4__018086 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_4__1_in_rule__ProtocolClass__Group_4__018089 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_54_in_rule__ProtocolClass__Group_4__0__Impl18117 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_4__1__Impl_in_rule__ProtocolClass__Group_4__118148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__BaseAssignment_4_1_in_rule__ProtocolClass__Group_4__1__Impl18175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_7__0__Impl_in_rule__ProtocolClass__Group_7__018209 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_7__1_in_rule__ProtocolClass__Group_7__018212 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_55_in_rule__ProtocolClass__Group_7__0__Impl18240 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_7__1__Impl_in_rule__ProtocolClass__Group_7__118271 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__UserCode1Assignment_7_1_in_rule__ProtocolClass__Group_7__1__Impl18298 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_8__0__Impl_in_rule__ProtocolClass__Group_8__018332 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_8__1_in_rule__ProtocolClass__Group_8__018335 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_56_in_rule__ProtocolClass__Group_8__0__Impl18363 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_8__1__Impl_in_rule__ProtocolClass__Group_8__118394 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__UserCode2Assignment_8_1_in_rule__ProtocolClass__Group_8__1__Impl18421 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_9__0__Impl_in_rule__ProtocolClass__Group_9__018455 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_9__1_in_rule__ProtocolClass__Group_9__018458 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_57_in_rule__ProtocolClass__Group_9__0__Impl18486 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_9__1__Impl_in_rule__ProtocolClass__Group_9__118517 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__UserCode3Assignment_9_1_in_rule__ProtocolClass__Group_9__1__Impl18544 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__0__Impl_in_rule__ProtocolClass__Group_10__018578 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__1_in_rule__ProtocolClass__Group_10__018581 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_63_in_rule__ProtocolClass__Group_10__0__Impl18609 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__1__Impl_in_rule__ProtocolClass__Group_10__118640 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000020L,0x0000000000000001L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__2_in_rule__ProtocolClass__Group_10__118643 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__ProtocolClass__Group_10__1__Impl18671 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__2__Impl_in_rule__ProtocolClass__Group_10__218702 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000020L,0x0000000000000001L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__3_in_rule__ProtocolClass__Group_10__218705 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__IncomingMessagesAssignment_10_2_in_rule__ProtocolClass__Group_10__2__Impl18732 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L,0x0000000000000001L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_10__3__Impl_in_rule__ProtocolClass__Group_10__318763 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__ProtocolClass__Group_10__3__Impl18791 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__0__Impl_in_rule__ProtocolClass__Group_11__018830 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__1_in_rule__ProtocolClass__Group_11__018833 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_64_in_rule__ProtocolClass__Group_11__0__Impl18861 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__1__Impl_in_rule__ProtocolClass__Group_11__118892 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000020L,0x0000000000000001L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__2_in_rule__ProtocolClass__Group_11__118895 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__ProtocolClass__Group_11__1__Impl18923 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__2__Impl_in_rule__ProtocolClass__Group_11__218954 = new BitSet(new long[]{0x0000040000000000L,0x0000000000000020L,0x0000000000000001L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__3_in_rule__ProtocolClass__Group_11__218957 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__OutgoingMessagesAssignment_11_2_in_rule__ProtocolClass__Group_11__2__Impl18984 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L,0x0000000000000001L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_11__3__Impl_in_rule__ProtocolClass__Group_11__319015 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__ProtocolClass__Group_11__3__Impl19043 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__0__Impl_in_rule__ProtocolClass__Group_12__019082 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__1_in_rule__ProtocolClass__Group_12__019085 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_65_in_rule__ProtocolClass__Group_12__0__Impl19113 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__1__Impl_in_rule__ProtocolClass__Group_12__119144 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__2_in_rule__ProtocolClass__Group_12__119147 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_66_in_rule__ProtocolClass__Group_12__1__Impl19175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_12__2__Impl_in_rule__ProtocolClass__Group_12__219206 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__RegularAssignment_12_2_in_rule__ProtocolClass__Group_12__2__Impl19233 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__0__Impl_in_rule__ProtocolClass__Group_13__019269 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__1_in_rule__ProtocolClass__Group_13__019272 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_67_in_rule__ProtocolClass__Group_13__0__Impl19300 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__1__Impl_in_rule__ProtocolClass__Group_13__119331 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__2_in_rule__ProtocolClass__Group_13__119334 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_66_in_rule__ProtocolClass__Group_13__1__Impl19362 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__Group_13__2__Impl_in_rule__ProtocolClass__Group_13__219393 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolClass__ConjugatedAssignment_13_2_in_rule__ProtocolClass__Group_13__2__Impl19420 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__0__Impl_in_rule__CompoundProtocolClass__Group__019456 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__1_in_rule__CompoundProtocolClass__Group__019459 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_20_in_rule__CompoundProtocolClass__Group__0__Impl19487 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__1__Impl_in_rule__CompoundProtocolClass__Group__119518 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__2_in_rule__CompoundProtocolClass__Group__119521 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__NameAssignment_1_in_rule__CompoundProtocolClass__Group__1__Impl19548 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__2__Impl_in_rule__CompoundProtocolClass__Group__219578 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__3_in_rule__CompoundProtocolClass__Group__219581 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__DocuAssignment_2_in_rule__CompoundProtocolClass__Group__2__Impl19608 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__3__Impl_in_rule__CompoundProtocolClass__Group__319639 = new BitSet(new long[]{0x0000040000000000L,0x0100000000000010L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__4_in_rule__CompoundProtocolClass__Group__319642 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__CompoundProtocolClass__Group__3__Impl19670 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__4__Impl_in_rule__CompoundProtocolClass__Group__419701 = new BitSet(new long[]{0x0000040000000000L,0x0100000000000010L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__5_in_rule__CompoundProtocolClass__Group__419704 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__AnnotationsAssignment_4_in_rule__CompoundProtocolClass__Group__4__Impl19731 = new BitSet(new long[]{0x0000000000000002L,0x0100000000000000L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__5__Impl_in_rule__CompoundProtocolClass__Group__519762 = new BitSet(new long[]{0x0000040000000000L,0x0100000000000010L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__6_in_rule__CompoundProtocolClass__Group__519765 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__SubProtocolsAssignment_5_in_rule__CompoundProtocolClass__Group__5__Impl19792 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__CompoundProtocolClass__Group__6__Impl_in_rule__CompoundProtocolClass__Group__619823 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__CompoundProtocolClass__Group__6__Impl19851 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubProtocol__Group__0__Impl_in_rule__SubProtocol__Group__019896 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SubProtocol__Group__1_in_rule__SubProtocol__Group__019899 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_68_in_rule__SubProtocol__Group__0__Impl19927 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubProtocol__Group__1__Impl_in_rule__SubProtocol__Group__119958 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__SubProtocol__Group__2_in_rule__SubProtocol__Group__119961 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubProtocol__NameAssignment_1_in_rule__SubProtocol__Group__1__Impl19988 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubProtocol__Group__2__Impl_in_rule__SubProtocol__Group__220018 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SubProtocol__Group__3_in_rule__SubProtocol__Group__220021 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__SubProtocol__Group__2__Impl20049 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubProtocol__Group__3__Impl_in_rule__SubProtocol__Group__320080 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubProtocol__ProtocolAssignment_3_in_rule__SubProtocol__Group__3__Impl20107 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Message__Group__0__Impl_in_rule__Message__Group__020145 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L,0x0000000000000001L});
+    public static final BitSet FOLLOW_rule__Message__Group__1_in_rule__Message__Group__020148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Message__PrivAssignment_0_in_rule__Message__Group__0__Impl20175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Message__Group__1__Impl_in_rule__Message__Group__120206 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Message__Group__2_in_rule__Message__Group__120209 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_69_in_rule__Message__Group__1__Impl20237 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Message__Group__2__Impl_in_rule__Message__Group__220268 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_rule__Message__Group__3_in_rule__Message__Group__220271 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Message__NameAssignment_2_in_rule__Message__Group__2__Impl20298 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Message__Group__3__Impl_in_rule__Message__Group__320328 = new BitSet(new long[]{0x0001000000000040L});
+    public static final BitSet FOLLOW_rule__Message__Group__4_in_rule__Message__Group__320331 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__Message__Group__3__Impl20359 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Message__Group__4__Impl_in_rule__Message__Group__420390 = new BitSet(new long[]{0x0001000000000040L});
+    public static final BitSet FOLLOW_rule__Message__Group__5_in_rule__Message__Group__420393 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Message__DataAssignment_4_in_rule__Message__Group__4__Impl20420 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Message__Group__5__Impl_in_rule__Message__Group__520451 = new BitSet(new long[]{0x0800000000000000L});
+    public static final BitSet FOLLOW_rule__Message__Group__6_in_rule__Message__Group__520454 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__Message__Group__5__Impl20482 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Message__Group__6__Impl_in_rule__Message__Group__620513 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Message__DocuAssignment_6_in_rule__Message__Group__6__Impl20540 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__Group__0__Impl_in_rule__PortClass__Group__020585 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__PortClass__Group__1_in_rule__PortClass__Group__020588 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__Group__1__Impl_in_rule__PortClass__Group__120646 = new BitSet(new long[]{0x2400040000006000L,0x80000000000000C0L});
+    public static final BitSet FOLLOW_rule__PortClass__Group__2_in_rule__PortClass__Group__120649 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__PortClass__Group__1__Impl20677 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__Group__2__Impl_in_rule__PortClass__Group__220708 = new BitSet(new long[]{0x2400040000006000L,0x80000000000000C0L});
+    public static final BitSet FOLLOW_rule__PortClass__Group__3_in_rule__PortClass__Group__220711 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__Group_2__0_in_rule__PortClass__Group__2__Impl20738 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__Group__3__Impl_in_rule__PortClass__Group__320769 = new BitSet(new long[]{0x2400040000006000L,0x80000000000000C0L});
+    public static final BitSet FOLLOW_rule__PortClass__Group__4_in_rule__PortClass__Group__320772 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__Alternatives_3_in_rule__PortClass__Group__3__Impl20799 = new BitSet(new long[]{0x2400000000006002L,0x8000000000000080L});
+    public static final BitSet FOLLOW_rule__PortClass__Group__4__Impl_in_rule__PortClass__Group__420830 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__PortClass__Group__4__Impl20858 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__Group_2__0__Impl_in_rule__PortClass__Group_2__020899 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__PortClass__Group_2__1_in_rule__PortClass__Group_2__020902 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_70_in_rule__PortClass__Group_2__0__Impl20930 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__Group_2__1__Impl_in_rule__PortClass__Group_2__120961 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__PortClass__UserCodeAssignment_2_1_in_rule__PortClass__Group_2__1__Impl20988 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InMessageHandler__Group__0__Impl_in_rule__InMessageHandler__Group__021022 = new BitSet(new long[]{0x8000000000000000L});
+    public static final BitSet FOLLOW_rule__InMessageHandler__Group__1_in_rule__InMessageHandler__Group__021025 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_71_in_rule__InMessageHandler__Group__0__Impl21053 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InMessageHandler__Group__1__Impl_in_rule__InMessageHandler__Group__121084 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__InMessageHandler__Group__2_in_rule__InMessageHandler__Group__121087 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_63_in_rule__InMessageHandler__Group__1__Impl21115 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InMessageHandler__Group__2__Impl_in_rule__InMessageHandler__Group__221146 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__InMessageHandler__Group__3_in_rule__InMessageHandler__Group__221149 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InMessageHandler__MsgAssignment_2_in_rule__InMessageHandler__Group__2__Impl21176 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InMessageHandler__Group__3__Impl_in_rule__InMessageHandler__Group__321206 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InMessageHandler__DetailCodeAssignment_3_in_rule__InMessageHandler__Group__3__Impl21233 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__0__Impl_in_rule__OutMessageHandler__Group__021271 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
+    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__1_in_rule__OutMessageHandler__Group__021274 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_71_in_rule__OutMessageHandler__Group__0__Impl21302 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__1__Impl_in_rule__OutMessageHandler__Group__121333 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__2_in_rule__OutMessageHandler__Group__121336 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_64_in_rule__OutMessageHandler__Group__1__Impl21364 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__2__Impl_in_rule__OutMessageHandler__Group__221395 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__3_in_rule__OutMessageHandler__Group__221398 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutMessageHandler__MsgAssignment_2_in_rule__OutMessageHandler__Group__2__Impl21425 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutMessageHandler__Group__3__Impl_in_rule__OutMessageHandler__Group__321455 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutMessageHandler__DetailCodeAssignment_3_in_rule__OutMessageHandler__Group__3__Impl21482 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__0__Impl_in_rule__ActorClass__Group__021520 = new BitSet(new long[]{0x0000000000020000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__1_in_rule__ActorClass__Group__021523 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__UnorderedGroup_0_in_rule__ActorClass__Group__0__Impl21550 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__1__Impl_in_rule__ActorClass__Group__121580 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__2_in_rule__ActorClass__Group__121583 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_17_in_rule__ActorClass__Group__1__Impl21611 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__2__Impl_in_rule__ActorClass__Group__221642 = new BitSet(new long[]{0x0840020000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__3_in_rule__ActorClass__Group__221645 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__NameAssignment_2_in_rule__ActorClass__Group__2__Impl21672 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__3__Impl_in_rule__ActorClass__Group__321702 = new BitSet(new long[]{0x0840020000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__4_in_rule__ActorClass__Group__321705 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__DocuAssignment_3_in_rule__ActorClass__Group__3__Impl21732 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__4__Impl_in_rule__ActorClass__Group__421763 = new BitSet(new long[]{0x0840020000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__5_in_rule__ActorClass__Group__421766 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_4__0_in_rule__ActorClass__Group__4__Impl21793 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__5__Impl_in_rule__ActorClass__Group__521824 = new BitSet(new long[]{0x0000040000000000L,0x0100000000000700L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__6_in_rule__ActorClass__Group__521827 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__ActorClass__Group__5__Impl21855 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__6__Impl_in_rule__ActorClass__Group__621886 = new BitSet(new long[]{0x0000040000000000L,0x0100000000000700L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__7_in_rule__ActorClass__Group__621889 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__AnnotationsAssignment_6_in_rule__ActorClass__Group__6__Impl21916 = new BitSet(new long[]{0x0000000000000002L,0x0100000000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__7__Impl_in_rule__ActorClass__Group__721947 = new BitSet(new long[]{0x0000040000000000L,0x0100000000000700L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__8_in_rule__ActorClass__Group__721950 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_7__0_in_rule__ActorClass__Group__7__Impl21977 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__8__Impl_in_rule__ActorClass__Group__822008 = new BitSet(new long[]{0x0000040000000000L,0x0100000000000700L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__9_in_rule__ActorClass__Group__822011 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__0_in_rule__ActorClass__Group__8__Impl22038 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__9__Impl_in_rule__ActorClass__Group__922069 = new BitSet(new long[]{0x0000040000000000L,0x0100000000000700L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__10_in_rule__ActorClass__Group__922072 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__0_in_rule__ActorClass__Group__9__Impl22099 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group__10__Impl_in_rule__ActorClass__Group__1022130 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__ActorClass__Group__10__Impl22158 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_4__0__Impl_in_rule__ActorClass__Group_4__022211 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_4__1_in_rule__ActorClass__Group_4__022214 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_54_in_rule__ActorClass__Group_4__0__Impl22242 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_4__1__Impl_in_rule__ActorClass__Group_4__122273 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__BaseAssignment_4_1_in_rule__ActorClass__Group_4__1__Impl22300 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_7__0__Impl_in_rule__ActorClass__Group_7__022334 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_7__1_in_rule__ActorClass__Group_7__022337 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_72_in_rule__ActorClass__Group_7__0__Impl22365 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_7__1__Impl_in_rule__ActorClass__Group_7__122396 = new BitSet(new long[]{0x0000040000000000L,0x0000000000004808L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_7__2_in_rule__ActorClass__Group_7__122399 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__ActorClass__Group_7__1__Impl22427 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_7__2__Impl_in_rule__ActorClass__Group_7__222458 = new BitSet(new long[]{0x0000040000000000L,0x0000000000004808L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_7__3_in_rule__ActorClass__Group_7__222461 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Alternatives_7_2_in_rule__ActorClass__Group_7__2__Impl22488 = new BitSet(new long[]{0x0000000000000002L,0x0000000000004808L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_7__3__Impl_in_rule__ActorClass__Group_7__322519 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__ActorClass__Group_7__3__Impl22547 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__0__Impl_in_rule__ActorClass__Group_8__022586 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__1_in_rule__ActorClass__Group_8__022589 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_73_in_rule__ActorClass__Group_8__0__Impl22617 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__1__Impl_in_rule__ActorClass__Group_8__122648 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__2_in_rule__ActorClass__Group_8__122651 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__StructureDocuAssignment_8_1_in_rule__ActorClass__Group_8__1__Impl22678 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__2__Impl_in_rule__ActorClass__Group_8__222709 = new BitSet(new long[]{0x2780040600006000L,0x800000001110F808L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__3_in_rule__ActorClass__Group_8__222712 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__ActorClass__Group_8__2__Impl22740 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__3__Impl_in_rule__ActorClass__Group_8__322771 = new BitSet(new long[]{0x2780040600006000L,0x800000001110F808L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__4_in_rule__ActorClass__Group_8__322774 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_3__0_in_rule__ActorClass__Group_8__3__Impl22801 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__4__Impl_in_rule__ActorClass__Group_8__422832 = new BitSet(new long[]{0x2780040600006000L,0x800000001110F808L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__5_in_rule__ActorClass__Group_8__422835 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_4__0_in_rule__ActorClass__Group_8__4__Impl22862 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__5__Impl_in_rule__ActorClass__Group_8__522893 = new BitSet(new long[]{0x2780040600006000L,0x800000001110F808L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__6_in_rule__ActorClass__Group_8__522896 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_5__0_in_rule__ActorClass__Group_8__5__Impl22923 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__6__Impl_in_rule__ActorClass__Group_8__622954 = new BitSet(new long[]{0x2780040600006000L,0x800000001110F808L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__7_in_rule__ActorClass__Group_8__622957 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Alternatives_8_6_in_rule__ActorClass__Group_8__6__Impl22984 = new BitSet(new long[]{0x2400000600006002L,0x800000001110F808L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8__7__Impl_in_rule__ActorClass__Group_8__723015 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__ActorClass__Group_8__7__Impl23043 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_3__0__Impl_in_rule__ActorClass__Group_8_3__023090 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_3__1_in_rule__ActorClass__Group_8_3__023093 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_55_in_rule__ActorClass__Group_8_3__0__Impl23121 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_3__1__Impl_in_rule__ActorClass__Group_8_3__123152 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__UserCode1Assignment_8_3_1_in_rule__ActorClass__Group_8_3__1__Impl23179 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_4__0__Impl_in_rule__ActorClass__Group_8_4__023213 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_4__1_in_rule__ActorClass__Group_8_4__023216 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_56_in_rule__ActorClass__Group_8_4__0__Impl23244 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_4__1__Impl_in_rule__ActorClass__Group_8_4__123275 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__UserCode2Assignment_8_4_1_in_rule__ActorClass__Group_8_4__1__Impl23302 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_5__0__Impl_in_rule__ActorClass__Group_8_5__023336 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_5__1_in_rule__ActorClass__Group_8_5__023339 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_57_in_rule__ActorClass__Group_8_5__0__Impl23367 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_8_5__1__Impl_in_rule__ActorClass__Group_8_5__123398 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__UserCode3Assignment_8_5_1_in_rule__ActorClass__Group_8_5__1__Impl23425 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__0__Impl_in_rule__ActorClass__Group_9__023459 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__1_in_rule__ActorClass__Group_9__023462 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_74_in_rule__ActorClass__Group_9__0__Impl23490 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__1__Impl_in_rule__ActorClass__Group_9__123521 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__2_in_rule__ActorClass__Group_9__123524 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__BehaviorDocuAssignment_9_1_in_rule__ActorClass__Group_9__1__Impl23551 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__2__Impl_in_rule__ActorClass__Group_9__223582 = new BitSet(new long[]{0x2000040000006000L,0x8100000020000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__3_in_rule__ActorClass__Group_9__223585 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__ActorClass__Group_9__2__Impl23613 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__3__Impl_in_rule__ActorClass__Group_9__323644 = new BitSet(new long[]{0x2000040000006000L,0x8100000020000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__4_in_rule__ActorClass__Group_9__323647 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__BehaviorAnnotationsAssignment_9_3_in_rule__ActorClass__Group_9__3__Impl23674 = new BitSet(new long[]{0x0000000000000002L,0x0100000000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__4__Impl_in_rule__ActorClass__Group_9__423705 = new BitSet(new long[]{0x2000040000006000L,0x8100000020000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__5_in_rule__ActorClass__Group_9__423708 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Alternatives_9_4_in_rule__ActorClass__Group_9__4__Impl23735 = new BitSet(new long[]{0x2000000000006002L,0x8000000000000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__5__Impl_in_rule__ActorClass__Group_9__523766 = new BitSet(new long[]{0x2000040000006000L,0x8100000020000000L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__6_in_rule__ActorClass__Group_9__523769 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__StateMachineAssignment_9_5_in_rule__ActorClass__Group_9__5__Impl23796 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__Group_9__6__Impl_in_rule__ActorClass__Group_9__623827 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__ActorClass__Group_9__6__Impl23855 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__Group__0__Impl_in_rule__Port__Group__023900 = new BitSet(new long[]{0x0000000000000000L,0x0000000000004808L});
+    public static final BitSet FOLLOW_rule__Port__Group__1_in_rule__Port__Group__023903 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__ConjugatedAssignment_0_in_rule__Port__Group__0__Impl23930 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__Group__1__Impl_in_rule__Port__Group__123961 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Port__Group__2_in_rule__Port__Group__123964 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_75_in_rule__Port__Group__1__Impl23992 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__Group__2__Impl_in_rule__Port__Group__224023 = new BitSet(new long[]{0x0800080000000000L});
+    public static final BitSet FOLLOW_rule__Port__Group__3_in_rule__Port__Group__224026 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__NameAssignment_2_in_rule__Port__Group__2__Impl24053 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__Group__3__Impl_in_rule__Port__Group__324083 = new BitSet(new long[]{0x0800080000000000L});
+    public static final BitSet FOLLOW_rule__Port__Group__4_in_rule__Port__Group__324086 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__MultiplicityAssignment_3_in_rule__Port__Group__3__Impl24113 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__Group__4__Impl_in_rule__Port__Group__424144 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Port__Group__5_in_rule__Port__Group__424147 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__Port__Group__4__Impl24175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__Group__5__Impl_in_rule__Port__Group__524206 = new BitSet(new long[]{0x0800000000000000L});
+    public static final BitSet FOLLOW_rule__Port__Group__6_in_rule__Port__Group__524209 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__ProtocolAssignment_5_in_rule__Port__Group__5__Impl24236 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__Group__6__Impl_in_rule__Port__Group__624266 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Port__DocuAssignment_6_in_rule__Port__Group__6__Impl24293 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalPort__Group__0__Impl_in_rule__ExternalPort__Group__024338 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
+    public static final BitSet FOLLOW_rule__ExternalPort__Group__1_in_rule__ExternalPort__Group__024341 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_76_in_rule__ExternalPort__Group__0__Impl24369 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalPort__Group__1__Impl_in_rule__ExternalPort__Group__124400 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ExternalPort__Group__2_in_rule__ExternalPort__Group__124403 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_75_in_rule__ExternalPort__Group__1__Impl24431 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalPort__Group__2__Impl_in_rule__ExternalPort__Group__224462 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExternalPort__InterfacePortAssignment_2_in_rule__ExternalPort__Group__2__Impl24489 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SAP__Group__0__Impl_in_rule__SAP__Group__024525 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SAP__Group__1_in_rule__SAP__Group__024528 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_77_in_rule__SAP__Group__0__Impl24556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SAP__Group__1__Impl_in_rule__SAP__Group__124587 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__SAP__Group__2_in_rule__SAP__Group__124590 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SAP__NameAssignment_1_in_rule__SAP__Group__1__Impl24617 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SAP__Group__2__Impl_in_rule__SAP__Group__224647 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SAP__Group__3_in_rule__SAP__Group__224650 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__SAP__Group__2__Impl24678 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SAP__Group__3__Impl_in_rule__SAP__Group__324709 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SAP__ProtocolAssignment_3_in_rule__SAP__Group__3__Impl24736 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SPP__Group__0__Impl_in_rule__SPP__Group__024774 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SPP__Group__1_in_rule__SPP__Group__024777 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_78_in_rule__SPP__Group__0__Impl24805 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SPP__Group__1__Impl_in_rule__SPP__Group__124836 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__SPP__Group__2_in_rule__SPP__Group__124839 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SPP__NameAssignment_1_in_rule__SPP__Group__1__Impl24866 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SPP__Group__2__Impl_in_rule__SPP__Group__224896 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SPP__Group__3_in_rule__SPP__Group__224899 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__SPP__Group__2__Impl24927 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SPP__Group__3__Impl_in_rule__SPP__Group__324958 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SPP__ProtocolAssignment_3_in_rule__SPP__Group__3__Impl24985 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ServiceImplementation__Group__0__Impl_in_rule__ServiceImplementation__Group__025023 = new BitSet(new long[]{0x0004000000000000L});
+    public static final BitSet FOLLOW_rule__ServiceImplementation__Group__1_in_rule__ServiceImplementation__Group__025026 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_79_in_rule__ServiceImplementation__Group__0__Impl25054 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ServiceImplementation__Group__1__Impl_in_rule__ServiceImplementation__Group__125085 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ServiceImplementation__Group__2_in_rule__ServiceImplementation__Group__125088 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_50_in_rule__ServiceImplementation__Group__1__Impl25116 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ServiceImplementation__Group__2__Impl_in_rule__ServiceImplementation__Group__225147 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ServiceImplementation__SppAssignment_2_in_rule__ServiceImplementation__Group__2__Impl25174 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__0__Impl_in_rule__LogicalSystem__Group__025210 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__1_in_rule__LogicalSystem__Group__025213 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_22_in_rule__LogicalSystem__Group__0__Impl25241 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__1__Impl_in_rule__LogicalSystem__Group__125272 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__2_in_rule__LogicalSystem__Group__125275 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__NameAssignment_1_in_rule__LogicalSystem__Group__1__Impl25302 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__2__Impl_in_rule__LogicalSystem__Group__225332 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__3_in_rule__LogicalSystem__Group__225335 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__DocuAssignment_2_in_rule__LogicalSystem__Group__2__Impl25362 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__3__Impl_in_rule__LogicalSystem__Group__325393 = new BitSet(new long[]{0x0000040000000000L,0x0100000001110000L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__4_in_rule__LogicalSystem__Group__325396 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__LogicalSystem__Group__3__Impl25424 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__4__Impl_in_rule__LogicalSystem__Group__425455 = new BitSet(new long[]{0x0000040000000000L,0x0100000001110000L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__5_in_rule__LogicalSystem__Group__425458 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__AnnotationsAssignment_4_in_rule__LogicalSystem__Group__4__Impl25485 = new BitSet(new long[]{0x0000000000000002L,0x0100000000000000L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__5__Impl_in_rule__LogicalSystem__Group__525516 = new BitSet(new long[]{0x0000040000000000L,0x0100000001110000L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__6_in_rule__LogicalSystem__Group__525519 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Alternatives_5_in_rule__LogicalSystem__Group__5__Impl25546 = new BitSet(new long[]{0x0000000000000002L,0x0000000001110000L});
+    public static final BitSet FOLLOW_rule__LogicalSystem__Group__6__Impl_in_rule__LogicalSystem__Group__625577 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__LogicalSystem__Group__6__Impl25605 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__Group__0__Impl_in_rule__SubSystemRef__Group__025650 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__Group__1_in_rule__SubSystemRef__Group__025653 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_80_in_rule__SubSystemRef__Group__0__Impl25681 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__Group__1__Impl_in_rule__SubSystemRef__Group__125712 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__Group__2_in_rule__SubSystemRef__Group__125715 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__NameAssignment_1_in_rule__SubSystemRef__Group__1__Impl25742 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__Group__2__Impl_in_rule__SubSystemRef__Group__225772 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__Group__3_in_rule__SubSystemRef__Group__225775 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__SubSystemRef__Group__2__Impl25803 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__Group__3__Impl_in_rule__SubSystemRef__Group__325834 = new BitSet(new long[]{0x0800000000000000L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__Group__4_in_rule__SubSystemRef__Group__325837 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__TypeAssignment_3_in_rule__SubSystemRef__Group__3__Impl25864 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__Group__4__Impl_in_rule__SubSystemRef__Group__425894 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemRef__DocuAssignment_4_in_rule__SubSystemRef__Group__4__Impl25921 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__0__Impl_in_rule__SubSystemClass__Group__025962 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__1_in_rule__SubSystemClass__Group__025965 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_21_in_rule__SubSystemClass__Group__0__Impl25993 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__1__Impl_in_rule__SubSystemClass__Group__126024 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__2_in_rule__SubSystemClass__Group__126027 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__NameAssignment_1_in_rule__SubSystemClass__Group__1__Impl26054 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__2__Impl_in_rule__SubSystemClass__Group__226084 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__3_in_rule__SubSystemClass__Group__226087 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__DocuAssignment_2_in_rule__SubSystemClass__Group__2__Impl26114 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__3__Impl_in_rule__SubSystemClass__Group__326145 = new BitSet(new long[]{0x0380040600000000L,0x0100000011164808L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__4_in_rule__SubSystemClass__Group__326148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__SubSystemClass__Group__3__Impl26176 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__4__Impl_in_rule__SubSystemClass__Group__426207 = new BitSet(new long[]{0x0380040600000000L,0x0100000011164808L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__5_in_rule__SubSystemClass__Group__426210 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__AnnotationsAssignment_4_in_rule__SubSystemClass__Group__4__Impl26237 = new BitSet(new long[]{0x0000000000000002L,0x0100000000000000L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__5__Impl_in_rule__SubSystemClass__Group__526268 = new BitSet(new long[]{0x0380040600000000L,0x0100000011164808L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__6_in_rule__SubSystemClass__Group__526271 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_5__0_in_rule__SubSystemClass__Group__5__Impl26298 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__6__Impl_in_rule__SubSystemClass__Group__626329 = new BitSet(new long[]{0x0380040600000000L,0x0100000011164808L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__7_in_rule__SubSystemClass__Group__626332 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_6__0_in_rule__SubSystemClass__Group__6__Impl26359 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__7__Impl_in_rule__SubSystemClass__Group__726390 = new BitSet(new long[]{0x0380040600000000L,0x0100000011164808L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__8_in_rule__SubSystemClass__Group__726393 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_7__0_in_rule__SubSystemClass__Group__7__Impl26420 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__8__Impl_in_rule__SubSystemClass__Group__826451 = new BitSet(new long[]{0x0380040600000000L,0x0100000011164808L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__9_in_rule__SubSystemClass__Group__826454 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Alternatives_8_in_rule__SubSystemClass__Group__8__Impl26481 = new BitSet(new long[]{0x0000000600000002L,0x0000000011164808L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group__9__Impl_in_rule__SubSystemClass__Group__926512 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__SubSystemClass__Group__9__Impl26540 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_5__0__Impl_in_rule__SubSystemClass__Group_5__026591 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_5__1_in_rule__SubSystemClass__Group_5__026594 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_55_in_rule__SubSystemClass__Group_5__0__Impl26622 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_5__1__Impl_in_rule__SubSystemClass__Group_5__126653 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__UserCode1Assignment_5_1_in_rule__SubSystemClass__Group_5__1__Impl26680 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_6__0__Impl_in_rule__SubSystemClass__Group_6__026714 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_6__1_in_rule__SubSystemClass__Group_6__026717 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_56_in_rule__SubSystemClass__Group_6__0__Impl26745 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_6__1__Impl_in_rule__SubSystemClass__Group_6__126776 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__UserCode2Assignment_6_1_in_rule__SubSystemClass__Group_6__1__Impl26803 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_7__0__Impl_in_rule__SubSystemClass__Group_7__026837 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_7__1_in_rule__SubSystemClass__Group_7__026840 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_57_in_rule__SubSystemClass__Group_7__0__Impl26868 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__Group_7__1__Impl_in_rule__SubSystemClass__Group_7__126899 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubSystemClass__UserCode3Assignment_7_1_in_rule__SubSystemClass__Group_7__1__Impl26926 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalThread__Group__0__Impl_in_rule__LogicalThread__Group__026960 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__LogicalThread__Group__1_in_rule__LogicalThread__Group__026963 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_81_in_rule__LogicalThread__Group__0__Impl26991 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalThread__Group__1__Impl_in_rule__LogicalThread__Group__127022 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LogicalThread__NameAssignment_1_in_rule__LogicalThread__Group__1__Impl27049 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__0__Impl_in_rule__ActorInstanceMapping__Group__027083 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__1_in_rule__ActorInstanceMapping__Group__027086 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_82_in_rule__ActorInstanceMapping__Group__0__Impl27114 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__1__Impl_in_rule__ActorInstanceMapping__Group__127145 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__2_in_rule__ActorInstanceMapping__Group__127148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__PathAssignment_1_in_rule__ActorInstanceMapping__Group__1__Impl27175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__2__Impl_in_rule__ActorInstanceMapping__Group__227205 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__3_in_rule__ActorInstanceMapping__Group__227208 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__ActorInstanceMapping__Group__2__Impl27236 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__3__Impl_in_rule__ActorInstanceMapping__Group__327267 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__4_in_rule__ActorInstanceMapping__Group__327270 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__ThreadAssignment_3_in_rule__ActorInstanceMapping__Group__3__Impl27297 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group__4__Impl_in_rule__ActorInstanceMapping__Group__427327 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__0_in_rule__ActorInstanceMapping__Group__4__Impl27354 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__0__Impl_in_rule__ActorInstanceMapping__Group_4__027395 = new BitSet(new long[]{0x0000040000000000L,0x0000000000040000L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__1_in_rule__ActorInstanceMapping__Group_4__027398 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__ActorInstanceMapping__Group_4__0__Impl27426 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__1__Impl_in_rule__ActorInstanceMapping__Group_4__127457 = new BitSet(new long[]{0x0000040000000000L,0x0000000000040000L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__2_in_rule__ActorInstanceMapping__Group_4__127460 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_1_in_rule__ActorInstanceMapping__Group_4__1__Impl27487 = new BitSet(new long[]{0x0000000000000002L,0x0000000000040000L});
+    public static final BitSet FOLLOW_rule__ActorInstanceMapping__Group_4__2__Impl_in_rule__ActorInstanceMapping__Group_4__227518 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__ActorInstanceMapping__Group_4__2__Impl27546 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__Group__0__Impl_in_rule__RefPath__Group__027583 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
+    public static final BitSet FOLLOW_rule__RefPath__Group__1_in_rule__RefPath__Group__027586 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__RefsAssignment_0_in_rule__RefPath__Group__0__Impl27613 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__Group__1__Impl_in_rule__RefPath__Group__127643 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__Group_1__0_in_rule__RefPath__Group__1__Impl27670 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L});
+    public static final BitSet FOLLOW_rule__RefPath__Group_1__0__Impl_in_rule__RefPath__Group_1__027705 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__RefPath__Group_1__1_in_rule__RefPath__Group_1__027708 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_83_in_rule__RefPath__Group_1__0__Impl27736 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__Group_1__1__Impl_in_rule__RefPath__Group_1__127767 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefPath__RefsAssignment_1_1_in_rule__RefPath__Group_1__1__Impl27794 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group__0__Impl_in_rule__RefSegment__Group__027828 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group__1_in_rule__RefSegment__Group__027831 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__RefAssignment_0_in_rule__RefSegment__Group__0__Impl27858 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group__1__Impl_in_rule__RefSegment__Group__127888 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group_1__0_in_rule__RefSegment__Group__1__Impl27915 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group_1__0__Impl_in_rule__RefSegment__Group_1__027950 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group_1__1_in_rule__RefSegment__Group_1__027953 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__RefSegment__Group_1__0__Impl27981 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__Group_1__1__Impl_in_rule__RefSegment__Group_1__128012 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSegment__IdxAssignment_1_1_in_rule__RefSegment__Group_1__1__Impl28039 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Binding__Group__0__Impl_in_rule__Binding__Group__028073 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Binding__Group__1_in_rule__Binding__Group__028076 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_84_in_rule__Binding__Group__0__Impl28104 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Binding__Group__1__Impl_in_rule__Binding__Group__128135 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
+    public static final BitSet FOLLOW_rule__Binding__Group__2_in_rule__Binding__Group__128138 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Binding__Endpoint1Assignment_1_in_rule__Binding__Group__1__Impl28165 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Binding__Group__2__Impl_in_rule__Binding__Group__228195 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Binding__Group__3_in_rule__Binding__Group__228198 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_85_in_rule__Binding__Group__2__Impl28226 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Binding__Group__3__Impl_in_rule__Binding__Group__328257 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Binding__Endpoint2Assignment_3_in_rule__Binding__Group__3__Impl28284 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group__0__Impl_in_rule__BindingEndPoint__Group__028322 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group__1_in_rule__BindingEndPoint__Group__028325 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_0__0_in_rule__BindingEndPoint__Group__0__Impl28352 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group__1__Impl_in_rule__BindingEndPoint__Group__128383 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group__2_in_rule__BindingEndPoint__Group__128386 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__PortAssignment_1_in_rule__BindingEndPoint__Group__1__Impl28413 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group__2__Impl_in_rule__BindingEndPoint__Group__228443 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_2__0_in_rule__BindingEndPoint__Group__2__Impl28470 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_0__0__Impl_in_rule__BindingEndPoint__Group_0__028507 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_0__1_in_rule__BindingEndPoint__Group_0__028510 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__ActorRefAssignment_0_0_in_rule__BindingEndPoint__Group_0__0__Impl28537 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_0__1__Impl_in_rule__BindingEndPoint__Group_0__128567 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_86_in_rule__BindingEndPoint__Group_0__1__Impl28595 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_2__0__Impl_in_rule__BindingEndPoint__Group_2__028630 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_2__1_in_rule__BindingEndPoint__Group_2__028633 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_87_in_rule__BindingEndPoint__Group_2__0__Impl28661 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__Group_2__1__Impl_in_rule__BindingEndPoint__Group_2__128692 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BindingEndPoint__SubAssignment_2_1_in_rule__BindingEndPoint__Group_2__1__Impl28719 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LayerConnection__Group__0__Impl_in_rule__LayerConnection__Group__028753 = new BitSet(new long[]{0x0000000000000000L,0x000000000C000000L});
+    public static final BitSet FOLLOW_rule__LayerConnection__Group__1_in_rule__LayerConnection__Group__028756 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_88_in_rule__LayerConnection__Group__0__Impl28784 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LayerConnection__Group__1__Impl_in_rule__LayerConnection__Group__128815 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
+    public static final BitSet FOLLOW_rule__LayerConnection__Group__2_in_rule__LayerConnection__Group__128818 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LayerConnection__FromAssignment_1_in_rule__LayerConnection__Group__1__Impl28845 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LayerConnection__Group__2__Impl_in_rule__LayerConnection__Group__228875 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__LayerConnection__Group__3_in_rule__LayerConnection__Group__228878 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_89_in_rule__LayerConnection__Group__2__Impl28906 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LayerConnection__Group__3__Impl_in_rule__LayerConnection__Group__328937 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__LayerConnection__ToAssignment_3_in_rule__LayerConnection__Group__3__Impl28964 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSAPoint__Group__0__Impl_in_rule__RefSAPoint__Group__029002 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__RefSAPoint__Group__1_in_rule__RefSAPoint__Group__029005 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_90_in_rule__RefSAPoint__Group__0__Impl29033 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSAPoint__Group__1__Impl_in_rule__RefSAPoint__Group__129064 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefSAPoint__RefAssignment_1_in_rule__RefSAPoint__Group__1__Impl29091 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RelaySAPoint__Group__0__Impl_in_rule__RelaySAPoint__Group__029125 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__RelaySAPoint__Group__1_in_rule__RelaySAPoint__Group__029128 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_91_in_rule__RelaySAPoint__Group__0__Impl29156 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RelaySAPoint__Group__1__Impl_in_rule__RelaySAPoint__Group__129187 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RelaySAPoint__RelayAssignment_1_in_rule__RelaySAPoint__Group__1__Impl29214 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SPPoint__Group__0__Impl_in_rule__SPPoint__Group__029248 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+    public static final BitSet FOLLOW_rule__SPPoint__Group__1_in_rule__SPPoint__Group__029251 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SPPoint__RefAssignment_0_in_rule__SPPoint__Group__0__Impl29278 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SPPoint__Group__1__Impl_in_rule__SPPoint__Group__129308 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SPPoint__Group__2_in_rule__SPPoint__Group__129311 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_86_in_rule__SPPoint__Group__1__Impl29339 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SPPoint__Group__2__Impl_in_rule__SPPoint__Group__229370 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SPPoint__ServiceAssignment_2_in_rule__SPPoint__Group__2__Impl29397 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__0__Impl_in_rule__ActorRef__Group__029433 = new BitSet(new long[]{0x0000000600000000L,0x0000000010000000L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__1_in_rule__ActorRef__Group__029436 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__RefTypeAssignment_0_in_rule__ActorRef__Group__0__Impl29463 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__1__Impl_in_rule__ActorRef__Group__129494 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__2_in_rule__ActorRef__Group__129497 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_92_in_rule__ActorRef__Group__1__Impl29525 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__2__Impl_in_rule__ActorRef__Group__229556 = new BitSet(new long[]{0x0800080000000000L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__3_in_rule__ActorRef__Group__229559 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__NameAssignment_2_in_rule__ActorRef__Group__2__Impl29586 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__3__Impl_in_rule__ActorRef__Group__329616 = new BitSet(new long[]{0x0800080000000000L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__4_in_rule__ActorRef__Group__329619 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__MultiplicityAssignment_3_in_rule__ActorRef__Group__3__Impl29646 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__4__Impl_in_rule__ActorRef__Group__429677 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__5_in_rule__ActorRef__Group__429680 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__ActorRef__Group__4__Impl29708 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__5__Impl_in_rule__ActorRef__Group__529739 = new BitSet(new long[]{0x0800000000000000L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__6_in_rule__ActorRef__Group__529742 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__TypeAssignment_5_in_rule__ActorRef__Group__5__Impl29769 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__Group__6__Impl_in_rule__ActorRef__Group__629799 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorRef__DocuAssignment_6_in_rule__ActorRef__Group__6__Impl29826 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MULTIPLICITY__Group__0__Impl_in_rule__MULTIPLICITY__Group__029871 = new BitSet(new long[]{0x0000000000008010L});
+    public static final BitSet FOLLOW_rule__MULTIPLICITY__Group__1_in_rule__MULTIPLICITY__Group__029874 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_rule__MULTIPLICITY__Group__0__Impl29902 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MULTIPLICITY__Group__1__Impl_in_rule__MULTIPLICITY__Group__129933 = new BitSet(new long[]{0x1000000000000000L});
+    public static final BitSet FOLLOW_rule__MULTIPLICITY__Group__2_in_rule__MULTIPLICITY__Group__129936 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MULTIPLICITY__Alternatives_1_in_rule__MULTIPLICITY__Group__1__Impl29963 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MULTIPLICITY__Group__2__Impl_in_rule__MULTIPLICITY__Group__229993 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_rule__MULTIPLICITY__Group__2__Impl30021 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__0__Impl_in_rule__StateGraph__Group__030058 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__1_in_rule__StateGraph__Group__030061 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__1__Impl_in_rule__StateGraph__Group__130119 = new BitSet(new long[]{0x0000040000000000L,0x000081F840000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__2_in_rule__StateGraph__Group__130122 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__StateGraph__Group__1__Impl30150 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__2__Impl_in_rule__StateGraph__Group__230181 = new BitSet(new long[]{0x0000040000000000L,0x000081F840000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__3_in_rule__StateGraph__Group__230184 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateGraph__Alternatives_2_in_rule__StateGraph__Group__2__Impl30211 = new BitSet(new long[]{0x0000000000000002L,0x000081F840000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule__StateGraph__Group__3__Impl_in_rule__StateGraph__Group__330242 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__StateGraph__Group__3__Impl30270 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__0__Impl_in_rule__StateMachine__Group__030309 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__1_in_rule__StateMachine__Group__030312 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__1__Impl_in_rule__StateMachine__Group__130370 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__2_in_rule__StateMachine__Group__130373 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_93_in_rule__StateMachine__Group__1__Impl30401 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__2__Impl_in_rule__StateMachine__Group__230432 = new BitSet(new long[]{0x0000040000000000L,0x000081F840000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__3_in_rule__StateMachine__Group__230435 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__StateMachine__Group__2__Impl30463 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__3__Impl_in_rule__StateMachine__Group__330494 = new BitSet(new long[]{0x0000040000000000L,0x000081F840000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__4_in_rule__StateMachine__Group__330497 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StateMachine__Alternatives_3_in_rule__StateMachine__Group__3__Impl30524 = new BitSet(new long[]{0x0000000000000002L,0x000081F840000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule__StateMachine__Group__4__Impl_in_rule__StateMachine__Group__430555 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__StateMachine__Group__4__Impl30583 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__0__Impl_in_rule__SimpleState__Group__030624 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__1_in_rule__SimpleState__Group__030627 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_94_in_rule__SimpleState__Group__0__Impl30655 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__1__Impl_in_rule__SimpleState__Group__130686 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__2_in_rule__SimpleState__Group__130689 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__NameAssignment_1_in_rule__SimpleState__Group__1__Impl30716 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__2__Impl_in_rule__SimpleState__Group__230746 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__3_in_rule__SimpleState__Group__230749 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__DocuAssignment_2_in_rule__SimpleState__Group__2__Impl30776 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group__3__Impl_in_rule__SimpleState__Group__330807 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__0_in_rule__SimpleState__Group__3__Impl30834 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__0__Impl_in_rule__SimpleState__Group_3__030873 = new BitSet(new long[]{0x0000040000000000L,0x0000000780000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__1_in_rule__SimpleState__Group_3__030876 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__SimpleState__Group_3__0__Impl30904 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__1__Impl_in_rule__SimpleState__Group_3__130935 = new BitSet(new long[]{0x0000040000000000L,0x0000000780000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__2_in_rule__SimpleState__Group_3__130938 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__0_in_rule__SimpleState__Group_3__1__Impl30965 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__2__Impl_in_rule__SimpleState__Group_3__230996 = new BitSet(new long[]{0x0000040000000000L,0x0000000780000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__3_in_rule__SimpleState__Group_3__230999 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__0_in_rule__SimpleState__Group_3__2__Impl31026 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__3__Impl_in_rule__SimpleState__Group_3__331057 = new BitSet(new long[]{0x0000040000000000L,0x0000000780000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__4_in_rule__SimpleState__Group_3__331060 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__0_in_rule__SimpleState__Group_3__3__Impl31087 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__4__Impl_in_rule__SimpleState__Group_3__431118 = new BitSet(new long[]{0x0000040000000000L,0x0000000780000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__5_in_rule__SimpleState__Group_3__431121 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__0_in_rule__SimpleState__Group_3__4__Impl31148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3__5__Impl_in_rule__SimpleState__Group_3__531179 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__SimpleState__Group_3__5__Impl31207 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__0__Impl_in_rule__SimpleState__Group_3_1__031250 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__1_in_rule__SimpleState__Group_3_1__031253 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_95_in_rule__SimpleState__Group_3_1__0__Impl31281 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_1__1__Impl_in_rule__SimpleState__Group_3_1__131312 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__EntryCodeAssignment_3_1_1_in_rule__SimpleState__Group_3_1__1__Impl31339 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__0__Impl_in_rule__SimpleState__Group_3_2__031373 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__1_in_rule__SimpleState__Group_3_2__031376 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_96_in_rule__SimpleState__Group_3_2__0__Impl31404 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_2__1__Impl_in_rule__SimpleState__Group_3_2__131435 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__ExitCodeAssignment_3_2_1_in_rule__SimpleState__Group_3_2__1__Impl31462 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__0__Impl_in_rule__SimpleState__Group_3_3__031496 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__1_in_rule__SimpleState__Group_3_3__031499 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_97_in_rule__SimpleState__Group_3_3__0__Impl31527 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_3__1__Impl_in_rule__SimpleState__Group_3_3__131558 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__DoCodeAssignment_3_3_1_in_rule__SimpleState__Group_3_3__1__Impl31585 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__0__Impl_in_rule__SimpleState__Group_3_4__031619 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__1_in_rule__SimpleState__Group_3_4__031622 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_98_in_rule__SimpleState__Group_3_4__0__Impl31650 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__Group_3_4__1__Impl_in_rule__SimpleState__Group_3_4__131681 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleState__SubgraphAssignment_3_4_1_in_rule__SimpleState__Group_3_4__1__Impl31708 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__0__Impl_in_rule__RefinedState__Group__031742 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__1_in_rule__RefinedState__Group__031745 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_99_in_rule__RefinedState__Group__0__Impl31773 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__1__Impl_in_rule__RefinedState__Group__131804 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__2_in_rule__RefinedState__Group__131807 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__TargetAssignment_1_in_rule__RefinedState__Group__1__Impl31834 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__2__Impl_in_rule__RefinedState__Group__231864 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__3_in_rule__RefinedState__Group__231867 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__DocuAssignment_2_in_rule__RefinedState__Group__2__Impl31894 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__3__Impl_in_rule__RefinedState__Group__331925 = new BitSet(new long[]{0x0000040000000000L,0x0000000780000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__4_in_rule__RefinedState__Group__331928 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__RefinedState__Group__3__Impl31956 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__4__Impl_in_rule__RefinedState__Group__431987 = new BitSet(new long[]{0x0000040000000000L,0x0000000780000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__5_in_rule__RefinedState__Group__431990 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_4__0_in_rule__RefinedState__Group__4__Impl32017 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__5__Impl_in_rule__RefinedState__Group__532048 = new BitSet(new long[]{0x0000040000000000L,0x0000000780000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__6_in_rule__RefinedState__Group__532051 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_5__0_in_rule__RefinedState__Group__5__Impl32078 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__6__Impl_in_rule__RefinedState__Group__632109 = new BitSet(new long[]{0x0000040000000000L,0x0000000780000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__7_in_rule__RefinedState__Group__632112 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_6__0_in_rule__RefinedState__Group__6__Impl32139 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__7__Impl_in_rule__RefinedState__Group__732170 = new BitSet(new long[]{0x0000040000000000L,0x0000000780000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__8_in_rule__RefinedState__Group__732173 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_7__0_in_rule__RefinedState__Group__7__Impl32200 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group__8__Impl_in_rule__RefinedState__Group__832231 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__RefinedState__Group__8__Impl32259 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_4__0__Impl_in_rule__RefinedState__Group_4__032308 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_4__1_in_rule__RefinedState__Group_4__032311 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_95_in_rule__RefinedState__Group_4__0__Impl32339 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_4__1__Impl_in_rule__RefinedState__Group_4__132370 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__EntryCodeAssignment_4_1_in_rule__RefinedState__Group_4__1__Impl32397 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_5__0__Impl_in_rule__RefinedState__Group_5__032431 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_5__1_in_rule__RefinedState__Group_5__032434 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_96_in_rule__RefinedState__Group_5__0__Impl32462 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_5__1__Impl_in_rule__RefinedState__Group_5__132493 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__ExitCodeAssignment_5_1_in_rule__RefinedState__Group_5__1__Impl32520 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_6__0__Impl_in_rule__RefinedState__Group_6__032554 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_6__1_in_rule__RefinedState__Group_6__032557 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_97_in_rule__RefinedState__Group_6__0__Impl32585 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_6__1__Impl_in_rule__RefinedState__Group_6__132616 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__DoCodeAssignment_6_1_in_rule__RefinedState__Group_6__1__Impl32643 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_7__0__Impl_in_rule__RefinedState__Group_7__032677 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_7__1_in_rule__RefinedState__Group_7__032680 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_98_in_rule__RefinedState__Group_7__0__Impl32708 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__Group_7__1__Impl_in_rule__RefinedState__Group_7__132739 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedState__SubgraphAssignment_7_1_in_rule__RefinedState__Group_7__1__Impl32766 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__0__Impl_in_rule__DetailCode__Group__032800 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__1_in_rule__DetailCode__Group__032803 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__1__Impl_in_rule__DetailCode__Group__132861 = new BitSet(new long[]{0x0000040000000080L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__2_in_rule__DetailCode__Group__132864 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DetailCode__UsedAssignment_1_in_rule__DetailCode__Group__1__Impl32891 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__2__Impl_in_rule__DetailCode__Group__232921 = new BitSet(new long[]{0x0000040000000080L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__3_in_rule__DetailCode__Group__232924 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DetailCode__LinesAssignment_2_in_rule__DetailCode__Group__2__Impl32951 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_rule__DetailCode__Group__3__Impl_in_rule__DetailCode__Group__332982 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__DetailCode__Group__3__Impl33010 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__Group__0__Impl_in_rule__TransitionPoint__Group__033049 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L,0x0000000000000004L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__Group__1_in_rule__TransitionPoint__Group__033052 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__HandlerAssignment_0_in_rule__TransitionPoint__Group__0__Impl33079 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__Group__1__Impl_in_rule__TransitionPoint__Group__133110 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__Group__2_in_rule__TransitionPoint__Group__133113 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_100_in_rule__TransitionPoint__Group__1__Impl33141 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__Group__2__Impl_in_rule__TransitionPoint__Group__233172 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TransitionPoint__NameAssignment_2_in_rule__TransitionPoint__Group__2__Impl33199 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EntryPoint__Group__0__Impl_in_rule__EntryPoint__Group__033235 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__EntryPoint__Group__1_in_rule__EntryPoint__Group__033238 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_101_in_rule__EntryPoint__Group__0__Impl33266 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EntryPoint__Group__1__Impl_in_rule__EntryPoint__Group__133297 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EntryPoint__NameAssignment_1_in_rule__EntryPoint__Group__1__Impl33324 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExitPoint__Group__0__Impl_in_rule__ExitPoint__Group__033358 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ExitPoint__Group__1_in_rule__ExitPoint__Group__033361 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_102_in_rule__ExitPoint__Group__0__Impl33389 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExitPoint__Group__1__Impl_in_rule__ExitPoint__Group__133420 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ExitPoint__NameAssignment_1_in_rule__ExitPoint__Group__1__Impl33447 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__Group__0__Impl_in_rule__ChoicePoint__Group__033481 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__Group__1_in_rule__ChoicePoint__Group__033484 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_103_in_rule__ChoicePoint__Group__0__Impl33512 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__Group__1__Impl_in_rule__ChoicePoint__Group__133543 = new BitSet(new long[]{0x0800000000000000L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__Group__2_in_rule__ChoicePoint__Group__133546 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__NameAssignment_1_in_rule__ChoicePoint__Group__1__Impl33573 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__Group__2__Impl_in_rule__ChoicePoint__Group__233603 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicePoint__DocuAssignment_2_in_rule__ChoicePoint__Group__2__Impl33630 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__0__Impl_in_rule__InitialTransition__Group__033667 = new BitSet(new long[]{0x0000080000000040L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__1_in_rule__InitialTransition__Group__033670 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_104_in_rule__InitialTransition__Group__0__Impl33698 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__1__Impl_in_rule__InitialTransition__Group__133729 = new BitSet(new long[]{0x0000080000000040L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__2_in_rule__InitialTransition__Group__133732 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__NameAssignment_1_in_rule__InitialTransition__Group__1__Impl33759 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__2__Impl_in_rule__InitialTransition__Group__233790 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__3_in_rule__InitialTransition__Group__233793 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__InitialTransition__Group__2__Impl33821 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__3__Impl_in_rule__InitialTransition__Group__333852 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__4_in_rule__InitialTransition__Group__333855 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_105_in_rule__InitialTransition__Group__3__Impl33883 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__4__Impl_in_rule__InitialTransition__Group__433914 = new BitSet(new long[]{0x0000000000000040L,0x0003000000000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__5_in_rule__InitialTransition__Group__433917 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__InitialTransition__Group__4__Impl33945 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__5__Impl_in_rule__InitialTransition__Group__533976 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__6_in_rule__InitialTransition__Group__533979 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__ToAssignment_5_in_rule__InitialTransition__Group__5__Impl34006 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__6__Impl_in_rule__InitialTransition__Group__634036 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__7_in_rule__InitialTransition__Group__634039 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__DocuAssignment_6_in_rule__InitialTransition__Group__6__Impl34066 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group__7__Impl_in_rule__InitialTransition__Group__734097 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__0_in_rule__InitialTransition__Group__7__Impl34124 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__0__Impl_in_rule__InitialTransition__Group_7__034171 = new BitSet(new long[]{0x0000040000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__1_in_rule__InitialTransition__Group_7__034174 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__InitialTransition__Group_7__0__Impl34202 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__1__Impl_in_rule__InitialTransition__Group_7__134233 = new BitSet(new long[]{0x0000040000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__2_in_rule__InitialTransition__Group_7__134236 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__0_in_rule__InitialTransition__Group_7__1__Impl34263 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7__2__Impl_in_rule__InitialTransition__Group_7__234294 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__InitialTransition__Group_7__2__Impl34322 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__0__Impl_in_rule__InitialTransition__Group_7_1__034359 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__1_in_rule__InitialTransition__Group_7_1__034362 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_106_in_rule__InitialTransition__Group_7_1__0__Impl34390 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__Group_7_1__1__Impl_in_rule__InitialTransition__Group_7_1__134421 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InitialTransition__ActionAssignment_7_1_1_in_rule__InitialTransition__Group_7_1__1__Impl34448 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__0__Impl_in_rule__ContinuationTransition__Group__034482 = new BitSet(new long[]{0x0000080000000040L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__1_in_rule__ContinuationTransition__Group__034485 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_104_in_rule__ContinuationTransition__Group__0__Impl34513 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__1__Impl_in_rule__ContinuationTransition__Group__134544 = new BitSet(new long[]{0x0000080000000040L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__2_in_rule__ContinuationTransition__Group__134547 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__NameAssignment_1_in_rule__ContinuationTransition__Group__1__Impl34574 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__2__Impl_in_rule__ContinuationTransition__Group__234605 = new BitSet(new long[]{0x0000000000000040L,0x0003000000000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__3_in_rule__ContinuationTransition__Group__234608 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__ContinuationTransition__Group__2__Impl34636 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__3__Impl_in_rule__ContinuationTransition__Group__334667 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__4_in_rule__ContinuationTransition__Group__334670 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__FromAssignment_3_in_rule__ContinuationTransition__Group__3__Impl34697 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__4__Impl_in_rule__ContinuationTransition__Group__434727 = new BitSet(new long[]{0x0000000000000040L,0x0003000000000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__5_in_rule__ContinuationTransition__Group__434730 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__ContinuationTransition__Group__4__Impl34758 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__5__Impl_in_rule__ContinuationTransition__Group__534789 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__6_in_rule__ContinuationTransition__Group__534792 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__ToAssignment_5_in_rule__ContinuationTransition__Group__5__Impl34819 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__6__Impl_in_rule__ContinuationTransition__Group__634849 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__7_in_rule__ContinuationTransition__Group__634852 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__DocuAssignment_6_in_rule__ContinuationTransition__Group__6__Impl34879 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group__7__Impl_in_rule__ContinuationTransition__Group__734910 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__0_in_rule__ContinuationTransition__Group__7__Impl34937 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__0__Impl_in_rule__ContinuationTransition__Group_7__034984 = new BitSet(new long[]{0x0000040000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__1_in_rule__ContinuationTransition__Group_7__034987 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__ContinuationTransition__Group_7__0__Impl35015 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__1__Impl_in_rule__ContinuationTransition__Group_7__135046 = new BitSet(new long[]{0x0000040000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__2_in_rule__ContinuationTransition__Group_7__135049 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__0_in_rule__ContinuationTransition__Group_7__1__Impl35076 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7__2__Impl_in_rule__ContinuationTransition__Group_7__235107 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__ContinuationTransition__Group_7__2__Impl35135 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__0__Impl_in_rule__ContinuationTransition__Group_7_1__035172 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__1_in_rule__ContinuationTransition__Group_7_1__035175 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_106_in_rule__ContinuationTransition__Group_7_1__0__Impl35203 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__Group_7_1__1__Impl_in_rule__ContinuationTransition__Group_7_1__135234 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ContinuationTransition__ActionAssignment_7_1_1_in_rule__ContinuationTransition__Group_7_1__1__Impl35261 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__0__Impl_in_rule__TriggeredTransition__Group__035295 = new BitSet(new long[]{0x0000080000000040L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__1_in_rule__TriggeredTransition__Group__035298 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_104_in_rule__TriggeredTransition__Group__0__Impl35326 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__1__Impl_in_rule__TriggeredTransition__Group__135357 = new BitSet(new long[]{0x0000080000000040L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__2_in_rule__TriggeredTransition__Group__135360 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__NameAssignment_1_in_rule__TriggeredTransition__Group__1__Impl35387 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__2__Impl_in_rule__TriggeredTransition__Group__235418 = new BitSet(new long[]{0x0000000000000040L,0x0003000000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__3_in_rule__TriggeredTransition__Group__235421 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__TriggeredTransition__Group__2__Impl35449 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__3__Impl_in_rule__TriggeredTransition__Group__335480 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__4_in_rule__TriggeredTransition__Group__335483 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__FromAssignment_3_in_rule__TriggeredTransition__Group__3__Impl35510 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__4__Impl_in_rule__TriggeredTransition__Group__435540 = new BitSet(new long[]{0x0000000000000040L,0x0003000000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__5_in_rule__TriggeredTransition__Group__435543 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__TriggeredTransition__Group__4__Impl35571 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__5__Impl_in_rule__TriggeredTransition__Group__535602 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__6_in_rule__TriggeredTransition__Group__535605 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__ToAssignment_5_in_rule__TriggeredTransition__Group__5__Impl35632 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__6__Impl_in_rule__TriggeredTransition__Group__635662 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__7_in_rule__TriggeredTransition__Group__635665 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__DocuAssignment_6_in_rule__TriggeredTransition__Group__6__Impl35692 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__7__Impl_in_rule__TriggeredTransition__Group__735723 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__8_in_rule__TriggeredTransition__Group__735726 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__TriggeredTransition__Group__7__Impl35754 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__8__Impl_in_rule__TriggeredTransition__Group__835785 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__9_in_rule__TriggeredTransition__Group__835788 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_107_in_rule__TriggeredTransition__Group__8__Impl35816 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__9__Impl_in_rule__TriggeredTransition__Group__935847 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__10_in_rule__TriggeredTransition__Group__935850 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__TriggeredTransition__Group__9__Impl35878 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__10__Impl_in_rule__TriggeredTransition__Group__1035909 = new BitSet(new long[]{0x0000040000000000L,0x0000100000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__11_in_rule__TriggeredTransition__Group__1035912 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__TriggersAssignment_10_in_rule__TriggeredTransition__Group__10__Impl35939 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__11__Impl_in_rule__TriggeredTransition__Group__1135969 = new BitSet(new long[]{0x0000040000000000L,0x0000100000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__12_in_rule__TriggeredTransition__Group__1135972 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__0_in_rule__TriggeredTransition__Group__11__Impl35999 = new BitSet(new long[]{0x0000000000000002L,0x0000100000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__12__Impl_in_rule__TriggeredTransition__Group__1236030 = new BitSet(new long[]{0x0000040000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__13_in_rule__TriggeredTransition__Group__1236033 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__TriggeredTransition__Group__12__Impl36061 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__13__Impl_in_rule__TriggeredTransition__Group__1336092 = new BitSet(new long[]{0x0000040000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__14_in_rule__TriggeredTransition__Group__1336095 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__0_in_rule__TriggeredTransition__Group__13__Impl36122 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group__14__Impl_in_rule__TriggeredTransition__Group__1436153 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__TriggeredTransition__Group__14__Impl36181 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__0__Impl_in_rule__TriggeredTransition__Group_11__036242 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__1_in_rule__TriggeredTransition__Group_11__036245 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_108_in_rule__TriggeredTransition__Group_11__0__Impl36273 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_11__1__Impl_in_rule__TriggeredTransition__Group_11__136304 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__TriggersAssignment_11_1_in_rule__TriggeredTransition__Group_11__1__Impl36331 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__0__Impl_in_rule__TriggeredTransition__Group_13__036365 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__1_in_rule__TriggeredTransition__Group_13__036368 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_106_in_rule__TriggeredTransition__Group_13__0__Impl36396 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__Group_13__1__Impl_in_rule__TriggeredTransition__Group_13__136427 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TriggeredTransition__ActionAssignment_13_1_in_rule__TriggeredTransition__Group_13__1__Impl36454 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__0__Impl_in_rule__GuardedTransition__Group__036488 = new BitSet(new long[]{0x0000080000000040L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__1_in_rule__GuardedTransition__Group__036491 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_104_in_rule__GuardedTransition__Group__0__Impl36519 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__1__Impl_in_rule__GuardedTransition__Group__136550 = new BitSet(new long[]{0x0000080000000040L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__2_in_rule__GuardedTransition__Group__136553 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__NameAssignment_1_in_rule__GuardedTransition__Group__1__Impl36580 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__2__Impl_in_rule__GuardedTransition__Group__236611 = new BitSet(new long[]{0x0000000000000040L,0x0003000000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__3_in_rule__GuardedTransition__Group__236614 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__GuardedTransition__Group__2__Impl36642 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__3__Impl_in_rule__GuardedTransition__Group__336673 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__4_in_rule__GuardedTransition__Group__336676 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__FromAssignment_3_in_rule__GuardedTransition__Group__3__Impl36703 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__4__Impl_in_rule__GuardedTransition__Group__436733 = new BitSet(new long[]{0x0000000000000040L,0x0003000000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__5_in_rule__GuardedTransition__Group__436736 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__GuardedTransition__Group__4__Impl36764 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__5__Impl_in_rule__GuardedTransition__Group__536795 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__6_in_rule__GuardedTransition__Group__536798 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__ToAssignment_5_in_rule__GuardedTransition__Group__5__Impl36825 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__6__Impl_in_rule__GuardedTransition__Group__636855 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__7_in_rule__GuardedTransition__Group__636858 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__DocuAssignment_6_in_rule__GuardedTransition__Group__6__Impl36885 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__7__Impl_in_rule__GuardedTransition__Group__736916 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__8_in_rule__GuardedTransition__Group__736919 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__GuardedTransition__Group__7__Impl36947 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__8__Impl_in_rule__GuardedTransition__Group__836978 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__9_in_rule__GuardedTransition__Group__836981 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_109_in_rule__GuardedTransition__Group__8__Impl37009 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__9__Impl_in_rule__GuardedTransition__Group__937040 = new BitSet(new long[]{0x0000040000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__10_in_rule__GuardedTransition__Group__937043 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__GuardAssignment_9_in_rule__GuardedTransition__Group__9__Impl37070 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__10__Impl_in_rule__GuardedTransition__Group__1037100 = new BitSet(new long[]{0x0000040000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__11_in_rule__GuardedTransition__Group__1037103 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__0_in_rule__GuardedTransition__Group__10__Impl37130 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group__11__Impl_in_rule__GuardedTransition__Group__1137161 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__GuardedTransition__Group__11__Impl37189 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__0__Impl_in_rule__GuardedTransition__Group_10__037244 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__1_in_rule__GuardedTransition__Group_10__037247 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_106_in_rule__GuardedTransition__Group_10__0__Impl37275 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__Group_10__1__Impl_in_rule__GuardedTransition__Group_10__137306 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__GuardedTransition__ActionAssignment_10_1_in_rule__GuardedTransition__Group_10__1__Impl37333 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__0__Impl_in_rule__CPBranchTransition__Group__037367 = new BitSet(new long[]{0x0000080000000040L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__1_in_rule__CPBranchTransition__Group__037370 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_104_in_rule__CPBranchTransition__Group__0__Impl37398 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__1__Impl_in_rule__CPBranchTransition__Group__137429 = new BitSet(new long[]{0x0000080000000040L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__2_in_rule__CPBranchTransition__Group__137432 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__NameAssignment_1_in_rule__CPBranchTransition__Group__1__Impl37459 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__2__Impl_in_rule__CPBranchTransition__Group__237490 = new BitSet(new long[]{0x0000000000000040L,0x0003000000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__3_in_rule__CPBranchTransition__Group__237493 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__CPBranchTransition__Group__2__Impl37521 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__3__Impl_in_rule__CPBranchTransition__Group__337552 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__4_in_rule__CPBranchTransition__Group__337555 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__FromAssignment_3_in_rule__CPBranchTransition__Group__3__Impl37582 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__4__Impl_in_rule__CPBranchTransition__Group__437612 = new BitSet(new long[]{0x0000000000000040L,0x0003000000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__5_in_rule__CPBranchTransition__Group__437615 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__CPBranchTransition__Group__4__Impl37643 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__5__Impl_in_rule__CPBranchTransition__Group__537674 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__6_in_rule__CPBranchTransition__Group__537677 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__ToAssignment_5_in_rule__CPBranchTransition__Group__5__Impl37704 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__6__Impl_in_rule__CPBranchTransition__Group__637734 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__7_in_rule__CPBranchTransition__Group__637737 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__DocuAssignment_6_in_rule__CPBranchTransition__Group__6__Impl37764 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__7__Impl_in_rule__CPBranchTransition__Group__737795 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__8_in_rule__CPBranchTransition__Group__737798 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__CPBranchTransition__Group__7__Impl37826 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__8__Impl_in_rule__CPBranchTransition__Group__837857 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__9_in_rule__CPBranchTransition__Group__837860 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_110_in_rule__CPBranchTransition__Group__8__Impl37888 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__9__Impl_in_rule__CPBranchTransition__Group__937919 = new BitSet(new long[]{0x0000040000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__10_in_rule__CPBranchTransition__Group__937922 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__ConditionAssignment_9_in_rule__CPBranchTransition__Group__9__Impl37949 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__10__Impl_in_rule__CPBranchTransition__Group__1037979 = new BitSet(new long[]{0x0000040000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__11_in_rule__CPBranchTransition__Group__1037982 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__0_in_rule__CPBranchTransition__Group__10__Impl38009 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group__11__Impl_in_rule__CPBranchTransition__Group__1138040 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__CPBranchTransition__Group__11__Impl38068 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__0__Impl_in_rule__CPBranchTransition__Group_10__038123 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__1_in_rule__CPBranchTransition__Group_10__038126 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_106_in_rule__CPBranchTransition__Group_10__0__Impl38154 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__Group_10__1__Impl_in_rule__CPBranchTransition__Group_10__138185 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__CPBranchTransition__ActionAssignment_10_1_in_rule__CPBranchTransition__Group_10__1__Impl38212 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__0__Impl_in_rule__RefinedTransition__Group__038246 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__1_in_rule__RefinedTransition__Group__038249 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_111_in_rule__RefinedTransition__Group__0__Impl38277 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__1__Impl_in_rule__RefinedTransition__Group__138308 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__2_in_rule__RefinedTransition__Group__138311 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__TargetAssignment_1_in_rule__RefinedTransition__Group__1__Impl38338 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__2__Impl_in_rule__RefinedTransition__Group__238368 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__3_in_rule__RefinedTransition__Group__238371 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__DocuAssignment_2_in_rule__RefinedTransition__Group__2__Impl38398 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__3__Impl_in_rule__RefinedTransition__Group__338429 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__4_in_rule__RefinedTransition__Group__338432 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__RefinedTransition__Group__3__Impl38460 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__4__Impl_in_rule__RefinedTransition__Group__438491 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__5_in_rule__RefinedTransition__Group__438494 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_106_in_rule__RefinedTransition__Group__4__Impl38522 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__5__Impl_in_rule__RefinedTransition__Group__538553 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__6_in_rule__RefinedTransition__Group__538556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__ActionAssignment_5_in_rule__RefinedTransition__Group__5__Impl38583 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RefinedTransition__Group__6__Impl_in_rule__RefinedTransition__Group__638613 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__RefinedTransition__Group__6__Impl38641 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__0__Impl_in_rule__TrPointTerminal__Group__038686 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__1_in_rule__TrPointTerminal__Group__038689 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_112_in_rule__TrPointTerminal__Group__0__Impl38717 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TrPointTerminal__Group__1__Impl_in_rule__TrPointTerminal__Group__138748 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__TrPointTerminal__TrPointAssignment_1_in_rule__TrPointTerminal__Group__1__Impl38775 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__0__Impl_in_rule__SubStateTrPointTerminal__Group__038809 = new BitSet(new long[]{0x0004000000000000L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__1_in_rule__SubStateTrPointTerminal__Group__038812 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__TrPointAssignment_0_in_rule__SubStateTrPointTerminal__Group__0__Impl38839 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__1__Impl_in_rule__SubStateTrPointTerminal__Group__138869 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__2_in_rule__SubStateTrPointTerminal__Group__138872 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_50_in_rule__SubStateTrPointTerminal__Group__1__Impl38900 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__Group__2__Impl_in_rule__SubStateTrPointTerminal__Group__238931 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SubStateTrPointTerminal__StateAssignment_2_in_rule__SubStateTrPointTerminal__Group__2__Impl38958 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__0__Impl_in_rule__ChoicepointTerminal__Group__038994 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__1_in_rule__ChoicepointTerminal__Group__038997 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_113_in_rule__ChoicepointTerminal__Group__0__Impl39025 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicepointTerminal__Group__1__Impl_in_rule__ChoicepointTerminal__Group__139056 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ChoicepointTerminal__CpAssignment_1_in_rule__ChoicepointTerminal__Group__1__Impl39083 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__0__Impl_in_rule__Trigger__Group__039117 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__1_in_rule__Trigger__Group__039120 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_114_in_rule__Trigger__Group__0__Impl39148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__1__Impl_in_rule__Trigger__Group__139179 = new BitSet(new long[]{0x0000000000000000L,0x0018200000000000L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__2_in_rule__Trigger__Group__139182 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_1_in_rule__Trigger__Group__1__Impl39209 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__2__Impl_in_rule__Trigger__Group__239239 = new BitSet(new long[]{0x0000000000000000L,0x0018200000000000L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__3_in_rule__Trigger__Group__239242 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group_2__0_in_rule__Trigger__Group__2__Impl39269 = new BitSet(new long[]{0x0000000000000002L,0x0010000000000000L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__3__Impl_in_rule__Trigger__Group__339300 = new BitSet(new long[]{0x0000000000000000L,0x0018200000000000L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__4_in_rule__Trigger__Group__339303 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__GuardAssignment_3_in_rule__Trigger__Group__3__Impl39330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group__4__Impl_in_rule__Trigger__Group__439361 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_115_in_rule__Trigger__Group__4__Impl39389 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group_2__0__Impl_in_rule__Trigger__Group_2__039430 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Trigger__Group_2__1_in_rule__Trigger__Group_2__039433 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_116_in_rule__Trigger__Group_2__0__Impl39461 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__Group_2__1__Impl_in_rule__Trigger__Group_2__139492 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Trigger__MsgFromIfPairsAssignment_2_1_in_rule__Trigger__Group_2__1__Impl39519 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__Group__0__Impl_in_rule__MessageFromIf__Group__039553 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__Group__1_in_rule__MessageFromIf__Group__039556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__MessageAssignment_0_in_rule__MessageFromIf__Group__0__Impl39583 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__Group__1__Impl_in_rule__MessageFromIf__Group__139613 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__Group__2_in_rule__MessageFromIf__Group__139616 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__MessageFromIf__Group__1__Impl39644 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__Group__2__Impl_in_rule__MessageFromIf__Group__239675 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__MessageFromIf__FromAssignment_2_in_rule__MessageFromIf__Group__2__Impl39702 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Guard__Group__0__Impl_in_rule__Guard__Group__039738 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__Guard__Group__1_in_rule__Guard__Group__039741 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_109_in_rule__Guard__Group__0__Impl39769 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Guard__Group__1__Impl_in_rule__Guard__Group__139800 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Guard__GuardAssignment_1_in_rule__Guard__Group__1__Impl39827 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__0__Impl_in_rule__ProtocolSemantics__Group__039861 = new BitSet(new long[]{0x0000000000000000L,0x0020000000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__1_in_rule__ProtocolSemantics__Group__039864 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__1__Impl_in_rule__ProtocolSemantics__Group__139922 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__2_in_rule__ProtocolSemantics__Group__139925 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_117_in_rule__ProtocolSemantics__Group__1__Impl39953 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__2__Impl_in_rule__ProtocolSemantics__Group__239984 = new BitSet(new long[]{0x0000040000000000L,0x00C0000000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__3_in_rule__ProtocolSemantics__Group__239987 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__ProtocolSemantics__Group__2__Impl40015 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__3__Impl_in_rule__ProtocolSemantics__Group__340046 = new BitSet(new long[]{0x0000040000000000L,0x00C0000000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__4_in_rule__ProtocolSemantics__Group__340049 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ProtocolSemantics__RulesAssignment_3_in_rule__ProtocolSemantics__Group__3__Impl40076 = new BitSet(new long[]{0x0000000000000002L,0x00C0000000000000L});
+    public static final BitSet FOLLOW_rule__ProtocolSemantics__Group__4__Impl_in_rule__ProtocolSemantics__Group__440107 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__ProtocolSemantics__Group__4__Impl40135 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__0__Impl_in_rule__InSemanticsRule__Group__040176 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__1_in_rule__InSemanticsRule__Group__040179 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_118_in_rule__InSemanticsRule__Group__0__Impl40207 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__1__Impl_in_rule__InSemanticsRule__Group__140238 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__2_in_rule__InSemanticsRule__Group__140241 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__InSemanticsRule__Group__1__Impl40269 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__2__Impl_in_rule__InSemanticsRule__Group__240300 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__3_in_rule__InSemanticsRule__Group__240303 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__MsgAssignment_2_in_rule__InSemanticsRule__Group__2__Impl40330 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group__3__Impl_in_rule__InSemanticsRule__Group__340360 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__0_in_rule__InSemanticsRule__Group__3__Impl40387 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__0__Impl_in_rule__InSemanticsRule__Group_3__040426 = new BitSet(new long[]{0x0000800000000000L,0x00C0000000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__1_in_rule__InSemanticsRule__Group_3__040429 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__InSemanticsRule__Group_3__0__Impl40457 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3__1__Impl_in_rule__InSemanticsRule__Group_3__140488 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Alternatives_3_1_in_rule__InSemanticsRule__Group_3__1__Impl40515 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__0__Impl_in_rule__InSemanticsRule__Group_3_1_1__040549 = new BitSet(new long[]{0x0000000000000000L,0x00C0000000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__1_in_rule__InSemanticsRule__Group_3_1_1__040552 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__InSemanticsRule__Group_3_1_1__0__Impl40580 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__1__Impl_in_rule__InSemanticsRule__Group_3_1_1__140611 = new BitSet(new long[]{0x0008000000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__2_in_rule__InSemanticsRule__Group_3_1_1__140614 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__InSemanticsRule__Group_3_1_1__1__Impl40641 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__2__Impl_in_rule__InSemanticsRule__Group_3_1_1__240671 = new BitSet(new long[]{0x0001000000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__3_in_rule__InSemanticsRule__Group_3_1_1__240674 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl40703 = new BitSet(new long[]{0x0008000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0_in_rule__InSemanticsRule__Group_3_1_1__2__Impl40715 = new BitSet(new long[]{0x0008000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1__3__Impl_in_rule__InSemanticsRule__Group_3_1_1__340748 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__InSemanticsRule__Group_3_1_1__3__Impl40776 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__040815 = new BitSet(new long[]{0x0000000000000000L,0x00C0000000000000L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1_in_rule__InSemanticsRule__Group_3_1_1_2__040818 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_rule__InSemanticsRule__Group_3_1_1_2__0__Impl40846 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__InSemanticsRule__Group_3_1_1_2__140877 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__InSemanticsRule__Group_3_1_1_2__1__Impl40904 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__0__Impl_in_rule__OutSemanticsRule__Group__040938 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__1_in_rule__OutSemanticsRule__Group__040941 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_119_in_rule__OutSemanticsRule__Group__0__Impl40969 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__1__Impl_in_rule__OutSemanticsRule__Group__141000 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__2_in_rule__OutSemanticsRule__Group__141003 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__OutSemanticsRule__Group__1__Impl41031 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__2__Impl_in_rule__OutSemanticsRule__Group__241062 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__3_in_rule__OutSemanticsRule__Group__241065 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__MsgAssignment_2_in_rule__OutSemanticsRule__Group__2__Impl41092 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group__3__Impl_in_rule__OutSemanticsRule__Group__341122 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__0_in_rule__OutSemanticsRule__Group__3__Impl41149 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__0__Impl_in_rule__OutSemanticsRule__Group_3__041188 = new BitSet(new long[]{0x0000800000000000L,0x00C0000000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__1_in_rule__OutSemanticsRule__Group_3__041191 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_45_in_rule__OutSemanticsRule__Group_3__0__Impl41219 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3__1__Impl_in_rule__OutSemanticsRule__Group_3__141250 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Alternatives_3_1_in_rule__OutSemanticsRule__Group_3__1__Impl41277 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1__041311 = new BitSet(new long[]{0x0000000000000000L,0x00C0000000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1_in_rule__OutSemanticsRule__Group_3_1_1__041314 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__OutSemanticsRule__Group_3_1_1__0__Impl41342 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1__141373 = new BitSet(new long[]{0x0008000000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2_in_rule__OutSemanticsRule__Group_3_1_1__141376 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_1_in_rule__OutSemanticsRule__Group_3_1_1__1__Impl41403 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__2__Impl_in_rule__OutSemanticsRule__Group_3_1_1__241433 = new BitSet(new long[]{0x0001000000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3_in_rule__OutSemanticsRule__Group_3_1_1__241436 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl41465 = new BitSet(new long[]{0x0008000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0_in_rule__OutSemanticsRule__Group_3_1_1__2__Impl41477 = new BitSet(new long[]{0x0008000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1__3__Impl_in_rule__OutSemanticsRule__Group_3_1_1__341510 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__OutSemanticsRule__Group_3_1_1__3__Impl41538 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__041577 = new BitSet(new long[]{0x0000000000000000L,0x00C0000000000000L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1_in_rule__OutSemanticsRule__Group_3_1_1_2__041580 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_rule__OutSemanticsRule__Group_3_1_1_2__0__Impl41608 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl_in_rule__OutSemanticsRule__Group_3_1_1_2__141639 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_1_in_rule__OutSemanticsRule__Group_3_1_1_2__1__Impl41666 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group__0__Impl_in_rule__Annotation__Group__041700 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Annotation__Group__1_in_rule__Annotation__Group__041703 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_120_in_rule__Annotation__Group__0__Impl41731 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group__1__Impl_in_rule__Annotation__Group__141762 = new BitSet(new long[]{0x0000800000000000L});
+    public static final BitSet FOLLOW_rule__Annotation__Group__2_in_rule__Annotation__Group__141765 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__TypeAssignment_1_in_rule__Annotation__Group__1__Impl41792 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group__2__Impl_in_rule__Annotation__Group__241822 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__0_in_rule__Annotation__Group__2__Impl41849 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__0__Impl_in_rule__Annotation__Group_2__041886 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__1_in_rule__Annotation__Group_2__041889 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_rule__Annotation__Group_2__0__Impl41917 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__1__Impl_in_rule__Annotation__Group_2__141948 = new BitSet(new long[]{0x0009000000000000L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__2_in_rule__Annotation__Group_2__141951 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__AttributesAssignment_2_1_in_rule__Annotation__Group_2__1__Impl41978 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__2__Impl_in_rule__Annotation__Group_2__242008 = new BitSet(new long[]{0x0009000000000000L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__3_in_rule__Annotation__Group_2__242011 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__0_in_rule__Annotation__Group_2__2__Impl42038 = new BitSet(new long[]{0x0008000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2__3__Impl_in_rule__Annotation__Group_2__342069 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_48_in_rule__Annotation__Group_2__3__Impl42097 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__0__Impl_in_rule__Annotation__Group_2_2__042136 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__1_in_rule__Annotation__Group_2_2__042139 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_rule__Annotation__Group_2_2__0__Impl42167 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__Group_2_2__1__Impl_in_rule__Annotation__Group_2_2__142198 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Annotation__AttributesAssignment_2_2_1_in_rule__Annotation__Group_2_2__1__Impl42225 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__0__Impl_in_rule__KeyValue__Group__042259 = new BitSet(new long[]{0x0010000000000000L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1_in_rule__KeyValue__Group__042262 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__KeyAssignment_0_in_rule__KeyValue__Group__0__Impl42289 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__1__Impl_in_rule__KeyValue__Group__142319 = new BitSet(new long[]{0x000000000E0000B0L,0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2_in_rule__KeyValue__Group__142322 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_52_in_rule__KeyValue__Group__1__Impl42350 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__Group__2__Impl_in_rule__KeyValue__Group__242381 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__KeyValue__ValueAssignment_2_in_rule__KeyValue__Group__2__Impl42408 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__0__Impl_in_rule__AnnotationType__Group__042444 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__1_in_rule__AnnotationType__Group__042447 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_121_in_rule__AnnotationType__Group__0__Impl42475 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__1__Impl_in_rule__AnnotationType__Group__142506 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__2_in_rule__AnnotationType__Group__142509 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__NameAssignment_1_in_rule__AnnotationType__Group__1__Impl42536 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__2__Impl_in_rule__AnnotationType__Group__242566 = new BitSet(new long[]{0x0800020000000000L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__3_in_rule__AnnotationType__Group__242569 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__DocuAssignment_2_in_rule__AnnotationType__Group__2__Impl42596 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__3__Impl_in_rule__AnnotationType__Group__342627 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__4_in_rule__AnnotationType__Group__342630 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__AnnotationType__Group__3__Impl42658 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__4__Impl_in_rule__AnnotationType__Group__442689 = new BitSet(new long[]{0x0010000000000000L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__5_in_rule__AnnotationType__Group__442692 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_122_in_rule__AnnotationType__Group__4__Impl42720 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__5__Impl_in_rule__AnnotationType__Group__542751 = new BitSet(new long[]{0x00000200007F0000L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__6_in_rule__AnnotationType__Group__542754 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_52_in_rule__AnnotationType__Group__5__Impl42782 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__6__Impl_in_rule__AnnotationType__Group__642813 = new BitSet(new long[]{0x0000040400800000L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__7_in_rule__AnnotationType__Group__642816 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Alternatives_6_in_rule__AnnotationType__Group__6__Impl42843 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__7__Impl_in_rule__AnnotationType__Group__742873 = new BitSet(new long[]{0x0000040400800000L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__8_in_rule__AnnotationType__Group__742876 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__AttributesAssignment_7_in_rule__AnnotationType__Group__7__Impl42903 = new BitSet(new long[]{0x0000000400800002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group__8__Impl_in_rule__AnnotationType__Group__842934 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__AnnotationType__Group__8__Impl42962 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__0__Impl_in_rule__AnnotationType__Group_6_1__043011 = new BitSet(new long[]{0x00000000007F0000L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__1_in_rule__AnnotationType__Group_6_1__043014 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__AnnotationType__Group_6_1__0__Impl43042 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__1__Impl_in_rule__AnnotationType__Group_6_1__143073 = new BitSet(new long[]{0x0008040000000000L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__2_in_rule__AnnotationType__Group_6_1__143076 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__TargetsAssignment_6_1_1_in_rule__AnnotationType__Group_6_1__1__Impl43103 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__2__Impl_in_rule__AnnotationType__Group_6_1__243133 = new BitSet(new long[]{0x0008040000000000L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__3_in_rule__AnnotationType__Group_6_1__243136 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1_2__0_in_rule__AnnotationType__Group_6_1__2__Impl43163 = new BitSet(new long[]{0x0008000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1__3__Impl_in_rule__AnnotationType__Group_6_1__343194 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__AnnotationType__Group_6_1__3__Impl43222 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1_2__0__Impl_in_rule__AnnotationType__Group_6_1_2__043261 = new BitSet(new long[]{0x00000000007F0000L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1_2__1_in_rule__AnnotationType__Group_6_1_2__043264 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_rule__AnnotationType__Group_6_1_2__0__Impl43292 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__Group_6_1_2__1__Impl_in_rule__AnnotationType__Group_6_1_2__143323 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__AnnotationType__TargetsAssignment_6_1_2_1_in_rule__AnnotationType__Group_6_1_2__1__Impl43350 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__0__Impl_in_rule__SimpleAnnotationAttribute__Group__043384 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1_in_rule__SimpleAnnotationAttribute__Group__043387 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Alternatives_0_in_rule__SimpleAnnotationAttribute__Group__0__Impl43414 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__1__Impl_in_rule__SimpleAnnotationAttribute__Group__143444 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2_in_rule__SimpleAnnotationAttribute__Group__143447 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_123_in_rule__SimpleAnnotationAttribute__Group__1__Impl43475 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__2__Impl_in_rule__SimpleAnnotationAttribute__Group__243506 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3_in_rule__SimpleAnnotationAttribute__Group__243509 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__NameAssignment_2_in_rule__SimpleAnnotationAttribute__Group__2__Impl43536 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__3__Impl_in_rule__SimpleAnnotationAttribute__Group__343566 = new BitSet(new long[]{0x000000F000000000L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4_in_rule__SimpleAnnotationAttribute__Group__343569 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__SimpleAnnotationAttribute__Group__3__Impl43597 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__Group__4__Impl_in_rule__SimpleAnnotationAttribute__Group__443628 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__SimpleAnnotationAttribute__TypeAssignment_4_in_rule__SimpleAnnotationAttribute__Group__4__Impl43655 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__0__Impl_in_rule__EnumAnnotationAttribute__Group__043695 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1_in_rule__EnumAnnotationAttribute__Group__043698 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Alternatives_0_in_rule__EnumAnnotationAttribute__Group__0__Impl43725 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__1__Impl_in_rule__EnumAnnotationAttribute__Group__143755 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2_in_rule__EnumAnnotationAttribute__Group__143758 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_123_in_rule__EnumAnnotationAttribute__Group__1__Impl43786 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__2__Impl_in_rule__EnumAnnotationAttribute__Group__243817 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3_in_rule__EnumAnnotationAttribute__Group__243820 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__NameAssignment_2_in_rule__EnumAnnotationAttribute__Group__2__Impl43847 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__3__Impl_in_rule__EnumAnnotationAttribute__Group__343877 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4_in_rule__EnumAnnotationAttribute__Group__343880 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_43_in_rule__EnumAnnotationAttribute__Group__3__Impl43908 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__4__Impl_in_rule__EnumAnnotationAttribute__Group__443939 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5_in_rule__EnumAnnotationAttribute__Group__443942 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__EnumAnnotationAttribute__Group__4__Impl43970 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__5__Impl_in_rule__EnumAnnotationAttribute__Group__544001 = new BitSet(new long[]{0x0008040000000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6_in_rule__EnumAnnotationAttribute__Group__544004 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_5_in_rule__EnumAnnotationAttribute__Group__5__Impl44031 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__6__Impl_in_rule__EnumAnnotationAttribute__Group__644061 = new BitSet(new long[]{0x0008040000000000L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7_in_rule__EnumAnnotationAttribute__Group__644064 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0_in_rule__EnumAnnotationAttribute__Group__6__Impl44091 = new BitSet(new long[]{0x0008000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group__7__Impl_in_rule__EnumAnnotationAttribute__Group__744122 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_42_in_rule__EnumAnnotationAttribute__Group__7__Impl44150 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__0__Impl_in_rule__EnumAnnotationAttribute__Group_6__044197 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1_in_rule__EnumAnnotationAttribute__Group_6__044200 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_51_in_rule__EnumAnnotationAttribute__Group_6__0__Impl44228 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__Group_6__1__Impl_in_rule__EnumAnnotationAttribute__Group_6__144259 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__EnumAnnotationAttribute__ValuesAssignment_6_1_in_rule__EnumAnnotationAttribute__Group_6__1__Impl44286 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__0__Impl_in_rule__Import__Group__044320 = new BitSet(new long[]{0x0000000001000040L});
+    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__044323 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_124_in_rule__Import__Group__0__Impl44351 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__1__Impl_in_rule__Import__Group__144382 = new BitSet(new long[]{0x0000000000000080L});
+    public static final BitSet FOLLOW_rule__Import__Group__2_in_rule__Import__Group__144385 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Alternatives_1_in_rule__Import__Group__1__Impl44412 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group__2__Impl_in_rule__Import__Group__244442 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_2_in_rule__Import__Group__2__Impl44469 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__0__Impl_in_rule__Import__Group_1_0__044505 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__1_in_rule__Import__Group_1_0__044508 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__ImportedNamespaceAssignment_1_0_0_in_rule__Import__Group_1_0__0__Impl44535 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Import__Group_1_0__1__Impl_in_rule__Import__Group_1_0__144565 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_125_in_rule__Import__Group_1_0__1__Impl44593 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__0__Impl_in_rule__ImportedFQN__Group__044628 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1_in_rule__ImportedFQN__Group__044631 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ImportedFQN__Group__0__Impl44658 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ImportedFQN__Group__1__Impl_in_rule__ImportedFQN__Group__144687 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_126_in_rule__ImportedFQN__Group__1__Impl44716 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__0__Impl_in_rule__Documentation__Group__044753 = new BitSet(new long[]{0x0800000000000000L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1_in_rule__Documentation__Group__044756 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__1__Impl_in_rule__Documentation__Group__144814 = new BitSet(new long[]{0x1000000000000080L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2_in_rule__Documentation__Group__144817 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_59_in_rule__Documentation__Group__1__Impl44845 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__2__Impl_in_rule__Documentation__Group__244876 = new BitSet(new long[]{0x1000000000000080L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3_in_rule__Documentation__Group__244879 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Documentation__LinesAssignment_2_in_rule__Documentation__Group__2__Impl44906 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_rule__Documentation__Group__3__Impl_in_rule__Documentation__Group__344937 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_60_in_rule__Documentation__Group__3__Impl44965 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__0__Impl_in_rule__BooleanLiteral__Group__045010 = new BitSet(new long[]{0x0000000002000000L,0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1_in_rule__BooleanLiteral__Group__045013 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Group__1__Impl_in_rule__BooleanLiteral__Group__145071 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__BooleanLiteral__Alternatives_1_in_rule__BooleanLiteral__Group__1__Impl45098 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__0__Impl_in_rule__RealLiteral__Group__045132 = new BitSet(new long[]{0x000000000C000030L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1_in_rule__RealLiteral__Group__045135 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__Group__1__Impl_in_rule__RealLiteral__Group__145193 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__RealLiteral__ValueAssignment_1_in_rule__RealLiteral__Group__1__Impl45220 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__0__Impl_in_rule__IntLiteral__Group__045254 = new BitSet(new long[]{0x000000000C000030L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1_in_rule__IntLiteral__Group__045257 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__Group__1__Impl_in_rule__IntLiteral__Group__145315 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__IntLiteral__ValueAssignment_1_in_rule__IntLiteral__Group__1__Impl45342 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__0__Impl_in_rule__StringLiteral__Group__045376 = new BitSet(new long[]{0x000000000E0000B0L,0x0000000000000000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1_in_rule__StringLiteral__Group__045379 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__Group__1__Impl_in_rule__StringLiteral__Group__145437 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__StringLiteral__ValueAssignment_1_in_rule__StringLiteral__Group__1__Impl45464 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__0__Impl_in_rule__Integer__Group_0__045498 = new BitSet(new long[]{0x000000000C000010L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1_in_rule__Integer__Group_0__045501 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Alternatives_0_0_in_rule__Integer__Group_0__0__Impl45528 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Integer__Group_0__1__Impl_in_rule__Integer__Group_0__145559 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Integer__Group_0__1__Impl45586 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__0__Impl_in_rule__Decimal__Group__045619 = new BitSet(new long[]{0x000000000C000010L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1_in_rule__Decimal__Group__045622 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Alternatives_0_in_rule__Decimal__Group__0__Impl45649 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__1__Impl_in_rule__Decimal__Group__145680 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2_in_rule__Decimal__Group__145683 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__1__Impl45710 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__2__Impl_in_rule__Decimal__Group__245739 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3_in_rule__Decimal__Group__245742 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_86_in_rule__Decimal__Group__2__Impl45770 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__Decimal__Group__3__Impl_in_rule__Decimal__Group__345801 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Decimal__Group__3__Impl45828 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__0__Impl_in_rule__DecimalExp__Group__045865 = new BitSet(new long[]{0x000000000C000030L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1_in_rule__DecimalExp__Group__045868 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_0_in_rule__DecimalExp__Group__0__Impl45895 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__1__Impl_in_rule__DecimalExp__Group__145926 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2_in_rule__DecimalExp__Group__145929 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__1__Impl45956 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__2__Impl_in_rule__DecimalExp__Group__245985 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3_in_rule__DecimalExp__Group__245988 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_86_in_rule__DecimalExp__Group__2__Impl46016 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__3__Impl_in_rule__DecimalExp__Group__346047 = new BitSet(new long[]{0x0000000030000000L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4_in_rule__DecimalExp__Group__346050 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__3__Impl46077 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__4__Impl_in_rule__DecimalExp__Group__446106 = new BitSet(new long[]{0x000000000C000010L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5_in_rule__DecimalExp__Group__446109 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_4_in_rule__DecimalExp__Group__4__Impl46136 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__5__Impl_in_rule__DecimalExp__Group__546166 = new BitSet(new long[]{0x000000000C000010L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6_in_rule__DecimalExp__Group__546169 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Alternatives_5_in_rule__DecimalExp__Group__5__Impl46196 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__DecimalExp__Group__6__Impl_in_rule__DecimalExp__Group__646227 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__DecimalExp__Group__6__Impl46254 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__0__Impl_in_rule__FQN__Group__046297 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1_in_rule__FQN__Group__046300 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group__0__Impl46327 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group__1__Impl_in_rule__FQN__Group__146356 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0_in_rule__FQN__Group__1__Impl46383 = new BitSet(new long[]{0x0000000000000002L,0x0000000000400000L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__0__Impl_in_rule__FQN__Group_1__046418 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1_in_rule__FQN__Group_1__046421 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_86_in_rule__FQN__Group_1__0__Impl46449 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__FQN__Group_1__1__Impl_in_rule__FQN__Group_1__146480 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__FQN__Group_1__1__Impl46507 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__UnorderedGroup_0__0_in_rule__ActorClass__UnorderedGroup_046541 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__AbstractAssignment_0_0_in_rule__ActorClass__UnorderedGroup_0__Impl46628 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__CommTypeAssignment_0_1_in_rule__ActorClass__UnorderedGroup_0__Impl46719 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__UnorderedGroup_0__Impl_in_rule__ActorClass__UnorderedGroup_0__046778 = new BitSet(new long[]{0x00000009C0000002L,0x0000000000000000L,0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__UnorderedGroup_0__1_in_rule__ActorClass__UnorderedGroup_0__046781 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ActorClass__UnorderedGroup_0__Impl_in_rule__ActorClass__UnorderedGroup_0__146806 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__RoomModel__NameAssignment_146838 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RoomModel__DocuAssignment_246869 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImport_in_rule__RoomModel__ImportsAssignment_446900 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePrimitiveType_in_rule__RoomModel__PrimitiveTypesAssignment_5_046931 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumerationType_in_rule__RoomModel__EnumerationTypesAssignment_5_146962 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleExternalType_in_rule__RoomModel__ExternalTypesAssignment_5_246993 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDataClass_in_rule__RoomModel__DataClassesAssignment_5_347024 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleGeneralProtocolClass_in_rule__RoomModel__ProtocolClassesAssignment_5_447055 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleActorClass_in_rule__RoomModel__ActorClassesAssignment_5_547086 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSubSystemClass_in_rule__RoomModel__SubSystemClassesAssignment_5_647117 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLogicalSystem_in_rule__RoomModel__SystemsAssignment_5_747148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationType_in_rule__RoomModel__AnnotationTypesAssignment_5_847179 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__VarDecl__NameAssignment_047210 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefableType_in_rule__VarDecl__RefTypeAssignment_247241 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__RefableType__TypeAssignment_047276 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_90_in_rule__RefableType__RefAssignment_147316 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__PrimitiveType__NameAssignment_147355 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteralType_in_rule__PrimitiveType__TypeAssignment_347386 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__PrimitiveType__TargetNameAssignment_547417 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__PrimitiveType__CastNameAssignment_6_147448 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__PrimitiveType__DefaultValueLiteralAssignment_847479 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__PrimitiveType__DocuAssignment_947510 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumerationType__NameAssignment_147541 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__EnumerationType__DocuAssignment_247572 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__EnumerationType__PrimitiveTypeAssignment_3_147607 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumLiteral_in_rule__EnumerationType__LiteralsAssignment_5_047642 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleEnumLiteral_in_rule__EnumerationType__LiteralsAssignment_5_1_147673 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumLiteral__NameAssignment_047704 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleIntLiteral_in_rule__EnumLiteral__LiteralAssignment_1_147735 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ExternalType__NameAssignment_147766 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__ExternalType__TargetNameAssignment_347797 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__ExternalType__DefaultValueLiteralAssignment_4_147828 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ExternalType__DocuAssignment_547859 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__DataClass__NameAssignment_147890 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__DataClass__DocuAssignment_247921 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__DataClass__BaseAssignment_3_147956 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_rule__DataClass__AnnotationsAssignment_547991 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode1Assignment_6_148022 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode2Assignment_7_148053 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__DataClass__UserCode3Assignment_8_148084 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStandardOperation_in_rule__DataClass__OperationsAssignment_9_048115 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleClassStructor_in_rule__DataClass__StructorsAssignment_9_148146 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAttribute_in_rule__DataClass__AttributesAssignment_9_248177 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__Attribute__NameAssignment_148208 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__Attribute__SizeAssignment_2_148239 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefableType_in_rule__Attribute__TypeAssignment_448270 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Attribute__DefaultValueLiteralAssignment_5_148301 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__Attribute__DocuAssignment_648332 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_127_in_rule__StandardOperation__OverrideAssignment_048368 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__StandardOperation__NameAssignment_248407 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleVarDecl_in_rule__StandardOperation__ArgumentsAssignment_4_048438 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleVarDecl_in_rule__StandardOperation__ArgumentsAssignment_4_1_148469 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefableType_in_rule__StandardOperation__ReturnTypeAssignment_6_1_148500 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__StandardOperation__DocuAssignment_748531 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__StandardOperation__DetailCodeAssignment_848562 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__PortOperation__NameAssignment_148593 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleVarDecl_in_rule__PortOperation__ArgumentsAssignment_3_048624 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleVarDecl_in_rule__PortOperation__ArgumentsAssignment_3_1_148655 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefableType_in_rule__PortOperation__ReturnTypeAssignment_5_0_1_148686 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__PortOperation__SendsMsgAssignment_5_1_148721 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__PortOperation__DocuAssignment_648756 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__PortOperation__DetailCodeAssignment_748787 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rule__ClassStructor__NameAlternatives_0_0_in_rule__ClassStructor__NameAssignment_048818 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ClassStructor__DetailCodeAssignment_148851 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleCommunicationType_in_rule__ProtocolClass__CommTypeAssignment_048882 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ProtocolClass__NameAssignment_248913 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ProtocolClass__DocuAssignment_348944 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ProtocolClass__BaseAssignment_4_148979 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_rule__ProtocolClass__AnnotationsAssignment_649014 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode1Assignment_7_149045 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode2Assignment_8_149076 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ProtocolClass__UserCode3Assignment_9_149107 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleMessage_in_rule__ProtocolClass__IncomingMessagesAssignment_10_249138 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleMessage_in_rule__ProtocolClass__OutgoingMessagesAssignment_11_249169 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePortClass_in_rule__ProtocolClass__RegularAssignment_12_249200 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePortClass_in_rule__ProtocolClass__ConjugatedAssignment_13_249231 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleProtocolSemantics_in_rule__ProtocolClass__SemanticsAssignment_1449262 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__CompoundProtocolClass__NameAssignment_149293 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__CompoundProtocolClass__DocuAssignment_249324 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_rule__CompoundProtocolClass__AnnotationsAssignment_449355 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSubProtocol_in_rule__CompoundProtocolClass__SubProtocolsAssignment_549386 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SubProtocol__NameAssignment_149417 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__SubProtocol__ProtocolAssignment_349452 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_128_in_rule__Message__PrivAssignment_049492 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__Message__NameAssignment_249531 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleVarDecl_in_rule__Message__DataAssignment_449562 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__Message__DocuAssignment_649593 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__PortClass__UserCodeAssignment_2_149624 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleMessageHandler_in_rule__PortClass__MsgHandlersAssignment_3_049655 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePortOperation_in_rule__PortClass__OperationsAssignment_3_149686 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAttribute_in_rule__PortClass__AttributesAssignment_3_249717 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__InMessageHandler__MsgAssignment_249752 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__InMessageHandler__DetailCodeAssignment_349787 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__OutMessageHandler__MsgAssignment_249822 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__OutMessageHandler__DetailCodeAssignment_349857 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_129_in_rule__ActorClass__AbstractAssignment_0_049893 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleComponentCommunicationType_in_rule__ActorClass__CommTypeAssignment_0_149932 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ActorClass__NameAssignment_249963 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ActorClass__DocuAssignment_349994 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ActorClass__BaseAssignment_4_150029 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_rule__ActorClass__AnnotationsAssignment_650064 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSPP_in_rule__ActorClass__ServiceProvisionPointsAssignment_7_2_050095 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePort_in_rule__ActorClass__InterfacePortsAssignment_7_2_150126 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ActorClass__StructureDocuAssignment_8_150157 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode1Assignment_8_3_150188 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode2Assignment_8_4_150219 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ActorClass__UserCode3Assignment_8_5_150250 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLayerConnection_in_rule__ActorClass__ConnectionsAssignment_8_6_050281 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBinding_in_rule__ActorClass__BindingsAssignment_8_6_150312 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleServiceImplementation_in_rule__ActorClass__ServiceImplementationsAssignment_8_6_250343 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAttribute_in_rule__ActorClass__AttributesAssignment_8_6_350374 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleActorRef_in_rule__ActorClass__ActorRefsAssignment_8_6_450405 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSAP_in_rule__ActorClass__ServiceAccessPointsAssignment_8_6_550436 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePort_in_rule__ActorClass__InternalPortsAssignment_8_6_650467 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleExternalPort_in_rule__ActorClass__ExternalPortsAssignment_8_6_750498 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ActorClass__BehaviorDocuAssignment_9_150529 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_rule__ActorClass__BehaviorAnnotationsAssignment_9_350560 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStandardOperation_in_rule__ActorClass__OperationsAssignment_9_4_050591 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleClassStructor_in_rule__ActorClass__StructorsAssignment_9_4_150622 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStateMachine_in_rule__ActorClass__StateMachineAssignment_9_550653 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_67_in_rule__Port__ConjugatedAssignment_050689 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__Port__NameAssignment_250728 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleMULTIPLICITY_in_rule__Port__MultiplicityAssignment_350759 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__Port__ProtocolAssignment_550794 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__Port__DocuAssignment_650829 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ExternalPort__InterfacePortAssignment_250864 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SAP__NameAssignment_150899 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__SAP__ProtocolAssignment_350934 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SPP__NameAssignment_150969 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__SPP__ProtocolAssignment_351004 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ServiceImplementation__SppAssignment_251043 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__LogicalSystem__NameAssignment_151078 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__LogicalSystem__DocuAssignment_251109 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_rule__LogicalSystem__AnnotationsAssignment_451140 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLayerConnection_in_rule__LogicalSystem__ConnectionsAssignment_5_051171 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBinding_in_rule__LogicalSystem__BindingsAssignment_5_151202 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSubSystemRef_in_rule__LogicalSystem__SubSystemsAssignment_5_251233 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SubSystemRef__NameAssignment_151264 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__SubSystemRef__TypeAssignment_351299 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__SubSystemRef__DocuAssignment_451334 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SubSystemClass__NameAssignment_151365 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__SubSystemClass__DocuAssignment_251396 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_rule__SubSystemClass__AnnotationsAssignment_451427 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode1Assignment_5_151458 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode2Assignment_6_151489 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SubSystemClass__UserCode3Assignment_7_151520 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleActorInstanceMapping_in_rule__SubSystemClass__ActorInstanceMappingsAssignment_8_051551 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLogicalThread_in_rule__SubSystemClass__ThreadsAssignment_8_151582 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLayerConnection_in_rule__SubSystemClass__ConnectionsAssignment_8_251613 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBinding_in_rule__SubSystemClass__BindingsAssignment_8_351644 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleActorRef_in_rule__SubSystemClass__ActorRefsAssignment_8_451675 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSPP_in_rule__SubSystemClass__ServiceProvisionPointsAssignment_8_551706 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_rulePort_in_rule__SubSystemClass__RelayPortsAssignment_8_651737 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__LogicalThread__NameAssignment_151768 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefPath_in_rule__ActorInstanceMapping__PathAssignment_151799 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ActorInstanceMapping__ThreadAssignment_351834 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleActorInstanceMapping_in_rule__ActorInstanceMapping__ActorInstanceMappingsAssignment_4_151869 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_051900 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefSegment_in_rule__RefPath__RefsAssignment_1_151931 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__RefSegment__RefAssignment_051962 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_INT_in_rule__RefSegment__IdxAssignment_1_151993 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBindingEndPoint_in_rule__Binding__Endpoint1Assignment_152024 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleBindingEndPoint_in_rule__Binding__Endpoint2Assignment_352055 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__BindingEndPoint__ActorRefAssignment_0_052090 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__BindingEndPoint__PortAssignment_152129 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__BindingEndPoint__SubAssignment_2_152168 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSAPoint_in_rule__LayerConnection__FromAssignment_152203 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSPPoint_in_rule__LayerConnection__ToAssignment_352234 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__RefSAPoint__RefAssignment_152269 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__RelaySAPoint__RelayAssignment_152308 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SPPoint__RefAssignment_052347 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SPPoint__ServiceAssignment_252386 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReferenceType_in_rule__ActorRef__RefTypeAssignment_052421 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ActorRef__NameAssignment_252452 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleMULTIPLICITY_in_rule__ActorRef__MultiplicityAssignment_352483 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__ActorRef__TypeAssignment_552518 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ActorRef__DocuAssignment_652553 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleState_in_rule__StateGraph__StatesAssignment_2_052585 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateGraph__TrPointsAssignment_2_152616 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateGraph__ChPointsAssignment_2_252647 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransition_in_rule__StateGraph__TransitionsAssignment_2_352678 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefinedTransition_in_rule__StateGraph__RefinedTransitionsAssignment_2_452709 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleState_in_rule__StateMachine__StatesAssignment_3_052740 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrPoint_in_rule__StateMachine__TrPointsAssignment_3_152771 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleChoicePoint_in_rule__StateMachine__ChPointsAssignment_3_252802 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransition_in_rule__StateMachine__TransitionsAssignment_3_352833 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleRefinedTransition_in_rule__StateMachine__RefinedTransitionsAssignment_3_452864 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleState__NameAssignment_152895 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__SimpleState__DocuAssignment_252926 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__EntryCodeAssignment_3_1_152957 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__ExitCodeAssignment_3_2_152988 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__SimpleState__DoCodeAssignment_3_3_153019 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStateGraph_in_rule__SimpleState__SubgraphAssignment_3_4_153050 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__RefinedState__TargetAssignment_153085 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RefinedState__DocuAssignment_253120 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__EntryCodeAssignment_4_153151 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__ExitCodeAssignment_5_153182 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedState__DoCodeAssignment_6_153213 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleStateGraph_in_rule__RefinedState__SubgraphAssignment_7_153244 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_rule__DetailCode__UsedAssignment_153280 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__DetailCode__LinesAssignment_253319 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_130_in_rule__TransitionPoint__HandlerAssignment_053355 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__TransitionPoint__NameAssignment_253394 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EntryPoint__NameAssignment_153425 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ExitPoint__NameAssignment_153456 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ChoicePoint__NameAssignment_153487 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ChoicePoint__DocuAssignment_253518 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__InitialTransition__NameAssignment_153549 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__InitialTransition__ToAssignment_553580 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__InitialTransition__DocuAssignment_653611 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__InitialTransition__ActionAssignment_7_1_153642 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ContinuationTransition__NameAssignment_153673 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__FromAssignment_353704 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__ContinuationTransition__ToAssignment_553735 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__ContinuationTransition__DocuAssignment_653766 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__ContinuationTransition__ActionAssignment_7_1_153797 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__TriggeredTransition__NameAssignment_153828 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__FromAssignment_353859 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__TriggeredTransition__ToAssignment_553890 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__TriggeredTransition__DocuAssignment_653921 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_1053952 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTrigger_in_rule__TriggeredTransition__TriggersAssignment_11_153983 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__TriggeredTransition__ActionAssignment_13_154014 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__GuardedTransition__NameAssignment_154045 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__FromAssignment_354076 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__GuardedTransition__ToAssignment_554107 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__GuardedTransition__DocuAssignment_654138 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__GuardedTransition__GuardAssignment_954169 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__GuardedTransition__ActionAssignment_10_154200 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__CPBranchTransition__NameAssignment_154231 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__FromAssignment_354262 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_rule__CPBranchTransition__ToAssignment_554293 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__CPBranchTransition__DocuAssignment_654324 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ConditionAssignment_954355 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__CPBranchTransition__ActionAssignment_10_154386 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__RefinedTransition__TargetAssignment_154421 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__RefinedTransition__DocuAssignment_254456 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__RefinedTransition__ActionAssignment_554487 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__StateTerminal__StateAssignment54522 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__TrPointTerminal__TrPointAssignment_154561 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__TrPointAssignment_054600 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SubStateTrPointTerminal__StateAssignment_254639 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__ChoicepointTerminal__CpAssignment_154678 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_154713 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleMessageFromIf_in_rule__Trigger__MsgFromIfPairsAssignment_2_154744 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleGuard_in_rule__Trigger__GuardAssignment_354775 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__MessageFromIf__MessageAssignment_054810 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__MessageFromIf__FromAssignment_254849 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rule__Guard__GuardAssignment_154884 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__ProtocolSemantics__RulesAssignment_354915 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__InSemanticsRule__MsgAssignment_254950 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_054985 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_155016 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__InSemanticsRule__FollowUpsAssignment_3_1_1_2_155047 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__OutSemanticsRule__MsgAssignment_255082 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_055117 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_155148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_rule__OutSemanticsRule__FollowUpsAssignment_3_1_1_2_155179 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_rule__Annotation__TypeAssignment_155214 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_155249 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_rule__Annotation__AttributesAssignment_2_2_155280 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__KeyValue__KeyAssignment_055311 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteral_in_rule__KeyValue__ValueAssignment_255342 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__AnnotationType__NameAssignment_155373 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rule__AnnotationType__DocuAssignment_255404 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_055435 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_1_155466 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_rule__AnnotationType__TargetsAssignment_6_1_2_155497 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_rule__AnnotationType__AttributesAssignment_755528 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__SimpleAnnotationAttribute__OptionalAssignment_0_055564 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__SimpleAnnotationAttribute__NameAssignment_255603 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleLiteralType_in_rule__SimpleAnnotationAttribute__TypeAssignment_455634 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_34_in_rule__EnumAnnotationAttribute__OptionalAssignment_0_055670 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_rule__EnumAnnotationAttribute__NameAssignment_255709 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_555740 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__EnumAnnotationAttribute__ValuesAssignment_6_155771 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleImportedFQN_in_rule__Import__ImportedNamespaceAssignment_1_0_055802 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_255833 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__Documentation__LinesAssignment_255864 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_131_in_rule__BooleanLiteral__IsTrueAssignment_1_155902 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_rule__RealLiteral__ValueAssignment_155941 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleInteger_in_rule__IntLiteral__ValueAssignment_155972 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rule__StringLiteral__ValueAssignment_156003 = new BitSet(new long[]{0x0000000000000002L});
 
 }
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/quickfix/RoomQuickfixProvider.java b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/quickfix/RoomQuickfixProvider.java
index d3243f1..a0ac0f6 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/quickfix/RoomQuickfixProvider.java
+++ b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/quickfix/RoomQuickfixProvider.java
@@ -28,6 +28,8 @@
 import org.eclipse.etrice.core.common.base.RealLiteral;
 import org.eclipse.etrice.core.common.base.SimpleAnnotationAttribute;
 import org.eclipse.etrice.core.common.base.StringLiteral;
+import org.eclipse.etrice.core.fsm.fSM.ComponentCommunicationType;
+import org.eclipse.etrice.core.room.ActorClass;
 import org.eclipse.etrice.core.room.ActorRef;
 import org.eclipse.etrice.core.room.ReferenceType;
 import org.eclipse.etrice.core.room.StandardOperation;
@@ -330,5 +332,16 @@
 			}
 		});
 	}
+	
+	@Fix(RoomJavaValidator.INCONSISTENT_COMMUNICATION_TYPE)
+	public void makeActorClassCommTypeLikeBaseClass(final Issue issue, IssueResolutionAcceptor acceptor) {
+		acceptor.accept(issue, "Set communication type as for base class.", issue.getData()[0]+" ActorClass "+issue.getData()[1]+" ...", "correction_change.gif", new ISemanticModification() {
+			@Override
+			public void apply(EObject element, IModificationContext context) throws Exception {
+				ActorClass ac = (ActorClass) element;
+				ac.setCommType(ComponentCommunicationType.get(issue.getData()[0]));
+			}
+		});
+	}
 
 }
diff --git a/plugins/org.eclipse.etrice.core.room.ui/xtend-gen/org/eclipse/etrice/core/ui/quickfix/DetailCodeIndentHelper.java b/plugins/org.eclipse.etrice.core.room.ui/xtend-gen/org/eclipse/etrice/core/ui/quickfix/DetailCodeIndentHelper.java
index 9f1ad9c..ecbec4f 100644
--- a/plugins/org.eclipse.etrice.core.room.ui/xtend-gen/org/eclipse/etrice/core/ui/quickfix/DetailCodeIndentHelper.java
+++ b/plugins/org.eclipse.etrice.core.room.ui/xtend-gen/org/eclipse/etrice/core/ui/quickfix/DetailCodeIndentHelper.java
@@ -44,6 +44,7 @@
       }
       Iterable<String> _tail = IterableExtensions.<String>tail(editorLines);
       final Function1<String, Integer> _function = new Function1<String, Integer>() {
+        @Override
         public Integer apply(final String it) {
           return Integer.valueOf(DetailCodeIndentHelper.countIndent(it));
         }
@@ -53,6 +54,7 @@
       final int minIndent = DetailCodeIndentHelper.countIndent(_head);
       final ArrayList<String> newEditorLines = new ArrayList<String>();
       final Procedure2<String, Integer> _function_1 = new Procedure2<String, Integer>() {
+        @Override
         public void apply(final String line, final Integer lineCount) {
           String _xifexpression = null;
           if (((lineCount).intValue() != 0)) {
diff --git a/plugins/org.eclipse.etrice.core.room/.antlr-generator-3.2.0-patch.jar b/plugins/org.eclipse.etrice.core.room/.antlr-generator-3.2.0-patch.jar
deleted file mode 100644
index 90516fd..0000000
--- a/plugins/org.eclipse.etrice.core.room/.antlr-generator-3.2.0-patch.jar
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.core.room/META-INF/MANIFEST.MF
index 08fcb48..e5571ab 100644
--- a/plugins/org.eclipse.etrice.core.room/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.core.room/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ROOM DSL
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.room;singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
  org.eclipse.xtext;bundle-version="2.6.0",
  org.eclipse.xtext.generator;bundle-version="2.6.0";resolution:=optional,
  org.eclipse.xtext.util;bundle-version="2.6.0",
diff --git a/plugins/org.eclipse.etrice.core.room/pom.xml b/plugins/org.eclipse.etrice.core.room/pom.xml
index 1ca3e34..410b877 100644
--- a/plugins/org.eclipse.etrice.core.room/pom.xml
+++ b/plugins/org.eclipse.etrice.core.room/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.xtextbin b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.xtextbin
index 500636b..1242b1b 100644
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.xtextbin
+++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.xtextbin
Binary files differ
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g
index 0ec2ee5..17f3238 100644
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g
+++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g
@@ -8752,120 +8752,36 @@
     @init { enterRule(); 
     }
     @after { leaveRule(); }:
-(
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-    }
-    this_SignedInteger_0=ruleSignedInteger    {
-		$current.merge(this_SignedInteger_0);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-    }
-    this_Hexadecimal_1=ruleHexadecimal    {
-		$current.merge(this_Hexadecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-)
-    ;
-
-
-
-
-
-// Entry rule entryRuleSignedInteger
-entryRuleSignedInteger returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getSignedIntegerRule()); } 
-	 iv_ruleSignedInteger=ruleSignedInteger 
-	 { $current=$iv_ruleSignedInteger.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule SignedInteger
-ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
+(((
 	kw='+' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
     }
 
     |
 	kw='-' 
     {
         $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
+        newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
     }
 )?    this_INT_2=RULE_INT    {
 		$current.merge(this_INT_2);
     }
 
     { 
-    newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
+    newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
     }
 )
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleHexadecimal
-entryRuleHexadecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getHexadecimalRule()); } 
-	 iv_ruleHexadecimal=ruleHexadecimal 
-	 { $current=$iv_ruleHexadecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule Hexadecimal
-ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-    this_HEX_0=RULE_HEX    {
-		$current.merge(this_HEX_0);
+    |    this_HEX_3=RULE_HEX    {
+		$current.merge(this_HEX_3);
     }
 
     { 
-    newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
+    newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
     }
-
+)
     ;
-finally {
-	myHiddenTokenState.restore();
-}
 
 
 
@@ -8899,34 +8815,10 @@
 
     |
     { 
-        newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
     }
-    this_DotDecimal_1=ruleDotDecimal    {
-		$current.merge(this_DotDecimal_1);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-    }
-    this_DecimalDot_2=ruleDecimalDot    {
-		$current.merge(this_DecimalDot_2);
-    }
-
-    { 
-        afterParserOrEnumRuleCall();
-    }
-
-    |
-    { 
-        newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-    }
-    this_DecimalExp_3=ruleDecimalExp    {
-		$current.merge(this_DecimalExp_3);
+    this_DecimalExp_1=ruleDecimalExp    {
+		$current.merge(this_DecimalExp_1);
     }
 
     { 
@@ -9003,120 +8895,6 @@
 
 
 
-// Entry rule entryRuleDotDecimal
-entryRuleDotDecimal returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDotDecimalRule()); } 
-	 iv_ruleDotDecimal=ruleDotDecimal 
-	 { $current=$iv_ruleDotDecimal.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DotDecimal
-ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-    }
-    this_INT_3=RULE_INT    {
-		$current.merge(this_INT_3);
-    }
-
-    { 
-    newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
-// Entry rule entryRuleDecimalDot
-entryRuleDecimalDot returns [String current=null] 
-	@init { 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-	}
-	:
-	{ newCompositeNode(grammarAccess.getDecimalDotRule()); } 
-	 iv_ruleDecimalDot=ruleDecimalDot 
-	 { $current=$iv_ruleDecimalDot.current.getText(); }  
-	 EOF 
-;
-finally {
-	myHiddenTokenState.restore();
-}
-
-// Rule DecimalDot
-ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] 
-    @init { enterRule(); 
-		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-    }
-    @after { leaveRule(); }:
-((
-	kw='+' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-    }
-
-    |
-	kw='-' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-    }
-)?    this_INT_2=RULE_INT    {
-		$current.merge(this_INT_2);
-    }
-
-    { 
-    newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-    }
-
-	kw='.' 
-    {
-        $current.merge(kw);
-        newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-    }
-)
-    ;
-finally {
-	myHiddenTokenState.restore();
-}
-
-
-
-
-
 // Entry rule entryRuleDecimalExp
 entryRuleDecimalExp returns [String current=null] 
 	@init { 
@@ -9171,12 +8949,38 @@
     { 
     newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
     }
-    this_EXP_5=RULE_EXP    {
-		$current.merge(this_EXP_5);
+(
+	kw='e' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+    }
+
+    |
+	kw='E' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+    }
+)(
+	kw='+' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+    }
+
+    |
+	kw='-' 
+    {
+        $current.merge(kw);
+        newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+    }
+)?    this_INT_9=RULE_INT    {
+		$current.merge(this_INT_9);
     }
 
     { 
-    newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+    newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
     }
 )
     ;
@@ -9337,8 +9141,6 @@
 
 
 
-RULE_EXP : ('e'|'E') ('+'|'-')? ('0'..'9')+;
-
 RULE_HEX : ('0x'|'0X') ('0'..'9'|'a'..'f'|'A'..'F')+;
 
 RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.tokens b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.tokens
index 79b195d..99f74b6 100644
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.tokens
+++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.tokens
@@ -1,130 +1,131 @@
-'('=20
-')'=21
-'*'=78
-'+'=120
-','=25
-'-'=121
-'->'=19
-'.'=72
-'.*'=117
-'/'=69
-':'=16
-'<'=102
-'='=26
-'>'=104
-'@'=108
-'ActorBehavior'=79
-'ActorClass'=55
-'ActorInstanceMapping'=68
-'ActorRef'=77
-'AnnotationType'=109
-'Attribute'=33
-'Behavior'=58
-'Binding'=70
-'ChoicePoint'=91
-'CompoundProtocolClass'=48
-'DataClass'=28
-'EntryPoint'=89
-'Enumeration'=23
-'ExitPoint'=90
-'ExternalType'=27
-'Interface'=56
-'LayerConnection'=74
-'LogicalSystem'=64
-'LogicalThread'=67
-'Message'=51
-'Operation'=37
-'Port'=59
-'PortClass'=46
-'PrimitiveType'=18
-'ProtocolClass'=42
-'RefinedState'=86
-'RefinedTransition'=99
-'RoomModel'=13
-'SAP'=61
-'SPP'=62
-'ServiceImplementation'=63
-'State'=81
-'StateMachine'=80
-'Structure'=57
-'SubProtocol'=49
-'SubSystemClass'=66
-'SubSystemRef'=65
-'Transition'=92
-'TransitionPoint'=88
-'['=34
-']'=35
-'abstract'=54
-'action'=94
-'and'=71
-'async'=126
-'attribute'=113
-'cond'=98
-'conjugated'=47
-'cp'=101
-'ctor'=40
-'datadriven'=123
-'default'=22
-'do'=84
-'dtor'=41
-'entry'=82
-'eventdriven'=122
-'exit'=83
-'extends'=29
-'external'=60
-'false'=118
-'fixed'=125
-'from'=115
-'guard'=97
-'handle'=53
-'handler'=87
-'import'=114
-'in'=106
-'incoming'=43
-'initial'=93
-'mandatory'=112
-'model'=116
-'my'=100
-'of'=24
-'optional'=111
-'or'=96
-'out'=107
-'outgoing'=44
-'override'=36
-'private'=50
-'ptBoolean'=127
-'ptCharacter'=130
-'ptInteger'=128
-'ptReal'=129
-'ref'=17
-'regular'=45
-'relay_sap'=76
-'satisfied_by'=75
-'semantics'=105
-'sends'=39
-'sub'=73
-'subgraph'=85
-'sync'=124
-'target'=110
-'triggers'=95
-'true'=119
-'usercode'=52
-'usercode1'=30
-'usercode2'=31
-'usercode3'=32
-'void'=38
-'{'=14
-'|'=103
-'}'=15
-RULE_ANY_OTHER=12
-RULE_EXP=8
+'('=19
+')'=20
+'*'=77
+'+'=119
+','=24
+'-'=120
+'->'=18
+'.'=71
+'.*'=116
+'/'=68
+':'=15
+'<'=101
+'='=25
+'>'=103
+'@'=107
+'ActorBehavior'=78
+'ActorClass'=54
+'ActorInstanceMapping'=67
+'ActorRef'=76
+'AnnotationType'=108
+'Attribute'=32
+'Behavior'=57
+'Binding'=69
+'ChoicePoint'=90
+'CompoundProtocolClass'=47
+'DataClass'=27
+'E'=122
+'EntryPoint'=88
+'Enumeration'=22
+'ExitPoint'=89
+'ExternalType'=26
+'Interface'=55
+'LayerConnection'=73
+'LogicalSystem'=63
+'LogicalThread'=66
+'Message'=50
+'Operation'=36
+'Port'=58
+'PortClass'=45
+'PrimitiveType'=17
+'ProtocolClass'=41
+'RefinedState'=85
+'RefinedTransition'=98
+'RoomModel'=12
+'SAP'=60
+'SPP'=61
+'ServiceImplementation'=62
+'State'=80
+'StateMachine'=79
+'Structure'=56
+'SubProtocol'=48
+'SubSystemClass'=65
+'SubSystemRef'=64
+'Transition'=91
+'TransitionPoint'=87
+'['=33
+']'=34
+'abstract'=53
+'action'=93
+'and'=70
+'async'=127
+'attribute'=112
+'cond'=97
+'conjugated'=46
+'cp'=100
+'ctor'=39
+'datadriven'=124
+'default'=21
+'do'=83
+'dtor'=40
+'e'=121
+'entry'=81
+'eventdriven'=123
+'exit'=82
+'extends'=28
+'external'=59
+'false'=117
+'fixed'=126
+'from'=114
+'guard'=96
+'handle'=52
+'handler'=86
+'import'=113
+'in'=105
+'incoming'=42
+'initial'=92
+'mandatory'=111
+'model'=115
+'my'=99
+'of'=23
+'optional'=110
+'or'=95
+'out'=106
+'outgoing'=43
+'override'=35
+'private'=49
+'ptBoolean'=128
+'ptCharacter'=131
+'ptInteger'=129
+'ptReal'=130
+'ref'=16
+'regular'=44
+'relay_sap'=75
+'satisfied_by'=74
+'semantics'=104
+'sends'=38
+'sub'=72
+'subgraph'=84
+'sync'=125
+'target'=109
+'triggers'=94
+'true'=118
+'usercode'=51
+'usercode1'=29
+'usercode2'=30
+'usercode3'=31
+'void'=37
+'{'=13
+'|'=102
+'}'=14
+RULE_ANY_OTHER=11
 RULE_HEX=7
 RULE_ID=4
 RULE_INT=6
-RULE_ML_COMMENT=9
-RULE_SL_COMMENT=10
+RULE_ML_COMMENT=8
+RULE_SL_COMMENT=9
 RULE_STRING=5
-RULE_WS=11
+RULE_WS=10
 T__100=100
 T__101=101
 T__102=102
@@ -155,7 +156,9 @@
 T__127=127
 T__128=128
 T__129=129
+T__12=12
 T__130=130
+T__131=131
 T__13=13
 T__14=14
 T__15=15
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomLexer.java b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomLexer.java
index ba9cec6..d8af1fc 100644
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomLexer.java
+++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomLexer.java
@@ -12,87 +12,9 @@
 
 @SuppressWarnings("all")
 public class InternalRoomLexer extends Lexer {
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    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 RULE_HEX=7;
-    public static final int T__16=16;
-    public static final int T__90=90;
-    public static final int T__15=15;
-    public static final int T__18=18;
-    public static final int T__17=17;
-    public static final int T__14=14;
-    public static final int T__13=13;
-    public static final int T__99=99;
-    public static final int T__98=98;
-    public static final int T__97=97;
-    public static final int T__96=96;
-    public static final int T__95=95;
-    public static final int T__80=80;
-    public static final int T__81=81;
-    public static final int T__82=82;
-    public static final int T__83=83;
-    public static final int T__85=85;
-    public static final int T__84=84;
-    public static final int T__87=87;
-    public static final int T__86=86;
-    public static final int T__89=89;
-    public static final int T__88=88;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__126=126;
-    public static final int T__125=125;
-    public static final int T__128=128;
-    public static final int RULE_STRING=5;
-    public static final int T__127=127;
-    public static final int T__71=71;
-    public static final int T__129=129;
-    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__130=130;
-    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 RULE_EXP=8;
-    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__118=118;
-    public static final int T__119=119;
-    public static final int T__116=116;
-    public static final int T__117=117;
-    public static final int T__114=114;
-    public static final int T__115=115;
-    public static final int T__124=124;
-    public static final int T__123=123;
-    public static final int T__122=122;
-    public static final int T__121=121;
-    public static final int T__120=120;
-    public static final int T__61=61;
-    public static final int T__60=60;
+    public static final int T__50=50;
+    public static final int T__59=59;
     public static final int T__55=55;
     public static final int T__56=56;
     public static final int T__57=57;
@@ -101,45 +23,124 @@
     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__107=107;
-    public static final int T__108=108;
-    public static final int T__109=109;
-    public static final int T__59=59;
-    public static final int T__103=103;
-    public static final int T__104=104;
-    public static final int T__105=105;
-    public static final int T__106=106;
-    public static final int T__111=111;
-    public static final int T__110=110;
-    public static final int T__113=113;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__131=131;
+    public static final int T__130=130;
     public static final int RULE_INT=6;
-    public static final int T__112=112;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int T__102=102;
-    public static final int T__101=101;
-    public static final int T__100=100;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__67=67;
+    public static final int T__129=129;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__126=126;
+    public static final int T__63=63;
+    public static final int T__125=125;
+    public static final int T__64=64;
+    public static final int T__128=128;
+    public static final int T__65=65;
+    public static final int T__127=127;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__91=91;
+    public static final int T__100=100;
+    public static final int T__92=92;
+    public static final int T__93=93;
+    public static final int T__102=102;
+    public static final int T__94=94;
+    public static final int T__101=101;
+    public static final int T__90=90;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__99=99;
+    public static final int T__12=12;
+    public static final int T__13=13;
+    public static final int T__14=14;
+    public static final int T__95=95;
+    public static final int T__96=96;
+    public static final int T__97=97;
+    public static final int T__98=98;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int T__122=122;
+    public static final int T__70=70;
+    public static final int T__121=121;
+    public static final int T__71=71;
+    public static final int T__124=124;
+    public static final int T__72=72;
+    public static final int T__123=123;
+    public static final int T__120=120;
+    public static final int RULE_STRING=5;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__77=77;
+    public static final int T__119=119;
+    public static final int T__78=78;
+    public static final int T__118=118;
+    public static final int T__79=79;
+    public static final int T__73=73;
+    public static final int T__115=115;
+    public static final int EOF=-1;
+    public static final int T__74=74;
+    public static final int T__114=114;
+    public static final int T__75=75;
+    public static final int T__117=117;
+    public static final int T__76=76;
+    public static final int T__116=116;
+    public static final int T__80=80;
+    public static final int T__111=111;
+    public static final int T__81=81;
+    public static final int T__110=110;
+    public static final int T__82=82;
+    public static final int T__113=113;
+    public static final int T__83=83;
+    public static final int T__112=112;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__88=88;
+    public static final int T__108=108;
+    public static final int T__89=89;
+    public static final int T__107=107;
+    public static final int T__109=109;
+    public static final int T__84=84;
+    public static final int T__104=104;
+    public static final int T__85=85;
+    public static final int T__103=103;
+    public static final int T__86=86;
+    public static final int T__106=106;
+    public static final int T__87=87;
+    public static final int T__105=105;
 
     // delegates
     // delegators
@@ -154,10 +155,10 @@
     }
     public String getGrammarFileName() { return "../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g"; }
 
-    // $ANTLR start "T__13"
-    public final void mT__13() throws RecognitionException {
+    // $ANTLR start "T__12"
+    public final void mT__12() throws RecognitionException {
         try {
-            int _type = T__13;
+            int _type = T__12;
             int _channel = DEFAULT_TOKEN_CHANNEL;
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:11:7: ( 'RoomModel' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:11:9: 'RoomModel'
@@ -173,6 +174,26 @@
         finally {
         }
     }
+    // $ANTLR end "T__12"
+
+    // $ANTLR start "T__13"
+    public final void mT__13() throws RecognitionException {
+        try {
+            int _type = T__13;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:12:7: ( '{' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:12:9: '{'
+            {
+            match('{'); 
+
+            }
+
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
     // $ANTLR end "T__13"
 
     // $ANTLR start "T__14"
@@ -180,10 +201,10 @@
         try {
             int _type = T__14;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:12:7: ( '{' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:12:9: '{'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:13:7: ( '}' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:13:9: '}'
             {
-            match('{'); 
+            match('}'); 
 
             }
 
@@ -200,10 +221,10 @@
         try {
             int _type = T__15;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:13:7: ( '}' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:13:9: '}'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:14:7: ( ':' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:14:9: ':'
             {
-            match('}'); 
+            match(':'); 
 
             }
 
@@ -220,10 +241,11 @@
         try {
             int _type = T__16;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:14:7: ( ':' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:14:9: ':'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:15:7: ( 'ref' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:15:9: 'ref'
             {
-            match(':'); 
+            match("ref"); 
+
 
             }
 
@@ -240,10 +262,10 @@
         try {
             int _type = T__17;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:15:7: ( 'ref' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:15:9: 'ref'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:16:7: ( 'PrimitiveType' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:16:9: 'PrimitiveType'
             {
-            match("ref"); 
+            match("PrimitiveType"); 
 
 
             }
@@ -261,10 +283,10 @@
         try {
             int _type = T__18;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:16:7: ( 'PrimitiveType' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:16:9: 'PrimitiveType'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:17:7: ( '->' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:17:9: '->'
             {
-            match("PrimitiveType"); 
+            match("->"); 
 
 
             }
@@ -282,11 +304,10 @@
         try {
             int _type = T__19;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:17:7: ( '->' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:17:9: '->'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:18:7: ( '(' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:18:9: '('
             {
-            match("->"); 
-
+            match('('); 
 
             }
 
@@ -303,10 +324,10 @@
         try {
             int _type = T__20;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:18:7: ( '(' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:18:9: '('
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:19:7: ( ')' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:19:9: ')'
             {
-            match('('); 
+            match(')'); 
 
             }
 
@@ -323,10 +344,11 @@
         try {
             int _type = T__21;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:19:7: ( ')' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:19:9: ')'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:20:7: ( 'default' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:20:9: 'default'
             {
-            match(')'); 
+            match("default"); 
+
 
             }
 
@@ -343,10 +365,10 @@
         try {
             int _type = T__22;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:20:7: ( 'default' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:20:9: 'default'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:21:7: ( 'Enumeration' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:21:9: 'Enumeration'
             {
-            match("default"); 
+            match("Enumeration"); 
 
 
             }
@@ -364,10 +386,10 @@
         try {
             int _type = T__23;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:21:7: ( 'Enumeration' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:21:9: 'Enumeration'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:22:7: ( 'of' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:22:9: 'of'
             {
-            match("Enumeration"); 
+            match("of"); 
 
 
             }
@@ -385,11 +407,10 @@
         try {
             int _type = T__24;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:22:7: ( 'of' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:22:9: 'of'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:23:7: ( ',' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:23:9: ','
             {
-            match("of"); 
-
+            match(','); 
 
             }
 
@@ -406,10 +427,10 @@
         try {
             int _type = T__25;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:23:7: ( ',' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:23:9: ','
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:24:7: ( '=' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:24:9: '='
             {
-            match(','); 
+            match('='); 
 
             }
 
@@ -426,10 +447,11 @@
         try {
             int _type = T__26;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:24:7: ( '=' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:24:9: '='
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:25:7: ( 'ExternalType' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:25:9: 'ExternalType'
             {
-            match('='); 
+            match("ExternalType"); 
+
 
             }
 
@@ -446,10 +468,10 @@
         try {
             int _type = T__27;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:25:7: ( 'ExternalType' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:25:9: 'ExternalType'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:26:7: ( 'DataClass' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:26:9: 'DataClass'
             {
-            match("ExternalType"); 
+            match("DataClass"); 
 
 
             }
@@ -467,10 +489,10 @@
         try {
             int _type = T__28;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:26:7: ( 'DataClass' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:26:9: 'DataClass'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:27:7: ( 'extends' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:27:9: 'extends'
             {
-            match("DataClass"); 
+            match("extends"); 
 
 
             }
@@ -488,10 +510,10 @@
         try {
             int _type = T__29;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:27:7: ( 'extends' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:27:9: 'extends'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:28:7: ( 'usercode1' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:28:9: 'usercode1'
             {
-            match("extends"); 
+            match("usercode1"); 
 
 
             }
@@ -509,10 +531,10 @@
         try {
             int _type = T__30;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:28:7: ( 'usercode1' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:28:9: 'usercode1'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:29:7: ( 'usercode2' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:29:9: 'usercode2'
             {
-            match("usercode1"); 
+            match("usercode2"); 
 
 
             }
@@ -530,10 +552,10 @@
         try {
             int _type = T__31;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:29:7: ( 'usercode2' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:29:9: 'usercode2'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:30:7: ( 'usercode3' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:30:9: 'usercode3'
             {
-            match("usercode2"); 
+            match("usercode3"); 
 
 
             }
@@ -551,10 +573,10 @@
         try {
             int _type = T__32;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:30:7: ( 'usercode3' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:30:9: 'usercode3'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:31:7: ( 'Attribute' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:31:9: 'Attribute'
             {
-            match("usercode3"); 
+            match("Attribute"); 
 
 
             }
@@ -572,11 +594,10 @@
         try {
             int _type = T__33;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:31:7: ( 'Attribute' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:31:9: 'Attribute'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:32:7: ( '[' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:32:9: '['
             {
-            match("Attribute"); 
-
+            match('['); 
 
             }
 
@@ -593,10 +614,10 @@
         try {
             int _type = T__34;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:32:7: ( '[' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:32:9: '['
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:33:7: ( ']' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:33:9: ']'
             {
-            match('['); 
+            match(']'); 
 
             }
 
@@ -613,10 +634,11 @@
         try {
             int _type = T__35;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:33:7: ( ']' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:33:9: ']'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:34:7: ( 'override' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:34:9: 'override'
             {
-            match(']'); 
+            match("override"); 
+
 
             }
 
@@ -633,10 +655,10 @@
         try {
             int _type = T__36;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:34:7: ( 'override' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:34:9: 'override'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:35:7: ( 'Operation' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:35:9: 'Operation'
             {
-            match("override"); 
+            match("Operation"); 
 
 
             }
@@ -654,10 +676,10 @@
         try {
             int _type = T__37;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:35:7: ( 'Operation' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:35:9: 'Operation'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:36:7: ( 'void' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:36:9: 'void'
             {
-            match("Operation"); 
+            match("void"); 
 
 
             }
@@ -675,10 +697,10 @@
         try {
             int _type = T__38;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:36:7: ( 'void' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:36:9: 'void'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:37:7: ( 'sends' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:37:9: 'sends'
             {
-            match("void"); 
+            match("sends"); 
 
 
             }
@@ -696,10 +718,10 @@
         try {
             int _type = T__39;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:37:7: ( 'sends' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:37:9: 'sends'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:38:7: ( 'ctor' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:38:9: 'ctor'
             {
-            match("sends"); 
+            match("ctor"); 
 
 
             }
@@ -717,10 +739,10 @@
         try {
             int _type = T__40;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:38:7: ( 'ctor' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:38:9: 'ctor'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:39:7: ( 'dtor' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:39:9: 'dtor'
             {
-            match("ctor"); 
+            match("dtor"); 
 
 
             }
@@ -738,10 +760,10 @@
         try {
             int _type = T__41;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:39:7: ( 'dtor' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:39:9: 'dtor'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:40:7: ( 'ProtocolClass' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:40:9: 'ProtocolClass'
             {
-            match("dtor"); 
+            match("ProtocolClass"); 
 
 
             }
@@ -759,10 +781,10 @@
         try {
             int _type = T__42;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:40:7: ( 'ProtocolClass' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:40:9: 'ProtocolClass'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:41:7: ( 'incoming' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:41:9: 'incoming'
             {
-            match("ProtocolClass"); 
+            match("incoming"); 
 
 
             }
@@ -780,10 +802,10 @@
         try {
             int _type = T__43;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:41:7: ( 'incoming' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:41:9: 'incoming'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:42:7: ( 'outgoing' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:42:9: 'outgoing'
             {
-            match("incoming"); 
+            match("outgoing"); 
 
 
             }
@@ -801,10 +823,10 @@
         try {
             int _type = T__44;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:42:7: ( 'outgoing' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:42:9: 'outgoing'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:43:7: ( 'regular' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:43:9: 'regular'
             {
-            match("outgoing"); 
+            match("regular"); 
 
 
             }
@@ -822,10 +844,10 @@
         try {
             int _type = T__45;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:43:7: ( 'regular' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:43:9: 'regular'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:44:7: ( 'PortClass' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:44:9: 'PortClass'
             {
-            match("regular"); 
+            match("PortClass"); 
 
 
             }
@@ -843,10 +865,10 @@
         try {
             int _type = T__46;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:44:7: ( 'PortClass' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:44:9: 'PortClass'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:45:7: ( 'conjugated' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:45:9: 'conjugated'
             {
-            match("PortClass"); 
+            match("conjugated"); 
 
 
             }
@@ -864,10 +886,10 @@
         try {
             int _type = T__47;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:45:7: ( 'conjugated' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:45:9: 'conjugated'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:46:7: ( 'CompoundProtocolClass' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:46:9: 'CompoundProtocolClass'
             {
-            match("conjugated"); 
+            match("CompoundProtocolClass"); 
 
 
             }
@@ -885,10 +907,10 @@
         try {
             int _type = T__48;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:46:7: ( 'CompoundProtocolClass' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:46:9: 'CompoundProtocolClass'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:47:7: ( 'SubProtocol' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:47:9: 'SubProtocol'
             {
-            match("CompoundProtocolClass"); 
+            match("SubProtocol"); 
 
 
             }
@@ -906,10 +928,10 @@
         try {
             int _type = T__49;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:47:7: ( 'SubProtocol' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:47:9: 'SubProtocol'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:48:7: ( 'private' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:48:9: 'private'
             {
-            match("SubProtocol"); 
+            match("private"); 
 
 
             }
@@ -927,10 +949,10 @@
         try {
             int _type = T__50;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:48:7: ( 'private' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:48:9: 'private'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:49:7: ( 'Message' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:49:9: 'Message'
             {
-            match("private"); 
+            match("Message"); 
 
 
             }
@@ -948,10 +970,10 @@
         try {
             int _type = T__51;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:49:7: ( 'Message' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:49:9: 'Message'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:50:7: ( 'usercode' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:50:9: 'usercode'
             {
-            match("Message"); 
+            match("usercode"); 
 
 
             }
@@ -969,10 +991,10 @@
         try {
             int _type = T__52;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:50:7: ( 'usercode' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:50:9: 'usercode'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:51:7: ( 'handle' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:51:9: 'handle'
             {
-            match("usercode"); 
+            match("handle"); 
 
 
             }
@@ -990,10 +1012,10 @@
         try {
             int _type = T__53;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:51:7: ( 'handle' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:51:9: 'handle'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:52:7: ( 'abstract' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:52:9: 'abstract'
             {
-            match("handle"); 
+            match("abstract"); 
 
 
             }
@@ -1011,10 +1033,10 @@
         try {
             int _type = T__54;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:52:7: ( 'abstract' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:52:9: 'abstract'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:53:7: ( 'ActorClass' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:53:9: 'ActorClass'
             {
-            match("abstract"); 
+            match("ActorClass"); 
 
 
             }
@@ -1032,10 +1054,10 @@
         try {
             int _type = T__55;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:53:7: ( 'ActorClass' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:53:9: 'ActorClass'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:54:7: ( 'Interface' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:54:9: 'Interface'
             {
-            match("ActorClass"); 
+            match("Interface"); 
 
 
             }
@@ -1053,10 +1075,10 @@
         try {
             int _type = T__56;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:54:7: ( 'Interface' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:54:9: 'Interface'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:55:7: ( 'Structure' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:55:9: 'Structure'
             {
-            match("Interface"); 
+            match("Structure"); 
 
 
             }
@@ -1074,10 +1096,10 @@
         try {
             int _type = T__57;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:55:7: ( 'Structure' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:55:9: 'Structure'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:56:7: ( 'Behavior' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:56:9: 'Behavior'
             {
-            match("Structure"); 
+            match("Behavior"); 
 
 
             }
@@ -1095,10 +1117,10 @@
         try {
             int _type = T__58;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:56:7: ( 'Behavior' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:56:9: 'Behavior'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:57:7: ( 'Port' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:57:9: 'Port'
             {
-            match("Behavior"); 
+            match("Port"); 
 
 
             }
@@ -1116,10 +1138,10 @@
         try {
             int _type = T__59;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:57:7: ( 'Port' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:57:9: 'Port'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:58:7: ( 'external' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:58:9: 'external'
             {
-            match("Port"); 
+            match("external"); 
 
 
             }
@@ -1137,10 +1159,10 @@
         try {
             int _type = T__60;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:58:7: ( 'external' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:58:9: 'external'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:59:7: ( 'SAP' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:59:9: 'SAP'
             {
-            match("external"); 
+            match("SAP"); 
 
 
             }
@@ -1158,10 +1180,10 @@
         try {
             int _type = T__61;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:59:7: ( 'SAP' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:59:9: 'SAP'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:60:7: ( 'SPP' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:60:9: 'SPP'
             {
-            match("SAP"); 
+            match("SPP"); 
 
 
             }
@@ -1179,10 +1201,10 @@
         try {
             int _type = T__62;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:60:7: ( 'SPP' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:60:9: 'SPP'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:61:7: ( 'ServiceImplementation' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:61:9: 'ServiceImplementation'
             {
-            match("SPP"); 
+            match("ServiceImplementation"); 
 
 
             }
@@ -1200,10 +1222,10 @@
         try {
             int _type = T__63;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:61:7: ( 'ServiceImplementation' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:61:9: 'ServiceImplementation'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:62:7: ( 'LogicalSystem' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:62:9: 'LogicalSystem'
             {
-            match("ServiceImplementation"); 
+            match("LogicalSystem"); 
 
 
             }
@@ -1221,10 +1243,10 @@
         try {
             int _type = T__64;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:62:7: ( 'LogicalSystem' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:62:9: 'LogicalSystem'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:63:7: ( 'SubSystemRef' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:63:9: 'SubSystemRef'
             {
-            match("LogicalSystem"); 
+            match("SubSystemRef"); 
 
 
             }
@@ -1242,10 +1264,10 @@
         try {
             int _type = T__65;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:63:7: ( 'SubSystemRef' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:63:9: 'SubSystemRef'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:64:7: ( 'SubSystemClass' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:64:9: 'SubSystemClass'
             {
-            match("SubSystemRef"); 
+            match("SubSystemClass"); 
 
 
             }
@@ -1263,10 +1285,10 @@
         try {
             int _type = T__66;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:64:7: ( 'SubSystemClass' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:64:9: 'SubSystemClass'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:65:7: ( 'LogicalThread' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:65:9: 'LogicalThread'
             {
-            match("SubSystemClass"); 
+            match("LogicalThread"); 
 
 
             }
@@ -1284,10 +1306,10 @@
         try {
             int _type = T__67;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:65:7: ( 'LogicalThread' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:65:9: 'LogicalThread'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:66:7: ( 'ActorInstanceMapping' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:66:9: 'ActorInstanceMapping'
             {
-            match("LogicalThread"); 
+            match("ActorInstanceMapping"); 
 
 
             }
@@ -1305,11 +1327,10 @@
         try {
             int _type = T__68;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:66:7: ( 'ActorInstanceMapping' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:66:9: 'ActorInstanceMapping'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:67:7: ( '/' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:67:9: '/'
             {
-            match("ActorInstanceMapping"); 
-
+            match('/'); 
 
             }
 
@@ -1326,10 +1347,11 @@
         try {
             int _type = T__69;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:67:7: ( '/' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:67:9: '/'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:68:7: ( 'Binding' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:68:9: 'Binding'
             {
-            match('/'); 
+            match("Binding"); 
+
 
             }
 
@@ -1346,10 +1368,10 @@
         try {
             int _type = T__70;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:68:7: ( 'Binding' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:68:9: 'Binding'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:69:7: ( 'and' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:69:9: 'and'
             {
-            match("Binding"); 
+            match("and"); 
 
 
             }
@@ -1367,11 +1389,10 @@
         try {
             int _type = T__71;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:69:7: ( 'and' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:69:9: 'and'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:70:7: ( '.' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:70:9: '.'
             {
-            match("and"); 
-
+            match('.'); 
 
             }
 
@@ -1388,10 +1409,11 @@
         try {
             int _type = T__72;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:70:7: ( '.' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:70:9: '.'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:71:7: ( 'sub' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:71:9: 'sub'
             {
-            match('.'); 
+            match("sub"); 
+
 
             }
 
@@ -1408,10 +1430,10 @@
         try {
             int _type = T__73;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:71:7: ( 'sub' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:71:9: 'sub'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:72:7: ( 'LayerConnection' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:72:9: 'LayerConnection'
             {
-            match("sub"); 
+            match("LayerConnection"); 
 
 
             }
@@ -1429,10 +1451,10 @@
         try {
             int _type = T__74;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:72:7: ( 'LayerConnection' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:72:9: 'LayerConnection'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:73:7: ( 'satisfied_by' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:73:9: 'satisfied_by'
             {
-            match("LayerConnection"); 
+            match("satisfied_by"); 
 
 
             }
@@ -1450,10 +1472,10 @@
         try {
             int _type = T__75;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:73:7: ( 'satisfied_by' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:73:9: 'satisfied_by'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:74:7: ( 'relay_sap' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:74:9: 'relay_sap'
             {
-            match("satisfied_by"); 
+            match("relay_sap"); 
 
 
             }
@@ -1471,10 +1493,10 @@
         try {
             int _type = T__76;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:74:7: ( 'relay_sap' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:74:9: 'relay_sap'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:75:7: ( 'ActorRef' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:75:9: 'ActorRef'
             {
-            match("relay_sap"); 
+            match("ActorRef"); 
 
 
             }
@@ -1492,11 +1514,10 @@
         try {
             int _type = T__77;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:75:7: ( 'ActorRef' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:75:9: 'ActorRef'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:76:7: ( '*' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:76:9: '*'
             {
-            match("ActorRef"); 
-
+            match('*'); 
 
             }
 
@@ -1513,10 +1534,11 @@
         try {
             int _type = T__78;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:76:7: ( '*' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:76:9: '*'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:77:7: ( 'ActorBehavior' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:77:9: 'ActorBehavior'
             {
-            match('*'); 
+            match("ActorBehavior"); 
+
 
             }
 
@@ -1533,10 +1555,10 @@
         try {
             int _type = T__79;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:77:7: ( 'ActorBehavior' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:77:9: 'ActorBehavior'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:78:7: ( 'StateMachine' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:78:9: 'StateMachine'
             {
-            match("ActorBehavior"); 
+            match("StateMachine"); 
 
 
             }
@@ -1554,10 +1576,10 @@
         try {
             int _type = T__80;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:78:7: ( 'StateMachine' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:78:9: 'StateMachine'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:79:7: ( 'State' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:79:9: 'State'
             {
-            match("StateMachine"); 
+            match("State"); 
 
 
             }
@@ -1575,10 +1597,10 @@
         try {
             int _type = T__81;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:79:7: ( 'State' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:79:9: 'State'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:80:7: ( 'entry' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:80:9: 'entry'
             {
-            match("State"); 
+            match("entry"); 
 
 
             }
@@ -1596,10 +1618,10 @@
         try {
             int _type = T__82;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:80:7: ( 'entry' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:80:9: 'entry'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:81:7: ( 'exit' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:81:9: 'exit'
             {
-            match("entry"); 
+            match("exit"); 
 
 
             }
@@ -1617,10 +1639,10 @@
         try {
             int _type = T__83;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:81:7: ( 'exit' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:81:9: 'exit'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:82:7: ( 'do' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:82:9: 'do'
             {
-            match("exit"); 
+            match("do"); 
 
 
             }
@@ -1638,10 +1660,10 @@
         try {
             int _type = T__84;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:82:7: ( 'do' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:82:9: 'do'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:83:7: ( 'subgraph' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:83:9: 'subgraph'
             {
-            match("do"); 
+            match("subgraph"); 
 
 
             }
@@ -1659,10 +1681,10 @@
         try {
             int _type = T__85;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:83:7: ( 'subgraph' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:83:9: 'subgraph'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:84:7: ( 'RefinedState' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:84:9: 'RefinedState'
             {
-            match("subgraph"); 
+            match("RefinedState"); 
 
 
             }
@@ -1680,10 +1702,10 @@
         try {
             int _type = T__86;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:84:7: ( 'RefinedState' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:84:9: 'RefinedState'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:85:7: ( 'handler' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:85:9: 'handler'
             {
-            match("RefinedState"); 
+            match("handler"); 
 
 
             }
@@ -1701,10 +1723,10 @@
         try {
             int _type = T__87;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:85:7: ( 'handler' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:85:9: 'handler'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:86:7: ( 'TransitionPoint' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:86:9: 'TransitionPoint'
             {
-            match("handler"); 
+            match("TransitionPoint"); 
 
 
             }
@@ -1722,10 +1744,10 @@
         try {
             int _type = T__88;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:86:7: ( 'TransitionPoint' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:86:9: 'TransitionPoint'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:87:7: ( 'EntryPoint' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:87:9: 'EntryPoint'
             {
-            match("TransitionPoint"); 
+            match("EntryPoint"); 
 
 
             }
@@ -1743,10 +1765,10 @@
         try {
             int _type = T__89;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:87:7: ( 'EntryPoint' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:87:9: 'EntryPoint'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:88:7: ( 'ExitPoint' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:88:9: 'ExitPoint'
             {
-            match("EntryPoint"); 
+            match("ExitPoint"); 
 
 
             }
@@ -1764,10 +1786,10 @@
         try {
             int _type = T__90;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:88:7: ( 'ExitPoint' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:88:9: 'ExitPoint'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:89:7: ( 'ChoicePoint' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:89:9: 'ChoicePoint'
             {
-            match("ExitPoint"); 
+            match("ChoicePoint"); 
 
 
             }
@@ -1785,10 +1807,10 @@
         try {
             int _type = T__91;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:89:7: ( 'ChoicePoint' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:89:9: 'ChoicePoint'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:90:7: ( 'Transition' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:90:9: 'Transition'
             {
-            match("ChoicePoint"); 
+            match("Transition"); 
 
 
             }
@@ -1806,10 +1828,10 @@
         try {
             int _type = T__92;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:90:7: ( 'Transition' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:90:9: 'Transition'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:91:7: ( 'initial' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:91:9: 'initial'
             {
-            match("Transition"); 
+            match("initial"); 
 
 
             }
@@ -1827,10 +1849,10 @@
         try {
             int _type = T__93;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:91:7: ( 'initial' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:91:9: 'initial'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:92:7: ( 'action' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:92:9: 'action'
             {
-            match("initial"); 
+            match("action"); 
 
 
             }
@@ -1848,10 +1870,10 @@
         try {
             int _type = T__94;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:92:7: ( 'action' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:92:9: 'action'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:93:7: ( 'triggers' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:93:9: 'triggers'
             {
-            match("action"); 
+            match("triggers"); 
 
 
             }
@@ -1869,10 +1891,10 @@
         try {
             int _type = T__95;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:93:7: ( 'triggers' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:93:9: 'triggers'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:94:7: ( 'or' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:94:9: 'or'
             {
-            match("triggers"); 
+            match("or"); 
 
 
             }
@@ -1890,10 +1912,10 @@
         try {
             int _type = T__96;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:94:7: ( 'or' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:94:9: 'or'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:95:7: ( 'guard' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:95:9: 'guard'
             {
-            match("or"); 
+            match("guard"); 
 
 
             }
@@ -1911,10 +1933,10 @@
         try {
             int _type = T__97;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:95:7: ( 'guard' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:95:9: 'guard'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:96:7: ( 'cond' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:96:9: 'cond'
             {
-            match("guard"); 
+            match("cond"); 
 
 
             }
@@ -1932,10 +1954,10 @@
         try {
             int _type = T__98;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:96:7: ( 'cond' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:96:9: 'cond'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:97:7: ( 'RefinedTransition' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:97:9: 'RefinedTransition'
             {
-            match("cond"); 
+            match("RefinedTransition"); 
 
 
             }
@@ -1953,10 +1975,10 @@
         try {
             int _type = T__99;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:97:7: ( 'RefinedTransition' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:97:9: 'RefinedTransition'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:98:7: ( 'my' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:98:9: 'my'
             {
-            match("RefinedTransition"); 
+            match("my"); 
 
 
             }
@@ -1974,10 +1996,10 @@
         try {
             int _type = T__100;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:98:8: ( 'my' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:98:10: 'my'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:99:8: ( 'cp' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:99:10: 'cp'
             {
-            match("my"); 
+            match("cp"); 
 
 
             }
@@ -1995,11 +2017,10 @@
         try {
             int _type = T__101;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:99:8: ( 'cp' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:99:10: 'cp'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:100:8: ( '<' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:100:10: '<'
             {
-            match("cp"); 
-
+            match('<'); 
 
             }
 
@@ -2016,10 +2037,10 @@
         try {
             int _type = T__102;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:100:8: ( '<' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:100:10: '<'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:101:8: ( '|' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:101:10: '|'
             {
-            match('<'); 
+            match('|'); 
 
             }
 
@@ -2036,10 +2057,10 @@
         try {
             int _type = T__103;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:101:8: ( '|' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:101:10: '|'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:102:8: ( '>' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:102:10: '>'
             {
-            match('|'); 
+            match('>'); 
 
             }
 
@@ -2056,10 +2077,11 @@
         try {
             int _type = T__104;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:102:8: ( '>' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:102:10: '>'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:103:8: ( 'semantics' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:103:10: 'semantics'
             {
-            match('>'); 
+            match("semantics"); 
+
 
             }
 
@@ -2076,10 +2098,10 @@
         try {
             int _type = T__105;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:103:8: ( 'semantics' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:103:10: 'semantics'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:104:8: ( 'in' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:104:10: 'in'
             {
-            match("semantics"); 
+            match("in"); 
 
 
             }
@@ -2097,10 +2119,10 @@
         try {
             int _type = T__106;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:104:8: ( 'in' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:104:10: 'in'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:105:8: ( 'out' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:105:10: 'out'
             {
-            match("in"); 
+            match("out"); 
 
 
             }
@@ -2118,11 +2140,10 @@
         try {
             int _type = T__107;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:105:8: ( 'out' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:105:10: 'out'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:106:8: ( '@' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:106:10: '@'
             {
-            match("out"); 
-
+            match('@'); 
 
             }
 
@@ -2139,10 +2160,11 @@
         try {
             int _type = T__108;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:106:8: ( '@' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:106:10: '@'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:107:8: ( 'AnnotationType' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:107:10: 'AnnotationType'
             {
-            match('@'); 
+            match("AnnotationType"); 
+
 
             }
 
@@ -2159,10 +2181,10 @@
         try {
             int _type = T__109;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:107:8: ( 'AnnotationType' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:107:10: 'AnnotationType'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:108:8: ( 'target' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:108:10: 'target'
             {
-            match("AnnotationType"); 
+            match("target"); 
 
 
             }
@@ -2180,10 +2202,10 @@
         try {
             int _type = T__110;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:108:8: ( 'target' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:108:10: 'target'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:109:8: ( 'optional' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:109:10: 'optional'
             {
-            match("target"); 
+            match("optional"); 
 
 
             }
@@ -2201,10 +2223,10 @@
         try {
             int _type = T__111;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:109:8: ( 'optional' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:109:10: 'optional'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:110:8: ( 'mandatory' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:110:10: 'mandatory'
             {
-            match("optional"); 
+            match("mandatory"); 
 
 
             }
@@ -2222,10 +2244,10 @@
         try {
             int _type = T__112;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:110:8: ( 'mandatory' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:110:10: 'mandatory'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:111:8: ( 'attribute' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:111:10: 'attribute'
             {
-            match("mandatory"); 
+            match("attribute"); 
 
 
             }
@@ -2243,10 +2265,10 @@
         try {
             int _type = T__113;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:111:8: ( 'attribute' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:111:10: 'attribute'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:112:8: ( 'import' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:112:10: 'import'
             {
-            match("attribute"); 
+            match("import"); 
 
 
             }
@@ -2264,10 +2286,10 @@
         try {
             int _type = T__114;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:112:8: ( 'import' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:112:10: 'import'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:113:8: ( 'from' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:113:10: 'from'
             {
-            match("import"); 
+            match("from"); 
 
 
             }
@@ -2285,10 +2307,10 @@
         try {
             int _type = T__115;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:113:8: ( 'from' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:113:10: 'from'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:114:8: ( 'model' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:114:10: 'model'
             {
-            match("from"); 
+            match("model"); 
 
 
             }
@@ -2306,10 +2328,10 @@
         try {
             int _type = T__116;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:114:8: ( 'model' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:114:10: 'model'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:115:8: ( '.*' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:115:10: '.*'
             {
-            match("model"); 
+            match(".*"); 
 
 
             }
@@ -2327,10 +2349,10 @@
         try {
             int _type = T__117;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:115:8: ( '.*' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:115:10: '.*'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:116:8: ( 'false' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:116:10: 'false'
             {
-            match(".*"); 
+            match("false"); 
 
 
             }
@@ -2348,10 +2370,10 @@
         try {
             int _type = T__118;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:116:8: ( 'false' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:116:10: 'false'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:117:8: ( 'true' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:117:10: 'true'
             {
-            match("false"); 
+            match("true"); 
 
 
             }
@@ -2369,11 +2391,10 @@
         try {
             int _type = T__119;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:117:8: ( 'true' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:117:10: 'true'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:118:8: ( '+' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:118:10: '+'
             {
-            match("true"); 
-
+            match('+'); 
 
             }
 
@@ -2390,10 +2411,10 @@
         try {
             int _type = T__120;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:118:8: ( '+' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:118:10: '+'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:119:8: ( '-' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:119:10: '-'
             {
-            match('+'); 
+            match('-'); 
 
             }
 
@@ -2410,10 +2431,10 @@
         try {
             int _type = T__121;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:119:8: ( '-' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:119:10: '-'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:120:8: ( 'e' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:120:10: 'e'
             {
-            match('-'); 
+            match('e'); 
 
             }
 
@@ -2430,11 +2451,10 @@
         try {
             int _type = T__122;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:120:8: ( 'eventdriven' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:120:10: 'eventdriven'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:121:8: ( 'E' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:121:10: 'E'
             {
-            match("eventdriven"); 
-
+            match('E'); 
 
             }
 
@@ -2451,10 +2471,10 @@
         try {
             int _type = T__123;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:121:8: ( 'datadriven' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:121:10: 'datadriven'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:122:8: ( 'eventdriven' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:122:10: 'eventdriven'
             {
-            match("datadriven"); 
+            match("eventdriven"); 
 
 
             }
@@ -2472,10 +2492,10 @@
         try {
             int _type = T__124;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:122:8: ( 'sync' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:122:10: 'sync'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:123:8: ( 'datadriven' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:123:10: 'datadriven'
             {
-            match("sync"); 
+            match("datadriven"); 
 
 
             }
@@ -2493,10 +2513,10 @@
         try {
             int _type = T__125;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:123:8: ( 'fixed' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:123:10: 'fixed'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:124:8: ( 'sync' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:124:10: 'sync'
             {
-            match("fixed"); 
+            match("sync"); 
 
 
             }
@@ -2514,10 +2534,10 @@
         try {
             int _type = T__126;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:124:8: ( 'async' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:124:10: 'async'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:125:8: ( 'fixed' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:125:10: 'fixed'
             {
-            match("async"); 
+            match("fixed"); 
 
 
             }
@@ -2535,10 +2555,10 @@
         try {
             int _type = T__127;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:125:8: ( 'ptBoolean' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:125:10: 'ptBoolean'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:126:8: ( 'async' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:126:10: 'async'
             {
-            match("ptBoolean"); 
+            match("async"); 
 
 
             }
@@ -2556,10 +2576,10 @@
         try {
             int _type = T__128;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:126:8: ( 'ptInteger' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:126:10: 'ptInteger'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:127:8: ( 'ptBoolean' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:127:10: 'ptBoolean'
             {
-            match("ptInteger"); 
+            match("ptBoolean"); 
 
 
             }
@@ -2577,10 +2597,10 @@
         try {
             int _type = T__129;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:127:8: ( 'ptReal' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:127:10: 'ptReal'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:128:8: ( 'ptInteger' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:128:10: 'ptInteger'
             {
-            match("ptReal"); 
+            match("ptInteger"); 
 
 
             }
@@ -2598,10 +2618,10 @@
         try {
             int _type = T__130;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:128:8: ( 'ptCharacter' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:128:10: 'ptCharacter'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:129:8: ( 'ptReal' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:129:10: 'ptReal'
             {
-            match("ptCharacter"); 
+            match("ptReal"); 
 
 
             }
@@ -2614,42 +2634,74 @@
     }
     // $ANTLR end "T__130"
 
-    // $ANTLR start "RULE_EXP"
-    public final void mRULE_EXP() throws RecognitionException {
+    // $ANTLR start "T__131"
+    public final void mT__131() throws RecognitionException {
         try {
-            int _type = RULE_EXP;
+            int _type = T__131;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9340:10: ( ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9340:12: ( 'e' | 'E' ) ( '+' | '-' )? ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:130:8: ( 'ptCharacter' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:130:10: 'ptCharacter'
             {
-            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
-                input.consume();
+            match("ptCharacter"); 
+
 
             }
-            else {
-                MismatchedSetException mse = new MismatchedSetException(null,input);
-                recover(mse);
-                throw mse;}
 
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9340:22: ( '+' | '-' )?
+            state.type = _type;
+            state.channel = _channel;
+        }
+        finally {
+        }
+    }
+    // $ANTLR end "T__131"
+
+    // $ANTLR start "RULE_HEX"
+    public final void mRULE_HEX() throws RecognitionException {
+        try {
+            int _type = RULE_HEX;
+            int _channel = DEFAULT_TOKEN_CHANNEL;
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9144:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9144:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+            {
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9144:12: ( '0x' | '0X' )
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0=='+'||LA1_0=='-') ) {
-                alt1=1;
+            if ( (LA1_0=='0') ) {
+                int LA1_1 = input.LA(2);
+
+                if ( (LA1_1=='x') ) {
+                    alt1=1;
+                }
+                else if ( (LA1_1=='X') ) {
+                    alt1=2;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 1, 1, input);
+
+                    throw nvae;
+                }
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 1, 0, input);
+
+                throw nvae;
             }
             switch (alt1) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9144:13: '0x'
                     {
-                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
-                        input.consume();
+                    match("0x"); 
+
 
                     }
-                    else {
-                        MismatchedSetException mse = new MismatchedSetException(null,input);
-                        recover(mse);
-                        throw mse;}
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9144:18: '0X'
+                    {
+                    match("0X"); 
 
 
                     }
@@ -2657,23 +2709,31 @@
 
             }
 
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9340:33: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9144:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
             int cnt2=0;
             loop2:
             do {
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( ((LA2_0>='0' && LA2_0<='9')) ) {
+                if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='F')||(LA2_0>='a' && LA2_0<='f')) ) {
                     alt2=1;
                 }
 
 
                 switch (alt2) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9340:34: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:
             	    {
-            	    matchRange('0','9'); 
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse = new MismatchedSetException(null,input);
+            	        recover(mse);
+            	        throw mse;}
+
 
             	    }
             	    break;
@@ -2696,109 +2756,6 @@
         finally {
         }
     }
-    // $ANTLR end "RULE_EXP"
-
-    // $ANTLR start "RULE_HEX"
-    public final void mRULE_HEX() throws RecognitionException {
-        try {
-            int _type = RULE_HEX;
-            int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9342:10: ( ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9342:12: ( '0x' | '0X' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9342:12: ( '0x' | '0X' )
-            int alt3=2;
-            int LA3_0 = input.LA(1);
-
-            if ( (LA3_0=='0') ) {
-                int LA3_1 = input.LA(2);
-
-                if ( (LA3_1=='x') ) {
-                    alt3=1;
-                }
-                else if ( (LA3_1=='X') ) {
-                    alt3=2;
-                }
-                else {
-                    NoViableAltException nvae =
-                        new NoViableAltException("", 3, 1, input);
-
-                    throw nvae;
-                }
-            }
-            else {
-                NoViableAltException nvae =
-                    new NoViableAltException("", 3, 0, input);
-
-                throw nvae;
-            }
-            switch (alt3) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9342:13: '0x'
-                    {
-                    match("0x"); 
-
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9342:18: '0X'
-                    {
-                    match("0X"); 
-
-
-                    }
-                    break;
-
-            }
-
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9342:24: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
-            int cnt4=0;
-            loop4:
-            do {
-                int alt4=2;
-                int LA4_0 = input.LA(1);
-
-                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='F')||(LA4_0>='a' && LA4_0<='f')) ) {
-                    alt4=1;
-                }
-
-
-                switch (alt4) {
-            	case 1 :
-            	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:
-            	    {
-            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
-            	        input.consume();
-
-            	    }
-            	    else {
-            	        MismatchedSetException mse = new MismatchedSetException(null,input);
-            	        recover(mse);
-            	        throw mse;}
-
-
-            	    }
-            	    break;
-
-            	default :
-            	    if ( cnt4 >= 1 ) break loop4;
-                        EarlyExitException eee =
-                            new EarlyExitException(4, input);
-                        throw eee;
-                }
-                cnt4++;
-            } while (true);
-
-
-            }
-
-            state.type = _type;
-            state.channel = _channel;
-        }
-        finally {
-        }
-    }
     // $ANTLR end "RULE_HEX"
 
     // $ANTLR start "RULE_ID"
@@ -2806,19 +2763,19 @@
         try {
             int _type = RULE_ID;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9344:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9344:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9146:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9146:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9344:11: ( '^' )?
-            int alt5=2;
-            int LA5_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9146:11: ( '^' )?
+            int alt3=2;
+            int LA3_0 = input.LA(1);
 
-            if ( (LA5_0=='^') ) {
-                alt5=1;
+            if ( (LA3_0=='^') ) {
+                alt3=1;
             }
-            switch (alt5) {
+            switch (alt3) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9344:11: '^'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9146:11: '^'
                     {
                     match('^'); 
 
@@ -2836,18 +2793,18 @@
                 recover(mse);
                 throw mse;}
 
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9344:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
-            loop6:
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9146:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+            loop4:
             do {
-                int alt6=2;
-                int LA6_0 = input.LA(1);
+                int alt4=2;
+                int LA4_0 = input.LA(1);
 
-                if ( ((LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
-                    alt6=1;
+                if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+                    alt4=1;
                 }
 
 
-                switch (alt6) {
+                switch (alt4) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:
             	    {
@@ -2865,7 +2822,7 @@
             	    break;
 
             	default :
-            	    break loop6;
+            	    break loop4;
                 }
             } while (true);
 
@@ -2885,24 +2842,24 @@
         try {
             int _type = RULE_INT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9346:10: ( ( '0' .. '9' )+ )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9346:12: ( '0' .. '9' )+
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9148:10: ( ( '0' .. '9' )+ )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9148:12: ( '0' .. '9' )+
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9346:12: ( '0' .. '9' )+
-            int cnt7=0;
-            loop7:
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9148:12: ( '0' .. '9' )+
+            int cnt5=0;
+            loop5:
             do {
-                int alt7=2;
-                int LA7_0 = input.LA(1);
+                int alt5=2;
+                int LA5_0 = input.LA(1);
 
-                if ( ((LA7_0>='0' && LA7_0<='9')) ) {
-                    alt7=1;
+                if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+                    alt5=1;
                 }
 
 
-                switch (alt7) {
+                switch (alt5) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9346:13: '0' .. '9'
+            	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9148:13: '0' .. '9'
             	    {
             	    matchRange('0','9'); 
 
@@ -2910,12 +2867,12 @@
             	    break;
 
             	default :
-            	    if ( cnt7 >= 1 ) break loop7;
+            	    if ( cnt5 >= 1 ) break loop5;
                         EarlyExitException eee =
-                            new EarlyExitException(7, input);
+                            new EarlyExitException(5, input);
                         throw eee;
                 }
-                cnt7++;
+                cnt5++;
             } while (true);
 
 
@@ -2934,47 +2891,47 @@
         try {
             int _type = RULE_STRING;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9348:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9348:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9150:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9150:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9348:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
-            int alt10=2;
-            int LA10_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9150:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+            int alt8=2;
+            int LA8_0 = input.LA(1);
 
-            if ( (LA10_0=='\"') ) {
-                alt10=1;
+            if ( (LA8_0=='\"') ) {
+                alt8=1;
             }
-            else if ( (LA10_0=='\'') ) {
-                alt10=2;
+            else if ( (LA8_0=='\'') ) {
+                alt8=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 10, 0, input);
+                    new NoViableAltException("", 8, 0, input);
 
                 throw nvae;
             }
-            switch (alt10) {
+            switch (alt8) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9348:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9150:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
                     {
                     match('\"'); 
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9348:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
-                    loop8:
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9150:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
+                    loop6:
                     do {
-                        int alt8=3;
-                        int LA8_0 = input.LA(1);
+                        int alt6=3;
+                        int LA6_0 = input.LA(1);
 
-                        if ( (LA8_0=='\\') ) {
-                            alt8=1;
+                        if ( (LA6_0=='\\') ) {
+                            alt6=1;
                         }
-                        else if ( ((LA8_0>='\u0000' && LA8_0<='!')||(LA8_0>='#' && LA8_0<='[')||(LA8_0>=']' && LA8_0<='\uFFFF')) ) {
-                            alt8=2;
+                        else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+                            alt6=2;
                         }
 
 
-                        switch (alt8) {
+                        switch (alt6) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9348:21: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9150:21: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -2982,7 +2939,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9348:28: ~ ( ( '\\\\' | '\"' ) )
+                    	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9150:28: ~ ( ( '\\\\' | '\"' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -2998,7 +2955,7 @@
                     	    break;
 
                     	default :
-                    	    break loop8;
+                    	    break loop6;
                         }
                     } while (true);
 
@@ -3007,26 +2964,26 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9348:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9150:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
                     {
                     match('\''); 
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9348:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
-                    loop9:
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9150:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
+                    loop7:
                     do {
-                        int alt9=3;
-                        int LA9_0 = input.LA(1);
+                        int alt7=3;
+                        int LA7_0 = input.LA(1);
 
-                        if ( (LA9_0=='\\') ) {
-                            alt9=1;
+                        if ( (LA7_0=='\\') ) {
+                            alt7=1;
                         }
-                        else if ( ((LA9_0>='\u0000' && LA9_0<='&')||(LA9_0>='(' && LA9_0<='[')||(LA9_0>=']' && LA9_0<='\uFFFF')) ) {
-                            alt9=2;
+                        else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+                            alt7=2;
                         }
 
 
-                        switch (alt9) {
+                        switch (alt7) {
                     	case 1 :
-                    	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9348:54: '\\\\' .
+                    	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9150:54: '\\\\' .
                     	    {
                     	    match('\\'); 
                     	    matchAny(); 
@@ -3034,7 +2991,7 @@
                     	    }
                     	    break;
                     	case 2 :
-                    	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9348:61: ~ ( ( '\\\\' | '\\'' ) )
+                    	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9150:61: ~ ( ( '\\\\' | '\\'' ) )
                     	    {
                     	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                     	        input.consume();
@@ -3050,7 +3007,7 @@
                     	    break;
 
                     	default :
-                    	    break loop9;
+                    	    break loop7;
                         }
                     } while (true);
 
@@ -3077,37 +3034,37 @@
         try {
             int _type = RULE_ML_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9350:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9350:19: '/*' ( options {greedy=false; } : . )* '*/'
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9152:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9152:19: '/*' ( options {greedy=false; } : . )* '*/'
             {
             match("/*"); 
 
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9350:24: ( options {greedy=false; } : . )*
-            loop11:
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9152:24: ( options {greedy=false; } : . )*
+            loop9:
             do {
-                int alt11=2;
-                int LA11_0 = input.LA(1);
+                int alt9=2;
+                int LA9_0 = input.LA(1);
 
-                if ( (LA11_0=='*') ) {
-                    int LA11_1 = input.LA(2);
+                if ( (LA9_0=='*') ) {
+                    int LA9_1 = input.LA(2);
 
-                    if ( (LA11_1=='/') ) {
-                        alt11=2;
+                    if ( (LA9_1=='/') ) {
+                        alt9=2;
                     }
-                    else if ( ((LA11_1>='\u0000' && LA11_1<='.')||(LA11_1>='0' && LA11_1<='\uFFFF')) ) {
-                        alt11=1;
+                    else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+                        alt9=1;
                     }
 
 
                 }
-                else if ( ((LA11_0>='\u0000' && LA11_0<=')')||(LA11_0>='+' && LA11_0<='\uFFFF')) ) {
-                    alt11=1;
+                else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+                    alt9=1;
                 }
 
 
-                switch (alt11) {
+                switch (alt9) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9350:52: .
+            	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9152:52: .
             	    {
             	    matchAny(); 
 
@@ -3115,7 +3072,7 @@
             	    break;
 
             	default :
-            	    break loop11;
+            	    break loop9;
                 }
             } while (true);
 
@@ -3137,25 +3094,25 @@
         try {
             int _type = RULE_SL_COMMENT;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9352:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9352:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9154:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9154:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
             {
             match("//"); 
 
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9352:24: (~ ( ( '\\n' | '\\r' ) ) )*
-            loop12:
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9154:24: (~ ( ( '\\n' | '\\r' ) ) )*
+            loop10:
             do {
-                int alt12=2;
-                int LA12_0 = input.LA(1);
+                int alt10=2;
+                int LA10_0 = input.LA(1);
 
-                if ( ((LA12_0>='\u0000' && LA12_0<='\t')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\uFFFF')) ) {
-                    alt12=1;
+                if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+                    alt10=1;
                 }
 
 
-                switch (alt12) {
+                switch (alt10) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9352:24: ~ ( ( '\\n' | '\\r' ) )
+            	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9154: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();
@@ -3171,31 +3128,31 @@
             	    break;
 
             	default :
-            	    break loop12;
+            	    break loop10;
                 }
             } while (true);
 
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9352:40: ( ( '\\r' )? '\\n' )?
-            int alt14=2;
-            int LA14_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9154:40: ( ( '\\r' )? '\\n' )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
 
-            if ( (LA14_0=='\n'||LA14_0=='\r') ) {
-                alt14=1;
+            if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+                alt12=1;
             }
-            switch (alt14) {
+            switch (alt12) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9352:41: ( '\\r' )? '\\n'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9154:41: ( '\\r' )? '\\n'
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9352:41: ( '\\r' )?
-                    int alt13=2;
-                    int LA13_0 = input.LA(1);
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9154:41: ( '\\r' )?
+                    int alt11=2;
+                    int LA11_0 = input.LA(1);
 
-                    if ( (LA13_0=='\r') ) {
-                        alt13=1;
+                    if ( (LA11_0=='\r') ) {
+                        alt11=1;
                     }
-                    switch (alt13) {
+                    switch (alt11) {
                         case 1 :
-                            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9352:41: '\\r'
+                            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9154:41: '\\r'
                             {
                             match('\r'); 
 
@@ -3227,22 +3184,22 @@
         try {
             int _type = RULE_WS;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9354:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9354:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9156:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9156:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9354:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
-            int cnt15=0;
-            loop15:
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9156:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+            int cnt13=0;
+            loop13:
             do {
-                int alt15=2;
-                int LA15_0 = input.LA(1);
+                int alt13=2;
+                int LA13_0 = input.LA(1);
 
-                if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
-                    alt15=1;
+                if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+                    alt13=1;
                 }
 
 
-                switch (alt15) {
+                switch (alt13) {
             	case 1 :
             	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:
             	    {
@@ -3260,12 +3217,12 @@
             	    break;
 
             	default :
-            	    if ( cnt15 >= 1 ) break loop15;
+            	    if ( cnt13 >= 1 ) break loop13;
                         EarlyExitException eee =
-                            new EarlyExitException(15, input);
+                            new EarlyExitException(13, input);
                         throw eee;
                 }
-                cnt15++;
+                cnt13++;
             } while (true);
 
 
@@ -3284,8 +3241,8 @@
         try {
             int _type = RULE_ANY_OTHER;
             int _channel = DEFAULT_TOKEN_CHANNEL;
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9356:16: ( . )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9356:18: .
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9158:16: ( . )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9158:18: .
             {
             matchAny(); 
 
@@ -3300,894 +3257,901 @@
     // $ANTLR end "RULE_ANY_OTHER"
 
     public void mTokens() throws RecognitionException {
-        // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
-        int alt16=127;
-        alt16 = dfa16.predict(input);
-        switch (alt16) {
+        // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+        int alt14=128;
+        alt14 = dfa14.predict(input);
+        switch (alt14) {
             case 1 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:10: T__13
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:10: T__12
+                {
+                mT__12(); 
+
+                }
+                break;
+            case 2 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:16: T__13
                 {
                 mT__13(); 
 
                 }
                 break;
-            case 2 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:16: T__14
+            case 3 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:22: T__14
                 {
                 mT__14(); 
 
                 }
                 break;
-            case 3 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:22: T__15
+            case 4 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:28: T__15
                 {
                 mT__15(); 
 
                 }
                 break;
-            case 4 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:28: T__16
+            case 5 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:34: T__16
                 {
                 mT__16(); 
 
                 }
                 break;
-            case 5 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:34: T__17
+            case 6 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:40: T__17
                 {
                 mT__17(); 
 
                 }
                 break;
-            case 6 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:40: T__18
+            case 7 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:46: T__18
                 {
                 mT__18(); 
 
                 }
                 break;
-            case 7 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:46: T__19
+            case 8 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:52: T__19
                 {
                 mT__19(); 
 
                 }
                 break;
-            case 8 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:52: T__20
+            case 9 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:58: T__20
                 {
                 mT__20(); 
 
                 }
                 break;
-            case 9 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:58: T__21
+            case 10 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:64: T__21
                 {
                 mT__21(); 
 
                 }
                 break;
-            case 10 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:64: T__22
+            case 11 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:70: T__22
                 {
                 mT__22(); 
 
                 }
                 break;
-            case 11 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:70: T__23
+            case 12 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:76: T__23
                 {
                 mT__23(); 
 
                 }
                 break;
-            case 12 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:76: T__24
+            case 13 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:82: T__24
                 {
                 mT__24(); 
 
                 }
                 break;
-            case 13 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:82: T__25
+            case 14 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:88: T__25
                 {
                 mT__25(); 
 
                 }
                 break;
-            case 14 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:88: T__26
+            case 15 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:94: T__26
                 {
                 mT__26(); 
 
                 }
                 break;
-            case 15 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:94: T__27
+            case 16 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:100: T__27
                 {
                 mT__27(); 
 
                 }
                 break;
-            case 16 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:100: T__28
+            case 17 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:106: T__28
                 {
                 mT__28(); 
 
                 }
                 break;
-            case 17 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:106: T__29
+            case 18 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:112: T__29
                 {
                 mT__29(); 
 
                 }
                 break;
-            case 18 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:112: T__30
+            case 19 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:118: T__30
                 {
                 mT__30(); 
 
                 }
                 break;
-            case 19 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:118: T__31
+            case 20 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:124: T__31
                 {
                 mT__31(); 
 
                 }
                 break;
-            case 20 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:124: T__32
+            case 21 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:130: T__32
                 {
                 mT__32(); 
 
                 }
                 break;
-            case 21 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:130: T__33
+            case 22 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:136: T__33
                 {
                 mT__33(); 
 
                 }
                 break;
-            case 22 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:136: T__34
+            case 23 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:142: T__34
                 {
                 mT__34(); 
 
                 }
                 break;
-            case 23 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:142: T__35
+            case 24 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:148: T__35
                 {
                 mT__35(); 
 
                 }
                 break;
-            case 24 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:148: T__36
+            case 25 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:154: T__36
                 {
                 mT__36(); 
 
                 }
                 break;
-            case 25 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:154: T__37
+            case 26 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:160: T__37
                 {
                 mT__37(); 
 
                 }
                 break;
-            case 26 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:160: T__38
+            case 27 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:166: T__38
                 {
                 mT__38(); 
 
                 }
                 break;
-            case 27 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:166: T__39
+            case 28 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:172: T__39
                 {
                 mT__39(); 
 
                 }
                 break;
-            case 28 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:172: T__40
+            case 29 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:178: T__40
                 {
                 mT__40(); 
 
                 }
                 break;
-            case 29 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:178: T__41
+            case 30 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:184: T__41
                 {
                 mT__41(); 
 
                 }
                 break;
-            case 30 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:184: T__42
+            case 31 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:190: T__42
                 {
                 mT__42(); 
 
                 }
                 break;
-            case 31 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:190: T__43
+            case 32 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:196: T__43
                 {
                 mT__43(); 
 
                 }
                 break;
-            case 32 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:196: T__44
+            case 33 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:202: T__44
                 {
                 mT__44(); 
 
                 }
                 break;
-            case 33 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:202: T__45
+            case 34 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:208: T__45
                 {
                 mT__45(); 
 
                 }
                 break;
-            case 34 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:208: T__46
+            case 35 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:214: T__46
                 {
                 mT__46(); 
 
                 }
                 break;
-            case 35 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:214: T__47
+            case 36 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:220: T__47
                 {
                 mT__47(); 
 
                 }
                 break;
-            case 36 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:220: T__48
+            case 37 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:226: T__48
                 {
                 mT__48(); 
 
                 }
                 break;
-            case 37 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:226: T__49
+            case 38 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:232: T__49
                 {
                 mT__49(); 
 
                 }
                 break;
-            case 38 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:232: T__50
+            case 39 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:238: T__50
                 {
                 mT__50(); 
 
                 }
                 break;
-            case 39 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:238: T__51
+            case 40 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:244: T__51
                 {
                 mT__51(); 
 
                 }
                 break;
-            case 40 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:244: T__52
+            case 41 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:250: T__52
                 {
                 mT__52(); 
 
                 }
                 break;
-            case 41 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:250: T__53
+            case 42 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:256: T__53
                 {
                 mT__53(); 
 
                 }
                 break;
-            case 42 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:256: T__54
+            case 43 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:262: T__54
                 {
                 mT__54(); 
 
                 }
                 break;
-            case 43 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:262: T__55
+            case 44 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:268: T__55
                 {
                 mT__55(); 
 
                 }
                 break;
-            case 44 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:268: T__56
+            case 45 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:274: T__56
                 {
                 mT__56(); 
 
                 }
                 break;
-            case 45 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:274: T__57
+            case 46 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:280: T__57
                 {
                 mT__57(); 
 
                 }
                 break;
-            case 46 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:280: T__58
+            case 47 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:286: T__58
                 {
                 mT__58(); 
 
                 }
                 break;
-            case 47 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:286: T__59
+            case 48 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:292: T__59
                 {
                 mT__59(); 
 
                 }
                 break;
-            case 48 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:292: T__60
+            case 49 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:298: T__60
                 {
                 mT__60(); 
 
                 }
                 break;
-            case 49 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:298: T__61
+            case 50 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:304: T__61
                 {
                 mT__61(); 
 
                 }
                 break;
-            case 50 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:304: T__62
+            case 51 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:310: T__62
                 {
                 mT__62(); 
 
                 }
                 break;
-            case 51 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:310: T__63
+            case 52 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:316: T__63
                 {
                 mT__63(); 
 
                 }
                 break;
-            case 52 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:316: T__64
+            case 53 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:322: T__64
                 {
                 mT__64(); 
 
                 }
                 break;
-            case 53 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:322: T__65
+            case 54 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:328: T__65
                 {
                 mT__65(); 
 
                 }
                 break;
-            case 54 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:328: T__66
+            case 55 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:334: T__66
                 {
                 mT__66(); 
 
                 }
                 break;
-            case 55 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:334: T__67
+            case 56 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:340: T__67
                 {
                 mT__67(); 
 
                 }
                 break;
-            case 56 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:340: T__68
+            case 57 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:346: T__68
                 {
                 mT__68(); 
 
                 }
                 break;
-            case 57 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:346: T__69
+            case 58 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:352: T__69
                 {
                 mT__69(); 
 
                 }
                 break;
-            case 58 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:352: T__70
+            case 59 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:358: T__70
                 {
                 mT__70(); 
 
                 }
                 break;
-            case 59 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:358: T__71
+            case 60 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:364: T__71
                 {
                 mT__71(); 
 
                 }
                 break;
-            case 60 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:364: T__72
+            case 61 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:370: T__72
                 {
                 mT__72(); 
 
                 }
                 break;
-            case 61 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:370: T__73
+            case 62 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:376: T__73
                 {
                 mT__73(); 
 
                 }
                 break;
-            case 62 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:376: T__74
+            case 63 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:382: T__74
                 {
                 mT__74(); 
 
                 }
                 break;
-            case 63 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:382: T__75
+            case 64 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:388: T__75
                 {
                 mT__75(); 
 
                 }
                 break;
-            case 64 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:388: T__76
+            case 65 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:394: T__76
                 {
                 mT__76(); 
 
                 }
                 break;
-            case 65 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:394: T__77
+            case 66 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:400: T__77
                 {
                 mT__77(); 
 
                 }
                 break;
-            case 66 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:400: T__78
+            case 67 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:406: T__78
                 {
                 mT__78(); 
 
                 }
                 break;
-            case 67 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:406: T__79
+            case 68 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:412: T__79
                 {
                 mT__79(); 
 
                 }
                 break;
-            case 68 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:412: T__80
+            case 69 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:418: T__80
                 {
                 mT__80(); 
 
                 }
                 break;
-            case 69 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:418: T__81
+            case 70 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:424: T__81
                 {
                 mT__81(); 
 
                 }
                 break;
-            case 70 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:424: T__82
+            case 71 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:430: T__82
                 {
                 mT__82(); 
 
                 }
                 break;
-            case 71 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:430: T__83
+            case 72 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:436: T__83
                 {
                 mT__83(); 
 
                 }
                 break;
-            case 72 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:436: T__84
+            case 73 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:442: T__84
                 {
                 mT__84(); 
 
                 }
                 break;
-            case 73 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:442: T__85
+            case 74 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:448: T__85
                 {
                 mT__85(); 
 
                 }
                 break;
-            case 74 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:448: T__86
+            case 75 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:454: T__86
                 {
                 mT__86(); 
 
                 }
                 break;
-            case 75 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:454: T__87
+            case 76 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:460: T__87
                 {
                 mT__87(); 
 
                 }
                 break;
-            case 76 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:460: T__88
+            case 77 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:466: T__88
                 {
                 mT__88(); 
 
                 }
                 break;
-            case 77 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:466: T__89
+            case 78 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:472: T__89
                 {
                 mT__89(); 
 
                 }
                 break;
-            case 78 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:472: T__90
+            case 79 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:478: T__90
                 {
                 mT__90(); 
 
                 }
                 break;
-            case 79 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:478: T__91
+            case 80 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:484: T__91
                 {
                 mT__91(); 
 
                 }
                 break;
-            case 80 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:484: T__92
+            case 81 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:490: T__92
                 {
                 mT__92(); 
 
                 }
                 break;
-            case 81 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:490: T__93
+            case 82 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:496: T__93
                 {
                 mT__93(); 
 
                 }
                 break;
-            case 82 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:496: T__94
+            case 83 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:502: T__94
                 {
                 mT__94(); 
 
                 }
                 break;
-            case 83 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:502: T__95
+            case 84 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:508: T__95
                 {
                 mT__95(); 
 
                 }
                 break;
-            case 84 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:508: T__96
+            case 85 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:514: T__96
                 {
                 mT__96(); 
 
                 }
                 break;
-            case 85 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:514: T__97
+            case 86 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:520: T__97
                 {
                 mT__97(); 
 
                 }
                 break;
-            case 86 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:520: T__98
+            case 87 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:526: T__98
                 {
                 mT__98(); 
 
                 }
                 break;
-            case 87 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:526: T__99
+            case 88 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:532: T__99
                 {
                 mT__99(); 
 
                 }
                 break;
-            case 88 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:532: T__100
+            case 89 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:538: T__100
                 {
                 mT__100(); 
 
                 }
                 break;
-            case 89 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:539: T__101
+            case 90 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:545: T__101
                 {
                 mT__101(); 
 
                 }
                 break;
-            case 90 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:546: T__102
+            case 91 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:552: T__102
                 {
                 mT__102(); 
 
                 }
                 break;
-            case 91 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:553: T__103
+            case 92 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:559: T__103
                 {
                 mT__103(); 
 
                 }
                 break;
-            case 92 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:560: T__104
+            case 93 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:566: T__104
                 {
                 mT__104(); 
 
                 }
                 break;
-            case 93 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:567: T__105
+            case 94 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:573: T__105
                 {
                 mT__105(); 
 
                 }
                 break;
-            case 94 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:574: T__106
+            case 95 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:580: T__106
                 {
                 mT__106(); 
 
                 }
                 break;
-            case 95 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:581: T__107
+            case 96 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:587: T__107
                 {
                 mT__107(); 
 
                 }
                 break;
-            case 96 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:588: T__108
+            case 97 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:594: T__108
                 {
                 mT__108(); 
 
                 }
                 break;
-            case 97 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:595: T__109
+            case 98 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:601: T__109
                 {
                 mT__109(); 
 
                 }
                 break;
-            case 98 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:602: T__110
+            case 99 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:608: T__110
                 {
                 mT__110(); 
 
                 }
                 break;
-            case 99 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:609: T__111
+            case 100 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:615: T__111
                 {
                 mT__111(); 
 
                 }
                 break;
-            case 100 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:616: T__112
+            case 101 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:622: T__112
                 {
                 mT__112(); 
 
                 }
                 break;
-            case 101 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:623: T__113
+            case 102 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:629: T__113
                 {
                 mT__113(); 
 
                 }
                 break;
-            case 102 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:630: T__114
+            case 103 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:636: T__114
                 {
                 mT__114(); 
 
                 }
                 break;
-            case 103 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:637: T__115
+            case 104 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:643: T__115
                 {
                 mT__115(); 
 
                 }
                 break;
-            case 104 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:644: T__116
+            case 105 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:650: T__116
                 {
                 mT__116(); 
 
                 }
                 break;
-            case 105 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:651: T__117
+            case 106 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:657: T__117
                 {
                 mT__117(); 
 
                 }
                 break;
-            case 106 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:658: T__118
+            case 107 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:664: T__118
                 {
                 mT__118(); 
 
                 }
                 break;
-            case 107 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:665: T__119
+            case 108 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:671: T__119
                 {
                 mT__119(); 
 
                 }
                 break;
-            case 108 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:672: T__120
+            case 109 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:678: T__120
                 {
                 mT__120(); 
 
                 }
                 break;
-            case 109 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:679: T__121
+            case 110 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:685: T__121
                 {
                 mT__121(); 
 
                 }
                 break;
-            case 110 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:686: T__122
+            case 111 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:692: T__122
                 {
                 mT__122(); 
 
                 }
                 break;
-            case 111 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:693: T__123
+            case 112 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:699: T__123
                 {
                 mT__123(); 
 
                 }
                 break;
-            case 112 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:700: T__124
+            case 113 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:706: T__124
                 {
                 mT__124(); 
 
                 }
                 break;
-            case 113 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:707: T__125
+            case 114 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:713: T__125
                 {
                 mT__125(); 
 
                 }
                 break;
-            case 114 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:714: T__126
+            case 115 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:720: T__126
                 {
                 mT__126(); 
 
                 }
                 break;
-            case 115 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:721: T__127
+            case 116 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:727: T__127
                 {
                 mT__127(); 
 
                 }
                 break;
-            case 116 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:728: T__128
+            case 117 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:734: T__128
                 {
                 mT__128(); 
 
                 }
                 break;
-            case 117 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:735: T__129
+            case 118 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:741: T__129
                 {
                 mT__129(); 
 
                 }
                 break;
-            case 118 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:742: T__130
+            case 119 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:748: T__130
                 {
                 mT__130(); 
 
                 }
                 break;
-            case 119 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:749: RULE_EXP
+            case 120 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:755: T__131
                 {
-                mRULE_EXP(); 
+                mT__131(); 
 
                 }
                 break;
-            case 120 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:758: RULE_HEX
+            case 121 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:762: RULE_HEX
                 {
                 mRULE_HEX(); 
 
                 }
                 break;
-            case 121 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:767: RULE_ID
+            case 122 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:771: RULE_ID
                 {
                 mRULE_ID(); 
 
                 }
                 break;
-            case 122 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:775: RULE_INT
+            case 123 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:779: RULE_INT
                 {
                 mRULE_INT(); 
 
                 }
                 break;
-            case 123 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:784: RULE_STRING
+            case 124 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:788: RULE_STRING
                 {
                 mRULE_STRING(); 
 
                 }
                 break;
-            case 124 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:796: RULE_ML_COMMENT
+            case 125 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:800: RULE_ML_COMMENT
                 {
                 mRULE_ML_COMMENT(); 
 
                 }
                 break;
-            case 125 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:812: RULE_SL_COMMENT
+            case 126 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:816: RULE_SL_COMMENT
                 {
                 mRULE_SL_COMMENT(); 
 
                 }
                 break;
-            case 126 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:828: RULE_WS
+            case 127 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:832: RULE_WS
                 {
                 mRULE_WS(); 
 
                 }
                 break;
-            case 127 :
-                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:836: RULE_ANY_OTHER
+            case 128 :
+                // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1:840: RULE_ANY_OTHER
                 {
                 mRULE_ANY_OTHER(); 
 
@@ -4199,79 +4163,80 @@
     }
 
 
-    protected DFA16 dfa16 = new DFA16(this);
-    static final String DFA16_eotS =
-        "\1\uffff\1\72\3\uffff\2\72\1\102\2\uffff\3\72\2\uffff\4\72\2\uffff"+
-        "\16\72\1\u0080\1\u0082\1\uffff\4\72\4\uffff\1\72\1\uffff\1\u0094"+
-        "\1\67\2\uffff\2\67\2\uffff\2\72\4\uffff\3\72\4\uffff\2\72\1\u00a1"+
-        "\3\72\1\114\1\uffff\1\u00a7\2\72\1\u00aa\1\72\2\uffff\10\72\2\uffff"+
-        "\10\72\1\u00be\1\u00c1\26\72\6\uffff\4\72\1\u00e1\2\72\4\uffff\3"+
-        "\72\5\uffff\2\72\1\u00e9\7\72\1\uffff\5\72\1\uffff\1\72\1\u00f8"+
-        "\1\uffff\16\72\1\u0108\4\72\1\uffff\2\72\1\uffff\6\72\1\u0117\1"+
-        "\u0118\11\72\1\u0122\15\72\1\uffff\7\72\1\uffff\4\72\1\u013c\1\72"+
-        "\1\u013e\7\72\1\uffff\3\72\1\u014a\7\72\1\u0152\3\72\1\uffff\1\72"+
-        "\1\u0157\1\u0158\1\72\1\u015a\11\72\2\uffff\11\72\1\uffff\12\72"+
-        "\1\u0177\4\72\1\u017c\11\72\1\uffff\1\72\1\uffff\13\72\1\uffff\1"+
-        "\u0192\6\72\1\uffff\1\u019c\3\72\2\uffff\1\72\1\uffff\10\72\1\u01aa"+
-        "\13\72\1\u01b6\7\72\1\uffff\1\72\1\u01bf\1\72\1\u01c1\1\uffff\1"+
-        "\u01c2\1\u01c3\23\72\1\uffff\11\72\1\uffff\6\72\1\u01e6\6\72\1\uffff"+
-        "\4\72\1\u01f1\2\72\1\u01f5\1\72\1\u01f7\1\72\1\uffff\7\72\1\u0200"+
-        "\1\uffff\1\72\3\uffff\2\72\1\u0205\4\72\1\u020a\11\72\1\u0214\17"+
-        "\72\1\u0224\1\uffff\7\72\1\u022c\2\72\1\uffff\1\72\1\u0230\1\u0231"+
-        "\1\uffff\1\72\1\uffff\3\72\1\u0236\4\72\1\uffff\4\72\1\uffff\4\72"+
-        "\1\uffff\5\72\1\u0249\1\u024a\1\u024b\1\72\1\uffff\1\u024d\1\72"+
-        "\1\u0252\3\72\1\u0256\4\72\1\u025b\2\72\1\u025e\1\uffff\7\72\1\uffff"+
-        "\3\72\2\uffff\1\u0269\2\72\1\u026c\1\uffff\4\72\1\u0271\1\72\1\u0273"+
-        "\2\72\1\u0276\2\72\1\u0279\4\72\1\u027e\3\uffff\1\u027f\1\uffff"+
-        "\1\72\1\u0281\1\u0282\1\u0283\1\uffff\1\u0284\2\72\1\uffff\2\72"+
-        "\1\u0289\1\u028a\1\uffff\2\72\1\uffff\4\72\1\u0292\2\72\1\u0295"+
-        "\1\u0296\1\72\1\uffff\1\u0298\1\u0299\1\uffff\4\72\1\uffff\1\u029e"+
-        "\1\uffff\2\72\1\uffff\2\72\1\uffff\1\u02a3\1\72\1\u02a5\1\72\2\uffff"+
-        "\1\72\4\uffff\1\u02a8\3\72\2\uffff\1\72\1\u02ad\5\72\1\uffff\2\72"+
-        "\2\uffff\1\72\2\uffff\3\72\1\u02ba\1\uffff\4\72\1\uffff\1\u02bf"+
-        "\1\uffff\1\72\1\u02c1\1\uffff\4\72\1\uffff\1\72\1\u02c7\1\u02c8"+
-        "\4\72\1\u02cd\4\72\1\uffff\1\u02d2\3\72\1\uffff\1\u02d6\1\uffff"+
-        "\3\72\1\u02da\1\72\2\uffff\1\u02dc\1\72\1\u02de\1\72\1\uffff\4\72"+
-        "\1\uffff\1\72\1\u02e5\1\u02e6\1\uffff\1\72\1\u02e8\1\72\1\uffff"+
-        "\1\72\1\uffff\1\72\1\uffff\1\72\1\u02ed\1\u02ee\3\72\2\uffff\1\72"+
-        "\1\uffff\1\u02f3\1\72\1\u02f5\1\72\2\uffff\4\72\1\uffff\1\72\1\uffff"+
-        "\1\72\1\u02fd\1\u02fe\4\72\2\uffff\1\u0303\3\72\1\uffff\6\72\1\u030d"+
-        "\2\72\1\uffff\1\u0310\1\u0311\2\uffff";
-    static final String DFA16_eofS =
+    protected DFA14 dfa14 = new DFA14(this);
+    static final String DFA14_eotS =
+        "\1\uffff\1\72\3\uffff\2\72\1\102\2\uffff\1\72\1\113\1\72\2\uffff"+
+        "\1\72\1\127\2\72\2\uffff\16\72\1\u0080\1\u0082\1\uffff\4\72\4\uffff"+
+        "\1\72\1\uffff\1\u0094\1\67\2\uffff\2\67\2\uffff\2\72\4\uffff\3\72"+
+        "\4\uffff\2\72\1\u00a1\3\72\1\uffff\1\u00a7\2\72\1\u00aa\1\72\2\uffff"+
+        "\4\72\1\uffff\4\72\2\uffff\10\72\1\u00be\1\u00c1\26\72\6\uffff\4"+
+        "\72\1\u00e1\2\72\4\uffff\3\72\5\uffff\2\72\1\u00e9\7\72\1\uffff"+
+        "\5\72\1\uffff\1\72\1\u00f8\1\uffff\16\72\1\u0108\4\72\1\uffff\2"+
+        "\72\1\uffff\6\72\1\u0117\1\u0118\11\72\1\u0122\15\72\1\uffff\7\72"+
+        "\1\uffff\4\72\1\u013c\1\72\1\u013e\7\72\1\uffff\3\72\1\u014a\7\72"+
+        "\1\u0152\3\72\1\uffff\1\72\1\u0157\1\u0158\1\72\1\u015a\11\72\2"+
+        "\uffff\11\72\1\uffff\12\72\1\u0177\4\72\1\u017c\11\72\1\uffff\1"+
+        "\72\1\uffff\13\72\1\uffff\1\u0192\6\72\1\uffff\1\u019c\3\72\2\uffff"+
+        "\1\72\1\uffff\10\72\1\u01aa\13\72\1\u01b6\7\72\1\uffff\1\72\1\u01bf"+
+        "\1\72\1\u01c1\1\uffff\1\u01c2\1\u01c3\23\72\1\uffff\11\72\1\uffff"+
+        "\6\72\1\u01e6\6\72\1\uffff\4\72\1\u01f1\2\72\1\u01f5\1\72\1\u01f7"+
+        "\1\72\1\uffff\7\72\1\u0200\1\uffff\1\72\3\uffff\2\72\1\u0205\4\72"+
+        "\1\u020a\11\72\1\u0214\17\72\1\u0224\1\uffff\7\72\1\u022c\2\72\1"+
+        "\uffff\1\72\1\u0230\1\u0231\1\uffff\1\72\1\uffff\3\72\1\u0236\4"+
+        "\72\1\uffff\4\72\1\uffff\4\72\1\uffff\5\72\1\u0249\1\u024a\1\u024b"+
+        "\1\72\1\uffff\1\u024d\1\72\1\u0252\3\72\1\u0256\4\72\1\u025b\2\72"+
+        "\1\u025e\1\uffff\7\72\1\uffff\3\72\2\uffff\1\u0269\2\72\1\u026c"+
+        "\1\uffff\4\72\1\u0271\1\72\1\u0273\2\72\1\u0276\2\72\1\u0279\4\72"+
+        "\1\u027e\3\uffff\1\u027f\1\uffff\1\72\1\u0281\1\u0282\1\u0283\1"+
+        "\uffff\1\u0284\2\72\1\uffff\2\72\1\u0289\1\u028a\1\uffff\2\72\1"+
+        "\uffff\4\72\1\u0292\2\72\1\u0295\1\u0296\1\72\1\uffff\1\u0298\1"+
+        "\u0299\1\uffff\4\72\1\uffff\1\u029e\1\uffff\2\72\1\uffff\2\72\1"+
+        "\uffff\1\u02a3\1\72\1\u02a5\1\72\2\uffff\1\72\4\uffff\1\u02a8\3"+
+        "\72\2\uffff\1\72\1\u02ad\5\72\1\uffff\2\72\2\uffff\1\72\2\uffff"+
+        "\3\72\1\u02ba\1\uffff\4\72\1\uffff\1\u02bf\1\uffff\1\72\1\u02c1"+
+        "\1\uffff\4\72\1\uffff\1\72\1\u02c7\1\u02c8\4\72\1\u02cd\4\72\1\uffff"+
+        "\1\u02d2\3\72\1\uffff\1\u02d6\1\uffff\3\72\1\u02da\1\72\2\uffff"+
+        "\1\u02dc\1\72\1\u02de\1\72\1\uffff\4\72\1\uffff\1\72\1\u02e5\1\u02e6"+
+        "\1\uffff\1\72\1\u02e8\1\72\1\uffff\1\72\1\uffff\1\72\1\uffff\1\72"+
+        "\1\u02ed\1\u02ee\3\72\2\uffff\1\72\1\uffff\1\u02f3\1\72\1\u02f5"+
+        "\1\72\2\uffff\4\72\1\uffff\1\72\1\uffff\1\72\1\u02fd\1\u02fe\4\72"+
+        "\2\uffff\1\u0303\3\72\1\uffff\6\72\1\u030d\2\72\1\uffff\1\u0310"+
+        "\1\u0311\2\uffff";
+    static final String DFA14_eofS =
         "\u0312\uffff";
-    static final String DFA16_minS =
-        "\1\0\1\145\3\uffff\1\145\1\157\1\76\2\uffff\1\141\1\53\1\146\2"+
-        "\uffff\1\141\1\53\1\163\1\143\2\uffff\1\160\1\157\1\141\1\157\1"+
+    static final String DFA14_minS =
+        "\1\0\1\145\3\uffff\1\145\1\157\1\76\2\uffff\1\141\1\60\1\146\2"+
+        "\uffff\1\141\1\60\1\163\1\143\2\uffff\1\160\1\157\1\141\1\157\1"+
         "\155\1\150\1\101\1\162\1\145\1\141\1\142\1\156\1\145\1\141\2\52"+
         "\1\uffff\1\162\1\141\1\165\1\141\4\uffff\1\141\1\uffff\1\130\1\101"+
         "\2\uffff\2\0\2\uffff\1\157\1\146\4\uffff\1\146\1\151\1\162\4\uffff"+
-        "\1\146\1\157\1\60\2\164\1\151\1\60\1\uffff\1\60\1\145\1\164\1\60"+
-        "\1\164\2\uffff\1\164\1\151\1\164\2\145\2\164\1\156\2\uffff\1\145"+
-        "\1\151\1\155\1\142\1\164\1\156\1\157\1\156\2\60\1\160\1\155\1\157"+
-        "\1\142\1\141\2\120\1\162\1\151\1\102\1\163\1\156\1\163\1\144\2\164"+
-        "\1\171\1\164\1\150\1\156\1\147\1\171\6\uffff\1\141\1\151\1\162\1"+
-        "\141\1\60\1\156\1\144\4\uffff\1\157\1\154\1\170\5\uffff\1\155\1"+
-        "\151\1\60\1\165\1\141\1\155\2\164\1\141\1\162\1\uffff\1\141\1\155"+
-        "\1\162\1\145\1\164\1\uffff\1\162\1\60\1\uffff\1\151\1\141\1\145"+
-        "\1\164\1\162\1\156\2\162\2\157\1\162\2\144\1\141\1\60\1\151\1\143"+
-        "\1\162\1\144\1\uffff\1\157\1\164\1\uffff\1\157\1\160\1\151\1\120"+
-        "\1\165\1\164\2\60\2\166\1\157\1\156\1\145\1\150\1\163\1\144\1\164"+
-        "\1\60\1\151\1\162\1\156\1\145\1\141\1\144\1\151\1\145\1\156\1\147"+
-        "\1\145\1\147\1\162\1\uffff\1\144\1\145\1\155\1\163\1\145\1\115\1"+
-        "\156\1\uffff\1\154\1\171\1\151\1\157\1\60\1\165\1\60\1\144\1\145"+
-        "\1\171\1\162\1\120\1\162\1\157\1\uffff\1\157\1\103\1\156\1\60\1"+
-        "\171\1\164\1\143\1\151\1\162\1\164\1\141\1\60\1\163\1\156\1\162"+
-        "\1\uffff\1\163\2\60\1\165\1\60\1\155\1\151\1\162\1\157\1\143\1\162"+
-        "\1\171\1\143\1\145\2\uffff\1\151\1\141\1\157\1\164\3\141\1\154\1"+
-        "\162\1\uffff\1\157\1\151\1\143\1\162\1\166\1\151\1\143\1\162\1\163"+
-        "\1\147\1\60\1\145\1\144\1\141\1\154\1\60\1\145\1\144\1\157\1\145"+
-        "\1\141\1\137\1\164\1\143\1\154\1\uffff\1\154\1\uffff\2\162\1\120"+
-        "\1\156\1\157\2\151\1\156\1\154\1\144\1\156\1\uffff\1\60\1\144\1"+
-        "\157\1\142\1\102\1\141\1\164\1\uffff\1\60\1\164\1\141\1\146\2\uffff"+
-        "\1\147\1\uffff\1\151\1\141\1\164\1\165\1\145\1\157\1\163\1\164\1"+
-        "\60\1\143\1\164\1\154\1\145\1\154\1\162\1\147\1\145\1\141\1\156"+
-        "\1\142\1\60\1\146\1\151\1\156\1\141\1\103\1\151\1\145\1\uffff\1"+
-        "\164\1\60\1\164\1\60\1\uffff\2\60\2\144\1\162\1\163\1\151\1\157"+
+        "\1\146\1\157\1\60\2\164\1\151\1\uffff\1\60\1\145\1\164\1\60\1\164"+
+        "\2\uffff\1\164\1\151\1\164\1\145\1\uffff\1\145\2\164\1\156\2\uffff"+
+        "\1\145\1\151\1\155\1\142\1\164\1\156\1\157\1\156\2\60\1\160\1\155"+
+        "\1\157\1\142\1\141\2\120\1\162\1\151\1\102\1\163\1\156\1\163\1\144"+
+        "\2\164\1\171\1\164\1\150\1\156\1\147\1\171\6\uffff\1\141\1\151\1"+
+        "\162\1\141\1\60\1\156\1\144\4\uffff\1\157\1\154\1\170\5\uffff\1"+
+        "\155\1\151\1\60\1\165\1\141\1\155\2\164\1\141\1\162\1\uffff\1\141"+
+        "\1\155\1\162\1\145\1\164\1\uffff\1\162\1\60\1\uffff\1\151\1\141"+
+        "\1\145\1\164\1\162\1\156\2\162\2\157\1\162\2\144\1\141\1\60\1\151"+
+        "\1\143\1\162\1\144\1\uffff\1\157\1\164\1\uffff\1\157\1\160\1\151"+
+        "\1\120\1\165\1\164\2\60\2\166\1\157\1\156\1\145\1\150\1\163\1\144"+
+        "\1\164\1\60\1\151\1\162\1\156\1\145\1\141\1\144\1\151\1\145\1\156"+
+        "\1\147\1\145\1\147\1\162\1\uffff\1\144\1\145\1\155\1\163\1\145\1"+
+        "\115\1\156\1\uffff\1\154\1\171\1\151\1\157\1\60\1\165\1\60\1\144"+
+        "\1\145\1\171\1\162\1\120\1\162\1\157\1\uffff\1\157\1\103\1\156\1"+
+        "\60\1\171\1\164\1\143\1\151\1\162\1\164\1\141\1\60\1\163\1\156\1"+
+        "\162\1\uffff\1\163\2\60\1\165\1\60\1\155\1\151\1\162\1\157\1\143"+
+        "\1\162\1\171\1\143\1\145\2\uffff\1\151\1\141\1\157\1\164\3\141\1"+
+        "\154\1\162\1\uffff\1\157\1\151\1\143\1\162\1\166\1\151\1\143\1\162"+
+        "\1\163\1\147\1\60\1\145\1\144\1\141\1\154\1\60\1\145\1\144\1\157"+
+        "\1\145\1\141\1\137\1\164\1\143\1\154\1\uffff\1\154\1\uffff\2\162"+
+        "\1\120\1\156\1\157\2\151\1\156\1\154\1\144\1\156\1\uffff\1\60\1"+
+        "\144\1\157\1\142\1\102\1\141\1\164\1\uffff\1\60\1\164\1\141\1\146"+
+        "\2\uffff\1\147\1\uffff\1\151\1\141\1\164\1\165\1\145\1\157\1\163"+
+        "\1\164\1\60\1\143\1\164\1\154\1\145\1\154\1\162\1\147\1\145\1\141"+
+        "\1\156\1\142\1\60\1\146\1\151\1\156\1\141\1\103\1\151\1\145\1\uffff"+
+        "\1\164\1\60\1\164\1\60\1\uffff\2\60\2\144\1\162\1\163\1\151\1\157"+
         "\1\141\1\164\1\151\1\141\1\157\1\141\1\151\1\144\1\156\2\141\1\163"+
         "\1\141\1\uffff\1\162\1\144\1\165\1\154\1\156\2\145\1\164\1\151\1"+
         "\uffff\1\151\1\160\1\151\1\141\1\156\1\154\1\60\1\156\1\120\2\164"+
@@ -4307,103 +4272,104 @@
         "\2\60\1\156\1\160\1\103\1\141\2\uffff\1\60\1\151\1\154\1\164\1\uffff"+
         "\1\156\1\141\1\151\1\147\1\163\1\157\1\60\1\163\1\156\1\uffff\2"+
         "\60\2\uffff";
-    static final String DFA16_maxS =
-        "\1\uffff\1\157\3\uffff\1\145\1\162\1\76\2\uffff\1\164\1\170\1\166"+
-        "\2\uffff\1\141\1\170\1\163\1\164\2\uffff\1\160\1\157\1\171\1\164"+
+    static final String DFA14_maxS =
+        "\1\uffff\1\157\3\uffff\1\145\1\162\1\76\2\uffff\1\164\1\172\1\166"+
+        "\2\uffff\1\141\1\172\1\163\1\164\2\uffff\1\160\1\157\1\171\1\164"+
         "\1\156\1\157\1\165\1\164\1\145\1\141\1\164\1\156\1\151\1\157\1\57"+
         "\1\52\1\uffff\2\162\1\165\1\171\4\uffff\1\162\1\uffff\1\170\1\172"+
         "\2\uffff\2\uffff\2\uffff\1\157\1\146\4\uffff\1\154\1\157\1\162\4"+
-        "\uffff\1\146\1\157\1\172\1\164\1\165\1\164\1\172\1\uffff\1\172\1"+
-        "\145\1\164\1\172\1\164\2\uffff\3\164\2\145\2\164\1\156\2\uffff\1"+
-        "\145\1\151\1\156\1\142\1\164\1\156\1\157\1\156\2\172\1\160\1\155"+
-        "\1\157\1\142\1\162\2\120\1\162\1\151\1\122\1\163\1\156\1\163\1\144"+
-        "\2\164\1\171\1\164\1\150\1\156\1\147\1\171\6\uffff\1\141\1\165\1"+
-        "\162\1\141\1\172\1\156\1\144\4\uffff\1\157\1\154\1\170\5\uffff\1"+
-        "\155\1\151\1\172\1\165\1\141\1\155\2\164\1\141\1\162\1\uffff\1\141"+
-        "\1\155\1\162\1\145\1\164\1\uffff\1\162\1\172\1\uffff\1\151\1\141"+
-        "\1\145\1\164\1\162\1\156\2\162\2\157\1\162\2\144\1\141\1\172\1\151"+
-        "\1\143\1\162\1\152\1\uffff\1\157\1\164\1\uffff\1\157\1\160\1\151"+
-        "\1\123\1\165\1\164\2\172\2\166\1\157\1\156\1\145\1\150\1\163\1\144"+
-        "\1\164\1\172\1\151\1\162\1\156\1\145\1\141\1\144\1\151\1\145\1\156"+
-        "\1\147\1\145\1\147\1\162\1\uffff\1\144\1\145\1\155\1\163\1\145\1"+
-        "\115\1\156\1\uffff\1\154\1\171\1\151\1\157\1\172\1\165\1\172\1\144"+
-        "\1\145\1\171\1\162\1\120\1\162\1\157\1\uffff\1\157\1\103\1\162\1"+
-        "\172\1\171\1\164\1\143\1\151\1\162\1\164\1\141\1\172\1\163\1\156"+
-        "\1\162\1\uffff\1\163\2\172\1\165\1\172\1\155\1\151\1\162\1\157\1"+
-        "\143\1\162\1\171\1\143\1\145\2\uffff\1\151\1\141\1\157\1\164\3\141"+
-        "\1\154\1\162\1\uffff\1\157\1\151\1\143\1\162\1\166\1\151\1\143\1"+
-        "\162\1\163\1\147\1\172\1\145\1\144\1\141\1\154\1\172\1\145\1\144"+
-        "\1\157\1\145\1\141\1\137\1\164\1\143\1\154\1\uffff\1\154\1\uffff"+
-        "\2\162\1\120\1\156\1\157\2\151\1\156\1\154\1\144\1\156\1\uffff\1"+
-        "\172\1\144\1\157\1\142\1\122\1\141\1\164\1\uffff\1\172\1\164\1\141"+
-        "\1\146\2\uffff\1\147\1\uffff\1\151\1\141\1\164\1\165\1\145\1\157"+
-        "\1\163\1\164\1\172\1\143\1\164\1\154\1\145\1\154\1\162\1\147\1\145"+
-        "\1\141\1\156\1\142\1\172\1\146\1\151\1\156\1\141\1\103\1\151\1\145"+
-        "\1\uffff\1\164\1\172\1\164\1\172\1\uffff\2\172\2\144\1\162\1\163"+
-        "\1\151\1\157\1\141\1\164\1\151\1\141\1\157\1\141\1\151\1\144\1\156"+
-        "\2\141\1\163\1\141\1\uffff\1\162\1\144\1\165\1\154\1\156\2\145\1"+
-        "\164\1\151\1\uffff\1\151\1\160\1\151\1\141\1\156\1\154\1\172\1\156"+
-        "\1\120\2\164\1\165\1\141\1\uffff\3\145\1\147\1\172\1\141\1\145\1"+
-        "\172\1\143\1\172\1\165\1\uffff\1\141\1\157\1\147\1\154\1\157\1\164"+
-        "\1\162\1\172\1\uffff\1\157\3\uffff\1\145\1\124\1\172\1\141\1\166"+
-        "\1\154\1\163\1\172\1\166\1\164\1\151\1\154\1\156\1\145\1\147\1\154"+
-        "\1\163\1\172\1\154\1\151\1\145\1\164\1\141\1\163\1\146\1\150\1\151"+
-        "\1\157\1\143\1\150\1\145\1\164\1\147\1\172\1\uffff\1\144\2\157\1"+
-        "\145\1\162\1\143\1\111\1\172\1\141\1\145\1\uffff\1\143\2\172\1\uffff"+
-        "\1\164\1\uffff\1\164\1\143\1\162\1\172\1\124\1\156\1\151\1\163\1"+
-        "\uffff\1\162\1\154\1\164\1\162\1\uffff\1\160\1\145\1\103\1\163\1"+
-        "\uffff\1\145\1\151\1\156\1\124\1\164\3\172\1\163\1\uffff\1\172\1"+
-        "\166\1\172\1\145\1\163\1\164\1\172\1\141\1\157\1\156\1\163\1\172"+
-        "\1\144\1\145\1\172\1\uffff\1\120\1\151\1\143\1\155\1\145\1\150\1"+
-        "\155\1\uffff\1\156\1\162\1\164\2\uffff\1\172\2\145\1\172\1\uffff"+
-        "\1\171\1\150\1\156\1\157\1\172\1\171\1\172\2\141\1\172\1\124\1\154"+
-        "\1\172\1\156\1\157\1\164\1\171\1\172\3\uffff\1\172\1\uffff\1\145"+
-        "\3\172\1\uffff\1\172\1\163\1\141\1\uffff\1\166\1\156\2\172\1\uffff"+
-        "\1\137\1\144\1\uffff\1\162\1\156\1\157\1\122\1\172\1\151\1\160\2"+
-        "\172\1\145\1\uffff\2\172\1\uffff\1\163\1\162\1\145\1\156\1\uffff"+
-        "\1\172\1\uffff\1\164\1\156\1\uffff\1\171\1\141\1\uffff\1\172\1\156"+
-        "\1\172\1\160\2\uffff\1\156\4\uffff\1\172\1\156\1\151\1\124\2\uffff"+
-        "\1\142\1\172\1\157\1\164\1\154\1\145\1\154\1\uffff\1\156\1\154\2"+
-        "\uffff\1\162\2\uffff\1\164\1\145\1\143\1\172\1\uffff\1\145\1\163"+
-        "\1\160\1\163\1\uffff\1\172\1\uffff\1\145\1\172\1\uffff\1\143\1\157"+
-        "\2\171\1\uffff\1\164\2\172\1\146\1\141\2\145\1\172\1\145\1\141\1"+
-        "\164\1\157\1\uffff\1\172\1\151\1\145\1\163\1\uffff\1\172\1\uffff"+
-        "\1\145\1\162\1\160\1\172\1\157\2\uffff\1\172\1\163\1\172\1\155\1"+
-        "\uffff\1\155\1\144\2\151\1\uffff\1\164\2\172\1\uffff\1\115\1\172"+
-        "\1\145\1\uffff\1\143\1\uffff\1\163\1\uffff\1\145\2\172\1\157\1\156"+
-        "\1\151\2\uffff\1\141\1\uffff\1\172\1\157\1\172\1\156\2\uffff\1\156"+
-        "\1\164\1\157\1\160\1\uffff\1\154\1\uffff\1\164\2\172\1\156\1\160"+
-        "\1\103\1\141\2\uffff\1\172\1\151\1\154\1\164\1\uffff\1\156\1\141"+
-        "\1\151\1\147\1\163\1\157\1\172\1\163\1\156\1\uffff\2\172\2\uffff";
-    static final String DFA16_acceptS =
+        "\uffff\1\146\1\157\1\172\1\164\1\165\1\164\1\uffff\1\172\1\145\1"+
+        "\164\1\172\1\164\2\uffff\3\164\1\145\1\uffff\1\145\2\164\1\156\2"+
+        "\uffff\1\145\1\151\1\156\1\142\1\164\1\156\1\157\1\156\2\172\1\160"+
+        "\1\155\1\157\1\142\1\162\2\120\1\162\1\151\1\122\1\163\1\156\1\163"+
+        "\1\144\2\164\1\171\1\164\1\150\1\156\1\147\1\171\6\uffff\1\141\1"+
+        "\165\1\162\1\141\1\172\1\156\1\144\4\uffff\1\157\1\154\1\170\5\uffff"+
+        "\1\155\1\151\1\172\1\165\1\141\1\155\2\164\1\141\1\162\1\uffff\1"+
+        "\141\1\155\1\162\1\145\1\164\1\uffff\1\162\1\172\1\uffff\1\151\1"+
+        "\141\1\145\1\164\1\162\1\156\2\162\2\157\1\162\2\144\1\141\1\172"+
+        "\1\151\1\143\1\162\1\152\1\uffff\1\157\1\164\1\uffff\1\157\1\160"+
+        "\1\151\1\123\1\165\1\164\2\172\2\166\1\157\1\156\1\145\1\150\1\163"+
+        "\1\144\1\164\1\172\1\151\1\162\1\156\1\145\1\141\1\144\1\151\1\145"+
+        "\1\156\1\147\1\145\1\147\1\162\1\uffff\1\144\1\145\1\155\1\163\1"+
+        "\145\1\115\1\156\1\uffff\1\154\1\171\1\151\1\157\1\172\1\165\1\172"+
+        "\1\144\1\145\1\171\1\162\1\120\1\162\1\157\1\uffff\1\157\1\103\1"+
+        "\162\1\172\1\171\1\164\1\143\1\151\1\162\1\164\1\141\1\172\1\163"+
+        "\1\156\1\162\1\uffff\1\163\2\172\1\165\1\172\1\155\1\151\1\162\1"+
+        "\157\1\143\1\162\1\171\1\143\1\145\2\uffff\1\151\1\141\1\157\1\164"+
+        "\3\141\1\154\1\162\1\uffff\1\157\1\151\1\143\1\162\1\166\1\151\1"+
+        "\143\1\162\1\163\1\147\1\172\1\145\1\144\1\141\1\154\1\172\1\145"+
+        "\1\144\1\157\1\145\1\141\1\137\1\164\1\143\1\154\1\uffff\1\154\1"+
+        "\uffff\2\162\1\120\1\156\1\157\2\151\1\156\1\154\1\144\1\156\1\uffff"+
+        "\1\172\1\144\1\157\1\142\1\122\1\141\1\164\1\uffff\1\172\1\164\1"+
+        "\141\1\146\2\uffff\1\147\1\uffff\1\151\1\141\1\164\1\165\1\145\1"+
+        "\157\1\163\1\164\1\172\1\143\1\164\1\154\1\145\1\154\1\162\1\147"+
+        "\1\145\1\141\1\156\1\142\1\172\1\146\1\151\1\156\1\141\1\103\1\151"+
+        "\1\145\1\uffff\1\164\1\172\1\164\1\172\1\uffff\2\172\2\144\1\162"+
+        "\1\163\1\151\1\157\1\141\1\164\1\151\1\141\1\157\1\141\1\151\1\144"+
+        "\1\156\2\141\1\163\1\141\1\uffff\1\162\1\144\1\165\1\154\1\156\2"+
+        "\145\1\164\1\151\1\uffff\1\151\1\160\1\151\1\141\1\156\1\154\1\172"+
+        "\1\156\1\120\2\164\1\165\1\141\1\uffff\3\145\1\147\1\172\1\141\1"+
+        "\145\1\172\1\143\1\172\1\165\1\uffff\1\141\1\157\1\147\1\154\1\157"+
+        "\1\164\1\162\1\172\1\uffff\1\157\3\uffff\1\145\1\124\1\172\1\141"+
+        "\1\166\1\154\1\163\1\172\1\166\1\164\1\151\1\154\1\156\1\145\1\147"+
+        "\1\154\1\163\1\172\1\154\1\151\1\145\1\164\1\141\1\163\1\146\1\150"+
+        "\1\151\1\157\1\143\1\150\1\145\1\164\1\147\1\172\1\uffff\1\144\2"+
+        "\157\1\145\1\162\1\143\1\111\1\172\1\141\1\145\1\uffff\1\143\2\172"+
+        "\1\uffff\1\164\1\uffff\1\164\1\143\1\162\1\172\1\124\1\156\1\151"+
+        "\1\163\1\uffff\1\162\1\154\1\164\1\162\1\uffff\1\160\1\145\1\103"+
+        "\1\163\1\uffff\1\145\1\151\1\156\1\124\1\164\3\172\1\163\1\uffff"+
+        "\1\172\1\166\1\172\1\145\1\163\1\164\1\172\1\141\1\157\1\156\1\163"+
+        "\1\172\1\144\1\145\1\172\1\uffff\1\120\1\151\1\143\1\155\1\145\1"+
+        "\150\1\155\1\uffff\1\156\1\162\1\164\2\uffff\1\172\2\145\1\172\1"+
+        "\uffff\1\171\1\150\1\156\1\157\1\172\1\171\1\172\2\141\1\172\1\124"+
+        "\1\154\1\172\1\156\1\157\1\164\1\171\1\172\3\uffff\1\172\1\uffff"+
+        "\1\145\3\172\1\uffff\1\172\1\163\1\141\1\uffff\1\166\1\156\2\172"+
+        "\1\uffff\1\137\1\144\1\uffff\1\162\1\156\1\157\1\122\1\172\1\151"+
+        "\1\160\2\172\1\145\1\uffff\2\172\1\uffff\1\163\1\162\1\145\1\156"+
+        "\1\uffff\1\172\1\uffff\1\164\1\156\1\uffff\1\171\1\141\1\uffff\1"+
+        "\172\1\156\1\172\1\160\2\uffff\1\156\4\uffff\1\172\1\156\1\151\1"+
+        "\124\2\uffff\1\142\1\172\1\157\1\164\1\154\1\145\1\154\1\uffff\1"+
+        "\156\1\154\2\uffff\1\162\2\uffff\1\164\1\145\1\143\1\172\1\uffff"+
+        "\1\145\1\163\1\160\1\163\1\uffff\1\172\1\uffff\1\145\1\172\1\uffff"+
+        "\1\143\1\157\2\171\1\uffff\1\164\2\172\1\146\1\141\2\145\1\172\1"+
+        "\145\1\141\1\164\1\157\1\uffff\1\172\1\151\1\145\1\163\1\uffff\1"+
+        "\172\1\uffff\1\145\1\162\1\160\1\172\1\157\2\uffff\1\172\1\163\1"+
+        "\172\1\155\1\uffff\1\155\1\144\2\151\1\uffff\1\164\2\172\1\uffff"+
+        "\1\115\1\172\1\145\1\uffff\1\143\1\uffff\1\163\1\uffff\1\145\2\172"+
+        "\1\157\1\156\1\151\2\uffff\1\141\1\uffff\1\172\1\157\1\172\1\156"+
+        "\2\uffff\1\156\1\164\1\157\1\160\1\uffff\1\154\1\uffff\1\164\2\172"+
+        "\1\156\1\160\1\103\1\141\2\uffff\1\172\1\151\1\154\1\164\1\uffff"+
+        "\1\156\1\141\1\151\1\147\1\163\1\157\1\172\1\163\1\156\1\uffff\2"+
+        "\172\2\uffff";
+    static final String DFA14_acceptS =
         "\2\uffff\1\2\1\3\1\4\3\uffff\1\10\1\11\3\uffff\1\15\1\16\4\uffff"+
         "\1\26\1\27\20\uffff\1\102\4\uffff\1\132\1\133\1\134\1\140\1\uffff"+
-        "\1\154\2\uffff\1\171\1\172\2\uffff\1\176\1\177\2\uffff\1\171\1\2"+
-        "\1\3\1\4\3\uffff\1\7\1\155\1\10\1\11\7\uffff\1\167\5\uffff\1\15"+
-        "\1\16\10\uffff\1\26\1\27\40\uffff\1\174\1\175\1\71\1\151\1\74\1"+
-        "\102\7\uffff\1\132\1\133\1\134\1\140\3\uffff\1\154\1\170\1\172\1"+
-        "\173\1\176\12\uffff\1\110\5\uffff\1\14\2\uffff\1\124\23\uffff\1"+
-        "\131\2\uffff\1\136\37\uffff\1\130\7\uffff\1\5\16\uffff\1\137\17"+
-        "\uffff\1\75\16\uffff\1\61\1\62\11\uffff\1\73\31\uffff\1\57\1\uffff"+
-        "\1\35\13\uffff\1\107\7\uffff\1\32\4\uffff\1\160\1\34\1\uffff\1\126"+
-        "\34\uffff\1\153\4\uffff\1\147\25\uffff\1\106\11\uffff\1\33\15\uffff"+
-        "\1\105\13\uffff\1\162\10\uffff\1\125\1\uffff\1\150\1\152\1\161\42"+
-        "\uffff\1\146\12\uffff\1\165\3\uffff\1\51\1\uffff\1\122\10\uffff"+
-        "\1\142\4\uffff\1\41\4\uffff\1\12\11\uffff\1\21\17\uffff\1\121\7"+
-        "\uffff\1\46\3\uffff\1\47\1\113\4\uffff\1\72\22\uffff\1\30\1\40\1"+
-        "\143\1\uffff\1\60\4\uffff\1\50\3\uffff\1\101\4\uffff\1\111\2\uffff"+
-        "\1\37\12\uffff\1\52\2\uffff\1\56\4\uffff\1\123\1\uffff\1\1\2\uffff"+
-        "\1\100\2\uffff\1\42\4\uffff\1\116\1\20\1\uffff\1\22\1\23\1\24\1"+
-        "\25\4\uffff\1\31\1\135\7\uffff\1\55\2\uffff\1\163\1\164\1\uffff"+
-        "\1\145\1\54\4\uffff\1\144\4\uffff\1\157\1\uffff\1\115\2\uffff\1"+
-        "\53\4\uffff\1\43\14\uffff\1\120\4\uffff\1\13\1\uffff\1\156\5\uffff"+
-        "\1\117\1\45\4\uffff\1\166\4\uffff\1\112\3\uffff\1\17\3\uffff\1\77"+
-        "\1\uffff\1\65\1\uffff\1\104\6\uffff\1\6\1\36\1\uffff\1\103\4\uffff"+
-        "\1\64\1\67\4\uffff\1\141\1\uffff\1\66\7\uffff\1\76\1\114\4\uffff"+
-        "\1\127\11\uffff\1\70\2\uffff\1\44\1\63";
-    static final String DFA16_specialS =
-        "\1\2\63\uffff\1\1\1\0\u02dc\uffff}>";
-    static final String[] DFA16_transitionS = {
+        "\1\154\2\uffff\1\172\1\173\2\uffff\1\177\1\u0080\2\uffff\1\172\1"+
+        "\2\1\3\1\4\3\uffff\1\7\1\155\1\10\1\11\6\uffff\1\157\5\uffff\1\15"+
+        "\1\16\4\uffff\1\156\4\uffff\1\26\1\27\40\uffff\1\175\1\176\1\71"+
+        "\1\151\1\74\1\102\7\uffff\1\132\1\133\1\134\1\140\3\uffff\1\154"+
+        "\1\171\1\173\1\174\1\177\12\uffff\1\110\5\uffff\1\14\2\uffff\1\124"+
+        "\23\uffff\1\131\2\uffff\1\136\37\uffff\1\130\7\uffff\1\5\16\uffff"+
+        "\1\137\17\uffff\1\75\16\uffff\1\61\1\62\11\uffff\1\73\31\uffff\1"+
+        "\57\1\uffff\1\35\13\uffff\1\107\7\uffff\1\32\4\uffff\1\162\1\34"+
+        "\1\uffff\1\126\34\uffff\1\153\4\uffff\1\147\25\uffff\1\106\11\uffff"+
+        "\1\33\15\uffff\1\105\13\uffff\1\164\10\uffff\1\125\1\uffff\1\150"+
+        "\1\152\1\163\42\uffff\1\146\12\uffff\1\167\3\uffff\1\51\1\uffff"+
+        "\1\122\10\uffff\1\142\4\uffff\1\41\4\uffff\1\12\11\uffff\1\21\17"+
+        "\uffff\1\121\7\uffff\1\46\3\uffff\1\47\1\113\4\uffff\1\72\22\uffff"+
+        "\1\30\1\40\1\143\1\uffff\1\60\4\uffff\1\50\3\uffff\1\101\4\uffff"+
+        "\1\111\2\uffff\1\37\12\uffff\1\52\2\uffff\1\56\4\uffff\1\123\1\uffff"+
+        "\1\1\2\uffff\1\100\2\uffff\1\42\4\uffff\1\116\1\20\1\uffff\1\22"+
+        "\1\23\1\24\1\25\4\uffff\1\31\1\135\7\uffff\1\55\2\uffff\1\165\1"+
+        "\166\1\uffff\1\145\1\54\4\uffff\1\144\4\uffff\1\161\1\uffff\1\115"+
+        "\2\uffff\1\53\4\uffff\1\43\14\uffff\1\120\4\uffff\1\13\1\uffff\1"+
+        "\160\5\uffff\1\117\1\45\4\uffff\1\170\4\uffff\1\112\3\uffff\1\17"+
+        "\3\uffff\1\77\1\uffff\1\65\1\uffff\1\104\6\uffff\1\6\1\36\1\uffff"+
+        "\1\103\4\uffff\1\64\1\67\4\uffff\1\141\1\uffff\1\66\7\uffff\1\76"+
+        "\1\114\4\uffff\1\127\11\uffff\1\70\2\uffff\1\44\1\63";
+    static final String DFA14_specialS =
+        "\1\0\63\uffff\1\1\1\2\u02dc\uffff}>";
+    static final String[] DFA14_transitionS = {
             "\11\67\2\66\2\67\1\66\22\67\1\66\1\67\1\64\4\67\1\65\1\10\1"+
             "\11\1\45\1\57\1\15\1\7\1\44\1\43\1\60\11\63\1\4\1\67\1\52\1"+
             "\16\1\54\1\67\1\55\1\22\1\41\1\32\1\17\1\13\3\62\1\40\2\62\1"+
@@ -4421,14 +4387,14 @@
             "",
             "",
             "\1\110\3\uffff\1\105\11\uffff\1\107\4\uffff\1\106",
-            "\1\114\1\uffff\1\114\2\uffff\12\113\64\uffff\1\111\11\uffff"+
-            "\1\112",
-            "\1\115\11\uffff\1\121\1\uffff\1\120\2\uffff\1\117\1\116",
+            "\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\15\72\1\111\11\72"+
+            "\1\112\2\72",
+            "\1\114\11\uffff\1\120\1\uffff\1\117\2\uffff\1\116\1\115",
             "",
             "",
-            "\1\124",
-            "\1\114\1\uffff\1\114\2\uffff\12\113\64\uffff\1\126\7\uffff"+
-            "\1\127\1\uffff\1\125",
+            "\1\123",
+            "\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\15\72\1\125\7\72"+
+            "\1\126\1\72\1\124\2\72",
             "\1\130",
             "\1\132\12\uffff\1\133\5\uffff\1\131",
             "",
@@ -4487,7 +4453,6 @@
             "\1\u00a2",
             "\1\u00a4\1\u00a3",
             "\1\u00a6\12\uffff\1\u00a5",
-            "\12\113\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72",
             "",
             "\12\72\7\uffff\32\72\4\uffff\1\72\1\uffff\32\72",
             "\1\u00a8",
@@ -4500,6 +4465,7 @@
             "\1\u00ae\12\uffff\1\u00ad",
             "\1\u00af",
             "\1\u00b0",
+            "",
             "\1\u00b1",
             "\1\u00b2",
             "\1\u00b3",
@@ -5208,181 +5174,181 @@
             ""
     };
 
-    static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
-    static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
-    static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
-    static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
-    static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
-    static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
-    static final short[][] DFA16_transition;
+    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+    static final short[][] DFA14_transition;
 
     static {
-        int numStates = DFA16_transitionS.length;
-        DFA16_transition = new short[numStates][];
+        int numStates = DFA14_transitionS.length;
+        DFA14_transition = new short[numStates][];
         for (int i=0; i<numStates; i++) {
-            DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
         }
     }
 
-    class DFA16 extends DFA {
+    class DFA14 extends DFA {
 
-        public DFA16(BaseRecognizer recognizer) {
+        public DFA14(BaseRecognizer recognizer) {
             this.recognizer = recognizer;
-            this.decisionNumber = 16;
-            this.eot = DFA16_eot;
-            this.eof = DFA16_eof;
-            this.min = DFA16_min;
-            this.max = DFA16_max;
-            this.accept = DFA16_accept;
-            this.special = DFA16_special;
-            this.transition = DFA16_transition;
+            this.decisionNumber = 14;
+            this.eot = DFA14_eot;
+            this.eof = DFA14_eof;
+            this.min = DFA14_min;
+            this.max = DFA14_max;
+            this.accept = DFA14_accept;
+            this.special = DFA14_special;
+            this.transition = DFA14_transition;
         }
         public String getDescription() {
-            return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | RULE_EXP | RULE_HEX | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+            return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | RULE_HEX | 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 LA16_53 = input.LA(1);
+                        int LA14_0 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_53>='\u0000' && LA16_53<='\uFFFF')) ) {s = 149;}
+                        if ( (LA14_0=='R') ) {s = 1;}
 
-                        else s = 55;
+                        else if ( (LA14_0=='{') ) {s = 2;}
+
+                        else if ( (LA14_0=='}') ) {s = 3;}
+
+                        else if ( (LA14_0==':') ) {s = 4;}
+
+                        else if ( (LA14_0=='r') ) {s = 5;}
+
+                        else if ( (LA14_0=='P') ) {s = 6;}
+
+                        else if ( (LA14_0=='-') ) {s = 7;}
+
+                        else if ( (LA14_0=='(') ) {s = 8;}
+
+                        else if ( (LA14_0==')') ) {s = 9;}
+
+                        else if ( (LA14_0=='d') ) {s = 10;}
+
+                        else if ( (LA14_0=='E') ) {s = 11;}
+
+                        else if ( (LA14_0=='o') ) {s = 12;}
+
+                        else if ( (LA14_0==',') ) {s = 13;}
+
+                        else if ( (LA14_0=='=') ) {s = 14;}
+
+                        else if ( (LA14_0=='D') ) {s = 15;}
+
+                        else if ( (LA14_0=='e') ) {s = 16;}
+
+                        else if ( (LA14_0=='u') ) {s = 17;}
+
+                        else if ( (LA14_0=='A') ) {s = 18;}
+
+                        else if ( (LA14_0=='[') ) {s = 19;}
+
+                        else if ( (LA14_0==']') ) {s = 20;}
+
+                        else if ( (LA14_0=='O') ) {s = 21;}
+
+                        else if ( (LA14_0=='v') ) {s = 22;}
+
+                        else if ( (LA14_0=='s') ) {s = 23;}
+
+                        else if ( (LA14_0=='c') ) {s = 24;}
+
+                        else if ( (LA14_0=='i') ) {s = 25;}
+
+                        else if ( (LA14_0=='C') ) {s = 26;}
+
+                        else if ( (LA14_0=='S') ) {s = 27;}
+
+                        else if ( (LA14_0=='p') ) {s = 28;}
+
+                        else if ( (LA14_0=='M') ) {s = 29;}
+
+                        else if ( (LA14_0=='h') ) {s = 30;}
+
+                        else if ( (LA14_0=='a') ) {s = 31;}
+
+                        else if ( (LA14_0=='I') ) {s = 32;}
+
+                        else if ( (LA14_0=='B') ) {s = 33;}
+
+                        else if ( (LA14_0=='L') ) {s = 34;}
+
+                        else if ( (LA14_0=='/') ) {s = 35;}
+
+                        else if ( (LA14_0=='.') ) {s = 36;}
+
+                        else if ( (LA14_0=='*') ) {s = 37;}
+
+                        else if ( (LA14_0=='T') ) {s = 38;}
+
+                        else if ( (LA14_0=='t') ) {s = 39;}
+
+                        else if ( (LA14_0=='g') ) {s = 40;}
+
+                        else if ( (LA14_0=='m') ) {s = 41;}
+
+                        else if ( (LA14_0=='<') ) {s = 42;}
+
+                        else if ( (LA14_0=='|') ) {s = 43;}
+
+                        else if ( (LA14_0=='>') ) {s = 44;}
+
+                        else if ( (LA14_0=='@') ) {s = 45;}
+
+                        else if ( (LA14_0=='f') ) {s = 46;}
+
+                        else if ( (LA14_0=='+') ) {s = 47;}
+
+                        else if ( (LA14_0=='0') ) {s = 48;}
+
+                        else if ( (LA14_0=='^') ) {s = 49;}
+
+                        else if ( ((LA14_0>='F' && LA14_0<='H')||(LA14_0>='J' && LA14_0<='K')||LA14_0=='N'||LA14_0=='Q'||(LA14_0>='U' && LA14_0<='Z')||LA14_0=='_'||LA14_0=='b'||(LA14_0>='j' && LA14_0<='l')||LA14_0=='n'||LA14_0=='q'||(LA14_0>='w' && LA14_0<='z')) ) {s = 50;}
+
+                        else if ( ((LA14_0>='1' && LA14_0<='9')) ) {s = 51;}
+
+                        else if ( (LA14_0=='\"') ) {s = 52;}
+
+                        else if ( (LA14_0=='\'') ) {s = 53;}
+
+                        else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 54;}
+
+                        else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='!'||(LA14_0>='#' && LA14_0<='&')||LA14_0==';'||LA14_0=='?'||LA14_0=='\\'||LA14_0=='`'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 55;}
 
                         if ( s>=0 ) return s;
                         break;
                     case 1 : 
-                        int LA16_52 = input.LA(1);
+                        int LA14_52 = input.LA(1);
 
                         s = -1;
-                        if ( ((LA16_52>='\u0000' && LA16_52<='\uFFFF')) ) {s = 149;}
+                        if ( ((LA14_52>='\u0000' && LA14_52<='\uFFFF')) ) {s = 149;}
 
                         else s = 55;
 
                         if ( s>=0 ) return s;
                         break;
                     case 2 : 
-                        int LA16_0 = input.LA(1);
+                        int LA14_53 = input.LA(1);
 
                         s = -1;
-                        if ( (LA16_0=='R') ) {s = 1;}
+                        if ( ((LA14_53>='\u0000' && LA14_53<='\uFFFF')) ) {s = 149;}
 
-                        else if ( (LA16_0=='{') ) {s = 2;}
-
-                        else if ( (LA16_0=='}') ) {s = 3;}
-
-                        else if ( (LA16_0==':') ) {s = 4;}
-
-                        else if ( (LA16_0=='r') ) {s = 5;}
-
-                        else if ( (LA16_0=='P') ) {s = 6;}
-
-                        else if ( (LA16_0=='-') ) {s = 7;}
-
-                        else if ( (LA16_0=='(') ) {s = 8;}
-
-                        else if ( (LA16_0==')') ) {s = 9;}
-
-                        else if ( (LA16_0=='d') ) {s = 10;}
-
-                        else if ( (LA16_0=='E') ) {s = 11;}
-
-                        else if ( (LA16_0=='o') ) {s = 12;}
-
-                        else if ( (LA16_0==',') ) {s = 13;}
-
-                        else if ( (LA16_0=='=') ) {s = 14;}
-
-                        else if ( (LA16_0=='D') ) {s = 15;}
-
-                        else if ( (LA16_0=='e') ) {s = 16;}
-
-                        else if ( (LA16_0=='u') ) {s = 17;}
-
-                        else if ( (LA16_0=='A') ) {s = 18;}
-
-                        else if ( (LA16_0=='[') ) {s = 19;}
-
-                        else if ( (LA16_0==']') ) {s = 20;}
-
-                        else if ( (LA16_0=='O') ) {s = 21;}
-
-                        else if ( (LA16_0=='v') ) {s = 22;}
-
-                        else if ( (LA16_0=='s') ) {s = 23;}
-
-                        else if ( (LA16_0=='c') ) {s = 24;}
-
-                        else if ( (LA16_0=='i') ) {s = 25;}
-
-                        else if ( (LA16_0=='C') ) {s = 26;}
-
-                        else if ( (LA16_0=='S') ) {s = 27;}
-
-                        else if ( (LA16_0=='p') ) {s = 28;}
-
-                        else if ( (LA16_0=='M') ) {s = 29;}
-
-                        else if ( (LA16_0=='h') ) {s = 30;}
-
-                        else if ( (LA16_0=='a') ) {s = 31;}
-
-                        else if ( (LA16_0=='I') ) {s = 32;}
-
-                        else if ( (LA16_0=='B') ) {s = 33;}
-
-                        else if ( (LA16_0=='L') ) {s = 34;}
-
-                        else if ( (LA16_0=='/') ) {s = 35;}
-
-                        else if ( (LA16_0=='.') ) {s = 36;}
-
-                        else if ( (LA16_0=='*') ) {s = 37;}
-
-                        else if ( (LA16_0=='T') ) {s = 38;}
-
-                        else if ( (LA16_0=='t') ) {s = 39;}
-
-                        else if ( (LA16_0=='g') ) {s = 40;}
-
-                        else if ( (LA16_0=='m') ) {s = 41;}
-
-                        else if ( (LA16_0=='<') ) {s = 42;}
-
-                        else if ( (LA16_0=='|') ) {s = 43;}
-
-                        else if ( (LA16_0=='>') ) {s = 44;}
-
-                        else if ( (LA16_0=='@') ) {s = 45;}
-
-                        else if ( (LA16_0=='f') ) {s = 46;}
-
-                        else if ( (LA16_0=='+') ) {s = 47;}
-
-                        else if ( (LA16_0=='0') ) {s = 48;}
-
-                        else if ( (LA16_0=='^') ) {s = 49;}
-
-                        else if ( ((LA16_0>='F' && LA16_0<='H')||(LA16_0>='J' && LA16_0<='K')||LA16_0=='N'||LA16_0=='Q'||(LA16_0>='U' && LA16_0<='Z')||LA16_0=='_'||LA16_0=='b'||(LA16_0>='j' && LA16_0<='l')||LA16_0=='n'||LA16_0=='q'||(LA16_0>='w' && LA16_0<='z')) ) {s = 50;}
-
-                        else if ( ((LA16_0>='1' && LA16_0<='9')) ) {s = 51;}
-
-                        else if ( (LA16_0=='\"') ) {s = 52;}
-
-                        else if ( (LA16_0=='\'') ) {s = 53;}
-
-                        else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 54;}
-
-                        else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='!'||(LA16_0>='#' && LA16_0<='&')||LA16_0==';'||LA16_0=='?'||LA16_0=='\\'||LA16_0=='`'||(LA16_0>='~' && LA16_0<='\uFFFF')) ) {s = 55;}
+                        else s = 55;
 
                         if ( s>=0 ) return s;
                         break;
             }
             NoViableAltException nvae =
-                new NoViableAltException(getDescription(), 16, _s, input);
+                new NoViableAltException(getDescription(), 14, _s, input);
             error(nvae);
             throw nvae;
         }
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomParser.java b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomParser.java
index 328106b..64b1b10 100644
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomParser.java
+++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoomParser.java
@@ -22,89 +22,11 @@
 @SuppressWarnings("all")
 public class InternalRoomParser extends AbstractInternalAntlrParser {
     public static final String[] tokenNames = new String[] {
-        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_EXP", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'RoomModel'", "'{'", "'}'", "':'", "'ref'", "'PrimitiveType'", "'->'", "'('", "')'", "'default'", "'Enumeration'", "'of'", "','", "'='", "'ExternalType'", "'DataClass'", "'extends'", "'usercode1'", "'usercode2'", "'usercode3'", "'Attribute'", "'['", "']'", "'override'", "'Operation'", "'void'", "'sends'", "'ctor'", "'dtor'", "'ProtocolClass'", "'incoming'", "'outgoing'", "'regular'", "'PortClass'", "'conjugated'", "'CompoundProtocolClass'", "'SubProtocol'", "'private'", "'Message'", "'usercode'", "'handle'", "'abstract'", "'ActorClass'", "'Interface'", "'Structure'", "'Behavior'", "'Port'", "'external'", "'SAP'", "'SPP'", "'ServiceImplementation'", "'LogicalSystem'", "'SubSystemRef'", "'SubSystemClass'", "'LogicalThread'", "'ActorInstanceMapping'", "'/'", "'Binding'", "'and'", "'.'", "'sub'", "'LayerConnection'", "'satisfied_by'", "'relay_sap'", "'ActorRef'", "'*'", "'ActorBehavior'", "'StateMachine'", "'State'", "'entry'", "'exit'", "'do'", "'subgraph'", "'RefinedState'", "'handler'", "'TransitionPoint'", "'EntryPoint'", "'ExitPoint'", "'ChoicePoint'", "'Transition'", "'initial'", "'action'", "'triggers'", "'or'", "'guard'", "'cond'", "'RefinedTransition'", "'my'", "'cp'", "'<'", "'|'", "'>'", "'semantics'", "'in'", "'out'", "'@'", "'AnnotationType'", "'target'", "'optional'", "'mandatory'", "'attribute'", "'import'", "'from'", "'model'", "'.*'", "'false'", "'true'", "'+'", "'-'", "'eventdriven'", "'datadriven'", "'sync'", "'fixed'", "'async'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_HEX", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'RoomModel'", "'{'", "'}'", "':'", "'ref'", "'PrimitiveType'", "'->'", "'('", "')'", "'default'", "'Enumeration'", "'of'", "','", "'='", "'ExternalType'", "'DataClass'", "'extends'", "'usercode1'", "'usercode2'", "'usercode3'", "'Attribute'", "'['", "']'", "'override'", "'Operation'", "'void'", "'sends'", "'ctor'", "'dtor'", "'ProtocolClass'", "'incoming'", "'outgoing'", "'regular'", "'PortClass'", "'conjugated'", "'CompoundProtocolClass'", "'SubProtocol'", "'private'", "'Message'", "'usercode'", "'handle'", "'abstract'", "'ActorClass'", "'Interface'", "'Structure'", "'Behavior'", "'Port'", "'external'", "'SAP'", "'SPP'", "'ServiceImplementation'", "'LogicalSystem'", "'SubSystemRef'", "'SubSystemClass'", "'LogicalThread'", "'ActorInstanceMapping'", "'/'", "'Binding'", "'and'", "'.'", "'sub'", "'LayerConnection'", "'satisfied_by'", "'relay_sap'", "'ActorRef'", "'*'", "'ActorBehavior'", "'StateMachine'", "'State'", "'entry'", "'exit'", "'do'", "'subgraph'", "'RefinedState'", "'handler'", "'TransitionPoint'", "'EntryPoint'", "'ExitPoint'", "'ChoicePoint'", "'Transition'", "'initial'", "'action'", "'triggers'", "'or'", "'guard'", "'cond'", "'RefinedTransition'", "'my'", "'cp'", "'<'", "'|'", "'>'", "'semantics'", "'in'", "'out'", "'@'", "'AnnotationType'", "'target'", "'optional'", "'mandatory'", "'attribute'", "'import'", "'from'", "'model'", "'.*'", "'false'", "'true'", "'+'", "'-'", "'e'", "'E'", "'eventdriven'", "'datadriven'", "'sync'", "'fixed'", "'async'", "'ptBoolean'", "'ptInteger'", "'ptReal'", "'ptCharacter'"
     };
-    public static final int RULE_ID=4;
-    public static final int T__29=29;
-    public static final int T__28=28;
-    public static final int T__27=27;
-    public static final int T__26=26;
-    public static final int T__25=25;
-    public static final int T__24=24;
-    public static final int T__23=23;
-    public static final int T__22=22;
-    public static final int RULE_ANY_OTHER=12;
-    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 RULE_HEX=7;
-    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__14=14;
-    public static final int T__13=13;
-    public static final int T__99=99;
-    public static final int T__98=98;
-    public static final int T__97=97;
-    public static final int T__96=96;
-    public static final int T__95=95;
-    public static final int T__80=80;
-    public static final int T__81=81;
-    public static final int T__82=82;
-    public static final int T__83=83;
-    public static final int T__85=85;
-    public static final int T__84=84;
-    public static final int T__87=87;
-    public static final int T__86=86;
-    public static final int T__89=89;
-    public static final int T__88=88;
-    public static final int RULE_ML_COMMENT=9;
-    public static final int T__126=126;
-    public static final int T__125=125;
-    public static final int T__128=128;
-    public static final int RULE_STRING=5;
-    public static final int T__127=127;
-    public static final int T__71=71;
-    public static final int T__129=129;
-    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__130=130;
-    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 RULE_EXP=8;
-    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__118=118;
-    public static final int T__119=119;
-    public static final int T__116=116;
-    public static final int T__117=117;
-    public static final int T__114=114;
-    public static final int T__115=115;
-    public static final int T__124=124;
-    public static final int T__123=123;
-    public static final int T__122=122;
-    public static final int T__121=121;
-    public static final int T__120=120;
-    public static final int T__61=61;
-    public static final int T__60=60;
+    public static final int T__50=50;
+    public static final int T__59=59;
     public static final int T__55=55;
     public static final int T__56=56;
     public static final int T__57=57;
@@ -113,45 +35,124 @@
     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__107=107;
-    public static final int T__108=108;
-    public static final int T__109=109;
-    public static final int T__103=103;
-    public static final int T__59=59;
-    public static final int T__104=104;
-    public static final int T__105=105;
-    public static final int T__106=106;
-    public static final int T__111=111;
-    public static final int T__110=110;
+    public static final int T__60=60;
+    public static final int T__61=61;
+    public static final int RULE_ID=4;
+    public static final int T__131=131;
+    public static final int T__130=130;
     public static final int RULE_INT=6;
-    public static final int T__113=113;
-    public static final int T__112=112;
-    public static final int T__50=50;
-    public static final int T__42=42;
-    public static final int T__43=43;
-    public static final int T__40=40;
-    public static final int T__41=41;
-    public static final int T__46=46;
-    public static final int T__47=47;
-    public static final int T__44=44;
-    public static final int T__45=45;
-    public static final int T__48=48;
-    public static final int T__49=49;
-    public static final int T__102=102;
-    public static final int T__101=101;
-    public static final int T__100=100;
-    public static final int RULE_SL_COMMENT=10;
-    public static final int T__30=30;
-    public static final int T__31=31;
-    public static final int T__32=32;
+    public static final int T__66=66;
+    public static final int RULE_ML_COMMENT=8;
+    public static final int T__67=67;
+    public static final int T__129=129;
+    public static final int T__68=68;
+    public static final int T__69=69;
+    public static final int T__62=62;
+    public static final int T__126=126;
+    public static final int T__63=63;
+    public static final int T__125=125;
+    public static final int T__64=64;
+    public static final int T__128=128;
+    public static final int T__65=65;
+    public static final int T__127=127;
+    public static final int T__37=37;
+    public static final int T__38=38;
+    public static final int T__39=39;
     public static final int T__33=33;
     public static final int T__34=34;
     public static final int T__35=35;
     public static final int T__36=36;
-    public static final int T__37=37;
-    public static final int T__38=38;
-    public static final int T__39=39;
-    public static final int RULE_WS=11;
+    public static final int T__30=30;
+    public static final int T__31=31;
+    public static final int T__32=32;
+    public static final int T__48=48;
+    public static final int T__49=49;
+    public static final int T__44=44;
+    public static final int T__45=45;
+    public static final int T__46=46;
+    public static final int T__47=47;
+    public static final int T__40=40;
+    public static final int T__41=41;
+    public static final int T__42=42;
+    public static final int T__43=43;
+    public static final int T__91=91;
+    public static final int T__100=100;
+    public static final int T__92=92;
+    public static final int T__93=93;
+    public static final int T__102=102;
+    public static final int T__94=94;
+    public static final int T__101=101;
+    public static final int T__90=90;
+    public static final int T__19=19;
+    public static final int T__15=15;
+    public static final int T__16=16;
+    public static final int T__17=17;
+    public static final int T__18=18;
+    public static final int T__99=99;
+    public static final int T__12=12;
+    public static final int T__13=13;
+    public static final int T__14=14;
+    public static final int T__95=95;
+    public static final int T__96=96;
+    public static final int T__97=97;
+    public static final int T__98=98;
+    public static final int T__26=26;
+    public static final int T__27=27;
+    public static final int T__28=28;
+    public static final int T__29=29;
+    public static final int T__22=22;
+    public static final int T__23=23;
+    public static final int T__24=24;
+    public static final int T__25=25;
+    public static final int T__20=20;
+    public static final int T__21=21;
+    public static final int T__122=122;
+    public static final int T__70=70;
+    public static final int T__121=121;
+    public static final int T__71=71;
+    public static final int T__124=124;
+    public static final int T__72=72;
+    public static final int T__123=123;
+    public static final int T__120=120;
+    public static final int RULE_STRING=5;
+    public static final int RULE_SL_COMMENT=9;
+    public static final int T__77=77;
+    public static final int T__119=119;
+    public static final int T__78=78;
+    public static final int T__118=118;
+    public static final int T__79=79;
+    public static final int T__73=73;
+    public static final int T__115=115;
+    public static final int EOF=-1;
+    public static final int T__74=74;
+    public static final int T__114=114;
+    public static final int T__75=75;
+    public static final int T__117=117;
+    public static final int T__76=76;
+    public static final int T__116=116;
+    public static final int T__80=80;
+    public static final int T__111=111;
+    public static final int T__81=81;
+    public static final int T__110=110;
+    public static final int T__82=82;
+    public static final int T__113=113;
+    public static final int T__83=83;
+    public static final int T__112=112;
+    public static final int RULE_WS=10;
+    public static final int RULE_ANY_OTHER=11;
+    public static final int T__88=88;
+    public static final int T__108=108;
+    public static final int T__89=89;
+    public static final int T__107=107;
+    public static final int T__109=109;
+    public static final int T__84=84;
+    public static final int T__104=104;
+    public static final int T__85=85;
+    public static final int T__103=103;
+    public static final int T__86=86;
+    public static final int T__106=106;
+    public static final int T__87=87;
+    public static final int T__105=105;
 
     // delegates
     // delegators
@@ -269,7 +270,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:81:1: (otherlv_0= 'RoomModel' ( (lv_name_1_0= ruleFQN ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( (lv_imports_4_0= ruleImport ) )* ( ( (lv_primitiveTypes_5_0= rulePrimitiveType ) ) | ( (lv_enumerationTypes_6_0= ruleEnumerationType ) ) | ( (lv_externalTypes_7_0= ruleExternalType ) ) | ( (lv_dataClasses_8_0= ruleDataClass ) ) | ( (lv_protocolClasses_9_0= ruleGeneralProtocolClass ) ) | ( (lv_actorClasses_10_0= ruleActorClass ) ) | ( (lv_subSystemClasses_11_0= ruleSubSystemClass ) ) | ( (lv_systems_12_0= ruleLogicalSystem ) ) | ( (lv_annotationTypes_13_0= ruleAnnotationType ) ) )* otherlv_14= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:81:3: otherlv_0= 'RoomModel' ( (lv_name_1_0= ruleFQN ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( (lv_imports_4_0= ruleImport ) )* ( ( (lv_primitiveTypes_5_0= rulePrimitiveType ) ) | ( (lv_enumerationTypes_6_0= ruleEnumerationType ) ) | ( (lv_externalTypes_7_0= ruleExternalType ) ) | ( (lv_dataClasses_8_0= ruleDataClass ) ) | ( (lv_protocolClasses_9_0= ruleGeneralProtocolClass ) ) | ( (lv_actorClasses_10_0= ruleActorClass ) ) | ( (lv_subSystemClasses_11_0= ruleSubSystemClass ) ) | ( (lv_systems_12_0= ruleLogicalSystem ) ) | ( (lv_annotationTypes_13_0= ruleAnnotationType ) ) )* otherlv_14= '}'
             {
-            otherlv_0=(Token)match(input,13,FOLLOW_13_in_ruleRoomModel122); 
+            otherlv_0=(Token)match(input,12,FOLLOW_12_in_ruleRoomModel122); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getRoomModelAccess().getRoomModelKeyword_0());
                 
@@ -308,7 +309,7 @@
             int alt1=2;
             int LA1_0 = input.LA(1);
 
-            if ( (LA1_0==34) ) {
+            if ( (LA1_0==33) ) {
                 alt1=1;
             }
             switch (alt1) {
@@ -346,7 +347,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleRoomModel177); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleRoomModel177); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_3());
                 
@@ -356,7 +357,7 @@
                 int alt2=2;
                 int LA2_0 = input.LA(1);
 
-                if ( (LA2_0==114) ) {
+                if ( (LA2_0==113) ) {
                     alt2=1;
                 }
 
@@ -744,7 +745,7 @@
                 }
             } while (true);
 
-            otherlv_14=(Token)match(input,15,FOLLOW_15_in_ruleRoomModel451); 
+            otherlv_14=(Token)match(input,14,FOLLOW_14_in_ruleRoomModel451); 
 
                 	newLeafNode(otherlv_14, grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_6());
                 
@@ -824,10 +825,10 @@
             int alt4=2;
             int LA4_0 = input.LA(1);
 
-            if ( ((LA4_0>=54 && LA4_0<=55)||LA4_0==66||(LA4_0>=122 && LA4_0<=124)||LA4_0==126) ) {
+            if ( ((LA4_0>=53 && LA4_0<=54)||LA4_0==65||(LA4_0>=123 && LA4_0<=125)||LA4_0==127) ) {
                 alt4=1;
             }
-            else if ( (LA4_0==64) ) {
+            else if ( (LA4_0==63) ) {
                 alt4=2;
             }
             else {
@@ -949,10 +950,10 @@
             int alt5=2;
             int LA5_0 = input.LA(1);
 
-            if ( ((LA5_0>=54 && LA5_0<=55)||(LA5_0>=122 && LA5_0<=124)||LA5_0==126) ) {
+            if ( ((LA5_0>=53 && LA5_0<=54)||(LA5_0>=123 && LA5_0<=125)||LA5_0==127) ) {
                 alt5=1;
             }
-            else if ( (LA5_0==66) ) {
+            else if ( (LA5_0==65) ) {
                 alt5=2;
             }
             else {
@@ -1099,7 +1100,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleVarDecl796); 
+            otherlv_1=(Token)match(input,15,FOLLOW_15_in_ruleVarDecl796); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getVarDeclAccess().getColonKeyword_1());
                 
@@ -1238,7 +1239,7 @@
             int alt6=2;
             int LA6_0 = input.LA(1);
 
-            if ( (LA6_0==17) ) {
+            if ( (LA6_0==16) ) {
                 alt6=1;
             }
             switch (alt6) {
@@ -1248,7 +1249,7 @@
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:497:1: (lv_ref_1_0= 'ref' )
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:498:3: lv_ref_1_0= 'ref'
                     {
-                    lv_ref_1_0=(Token)match(input,17,FOLLOW_17_in_ruleRefableType929); 
+                    lv_ref_1_0=(Token)match(input,16,FOLLOW_16_in_ruleRefableType929); 
 
                             newLeafNode(lv_ref_1_0, grammarAccess.getRefableTypeAccess().getRefRefKeyword_1_0());
                         
@@ -1344,18 +1345,18 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:532:1: (this_PrimitiveType_0= rulePrimitiveType | this_EnumerationType_1= ruleEnumerationType | this_ComplexType_2= ruleComplexType )
             int alt7=3;
             switch ( input.LA(1) ) {
-            case 18:
+            case 17:
                 {
                 alt7=1;
                 }
                 break;
-            case 23:
+            case 22:
                 {
                 alt7=2;
                 }
                 break;
+            case 26:
             case 27:
-            case 28:
                 {
                 alt7=3;
                 }
@@ -1498,10 +1499,10 @@
             int alt8=2;
             int LA8_0 = input.LA(1);
 
-            if ( (LA8_0==28) ) {
+            if ( (LA8_0==27) ) {
                 alt8=1;
             }
-            else if ( (LA8_0==27) ) {
+            else if ( (LA8_0==26) ) {
                 alt8=2;
             }
             else {
@@ -1633,7 +1634,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:622:1: (otherlv_0= 'PrimitiveType' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleLiteralType ) ) otherlv_4= '->' ( (lv_targetName_5_0= RULE_STRING ) ) (otherlv_6= '(' ( (lv_castName_7_0= ruleFQN ) ) otherlv_8= ')' )? otherlv_9= 'default' ( (lv_defaultValueLiteral_10_0= RULE_STRING ) ) ( (lv_docu_11_0= ruleDocumentation ) )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:622:3: otherlv_0= 'PrimitiveType' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleLiteralType ) ) otherlv_4= '->' ( (lv_targetName_5_0= RULE_STRING ) ) (otherlv_6= '(' ( (lv_castName_7_0= ruleFQN ) ) otherlv_8= ')' )? otherlv_9= 'default' ( (lv_defaultValueLiteral_10_0= RULE_STRING ) ) ( (lv_docu_11_0= ruleDocumentation ) )?
             {
-            otherlv_0=(Token)match(input,18,FOLLOW_18_in_rulePrimitiveType1291); 
+            otherlv_0=(Token)match(input,17,FOLLOW_17_in_rulePrimitiveType1291); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getPrimitiveTypeAccess().getPrimitiveTypeKeyword_0());
                 
@@ -1663,7 +1664,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,16,FOLLOW_16_in_rulePrimitiveType1325); 
+            otherlv_2=(Token)match(input,15,FOLLOW_15_in_rulePrimitiveType1325); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getPrimitiveTypeAccess().getColonKeyword_2());
                 
@@ -1698,7 +1699,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,19,FOLLOW_19_in_rulePrimitiveType1358); 
+            otherlv_4=(Token)match(input,18,FOLLOW_18_in_rulePrimitiveType1358); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getPrimitiveTypeAccess().getHyphenMinusGreaterThanSignKeyword_4());
                 
@@ -1732,14 +1733,14 @@
             int alt9=2;
             int LA9_0 = input.LA(1);
 
-            if ( (LA9_0==20) ) {
+            if ( (LA9_0==19) ) {
                 alt9=1;
             }
             switch (alt9) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:688:4: otherlv_6= '(' ( (lv_castName_7_0= ruleFQN ) ) otherlv_8= ')'
                     {
-                    otherlv_6=(Token)match(input,20,FOLLOW_20_in_rulePrimitiveType1393); 
+                    otherlv_6=(Token)match(input,19,FOLLOW_19_in_rulePrimitiveType1393); 
 
                         	newLeafNode(otherlv_6, grammarAccess.getPrimitiveTypeAccess().getLeftParenthesisKeyword_6_0());
                         
@@ -1774,7 +1775,7 @@
 
                     }
 
-                    otherlv_8=(Token)match(input,21,FOLLOW_21_in_rulePrimitiveType1426); 
+                    otherlv_8=(Token)match(input,20,FOLLOW_20_in_rulePrimitiveType1426); 
 
                         	newLeafNode(otherlv_8, grammarAccess.getPrimitiveTypeAccess().getRightParenthesisKeyword_6_2());
                         
@@ -1784,7 +1785,7 @@
 
             }
 
-            otherlv_9=(Token)match(input,22,FOLLOW_22_in_rulePrimitiveType1440); 
+            otherlv_9=(Token)match(input,21,FOLLOW_21_in_rulePrimitiveType1440); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getPrimitiveTypeAccess().getDefaultKeyword_7());
                 
@@ -1818,7 +1819,7 @@
             int alt10=2;
             int LA10_0 = input.LA(1);
 
-            if ( (LA10_0==34) ) {
+            if ( (LA10_0==33) ) {
                 alt10=1;
             }
             switch (alt10) {
@@ -1939,7 +1940,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:775:1: (otherlv_0= 'Enumeration' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? (otherlv_3= 'of' ( ( ruleFQN ) ) )? otherlv_5= '{' ( ( (lv_literals_6_0= ruleEnumLiteral ) ) (otherlv_7= ',' ( (lv_literals_8_0= ruleEnumLiteral ) ) )* )? otherlv_9= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:775:3: otherlv_0= 'Enumeration' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? (otherlv_3= 'of' ( ( ruleFQN ) ) )? otherlv_5= '{' ( ( (lv_literals_6_0= ruleEnumLiteral ) ) (otherlv_7= ',' ( (lv_literals_8_0= ruleEnumLiteral ) ) )* )? otherlv_9= '}'
             {
-            otherlv_0=(Token)match(input,23,FOLLOW_23_in_ruleEnumerationType1567); 
+            otherlv_0=(Token)match(input,22,FOLLOW_22_in_ruleEnumerationType1567); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getEnumerationTypeAccess().getEnumerationKeyword_0());
                 
@@ -1973,7 +1974,7 @@
             int alt11=2;
             int LA11_0 = input.LA(1);
 
-            if ( (LA11_0==34) ) {
+            if ( (LA11_0==33) ) {
                 alt11=1;
             }
             switch (alt11) {
@@ -2015,14 +2016,14 @@
             int alt12=2;
             int LA12_0 = input.LA(1);
 
-            if ( (LA12_0==24) ) {
+            if ( (LA12_0==23) ) {
                 alt12=1;
             }
             switch (alt12) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:815:5: otherlv_3= 'of' ( ( ruleFQN ) )
                     {
-                    otherlv_3=(Token)match(input,24,FOLLOW_24_in_ruleEnumerationType1624); 
+                    otherlv_3=(Token)match(input,23,FOLLOW_23_in_ruleEnumerationType1624); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getEnumerationTypeAccess().getOfKeyword_3_0());
                         
@@ -2060,7 +2061,7 @@
 
             }
 
-            otherlv_5=(Token)match(input,14,FOLLOW_14_in_ruleEnumerationType1661); 
+            otherlv_5=(Token)match(input,13,FOLLOW_13_in_ruleEnumerationType1661); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getEnumerationTypeAccess().getLeftCurlyBracketKeyword_4());
                 
@@ -2112,7 +2113,7 @@
                         int alt13=2;
                         int LA13_0 = input.LA(1);
 
-                        if ( (LA13_0==25) ) {
+                        if ( (LA13_0==24) ) {
                             alt13=1;
                         }
 
@@ -2121,7 +2122,7 @@
                     	case 1 :
                     	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:856:4: otherlv_7= ',' ( (lv_literals_8_0= ruleEnumLiteral ) )
                     	    {
-                    	    otherlv_7=(Token)match(input,25,FOLLOW_25_in_ruleEnumerationType1696); 
+                    	    otherlv_7=(Token)match(input,24,FOLLOW_24_in_ruleEnumerationType1696); 
 
                     	        	newLeafNode(otherlv_7, grammarAccess.getEnumerationTypeAccess().getCommaKeyword_5_1_0());
                     	        
@@ -2171,7 +2172,7 @@
 
             }
 
-            otherlv_9=(Token)match(input,15,FOLLOW_15_in_ruleEnumerationType1733); 
+            otherlv_9=(Token)match(input,14,FOLLOW_14_in_ruleEnumerationType1733); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getEnumerationTypeAccess().getRightCurlyBracketKeyword_6());
                 
@@ -2280,14 +2281,14 @@
             int alt15=2;
             int LA15_0 = input.LA(1);
 
-            if ( (LA15_0==26) ) {
+            if ( (LA15_0==25) ) {
                 alt15=1;
             }
             switch (alt15) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:921:4: otherlv_1= '=' ( (lv_literal_2_0= ruleIntLiteral ) )
                     {
-                    otherlv_1=(Token)match(input,26,FOLLOW_26_in_ruleEnumLiteral1839); 
+                    otherlv_1=(Token)match(input,25,FOLLOW_25_in_ruleEnumLiteral1839); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getEnumLiteralAccess().getEqualsSignKeyword_1_0());
                         
@@ -2407,7 +2408,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:964:1: (otherlv_0= 'ExternalType' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '->' ( (lv_targetName_3_0= RULE_STRING ) ) (otherlv_4= 'default' ( (lv_defaultValueLiteral_5_0= RULE_STRING ) ) )? ( (lv_docu_6_0= ruleDocumentation ) )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:964:3: otherlv_0= 'ExternalType' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '->' ( (lv_targetName_3_0= RULE_STRING ) ) (otherlv_4= 'default' ( (lv_defaultValueLiteral_5_0= RULE_STRING ) ) )? ( (lv_docu_6_0= ruleDocumentation ) )?
             {
-            otherlv_0=(Token)match(input,27,FOLLOW_27_in_ruleExternalType1945); 
+            otherlv_0=(Token)match(input,26,FOLLOW_26_in_ruleExternalType1945); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getExternalTypeAccess().getExternalTypeKeyword_0());
                 
@@ -2437,7 +2438,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,19,FOLLOW_19_in_ruleExternalType1979); 
+            otherlv_2=(Token)match(input,18,FOLLOW_18_in_ruleExternalType1979); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getExternalTypeAccess().getHyphenMinusGreaterThanSignKeyword_2());
                 
@@ -2471,14 +2472,14 @@
             int alt16=2;
             int LA16_0 = input.LA(1);
 
-            if ( (LA16_0==22) ) {
+            if ( (LA16_0==21) ) {
                 alt16=1;
             }
             switch (alt16) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1008:4: otherlv_4= 'default' ( (lv_defaultValueLiteral_5_0= RULE_STRING ) )
                     {
-                    otherlv_4=(Token)match(input,22,FOLLOW_22_in_ruleExternalType2014); 
+                    otherlv_4=(Token)match(input,21,FOLLOW_21_in_ruleExternalType2014); 
 
                         	newLeafNode(otherlv_4, grammarAccess.getExternalTypeAccess().getDefaultKeyword_4_0());
                         
@@ -2518,7 +2519,7 @@
             int alt17=2;
             int LA17_0 = input.LA(1);
 
-            if ( (LA17_0==34) ) {
+            if ( (LA17_0==33) ) {
                 alt17=1;
             }
             switch (alt17) {
@@ -2651,7 +2652,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1069:1: (otherlv_0= 'DataClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? (otherlv_3= 'extends' ( ( ruleFQN ) ) )? otherlv_5= '{' ( (lv_annotations_6_0= ruleAnnotation ) )* (otherlv_7= 'usercode1' ( (lv_userCode1_8_0= ruleDetailCode ) ) )? (otherlv_9= 'usercode2' ( (lv_userCode2_10_0= ruleDetailCode ) ) )? (otherlv_11= 'usercode3' ( (lv_userCode3_12_0= ruleDetailCode ) ) )? ( ( (lv_operations_13_0= ruleStandardOperation ) ) | ( (lv_structors_14_0= ruleClassStructor ) ) | ( (lv_attributes_15_0= ruleAttribute ) ) )* otherlv_16= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1069:3: otherlv_0= 'DataClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? (otherlv_3= 'extends' ( ( ruleFQN ) ) )? otherlv_5= '{' ( (lv_annotations_6_0= ruleAnnotation ) )* (otherlv_7= 'usercode1' ( (lv_userCode1_8_0= ruleDetailCode ) ) )? (otherlv_9= 'usercode2' ( (lv_userCode2_10_0= ruleDetailCode ) ) )? (otherlv_11= 'usercode3' ( (lv_userCode3_12_0= ruleDetailCode ) ) )? ( ( (lv_operations_13_0= ruleStandardOperation ) ) | ( (lv_structors_14_0= ruleClassStructor ) ) | ( (lv_attributes_15_0= ruleAttribute ) ) )* otherlv_16= '}'
             {
-            otherlv_0=(Token)match(input,28,FOLLOW_28_in_ruleDataClass2143); 
+            otherlv_0=(Token)match(input,27,FOLLOW_27_in_ruleDataClass2143); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getDataClassAccess().getDataClassKeyword_0());
                 
@@ -2685,7 +2686,7 @@
             int alt18=2;
             int LA18_0 = input.LA(1);
 
-            if ( (LA18_0==34) ) {
+            if ( (LA18_0==33) ) {
                 alt18=1;
             }
             switch (alt18) {
@@ -2727,14 +2728,14 @@
             int alt19=2;
             int LA19_0 = input.LA(1);
 
-            if ( (LA19_0==29) ) {
+            if ( (LA19_0==28) ) {
                 alt19=1;
             }
             switch (alt19) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1109:5: otherlv_3= 'extends' ( ( ruleFQN ) )
                     {
-                    otherlv_3=(Token)match(input,29,FOLLOW_29_in_ruleDataClass2200); 
+                    otherlv_3=(Token)match(input,28,FOLLOW_28_in_ruleDataClass2200); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getDataClassAccess().getExtendsKeyword_3_0());
                         
@@ -2772,7 +2773,7 @@
 
             }
 
-            otherlv_5=(Token)match(input,14,FOLLOW_14_in_ruleDataClass2237); 
+            otherlv_5=(Token)match(input,13,FOLLOW_13_in_ruleDataClass2237); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_4());
                 
@@ -2782,7 +2783,7 @@
                 int alt20=2;
                 int LA20_0 = input.LA(1);
 
-                if ( (LA20_0==108) ) {
+                if ( (LA20_0==107) ) {
                     alt20=1;
                 }
 
@@ -2829,14 +2830,14 @@
             int alt21=2;
             int LA21_0 = input.LA(1);
 
-            if ( (LA21_0==30) ) {
+            if ( (LA21_0==29) ) {
                 alt21=1;
             }
             switch (alt21) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1150:5: otherlv_7= 'usercode1' ( (lv_userCode1_8_0= ruleDetailCode ) )
                     {
-                    otherlv_7=(Token)match(input,30,FOLLOW_30_in_ruleDataClass2272); 
+                    otherlv_7=(Token)match(input,29,FOLLOW_29_in_ruleDataClass2272); 
 
                         	newLeafNode(otherlv_7, grammarAccess.getDataClassAccess().getUsercode1Keyword_6_0());
                         
@@ -2881,14 +2882,14 @@
             int alt22=2;
             int LA22_0 = input.LA(1);
 
-            if ( (LA22_0==31) ) {
+            if ( (LA22_0==30) ) {
                 alt22=1;
             }
             switch (alt22) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1172:6: otherlv_9= 'usercode2' ( (lv_userCode2_10_0= ruleDetailCode ) )
                     {
-                    otherlv_9=(Token)match(input,31,FOLLOW_31_in_ruleDataClass2308); 
+                    otherlv_9=(Token)match(input,30,FOLLOW_30_in_ruleDataClass2308); 
 
                         	newLeafNode(otherlv_9, grammarAccess.getDataClassAccess().getUsercode2Keyword_7_0());
                         
@@ -2933,14 +2934,14 @@
             int alt23=2;
             int LA23_0 = input.LA(1);
 
-            if ( (LA23_0==32) ) {
+            if ( (LA23_0==31) ) {
                 alt23=1;
             }
             switch (alt23) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1194:6: otherlv_11= 'usercode3' ( (lv_userCode3_12_0= ruleDetailCode ) )
                     {
-                    otherlv_11=(Token)match(input,32,FOLLOW_32_in_ruleDataClass2344); 
+                    otherlv_11=(Token)match(input,31,FOLLOW_31_in_ruleDataClass2344); 
 
                         	newLeafNode(otherlv_11, grammarAccess.getDataClassAccess().getUsercode3Keyword_8_0());
                         
@@ -2986,19 +2987,19 @@
             do {
                 int alt24=4;
                 switch ( input.LA(1) ) {
+                case 35:
                 case 36:
-                case 37:
                     {
                     alt24=1;
                     }
                     break;
+                case 39:
                 case 40:
-                case 41:
                     {
                     alt24=2;
                     }
                     break;
-                case 33:
+                case 32:
                     {
                     alt24=3;
                     }
@@ -3124,7 +3125,7 @@
                 }
             } while (true);
 
-            otherlv_16=(Token)match(input,15,FOLLOW_15_in_ruleDataClass2457); 
+            otherlv_16=(Token)match(input,14,FOLLOW_14_in_ruleDataClass2457); 
 
                 	newLeafNode(otherlv_16, grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_10());
                 
@@ -3211,7 +3212,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1297:1: (otherlv_0= 'Attribute' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_size_3_0= RULE_INT ) ) otherlv_4= ']' )? otherlv_5= ':' ( (lv_type_6_0= ruleRefableType ) )? (otherlv_7= '=' ( (lv_defaultValueLiteral_8_0= RULE_STRING ) ) )? ( (lv_docu_9_0= ruleDocumentation ) )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1297:3: otherlv_0= 'Attribute' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_size_3_0= RULE_INT ) ) otherlv_4= ']' )? otherlv_5= ':' ( (lv_type_6_0= ruleRefableType ) )? (otherlv_7= '=' ( (lv_defaultValueLiteral_8_0= RULE_STRING ) ) )? ( (lv_docu_9_0= ruleDocumentation ) )?
             {
-            otherlv_0=(Token)match(input,33,FOLLOW_33_in_ruleAttribute2540); 
+            otherlv_0=(Token)match(input,32,FOLLOW_32_in_ruleAttribute2540); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getAttributeAccess().getAttributeKeyword_0());
                 
@@ -3245,14 +3246,14 @@
             int alt25=2;
             int LA25_0 = input.LA(1);
 
-            if ( (LA25_0==34) ) {
+            if ( (LA25_0==33) ) {
                 alt25=1;
             }
             switch (alt25) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1319:4: otherlv_2= '[' ( (lv_size_3_0= RULE_INT ) ) otherlv_4= ']'
                     {
-                    otherlv_2=(Token)match(input,34,FOLLOW_34_in_ruleAttribute2575); 
+                    otherlv_2=(Token)match(input,33,FOLLOW_33_in_ruleAttribute2575); 
 
                         	newLeafNode(otherlv_2, grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0());
                         
@@ -3282,7 +3283,7 @@
 
                     }
 
-                    otherlv_4=(Token)match(input,35,FOLLOW_35_in_ruleAttribute2609); 
+                    otherlv_4=(Token)match(input,34,FOLLOW_34_in_ruleAttribute2609); 
 
                         	newLeafNode(otherlv_4, grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2());
                         
@@ -3292,7 +3293,7 @@
 
             }
 
-            otherlv_5=(Token)match(input,16,FOLLOW_16_in_ruleAttribute2623); 
+            otherlv_5=(Token)match(input,15,FOLLOW_15_in_ruleAttribute2623); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getAttributeAccess().getColonKeyword_3());
                 
@@ -3342,14 +3343,14 @@
             int alt27=2;
             int LA27_0 = input.LA(1);
 
-            if ( (LA27_0==26) ) {
+            if ( (LA27_0==25) ) {
                 alt27=1;
             }
             switch (alt27) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1367:5: otherlv_7= '=' ( (lv_defaultValueLiteral_8_0= RULE_STRING ) )
                     {
-                    otherlv_7=(Token)match(input,26,FOLLOW_26_in_ruleAttribute2658); 
+                    otherlv_7=(Token)match(input,25,FOLLOW_25_in_ruleAttribute2658); 
 
                         	newLeafNode(otherlv_7, grammarAccess.getAttributeAccess().getEqualsSignKeyword_5_0());
                         
@@ -3389,7 +3390,7 @@
             int alt28=2;
             int LA28_0 = input.LA(1);
 
-            if ( (LA28_0==34) ) {
+            if ( (LA28_0==33) ) {
                 alt28=1;
             }
             switch (alt28) {
@@ -3520,7 +3521,7 @@
             int alt29=2;
             int LA29_0 = input.LA(1);
 
-            if ( (LA29_0==36) ) {
+            if ( (LA29_0==35) ) {
                 alt29=1;
             }
             switch (alt29) {
@@ -3530,7 +3531,7 @@
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1431:1: (lv_override_0_0= 'override' )
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1432:3: lv_override_0_0= 'override'
                     {
-                    lv_override_0_0=(Token)match(input,36,FOLLOW_36_in_ruleStandardOperation2795); 
+                    lv_override_0_0=(Token)match(input,35,FOLLOW_35_in_ruleStandardOperation2795); 
 
                             newLeafNode(lv_override_0_0, grammarAccess.getStandardOperationAccess().getOverrideOverrideKeyword_0_0());
                         
@@ -3549,7 +3550,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,37,FOLLOW_37_in_ruleStandardOperation2821); 
+            otherlv_1=(Token)match(input,36,FOLLOW_36_in_ruleStandardOperation2821); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getStandardOperationAccess().getOperationKeyword_1());
                 
@@ -3579,7 +3580,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,20,FOLLOW_20_in_ruleStandardOperation2855); 
+            otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleStandardOperation2855); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getStandardOperationAccess().getLeftParenthesisKeyword_3());
                 
@@ -3631,7 +3632,7 @@
                         int alt30=2;
                         int LA30_0 = input.LA(1);
 
-                        if ( (LA30_0==25) ) {
+                        if ( (LA30_0==24) ) {
                             alt30=1;
                         }
 
@@ -3640,7 +3641,7 @@
                     	case 1 :
                     	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1489:4: otherlv_5= ',' ( (lv_arguments_6_0= ruleVarDecl ) )
                     	    {
-                    	    otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleStandardOperation2890); 
+                    	    otherlv_5=(Token)match(input,24,FOLLOW_24_in_ruleStandardOperation2890); 
 
                     	        	newLeafNode(otherlv_5, grammarAccess.getStandardOperationAccess().getCommaKeyword_4_1_0());
                     	        
@@ -3690,7 +3691,7 @@
 
             }
 
-            otherlv_7=(Token)match(input,21,FOLLOW_21_in_ruleStandardOperation2927); 
+            otherlv_7=(Token)match(input,20,FOLLOW_20_in_ruleStandardOperation2927); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getStandardOperationAccess().getRightParenthesisKeyword_5());
                 
@@ -3698,14 +3699,14 @@
             int alt33=2;
             int LA33_0 = input.LA(1);
 
-            if ( (LA33_0==16) ) {
+            if ( (LA33_0==15) ) {
                 alt33=1;
             }
             switch (alt33) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1515:3: otherlv_8= ':' (otherlv_9= 'void' | ( (lv_returnType_10_0= ruleRefableType ) ) )
                     {
-                    otherlv_8=(Token)match(input,16,FOLLOW_16_in_ruleStandardOperation2940); 
+                    otherlv_8=(Token)match(input,15,FOLLOW_15_in_ruleStandardOperation2940); 
 
                         	newLeafNode(otherlv_8, grammarAccess.getStandardOperationAccess().getColonKeyword_6_0());
                         
@@ -3713,7 +3714,7 @@
                     int alt32=2;
                     int LA32_0 = input.LA(1);
 
-                    if ( (LA32_0==38) ) {
+                    if ( (LA32_0==37) ) {
                         alt32=1;
                     }
                     else if ( (LA32_0==RULE_ID) ) {
@@ -3729,7 +3730,7 @@
                         case 1 :
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1519:3: otherlv_9= 'void'
                             {
-                            otherlv_9=(Token)match(input,38,FOLLOW_38_in_ruleStandardOperation2953); 
+                            otherlv_9=(Token)match(input,37,FOLLOW_37_in_ruleStandardOperation2953); 
 
                                 	newLeafNode(otherlv_9, grammarAccess.getStandardOperationAccess().getVoidKeyword_6_1_0());
                                 
@@ -3786,7 +3787,7 @@
             int alt34=2;
             int LA34_0 = input.LA(1);
 
-            if ( (LA34_0==34) ) {
+            if ( (LA34_0==33) ) {
                 alt34=1;
             }
             switch (alt34) {
@@ -3945,7 +3946,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1599:1: (otherlv_0= 'Operation' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '(' ( ( (lv_arguments_3_0= ruleVarDecl ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleVarDecl ) ) )* )? otherlv_6= ')' ( (otherlv_7= ':' (otherlv_8= 'void' | ( (lv_returnType_9_0= ruleRefableType ) ) ) ) | (otherlv_10= 'sends' ( (otherlv_11= RULE_ID ) ) ) )? ( (lv_docu_12_0= ruleDocumentation ) )? ( (lv_detailCode_13_0= ruleDetailCode ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1599:3: otherlv_0= 'Operation' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '(' ( ( (lv_arguments_3_0= ruleVarDecl ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleVarDecl ) ) )* )? otherlv_6= ')' ( (otherlv_7= ':' (otherlv_8= 'void' | ( (lv_returnType_9_0= ruleRefableType ) ) ) ) | (otherlv_10= 'sends' ( (otherlv_11= RULE_ID ) ) ) )? ( (lv_docu_12_0= ruleDocumentation ) )? ( (lv_detailCode_13_0= ruleDetailCode ) )
             {
-            otherlv_0=(Token)match(input,37,FOLLOW_37_in_rulePortOperation3109); 
+            otherlv_0=(Token)match(input,36,FOLLOW_36_in_rulePortOperation3109); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getPortOperationAccess().getOperationKeyword_0());
                 
@@ -3975,7 +3976,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,20,FOLLOW_20_in_rulePortOperation3143); 
+            otherlv_2=(Token)match(input,19,FOLLOW_19_in_rulePortOperation3143); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getPortOperationAccess().getLeftParenthesisKeyword_2());
                 
@@ -4027,7 +4028,7 @@
                         int alt35=2;
                         int LA35_0 = input.LA(1);
 
-                        if ( (LA35_0==25) ) {
+                        if ( (LA35_0==24) ) {
                             alt35=1;
                         }
 
@@ -4036,7 +4037,7 @@
                     	case 1 :
                     	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1643:4: otherlv_4= ',' ( (lv_arguments_5_0= ruleVarDecl ) )
                     	    {
-                    	    otherlv_4=(Token)match(input,25,FOLLOW_25_in_rulePortOperation3178); 
+                    	    otherlv_4=(Token)match(input,24,FOLLOW_24_in_rulePortOperation3178); 
 
                     	        	newLeafNode(otherlv_4, grammarAccess.getPortOperationAccess().getCommaKeyword_3_1_0());
                     	        
@@ -4086,7 +4087,7 @@
 
             }
 
-            otherlv_6=(Token)match(input,21,FOLLOW_21_in_rulePortOperation3215); 
+            otherlv_6=(Token)match(input,20,FOLLOW_20_in_rulePortOperation3215); 
 
                 	newLeafNode(otherlv_6, grammarAccess.getPortOperationAccess().getRightParenthesisKeyword_4());
                 
@@ -4094,10 +4095,10 @@
             int alt38=3;
             int LA38_0 = input.LA(1);
 
-            if ( (LA38_0==16) ) {
+            if ( (LA38_0==15) ) {
                 alt38=1;
             }
-            else if ( (LA38_0==39) ) {
+            else if ( (LA38_0==38) ) {
                 alt38=2;
             }
             switch (alt38) {
@@ -4107,7 +4108,7 @@
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1669:2: (otherlv_7= ':' (otherlv_8= 'void' | ( (lv_returnType_9_0= ruleRefableType ) ) ) )
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1669:4: otherlv_7= ':' (otherlv_8= 'void' | ( (lv_returnType_9_0= ruleRefableType ) ) )
                     {
-                    otherlv_7=(Token)match(input,16,FOLLOW_16_in_rulePortOperation3229); 
+                    otherlv_7=(Token)match(input,15,FOLLOW_15_in_rulePortOperation3229); 
 
                         	newLeafNode(otherlv_7, grammarAccess.getPortOperationAccess().getColonKeyword_5_0_0());
                         
@@ -4115,7 +4116,7 @@
                     int alt37=2;
                     int LA37_0 = input.LA(1);
 
-                    if ( (LA37_0==38) ) {
+                    if ( (LA37_0==37) ) {
                         alt37=1;
                     }
                     else if ( (LA37_0==RULE_ID) ) {
@@ -4131,7 +4132,7 @@
                         case 1 :
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1673:3: otherlv_8= 'void'
                             {
-                            otherlv_8=(Token)match(input,38,FOLLOW_38_in_rulePortOperation3242); 
+                            otherlv_8=(Token)match(input,37,FOLLOW_37_in_rulePortOperation3242); 
 
                                 	newLeafNode(otherlv_8, grammarAccess.getPortOperationAccess().getVoidKeyword_5_0_1_0());
                                 
@@ -4190,7 +4191,7 @@
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1697:6: (otherlv_10= 'sends' ( (otherlv_11= RULE_ID ) ) )
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1697:8: otherlv_10= 'sends' ( (otherlv_11= RULE_ID ) )
                     {
-                    otherlv_10=(Token)match(input,39,FOLLOW_39_in_rulePortOperation3290); 
+                    otherlv_10=(Token)match(input,38,FOLLOW_38_in_rulePortOperation3290); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getPortOperationAccess().getSendsKeyword_5_1_0());
                         
@@ -4228,7 +4229,7 @@
             int alt39=2;
             int LA39_0 = input.LA(1);
 
-            if ( (LA39_0==34) ) {
+            if ( (LA39_0==33) ) {
                 alt39=1;
             }
             switch (alt39) {
@@ -4382,10 +4383,10 @@
             int alt40=2;
             int LA40_0 = input.LA(1);
 
-            if ( (LA40_0==40) ) {
+            if ( (LA40_0==39) ) {
                 alt40=1;
             }
-            else if ( (LA40_0==41) ) {
+            else if ( (LA40_0==40) ) {
                 alt40=2;
             }
             else {
@@ -4398,7 +4399,7 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1774:3: lv_name_0_1= 'ctor'
                     {
-                    lv_name_0_1=(Token)match(input,40,FOLLOW_40_in_ruleClassStructor3447); 
+                    lv_name_0_1=(Token)match(input,39,FOLLOW_39_in_ruleClassStructor3447); 
 
                             newLeafNode(lv_name_0_1, grammarAccess.getClassStructorAccess().getNameCtorKeyword_0_0_0());
                         
@@ -4414,7 +4415,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1786:8: lv_name_0_2= 'dtor'
                     {
-                    lv_name_0_2=(Token)match(input,41,FOLLOW_41_in_ruleClassStructor3476); 
+                    lv_name_0_2=(Token)match(input,40,FOLLOW_40_in_ruleClassStructor3476); 
 
                             newLeafNode(lv_name_0_2, grammarAccess.getClassStructorAccess().getNameDtorKeyword_0_0_1());
                         
@@ -4543,10 +4544,10 @@
             int alt41=2;
             int LA41_0 = input.LA(1);
 
-            if ( (LA41_0==42||(LA41_0>=122 && LA41_0<=124)) ) {
+            if ( (LA41_0==41||(LA41_0>=123 && LA41_0<=125)) ) {
                 alt41=1;
             }
-            else if ( (LA41_0==48) ) {
+            else if ( (LA41_0==47) ) {
                 alt41=2;
             }
             else {
@@ -4707,7 +4708,7 @@
             int alt42=2;
             int LA42_0 = input.LA(1);
 
-            if ( ((LA42_0>=122 && LA42_0<=124)) ) {
+            if ( ((LA42_0>=123 && LA42_0<=125)) ) {
                 alt42=1;
             }
             switch (alt42) {
@@ -4745,7 +4746,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,42,FOLLOW_42_in_ruleProtocolClass3737); 
+            otherlv_1=(Token)match(input,41,FOLLOW_41_in_ruleProtocolClass3737); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_1());
                 
@@ -4779,7 +4780,7 @@
             int alt43=2;
             int LA43_0 = input.LA(1);
 
-            if ( (LA43_0==34) ) {
+            if ( (LA43_0==33) ) {
                 alt43=1;
             }
             switch (alt43) {
@@ -4821,14 +4822,14 @@
             int alt44=2;
             int LA44_0 = input.LA(1);
 
-            if ( (LA44_0==29) ) {
+            if ( (LA44_0==28) ) {
                 alt44=1;
             }
             switch (alt44) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1938:5: otherlv_4= 'extends' ( ( ruleFQN ) )
                     {
-                    otherlv_4=(Token)match(input,29,FOLLOW_29_in_ruleProtocolClass3794); 
+                    otherlv_4=(Token)match(input,28,FOLLOW_28_in_ruleProtocolClass3794); 
 
                         	newLeafNode(otherlv_4, grammarAccess.getProtocolClassAccess().getExtendsKeyword_4_0());
                         
@@ -4866,7 +4867,7 @@
 
             }
 
-            otherlv_6=(Token)match(input,14,FOLLOW_14_in_ruleProtocolClass3831); 
+            otherlv_6=(Token)match(input,13,FOLLOW_13_in_ruleProtocolClass3831); 
 
                 	newLeafNode(otherlv_6, grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_5());
                 
@@ -4876,7 +4877,7 @@
                 int alt45=2;
                 int LA45_0 = input.LA(1);
 
-                if ( (LA45_0==108) ) {
+                if ( (LA45_0==107) ) {
                     alt45=1;
                 }
 
@@ -4923,14 +4924,14 @@
             int alt46=2;
             int LA46_0 = input.LA(1);
 
-            if ( (LA46_0==30) ) {
+            if ( (LA46_0==29) ) {
                 alt46=1;
             }
             switch (alt46) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:1979:5: otherlv_8= 'usercode1' ( (lv_userCode1_9_0= ruleDetailCode ) )
                     {
-                    otherlv_8=(Token)match(input,30,FOLLOW_30_in_ruleProtocolClass3866); 
+                    otherlv_8=(Token)match(input,29,FOLLOW_29_in_ruleProtocolClass3866); 
 
                         	newLeafNode(otherlv_8, grammarAccess.getProtocolClassAccess().getUsercode1Keyword_7_0());
                         
@@ -4975,14 +4976,14 @@
             int alt47=2;
             int LA47_0 = input.LA(1);
 
-            if ( (LA47_0==31) ) {
+            if ( (LA47_0==30) ) {
                 alt47=1;
             }
             switch (alt47) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2001:6: otherlv_10= 'usercode2' ( (lv_userCode2_11_0= ruleDetailCode ) )
                     {
-                    otherlv_10=(Token)match(input,31,FOLLOW_31_in_ruleProtocolClass3902); 
+                    otherlv_10=(Token)match(input,30,FOLLOW_30_in_ruleProtocolClass3902); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getProtocolClassAccess().getUsercode2Keyword_8_0());
                         
@@ -5027,14 +5028,14 @@
             int alt48=2;
             int LA48_0 = input.LA(1);
 
-            if ( (LA48_0==32) ) {
+            if ( (LA48_0==31) ) {
                 alt48=1;
             }
             switch (alt48) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2023:6: otherlv_12= 'usercode3' ( (lv_userCode3_13_0= ruleDetailCode ) )
                     {
-                    otherlv_12=(Token)match(input,32,FOLLOW_32_in_ruleProtocolClass3938); 
+                    otherlv_12=(Token)match(input,31,FOLLOW_31_in_ruleProtocolClass3938); 
 
                         	newLeafNode(otherlv_12, grammarAccess.getProtocolClassAccess().getUsercode3Keyword_9_0());
                         
@@ -5079,18 +5080,18 @@
             int alt50=2;
             int LA50_0 = input.LA(1);
 
-            if ( (LA50_0==43) ) {
+            if ( (LA50_0==42) ) {
                 alt50=1;
             }
             switch (alt50) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2045:6: otherlv_14= 'incoming' otherlv_15= '{' ( (lv_incomingMessages_16_0= ruleMessage ) )* otherlv_17= '}'
                     {
-                    otherlv_14=(Token)match(input,43,FOLLOW_43_in_ruleProtocolClass3974); 
+                    otherlv_14=(Token)match(input,42,FOLLOW_42_in_ruleProtocolClass3974); 
 
                         	newLeafNode(otherlv_14, grammarAccess.getProtocolClassAccess().getIncomingKeyword_10_0());
                         
-                    otherlv_15=(Token)match(input,14,FOLLOW_14_in_ruleProtocolClass3986); 
+                    otherlv_15=(Token)match(input,13,FOLLOW_13_in_ruleProtocolClass3986); 
 
                         	newLeafNode(otherlv_15, grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_10_1());
                         
@@ -5100,7 +5101,7 @@
                         int alt49=2;
                         int LA49_0 = input.LA(1);
 
-                        if ( ((LA49_0>=50 && LA49_0<=51)) ) {
+                        if ( ((LA49_0>=49 && LA49_0<=50)) ) {
                             alt49=1;
                         }
 
@@ -5143,7 +5144,7 @@
                         }
                     } while (true);
 
-                    otherlv_17=(Token)match(input,15,FOLLOW_15_in_ruleProtocolClass4020); 
+                    otherlv_17=(Token)match(input,14,FOLLOW_14_in_ruleProtocolClass4020); 
 
                         	newLeafNode(otherlv_17, grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_10_3());
                         
@@ -5157,18 +5158,18 @@
             int alt52=2;
             int LA52_0 = input.LA(1);
 
-            if ( (LA52_0==44) ) {
+            if ( (LA52_0==43) ) {
                 alt52=1;
             }
             switch (alt52) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2075:5: otherlv_18= 'outgoing' otherlv_19= '{' ( (lv_outgoingMessages_20_0= ruleMessage ) )* otherlv_21= '}'
                     {
-                    otherlv_18=(Token)match(input,44,FOLLOW_44_in_ruleProtocolClass4035); 
+                    otherlv_18=(Token)match(input,43,FOLLOW_43_in_ruleProtocolClass4035); 
 
                         	newLeafNode(otherlv_18, grammarAccess.getProtocolClassAccess().getOutgoingKeyword_11_0());
                         
-                    otherlv_19=(Token)match(input,14,FOLLOW_14_in_ruleProtocolClass4047); 
+                    otherlv_19=(Token)match(input,13,FOLLOW_13_in_ruleProtocolClass4047); 
 
                         	newLeafNode(otherlv_19, grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11_1());
                         
@@ -5178,7 +5179,7 @@
                         int alt51=2;
                         int LA51_0 = input.LA(1);
 
-                        if ( ((LA51_0>=50 && LA51_0<=51)) ) {
+                        if ( ((LA51_0>=49 && LA51_0<=50)) ) {
                             alt51=1;
                         }
 
@@ -5221,7 +5222,7 @@
                         }
                     } while (true);
 
-                    otherlv_21=(Token)match(input,15,FOLLOW_15_in_ruleProtocolClass4081); 
+                    otherlv_21=(Token)match(input,14,FOLLOW_14_in_ruleProtocolClass4081); 
 
                         	newLeafNode(otherlv_21, grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_11_3());
                         
@@ -5235,18 +5236,18 @@
             int alt53=2;
             int LA53_0 = input.LA(1);
 
-            if ( (LA53_0==45) ) {
+            if ( (LA53_0==44) ) {
                 alt53=1;
             }
             switch (alt53) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2105:5: otherlv_22= 'regular' otherlv_23= 'PortClass' ( (lv_regular_24_0= rulePortClass ) )
                     {
-                    otherlv_22=(Token)match(input,45,FOLLOW_45_in_ruleProtocolClass4096); 
+                    otherlv_22=(Token)match(input,44,FOLLOW_44_in_ruleProtocolClass4096); 
 
                         	newLeafNode(otherlv_22, grammarAccess.getProtocolClassAccess().getRegularKeyword_12_0());
                         
-                    otherlv_23=(Token)match(input,46,FOLLOW_46_in_ruleProtocolClass4108); 
+                    otherlv_23=(Token)match(input,45,FOLLOW_45_in_ruleProtocolClass4108); 
 
                         	newLeafNode(otherlv_23, grammarAccess.getProtocolClassAccess().getPortClassKeyword_12_1());
                         
@@ -5291,18 +5292,18 @@
             int alt54=2;
             int LA54_0 = input.LA(1);
 
-            if ( (LA54_0==47) ) {
+            if ( (LA54_0==46) ) {
                 alt54=1;
             }
             switch (alt54) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2131:6: otherlv_25= 'conjugated' otherlv_26= 'PortClass' ( (lv_conjugated_27_0= rulePortClass ) )
                     {
-                    otherlv_25=(Token)match(input,47,FOLLOW_47_in_ruleProtocolClass4144); 
+                    otherlv_25=(Token)match(input,46,FOLLOW_46_in_ruleProtocolClass4144); 
 
                         	newLeafNode(otherlv_25, grammarAccess.getProtocolClassAccess().getConjugatedKeyword_13_0());
                         
-                    otherlv_26=(Token)match(input,46,FOLLOW_46_in_ruleProtocolClass4156); 
+                    otherlv_26=(Token)match(input,45,FOLLOW_45_in_ruleProtocolClass4156); 
 
                         	newLeafNode(otherlv_26, grammarAccess.getProtocolClassAccess().getPortClassKeyword_13_1());
                         
@@ -5347,7 +5348,7 @@
             int alt55=2;
             int LA55_0 = input.LA(1);
 
-            if ( (LA55_0==105) ) {
+            if ( (LA55_0==104) ) {
                 alt55=1;
             }
             switch (alt55) {
@@ -5385,7 +5386,7 @@
 
             }
 
-            otherlv_29=(Token)match(input,15,FOLLOW_15_in_ruleProtocolClass4213); 
+            otherlv_29=(Token)match(input,14,FOLLOW_14_in_ruleProtocolClass4213); 
 
                 	newLeafNode(otherlv_29, grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_15());
                 
@@ -5470,7 +5471,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2200:1: (otherlv_0= 'CompoundProtocolClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( (lv_annotations_4_0= ruleAnnotation ) )* ( (lv_subProtocols_5_0= ruleSubProtocol ) )* otherlv_6= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2200:3: otherlv_0= 'CompoundProtocolClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( (lv_annotations_4_0= ruleAnnotation ) )* ( (lv_subProtocols_5_0= ruleSubProtocol ) )* otherlv_6= '}'
             {
-            otherlv_0=(Token)match(input,48,FOLLOW_48_in_ruleCompoundProtocolClass4296); 
+            otherlv_0=(Token)match(input,47,FOLLOW_47_in_ruleCompoundProtocolClass4296); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getCompoundProtocolClassAccess().getCompoundProtocolClassKeyword_0());
                 
@@ -5504,7 +5505,7 @@
             int alt56=2;
             int LA56_0 = input.LA(1);
 
-            if ( (LA56_0==34) ) {
+            if ( (LA56_0==33) ) {
                 alt56=1;
             }
             switch (alt56) {
@@ -5542,7 +5543,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleCompoundProtocolClass4352); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleCompoundProtocolClass4352); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getCompoundProtocolClassAccess().getLeftCurlyBracketKeyword_3());
                 
@@ -5552,7 +5553,7 @@
                 int alt57=2;
                 int LA57_0 = input.LA(1);
 
-                if ( (LA57_0==108) ) {
+                if ( (LA57_0==107) ) {
                     alt57=1;
                 }
 
@@ -5601,7 +5602,7 @@
                 int alt58=2;
                 int LA58_0 = input.LA(1);
 
-                if ( (LA58_0==49) ) {
+                if ( (LA58_0==48) ) {
                     alt58=1;
                 }
 
@@ -5644,7 +5645,7 @@
                 }
             } while (true);
 
-            otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleCompoundProtocolClass4408); 
+            otherlv_6=(Token)match(input,14,FOLLOW_14_in_ruleCompoundProtocolClass4408); 
 
                 	newLeafNode(otherlv_6, grammarAccess.getCompoundProtocolClassAccess().getRightCurlyBracketKeyword_6());
                 
@@ -5722,7 +5723,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2305:1: (otherlv_0= 'SubProtocol' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleFQN ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2305:3: otherlv_0= 'SubProtocol' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleFQN ) )
             {
-            otherlv_0=(Token)match(input,49,FOLLOW_49_in_ruleSubProtocol4491); 
+            otherlv_0=(Token)match(input,48,FOLLOW_48_in_ruleSubProtocol4491); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getSubProtocolAccess().getSubProtocolKeyword_0());
                 
@@ -5752,7 +5753,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleSubProtocol4525); 
+            otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleSubProtocol4525); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getSubProtocolAccess().getColonKeyword_2());
                 
@@ -5868,7 +5869,7 @@
             int alt59=2;
             int LA59_0 = input.LA(1);
 
-            if ( (LA59_0==50) ) {
+            if ( (LA59_0==49) ) {
                 alt59=1;
             }
             switch (alt59) {
@@ -5878,7 +5879,7 @@
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2368:1: (lv_priv_0_0= 'private' )
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2369:3: lv_priv_0_0= 'private'
                     {
-                    lv_priv_0_0=(Token)match(input,50,FOLLOW_50_in_ruleMessage4637); 
+                    lv_priv_0_0=(Token)match(input,49,FOLLOW_49_in_ruleMessage4637); 
 
                             newLeafNode(lv_priv_0_0, grammarAccess.getMessageAccess().getPrivPrivateKeyword_0_0());
                         
@@ -5897,7 +5898,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,51,FOLLOW_51_in_ruleMessage4663); 
+            otherlv_1=(Token)match(input,50,FOLLOW_50_in_ruleMessage4663); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getMessageAccess().getMessageKeyword_1());
                 
@@ -5927,7 +5928,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,20,FOLLOW_20_in_ruleMessage4697); 
+            otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleMessage4697); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getMessageAccess().getLeftParenthesisKeyword_3());
                 
@@ -5973,7 +5974,7 @@
 
             }
 
-            otherlv_5=(Token)match(input,21,FOLLOW_21_in_ruleMessage4731); 
+            otherlv_5=(Token)match(input,20,FOLLOW_20_in_ruleMessage4731); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getMessageAccess().getRightParenthesisKeyword_5());
                 
@@ -5981,7 +5982,7 @@
             int alt61=2;
             int LA61_0 = input.LA(1);
 
-            if ( (LA61_0==34) ) {
+            if ( (LA61_0==33) ) {
                 alt61=1;
             }
             switch (alt61) {
@@ -6112,7 +6113,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,14,FOLLOW_14_in_rulePortClass4845); 
+            otherlv_1=(Token)match(input,13,FOLLOW_13_in_rulePortClass4845); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_1());
                 
@@ -6120,14 +6121,14 @@
             int alt62=2;
             int LA62_0 = input.LA(1);
 
-            if ( (LA62_0==52) ) {
+            if ( (LA62_0==51) ) {
                 alt62=1;
             }
             switch (alt62) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2479:3: otherlv_2= 'usercode' ( (lv_userCode_3_0= ruleDetailCode ) )
                     {
-                    otherlv_2=(Token)match(input,52,FOLLOW_52_in_rulePortClass4858); 
+                    otherlv_2=(Token)match(input,51,FOLLOW_51_in_rulePortClass4858); 
 
                         	newLeafNode(otherlv_2, grammarAccess.getPortClassAccess().getUsercodeKeyword_2_0());
                         
@@ -6173,17 +6174,17 @@
             do {
                 int alt63=4;
                 switch ( input.LA(1) ) {
-                case 53:
+                case 52:
                     {
                     alt63=1;
                     }
                     break;
-                case 37:
+                case 36:
                     {
                     alt63=2;
                     }
                     break;
-                case 33:
+                case 32:
                     {
                     alt63=3;
                     }
@@ -6309,7 +6310,7 @@
                 }
             } while (true);
 
-            otherlv_7=(Token)match(input,15,FOLLOW_15_in_rulePortClass4971); 
+            otherlv_7=(Token)match(input,14,FOLLOW_14_in_rulePortClass4971); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_4());
                 
@@ -6389,13 +6390,13 @@
             int alt64=2;
             int LA64_0 = input.LA(1);
 
-            if ( (LA64_0==53) ) {
+            if ( (LA64_0==52) ) {
                 int LA64_1 = input.LA(2);
 
-                if ( (LA64_1==44) ) {
+                if ( (LA64_1==43) ) {
                     alt64=2;
                 }
-                else if ( (LA64_1==43) ) {
+                else if ( (LA64_1==42) ) {
                     alt64=1;
                 }
                 else {
@@ -6524,11 +6525,11 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2622:1: (otherlv_0= 'handle' otherlv_1= 'incoming' ( (otherlv_2= RULE_ID ) ) ( (lv_detailCode_3_0= ruleDetailCode ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2622:3: otherlv_0= 'handle' otherlv_1= 'incoming' ( (otherlv_2= RULE_ID ) ) ( (lv_detailCode_3_0= ruleDetailCode ) )
             {
-            otherlv_0=(Token)match(input,53,FOLLOW_53_in_ruleInMessageHandler5173); 
+            otherlv_0=(Token)match(input,52,FOLLOW_52_in_ruleInMessageHandler5173); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getInMessageHandlerAccess().getHandleKeyword_0());
                 
-            otherlv_1=(Token)match(input,43,FOLLOW_43_in_ruleInMessageHandler5185); 
+            otherlv_1=(Token)match(input,42,FOLLOW_42_in_ruleInMessageHandler5185); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getInMessageHandlerAccess().getIncomingKeyword_1());
                 
@@ -6660,11 +6661,11 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2682:1: (otherlv_0= 'handle' otherlv_1= 'outgoing' ( (otherlv_2= RULE_ID ) ) ( (lv_detailCode_3_0= ruleDetailCode ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2682:3: otherlv_0= 'handle' otherlv_1= 'outgoing' ( (otherlv_2= RULE_ID ) ) ( (lv_detailCode_3_0= ruleDetailCode ) )
             {
-            otherlv_0=(Token)match(input,53,FOLLOW_53_in_ruleOutMessageHandler5309); 
+            otherlv_0=(Token)match(input,52,FOLLOW_52_in_ruleOutMessageHandler5309); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getOutMessageHandlerAccess().getHandleKeyword_0());
                 
-            otherlv_1=(Token)match(input,44,FOLLOW_44_in_ruleOutMessageHandler5321); 
+            otherlv_1=(Token)match(input,43,FOLLOW_43_in_ruleOutMessageHandler5321); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getOutMessageHandlerAccess().getOutgoingKeyword_1());
                 
@@ -6950,10 +6951,10 @@
                 int alt65=3;
                 int LA65_0 = input.LA(1);
 
-                if ( LA65_0 ==54 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 0) ) {
+                if ( LA65_0 ==53 && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 0) ) {
                     alt65=1;
                 }
-                else if ( ( LA65_0 >=122 && LA65_0<=124 ||LA65_0==126 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 1) ) {
+                else if ( ( LA65_0 >=123 && LA65_0<=125 ||LA65_0==127 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getActorClassAccess().getUnorderedGroup_0(), 1) ) {
                     alt65=2;
                 }
 
@@ -6986,7 +6987,7 @@
             	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2787:1: (lv_abstract_1_0= 'abstract' )
             	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2788:3: lv_abstract_1_0= 'abstract'
             	    {
-            	    lv_abstract_1_0=(Token)match(input,54,FOLLOW_54_in_ruleActorClass5586); 
+            	    lv_abstract_1_0=(Token)match(input,53,FOLLOW_53_in_ruleActorClass5586); 
 
             	            newLeafNode(lv_abstract_1_0, grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0_0());
             	        
@@ -7102,7 +7103,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,55,FOLLOW_55_in_ruleActorClass5726); 
+            otherlv_3=(Token)match(input,54,FOLLOW_54_in_ruleActorClass5726); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getActorClassAccess().getActorClassKeyword_1());
                 
@@ -7136,7 +7137,7 @@
             int alt66=2;
             int LA66_0 = input.LA(1);
 
-            if ( (LA66_0==34) ) {
+            if ( (LA66_0==33) ) {
                 alt66=1;
             }
             switch (alt66) {
@@ -7178,14 +7179,14 @@
             int alt67=2;
             int LA67_0 = input.LA(1);
 
-            if ( (LA67_0==29) ) {
+            if ( (LA67_0==28) ) {
                 alt67=1;
             }
             switch (alt67) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2885:5: otherlv_6= 'extends' ( ( ruleFQN ) )
                     {
-                    otherlv_6=(Token)match(input,29,FOLLOW_29_in_ruleActorClass5783); 
+                    otherlv_6=(Token)match(input,28,FOLLOW_28_in_ruleActorClass5783); 
 
                         	newLeafNode(otherlv_6, grammarAccess.getActorClassAccess().getExtendsKeyword_4_0());
                         
@@ -7223,7 +7224,7 @@
 
             }
 
-            otherlv_8=(Token)match(input,14,FOLLOW_14_in_ruleActorClass5820); 
+            otherlv_8=(Token)match(input,13,FOLLOW_13_in_ruleActorClass5820); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5());
                 
@@ -7233,7 +7234,7 @@
                 int alt68=2;
                 int LA68_0 = input.LA(1);
 
-                if ( (LA68_0==108) ) {
+                if ( (LA68_0==107) ) {
                     alt68=1;
                 }
 
@@ -7280,18 +7281,18 @@
             int alt70=2;
             int LA70_0 = input.LA(1);
 
-            if ( (LA70_0==56) ) {
+            if ( (LA70_0==55) ) {
                 alt70=1;
             }
             switch (alt70) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2926:5: otherlv_10= 'Interface' otherlv_11= '{' ( ( (lv_serviceProvisionPoints_12_0= ruleSPP ) ) | ( (lv_interfacePorts_13_0= rulePort ) ) )* otherlv_14= '}'
                     {
-                    otherlv_10=(Token)match(input,56,FOLLOW_56_in_ruleActorClass5855); 
+                    otherlv_10=(Token)match(input,55,FOLLOW_55_in_ruleActorClass5855); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getActorClassAccess().getInterfaceKeyword_7_0());
                         
-                    otherlv_11=(Token)match(input,14,FOLLOW_14_in_ruleActorClass5867); 
+                    otherlv_11=(Token)match(input,13,FOLLOW_13_in_ruleActorClass5867); 
 
                         	newLeafNode(otherlv_11, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1());
                         
@@ -7301,10 +7302,10 @@
                         int alt69=3;
                         int LA69_0 = input.LA(1);
 
-                        if ( (LA69_0==62) ) {
+                        if ( (LA69_0==61) ) {
                             alt69=1;
                         }
-                        else if ( (LA69_0==47||LA69_0==59) ) {
+                        else if ( (LA69_0==46||LA69_0==58) ) {
                             alt69=2;
                         }
 
@@ -7390,7 +7391,7 @@
                         }
                     } while (true);
 
-                    otherlv_14=(Token)match(input,15,FOLLOW_15_in_ruleActorClass5930); 
+                    otherlv_14=(Token)match(input,14,FOLLOW_14_in_ruleActorClass5930); 
 
                         	newLeafNode(otherlv_14, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_3());
                         
@@ -7404,14 +7405,14 @@
             int alt76=2;
             int LA76_0 = input.LA(1);
 
-            if ( (LA76_0==57) ) {
+            if ( (LA76_0==56) ) {
                 alt76=1;
             }
             switch (alt76) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:2975:5: otherlv_15= 'Structure' ( (lv_structureDocu_16_0= ruleDocumentation ) )? otherlv_17= '{' (otherlv_18= 'usercode1' ( (lv_userCode1_19_0= ruleDetailCode ) ) )? (otherlv_20= 'usercode2' ( (lv_userCode2_21_0= ruleDetailCode ) ) )? (otherlv_22= 'usercode3' ( (lv_userCode3_23_0= ruleDetailCode ) ) )? ( ( (lv_connections_24_0= ruleLayerConnection ) ) | ( (lv_bindings_25_0= ruleBinding ) ) | ( (lv_serviceImplementations_26_0= ruleServiceImplementation ) ) | ( (lv_attributes_27_0= ruleAttribute ) ) | ( (lv_actorRefs_28_0= ruleActorRef ) ) | ( (lv_serviceAccessPoints_29_0= ruleSAP ) ) | ( (lv_internalPorts_30_0= rulePort ) ) | ( (lv_externalPorts_31_0= ruleExternalPort ) ) )* otherlv_32= '}'
                     {
-                    otherlv_15=(Token)match(input,57,FOLLOW_57_in_ruleActorClass5945); 
+                    otherlv_15=(Token)match(input,56,FOLLOW_56_in_ruleActorClass5945); 
 
                         	newLeafNode(otherlv_15, grammarAccess.getActorClassAccess().getStructureKeyword_8_0());
                         
@@ -7419,7 +7420,7 @@
                     int alt71=2;
                     int LA71_0 = input.LA(1);
 
-                    if ( (LA71_0==34) ) {
+                    if ( (LA71_0==33) ) {
                         alt71=1;
                     }
                     switch (alt71) {
@@ -7457,7 +7458,7 @@
 
                     }
 
-                    otherlv_17=(Token)match(input,14,FOLLOW_14_in_ruleActorClass5979); 
+                    otherlv_17=(Token)match(input,13,FOLLOW_13_in_ruleActorClass5979); 
 
                         	newLeafNode(otherlv_17, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_8_2());
                         
@@ -7465,14 +7466,14 @@
                     int alt72=2;
                     int LA72_0 = input.LA(1);
 
-                    if ( (LA72_0==30) ) {
+                    if ( (LA72_0==29) ) {
                         alt72=1;
                     }
                     switch (alt72) {
                         case 1 :
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3001:3: otherlv_18= 'usercode1' ( (lv_userCode1_19_0= ruleDetailCode ) )
                             {
-                            otherlv_18=(Token)match(input,30,FOLLOW_30_in_ruleActorClass5992); 
+                            otherlv_18=(Token)match(input,29,FOLLOW_29_in_ruleActorClass5992); 
 
                                 	newLeafNode(otherlv_18, grammarAccess.getActorClassAccess().getUsercode1Keyword_8_3_0());
                                 
@@ -7517,14 +7518,14 @@
                     int alt73=2;
                     int LA73_0 = input.LA(1);
 
-                    if ( (LA73_0==31) ) {
+                    if ( (LA73_0==30) ) {
                         alt73=1;
                     }
                     switch (alt73) {
                         case 1 :
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3023:6: otherlv_20= 'usercode2' ( (lv_userCode2_21_0= ruleDetailCode ) )
                             {
-                            otherlv_20=(Token)match(input,31,FOLLOW_31_in_ruleActorClass6028); 
+                            otherlv_20=(Token)match(input,30,FOLLOW_30_in_ruleActorClass6028); 
 
                                 	newLeafNode(otherlv_20, grammarAccess.getActorClassAccess().getUsercode2Keyword_8_4_0());
                                 
@@ -7569,14 +7570,14 @@
                     int alt74=2;
                     int LA74_0 = input.LA(1);
 
-                    if ( (LA74_0==32) ) {
+                    if ( (LA74_0==31) ) {
                         alt74=1;
                     }
                     switch (alt74) {
                         case 1 :
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3045:6: otherlv_22= 'usercode3' ( (lv_userCode3_23_0= ruleDetailCode ) )
                             {
-                            otherlv_22=(Token)match(input,32,FOLLOW_32_in_ruleActorClass6064); 
+                            otherlv_22=(Token)match(input,31,FOLLOW_31_in_ruleActorClass6064); 
 
                                 	newLeafNode(otherlv_22, grammarAccess.getActorClassAccess().getUsercode3Keyword_8_5_0());
                                 
@@ -7622,45 +7623,45 @@
                     do {
                         int alt75=9;
                         switch ( input.LA(1) ) {
-                        case 74:
+                        case 73:
                             {
                             alt75=1;
                             }
                             break;
-                        case 70:
+                        case 69:
                             {
                             alt75=2;
                             }
                             break;
-                        case 63:
+                        case 62:
                             {
                             alt75=3;
                             }
                             break;
-                        case 33:
+                        case 32:
                             {
                             alt75=4;
                             }
                             break;
-                        case 77:
-                        case 111:
-                        case 125:
+                        case 76:
+                        case 110:
+                        case 126:
                             {
                             alt75=5;
                             }
                             break;
-                        case 61:
+                        case 60:
                             {
                             alt75=6;
                             }
                             break;
-                        case 47:
-                        case 59:
+                        case 46:
+                        case 58:
                             {
                             alt75=7;
                             }
                             break;
-                        case 60:
+                        case 59:
                             {
                             alt75=8;
                             }
@@ -7971,7 +7972,7 @@
                         }
                     } while (true);
 
-                    otherlv_32=(Token)match(input,15,FOLLOW_15_in_ruleActorClass6312); 
+                    otherlv_32=(Token)match(input,14,FOLLOW_14_in_ruleActorClass6312); 
 
                         	newLeafNode(otherlv_32, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8_7());
                         
@@ -7985,14 +7986,14 @@
             int alt81=2;
             int LA81_0 = input.LA(1);
 
-            if ( (LA81_0==58) ) {
+            if ( (LA81_0==57) ) {
                 alt81=1;
             }
             switch (alt81) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3222:5: otherlv_33= 'Behavior' ( (lv_behaviorDocu_34_0= ruleDocumentation ) )? otherlv_35= '{' ( (lv_behaviorAnnotations_36_0= ruleAnnotation ) )* ( ( (lv_operations_37_0= ruleStandardOperation ) ) | ( (lv_structors_38_0= ruleClassStructor ) ) )* ( (lv_stateMachine_39_0= ruleStateMachine ) )? otherlv_40= '}'
                     {
-                    otherlv_33=(Token)match(input,58,FOLLOW_58_in_ruleActorClass6327); 
+                    otherlv_33=(Token)match(input,57,FOLLOW_57_in_ruleActorClass6327); 
 
                         	newLeafNode(otherlv_33, grammarAccess.getActorClassAccess().getBehaviorKeyword_9_0());
                         
@@ -8000,7 +8001,7 @@
                     int alt77=2;
                     int LA77_0 = input.LA(1);
 
-                    if ( (LA77_0==34) ) {
+                    if ( (LA77_0==33) ) {
                         alt77=1;
                     }
                     switch (alt77) {
@@ -8038,7 +8039,7 @@
 
                     }
 
-                    otherlv_35=(Token)match(input,14,FOLLOW_14_in_ruleActorClass6361); 
+                    otherlv_35=(Token)match(input,13,FOLLOW_13_in_ruleActorClass6361); 
 
                         	newLeafNode(otherlv_35, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_9_2());
                         
@@ -8048,7 +8049,7 @@
                         int alt78=2;
                         int LA78_0 = input.LA(1);
 
-                        if ( (LA78_0==108) ) {
+                        if ( (LA78_0==107) ) {
                             alt78=1;
                         }
 
@@ -8097,10 +8098,10 @@
                         int alt79=3;
                         int LA79_0 = input.LA(1);
 
-                        if ( ((LA79_0>=36 && LA79_0<=37)) ) {
+                        if ( ((LA79_0>=35 && LA79_0<=36)) ) {
                             alt79=1;
                         }
-                        else if ( ((LA79_0>=40 && LA79_0<=41)) ) {
+                        else if ( ((LA79_0>=39 && LA79_0<=40)) ) {
                             alt79=2;
                         }
 
@@ -8190,7 +8191,7 @@
                     int alt80=2;
                     int LA80_0 = input.LA(1);
 
-                    if ( (LA80_0==80) ) {
+                    if ( (LA80_0==79) ) {
                         alt80=1;
                     }
                     switch (alt80) {
@@ -8228,7 +8229,7 @@
 
                     }
 
-                    otherlv_40=(Token)match(input,15,FOLLOW_15_in_ruleActorClass6468); 
+                    otherlv_40=(Token)match(input,14,FOLLOW_14_in_ruleActorClass6468); 
 
                         	newLeafNode(otherlv_40, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_9_6());
                         
@@ -8238,7 +8239,7 @@
 
             }
 
-            otherlv_41=(Token)match(input,15,FOLLOW_15_in_ruleActorClass6482); 
+            otherlv_41=(Token)match(input,14,FOLLOW_14_in_ruleActorClass6482); 
 
                 	newLeafNode(otherlv_41, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_10());
                 
@@ -8319,18 +8320,18 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3350:1: (this_Port_0= rulePort | this_SAP_1= ruleSAP | this_SPP_2= ruleSPP )
             int alt82=3;
             switch ( input.LA(1) ) {
-            case 47:
-            case 59:
+            case 46:
+            case 58:
                 {
                 alt82=1;
                 }
                 break;
-            case 61:
+            case 60:
                 {
                 alt82=2;
                 }
                 break;
-            case 62:
+            case 61:
                 {
                 alt82=3;
                 }
@@ -8480,7 +8481,7 @@
             int alt83=2;
             int LA83_0 = input.LA(1);
 
-            if ( (LA83_0==47) ) {
+            if ( (LA83_0==46) ) {
                 alt83=1;
             }
             switch (alt83) {
@@ -8490,7 +8491,7 @@
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3401:1: (lv_conjugated_0_0= 'conjugated' )
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3402:3: lv_conjugated_0_0= 'conjugated'
                     {
-                    lv_conjugated_0_0=(Token)match(input,47,FOLLOW_47_in_rulePort6717); 
+                    lv_conjugated_0_0=(Token)match(input,46,FOLLOW_46_in_rulePort6717); 
 
                             newLeafNode(lv_conjugated_0_0, grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0());
                         
@@ -8509,7 +8510,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,59,FOLLOW_59_in_rulePort6743); 
+            otherlv_1=(Token)match(input,58,FOLLOW_58_in_rulePort6743); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getPortAccess().getPortKeyword_1());
                 
@@ -8543,7 +8544,7 @@
             int alt84=2;
             int LA84_0 = input.LA(1);
 
-            if ( (LA84_0==34) ) {
+            if ( (LA84_0==33) ) {
                 alt84=1;
             }
             switch (alt84) {
@@ -8581,7 +8582,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,16,FOLLOW_16_in_rulePort6799); 
+            otherlv_4=(Token)match(input,15,FOLLOW_15_in_rulePort6799); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getPortAccess().getColonKeyword_4());
                 
@@ -8617,7 +8618,7 @@
             int alt85=2;
             int LA85_0 = input.LA(1);
 
-            if ( (LA85_0==34) ) {
+            if ( (LA85_0==33) ) {
                 alt85=1;
             }
             switch (alt85) {
@@ -8729,11 +8730,11 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3513:1: (otherlv_0= 'external' otherlv_1= 'Port' ( (otherlv_2= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3513:3: otherlv_0= 'external' otherlv_1= 'Port' ( (otherlv_2= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,60,FOLLOW_60_in_ruleExternalPort6927); 
+            otherlv_0=(Token)match(input,59,FOLLOW_59_in_ruleExternalPort6927); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getExternalPortAccess().getExternalKeyword_0());
                 
-            otherlv_1=(Token)match(input,59,FOLLOW_59_in_ruleExternalPort6939); 
+            otherlv_1=(Token)match(input,58,FOLLOW_58_in_ruleExternalPort6939); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getExternalPortAccess().getPortKeyword_1());
                 
@@ -8832,7 +8833,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3555:1: (otherlv_0= 'SAP' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleFQN ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3555:3: otherlv_0= 'SAP' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleFQN ) )
             {
-            otherlv_0=(Token)match(input,61,FOLLOW_61_in_ruleSAP7042); 
+            otherlv_0=(Token)match(input,60,FOLLOW_60_in_ruleSAP7042); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getSAPAccess().getSAPKeyword_0());
                 
@@ -8862,7 +8863,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleSAP7076); 
+            otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleSAP7076); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getSAPAccess().getColonKeyword_2());
                 
@@ -8968,7 +8969,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3617:1: (otherlv_0= 'SPP' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleFQN ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3617:3: otherlv_0= 'SPP' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleFQN ) )
             {
-            otherlv_0=(Token)match(input,62,FOLLOW_62_in_ruleSPP7182); 
+            otherlv_0=(Token)match(input,61,FOLLOW_61_in_ruleSPP7182); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getSPPAccess().getSPPKeyword_0());
                 
@@ -8998,7 +8999,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleSPP7216); 
+            otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleSPP7216); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getSPPAccess().getColonKeyword_2());
                 
@@ -9104,11 +9105,11 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3679:1: (otherlv_0= 'ServiceImplementation' otherlv_1= 'of' ( (otherlv_2= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3679:3: otherlv_0= 'ServiceImplementation' otherlv_1= 'of' ( (otherlv_2= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,63,FOLLOW_63_in_ruleServiceImplementation7322); 
+            otherlv_0=(Token)match(input,62,FOLLOW_62_in_ruleServiceImplementation7322); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0());
                 
-            otherlv_1=(Token)match(input,24,FOLLOW_24_in_ruleServiceImplementation7334); 
+            otherlv_1=(Token)match(input,23,FOLLOW_23_in_ruleServiceImplementation7334); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getServiceImplementationAccess().getOfKeyword_1());
                 
@@ -9218,7 +9219,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3721:1: (otherlv_0= 'LogicalSystem' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( (lv_annotations_4_0= ruleAnnotation ) )* ( ( (lv_connections_5_0= ruleLayerConnection ) ) | ( (lv_bindings_6_0= ruleBinding ) ) | ( (lv_subSystems_7_0= ruleSubSystemRef ) ) )* otherlv_8= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3721:3: otherlv_0= 'LogicalSystem' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( (lv_annotations_4_0= ruleAnnotation ) )* ( ( (lv_connections_5_0= ruleLayerConnection ) ) | ( (lv_bindings_6_0= ruleBinding ) ) | ( (lv_subSystems_7_0= ruleSubSystemRef ) ) )* otherlv_8= '}'
             {
-            otherlv_0=(Token)match(input,64,FOLLOW_64_in_ruleLogicalSystem7437); 
+            otherlv_0=(Token)match(input,63,FOLLOW_63_in_ruleLogicalSystem7437); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0());
                 
@@ -9252,7 +9253,7 @@
             int alt86=2;
             int LA86_0 = input.LA(1);
 
-            if ( (LA86_0==34) ) {
+            if ( (LA86_0==33) ) {
                 alt86=1;
             }
             switch (alt86) {
@@ -9290,7 +9291,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleLogicalSystem7493); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleLogicalSystem7493); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_3());
                 
@@ -9300,7 +9301,7 @@
                 int alt87=2;
                 int LA87_0 = input.LA(1);
 
-                if ( (LA87_0==108) ) {
+                if ( (LA87_0==107) ) {
                     alt87=1;
                 }
 
@@ -9348,17 +9349,17 @@
             do {
                 int alt88=4;
                 switch ( input.LA(1) ) {
-                case 74:
+                case 73:
                     {
                     alt88=1;
                     }
                     break;
-                case 70:
+                case 69:
                     {
                     alt88=2;
                     }
                     break;
-                case 65:
+                case 64:
                     {
                     alt88=3;
                     }
@@ -9484,7 +9485,7 @@
                 }
             } while (true);
 
-            otherlv_8=(Token)match(input,15,FOLLOW_15_in_ruleLogicalSystem7605); 
+            otherlv_8=(Token)match(input,14,FOLLOW_14_in_ruleLogicalSystem7605); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6());
                 
@@ -9564,7 +9565,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3866:1: (otherlv_0= 'SubSystemRef' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleFQN ) ) ( (lv_docu_4_0= ruleDocumentation ) )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3866:3: otherlv_0= 'SubSystemRef' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleFQN ) ) ( (lv_docu_4_0= ruleDocumentation ) )?
             {
-            otherlv_0=(Token)match(input,65,FOLLOW_65_in_ruleSubSystemRef7690); 
+            otherlv_0=(Token)match(input,64,FOLLOW_64_in_ruleSubSystemRef7690); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0());
                 
@@ -9594,7 +9595,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleSubSystemRef7724); 
+            otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleSubSystemRef7724); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getSubSystemRefAccess().getColonKeyword_2());
                 
@@ -9630,7 +9631,7 @@
             int alt89=2;
             int LA89_0 = input.LA(1);
 
-            if ( (LA89_0==34) ) {
+            if ( (LA89_0==33) ) {
                 alt89=1;
             }
             switch (alt89) {
@@ -9770,7 +9771,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3946:1: (otherlv_0= 'SubSystemClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( (lv_annotations_4_0= ruleAnnotation ) )* (otherlv_5= 'usercode1' ( (lv_userCode1_6_0= ruleDetailCode ) ) )? (otherlv_7= 'usercode2' ( (lv_userCode2_8_0= ruleDetailCode ) ) )? (otherlv_9= 'usercode3' ( (lv_userCode3_10_0= ruleDetailCode ) ) )? ( ( (lv_actorInstanceMappings_11_0= ruleActorInstanceMapping ) ) | ( (lv_threads_12_0= ruleLogicalThread ) ) | ( (lv_connections_13_0= ruleLayerConnection ) ) | ( (lv_bindings_14_0= ruleBinding ) ) | ( (lv_actorRefs_15_0= ruleActorRef ) ) | ( (lv_serviceProvisionPoints_16_0= ruleSPP ) ) | ( (lv_relayPorts_17_0= rulePort ) ) )* otherlv_18= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:3946:3: otherlv_0= 'SubSystemClass' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' ( (lv_annotations_4_0= ruleAnnotation ) )* (otherlv_5= 'usercode1' ( (lv_userCode1_6_0= ruleDetailCode ) ) )? (otherlv_7= 'usercode2' ( (lv_userCode2_8_0= ruleDetailCode ) ) )? (otherlv_9= 'usercode3' ( (lv_userCode3_10_0= ruleDetailCode ) ) )? ( ( (lv_actorInstanceMappings_11_0= ruleActorInstanceMapping ) ) | ( (lv_threads_12_0= ruleLogicalThread ) ) | ( (lv_connections_13_0= ruleLayerConnection ) ) | ( (lv_bindings_14_0= ruleBinding ) ) | ( (lv_actorRefs_15_0= ruleActorRef ) ) | ( (lv_serviceProvisionPoints_16_0= ruleSPP ) ) | ( (lv_relayPorts_17_0= rulePort ) ) )* otherlv_18= '}'
             {
-            otherlv_0=(Token)match(input,66,FOLLOW_66_in_ruleSubSystemClass7852); 
+            otherlv_0=(Token)match(input,65,FOLLOW_65_in_ruleSubSystemClass7852); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0());
                 
@@ -9804,7 +9805,7 @@
             int alt90=2;
             int LA90_0 = input.LA(1);
 
-            if ( (LA90_0==34) ) {
+            if ( (LA90_0==33) ) {
                 alt90=1;
             }
             switch (alt90) {
@@ -9842,7 +9843,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleSubSystemClass7908); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleSubSystemClass7908); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_3());
                 
@@ -9852,7 +9853,7 @@
                 int alt91=2;
                 int LA91_0 = input.LA(1);
 
-                if ( (LA91_0==108) ) {
+                if ( (LA91_0==107) ) {
                     alt91=1;
                 }
 
@@ -9899,14 +9900,14 @@
             int alt92=2;
             int LA92_0 = input.LA(1);
 
-            if ( (LA92_0==30) ) {
+            if ( (LA92_0==29) ) {
                 alt92=1;
             }
             switch (alt92) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4008:5: otherlv_5= 'usercode1' ( (lv_userCode1_6_0= ruleDetailCode ) )
                     {
-                    otherlv_5=(Token)match(input,30,FOLLOW_30_in_ruleSubSystemClass7943); 
+                    otherlv_5=(Token)match(input,29,FOLLOW_29_in_ruleSubSystemClass7943); 
 
                         	newLeafNode(otherlv_5, grammarAccess.getSubSystemClassAccess().getUsercode1Keyword_5_0());
                         
@@ -9951,14 +9952,14 @@
             int alt93=2;
             int LA93_0 = input.LA(1);
 
-            if ( (LA93_0==31) ) {
+            if ( (LA93_0==30) ) {
                 alt93=1;
             }
             switch (alt93) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4030:6: otherlv_7= 'usercode2' ( (lv_userCode2_8_0= ruleDetailCode ) )
                     {
-                    otherlv_7=(Token)match(input,31,FOLLOW_31_in_ruleSubSystemClass7979); 
+                    otherlv_7=(Token)match(input,30,FOLLOW_30_in_ruleSubSystemClass7979); 
 
                         	newLeafNode(otherlv_7, grammarAccess.getSubSystemClassAccess().getUsercode2Keyword_6_0());
                         
@@ -10003,14 +10004,14 @@
             int alt94=2;
             int LA94_0 = input.LA(1);
 
-            if ( (LA94_0==32) ) {
+            if ( (LA94_0==31) ) {
                 alt94=1;
             }
             switch (alt94) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4052:6: otherlv_9= 'usercode3' ( (lv_userCode3_10_0= ruleDetailCode ) )
                     {
-                    otherlv_9=(Token)match(input,32,FOLLOW_32_in_ruleSubSystemClass8015); 
+                    otherlv_9=(Token)match(input,31,FOLLOW_31_in_ruleSubSystemClass8015); 
 
                         	newLeafNode(otherlv_9, grammarAccess.getSubSystemClassAccess().getUsercode3Keyword_7_0());
                         
@@ -10056,40 +10057,40 @@
             do {
                 int alt95=8;
                 switch ( input.LA(1) ) {
-                case 68:
+                case 67:
                     {
                     alt95=1;
                     }
                     break;
-                case 67:
+                case 66:
                     {
                     alt95=2;
                     }
                     break;
-                case 74:
+                case 73:
                     {
                     alt95=3;
                     }
                     break;
-                case 70:
+                case 69:
                     {
                     alt95=4;
                     }
                     break;
-                case 77:
-                case 111:
-                case 125:
+                case 76:
+                case 110:
+                case 126:
                     {
                     alt95=5;
                     }
                     break;
-                case 62:
+                case 61:
                     {
                     alt95=6;
                     }
                     break;
-                case 47:
-                case 59:
+                case 46:
+                case 58:
                     {
                     alt95=7;
                     }
@@ -10363,7 +10364,7 @@
                 }
             } while (true);
 
-            otherlv_18=(Token)match(input,15,FOLLOW_15_in_ruleSubSystemClass8236); 
+            otherlv_18=(Token)match(input,14,FOLLOW_14_in_ruleSubSystemClass8236); 
 
                 	newLeafNode(otherlv_18, grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9());
                 
@@ -10440,7 +10441,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4231:1: (otherlv_0= 'LogicalThread' ( (lv_name_1_0= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4231:3: otherlv_0= 'LogicalThread' ( (lv_name_1_0= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,67,FOLLOW_67_in_ruleLogicalThread8319); 
+            otherlv_0=(Token)match(input,66,FOLLOW_66_in_ruleLogicalThread8319); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0());
                 
@@ -10550,7 +10551,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4274:1: (otherlv_0= 'ActorInstanceMapping' ( (lv_path_1_0= ruleRefPath ) ) otherlv_2= '->' ( (otherlv_3= RULE_ID ) ) (otherlv_4= '{' ( (lv_actorInstanceMappings_5_0= ruleActorInstanceMapping ) )* otherlv_6= '}' )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4274:3: otherlv_0= 'ActorInstanceMapping' ( (lv_path_1_0= ruleRefPath ) ) otherlv_2= '->' ( (otherlv_3= RULE_ID ) ) (otherlv_4= '{' ( (lv_actorInstanceMappings_5_0= ruleActorInstanceMapping ) )* otherlv_6= '}' )?
             {
-            otherlv_0=(Token)match(input,68,FOLLOW_68_in_ruleActorInstanceMapping8424); 
+            otherlv_0=(Token)match(input,67,FOLLOW_67_in_ruleActorInstanceMapping8424); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getActorInstanceMappingAccess().getActorInstanceMappingKeyword_0());
                 
@@ -10585,7 +10586,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,19,FOLLOW_19_in_ruleActorInstanceMapping8457); 
+            otherlv_2=(Token)match(input,18,FOLLOW_18_in_ruleActorInstanceMapping8457); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getActorInstanceMappingAccess().getHyphenMinusGreaterThanSignKeyword_2());
                 
@@ -10614,14 +10615,14 @@
             int alt97=2;
             int LA97_0 = input.LA(1);
 
-            if ( (LA97_0==14) ) {
+            if ( (LA97_0==13) ) {
                 alt97=1;
             }
             switch (alt97) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4313:4: otherlv_4= '{' ( (lv_actorInstanceMappings_5_0= ruleActorInstanceMapping ) )* otherlv_6= '}'
                     {
-                    otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleActorInstanceMapping8490); 
+                    otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleActorInstanceMapping8490); 
 
                         	newLeafNode(otherlv_4, grammarAccess.getActorInstanceMappingAccess().getLeftCurlyBracketKeyword_4_0());
                         
@@ -10631,7 +10632,7 @@
                         int alt96=2;
                         int LA96_0 = input.LA(1);
 
-                        if ( (LA96_0==68) ) {
+                        if ( (LA96_0==67) ) {
                             alt96=1;
                         }
 
@@ -10674,7 +10675,7 @@
                         }
                     } while (true);
 
-                    otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleActorInstanceMapping8524); 
+                    otherlv_6=(Token)match(input,14,FOLLOW_14_in_ruleActorInstanceMapping8524); 
 
                         	newLeafNode(otherlv_6, grammarAccess.getActorInstanceMappingAccess().getRightCurlyBracketKeyword_4_2());
                         
@@ -10797,7 +10798,7 @@
                 int alt98=2;
                 int LA98_0 = input.LA(1);
 
-                if ( (LA98_0==69) ) {
+                if ( (LA98_0==68) ) {
                     alt98=1;
                 }
 
@@ -10806,7 +10807,7 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4378:4: otherlv_1= '/' ( (lv_refs_2_0= ruleRefSegment ) )
             	    {
-            	    otherlv_1=(Token)match(input,69,FOLLOW_69_in_ruleRefPath8631); 
+            	    otherlv_1=(Token)match(input,68,FOLLOW_68_in_ruleRefPath8631); 
 
             	        	newLeafNode(otherlv_1, grammarAccess.getRefPathAccess().getSolidusKeyword_1_0());
             	        
@@ -10954,14 +10955,14 @@
             int alt99=2;
             int LA99_0 = input.LA(1);
 
-            if ( (LA99_0==16) ) {
+            if ( (LA99_0==15) ) {
                 alt99=1;
             }
             switch (alt99) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4439:4: otherlv_1= ':' ( (lv_idx_2_0= RULE_INT ) )
                     {
-                    otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleRefSegment8760); 
+                    otherlv_1=(Token)match(input,15,FOLLOW_15_in_ruleRefSegment8760); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getRefSegmentAccess().getColonKeyword_1_0());
                         
@@ -11074,7 +11075,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4482:1: (otherlv_0= 'Binding' ( (lv_endpoint1_1_0= ruleBindingEndPoint ) ) otherlv_2= 'and' ( (lv_endpoint2_3_0= ruleBindingEndPoint ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4482:3: otherlv_0= 'Binding' ( (lv_endpoint1_1_0= ruleBindingEndPoint ) ) otherlv_2= 'and' ( (lv_endpoint2_3_0= ruleBindingEndPoint ) )
             {
-            otherlv_0=(Token)match(input,70,FOLLOW_70_in_ruleBinding8867); 
+            otherlv_0=(Token)match(input,69,FOLLOW_69_in_ruleBinding8867); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getBindingAccess().getBindingKeyword_0());
                 
@@ -11109,7 +11110,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,71,FOLLOW_71_in_ruleBinding8900); 
+            otherlv_2=(Token)match(input,70,FOLLOW_70_in_ruleBinding8900); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getBindingAccess().getAndKeyword_2());
                 
@@ -11227,7 +11228,7 @@
             if ( (LA100_0==RULE_ID) ) {
                 int LA100_1 = input.LA(2);
 
-                if ( (LA100_1==72) ) {
+                if ( (LA100_1==71) ) {
                     alt100=1;
                 }
             }
@@ -11256,7 +11257,7 @@
 
                     }
 
-                    otherlv_1=(Token)match(input,72,FOLLOW_72_in_ruleBindingEndPoint9025); 
+                    otherlv_1=(Token)match(input,71,FOLLOW_71_in_ruleBindingEndPoint9025); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1());
                         
@@ -11291,14 +11292,14 @@
             int alt101=2;
             int LA101_0 = input.LA(1);
 
-            if ( (LA101_0==73) ) {
+            if ( (LA101_0==72) ) {
                 alt101=1;
             }
             switch (alt101) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4577:4: otherlv_3= 'sub' ( (otherlv_4= RULE_ID ) )
                     {
-                    otherlv_3=(Token)match(input,73,FOLLOW_73_in_ruleBindingEndPoint9060); 
+                    otherlv_3=(Token)match(input,72,FOLLOW_72_in_ruleBindingEndPoint9060); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getBindingEndPointAccess().getSubKeyword_2_0());
                         
@@ -11406,7 +11407,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4615:1: (otherlv_0= 'LayerConnection' ( (lv_from_1_0= ruleSAPoint ) ) otherlv_2= 'satisfied_by' ( (lv_to_3_0= ruleSPPoint ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4615:3: otherlv_0= 'LayerConnection' ( (lv_from_1_0= ruleSAPoint ) ) otherlv_2= 'satisfied_by' ( (lv_to_3_0= ruleSPPoint ) )
             {
-            otherlv_0=(Token)match(input,74,FOLLOW_74_in_ruleLayerConnection9165); 
+            otherlv_0=(Token)match(input,73,FOLLOW_73_in_ruleLayerConnection9165); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0());
                 
@@ -11441,7 +11442,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,75,FOLLOW_75_in_ruleLayerConnection9198); 
+            otherlv_2=(Token)match(input,74,FOLLOW_74_in_ruleLayerConnection9198); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2());
                 
@@ -11552,10 +11553,10 @@
             int alt102=2;
             int LA102_0 = input.LA(1);
 
-            if ( (LA102_0==17) ) {
+            if ( (LA102_0==16) ) {
                 alt102=1;
             }
-            else if ( (LA102_0==76) ) {
+            else if ( (LA102_0==75) ) {
                 alt102=2;
             }
             else {
@@ -11674,7 +11675,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4720:1: (otherlv_0= 'ref' ( (otherlv_1= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4720:3: otherlv_0= 'ref' ( (otherlv_1= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleRefSAPoint9421); 
+            otherlv_0=(Token)match(input,16,FOLLOW_16_in_ruleRefSAPoint9421); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getRefSAPointAccess().getRefKeyword_0());
                 
@@ -11772,7 +11773,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4758:1: (otherlv_0= 'relay_sap' ( (otherlv_1= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4758:3: otherlv_0= 'relay_sap' ( (otherlv_1= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,76,FOLLOW_76_in_ruleRelaySAPoint9524); 
+            otherlv_0=(Token)match(input,75,FOLLOW_75_in_ruleRelaySAPoint9524); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0());
                 
@@ -11892,7 +11893,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,72,FOLLOW_72_in_ruleSPPoint9647); 
+            otherlv_1=(Token)match(input,71,FOLLOW_71_in_ruleSPPoint9647); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getSPPointAccess().getFullStopKeyword_1());
                 
@@ -12001,7 +12002,7 @@
             int alt103=2;
             int LA103_0 = input.LA(1);
 
-            if ( (LA103_0==111||LA103_0==125) ) {
+            if ( (LA103_0==110||LA103_0==126) ) {
                 alt103=1;
             }
             switch (alt103) {
@@ -12039,7 +12040,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,77,FOLLOW_77_in_ruleActorRef9772); 
+            otherlv_1=(Token)match(input,76,FOLLOW_76_in_ruleActorRef9772); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getActorRefAccess().getActorRefKeyword_1());
                 
@@ -12073,7 +12074,7 @@
             int alt104=2;
             int LA104_0 = input.LA(1);
 
-            if ( (LA104_0==34) ) {
+            if ( (LA104_0==33) ) {
                 alt104=1;
             }
             switch (alt104) {
@@ -12111,7 +12112,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,16,FOLLOW_16_in_ruleActorRef9828); 
+            otherlv_4=(Token)match(input,15,FOLLOW_15_in_ruleActorRef9828); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getActorRefAccess().getColonKeyword_4());
                 
@@ -12147,7 +12148,7 @@
             int alt105=2;
             int LA105_0 = input.LA(1);
 
-            if ( (LA105_0==34) ) {
+            if ( (LA105_0==33) ) {
                 alt105=1;
             }
             switch (alt105) {
@@ -12258,7 +12259,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4965:1: (kw= '[' (kw= '*' | this_INT_2= RULE_INT ) kw= ']' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4966:2: kw= '[' (kw= '*' | this_INT_2= RULE_INT ) kw= ']'
             {
-            kw=(Token)match(input,34,FOLLOW_34_in_ruleMULTIPLICITY9961); 
+            kw=(Token)match(input,33,FOLLOW_33_in_ruleMULTIPLICITY9961); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getMULTIPLICITYAccess().getLeftSquareBracketKeyword_0()); 
@@ -12267,7 +12268,7 @@
             int alt106=2;
             int LA106_0 = input.LA(1);
 
-            if ( (LA106_0==78) ) {
+            if ( (LA106_0==77) ) {
                 alt106=1;
             }
             else if ( (LA106_0==RULE_INT) ) {
@@ -12283,7 +12284,7 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:4972:2: kw= '*'
                     {
-                    kw=(Token)match(input,78,FOLLOW_78_in_ruleMULTIPLICITY9975); 
+                    kw=(Token)match(input,77,FOLLOW_77_in_ruleMULTIPLICITY9975); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getMULTIPLICITYAccess().getAsteriskKeyword_1_0()); 
@@ -12307,7 +12308,7 @@
 
             }
 
-            kw=(Token)match(input,35,FOLLOW_35_in_ruleMULTIPLICITY10015); 
+            kw=(Token)match(input,34,FOLLOW_34_in_ruleMULTIPLICITY10015); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getMULTIPLICITYAccess().getRightSquareBracketKeyword_2()); 
@@ -12384,37 +12385,37 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5012:1: (kw= 'DataClass' | kw= 'ActorClass' | kw= 'ActorBehavior' | kw= 'ProtocolClass' | kw= 'CompoundProtocolClass' | kw= 'SubSystemClass' | kw= 'LogicalSystem' )
             int alt107=7;
             switch ( input.LA(1) ) {
-            case 28:
+            case 27:
                 {
                 alt107=1;
                 }
                 break;
-            case 55:
+            case 54:
                 {
                 alt107=2;
                 }
                 break;
-            case 79:
+            case 78:
                 {
                 alt107=3;
                 }
                 break;
-            case 42:
+            case 41:
                 {
                 alt107=4;
                 }
                 break;
-            case 48:
+            case 47:
                 {
                 alt107=5;
                 }
                 break;
-            case 66:
+            case 65:
                 {
                 alt107=6;
                 }
                 break;
-            case 64:
+            case 63:
                 {
                 alt107=7;
                 }
@@ -12430,7 +12431,7 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5013:2: kw= 'DataClass'
                     {
-                    kw=(Token)match(input,28,FOLLOW_28_in_ruleAnnotationTargetType10105); 
+                    kw=(Token)match(input,27,FOLLOW_27_in_ruleAnnotationTargetType10105); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getAnnotationTargetTypeAccess().getDataClassKeyword_0()); 
@@ -12441,7 +12442,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5020:2: kw= 'ActorClass'
                     {
-                    kw=(Token)match(input,55,FOLLOW_55_in_ruleAnnotationTargetType10124); 
+                    kw=(Token)match(input,54,FOLLOW_54_in_ruleAnnotationTargetType10124); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getAnnotationTargetTypeAccess().getActorClassKeyword_1()); 
@@ -12452,7 +12453,7 @@
                 case 3 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5027:2: kw= 'ActorBehavior'
                     {
-                    kw=(Token)match(input,79,FOLLOW_79_in_ruleAnnotationTargetType10143); 
+                    kw=(Token)match(input,78,FOLLOW_78_in_ruleAnnotationTargetType10143); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getAnnotationTargetTypeAccess().getActorBehaviorKeyword_2()); 
@@ -12463,7 +12464,7 @@
                 case 4 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5034:2: kw= 'ProtocolClass'
                     {
-                    kw=(Token)match(input,42,FOLLOW_42_in_ruleAnnotationTargetType10162); 
+                    kw=(Token)match(input,41,FOLLOW_41_in_ruleAnnotationTargetType10162); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getAnnotationTargetTypeAccess().getProtocolClassKeyword_3()); 
@@ -12474,7 +12475,7 @@
                 case 5 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5041:2: kw= 'CompoundProtocolClass'
                     {
-                    kw=(Token)match(input,48,FOLLOW_48_in_ruleAnnotationTargetType10181); 
+                    kw=(Token)match(input,47,FOLLOW_47_in_ruleAnnotationTargetType10181); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getAnnotationTargetTypeAccess().getCompoundProtocolClassKeyword_4()); 
@@ -12485,7 +12486,7 @@
                 case 6 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5048:2: kw= 'SubSystemClass'
                     {
-                    kw=(Token)match(input,66,FOLLOW_66_in_ruleAnnotationTargetType10200); 
+                    kw=(Token)match(input,65,FOLLOW_65_in_ruleAnnotationTargetType10200); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getAnnotationTargetTypeAccess().getSubSystemClassKeyword_5()); 
@@ -12496,7 +12497,7 @@
                 case 7 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5055:2: kw= 'LogicalSystem'
                     {
-                    kw=(Token)match(input,64,FOLLOW_64_in_ruleAnnotationTargetType10219); 
+                    kw=(Token)match(input,63,FOLLOW_63_in_ruleAnnotationTargetType10219); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getAnnotationTargetTypeAccess().getLogicalSystemKeyword_6()); 
@@ -12581,21 +12582,21 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5083:1: (this_State_0= ruleState | this_ChoicePoint_1= ruleChoicePoint | this_TrPoint_2= ruleTrPoint )
             int alt108=3;
             switch ( input.LA(1) ) {
-            case 81:
-            case 86:
+            case 80:
+            case 85:
                 {
                 alt108=1;
                 }
                 break;
-            case 91:
+            case 90:
                 {
                 alt108=2;
                 }
                 break;
+            case 86:
             case 87:
             case 88:
             case 89:
-            case 90:
                 {
                 alt108=3;
                 }
@@ -12756,7 +12757,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,14,FOLLOW_14_in_ruleStateGraph10465); 
+            otherlv_1=(Token)match(input,13,FOLLOW_13_in_ruleStateGraph10465); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_1());
                 
@@ -12765,31 +12766,31 @@
             do {
                 int alt109=6;
                 switch ( input.LA(1) ) {
-                case 81:
-                case 86:
+                case 80:
+                case 85:
                     {
                     alt109=1;
                     }
                     break;
+                case 86:
                 case 87:
                 case 88:
                 case 89:
-                case 90:
                     {
                     alt109=2;
                     }
                     break;
-                case 91:
+                case 90:
                     {
                     alt109=3;
                     }
                     break;
-                case 92:
+                case 91:
                     {
                     alt109=4;
                     }
                     break;
-                case 99:
+                case 98:
                     {
                     alt109=5;
                     }
@@ -12989,7 +12990,7 @@
                 }
             } while (true);
 
-            otherlv_7=(Token)match(input,15,FOLLOW_15_in_ruleStateGraph10609); 
+            otherlv_7=(Token)match(input,14,FOLLOW_14_in_ruleStateGraph10609); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_3());
                 
@@ -13088,11 +13089,11 @@
 
             }
 
-            otherlv_1=(Token)match(input,80,FOLLOW_80_in_ruleStateMachine10701); 
+            otherlv_1=(Token)match(input,79,FOLLOW_79_in_ruleStateMachine10701); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getStateMachineAccess().getStateMachineKeyword_1());
                 
-            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleStateMachine10713); 
+            otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleStateMachine10713); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_2());
                 
@@ -13101,31 +13102,31 @@
             do {
                 int alt110=6;
                 switch ( input.LA(1) ) {
-                case 81:
-                case 86:
+                case 80:
+                case 85:
                     {
                     alt110=1;
                     }
                     break;
+                case 86:
                 case 87:
                 case 88:
                 case 89:
-                case 90:
                     {
                     alt110=2;
                     }
                     break;
-                case 91:
+                case 90:
                     {
                     alt110=3;
                     }
                     break;
-                case 92:
+                case 91:
                     {
                     alt110=4;
                     }
                     break;
-                case 99:
+                case 98:
                     {
                     alt110=5;
                     }
@@ -13325,7 +13326,7 @@
                 }
             } while (true);
 
-            otherlv_8=(Token)match(input,15,FOLLOW_15_in_ruleStateMachine10857); 
+            otherlv_8=(Token)match(input,14,FOLLOW_14_in_ruleStateMachine10857); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_4());
                 
@@ -13405,10 +13406,10 @@
             int alt111=2;
             int LA111_0 = input.LA(1);
 
-            if ( (LA111_0==81) ) {
+            if ( (LA111_0==80) ) {
                 alt111=1;
             }
-            else if ( (LA111_0==86) ) {
+            else if ( (LA111_0==85) ) {
                 alt111=2;
             }
             else {
@@ -13543,7 +13544,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5437:1: (otherlv_0= 'State' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? (otherlv_3= '{' (otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) ) )? (otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) ) )? (otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) ) )? (otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) ) )? otherlv_12= '}' )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5437:3: otherlv_0= 'State' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? (otherlv_3= '{' (otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) ) )? (otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) ) )? (otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) ) )? (otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) ) )? otherlv_12= '}' )?
             {
-            otherlv_0=(Token)match(input,81,FOLLOW_81_in_ruleSimpleState11059); 
+            otherlv_0=(Token)match(input,80,FOLLOW_80_in_ruleSimpleState11059); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getSimpleStateAccess().getStateKeyword_0());
                 
@@ -13577,7 +13578,7 @@
             int alt112=2;
             int LA112_0 = input.LA(1);
 
-            if ( (LA112_0==34) ) {
+            if ( (LA112_0==33) ) {
                 alt112=1;
             }
             switch (alt112) {
@@ -13619,14 +13620,14 @@
             int alt117=2;
             int LA117_0 = input.LA(1);
 
-            if ( (LA117_0==14) ) {
+            if ( (LA117_0==13) ) {
                 alt117=1;
             }
             switch (alt117) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5477:5: otherlv_3= '{' (otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) ) )? (otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) ) )? (otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) ) )? (otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) ) )? otherlv_12= '}'
                     {
-                    otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleSimpleState11116); 
+                    otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleSimpleState11116); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getSimpleStateAccess().getLeftCurlyBracketKeyword_3_0());
                         
@@ -13634,14 +13635,14 @@
                     int alt113=2;
                     int LA113_0 = input.LA(1);
 
-                    if ( (LA113_0==82) ) {
+                    if ( (LA113_0==81) ) {
                         alt113=1;
                     }
                     switch (alt113) {
                         case 1 :
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5481:3: otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) )
                             {
-                            otherlv_4=(Token)match(input,82,FOLLOW_82_in_ruleSimpleState11129); 
+                            otherlv_4=(Token)match(input,81,FOLLOW_81_in_ruleSimpleState11129); 
 
                                 	newLeafNode(otherlv_4, grammarAccess.getSimpleStateAccess().getEntryKeyword_3_1_0());
                                 
@@ -13686,14 +13687,14 @@
                     int alt114=2;
                     int LA114_0 = input.LA(1);
 
-                    if ( (LA114_0==83) ) {
+                    if ( (LA114_0==82) ) {
                         alt114=1;
                     }
                     switch (alt114) {
                         case 1 :
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5503:6: otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) )
                             {
-                            otherlv_6=(Token)match(input,83,FOLLOW_83_in_ruleSimpleState11165); 
+                            otherlv_6=(Token)match(input,82,FOLLOW_82_in_ruleSimpleState11165); 
 
                                 	newLeafNode(otherlv_6, grammarAccess.getSimpleStateAccess().getExitKeyword_3_2_0());
                                 
@@ -13738,14 +13739,14 @@
                     int alt115=2;
                     int LA115_0 = input.LA(1);
 
-                    if ( (LA115_0==84) ) {
+                    if ( (LA115_0==83) ) {
                         alt115=1;
                     }
                     switch (alt115) {
                         case 1 :
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5525:6: otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) )
                             {
-                            otherlv_8=(Token)match(input,84,FOLLOW_84_in_ruleSimpleState11201); 
+                            otherlv_8=(Token)match(input,83,FOLLOW_83_in_ruleSimpleState11201); 
 
                                 	newLeafNode(otherlv_8, grammarAccess.getSimpleStateAccess().getDoKeyword_3_3_0());
                                 
@@ -13790,14 +13791,14 @@
                     int alt116=2;
                     int LA116_0 = input.LA(1);
 
-                    if ( (LA116_0==85) ) {
+                    if ( (LA116_0==84) ) {
                         alt116=1;
                     }
                     switch (alt116) {
                         case 1 :
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5547:6: otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) )
                             {
-                            otherlv_10=(Token)match(input,85,FOLLOW_85_in_ruleSimpleState11237); 
+                            otherlv_10=(Token)match(input,84,FOLLOW_84_in_ruleSimpleState11237); 
 
                                 	newLeafNode(otherlv_10, grammarAccess.getSimpleStateAccess().getSubgraphKeyword_3_4_0());
                                 
@@ -13838,7 +13839,7 @@
 
                     }
 
-                    otherlv_12=(Token)match(input,15,FOLLOW_15_in_ruleSimpleState11272); 
+                    otherlv_12=(Token)match(input,14,FOLLOW_14_in_ruleSimpleState11272); 
 
                         	newLeafNode(otherlv_12, grammarAccess.getSimpleStateAccess().getRightCurlyBracketKeyword_3_5());
                         
@@ -13936,7 +13937,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5594:1: (otherlv_0= 'RefinedState' ( ( ruleFQN ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' (otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) ) )? (otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) ) )? (otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) ) )? (otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) ) )? otherlv_12= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5594:3: otherlv_0= 'RefinedState' ( ( ruleFQN ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' (otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) ) )? (otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) ) )? (otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) ) )? (otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) ) )? otherlv_12= '}'
             {
-            otherlv_0=(Token)match(input,86,FOLLOW_86_in_ruleRefinedState11357); 
+            otherlv_0=(Token)match(input,85,FOLLOW_85_in_ruleRefinedState11357); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0());
                 
@@ -13972,7 +13973,7 @@
             int alt118=2;
             int LA118_0 = input.LA(1);
 
-            if ( (LA118_0==34) ) {
+            if ( (LA118_0==33) ) {
                 alt118=1;
             }
             switch (alt118) {
@@ -14010,7 +14011,7 @@
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleRefinedState11414); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleRefinedState11414); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_3());
                 
@@ -14018,14 +14019,14 @@
             int alt119=2;
             int LA119_0 = input.LA(1);
 
-            if ( (LA119_0==82) ) {
+            if ( (LA119_0==81) ) {
                 alt119=1;
             }
             switch (alt119) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5635:3: otherlv_4= 'entry' ( (lv_entryCode_5_0= ruleDetailCode ) )
                     {
-                    otherlv_4=(Token)match(input,82,FOLLOW_82_in_ruleRefinedState11427); 
+                    otherlv_4=(Token)match(input,81,FOLLOW_81_in_ruleRefinedState11427); 
 
                         	newLeafNode(otherlv_4, grammarAccess.getRefinedStateAccess().getEntryKeyword_4_0());
                         
@@ -14070,14 +14071,14 @@
             int alt120=2;
             int LA120_0 = input.LA(1);
 
-            if ( (LA120_0==83) ) {
+            if ( (LA120_0==82) ) {
                 alt120=1;
             }
             switch (alt120) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5657:6: otherlv_6= 'exit' ( (lv_exitCode_7_0= ruleDetailCode ) )
                     {
-                    otherlv_6=(Token)match(input,83,FOLLOW_83_in_ruleRefinedState11463); 
+                    otherlv_6=(Token)match(input,82,FOLLOW_82_in_ruleRefinedState11463); 
 
                         	newLeafNode(otherlv_6, grammarAccess.getRefinedStateAccess().getExitKeyword_5_0());
                         
@@ -14122,14 +14123,14 @@
             int alt121=2;
             int LA121_0 = input.LA(1);
 
-            if ( (LA121_0==84) ) {
+            if ( (LA121_0==83) ) {
                 alt121=1;
             }
             switch (alt121) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5679:6: otherlv_8= 'do' ( (lv_doCode_9_0= ruleDetailCode ) )
                     {
-                    otherlv_8=(Token)match(input,84,FOLLOW_84_in_ruleRefinedState11499); 
+                    otherlv_8=(Token)match(input,83,FOLLOW_83_in_ruleRefinedState11499); 
 
                         	newLeafNode(otherlv_8, grammarAccess.getRefinedStateAccess().getDoKeyword_6_0());
                         
@@ -14174,14 +14175,14 @@
             int alt122=2;
             int LA122_0 = input.LA(1);
 
-            if ( (LA122_0==85) ) {
+            if ( (LA122_0==84) ) {
                 alt122=1;
             }
             switch (alt122) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5701:6: otherlv_10= 'subgraph' ( (lv_subgraph_11_0= ruleStateGraph ) )
                     {
-                    otherlv_10=(Token)match(input,85,FOLLOW_85_in_ruleRefinedState11535); 
+                    otherlv_10=(Token)match(input,84,FOLLOW_84_in_ruleRefinedState11535); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getRefinedStateAccess().getSubgraphKeyword_7_0());
                         
@@ -14222,7 +14223,7 @@
 
             }
 
-            otherlv_12=(Token)match(input,15,FOLLOW_15_in_ruleRefinedState11570); 
+            otherlv_12=(Token)match(input,14,FOLLOW_14_in_ruleRefinedState11570); 
 
                 	newLeafNode(otherlv_12, grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_8());
                 
@@ -14317,7 +14318,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5755:1: (lv_used_1_0= '{' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5756:3: lv_used_1_0= '{'
             {
-            lv_used_1_0=(Token)match(input,14,FOLLOW_14_in_ruleDetailCode11668); 
+            lv_used_1_0=(Token)match(input,13,FOLLOW_13_in_ruleDetailCode11668); 
 
                     newLeafNode(lv_used_1_0, grammarAccess.getDetailCodeAccess().getUsedLeftCurlyBracketKeyword_1_0());
                 
@@ -14377,7 +14378,7 @@
                 }
             } while (true);
 
-            otherlv_3=(Token)match(input,15,FOLLOW_15_in_ruleDetailCode11716); 
+            otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleDetailCode11716); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_3());
                 
@@ -14458,18 +14459,18 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5812:1: (this_TransitionPoint_0= ruleTransitionPoint | this_EntryPoint_1= ruleEntryPoint | this_ExitPoint_2= ruleExitPoint )
             int alt124=3;
             switch ( input.LA(1) ) {
+            case 86:
             case 87:
-            case 88:
                 {
                 alt124=1;
                 }
                 break;
-            case 89:
+            case 88:
                 {
                 alt124=2;
                 }
                 break;
-            case 90:
+            case 89:
                 {
                 alt124=3;
                 }
@@ -14614,7 +14615,7 @@
             int alt125=2;
             int LA125_0 = input.LA(1);
 
-            if ( (LA125_0==87) ) {
+            if ( (LA125_0==86) ) {
                 alt125=1;
             }
             switch (alt125) {
@@ -14624,7 +14625,7 @@
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5863:1: (lv_handler_0_0= 'handler' )
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5864:3: lv_handler_0_0= 'handler'
                     {
-                    lv_handler_0_0=(Token)match(input,87,FOLLOW_87_in_ruleTransitionPoint11951); 
+                    lv_handler_0_0=(Token)match(input,86,FOLLOW_86_in_ruleTransitionPoint11951); 
 
                             newLeafNode(lv_handler_0_0, grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0());
                         
@@ -14643,7 +14644,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,88,FOLLOW_88_in_ruleTransitionPoint11977); 
+            otherlv_1=(Token)match(input,87,FOLLOW_87_in_ruleTransitionPoint11977); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1());
                 
@@ -14746,7 +14747,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5920:1: (otherlv_0= 'EntryPoint' ( (lv_name_1_0= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5920:3: otherlv_0= 'EntryPoint' ( (lv_name_1_0= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,89,FOLLOW_89_in_ruleEntryPoint12082); 
+            otherlv_0=(Token)match(input,88,FOLLOW_88_in_ruleEntryPoint12082); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getEntryPointAccess().getEntryPointKeyword_0());
                 
@@ -14849,7 +14850,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5963:1: (otherlv_0= 'ExitPoint' ( (lv_name_1_0= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:5963:3: otherlv_0= 'ExitPoint' ( (lv_name_1_0= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,90,FOLLOW_90_in_ruleExitPoint12187); 
+            otherlv_0=(Token)match(input,89,FOLLOW_89_in_ruleExitPoint12187); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getExitPointAccess().getExitPointKeyword_0());
                 
@@ -14954,7 +14955,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6006:1: (otherlv_0= 'ChoicePoint' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6006:3: otherlv_0= 'ChoicePoint' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )?
             {
-            otherlv_0=(Token)match(input,91,FOLLOW_91_in_ruleChoicePoint12292); 
+            otherlv_0=(Token)match(input,90,FOLLOW_90_in_ruleChoicePoint12292); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getChoicePointAccess().getChoicePointKeyword_0());
                 
@@ -14988,7 +14989,7 @@
             int alt126=2;
             int LA126_0 = input.LA(1);
 
-            if ( (LA126_0==34) ) {
+            if ( (LA126_0==33) ) {
                 alt126=1;
             }
             switch (alt126) {
@@ -15102,21 +15103,21 @@
             int alt127=2;
             int LA127_0 = input.LA(1);
 
-            if ( (LA127_0==92) ) {
+            if ( (LA127_0==91) ) {
                 int LA127_1 = input.LA(2);
 
                 if ( (LA127_1==RULE_ID) ) {
                     int LA127_2 = input.LA(3);
 
-                    if ( (LA127_2==16) ) {
+                    if ( (LA127_2==15) ) {
                         int LA127_3 = input.LA(4);
 
-                        if ( (LA127_3==RULE_ID||(LA127_3>=100 && LA127_3<=101)) ) {
-                            alt127=2;
-                        }
-                        else if ( (LA127_3==93) ) {
+                        if ( (LA127_3==92) ) {
                             alt127=1;
                         }
+                        else if ( (LA127_3==RULE_ID||(LA127_3>=99 && LA127_3<=100)) ) {
+                            alt127=2;
+                        }
                         else {
                             NoViableAltException nvae =
                                 new NoViableAltException("", 127, 3, input);
@@ -15131,15 +15132,15 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA127_1==16) ) {
+                else if ( (LA127_1==15) ) {
                     int LA127_3 = input.LA(3);
 
-                    if ( (LA127_3==RULE_ID||(LA127_3>=100 && LA127_3<=101)) ) {
-                        alt127=2;
-                    }
-                    else if ( (LA127_3==93) ) {
+                    if ( (LA127_3==92) ) {
                         alt127=1;
                     }
+                    else if ( (LA127_3==RULE_ID||(LA127_3>=99 && LA127_3<=100)) ) {
+                        alt127=2;
+                    }
                     else {
                         NoViableAltException nvae =
                             new NoViableAltException("", 127, 3, input);
@@ -15526,7 +15527,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6197:1: (otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' otherlv_3= 'initial' otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? (otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}' )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6197:3: otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' otherlv_3= 'initial' otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? (otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}' )?
             {
-            otherlv_0=(Token)match(input,92,FOLLOW_92_in_ruleInitialTransition12803); 
+            otherlv_0=(Token)match(input,91,FOLLOW_91_in_ruleInitialTransition12803); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0());
                 
@@ -15567,15 +15568,15 @@
 
             }
 
-            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleInitialTransition12838); 
+            otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleInitialTransition12838); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getInitialTransitionAccess().getColonKeyword_2());
                 
-            otherlv_3=(Token)match(input,93,FOLLOW_93_in_ruleInitialTransition12850); 
+            otherlv_3=(Token)match(input,92,FOLLOW_92_in_ruleInitialTransition12850); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getInitialTransitionAccess().getInitialKeyword_3());
                 
-            otherlv_4=(Token)match(input,19,FOLLOW_19_in_ruleInitialTransition12862); 
+            otherlv_4=(Token)match(input,18,FOLLOW_18_in_ruleInitialTransition12862); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
                 
@@ -15614,7 +15615,7 @@
             int alt131=2;
             int LA131_0 = input.LA(1);
 
-            if ( (LA131_0==34) ) {
+            if ( (LA131_0==33) ) {
                 alt131=1;
             }
             switch (alt131) {
@@ -15656,14 +15657,14 @@
             int alt133=2;
             int LA133_0 = input.LA(1);
 
-            if ( (LA133_0==14) ) {
+            if ( (LA133_0==13) ) {
                 alt133=1;
             }
             switch (alt133) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6267:5: otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}'
                     {
-                    otherlv_7=(Token)match(input,14,FOLLOW_14_in_ruleInitialTransition12918); 
+                    otherlv_7=(Token)match(input,13,FOLLOW_13_in_ruleInitialTransition12918); 
 
                         	newLeafNode(otherlv_7, grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_7_0());
                         
@@ -15671,14 +15672,14 @@
                     int alt132=2;
                     int LA132_0 = input.LA(1);
 
-                    if ( (LA132_0==94) ) {
+                    if ( (LA132_0==93) ) {
                         alt132=1;
                     }
                     switch (alt132) {
                         case 1 :
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6271:3: otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) )
                             {
-                            otherlv_8=(Token)match(input,94,FOLLOW_94_in_ruleInitialTransition12931); 
+                            otherlv_8=(Token)match(input,93,FOLLOW_93_in_ruleInitialTransition12931); 
 
                                 	newLeafNode(otherlv_8, grammarAccess.getInitialTransitionAccess().getActionKeyword_7_1_0());
                                 
@@ -15719,7 +15720,7 @@
 
                     }
 
-                    otherlv_10=(Token)match(input,15,FOLLOW_15_in_ruleInitialTransition12966); 
+                    otherlv_10=(Token)match(input,14,FOLLOW_14_in_ruleInitialTransition12966); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_7_2());
                         
@@ -15815,7 +15816,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6318:1: (otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? (otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}' )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6318:3: otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? (otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}' )?
             {
-            otherlv_0=(Token)match(input,92,FOLLOW_92_in_ruleContinuationTransition13051); 
+            otherlv_0=(Token)match(input,91,FOLLOW_91_in_ruleContinuationTransition13051); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0());
                 
@@ -15856,7 +15857,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleContinuationTransition13086); 
+            otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleContinuationTransition13086); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getContinuationTransitionAccess().getColonKeyword_2());
                 
@@ -15891,7 +15892,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,19,FOLLOW_19_in_ruleContinuationTransition13119); 
+            otherlv_4=(Token)match(input,18,FOLLOW_18_in_ruleContinuationTransition13119); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
                 
@@ -15930,7 +15931,7 @@
             int alt135=2;
             int LA135_0 = input.LA(1);
 
-            if ( (LA135_0==34) ) {
+            if ( (LA135_0==33) ) {
                 alt135=1;
             }
             switch (alt135) {
@@ -15972,14 +15973,14 @@
             int alt137=2;
             int LA137_0 = input.LA(1);
 
-            if ( (LA137_0==14) ) {
+            if ( (LA137_0==13) ) {
                 alt137=1;
             }
             switch (alt137) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6402:5: otherlv_7= '{' (otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) ) )? otherlv_10= '}'
                     {
-                    otherlv_7=(Token)match(input,14,FOLLOW_14_in_ruleContinuationTransition13175); 
+                    otherlv_7=(Token)match(input,13,FOLLOW_13_in_ruleContinuationTransition13175); 
 
                         	newLeafNode(otherlv_7, grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_7_0());
                         
@@ -15987,14 +15988,14 @@
                     int alt136=2;
                     int LA136_0 = input.LA(1);
 
-                    if ( (LA136_0==94) ) {
+                    if ( (LA136_0==93) ) {
                         alt136=1;
                     }
                     switch (alt136) {
                         case 1 :
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6406:3: otherlv_8= 'action' ( (lv_action_9_0= ruleDetailCode ) )
                             {
-                            otherlv_8=(Token)match(input,94,FOLLOW_94_in_ruleContinuationTransition13188); 
+                            otherlv_8=(Token)match(input,93,FOLLOW_93_in_ruleContinuationTransition13188); 
 
                                 	newLeafNode(otherlv_8, grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_1_0());
                                 
@@ -16035,7 +16036,7 @@
 
                     }
 
-                    otherlv_10=(Token)match(input,15,FOLLOW_15_in_ruleContinuationTransition13223); 
+                    otherlv_10=(Token)match(input,14,FOLLOW_14_in_ruleContinuationTransition13223); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_7_2());
                         
@@ -16139,7 +16140,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6453:1: (otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'triggers' otherlv_9= '{' ( (lv_triggers_10_0= ruleTrigger ) ) (otherlv_11= 'or' ( (lv_triggers_12_0= ruleTrigger ) ) )* otherlv_13= '}' (otherlv_14= 'action' ( (lv_action_15_0= ruleDetailCode ) ) )? otherlv_16= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6453:3: otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'triggers' otherlv_9= '{' ( (lv_triggers_10_0= ruleTrigger ) ) (otherlv_11= 'or' ( (lv_triggers_12_0= ruleTrigger ) ) )* otherlv_13= '}' (otherlv_14= 'action' ( (lv_action_15_0= ruleDetailCode ) ) )? otherlv_16= '}'
             {
-            otherlv_0=(Token)match(input,92,FOLLOW_92_in_ruleTriggeredTransition13308); 
+            otherlv_0=(Token)match(input,91,FOLLOW_91_in_ruleTriggeredTransition13308); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0());
                 
@@ -16180,7 +16181,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleTriggeredTransition13343); 
+            otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleTriggeredTransition13343); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2());
                 
@@ -16215,7 +16216,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,19,FOLLOW_19_in_ruleTriggeredTransition13376); 
+            otherlv_4=(Token)match(input,18,FOLLOW_18_in_ruleTriggeredTransition13376); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
                 
@@ -16254,7 +16255,7 @@
             int alt139=2;
             int LA139_0 = input.LA(1);
 
-            if ( (LA139_0==34) ) {
+            if ( (LA139_0==33) ) {
                 alt139=1;
             }
             switch (alt139) {
@@ -16292,15 +16293,15 @@
 
             }
 
-            otherlv_7=(Token)match(input,14,FOLLOW_14_in_ruleTriggeredTransition13431); 
+            otherlv_7=(Token)match(input,13,FOLLOW_13_in_ruleTriggeredTransition13431); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_7());
                 
-            otherlv_8=(Token)match(input,95,FOLLOW_95_in_ruleTriggeredTransition13443); 
+            otherlv_8=(Token)match(input,94,FOLLOW_94_in_ruleTriggeredTransition13443); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_8());
                 
-            otherlv_9=(Token)match(input,14,FOLLOW_14_in_ruleTriggeredTransition13455); 
+            otherlv_9=(Token)match(input,13,FOLLOW_13_in_ruleTriggeredTransition13455); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_9());
                 
@@ -16341,7 +16342,7 @@
                 int alt140=2;
                 int LA140_0 = input.LA(1);
 
-                if ( (LA140_0==96) ) {
+                if ( (LA140_0==95) ) {
                     alt140=1;
                 }
 
@@ -16350,7 +16351,7 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6567:4: otherlv_11= 'or' ( (lv_triggers_12_0= ruleTrigger ) )
             	    {
-            	    otherlv_11=(Token)match(input,96,FOLLOW_96_in_ruleTriggeredTransition13489); 
+            	    otherlv_11=(Token)match(input,95,FOLLOW_95_in_ruleTriggeredTransition13489); 
 
             	        	newLeafNode(otherlv_11, grammarAccess.getTriggeredTransitionAccess().getOrKeyword_11_0());
             	        
@@ -16394,7 +16395,7 @@
                 }
             } while (true);
 
-            otherlv_13=(Token)match(input,15,FOLLOW_15_in_ruleTriggeredTransition13524); 
+            otherlv_13=(Token)match(input,14,FOLLOW_14_in_ruleTriggeredTransition13524); 
 
                 	newLeafNode(otherlv_13, grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_12());
                 
@@ -16402,14 +16403,14 @@
             int alt141=2;
             int LA141_0 = input.LA(1);
 
-            if ( (LA141_0==94) ) {
+            if ( (LA141_0==93) ) {
                 alt141=1;
             }
             switch (alt141) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6593:3: otherlv_14= 'action' ( (lv_action_15_0= ruleDetailCode ) )
                     {
-                    otherlv_14=(Token)match(input,94,FOLLOW_94_in_ruleTriggeredTransition13537); 
+                    otherlv_14=(Token)match(input,93,FOLLOW_93_in_ruleTriggeredTransition13537); 
 
                         	newLeafNode(otherlv_14, grammarAccess.getTriggeredTransitionAccess().getActionKeyword_13_0());
                         
@@ -16450,7 +16451,7 @@
 
             }
 
-            otherlv_16=(Token)match(input,15,FOLLOW_15_in_ruleTriggeredTransition13572); 
+            otherlv_16=(Token)match(input,14,FOLLOW_14_in_ruleTriggeredTransition13572); 
 
                 	newLeafNode(otherlv_16, grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_14());
                 
@@ -16543,7 +16544,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6640:1: (otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'guard' ( (lv_guard_9_0= ruleDetailCode ) ) (otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) ) )? otherlv_12= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6640:3: otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'guard' ( (lv_guard_9_0= ruleDetailCode ) ) (otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) ) )? otherlv_12= '}'
             {
-            otherlv_0=(Token)match(input,92,FOLLOW_92_in_ruleGuardedTransition13655); 
+            otherlv_0=(Token)match(input,91,FOLLOW_91_in_ruleGuardedTransition13655); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getGuardedTransitionAccess().getTransitionKeyword_0());
                 
@@ -16584,7 +16585,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleGuardedTransition13690); 
+            otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleGuardedTransition13690); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getGuardedTransitionAccess().getColonKeyword_2());
                 
@@ -16619,7 +16620,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,19,FOLLOW_19_in_ruleGuardedTransition13723); 
+            otherlv_4=(Token)match(input,18,FOLLOW_18_in_ruleGuardedTransition13723); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getGuardedTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
                 
@@ -16658,7 +16659,7 @@
             int alt143=2;
             int LA143_0 = input.LA(1);
 
-            if ( (LA143_0==34) ) {
+            if ( (LA143_0==33) ) {
                 alt143=1;
             }
             switch (alt143) {
@@ -16696,11 +16697,11 @@
 
             }
 
-            otherlv_7=(Token)match(input,14,FOLLOW_14_in_ruleGuardedTransition13778); 
+            otherlv_7=(Token)match(input,13,FOLLOW_13_in_ruleGuardedTransition13778); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getGuardedTransitionAccess().getLeftCurlyBracketKeyword_7());
                 
-            otherlv_8=(Token)match(input,97,FOLLOW_97_in_ruleGuardedTransition13790); 
+            otherlv_8=(Token)match(input,96,FOLLOW_96_in_ruleGuardedTransition13790); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getGuardedTransitionAccess().getGuardKeyword_8());
                 
@@ -16739,14 +16740,14 @@
             int alt144=2;
             int LA144_0 = input.LA(1);
 
-            if ( (LA144_0==94) ) {
+            if ( (LA144_0==93) ) {
                 alt144=1;
             }
             switch (alt144) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6750:4: otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) )
                     {
-                    otherlv_10=(Token)match(input,94,FOLLOW_94_in_ruleGuardedTransition13824); 
+                    otherlv_10=(Token)match(input,93,FOLLOW_93_in_ruleGuardedTransition13824); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getGuardedTransitionAccess().getActionKeyword_10_0());
                         
@@ -16787,7 +16788,7 @@
 
             }
 
-            otherlv_12=(Token)match(input,15,FOLLOW_15_in_ruleGuardedTransition13859); 
+            otherlv_12=(Token)match(input,14,FOLLOW_14_in_ruleGuardedTransition13859); 
 
                 	newLeafNode(otherlv_12, grammarAccess.getGuardedTransitionAccess().getRightCurlyBracketKeyword_11());
                 
@@ -16880,7 +16881,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6797:1: (otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'cond' ( (lv_condition_9_0= ruleDetailCode ) ) (otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) ) )? otherlv_12= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6797:3: otherlv_0= 'Transition' ( (lv_name_1_0= RULE_ID ) )? otherlv_2= ':' ( (lv_from_3_0= ruleTransitionTerminal ) ) otherlv_4= '->' ( (lv_to_5_0= ruleTransitionTerminal ) ) ( (lv_docu_6_0= ruleDocumentation ) )? otherlv_7= '{' otherlv_8= 'cond' ( (lv_condition_9_0= ruleDetailCode ) ) (otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) ) )? otherlv_12= '}'
             {
-            otherlv_0=(Token)match(input,92,FOLLOW_92_in_ruleCPBranchTransition13942); 
+            otherlv_0=(Token)match(input,91,FOLLOW_91_in_ruleCPBranchTransition13942); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0());
                 
@@ -16921,7 +16922,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,16,FOLLOW_16_in_ruleCPBranchTransition13977); 
+            otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleCPBranchTransition13977); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2());
                 
@@ -16956,7 +16957,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,19,FOLLOW_19_in_ruleCPBranchTransition14010); 
+            otherlv_4=(Token)match(input,18,FOLLOW_18_in_ruleCPBranchTransition14010); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
                 
@@ -16995,7 +16996,7 @@
             int alt146=2;
             int LA146_0 = input.LA(1);
 
-            if ( (LA146_0==34) ) {
+            if ( (LA146_0==33) ) {
                 alt146=1;
             }
             switch (alt146) {
@@ -17033,11 +17034,11 @@
 
             }
 
-            otherlv_7=(Token)match(input,14,FOLLOW_14_in_ruleCPBranchTransition14065); 
+            otherlv_7=(Token)match(input,13,FOLLOW_13_in_ruleCPBranchTransition14065); 
 
                 	newLeafNode(otherlv_7, grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_7());
                 
-            otherlv_8=(Token)match(input,98,FOLLOW_98_in_ruleCPBranchTransition14077); 
+            otherlv_8=(Token)match(input,97,FOLLOW_97_in_ruleCPBranchTransition14077); 
 
                 	newLeafNode(otherlv_8, grammarAccess.getCPBranchTransitionAccess().getCondKeyword_8());
                 
@@ -17076,14 +17077,14 @@
             int alt147=2;
             int LA147_0 = input.LA(1);
 
-            if ( (LA147_0==94) ) {
+            if ( (LA147_0==93) ) {
                 alt147=1;
             }
             switch (alt147) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6907:4: otherlv_10= 'action' ( (lv_action_11_0= ruleDetailCode ) )
                     {
-                    otherlv_10=(Token)match(input,94,FOLLOW_94_in_ruleCPBranchTransition14111); 
+                    otherlv_10=(Token)match(input,93,FOLLOW_93_in_ruleCPBranchTransition14111); 
 
                         	newLeafNode(otherlv_10, grammarAccess.getCPBranchTransitionAccess().getActionKeyword_10_0());
                         
@@ -17124,7 +17125,7 @@
 
             }
 
-            otherlv_12=(Token)match(input,15,FOLLOW_15_in_ruleCPBranchTransition14146); 
+            otherlv_12=(Token)match(input,14,FOLLOW_14_in_ruleCPBranchTransition14146); 
 
                 	newLeafNode(otherlv_12, grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_11());
                 
@@ -17207,7 +17208,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6954:1: (otherlv_0= 'RefinedTransition' ( ( ruleFQN ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' otherlv_4= 'action' ( (lv_action_5_0= ruleDetailCode ) ) otherlv_6= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:6954:3: otherlv_0= 'RefinedTransition' ( ( ruleFQN ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' otherlv_4= 'action' ( (lv_action_5_0= ruleDetailCode ) ) otherlv_6= '}'
             {
-            otherlv_0=(Token)match(input,99,FOLLOW_99_in_ruleRefinedTransition14229); 
+            otherlv_0=(Token)match(input,98,FOLLOW_98_in_ruleRefinedTransition14229); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getRefinedTransitionAccess().getRefinedTransitionKeyword_0());
                 
@@ -17243,7 +17244,7 @@
             int alt148=2;
             int LA148_0 = input.LA(1);
 
-            if ( (LA148_0==34) ) {
+            if ( (LA148_0==33) ) {
                 alt148=1;
             }
             switch (alt148) {
@@ -17281,11 +17282,11 @@
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleRefinedTransition14286); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleRefinedTransition14286); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getRefinedTransitionAccess().getLeftCurlyBracketKeyword_3());
                 
-            otherlv_4=(Token)match(input,94,FOLLOW_94_in_ruleRefinedTransition14298); 
+            otherlv_4=(Token)match(input,93,FOLLOW_93_in_ruleRefinedTransition14298); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getRefinedTransitionAccess().getActionKeyword_4());
                 
@@ -17320,7 +17321,7 @@
 
             }
 
-            otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleRefinedTransition14331); 
+            otherlv_6=(Token)match(input,14,FOLLOW_14_in_ruleRefinedTransition14331); 
 
                 	newLeafNode(otherlv_6, grammarAccess.getRefinedTransitionAccess().getRightCurlyBracketKeyword_6());
                 
@@ -17407,10 +17408,10 @@
                 {
                 int LA149_1 = input.LA(2);
 
-                if ( (LA149_1==24) ) {
+                if ( (LA149_1==23) ) {
                     alt149=3;
                 }
-                else if ( (LA149_1==EOF||(LA149_1>=14 && LA149_1<=15)||LA149_1==19||LA149_1==34||LA149_1==81||(LA149_1>=86 && LA149_1<=92)||LA149_1==99) ) {
+                else if ( (LA149_1==EOF||(LA149_1>=13 && LA149_1<=14)||LA149_1==18||LA149_1==33||LA149_1==80||(LA149_1>=85 && LA149_1<=91)||LA149_1==98) ) {
                     alt149=1;
                 }
                 else {
@@ -17421,12 +17422,12 @@
                 }
                 }
                 break;
-            case 100:
+            case 99:
                 {
                 alt149=2;
                 }
                 break;
-            case 101:
+            case 100:
                 {
                 alt149=4;
                 }
@@ -17671,7 +17672,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7136:1: (otherlv_0= 'my' ( (otherlv_1= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7136:3: otherlv_0= 'my' ( (otherlv_1= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,100,FOLLOW_100_in_ruleTrPointTerminal14676); 
+            otherlv_0=(Token)match(input,99,FOLLOW_99_in_ruleTrPointTerminal14676); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getTrPointTerminalAccess().getMyKeyword_0());
                 
@@ -17791,7 +17792,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,24,FOLLOW_24_in_ruleSubStateTrPointTerminal14799); 
+            otherlv_1=(Token)match(input,23,FOLLOW_23_in_ruleSubStateTrPointTerminal14799); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1());
                 
@@ -17889,7 +17890,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7225:1: (otherlv_0= 'cp' ( (otherlv_1= RULE_ID ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7225:3: otherlv_0= 'cp' ( (otherlv_1= RULE_ID ) )
             {
-            otherlv_0=(Token)match(input,101,FOLLOW_101_in_ruleChoicepointTerminal14902); 
+            otherlv_0=(Token)match(input,100,FOLLOW_100_in_ruleChoicepointTerminal14902); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0());
                 
@@ -17994,7 +17995,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7263:1: (otherlv_0= '<' ( (lv_msgFromIfPairs_1_0= ruleMessageFromIf ) ) (otherlv_2= '|' ( (lv_msgFromIfPairs_3_0= ruleMessageFromIf ) ) )* ( (lv_guard_4_0= ruleGuard ) )? otherlv_5= '>' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7263:3: otherlv_0= '<' ( (lv_msgFromIfPairs_1_0= ruleMessageFromIf ) ) (otherlv_2= '|' ( (lv_msgFromIfPairs_3_0= ruleMessageFromIf ) ) )* ( (lv_guard_4_0= ruleGuard ) )? otherlv_5= '>'
             {
-            otherlv_0=(Token)match(input,102,FOLLOW_102_in_ruleTrigger15005); 
+            otherlv_0=(Token)match(input,101,FOLLOW_101_in_ruleTrigger15005); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getTriggerAccess().getLessThanSignKeyword_0());
                 
@@ -18035,7 +18036,7 @@
                 int alt150=2;
                 int LA150_0 = input.LA(1);
 
-                if ( (LA150_0==103) ) {
+                if ( (LA150_0==102) ) {
                     alt150=1;
                 }
 
@@ -18044,7 +18045,7 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7285:4: otherlv_2= '|' ( (lv_msgFromIfPairs_3_0= ruleMessageFromIf ) )
             	    {
-            	    otherlv_2=(Token)match(input,103,FOLLOW_103_in_ruleTrigger15039); 
+            	    otherlv_2=(Token)match(input,102,FOLLOW_102_in_ruleTrigger15039); 
 
             	        	newLeafNode(otherlv_2, grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0());
             	        
@@ -18092,7 +18093,7 @@
             int alt151=2;
             int LA151_0 = input.LA(1);
 
-            if ( (LA151_0==97) ) {
+            if ( (LA151_0==96) ) {
                 alt151=1;
             }
             switch (alt151) {
@@ -18130,7 +18131,7 @@
 
             }
 
-            otherlv_5=(Token)match(input,104,FOLLOW_104_in_ruleTrigger15096); 
+            otherlv_5=(Token)match(input,103,FOLLOW_103_in_ruleTrigger15096); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4());
                 
@@ -18229,7 +18230,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleMessageFromIf15199); 
+            otherlv_1=(Token)match(input,15,FOLLOW_15_in_ruleMessageFromIf15199); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getMessageFromIfAccess().getColonKeyword_1());
                 
@@ -18328,7 +18329,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7401:1: (otherlv_0= 'guard' ( (lv_guard_1_0= ruleDetailCode ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7401:3: otherlv_0= 'guard' ( (lv_guard_1_0= ruleDetailCode ) )
             {
-            otherlv_0=(Token)match(input,97,FOLLOW_97_in_ruleGuard15302); 
+            otherlv_0=(Token)match(input,96,FOLLOW_96_in_ruleGuard15302); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getGuardAccess().getGuardKeyword_0());
                 
@@ -18450,11 +18451,11 @@
 
             }
 
-            otherlv_1=(Token)match(input,105,FOLLOW_105_in_ruleProtocolSemantics15415); 
+            otherlv_1=(Token)match(input,104,FOLLOW_104_in_ruleProtocolSemantics15415); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_1());
                 
-            otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleProtocolSemantics15427); 
+            otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleProtocolSemantics15427); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_2());
                 
@@ -18464,7 +18465,7 @@
                 int alt152=2;
                 int LA152_0 = input.LA(1);
 
-                if ( ((LA152_0>=106 && LA152_0<=107)) ) {
+                if ( ((LA152_0>=105 && LA152_0<=106)) ) {
                     alt152=1;
                 }
 
@@ -18507,7 +18508,7 @@
                 }
             } while (true);
 
-            otherlv_4=(Token)match(input,15,FOLLOW_15_in_ruleProtocolSemantics15461); 
+            otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleProtocolSemantics15461); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_4());
                 
@@ -18587,10 +18588,10 @@
             int alt153=2;
             int LA153_0 = input.LA(1);
 
-            if ( (LA153_0==106) ) {
+            if ( (LA153_0==105) ) {
                 alt153=1;
             }
-            else if ( (LA153_0==107) ) {
+            else if ( (LA153_0==106) ) {
                 alt153=2;
             }
             else {
@@ -18720,11 +18721,11 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7541:1: (otherlv_0= 'in' otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) ) )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7541:3: otherlv_0= 'in' otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) ) )?
             {
-            otherlv_0=(Token)match(input,106,FOLLOW_106_in_ruleInSemanticsRule15663); 
+            otherlv_0=(Token)match(input,105,FOLLOW_105_in_ruleInSemanticsRule15663); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getInSemanticsRuleAccess().getInKeyword_0());
                 
-            otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleInSemanticsRule15675); 
+            otherlv_1=(Token)match(input,15,FOLLOW_15_in_ruleInSemanticsRule15675); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getInSemanticsRuleAccess().getColonKeyword_1());
                 
@@ -18753,14 +18754,14 @@
             int alt156=2;
             int LA156_0 = input.LA(1);
 
-            if ( (LA156_0==19) ) {
+            if ( (LA156_0==18) ) {
                 alt156=1;
             }
             switch (alt156) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7562:4: otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) )
                     {
-                    otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleInSemanticsRule15708); 
+                    otherlv_3=(Token)match(input,18,FOLLOW_18_in_ruleInSemanticsRule15708); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getInSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0());
                         
@@ -18768,10 +18769,10 @@
                     int alt155=2;
                     int LA155_0 = input.LA(1);
 
-                    if ( ((LA155_0>=106 && LA155_0<=107)) ) {
+                    if ( ((LA155_0>=105 && LA155_0<=106)) ) {
                         alt155=1;
                     }
-                    else if ( (LA155_0==20) ) {
+                    else if ( (LA155_0==19) ) {
                         alt155=2;
                     }
                     else {
@@ -18824,7 +18825,7 @@
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7585:6: (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' )
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7585:8: otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')'
                             {
-                            otherlv_5=(Token)match(input,20,FOLLOW_20_in_ruleInSemanticsRule15749); 
+                            otherlv_5=(Token)match(input,19,FOLLOW_19_in_ruleInSemanticsRule15749); 
 
                                 	newLeafNode(otherlv_5, grammarAccess.getInSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0());
                                 
@@ -18866,7 +18867,7 @@
                                 int alt154=2;
                                 int LA154_0 = input.LA(1);
 
-                                if ( (LA154_0==25) ) {
+                                if ( (LA154_0==24) ) {
                                     alt154=1;
                                 }
 
@@ -18875,7 +18876,7 @@
                             	case 1 :
                             	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7607:4: otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) )
                             	    {
-                            	    otherlv_7=(Token)match(input,25,FOLLOW_25_in_ruleInSemanticsRule15783); 
+                            	    otherlv_7=(Token)match(input,24,FOLLOW_24_in_ruleInSemanticsRule15783); 
 
                             	        	newLeafNode(otherlv_7, grammarAccess.getInSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0());
                             	        
@@ -18923,7 +18924,7 @@
                                 cnt154++;
                             } while (true);
 
-                            otherlv_9=(Token)match(input,21,FOLLOW_21_in_ruleInSemanticsRule15818); 
+                            otherlv_9=(Token)match(input,20,FOLLOW_20_in_ruleInSemanticsRule15818); 
 
                                 	newLeafNode(otherlv_9, grammarAccess.getInSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3());
                                 
@@ -19026,11 +19027,11 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7654:1: (otherlv_0= 'out' otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) ) )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7654:3: otherlv_0= 'out' otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) ) )?
             {
-            otherlv_0=(Token)match(input,107,FOLLOW_107_in_ruleOutSemanticsRule15905); 
+            otherlv_0=(Token)match(input,106,FOLLOW_106_in_ruleOutSemanticsRule15905); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getOutSemanticsRuleAccess().getOutKeyword_0());
                 
-            otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleOutSemanticsRule15917); 
+            otherlv_1=(Token)match(input,15,FOLLOW_15_in_ruleOutSemanticsRule15917); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getOutSemanticsRuleAccess().getColonKeyword_1());
                 
@@ -19059,14 +19060,14 @@
             int alt159=2;
             int LA159_0 = input.LA(1);
 
-            if ( (LA159_0==19) ) {
+            if ( (LA159_0==18) ) {
                 alt159=1;
             }
             switch (alt159) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7675:4: otherlv_3= '->' ( ( (lv_followUps_4_0= ruleSemanticsRule ) ) | (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' ) )
                     {
-                    otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleOutSemanticsRule15950); 
+                    otherlv_3=(Token)match(input,18,FOLLOW_18_in_ruleOutSemanticsRule15950); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getOutSemanticsRuleAccess().getHyphenMinusGreaterThanSignKeyword_3_0());
                         
@@ -19074,10 +19075,10 @@
                     int alt158=2;
                     int LA158_0 = input.LA(1);
 
-                    if ( ((LA158_0>=106 && LA158_0<=107)) ) {
+                    if ( ((LA158_0>=105 && LA158_0<=106)) ) {
                         alt158=1;
                     }
-                    else if ( (LA158_0==20) ) {
+                    else if ( (LA158_0==19) ) {
                         alt158=2;
                     }
                     else {
@@ -19130,7 +19131,7 @@
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7698:6: (otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')' )
                             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7698:8: otherlv_5= '(' ( (lv_followUps_6_0= ruleSemanticsRule ) ) (otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) ) )+ otherlv_9= ')'
                             {
-                            otherlv_5=(Token)match(input,20,FOLLOW_20_in_ruleOutSemanticsRule15991); 
+                            otherlv_5=(Token)match(input,19,FOLLOW_19_in_ruleOutSemanticsRule15991); 
 
                                 	newLeafNode(otherlv_5, grammarAccess.getOutSemanticsRuleAccess().getLeftParenthesisKeyword_3_1_1_0());
                                 
@@ -19172,7 +19173,7 @@
                                 int alt157=2;
                                 int LA157_0 = input.LA(1);
 
-                                if ( (LA157_0==25) ) {
+                                if ( (LA157_0==24) ) {
                                     alt157=1;
                                 }
 
@@ -19181,7 +19182,7 @@
                             	case 1 :
                             	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7720:4: otherlv_7= ',' ( (lv_followUps_8_0= ruleSemanticsRule ) )
                             	    {
-                            	    otherlv_7=(Token)match(input,25,FOLLOW_25_in_ruleOutSemanticsRule16025); 
+                            	    otherlv_7=(Token)match(input,24,FOLLOW_24_in_ruleOutSemanticsRule16025); 
 
                             	        	newLeafNode(otherlv_7, grammarAccess.getOutSemanticsRuleAccess().getCommaKeyword_3_1_1_2_0());
                             	        
@@ -19229,7 +19230,7 @@
                                 cnt157++;
                             } while (true);
 
-                            otherlv_9=(Token)match(input,21,FOLLOW_21_in_ruleOutSemanticsRule16060); 
+                            otherlv_9=(Token)match(input,20,FOLLOW_20_in_ruleOutSemanticsRule16060); 
 
                                 	newLeafNode(otherlv_9, grammarAccess.getOutSemanticsRuleAccess().getRightParenthesisKeyword_3_1_1_3());
                                 
@@ -19327,7 +19328,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7767:1: (otherlv_0= '@' ( ( ruleFQN ) ) (otherlv_2= '(' ( (lv_attributes_3_0= ruleKeyValue ) ) (otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) ) )* otherlv_6= ')' )? )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7767:3: otherlv_0= '@' ( ( ruleFQN ) ) (otherlv_2= '(' ( (lv_attributes_3_0= ruleKeyValue ) ) (otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) ) )* otherlv_6= ')' )?
             {
-            otherlv_0=(Token)match(input,108,FOLLOW_108_in_ruleAnnotation16147); 
+            otherlv_0=(Token)match(input,107,FOLLOW_107_in_ruleAnnotation16147); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getAnnotationAccess().getCommercialAtKeyword_0());
                 
@@ -19363,14 +19364,14 @@
             int alt161=2;
             int LA161_0 = input.LA(1);
 
-            if ( (LA161_0==20) ) {
+            if ( (LA161_0==19) ) {
                 alt161=1;
             }
             switch (alt161) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7786:4: otherlv_2= '(' ( (lv_attributes_3_0= ruleKeyValue ) ) (otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) ) )* otherlv_6= ')'
                     {
-                    otherlv_2=(Token)match(input,20,FOLLOW_20_in_ruleAnnotation16183); 
+                    otherlv_2=(Token)match(input,19,FOLLOW_19_in_ruleAnnotation16183); 
 
                         	newLeafNode(otherlv_2, grammarAccess.getAnnotationAccess().getLeftParenthesisKeyword_2_0());
                         
@@ -19411,7 +19412,7 @@
                         int alt160=2;
                         int LA160_0 = input.LA(1);
 
-                        if ( (LA160_0==25) ) {
+                        if ( (LA160_0==24) ) {
                             alt160=1;
                         }
 
@@ -19420,7 +19421,7 @@
                     	case 1 :
                     	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7808:4: otherlv_4= ',' ( (lv_attributes_5_0= ruleKeyValue ) )
                     	    {
-                    	    otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleAnnotation16217); 
+                    	    otherlv_4=(Token)match(input,24,FOLLOW_24_in_ruleAnnotation16217); 
 
                     	        	newLeafNode(otherlv_4, grammarAccess.getAnnotationAccess().getCommaKeyword_2_2_0());
                     	        
@@ -19464,7 +19465,7 @@
                         }
                     } while (true);
 
-                    otherlv_6=(Token)match(input,21,FOLLOW_21_in_ruleAnnotation16252); 
+                    otherlv_6=(Token)match(input,20,FOLLOW_20_in_ruleAnnotation16252); 
 
                         	newLeafNode(otherlv_6, grammarAccess.getAnnotationAccess().getRightParenthesisKeyword_2_3());
                         
@@ -19575,7 +19576,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,26,FOLLOW_26_in_ruleKeyValue16359); 
+            otherlv_1=(Token)match(input,25,FOLLOW_25_in_ruleKeyValue16359); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getKeyValueAccess().getEqualsSignKeyword_1());
                 
@@ -19700,7 +19701,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7916:1: (otherlv_0= 'AnnotationType' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' otherlv_4= 'target' otherlv_5= '=' ( ( (lv_targets_6_0= ruleAnnotationTargetType ) ) | (otherlv_7= '{' ( (lv_targets_8_0= ruleAnnotationTargetType ) ) (otherlv_9= ',' ( (lv_targets_10_0= ruleAnnotationTargetType ) ) )* otherlv_11= '}' ) ) ( (lv_attributes_12_0= ruleAnnotationAttribute ) )* otherlv_13= '}' )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7916:3: otherlv_0= 'AnnotationType' ( (lv_name_1_0= RULE_ID ) ) ( (lv_docu_2_0= ruleDocumentation ) )? otherlv_3= '{' otherlv_4= 'target' otherlv_5= '=' ( ( (lv_targets_6_0= ruleAnnotationTargetType ) ) | (otherlv_7= '{' ( (lv_targets_8_0= ruleAnnotationTargetType ) ) (otherlv_9= ',' ( (lv_targets_10_0= ruleAnnotationTargetType ) ) )* otherlv_11= '}' ) ) ( (lv_attributes_12_0= ruleAnnotationAttribute ) )* otherlv_13= '}'
             {
-            otherlv_0=(Token)match(input,109,FOLLOW_109_in_ruleAnnotationType16463); 
+            otherlv_0=(Token)match(input,108,FOLLOW_108_in_ruleAnnotationType16463); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getAnnotationTypeAccess().getAnnotationTypeKeyword_0());
                 
@@ -19734,7 +19735,7 @@
             int alt162=2;
             int LA162_0 = input.LA(1);
 
-            if ( (LA162_0==34) ) {
+            if ( (LA162_0==33) ) {
                 alt162=1;
             }
             switch (alt162) {
@@ -19772,15 +19773,15 @@
 
             }
 
-            otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleAnnotationType16519); 
+            otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleAnnotationType16519); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getAnnotationTypeAccess().getLeftCurlyBracketKeyword_3());
                 
-            otherlv_4=(Token)match(input,110,FOLLOW_110_in_ruleAnnotationType16531); 
+            otherlv_4=(Token)match(input,109,FOLLOW_109_in_ruleAnnotationType16531); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getAnnotationTypeAccess().getTargetKeyword_4());
                 
-            otherlv_5=(Token)match(input,26,FOLLOW_26_in_ruleAnnotationType16543); 
+            otherlv_5=(Token)match(input,25,FOLLOW_25_in_ruleAnnotationType16543); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getAnnotationTypeAccess().getEqualsSignKeyword_5());
                 
@@ -19788,10 +19789,10 @@
             int alt164=2;
             int LA164_0 = input.LA(1);
 
-            if ( (LA164_0==28||LA164_0==42||LA164_0==48||LA164_0==55||LA164_0==64||LA164_0==66||LA164_0==79) ) {
+            if ( (LA164_0==27||LA164_0==41||LA164_0==47||LA164_0==54||LA164_0==63||LA164_0==65||LA164_0==78) ) {
                 alt164=1;
             }
-            else if ( (LA164_0==14) ) {
+            else if ( (LA164_0==13) ) {
                 alt164=2;
             }
             else {
@@ -19844,7 +19845,7 @@
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7987:6: (otherlv_7= '{' ( (lv_targets_8_0= ruleAnnotationTargetType ) ) (otherlv_9= ',' ( (lv_targets_10_0= ruleAnnotationTargetType ) ) )* otherlv_11= '}' )
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:7987:8: otherlv_7= '{' ( (lv_targets_8_0= ruleAnnotationTargetType ) ) (otherlv_9= ',' ( (lv_targets_10_0= ruleAnnotationTargetType ) ) )* otherlv_11= '}'
                     {
-                    otherlv_7=(Token)match(input,14,FOLLOW_14_in_ruleAnnotationType16584); 
+                    otherlv_7=(Token)match(input,13,FOLLOW_13_in_ruleAnnotationType16584); 
 
                         	newLeafNode(otherlv_7, grammarAccess.getAnnotationTypeAccess().getLeftCurlyBracketKeyword_6_1_0());
                         
@@ -19885,7 +19886,7 @@
                         int alt163=2;
                         int LA163_0 = input.LA(1);
 
-                        if ( (LA163_0==25) ) {
+                        if ( (LA163_0==24) ) {
                             alt163=1;
                         }
 
@@ -19894,7 +19895,7 @@
                     	case 1 :
                     	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8009:4: otherlv_9= ',' ( (lv_targets_10_0= ruleAnnotationTargetType ) )
                     	    {
-                    	    otherlv_9=(Token)match(input,25,FOLLOW_25_in_ruleAnnotationType16618); 
+                    	    otherlv_9=(Token)match(input,24,FOLLOW_24_in_ruleAnnotationType16618); 
 
                     	        	newLeafNode(otherlv_9, grammarAccess.getAnnotationTypeAccess().getCommaKeyword_6_1_2_0());
                     	        
@@ -19938,7 +19939,7 @@
                         }
                     } while (true);
 
-                    otherlv_11=(Token)match(input,15,FOLLOW_15_in_ruleAnnotationType16653); 
+                    otherlv_11=(Token)match(input,14,FOLLOW_14_in_ruleAnnotationType16653); 
 
                         	newLeafNode(otherlv_11, grammarAccess.getAnnotationTypeAccess().getRightCurlyBracketKeyword_6_1_3());
                         
@@ -19957,7 +19958,7 @@
                 int alt165=2;
                 int LA165_0 = input.LA(1);
 
-                if ( ((LA165_0>=111 && LA165_0<=112)) ) {
+                if ( ((LA165_0>=110 && LA165_0<=111)) ) {
                     alt165=1;
                 }
 
@@ -20000,7 +20001,7 @@
                 }
             } while (true);
 
-            otherlv_13=(Token)match(input,15,FOLLOW_15_in_ruleAnnotationType16689); 
+            otherlv_13=(Token)match(input,14,FOLLOW_14_in_ruleAnnotationType16689); 
 
                 	newLeafNode(otherlv_13, grammarAccess.getAnnotationTypeAccess().getRightCurlyBracketKeyword_8());
                 
@@ -20080,24 +20081,24 @@
             int alt166=2;
             int LA166_0 = input.LA(1);
 
-            if ( (LA166_0==111) ) {
+            if ( (LA166_0==110) ) {
                 int LA166_1 = input.LA(2);
 
-                if ( (LA166_1==113) ) {
+                if ( (LA166_1==112) ) {
                     int LA166_3 = input.LA(3);
 
                     if ( (LA166_3==RULE_ID) ) {
                         int LA166_4 = input.LA(4);
 
-                        if ( (LA166_4==16) ) {
+                        if ( (LA166_4==15) ) {
                             int LA166_5 = input.LA(5);
 
-                            if ( ((LA166_5>=127 && LA166_5<=130)) ) {
-                                alt166=1;
-                            }
-                            else if ( (LA166_5==14) ) {
+                            if ( (LA166_5==13) ) {
                                 alt166=2;
                             }
+                            else if ( ((LA166_5>=128 && LA166_5<=131)) ) {
+                                alt166=1;
+                            }
                             else {
                                 NoViableAltException nvae =
                                     new NoViableAltException("", 166, 5, input);
@@ -20126,24 +20127,24 @@
                     throw nvae;
                 }
             }
-            else if ( (LA166_0==112) ) {
+            else if ( (LA166_0==111) ) {
                 int LA166_2 = input.LA(2);
 
-                if ( (LA166_2==113) ) {
+                if ( (LA166_2==112) ) {
                     int LA166_3 = input.LA(3);
 
                     if ( (LA166_3==RULE_ID) ) {
                         int LA166_4 = input.LA(4);
 
-                        if ( (LA166_4==16) ) {
+                        if ( (LA166_4==15) ) {
                             int LA166_5 = input.LA(5);
 
-                            if ( ((LA166_5>=127 && LA166_5<=130)) ) {
-                                alt166=1;
-                            }
-                            else if ( (LA166_5==14) ) {
+                            if ( (LA166_5==13) ) {
                                 alt166=2;
                             }
+                            else if ( ((LA166_5>=128 && LA166_5<=131)) ) {
+                                alt166=1;
+                            }
                             else {
                                 NoViableAltException nvae =
                                     new NoViableAltException("", 166, 5, input);
@@ -20297,10 +20298,10 @@
             int alt167=2;
             int LA167_0 = input.LA(1);
 
-            if ( (LA167_0==111) ) {
+            if ( (LA167_0==110) ) {
                 alt167=1;
             }
-            else if ( (LA167_0==112) ) {
+            else if ( (LA167_0==111) ) {
                 alt167=2;
             }
             else {
@@ -20319,7 +20320,7 @@
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8119:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8120:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,111,FOLLOW_111_in_ruleSimpleAnnotationAttribute16898); 
+                    lv_optional_0_0=(Token)match(input,110,FOLLOW_110_in_ruleSimpleAnnotationAttribute16898); 
 
                             newLeafNode(lv_optional_0_0, grammarAccess.getSimpleAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
                         
@@ -20341,7 +20342,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8134:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,112,FOLLOW_112_in_ruleSimpleAnnotationAttribute16929); 
+                    otherlv_1=(Token)match(input,111,FOLLOW_111_in_ruleSimpleAnnotationAttribute16929); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getSimpleAnnotationAttributeAccess().getMandatoryKeyword_0_1());
                         
@@ -20351,7 +20352,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,113,FOLLOW_113_in_ruleSimpleAnnotationAttribute16942); 
+            otherlv_2=(Token)match(input,112,FOLLOW_112_in_ruleSimpleAnnotationAttribute16942); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getSimpleAnnotationAttributeAccess().getAttributeKeyword_1());
                 
@@ -20381,7 +20382,7 @@
 
             }
 
-            otherlv_4=(Token)match(input,16,FOLLOW_16_in_ruleSimpleAnnotationAttribute16976); 
+            otherlv_4=(Token)match(input,15,FOLLOW_15_in_ruleSimpleAnnotationAttribute16976); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getSimpleAnnotationAttributeAccess().getColonKeyword_3());
                 
@@ -20501,10 +20502,10 @@
             int alt168=2;
             int LA168_0 = input.LA(1);
 
-            if ( (LA168_0==111) ) {
+            if ( (LA168_0==110) ) {
                 alt168=1;
             }
-            else if ( (LA168_0==112) ) {
+            else if ( (LA168_0==111) ) {
                 alt168=2;
             }
             else {
@@ -20523,7 +20524,7 @@
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8204:1: (lv_optional_0_0= 'optional' )
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8205:3: lv_optional_0_0= 'optional'
                     {
-                    lv_optional_0_0=(Token)match(input,111,FOLLOW_111_in_ruleEnumAnnotationAttribute17087); 
+                    lv_optional_0_0=(Token)match(input,110,FOLLOW_110_in_ruleEnumAnnotationAttribute17087); 
 
                             newLeafNode(lv_optional_0_0, grammarAccess.getEnumAnnotationAttributeAccess().getOptionalOptionalKeyword_0_0_0());
                         
@@ -20545,7 +20546,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8219:7: otherlv_1= 'mandatory'
                     {
-                    otherlv_1=(Token)match(input,112,FOLLOW_112_in_ruleEnumAnnotationAttribute17118); 
+                    otherlv_1=(Token)match(input,111,FOLLOW_111_in_ruleEnumAnnotationAttribute17118); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getEnumAnnotationAttributeAccess().getMandatoryKeyword_0_1());
                         
@@ -20555,7 +20556,7 @@
 
             }
 
-            otherlv_2=(Token)match(input,113,FOLLOW_113_in_ruleEnumAnnotationAttribute17131); 
+            otherlv_2=(Token)match(input,112,FOLLOW_112_in_ruleEnumAnnotationAttribute17131); 
 
                 	newLeafNode(otherlv_2, grammarAccess.getEnumAnnotationAttributeAccess().getAttributeKeyword_1());
                 
@@ -20585,11 +20586,11 @@
 
             }
 
-            otherlv_4=(Token)match(input,16,FOLLOW_16_in_ruleEnumAnnotationAttribute17165); 
+            otherlv_4=(Token)match(input,15,FOLLOW_15_in_ruleEnumAnnotationAttribute17165); 
 
                 	newLeafNode(otherlv_4, grammarAccess.getEnumAnnotationAttributeAccess().getColonKeyword_3());
                 
-            otherlv_5=(Token)match(input,14,FOLLOW_14_in_ruleEnumAnnotationAttribute17177); 
+            otherlv_5=(Token)match(input,13,FOLLOW_13_in_ruleEnumAnnotationAttribute17177); 
 
                 	newLeafNode(otherlv_5, grammarAccess.getEnumAnnotationAttributeAccess().getLeftCurlyBracketKeyword_4());
                 
@@ -20625,7 +20626,7 @@
                 int alt169=2;
                 int LA169_0 = input.LA(1);
 
-                if ( (LA169_0==25) ) {
+                if ( (LA169_0==24) ) {
                     alt169=1;
                 }
 
@@ -20634,7 +20635,7 @@
             	case 1 :
             	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8271:4: otherlv_7= ',' ( (lv_values_8_0= RULE_STRING ) )
             	    {
-            	    otherlv_7=(Token)match(input,25,FOLLOW_25_in_ruleEnumAnnotationAttribute17212); 
+            	    otherlv_7=(Token)match(input,24,FOLLOW_24_in_ruleEnumAnnotationAttribute17212); 
 
             	        	newLeafNode(otherlv_7, grammarAccess.getEnumAnnotationAttributeAccess().getCommaKeyword_6_0());
             	        
@@ -20673,7 +20674,7 @@
                 }
             } while (true);
 
-            otherlv_9=(Token)match(input,15,FOLLOW_15_in_ruleEnumAnnotationAttribute17248); 
+            otherlv_9=(Token)match(input,14,FOLLOW_14_in_ruleEnumAnnotationAttribute17248); 
 
                 	newLeafNode(otherlv_9, grammarAccess.getEnumAnnotationAttributeAccess().getRightCurlyBracketKeyword_7());
                 
@@ -20754,7 +20755,7 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8318:1: (otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) ) )
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8318:3: otherlv_0= 'import' ( ( ( (lv_importedNamespace_1_0= ruleImportedFQN ) ) otherlv_2= 'from' ) | otherlv_3= 'model' ) ( (lv_importURI_4_0= RULE_STRING ) )
             {
-            otherlv_0=(Token)match(input,114,FOLLOW_114_in_ruleImport17331); 
+            otherlv_0=(Token)match(input,113,FOLLOW_113_in_ruleImport17331); 
 
                 	newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
                 
@@ -20765,7 +20766,7 @@
             if ( (LA170_0==RULE_ID) ) {
                 alt170=1;
             }
-            else if ( (LA170_0==116) ) {
+            else if ( (LA170_0==115) ) {
                 alt170=2;
             }
             else {
@@ -20812,7 +20813,7 @@
 
                     }
 
-                    otherlv_2=(Token)match(input,115,FOLLOW_115_in_ruleImport17366); 
+                    otherlv_2=(Token)match(input,114,FOLLOW_114_in_ruleImport17366); 
 
                         	newLeafNode(otherlv_2, grammarAccess.getImportAccess().getFromKeyword_1_0_1());
                         
@@ -20825,7 +20826,7 @@
                 case 2 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8345:7: otherlv_3= 'model'
                     {
-                    otherlv_3=(Token)match(input,116,FOLLOW_116_in_ruleImport17385); 
+                    otherlv_3=(Token)match(input,115,FOLLOW_115_in_ruleImport17385); 
 
                         	newLeafNode(otherlv_3, grammarAccess.getImportAccess().getModelKeyword_1_1());
                         
@@ -20953,14 +20954,14 @@
             int alt171=2;
             int LA171_0 = input.LA(1);
 
-            if ( (LA171_0==117) ) {
+            if ( (LA171_0==116) ) {
                 alt171=1;
             }
             switch (alt171) {
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8400:2: kw= '.*'
                     {
-                    kw=(Token)match(input,117,FOLLOW_117_in_ruleImportedFQN17522); 
+                    kw=(Token)match(input,116,FOLLOW_116_in_ruleImportedFQN17522); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopAsteriskKeyword_1()); 
@@ -21056,7 +21057,7 @@
 
             }
 
-            otherlv_1=(Token)match(input,34,FOLLOW_34_in_ruleDocumentation17620); 
+            otherlv_1=(Token)match(input,33,FOLLOW_33_in_ruleDocumentation17620); 
 
                 	newLeafNode(otherlv_1, grammarAccess.getDocumentationAccess().getLeftSquareBracketKeyword_1());
                 
@@ -21104,7 +21105,7 @@
                 }
             } while (true);
 
-            otherlv_3=(Token)match(input,35,FOLLOW_35_in_ruleDocumentation17655); 
+            otherlv_3=(Token)match(input,34,FOLLOW_34_in_ruleDocumentation17655); 
 
                 	newLeafNode(otherlv_3, grammarAccess.getDocumentationAccess().getRightSquareBracketKeyword_3());
                 
@@ -21185,17 +21186,16 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8483:1: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NumberLiteral_1= ruleNumberLiteral | this_StringLiteral_2= ruleStringLiteral )
             int alt173=3;
             switch ( input.LA(1) ) {
+            case 117:
             case 118:
-            case 119:
                 {
                 alt173=1;
                 }
                 break;
             case RULE_INT:
             case RULE_HEX:
-            case 72:
+            case 119:
             case 120:
-            case 121:
                 {
                 alt173=2;
                 }
@@ -21355,10 +21355,10 @@
             int alt174=2;
             int LA174_0 = input.LA(1);
 
-            if ( (LA174_0==118) ) {
+            if ( (LA174_0==117) ) {
                 alt174=1;
             }
-            else if ( (LA174_0==119) ) {
+            else if ( (LA174_0==118) ) {
                 alt174=2;
             }
             else {
@@ -21371,7 +21371,7 @@
                 case 1 :
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8539:4: otherlv_1= 'false'
                     {
-                    otherlv_1=(Token)match(input,118,FOLLOW_118_in_ruleBooleanLiteral17898); 
+                    otherlv_1=(Token)match(input,117,FOLLOW_117_in_ruleBooleanLiteral17898); 
 
                         	newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_0());
                         
@@ -21387,7 +21387,7 @@
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8545:1: (lv_isTrue_2_0= 'true' )
                     // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8546:3: lv_isTrue_2_0= 'true'
                     {
-                    lv_isTrue_2_0=(Token)match(input,119,FOLLOW_119_in_ruleBooleanLiteral17922); 
+                    lv_isTrue_2_0=(Token)match(input,118,FOLLOW_118_in_ruleBooleanLiteral17922); 
 
                             newLeafNode(lv_isTrue_2_0, grammarAccess.getBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
                         
@@ -21484,22 +21484,19 @@
             // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8580:1: (this_IntLiteral_0= ruleIntLiteral | this_RealLiteral_1= ruleRealLiteral )
             int alt175=2;
             switch ( input.LA(1) ) {
-            case 120:
+            case 119:
                 {
                 int LA175_1 = input.LA(2);
 
-                if ( (LA175_1==72) ) {
-                    alt175=2;
-                }
-                else if ( (LA175_1==RULE_INT) ) {
+                if ( (LA175_1==RULE_INT) ) {
                     int LA175_3 = input.LA(3);
 
-                    if ( (LA175_3==72) ) {
-                        alt175=2;
-                    }
-                    else if ( (LA175_3==EOF||LA175_3==21||LA175_3==25) ) {
+                    if ( (LA175_3==EOF||LA175_3==20||LA175_3==24) ) {
                         alt175=1;
                     }
+                    else if ( (LA175_3==71) ) {
+                        alt175=2;
+                    }
                     else {
                         NoViableAltException nvae =
                             new NoViableAltException("", 175, 3, input);
@@ -21515,19 +21512,19 @@
                 }
                 }
                 break;
-            case 121:
+            case 120:
                 {
                 int LA175_2 = input.LA(2);
 
                 if ( (LA175_2==RULE_INT) ) {
                     int LA175_3 = input.LA(3);
 
-                    if ( (LA175_3==72) ) {
-                        alt175=2;
-                    }
-                    else if ( (LA175_3==EOF||LA175_3==21||LA175_3==25) ) {
+                    if ( (LA175_3==EOF||LA175_3==20||LA175_3==24) ) {
                         alt175=1;
                     }
+                    else if ( (LA175_3==71) ) {
+                        alt175=2;
+                    }
                     else {
                         NoViableAltException nvae =
                             new NoViableAltException("", 175, 3, input);
@@ -21535,9 +21532,6 @@
                         throw nvae;
                     }
                 }
-                else if ( (LA175_2==72) ) {
-                    alt175=2;
-                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 175, 2, input);
@@ -21550,12 +21544,12 @@
                 {
                 int LA175_3 = input.LA(2);
 
-                if ( (LA175_3==72) ) {
-                    alt175=2;
-                }
-                else if ( (LA175_3==EOF||LA175_3==21||LA175_3==25) ) {
+                if ( (LA175_3==EOF||LA175_3==20||LA175_3==24) ) {
                     alt175=1;
                 }
+                else if ( (LA175_3==71) ) {
+                    alt175=2;
+                }
                 else {
                     NoViableAltException nvae =
                         new NoViableAltException("", 175, 3, input);
@@ -21569,11 +21563,6 @@
                 alt175=1;
                 }
                 break;
-            case 72:
-                {
-                alt175=2;
-                }
-                break;
             default:
                 NoViableAltException nvae =
                     new NoViableAltException("", 175, 0, input);
@@ -22014,74 +22003,101 @@
 
 
     // $ANTLR start "ruleInteger"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8751:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8751:1: ruleInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) ;
     public final AntlrDatatypeRuleToken ruleInteger() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
-        AntlrDatatypeRuleToken this_SignedInteger_0 = null;
-
-        AntlrDatatypeRuleToken this_Hexadecimal_1 = null;
-
+        Token kw=null;
+        Token this_INT_2=null;
+        Token this_HEX_3=null;
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8754:28: ( (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8755:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8754:28: ( ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8755:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8755:1: (this_SignedInteger_0= ruleSignedInteger | this_Hexadecimal_1= ruleHexadecimal )
-            int alt176=2;
-            int LA176_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8755:1: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) | this_HEX_3= RULE_HEX )
+            int alt177=2;
+            int LA177_0 = input.LA(1);
 
-            if ( (LA176_0==RULE_INT||(LA176_0>=120 && LA176_0<=121)) ) {
-                alt176=1;
+            if ( (LA177_0==RULE_INT||(LA177_0>=119 && LA177_0<=120)) ) {
+                alt177=1;
             }
-            else if ( (LA176_0==RULE_HEX) ) {
-                alt176=2;
+            else if ( (LA177_0==RULE_HEX) ) {
+                alt177=2;
             }
             else {
                 NoViableAltException nvae =
-                    new NoViableAltException("", 176, 0, input);
+                    new NoViableAltException("", 177, 0, input);
 
                 throw nvae;
             }
-            switch (alt176) {
+            switch (alt177) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8756:5: this_SignedInteger_0= ruleSignedInteger
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8755:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getSignedIntegerParserRuleCall_0()); 
-                        
-                    pushFollow(FOLLOW_ruleSignedInteger_in_ruleInteger18454);
-                    this_SignedInteger_0=ruleSignedInteger();
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8755:2: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8755:3: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
+                    {
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8755:3: (kw= '+' | kw= '-' )?
+                    int alt176=3;
+                    int LA176_0 = input.LA(1);
 
-                    state._fsp--;
+                    if ( (LA176_0==119) ) {
+                        alt176=1;
+                    }
+                    else if ( (LA176_0==120) ) {
+                        alt176=2;
+                    }
+                    switch (alt176) {
+                        case 1 :
+                            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8756:2: kw= '+'
+                            {
+                            kw=(Token)match(input,119,FOLLOW_119_in_ruleInteger18447); 
 
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getIntegerAccess().getPlusSignKeyword_0_0_0()); 
+                                
 
-                    		current.merge(this_SignedInteger_0);
+                            }
+                            break;
+                        case 2 :
+                            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8763:2: kw= '-'
+                            {
+                            kw=(Token)match(input,120,FOLLOW_120_in_ruleInteger18466); 
+
+                                    current.merge(kw);
+                                    newLeafNode(kw, grammarAccess.getIntegerAccess().getHyphenMinusKeyword_0_0_1()); 
+                                
+
+                            }
+                            break;
+
+                    }
+
+                    this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleInteger18483); 
+
+                    		current.merge(this_INT_2);
                         
                      
-                            afterParserOrEnumRuleCall();
+                        newLeafNode(this_INT_2, grammarAccess.getIntegerAccess().getINTTerminalRuleCall_0_1()); 
                         
 
                     }
+
+
+                    }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8768:5: this_Hexadecimal_1= ruleHexadecimal
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8776:10: this_HEX_3= RULE_HEX
                     {
-                     
-                            newCompositeNode(grammarAccess.getIntegerAccess().getHexadecimalParserRuleCall_1()); 
-                        
-                    pushFollow(FOLLOW_ruleHexadecimal_in_ruleInteger18487);
-                    this_Hexadecimal_1=ruleHexadecimal();
+                    this_HEX_3=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleInteger18510); 
 
-                    state._fsp--;
-
-
-                    		current.merge(this_Hexadecimal_1);
+                    		current.merge(this_HEX_3);
                         
                      
-                            afterParserOrEnumRuleCall();
+                        newLeafNode(this_HEX_3, grammarAccess.getIntegerAccess().getHEXTerminalRuleCall_1()); 
                         
 
                     }
@@ -22106,217 +22122,8 @@
     // $ANTLR end "ruleInteger"
 
 
-    // $ANTLR start "entryRuleSignedInteger"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8786:1: entryRuleSignedInteger returns [String current=null] : iv_ruleSignedInteger= ruleSignedInteger EOF ;
-    public final String entryRuleSignedInteger() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleSignedInteger = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8790:2: (iv_ruleSignedInteger= ruleSignedInteger EOF )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8791:2: iv_ruleSignedInteger= ruleSignedInteger EOF
-            {
-             newCompositeNode(grammarAccess.getSignedIntegerRule()); 
-            pushFollow(FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger18539);
-            iv_ruleSignedInteger=ruleSignedInteger();
-
-            state._fsp--;
-
-             current =iv_ruleSignedInteger.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleSignedInteger18550); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleSignedInteger"
-
-
-    // $ANTLR start "ruleSignedInteger"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8801:1: ruleSignedInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleSignedInteger() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8805:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8806:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8806:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8806:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8806:2: (kw= '+' | kw= '-' )?
-            int alt177=3;
-            int LA177_0 = input.LA(1);
-
-            if ( (LA177_0==120) ) {
-                alt177=1;
-            }
-            else if ( (LA177_0==121) ) {
-                alt177=2;
-            }
-            switch (alt177) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8807:2: kw= '+'
-                    {
-                    kw=(Token)match(input,120,FOLLOW_120_in_ruleSignedInteger18593); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8814:2: kw= '-'
-                    {
-                    kw=(Token)match(input,121,FOLLOW_121_in_ruleSignedInteger18612); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getSignedIntegerAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSignedInteger18629); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getSignedIntegerAccess().getINTTerminalRuleCall_1()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleSignedInteger"
-
-
-    // $ANTLR start "entryRuleHexadecimal"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8837:1: entryRuleHexadecimal returns [String current=null] : iv_ruleHexadecimal= ruleHexadecimal EOF ;
-    public final String entryRuleHexadecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleHexadecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8841:2: (iv_ruleHexadecimal= ruleHexadecimal EOF )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8842:2: iv_ruleHexadecimal= ruleHexadecimal EOF
-            {
-             newCompositeNode(grammarAccess.getHexadecimalRule()); 
-            pushFollow(FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal18685);
-            iv_ruleHexadecimal=ruleHexadecimal();
-
-            state._fsp--;
-
-             current =iv_ruleHexadecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleHexadecimal18696); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleHexadecimal"
-
-
-    // $ANTLR start "ruleHexadecimal"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8852:1: ruleHexadecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_HEX_0= RULE_HEX ;
-    public final AntlrDatatypeRuleToken ruleHexadecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token this_HEX_0=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8856:28: (this_HEX_0= RULE_HEX )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8857:5: this_HEX_0= RULE_HEX
-            {
-            this_HEX_0=(Token)match(input,RULE_HEX,FOLLOW_RULE_HEX_in_ruleHexadecimal18739); 
-
-            		current.merge(this_HEX_0);
-                
-             
-                newLeafNode(this_HEX_0, grammarAccess.getHexadecimalAccess().getHEXTerminalRuleCall()); 
-                
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleHexadecimal"
-
-
     // $ANTLR start "entryRuleReal"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8875:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8791:1: entryRuleReal returns [String current=null] : iv_ruleReal= ruleReal EOF ;
     public final String entryRuleReal() throws RecognitionException {
         String current = null;
 
@@ -22324,17 +22131,17 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8876:2: (iv_ruleReal= ruleReal EOF )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8877:2: iv_ruleReal= ruleReal EOF
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8792:2: (iv_ruleReal= ruleReal EOF )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8793:2: iv_ruleReal= ruleReal EOF
             {
              newCompositeNode(grammarAccess.getRealRule()); 
-            pushFollow(FOLLOW_ruleReal_in_entryRuleReal18788);
+            pushFollow(FOLLOW_ruleReal_in_entryRuleReal18556);
             iv_ruleReal=ruleReal();
 
             state._fsp--;
 
              current =iv_ruleReal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleReal18799); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleReal18567); 
 
             }
 
@@ -22352,36 +22159,173 @@
 
 
     // $ANTLR start "ruleReal"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8884:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8800:1: ruleReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) ;
     public final AntlrDatatypeRuleToken ruleReal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         AntlrDatatypeRuleToken this_Decimal_0 = null;
 
-        AntlrDatatypeRuleToken this_DotDecimal_1 = null;
-
-        AntlrDatatypeRuleToken this_DecimalDot_2 = null;
-
-        AntlrDatatypeRuleToken this_DecimalExp_3 = null;
+        AntlrDatatypeRuleToken this_DecimalExp_1 = null;
 
 
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8887:28: ( (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8888:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8803:28: ( (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8804:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8888:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )
-            int alt178=4;
-            alt178 = dfa178.predict(input);
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8804:1: (this_Decimal_0= ruleDecimal | this_DecimalExp_1= ruleDecimalExp )
+            int alt178=2;
+            switch ( input.LA(1) ) {
+            case 119:
+                {
+                int LA178_1 = input.LA(2);
+
+                if ( (LA178_1==RULE_INT) ) {
+                    int LA178_3 = input.LA(3);
+
+                    if ( (LA178_3==71) ) {
+                        int LA178_4 = input.LA(4);
+
+                        if ( (LA178_4==RULE_INT) ) {
+                            int LA178_5 = input.LA(5);
+
+                            if ( (LA178_5==EOF||LA178_5==20||LA178_5==24) ) {
+                                alt178=1;
+                            }
+                            else if ( ((LA178_5>=121 && LA178_5<=122)) ) {
+                                alt178=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 178, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 178, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 178, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 178, 1, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case 120:
+                {
+                int LA178_2 = input.LA(2);
+
+                if ( (LA178_2==RULE_INT) ) {
+                    int LA178_3 = input.LA(3);
+
+                    if ( (LA178_3==71) ) {
+                        int LA178_4 = input.LA(4);
+
+                        if ( (LA178_4==RULE_INT) ) {
+                            int LA178_5 = input.LA(5);
+
+                            if ( (LA178_5==EOF||LA178_5==20||LA178_5==24) ) {
+                                alt178=1;
+                            }
+                            else if ( ((LA178_5>=121 && LA178_5<=122)) ) {
+                                alt178=2;
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("", 178, 5, input);
+
+                                throw nvae;
+                            }
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 178, 4, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 178, 3, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 178, 2, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            case RULE_INT:
+                {
+                int LA178_3 = input.LA(2);
+
+                if ( (LA178_3==71) ) {
+                    int LA178_4 = input.LA(3);
+
+                    if ( (LA178_4==RULE_INT) ) {
+                        int LA178_5 = input.LA(4);
+
+                        if ( (LA178_5==EOF||LA178_5==20||LA178_5==24) ) {
+                            alt178=1;
+                        }
+                        else if ( ((LA178_5>=121 && LA178_5<=122)) ) {
+                            alt178=2;
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("", 178, 5, input);
+
+                            throw nvae;
+                        }
+                    }
+                    else {
+                        NoViableAltException nvae =
+                            new NoViableAltException("", 178, 4, input);
+
+                        throw nvae;
+                    }
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("", 178, 3, input);
+
+                    throw nvae;
+                }
+                }
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("", 178, 0, input);
+
+                throw nvae;
+            }
+
             switch (alt178) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8889:5: this_Decimal_0= ruleDecimal
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8805:5: this_Decimal_0= ruleDecimal
                     {
                      
                             newCompositeNode(grammarAccess.getRealAccess().getDecimalParserRuleCall_0()); 
                         
-                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal18846);
+                    pushFollow(FOLLOW_ruleDecimal_in_ruleReal18614);
                     this_Decimal_0=ruleDecimal();
 
                     state._fsp--;
@@ -22396,58 +22340,18 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8901:5: this_DotDecimal_1= ruleDotDecimal
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8817:5: this_DecimalExp_1= ruleDecimalExp
                     {
                      
-                            newCompositeNode(grammarAccess.getRealAccess().getDotDecimalParserRuleCall_1()); 
+                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_1()); 
                         
-                    pushFollow(FOLLOW_ruleDotDecimal_in_ruleReal18879);
-                    this_DotDecimal_1=ruleDotDecimal();
+                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal18647);
+                    this_DecimalExp_1=ruleDecimalExp();
 
                     state._fsp--;
 
 
-                    		current.merge(this_DotDecimal_1);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 3 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8913:5: this_DecimalDot_2= ruleDecimalDot
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalDotParserRuleCall_2()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalDot_in_ruleReal18912);
-                    this_DecimalDot_2=ruleDecimalDot();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalDot_2);
-                        
-                     
-                            afterParserOrEnumRuleCall();
-                        
-
-                    }
-                    break;
-                case 4 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8925:5: this_DecimalExp_3= ruleDecimalExp
-                    {
-                     
-                            newCompositeNode(grammarAccess.getRealAccess().getDecimalExpParserRuleCall_3()); 
-                        
-                    pushFollow(FOLLOW_ruleDecimalExp_in_ruleReal18945);
-                    this_DecimalExp_3=ruleDecimalExp();
-
-                    state._fsp--;
-
-
-                    		current.merge(this_DecimalExp_3);
+                    		current.merge(this_DecimalExp_1);
                         
                      
                             afterParserOrEnumRuleCall();
@@ -22476,7 +22380,7 @@
 
 
     // $ANTLR start "entryRuleDecimal"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8943:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8835:1: entryRuleDecimal returns [String current=null] : iv_ruleDecimal= ruleDecimal EOF ;
     public final String entryRuleDecimal() throws RecognitionException {
         String current = null;
 
@@ -22487,17 +22391,17 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8947:2: (iv_ruleDecimal= ruleDecimal EOF )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8948:2: iv_ruleDecimal= ruleDecimal EOF
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8839:2: (iv_ruleDecimal= ruleDecimal EOF )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8840:2: iv_ruleDecimal= ruleDecimal EOF
             {
              newCompositeNode(grammarAccess.getDecimalRule()); 
-            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal18997);
+            pushFollow(FOLLOW_ruleDecimal_in_entryRuleDecimal18699);
             iv_ruleDecimal=ruleDecimal();
 
             state._fsp--;
 
              current =iv_ruleDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal19008); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimal18710); 
 
             }
 
@@ -22518,7 +22422,7 @@
 
 
     // $ANTLR start "ruleDecimal"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8958:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8850:1: ruleDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimal() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -22530,27 +22434,27 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8962:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8963:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8854:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8855:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8963:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8963:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8855:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8855:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8963:2: (kw= '+' | kw= '-' )?
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8855:2: (kw= '+' | kw= '-' )?
             int alt179=3;
             int LA179_0 = input.LA(1);
 
-            if ( (LA179_0==120) ) {
+            if ( (LA179_0==119) ) {
                 alt179=1;
             }
-            else if ( (LA179_0==121) ) {
+            else if ( (LA179_0==120) ) {
                 alt179=2;
             }
             switch (alt179) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8964:2: kw= '+'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8856:2: kw= '+'
                     {
-                    kw=(Token)match(input,120,FOLLOW_120_in_ruleDecimal19051); 
+                    kw=(Token)match(input,119,FOLLOW_119_in_ruleDecimal18753); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalAccess().getPlusSignKeyword_0_0()); 
@@ -22559,9 +22463,9 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8971:2: kw= '-'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8863:2: kw= '-'
                     {
-                    kw=(Token)match(input,121,FOLLOW_121_in_ruleDecimal19070); 
+                    kw=(Token)match(input,120,FOLLOW_120_in_ruleDecimal18772); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalAccess().getHyphenMinusKeyword_0_1()); 
@@ -22572,19 +22476,19 @@
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal19087); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal18789); 
 
             		current.merge(this_INT_2);
                 
              
                 newLeafNode(this_INT_2, grammarAccess.getDecimalAccess().getINTTerminalRuleCall_1()); 
                 
-            kw=(Token)match(input,72,FOLLOW_72_in_ruleDecimal19105); 
+            kw=(Token)match(input,71,FOLLOW_71_in_ruleDecimal18807); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getDecimalAccess().getFullStopKeyword_2()); 
                 
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal19120); 
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimal18822); 
 
             		current.merge(this_INT_4);
                 
@@ -22614,270 +22518,8 @@
     // $ANTLR end "ruleDecimal"
 
 
-    // $ANTLR start "entryRuleDotDecimal"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9007:1: entryRuleDotDecimal returns [String current=null] : iv_ruleDotDecimal= ruleDotDecimal EOF ;
-    public final String entryRuleDotDecimal() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDotDecimal = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9011:2: (iv_ruleDotDecimal= ruleDotDecimal EOF )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9012:2: iv_ruleDotDecimal= ruleDotDecimal EOF
-            {
-             newCompositeNode(grammarAccess.getDotDecimalRule()); 
-            pushFollow(FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal19176);
-            iv_ruleDotDecimal=ruleDotDecimal();
-
-            state._fsp--;
-
-             current =iv_ruleDotDecimal.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDotDecimal19187); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDotDecimal"
-
-
-    // $ANTLR start "ruleDotDecimal"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9022:1: ruleDotDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) ;
-    public final AntlrDatatypeRuleToken ruleDotDecimal() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_3=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9026:28: ( ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9027:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9027:1: ( (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9027:2: (kw= '+' | kw= '-' )? kw= '.' this_INT_3= RULE_INT
-            {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9027:2: (kw= '+' | kw= '-' )?
-            int alt180=3;
-            int LA180_0 = input.LA(1);
-
-            if ( (LA180_0==120) ) {
-                alt180=1;
-            }
-            else if ( (LA180_0==121) ) {
-                alt180=2;
-            }
-            switch (alt180) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9028:2: kw= '+'
-                    {
-                    kw=(Token)match(input,120,FOLLOW_120_in_ruleDotDecimal19230); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9035:2: kw= '-'
-                    {
-                    kw=(Token)match(input,121,FOLLOW_121_in_ruleDotDecimal19249); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDotDecimalAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            kw=(Token)match(input,72,FOLLOW_72_in_ruleDotDecimal19264); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDotDecimalAccess().getFullStopKeyword_1()); 
-                
-            this_INT_3=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDotDecimal19279); 
-
-            		current.merge(this_INT_3);
-                
-             
-                newLeafNode(this_INT_3, grammarAccess.getDotDecimalAccess().getINTTerminalRuleCall_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDotDecimal"
-
-
-    // $ANTLR start "entryRuleDecimalDot"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9064:1: entryRuleDecimalDot returns [String current=null] : iv_ruleDecimalDot= ruleDecimalDot EOF ;
-    public final String entryRuleDecimalDot() throws RecognitionException {
-        String current = null;
-
-        AntlrDatatypeRuleToken iv_ruleDecimalDot = null;
-
-
-         
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-        	
-        try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9068:2: (iv_ruleDecimalDot= ruleDecimalDot EOF )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9069:2: iv_ruleDecimalDot= ruleDecimalDot EOF
-            {
-             newCompositeNode(grammarAccess.getDecimalDotRule()); 
-            pushFollow(FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot19335);
-            iv_ruleDecimalDot=ruleDecimalDot();
-
-            state._fsp--;
-
-             current =iv_ruleDecimalDot.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalDot19346); 
-
-            }
-
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "entryRuleDecimalDot"
-
-
-    // $ANTLR start "ruleDecimalDot"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9079:1: ruleDecimalDot returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) ;
-    public final AntlrDatatypeRuleToken ruleDecimalDot() throws RecognitionException {
-        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
-
-        Token kw=null;
-        Token this_INT_2=null;
-
-         enterRule(); 
-        		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
-            
-        try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9083:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9084:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9084:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9084:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.'
-            {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9084:2: (kw= '+' | kw= '-' )?
-            int alt181=3;
-            int LA181_0 = input.LA(1);
-
-            if ( (LA181_0==120) ) {
-                alt181=1;
-            }
-            else if ( (LA181_0==121) ) {
-                alt181=2;
-            }
-            switch (alt181) {
-                case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9085:2: kw= '+'
-                    {
-                    kw=(Token)match(input,120,FOLLOW_120_in_ruleDecimalDot19389); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getPlusSignKeyword_0_0()); 
-                        
-
-                    }
-                    break;
-                case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9092:2: kw= '-'
-                    {
-                    kw=(Token)match(input,121,FOLLOW_121_in_ruleDecimalDot19408); 
-
-                            current.merge(kw);
-                            newLeafNode(kw, grammarAccess.getDecimalDotAccess().getHyphenMinusKeyword_0_1()); 
-                        
-
-                    }
-                    break;
-
-            }
-
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalDot19425); 
-
-            		current.merge(this_INT_2);
-                
-             
-                newLeafNode(this_INT_2, grammarAccess.getDecimalDotAccess().getINTTerminalRuleCall_1()); 
-                
-            kw=(Token)match(input,72,FOLLOW_72_in_ruleDecimalDot19443); 
-
-                    current.merge(kw);
-                    newLeafNode(kw, grammarAccess.getDecimalDotAccess().getFullStopKeyword_2()); 
-                
-
-            }
-
-
-            }
-
-             leaveRule(); 
-        }
-         
-            catch (RecognitionException re) { 
-                recover(input,re); 
-                appendSkippedTokens();
-            } 
-        finally {
-
-            	myHiddenTokenState.restore();
-
-        }
-        return current;
-    }
-    // $ANTLR end "ruleDecimalDot"
-
-
     // $ANTLR start "entryRuleDecimalExp"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9121:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8899:1: entryRuleDecimalExp returns [String current=null] : iv_ruleDecimalExp= ruleDecimalExp EOF ;
     public final String entryRuleDecimalExp() throws RecognitionException {
         String current = null;
 
@@ -22888,17 +22530,17 @@
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
         	
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9125:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9126:2: iv_ruleDecimalExp= ruleDecimalExp EOF
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8903:2: (iv_ruleDecimalExp= ruleDecimalExp EOF )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8904:2: iv_ruleDecimalExp= ruleDecimalExp EOF
             {
              newCompositeNode(grammarAccess.getDecimalExpRule()); 
-            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp19494);
+            pushFollow(FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp18878);
             iv_ruleDecimalExp=ruleDecimalExp();
 
             state._fsp--;
 
              current =iv_ruleDecimalExp.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp19505); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleDecimalExp18889); 
 
             }
 
@@ -22919,40 +22561,40 @@
 
 
     // $ANTLR start "ruleDecimalExp"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9136:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8914:1: ruleDecimalExp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT ) ;
     public final AntlrDatatypeRuleToken ruleDecimalExp() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
         Token kw=null;
         Token this_INT_2=null;
         Token this_INT_4=null;
-        Token this_EXP_5=null;
+        Token this_INT_9=null;
 
          enterRule(); 
         		HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
             
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9140:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9141:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8918:28: ( ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8919:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT )
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9141:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9141:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT this_EXP_5= RULE_EXP
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8919:1: ( (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8919:2: (kw= '+' | kw= '-' )? this_INT_2= RULE_INT kw= '.' this_INT_4= RULE_INT (kw= 'e' | kw= 'E' ) (kw= '+' | kw= '-' )? this_INT_9= RULE_INT
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9141:2: (kw= '+' | kw= '-' )?
-            int alt182=3;
-            int LA182_0 = input.LA(1);
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8919:2: (kw= '+' | kw= '-' )?
+            int alt180=3;
+            int LA180_0 = input.LA(1);
 
-            if ( (LA182_0==120) ) {
-                alt182=1;
+            if ( (LA180_0==119) ) {
+                alt180=1;
             }
-            else if ( (LA182_0==121) ) {
-                alt182=2;
+            else if ( (LA180_0==120) ) {
+                alt180=2;
             }
-            switch (alt182) {
+            switch (alt180) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9142:2: kw= '+'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8920:2: kw= '+'
                     {
-                    kw=(Token)match(input,120,FOLLOW_120_in_ruleDecimalExp19548); 
+                    kw=(Token)match(input,119,FOLLOW_119_in_ruleDecimalExp18932); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_0_0()); 
@@ -22961,9 +22603,9 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9149:2: kw= '-'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8927:2: kw= '-'
                     {
-                    kw=(Token)match(input,121,FOLLOW_121_in_ruleDecimalExp19567); 
+                    kw=(Token)match(input,120,FOLLOW_120_in_ruleDecimalExp18951); 
 
                             current.merge(kw);
                             newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_0_1()); 
@@ -22974,31 +22616,109 @@
 
             }
 
-            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp19584); 
+            this_INT_2=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp18968); 
 
             		current.merge(this_INT_2);
                 
              
                 newLeafNode(this_INT_2, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_1()); 
                 
-            kw=(Token)match(input,72,FOLLOW_72_in_ruleDecimalExp19602); 
+            kw=(Token)match(input,71,FOLLOW_71_in_ruleDecimalExp18986); 
 
                     current.merge(kw);
                     newLeafNode(kw, grammarAccess.getDecimalExpAccess().getFullStopKeyword_2()); 
                 
-            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp19617); 
+            this_INT_4=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp19001); 
 
             		current.merge(this_INT_4);
                 
              
                 newLeafNode(this_INT_4, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_3()); 
                 
-            this_EXP_5=(Token)match(input,RULE_EXP,FOLLOW_RULE_EXP_in_ruleDecimalExp19637); 
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8952:1: (kw= 'e' | kw= 'E' )
+            int alt181=2;
+            int LA181_0 = input.LA(1);
 
-            		current.merge(this_EXP_5);
+            if ( (LA181_0==121) ) {
+                alt181=1;
+            }
+            else if ( (LA181_0==122) ) {
+                alt181=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("", 181, 0, input);
+
+                throw nvae;
+            }
+            switch (alt181) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8953:2: kw= 'e'
+                    {
+                    kw=(Token)match(input,121,FOLLOW_121_in_ruleDecimalExp19020); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_0()); 
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8960:2: kw= 'E'
+                    {
+                    kw=(Token)match(input,122,FOLLOW_122_in_ruleDecimalExp19039); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getEKeyword_4_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8965:2: (kw= '+' | kw= '-' )?
+            int alt182=3;
+            int LA182_0 = input.LA(1);
+
+            if ( (LA182_0==119) ) {
+                alt182=1;
+            }
+            else if ( (LA182_0==120) ) {
+                alt182=2;
+            }
+            switch (alt182) {
+                case 1 :
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8966:2: kw= '+'
+                    {
+                    kw=(Token)match(input,119,FOLLOW_119_in_ruleDecimalExp19054); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getPlusSignKeyword_5_0()); 
+                        
+
+                    }
+                    break;
+                case 2 :
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8973:2: kw= '-'
+                    {
+                    kw=(Token)match(input,120,FOLLOW_120_in_ruleDecimalExp19073); 
+
+                            current.merge(kw);
+                            newLeafNode(kw, grammarAccess.getDecimalExpAccess().getHyphenMinusKeyword_5_1()); 
+                        
+
+                    }
+                    break;
+
+            }
+
+            this_INT_9=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleDecimalExp19090); 
+
+            		current.merge(this_INT_9);
                 
              
-                newLeafNode(this_EXP_5, grammarAccess.getDecimalExpAccess().getEXPTerminalRuleCall_4()); 
+                newLeafNode(this_INT_9, grammarAccess.getDecimalExpAccess().getINTTerminalRuleCall_6()); 
                 
 
             }
@@ -23024,7 +22744,7 @@
 
 
     // $ANTLR start "entryRuleFQN"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9192:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8996:1: entryRuleFQN returns [String current=null] : iv_ruleFQN= ruleFQN EOF ;
     public final String entryRuleFQN() throws RecognitionException {
         String current = null;
 
@@ -23032,17 +22752,17 @@
 
 
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9193:2: (iv_ruleFQN= ruleFQN EOF )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9194:2: iv_ruleFQN= ruleFQN EOF
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8997:2: (iv_ruleFQN= ruleFQN EOF )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:8998:2: iv_ruleFQN= ruleFQN EOF
             {
              newCompositeNode(grammarAccess.getFQNRule()); 
-            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN19687);
+            pushFollow(FOLLOW_ruleFQN_in_entryRuleFQN19140);
             iv_ruleFQN=ruleFQN();
 
             state._fsp--;
 
              current =iv_ruleFQN.getText(); 
-            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN19698); 
+            match(input,EOF,FOLLOW_EOF_in_entryRuleFQN19151); 
 
             }
 
@@ -23060,7 +22780,7 @@
 
 
     // $ANTLR start "ruleFQN"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9201:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9005:1: ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
     public final AntlrDatatypeRuleToken ruleFQN() throws RecognitionException {
         AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
 
@@ -23071,40 +22791,40 @@
          enterRule(); 
             
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9204:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9205:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9008:28: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9009:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9205:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9205:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9009:1: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9009:6: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
             {
-            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN19738); 
+            this_ID_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN19191); 
 
             		current.merge(this_ID_0);
                 
              
                 newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); 
                 
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9212:1: (kw= '.' this_ID_2= RULE_ID )*
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9016:1: (kw= '.' this_ID_2= RULE_ID )*
             loop183:
             do {
                 int alt183=2;
                 int LA183_0 = input.LA(1);
 
-                if ( (LA183_0==72) ) {
+                if ( (LA183_0==71) ) {
                     alt183=1;
                 }
 
 
                 switch (alt183) {
             	case 1 :
-            	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9213:2: kw= '.' this_ID_2= RULE_ID
+            	    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9017:2: kw= '.' this_ID_2= RULE_ID
             	    {
-            	    kw=(Token)match(input,72,FOLLOW_72_in_ruleFQN19757); 
+            	    kw=(Token)match(input,71,FOLLOW_71_in_ruleFQN19210); 
 
             	            current.merge(kw);
             	            newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); 
             	        
-            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN19772); 
+            	    this_ID_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFQN19225); 
 
             	    		current.merge(this_ID_2);
             	        
@@ -23141,7 +22861,7 @@
 
 
     // $ANTLR start "ruleCommunicationType"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9233:1: ruleCommunicationType returns [Enumerator current=null] : ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'sync' ) ) ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9037:1: ruleCommunicationType returns [Enumerator current=null] : ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'sync' ) ) ;
     public final Enumerator ruleCommunicationType() throws RecognitionException {
         Enumerator current = null;
 
@@ -23151,23 +22871,23 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9235:28: ( ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'sync' ) ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9236:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'sync' ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9039:28: ( ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'sync' ) ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9040:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'sync' ) )
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9236:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'sync' ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9040:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'sync' ) )
             int alt184=3;
             switch ( input.LA(1) ) {
-            case 122:
+            case 123:
                 {
                 alt184=1;
                 }
                 break;
-            case 123:
+            case 124:
                 {
                 alt184=2;
                 }
                 break;
-            case 124:
+            case 125:
                 {
                 alt184=3;
                 }
@@ -23181,12 +22901,12 @@
 
             switch (alt184) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9236:2: (enumLiteral_0= 'eventdriven' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9040:2: (enumLiteral_0= 'eventdriven' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9236:2: (enumLiteral_0= 'eventdriven' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9236:4: enumLiteral_0= 'eventdriven'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9040:2: (enumLiteral_0= 'eventdriven' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9040:4: enumLiteral_0= 'eventdriven'
                     {
-                    enumLiteral_0=(Token)match(input,122,FOLLOW_122_in_ruleCommunicationType19833); 
+                    enumLiteral_0=(Token)match(input,123,FOLLOW_123_in_ruleCommunicationType19286); 
 
                             current = grammarAccess.getCommunicationTypeAccess().getEVENT_DRIVENEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_0, grammarAccess.getCommunicationTypeAccess().getEVENT_DRIVENEnumLiteralDeclaration_0()); 
@@ -23198,12 +22918,12 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9242:6: (enumLiteral_1= 'datadriven' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9046:6: (enumLiteral_1= 'datadriven' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9242:6: (enumLiteral_1= 'datadriven' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9242:8: enumLiteral_1= 'datadriven'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9046:6: (enumLiteral_1= 'datadriven' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9046:8: enumLiteral_1= 'datadriven'
                     {
-                    enumLiteral_1=(Token)match(input,123,FOLLOW_123_in_ruleCommunicationType19850); 
+                    enumLiteral_1=(Token)match(input,124,FOLLOW_124_in_ruleCommunicationType19303); 
 
                             current = grammarAccess.getCommunicationTypeAccess().getDATA_DRIVENEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_1, grammarAccess.getCommunicationTypeAccess().getDATA_DRIVENEnumLiteralDeclaration_1()); 
@@ -23215,12 +22935,12 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9248:6: (enumLiteral_2= 'sync' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9052:6: (enumLiteral_2= 'sync' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9248:6: (enumLiteral_2= 'sync' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9248:8: enumLiteral_2= 'sync'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9052:6: (enumLiteral_2= 'sync' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9052:8: enumLiteral_2= 'sync'
                     {
-                    enumLiteral_2=(Token)match(input,124,FOLLOW_124_in_ruleCommunicationType19867); 
+                    enumLiteral_2=(Token)match(input,125,FOLLOW_125_in_ruleCommunicationType19320); 
 
                             current = grammarAccess.getCommunicationTypeAccess().getSYNCHRONOUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_2, grammarAccess.getCommunicationTypeAccess().getSYNCHRONOUSEnumLiteralDeclaration_2()); 
@@ -23252,7 +22972,7 @@
 
 
     // $ANTLR start "ruleReferenceType"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9258:1: ruleReferenceType returns [Enumerator current=null] : ( (enumLiteral_0= 'fixed' ) | (enumLiteral_1= 'optional' ) ) ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9062:1: ruleReferenceType returns [Enumerator current=null] : ( (enumLiteral_0= 'fixed' ) | (enumLiteral_1= 'optional' ) ) ;
     public final Enumerator ruleReferenceType() throws RecognitionException {
         Enumerator current = null;
 
@@ -23261,17 +22981,17 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9260:28: ( ( (enumLiteral_0= 'fixed' ) | (enumLiteral_1= 'optional' ) ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9261:1: ( (enumLiteral_0= 'fixed' ) | (enumLiteral_1= 'optional' ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9064:28: ( ( (enumLiteral_0= 'fixed' ) | (enumLiteral_1= 'optional' ) ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9065:1: ( (enumLiteral_0= 'fixed' ) | (enumLiteral_1= 'optional' ) )
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9261:1: ( (enumLiteral_0= 'fixed' ) | (enumLiteral_1= 'optional' ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9065:1: ( (enumLiteral_0= 'fixed' ) | (enumLiteral_1= 'optional' ) )
             int alt185=2;
             int LA185_0 = input.LA(1);
 
-            if ( (LA185_0==125) ) {
+            if ( (LA185_0==126) ) {
                 alt185=1;
             }
-            else if ( (LA185_0==111) ) {
+            else if ( (LA185_0==110) ) {
                 alt185=2;
             }
             else {
@@ -23282,12 +23002,12 @@
             }
             switch (alt185) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9261:2: (enumLiteral_0= 'fixed' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9065:2: (enumLiteral_0= 'fixed' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9261:2: (enumLiteral_0= 'fixed' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9261:4: enumLiteral_0= 'fixed'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9065:2: (enumLiteral_0= 'fixed' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9065:4: enumLiteral_0= 'fixed'
                     {
-                    enumLiteral_0=(Token)match(input,125,FOLLOW_125_in_ruleReferenceType19912); 
+                    enumLiteral_0=(Token)match(input,126,FOLLOW_126_in_ruleReferenceType19365); 
 
                             current = grammarAccess.getReferenceTypeAccess().getFIXEDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_0, grammarAccess.getReferenceTypeAccess().getFIXEDEnumLiteralDeclaration_0()); 
@@ -23299,12 +23019,12 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9267:6: (enumLiteral_1= 'optional' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9071:6: (enumLiteral_1= 'optional' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9267:6: (enumLiteral_1= 'optional' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9267:8: enumLiteral_1= 'optional'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9071:6: (enumLiteral_1= 'optional' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9071:8: enumLiteral_1= 'optional'
                     {
-                    enumLiteral_1=(Token)match(input,111,FOLLOW_111_in_ruleReferenceType19929); 
+                    enumLiteral_1=(Token)match(input,110,FOLLOW_110_in_ruleReferenceType19382); 
 
                             current = grammarAccess.getReferenceTypeAccess().getOPTIONALEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_1, grammarAccess.getReferenceTypeAccess().getOPTIONALEnumLiteralDeclaration_1()); 
@@ -23336,7 +23056,7 @@
 
 
     // $ANTLR start "ruleComponentCommunicationType"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9279:1: ruleComponentCommunicationType returns [Enumerator current=null] : ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) ) ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9083:1: ruleComponentCommunicationType returns [Enumerator current=null] : ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) ) ;
     public final Enumerator ruleComponentCommunicationType() throws RecognitionException {
         Enumerator current = null;
 
@@ -23347,28 +23067,28 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9281:28: ( ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9282:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9085:28: ( ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9086:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) )
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9282:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9086:1: ( (enumLiteral_0= 'eventdriven' ) | (enumLiteral_1= 'datadriven' ) | (enumLiteral_2= 'async' ) | (enumLiteral_3= 'sync' ) )
             int alt186=4;
             switch ( input.LA(1) ) {
-            case 122:
+            case 123:
                 {
                 alt186=1;
                 }
                 break;
-            case 123:
+            case 124:
                 {
                 alt186=2;
                 }
                 break;
-            case 126:
+            case 127:
                 {
                 alt186=3;
                 }
                 break;
-            case 124:
+            case 125:
                 {
                 alt186=4;
                 }
@@ -23382,12 +23102,12 @@
 
             switch (alt186) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9282:2: (enumLiteral_0= 'eventdriven' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9086:2: (enumLiteral_0= 'eventdriven' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9282:2: (enumLiteral_0= 'eventdriven' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9282:4: enumLiteral_0= 'eventdriven'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9086:2: (enumLiteral_0= 'eventdriven' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9086:4: enumLiteral_0= 'eventdriven'
                     {
-                    enumLiteral_0=(Token)match(input,122,FOLLOW_122_in_ruleComponentCommunicationType19976); 
+                    enumLiteral_0=(Token)match(input,123,FOLLOW_123_in_ruleComponentCommunicationType19429); 
 
                             current = grammarAccess.getComponentCommunicationTypeAccess().getEVENT_DRIVENEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_0, grammarAccess.getComponentCommunicationTypeAccess().getEVENT_DRIVENEnumLiteralDeclaration_0()); 
@@ -23399,12 +23119,12 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9288:6: (enumLiteral_1= 'datadriven' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9092:6: (enumLiteral_1= 'datadriven' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9288:6: (enumLiteral_1= 'datadriven' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9288:8: enumLiteral_1= 'datadriven'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9092:6: (enumLiteral_1= 'datadriven' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9092:8: enumLiteral_1= 'datadriven'
                     {
-                    enumLiteral_1=(Token)match(input,123,FOLLOW_123_in_ruleComponentCommunicationType19993); 
+                    enumLiteral_1=(Token)match(input,124,FOLLOW_124_in_ruleComponentCommunicationType19446); 
 
                             current = grammarAccess.getComponentCommunicationTypeAccess().getDATA_DRIVENEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_1, grammarAccess.getComponentCommunicationTypeAccess().getDATA_DRIVENEnumLiteralDeclaration_1()); 
@@ -23416,12 +23136,12 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9294:6: (enumLiteral_2= 'async' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9098:6: (enumLiteral_2= 'async' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9294:6: (enumLiteral_2= 'async' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9294:8: enumLiteral_2= 'async'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9098:6: (enumLiteral_2= 'async' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9098:8: enumLiteral_2= 'async'
                     {
-                    enumLiteral_2=(Token)match(input,126,FOLLOW_126_in_ruleComponentCommunicationType20010); 
+                    enumLiteral_2=(Token)match(input,127,FOLLOW_127_in_ruleComponentCommunicationType19463); 
 
                             current = grammarAccess.getComponentCommunicationTypeAccess().getASYNCHRONOUSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_2, grammarAccess.getComponentCommunicationTypeAccess().getASYNCHRONOUSEnumLiteralDeclaration_2()); 
@@ -23433,12 +23153,12 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9300:6: (enumLiteral_3= 'sync' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9104:6: (enumLiteral_3= 'sync' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9300:6: (enumLiteral_3= 'sync' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9300:8: enumLiteral_3= 'sync'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9104:6: (enumLiteral_3= 'sync' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9104:8: enumLiteral_3= 'sync'
                     {
-                    enumLiteral_3=(Token)match(input,124,FOLLOW_124_in_ruleComponentCommunicationType20027); 
+                    enumLiteral_3=(Token)match(input,125,FOLLOW_125_in_ruleComponentCommunicationType19480); 
 
                             current = grammarAccess.getComponentCommunicationTypeAccess().getSYNCHRONOUSEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_3, grammarAccess.getComponentCommunicationTypeAccess().getSYNCHRONOUSEnumLiteralDeclaration_3()); 
@@ -23470,7 +23190,7 @@
 
 
     // $ANTLR start "ruleLiteralType"
-    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9310:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
+    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9114:1: ruleLiteralType returns [Enumerator current=null] : ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) ;
     public final Enumerator ruleLiteralType() throws RecognitionException {
         Enumerator current = null;
 
@@ -23481,28 +23201,28 @@
 
          enterRule(); 
         try {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9312:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9313:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9116:28: ( ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9117:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             {
-            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9313:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
+            // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9117:1: ( (enumLiteral_0= 'ptBoolean' ) | (enumLiteral_1= 'ptInteger' ) | (enumLiteral_2= 'ptReal' ) | (enumLiteral_3= 'ptCharacter' ) )
             int alt187=4;
             switch ( input.LA(1) ) {
-            case 127:
+            case 128:
                 {
                 alt187=1;
                 }
                 break;
-            case 128:
+            case 129:
                 {
                 alt187=2;
                 }
                 break;
-            case 129:
+            case 130:
                 {
                 alt187=3;
                 }
                 break;
-            case 130:
+            case 131:
                 {
                 alt187=4;
                 }
@@ -23516,12 +23236,12 @@
 
             switch (alt187) {
                 case 1 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9313:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9117:2: (enumLiteral_0= 'ptBoolean' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9313:2: (enumLiteral_0= 'ptBoolean' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9313:4: enumLiteral_0= 'ptBoolean'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9117:2: (enumLiteral_0= 'ptBoolean' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9117:4: enumLiteral_0= 'ptBoolean'
                     {
-                    enumLiteral_0=(Token)match(input,127,FOLLOW_127_in_ruleLiteralType20072); 
+                    enumLiteral_0=(Token)match(input,128,FOLLOW_128_in_ruleLiteralType19525); 
 
                             current = grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_0, grammarAccess.getLiteralTypeAccess().getBOOLEnumLiteralDeclaration_0()); 
@@ -23533,12 +23253,12 @@
                     }
                     break;
                 case 2 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9319:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9123:6: (enumLiteral_1= 'ptInteger' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9319:6: (enumLiteral_1= 'ptInteger' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9319:8: enumLiteral_1= 'ptInteger'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9123:6: (enumLiteral_1= 'ptInteger' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9123:8: enumLiteral_1= 'ptInteger'
                     {
-                    enumLiteral_1=(Token)match(input,128,FOLLOW_128_in_ruleLiteralType20089); 
+                    enumLiteral_1=(Token)match(input,129,FOLLOW_129_in_ruleLiteralType19542); 
 
                             current = grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_1, grammarAccess.getLiteralTypeAccess().getINTEnumLiteralDeclaration_1()); 
@@ -23550,12 +23270,12 @@
                     }
                     break;
                 case 3 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9325:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9129:6: (enumLiteral_2= 'ptReal' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9325:6: (enumLiteral_2= 'ptReal' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9325:8: enumLiteral_2= 'ptReal'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9129:6: (enumLiteral_2= 'ptReal' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9129:8: enumLiteral_2= 'ptReal'
                     {
-                    enumLiteral_2=(Token)match(input,129,FOLLOW_129_in_ruleLiteralType20106); 
+                    enumLiteral_2=(Token)match(input,130,FOLLOW_130_in_ruleLiteralType19559); 
 
                             current = grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_2, grammarAccess.getLiteralTypeAccess().getREALEnumLiteralDeclaration_2()); 
@@ -23567,12 +23287,12 @@
                     }
                     break;
                 case 4 :
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9331:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9135:6: (enumLiteral_3= 'ptCharacter' )
                     {
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9331:6: (enumLiteral_3= 'ptCharacter' )
-                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9331:8: enumLiteral_3= 'ptCharacter'
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9135:6: (enumLiteral_3= 'ptCharacter' )
+                    // ../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g:9135:8: enumLiteral_3= 'ptCharacter'
                     {
-                    enumLiteral_3=(Token)match(input,130,FOLLOW_130_in_ruleLiteralType20123); 
+                    enumLiteral_3=(Token)match(input,131,FOLLOW_131_in_ruleLiteralType19576); 
 
                             current = grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3().getEnumLiteral().getInstance();
                             newLeafNode(enumLiteral_3, grammarAccess.getLiteralTypeAccess().getCHAREnumLiteralDeclaration_3()); 
@@ -23608,15 +23328,14 @@
     protected DFA3 dfa3 = new DFA3(this);
     protected DFA128 dfa128 = new DFA128(this);
     protected DFA129 dfa129 = new DFA129(this);
-    protected DFA178 dfa178 = new DFA178(this);
     static final String DFA3_eotS =
         "\16\uffff";
     static final String DFA3_eofS =
         "\16\uffff";
     static final String DFA3_minS =
-        "\1\17\5\uffff\3\52\5\uffff";
+        "\1\16\5\uffff\3\51\5\uffff";
     static final String DFA3_maxS =
-        "\1\176\5\uffff\3\176\5\uffff";
+        "\1\177\5\uffff\3\177\5\uffff";
     static final String DFA3_acceptS =
         "\1\uffff\1\12\1\1\1\2\1\3\1\4\3\uffff\1\5\1\6\1\7\1\10\1\11";
     static final String DFA3_specialS =
@@ -23624,15 +23343,15 @@
     static final String[] DFA3_transitionS = {
             "\1\1\2\uffff\1\2\4\uffff\1\3\3\uffff\1\4\1\5\15\uffff\1\11"+
             "\5\uffff\1\11\5\uffff\2\12\10\uffff\1\14\1\uffff\1\13\52\uffff"+
-            "\1\15\14\uffff\1\6\1\7\1\10\1\uffff\1\12",
+            "\1\15\16\uffff\1\6\1\7\1\10\1\uffff\1\12",
             "",
             "",
             "",
             "",
             "",
-            "\1\11\13\uffff\2\12\102\uffff\3\12\1\uffff\1\12",
-            "\1\11\13\uffff\2\12\102\uffff\3\12\1\uffff\1\12",
-            "\1\11\13\uffff\2\12\102\uffff\3\12\1\uffff\1\12",
+            "\1\11\13\uffff\2\12\104\uffff\3\12\1\uffff\1\12",
+            "\1\11\13\uffff\2\12\104\uffff\3\12\1\uffff\1\12",
+            "\1\11\13\uffff\2\12\104\uffff\3\12\1\uffff\1\12",
             "",
             "",
             "",
@@ -23676,48 +23395,48 @@
     static final String DFA128_eotS =
         "\32\uffff";
     static final String DFA128_eofS =
-        "\13\uffff\1\22\7\uffff\2\22\1\uffff\1\22\2\uffff\1\22";
+        "\13\uffff\1\21\7\uffff\2\21\1\uffff\1\21\2\uffff\1\21";
     static final String DFA128_minS =
-        "\1\134\1\4\1\20\1\4\1\23\4\4\2\23\1\16\2\4\1\23\1\5\1\17\1\4\1"+
-        "\uffff\2\16\1\5\1\16\2\uffff\1\16";
+        "\1\133\1\4\1\17\1\4\1\22\4\4\2\22\1\15\2\4\1\22\1\5\1\16\1\uffff"+
+        "\1\4\2\15\1\5\1\15\2\uffff\1\15";
     static final String DFA128_maxS =
-        "\1\134\2\20\1\145\1\30\2\4\1\145\1\4\2\23\1\143\2\4\1\23\1\43\1"+
-        "\142\1\4\1\uffff\2\143\1\43\1\143\2\uffff\1\143";
+        "\1\133\2\17\1\144\1\27\2\4\1\144\1\4\2\22\1\142\2\4\1\22\1\42\1"+
+        "\141\1\uffff\1\4\2\142\1\42\1\142\2\uffff\1\142";
     static final String DFA128_acceptS =
-        "\22\uffff\1\2\4\uffff\1\1\1\3\1\uffff";
+        "\21\uffff\1\2\5\uffff\1\1\1\3\1\uffff";
     static final String DFA128_specialS =
         "\32\uffff}>";
     static final String[] DFA128_transitionS = {
             "\1\1",
-            "\1\2\13\uffff\1\3",
+            "\1\2\12\uffff\1\3",
             "\1\3",
-            "\1\4\137\uffff\1\5\1\6",
+            "\1\4\136\uffff\1\5\1\6",
             "\1\7\4\uffff\1\10",
             "\1\11",
             "\1\12",
-            "\1\13\137\uffff\1\14\1\15",
+            "\1\13\136\uffff\1\14\1\15",
             "\1\16",
             "\1\7",
             "\1\7",
-            "\1\20\1\22\10\uffff\1\21\11\uffff\1\17\56\uffff\1\22\4\uffff"+
-            "\7\22\6\uffff\1\22",
+            "\1\20\1\21\10\uffff\1\22\11\uffff\1\17\56\uffff\1\21\4\uffff"+
+            "\7\21\6\uffff\1\21",
             "\1\23",
             "\1\24",
             "\1\7",
-            "\1\25\35\uffff\1\26",
-            "\1\22\116\uffff\1\22\1\27\1\uffff\1\27\1\30",
+            "\1\25\34\uffff\1\26",
+            "\1\21\116\uffff\1\21\1\27\1\uffff\1\27\1\30",
+            "",
             "\1\31",
-            "",
-            "\1\20\1\22\22\uffff\1\17\56\uffff\1\22\4\uffff\7\22\6\uffff"+
-            "\1\22",
-            "\1\20\1\22\22\uffff\1\17\56\uffff\1\22\4\uffff\7\22\6\uffff"+
-            "\1\22",
-            "\1\25\35\uffff\1\26",
-            "\1\20\1\22\101\uffff\1\22\4\uffff\7\22\6\uffff\1\22",
+            "\1\20\1\21\22\uffff\1\17\56\uffff\1\21\4\uffff\7\21\6\uffff"+
+            "\1\21",
+            "\1\20\1\21\22\uffff\1\17\56\uffff\1\21\4\uffff\7\21\6\uffff"+
+            "\1\21",
+            "\1\25\34\uffff\1\26",
+            "\1\20\1\21\101\uffff\1\21\4\uffff\7\21\6\uffff\1\21",
             "",
             "",
-            "\1\20\1\22\22\uffff\1\17\56\uffff\1\22\4\uffff\7\22\6\uffff"+
-            "\1\22"
+            "\1\20\1\21\22\uffff\1\17\56\uffff\1\21\4\uffff\7\21\6\uffff"+
+            "\1\21"
     };
 
     static final short[] DFA128_eot = DFA.unpackEncodedString(DFA128_eotS);
@@ -23758,41 +23477,41 @@
     static final String DFA129_eofS =
         "\31\uffff";
     static final String DFA129_minS =
-        "\1\134\1\4\1\20\1\4\1\23\4\4\3\23\1\16\3\4\1\5\1\137\3\16\1\5\1"+
-        "\16\2\uffff";
+        "\1\133\1\4\1\17\1\4\1\22\4\4\3\22\1\15\2\4\1\5\1\136\1\4\2\15\1"+
+        "\5\1\15\2\uffff\1\15";
     static final String DFA129_maxS =
-        "\1\134\2\20\1\145\1\30\3\4\1\145\3\23\1\42\3\4\1\43\1\141\3\42"+
-        "\1\43\1\16\2\uffff";
+        "\1\133\2\17\1\144\1\27\3\4\1\144\3\22\1\41\2\4\1\42\1\140\1\4\2"+
+        "\41\1\42\1\15\2\uffff\1\41";
     static final String DFA129_acceptS =
-        "\27\uffff\1\1\1\2";
+        "\26\uffff\1\2\1\1\1\uffff";
     static final String DFA129_specialS =
         "\31\uffff}>";
     static final String[] DFA129_transitionS = {
             "\1\1",
-            "\1\2\13\uffff\1\3",
+            "\1\2\12\uffff\1\3",
             "\1\3",
-            "\1\4\137\uffff\1\5\1\6",
+            "\1\4\136\uffff\1\5\1\6",
             "\1\10\4\uffff\1\7",
             "\1\11",
             "\1\12",
             "\1\13",
-            "\1\14\137\uffff\1\15\1\16",
+            "\1\14\136\uffff\1\15\1\16",
             "\1\10",
             "\1\10",
             "\1\10",
-            "\1\21\11\uffff\1\17\11\uffff\1\20",
+            "\1\20\11\uffff\1\21\11\uffff\1\17",
             "\1\22",
             "\1\23",
-            "\1\24",
-            "\1\25\35\uffff\1\26",
-            "\1\27\1\uffff\1\30",
-            "\1\21\23\uffff\1\20",
-            "\1\21\23\uffff\1\20",
-            "\1\21\23\uffff\1\20",
-            "\1\25\35\uffff\1\26",
-            "\1\21",
+            "\1\24\34\uffff\1\25",
+            "\1\27\1\uffff\1\26",
+            "\1\30",
+            "\1\20\23\uffff\1\17",
+            "\1\20\23\uffff\1\17",
+            "\1\24\34\uffff\1\25",
+            "\1\20",
             "",
-            ""
+            "",
+            "\1\20\23\uffff\1\17"
     };
 
     static final short[] DFA129_eot = DFA.unpackEncodedString(DFA129_eotS);
@@ -23828,83 +23547,25 @@
             return "6157:1: (this_TriggeredTransition_0= ruleTriggeredTransition | this_GuardedTransition_1= ruleGuardedTransition )";
         }
     }
-    static final String DFA178_eotS =
-        "\12\uffff";
-    static final String DFA178_eofS =
-        "\5\uffff\1\7\1\10\3\uffff";
-    static final String DFA178_minS =
-        "\3\6\1\110\1\uffff\1\6\1\10\3\uffff";
-    static final String DFA178_maxS =
-        "\1\171\3\110\1\uffff\2\31\3\uffff";
-    static final String DFA178_acceptS =
-        "\4\uffff\1\2\2\uffff\1\3\1\1\1\4";
-    static final String DFA178_specialS =
-        "\12\uffff}>";
-    static final String[] DFA178_transitionS = {
-            "\1\3\101\uffff\1\4\57\uffff\1\1\1\2",
-            "\1\3\101\uffff\1\4",
-            "\1\3\101\uffff\1\4",
-            "\1\5",
-            "",
-            "\1\6\16\uffff\1\7\3\uffff\1\7",
-            "\1\11\14\uffff\1\10\3\uffff\1\10",
-            "",
-            "",
-            ""
-    };
-
-    static final short[] DFA178_eot = DFA.unpackEncodedString(DFA178_eotS);
-    static final short[] DFA178_eof = DFA.unpackEncodedString(DFA178_eofS);
-    static final char[] DFA178_min = DFA.unpackEncodedStringToUnsignedChars(DFA178_minS);
-    static final char[] DFA178_max = DFA.unpackEncodedStringToUnsignedChars(DFA178_maxS);
-    static final short[] DFA178_accept = DFA.unpackEncodedString(DFA178_acceptS);
-    static final short[] DFA178_special = DFA.unpackEncodedString(DFA178_specialS);
-    static final short[][] DFA178_transition;
-
-    static {
-        int numStates = DFA178_transitionS.length;
-        DFA178_transition = new short[numStates][];
-        for (int i=0; i<numStates; i++) {
-            DFA178_transition[i] = DFA.unpackEncodedString(DFA178_transitionS[i]);
-        }
-    }
-
-    class DFA178 extends DFA {
-
-        public DFA178(BaseRecognizer recognizer) {
-            this.recognizer = recognizer;
-            this.decisionNumber = 178;
-            this.eot = DFA178_eot;
-            this.eof = DFA178_eof;
-            this.min = DFA178_min;
-            this.max = DFA178_max;
-            this.accept = DFA178_accept;
-            this.special = DFA178_special;
-            this.transition = DFA178_transition;
-        }
-        public String getDescription() {
-            return "8888:1: (this_Decimal_0= ruleDecimal | this_DotDecimal_1= ruleDotDecimal | this_DecimalDot_2= ruleDecimalDot | this_DecimalExp_3= ruleDecimalExp )";
-        }
-    }
  
 
     public static final BitSet FOLLOW_ruleRoomModel_in_entryRuleRoomModel75 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRoomModel85 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_13_in_ruleRoomModel122 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleRoomModel143 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRoomModel164 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleRoomModel177 = new BitSet(new long[]{0x00C1040018848000L,0x5C04200000000005L});
-    public static final BitSet FOLLOW_ruleImport_in_ruleRoomModel198 = new BitSet(new long[]{0x00C1040018848000L,0x5C04200000000005L});
-    public static final BitSet FOLLOW_rulePrimitiveType_in_ruleRoomModel221 = new BitSet(new long[]{0x00C1040018848000L,0x5C00200000000005L});
-    public static final BitSet FOLLOW_ruleEnumerationType_in_ruleRoomModel248 = new BitSet(new long[]{0x00C1040018848000L,0x5C00200000000005L});
-    public static final BitSet FOLLOW_ruleExternalType_in_ruleRoomModel275 = new BitSet(new long[]{0x00C1040018848000L,0x5C00200000000005L});
-    public static final BitSet FOLLOW_ruleDataClass_in_ruleRoomModel302 = new BitSet(new long[]{0x00C1040018848000L,0x5C00200000000005L});
-    public static final BitSet FOLLOW_ruleGeneralProtocolClass_in_ruleRoomModel329 = new BitSet(new long[]{0x00C1040018848000L,0x5C00200000000005L});
-    public static final BitSet FOLLOW_ruleActorClass_in_ruleRoomModel356 = new BitSet(new long[]{0x00C1040018848000L,0x5C00200000000005L});
-    public static final BitSet FOLLOW_ruleSubSystemClass_in_ruleRoomModel383 = new BitSet(new long[]{0x00C1040018848000L,0x5C00200000000005L});
-    public static final BitSet FOLLOW_ruleLogicalSystem_in_ruleRoomModel410 = new BitSet(new long[]{0x00C1040018848000L,0x5C00200000000005L});
-    public static final BitSet FOLLOW_ruleAnnotationType_in_ruleRoomModel437 = new BitSet(new long[]{0x00C1040018848000L,0x5C00200000000005L});
-    public static final BitSet FOLLOW_15_in_ruleRoomModel451 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_12_in_ruleRoomModel122 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleRoomModel143 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRoomModel164 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleRoomModel177 = new BitSet(new long[]{0x806082000C424000L,0xB802100000000002L});
+    public static final BitSet FOLLOW_ruleImport_in_ruleRoomModel198 = new BitSet(new long[]{0x806082000C424000L,0xB802100000000002L});
+    public static final BitSet FOLLOW_rulePrimitiveType_in_ruleRoomModel221 = new BitSet(new long[]{0x806082000C424000L,0xB800100000000002L});
+    public static final BitSet FOLLOW_ruleEnumerationType_in_ruleRoomModel248 = new BitSet(new long[]{0x806082000C424000L,0xB800100000000002L});
+    public static final BitSet FOLLOW_ruleExternalType_in_ruleRoomModel275 = new BitSet(new long[]{0x806082000C424000L,0xB800100000000002L});
+    public static final BitSet FOLLOW_ruleDataClass_in_ruleRoomModel302 = new BitSet(new long[]{0x806082000C424000L,0xB800100000000002L});
+    public static final BitSet FOLLOW_ruleGeneralProtocolClass_in_ruleRoomModel329 = new BitSet(new long[]{0x806082000C424000L,0xB800100000000002L});
+    public static final BitSet FOLLOW_ruleActorClass_in_ruleRoomModel356 = new BitSet(new long[]{0x806082000C424000L,0xB800100000000002L});
+    public static final BitSet FOLLOW_ruleSubSystemClass_in_ruleRoomModel383 = new BitSet(new long[]{0x806082000C424000L,0xB800100000000002L});
+    public static final BitSet FOLLOW_ruleLogicalSystem_in_ruleRoomModel410 = new BitSet(new long[]{0x806082000C424000L,0xB800100000000002L});
+    public static final BitSet FOLLOW_ruleAnnotationType_in_ruleRoomModel437 = new BitSet(new long[]{0x806082000C424000L,0xB800100000000002L});
+    public static final BitSet FOLLOW_14_in_ruleRoomModel451 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleStructureClass_in_entryRuleStructureClass489 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleStructureClass499 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleActorContainerClass_in_ruleStructureClass546 = new BitSet(new long[]{0x0000000000000002L});
@@ -23915,13 +23576,13 @@
     public static final BitSet FOLLOW_ruleSubSystemClass_in_ruleActorContainerClass692 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleVarDecl_in_entryRuleVarDecl727 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleVarDecl737 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleVarDecl779 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleVarDecl796 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleVarDecl779 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleVarDecl796 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_ruleRefableType_in_ruleVarDecl817 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRefableType_in_entryRuleRefableType853 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRefableType863 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleRefableType911 = new BitSet(new long[]{0x0000000000020002L});
-    public static final BitSet FOLLOW_17_in_ruleRefableType929 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleRefableType911 = new BitSet(new long[]{0x0000000000010002L});
+    public static final BitSet FOLLOW_16_in_ruleRefableType929 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleDataType_in_entryRuleDataType979 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleDataType989 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rulePrimitiveType_in_ruleDataType1036 = new BitSet(new long[]{0x0000000000000002L});
@@ -23933,110 +23594,110 @@
     public static final BitSet FOLLOW_ruleExternalType_in_ruleComplexType1209 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rulePrimitiveType_in_entryRulePrimitiveType1244 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveType1254 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_18_in_rulePrimitiveType1291 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_rulePrimitiveType1308 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_rulePrimitiveType1325 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L,0x0000000000000007L});
-    public static final BitSet FOLLOW_ruleLiteralType_in_rulePrimitiveType1346 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_19_in_rulePrimitiveType1358 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rulePrimitiveType1375 = new BitSet(new long[]{0x0000000000500000L});
-    public static final BitSet FOLLOW_20_in_rulePrimitiveType1393 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_rulePrimitiveType1414 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_rulePrimitiveType1426 = new BitSet(new long[]{0x0000000000400000L});
-    public static final BitSet FOLLOW_22_in_rulePrimitiveType1440 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_rulePrimitiveType1457 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_17_in_rulePrimitiveType1291 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_rulePrimitiveType1308 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_rulePrimitiveType1325 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x000000000000000FL});
+    public static final BitSet FOLLOW_ruleLiteralType_in_rulePrimitiveType1346 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_18_in_rulePrimitiveType1358 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rulePrimitiveType1375 = new BitSet(new long[]{0x0000000000280000L});
+    public static final BitSet FOLLOW_19_in_rulePrimitiveType1393 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_rulePrimitiveType1414 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_rulePrimitiveType1426 = new BitSet(new long[]{0x0000000000200000L});
+    public static final BitSet FOLLOW_21_in_rulePrimitiveType1440 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_rulePrimitiveType1457 = new BitSet(new long[]{0x0000000200000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_rulePrimitiveType1483 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEnumerationType_in_entryRuleEnumerationType1520 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEnumerationType1530 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_23_in_ruleEnumerationType1567 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumerationType1584 = new BitSet(new long[]{0x0000000401004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleEnumerationType1610 = new BitSet(new long[]{0x0000000001004000L});
-    public static final BitSet FOLLOW_24_in_ruleEnumerationType1624 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleEnumerationType1647 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleEnumerationType1661 = new BitSet(new long[]{0x0000000000008010L});
-    public static final BitSet FOLLOW_ruleEnumLiteral_in_ruleEnumerationType1683 = new BitSet(new long[]{0x0000000002008000L});
-    public static final BitSet FOLLOW_25_in_ruleEnumerationType1696 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleEnumLiteral_in_ruleEnumerationType1717 = new BitSet(new long[]{0x0000000002008000L});
-    public static final BitSet FOLLOW_15_in_ruleEnumerationType1733 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_22_in_ruleEnumerationType1567 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumerationType1584 = new BitSet(new long[]{0x0000000200802000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleEnumerationType1610 = new BitSet(new long[]{0x0000000000802000L});
+    public static final BitSet FOLLOW_23_in_ruleEnumerationType1624 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleEnumerationType1647 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleEnumerationType1661 = new BitSet(new long[]{0x0000000000004010L});
+    public static final BitSet FOLLOW_ruleEnumLiteral_in_ruleEnumerationType1683 = new BitSet(new long[]{0x0000000001004000L});
+    public static final BitSet FOLLOW_24_in_ruleEnumerationType1696 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleEnumLiteral_in_ruleEnumerationType1717 = new BitSet(new long[]{0x0000000001004000L});
+    public static final BitSet FOLLOW_14_in_ruleEnumerationType1733 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEnumLiteral_in_entryRuleEnumLiteral1769 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEnumLiteral1779 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumLiteral1821 = new BitSet(new long[]{0x0000000004000002L});
-    public static final BitSet FOLLOW_26_in_ruleEnumLiteral1839 = new BitSet(new long[]{0x00000000000000C0L,0x0300000000000000L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumLiteral1821 = new BitSet(new long[]{0x0000000002000002L});
+    public static final BitSet FOLLOW_25_in_ruleEnumLiteral1839 = new BitSet(new long[]{0x00000000000000C0L,0x0180000000000000L});
     public static final BitSet FOLLOW_ruleIntLiteral_in_ruleEnumLiteral1860 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleExternalType_in_entryRuleExternalType1898 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleExternalType1908 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_27_in_ruleExternalType1945 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleExternalType1962 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_19_in_ruleExternalType1979 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleExternalType1996 = new BitSet(new long[]{0x0000000400400002L});
-    public static final BitSet FOLLOW_22_in_ruleExternalType2014 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleExternalType2031 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_26_in_ruleExternalType1945 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleExternalType1962 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_18_in_ruleExternalType1979 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleExternalType1996 = new BitSet(new long[]{0x0000000200200002L});
+    public static final BitSet FOLLOW_21_in_ruleExternalType2014 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleExternalType2031 = new BitSet(new long[]{0x0000000200000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_ruleExternalType2059 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleDataClass_in_entryRuleDataClass2096 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleDataClass2106 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_ruleDataClass2143 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleDataClass2160 = new BitSet(new long[]{0x0000000420004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleDataClass2186 = new BitSet(new long[]{0x0000000020004000L});
-    public static final BitSet FOLLOW_29_in_ruleDataClass2200 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleDataClass2223 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleDataClass2237 = new BitSet(new long[]{0x00000333C0008000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_ruleDataClass2258 = new BitSet(new long[]{0x00000333C0008000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_30_in_ruleDataClass2272 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleDataClass2293 = new BitSet(new long[]{0x0000033380008000L});
-    public static final BitSet FOLLOW_31_in_ruleDataClass2308 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleDataClass2329 = new BitSet(new long[]{0x0000033300008000L});
-    public static final BitSet FOLLOW_32_in_ruleDataClass2344 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleDataClass2365 = new BitSet(new long[]{0x0000033200008000L});
-    public static final BitSet FOLLOW_ruleStandardOperation_in_ruleDataClass2389 = new BitSet(new long[]{0x0000033200008000L});
-    public static final BitSet FOLLOW_ruleClassStructor_in_ruleDataClass2416 = new BitSet(new long[]{0x0000033200008000L});
-    public static final BitSet FOLLOW_ruleAttribute_in_ruleDataClass2443 = new BitSet(new long[]{0x0000033200008000L});
-    public static final BitSet FOLLOW_15_in_ruleDataClass2457 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_ruleDataClass2143 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleDataClass2160 = new BitSet(new long[]{0x0000000210002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleDataClass2186 = new BitSet(new long[]{0x0000000010002000L});
+    public static final BitSet FOLLOW_28_in_ruleDataClass2200 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleDataClass2223 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleDataClass2237 = new BitSet(new long[]{0x00000199E0004000L,0x0000080000000000L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_ruleDataClass2258 = new BitSet(new long[]{0x00000199E0004000L,0x0000080000000000L});
+    public static final BitSet FOLLOW_29_in_ruleDataClass2272 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleDataClass2293 = new BitSet(new long[]{0x00000199C0004000L});
+    public static final BitSet FOLLOW_30_in_ruleDataClass2308 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleDataClass2329 = new BitSet(new long[]{0x0000019980004000L});
+    public static final BitSet FOLLOW_31_in_ruleDataClass2344 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleDataClass2365 = new BitSet(new long[]{0x0000019900004000L});
+    public static final BitSet FOLLOW_ruleStandardOperation_in_ruleDataClass2389 = new BitSet(new long[]{0x0000019900004000L});
+    public static final BitSet FOLLOW_ruleClassStructor_in_ruleDataClass2416 = new BitSet(new long[]{0x0000019900004000L});
+    public static final BitSet FOLLOW_ruleAttribute_in_ruleDataClass2443 = new BitSet(new long[]{0x0000019900004000L});
+    public static final BitSet FOLLOW_14_in_ruleDataClass2457 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAttribute_in_entryRuleAttribute2493 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAttribute2503 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_33_in_ruleAttribute2540 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleAttribute2557 = new BitSet(new long[]{0x0000000400010000L});
-    public static final BitSet FOLLOW_34_in_ruleAttribute2575 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleAttribute2592 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_ruleAttribute2609 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleAttribute2623 = new BitSet(new long[]{0x0000000404000012L});
-    public static final BitSet FOLLOW_ruleRefableType_in_ruleAttribute2644 = new BitSet(new long[]{0x0000000404000002L});
-    public static final BitSet FOLLOW_26_in_ruleAttribute2658 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleAttribute2675 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_32_in_ruleAttribute2540 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleAttribute2557 = new BitSet(new long[]{0x0000000200008000L});
+    public static final BitSet FOLLOW_33_in_ruleAttribute2575 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleAttribute2592 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_34_in_ruleAttribute2609 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleAttribute2623 = new BitSet(new long[]{0x0000000202000012L});
+    public static final BitSet FOLLOW_ruleRefableType_in_ruleAttribute2644 = new BitSet(new long[]{0x0000000202000002L});
+    public static final BitSet FOLLOW_25_in_ruleAttribute2658 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleAttribute2675 = new BitSet(new long[]{0x0000000200000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_ruleAttribute2703 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleStandardOperation_in_entryRuleStandardOperation2742 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleStandardOperation2752 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_36_in_ruleStandardOperation2795 = new BitSet(new long[]{0x0000002000000000L});
-    public static final BitSet FOLLOW_37_in_ruleStandardOperation2821 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleStandardOperation2838 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_20_in_ruleStandardOperation2855 = new BitSet(new long[]{0x0000000000200010L});
-    public static final BitSet FOLLOW_ruleVarDecl_in_ruleStandardOperation2877 = new BitSet(new long[]{0x0000000002200000L});
-    public static final BitSet FOLLOW_25_in_ruleStandardOperation2890 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleVarDecl_in_ruleStandardOperation2911 = new BitSet(new long[]{0x0000000002200000L});
-    public static final BitSet FOLLOW_21_in_ruleStandardOperation2927 = new BitSet(new long[]{0x0000000400014000L});
-    public static final BitSet FOLLOW_16_in_ruleStandardOperation2940 = new BitSet(new long[]{0x0000004000000010L});
-    public static final BitSet FOLLOW_38_in_ruleStandardOperation2953 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleRefableType_in_ruleStandardOperation2980 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleStandardOperation3004 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_35_in_ruleStandardOperation2795 = new BitSet(new long[]{0x0000001000000000L});
+    public static final BitSet FOLLOW_36_in_ruleStandardOperation2821 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleStandardOperation2838 = new BitSet(new long[]{0x0000000000080000L});
+    public static final BitSet FOLLOW_19_in_ruleStandardOperation2855 = new BitSet(new long[]{0x0000000000100010L});
+    public static final BitSet FOLLOW_ruleVarDecl_in_ruleStandardOperation2877 = new BitSet(new long[]{0x0000000001100000L});
+    public static final BitSet FOLLOW_24_in_ruleStandardOperation2890 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleVarDecl_in_ruleStandardOperation2911 = new BitSet(new long[]{0x0000000001100000L});
+    public static final BitSet FOLLOW_20_in_ruleStandardOperation2927 = new BitSet(new long[]{0x000000020000A000L});
+    public static final BitSet FOLLOW_15_in_ruleStandardOperation2940 = new BitSet(new long[]{0x0000002000000010L});
+    public static final BitSet FOLLOW_37_in_ruleStandardOperation2953 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleRefableType_in_ruleStandardOperation2980 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleStandardOperation3004 = new BitSet(new long[]{0x0000000000002000L});
     public static final BitSet FOLLOW_ruleDetailCode_in_ruleStandardOperation3026 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rulePortOperation_in_entryRulePortOperation3062 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRulePortOperation3072 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_37_in_rulePortOperation3109 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_rulePortOperation3126 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_20_in_rulePortOperation3143 = new BitSet(new long[]{0x0000000000200010L});
-    public static final BitSet FOLLOW_ruleVarDecl_in_rulePortOperation3165 = new BitSet(new long[]{0x0000000002200000L});
-    public static final BitSet FOLLOW_25_in_rulePortOperation3178 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleVarDecl_in_rulePortOperation3199 = new BitSet(new long[]{0x0000000002200000L});
-    public static final BitSet FOLLOW_21_in_rulePortOperation3215 = new BitSet(new long[]{0x0000008400014000L});
-    public static final BitSet FOLLOW_16_in_rulePortOperation3229 = new BitSet(new long[]{0x0000004000000010L});
-    public static final BitSet FOLLOW_38_in_rulePortOperation3242 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleRefableType_in_rulePortOperation3269 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_39_in_rulePortOperation3290 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_rulePortOperation3310 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_rulePortOperation3334 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_36_in_rulePortOperation3109 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_rulePortOperation3126 = new BitSet(new long[]{0x0000000000080000L});
+    public static final BitSet FOLLOW_19_in_rulePortOperation3143 = new BitSet(new long[]{0x0000000000100010L});
+    public static final BitSet FOLLOW_ruleVarDecl_in_rulePortOperation3165 = new BitSet(new long[]{0x0000000001100000L});
+    public static final BitSet FOLLOW_24_in_rulePortOperation3178 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleVarDecl_in_rulePortOperation3199 = new BitSet(new long[]{0x0000000001100000L});
+    public static final BitSet FOLLOW_20_in_rulePortOperation3215 = new BitSet(new long[]{0x000000420000A000L});
+    public static final BitSet FOLLOW_15_in_rulePortOperation3229 = new BitSet(new long[]{0x0000002000000010L});
+    public static final BitSet FOLLOW_37_in_rulePortOperation3242 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleRefableType_in_rulePortOperation3269 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_38_in_rulePortOperation3290 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_rulePortOperation3310 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_rulePortOperation3334 = new BitSet(new long[]{0x0000000000002000L});
     public static final BitSet FOLLOW_ruleDetailCode_in_rulePortOperation3356 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleClassStructor_in_entryRuleClassStructor3392 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleClassStructor3402 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_40_in_ruleClassStructor3447 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_41_in_ruleClassStructor3476 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_39_in_ruleClassStructor3447 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_40_in_ruleClassStructor3476 = new BitSet(new long[]{0x0000000000002000L});
     public static final BitSet FOLLOW_ruleDetailCode_in_ruleClassStructor3513 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleGeneralProtocolClass_in_entryRuleGeneralProtocolClass3549 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleGeneralProtocolClass3559 = new BitSet(new long[]{0x0000000000000002L});
@@ -24044,131 +23705,131 @@
     public static final BitSet FOLLOW_ruleCompoundProtocolClass_in_ruleGeneralProtocolClass3633 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleProtocolClass_in_entryRuleProtocolClass3668 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleProtocolClass3678 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleCommunicationType_in_ruleProtocolClass3724 = new BitSet(new long[]{0x0000040000000000L});
-    public static final BitSet FOLLOW_42_in_ruleProtocolClass3737 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleProtocolClass3754 = new BitSet(new long[]{0x0000000420004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleProtocolClass3780 = new BitSet(new long[]{0x0000000020004000L});
-    public static final BitSet FOLLOW_29_in_ruleProtocolClass3794 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleProtocolClass3817 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleProtocolClass3831 = new BitSet(new long[]{0x0000B801C0008000L,0x0000120000000000L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_ruleProtocolClass3852 = new BitSet(new long[]{0x0000B801C0008000L,0x0000120000000000L});
-    public static final BitSet FOLLOW_30_in_ruleProtocolClass3866 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleProtocolClass3887 = new BitSet(new long[]{0x0000B80180008000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_31_in_ruleProtocolClass3902 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleProtocolClass3923 = new BitSet(new long[]{0x0000B80100008000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_32_in_ruleProtocolClass3938 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleProtocolClass3959 = new BitSet(new long[]{0x0000B80000008000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_43_in_ruleProtocolClass3974 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleProtocolClass3986 = new BitSet(new long[]{0x000C000000008000L});
-    public static final BitSet FOLLOW_ruleMessage_in_ruleProtocolClass4007 = new BitSet(new long[]{0x000C000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleProtocolClass4020 = new BitSet(new long[]{0x0000B00000008000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_44_in_ruleProtocolClass4035 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleProtocolClass4047 = new BitSet(new long[]{0x000C000000008000L});
-    public static final BitSet FOLLOW_ruleMessage_in_ruleProtocolClass4068 = new BitSet(new long[]{0x000C000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleProtocolClass4081 = new BitSet(new long[]{0x0000A00000008000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_45_in_ruleProtocolClass4096 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_46_in_ruleProtocolClass4108 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_rulePortClass_in_ruleProtocolClass4129 = new BitSet(new long[]{0x0000800000008000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_47_in_ruleProtocolClass4144 = new BitSet(new long[]{0x0000400000000000L});
-    public static final BitSet FOLLOW_46_in_ruleProtocolClass4156 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_rulePortClass_in_ruleProtocolClass4177 = new BitSet(new long[]{0x0000000000008000L,0x0000020000000000L});
-    public static final BitSet FOLLOW_ruleProtocolSemantics_in_ruleProtocolClass4200 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleProtocolClass4213 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleCommunicationType_in_ruleProtocolClass3724 = new BitSet(new long[]{0x0000020000000000L});
+    public static final BitSet FOLLOW_41_in_ruleProtocolClass3737 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleProtocolClass3754 = new BitSet(new long[]{0x0000000210002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleProtocolClass3780 = new BitSet(new long[]{0x0000000010002000L});
+    public static final BitSet FOLLOW_28_in_ruleProtocolClass3794 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleProtocolClass3817 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleProtocolClass3831 = new BitSet(new long[]{0x00005C00E0004000L,0x0000090000000000L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_ruleProtocolClass3852 = new BitSet(new long[]{0x00005C00E0004000L,0x0000090000000000L});
+    public static final BitSet FOLLOW_29_in_ruleProtocolClass3866 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleProtocolClass3887 = new BitSet(new long[]{0x00005C00C0004000L,0x0000010000000000L});
+    public static final BitSet FOLLOW_30_in_ruleProtocolClass3902 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleProtocolClass3923 = new BitSet(new long[]{0x00005C0080004000L,0x0000010000000000L});
+    public static final BitSet FOLLOW_31_in_ruleProtocolClass3938 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleProtocolClass3959 = new BitSet(new long[]{0x00005C0000004000L,0x0000010000000000L});
+    public static final BitSet FOLLOW_42_in_ruleProtocolClass3974 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleProtocolClass3986 = new BitSet(new long[]{0x0006000000004000L});
+    public static final BitSet FOLLOW_ruleMessage_in_ruleProtocolClass4007 = new BitSet(new long[]{0x0006000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleProtocolClass4020 = new BitSet(new long[]{0x0000580000004000L,0x0000010000000000L});
+    public static final BitSet FOLLOW_43_in_ruleProtocolClass4035 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleProtocolClass4047 = new BitSet(new long[]{0x0006000000004000L});
+    public static final BitSet FOLLOW_ruleMessage_in_ruleProtocolClass4068 = new BitSet(new long[]{0x0006000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleProtocolClass4081 = new BitSet(new long[]{0x0000500000004000L,0x0000010000000000L});
+    public static final BitSet FOLLOW_44_in_ruleProtocolClass4096 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_45_in_ruleProtocolClass4108 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_rulePortClass_in_ruleProtocolClass4129 = new BitSet(new long[]{0x0000400000004000L,0x0000010000000000L});
+    public static final BitSet FOLLOW_46_in_ruleProtocolClass4144 = new BitSet(new long[]{0x0000200000000000L});
+    public static final BitSet FOLLOW_45_in_ruleProtocolClass4156 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_rulePortClass_in_ruleProtocolClass4177 = new BitSet(new long[]{0x0000000000004000L,0x0000010000000000L});
+    public static final BitSet FOLLOW_ruleProtocolSemantics_in_ruleProtocolClass4200 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleProtocolClass4213 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleCompoundProtocolClass_in_entryRuleCompoundProtocolClass4249 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleCompoundProtocolClass4259 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_48_in_ruleCompoundProtocolClass4296 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleCompoundProtocolClass4313 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleCompoundProtocolClass4339 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleCompoundProtocolClass4352 = new BitSet(new long[]{0x0002000000008000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_ruleCompoundProtocolClass4373 = new BitSet(new long[]{0x0002000000008000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_ruleSubProtocol_in_ruleCompoundProtocolClass4395 = new BitSet(new long[]{0x0002000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleCompoundProtocolClass4408 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_ruleCompoundProtocolClass4296 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleCompoundProtocolClass4313 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleCompoundProtocolClass4339 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleCompoundProtocolClass4352 = new BitSet(new long[]{0x0001000000004000L,0x0000080000000000L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_ruleCompoundProtocolClass4373 = new BitSet(new long[]{0x0001000000004000L,0x0000080000000000L});
+    public static final BitSet FOLLOW_ruleSubProtocol_in_ruleCompoundProtocolClass4395 = new BitSet(new long[]{0x0001000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleCompoundProtocolClass4408 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSubProtocol_in_entryRuleSubProtocol4444 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSubProtocol4454 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_49_in_ruleSubProtocol4491 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSubProtocol4508 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleSubProtocol4525 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_48_in_ruleSubProtocol4491 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSubProtocol4508 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleSubProtocol4525 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_ruleFQN_in_ruleSubProtocol4548 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleMessage_in_entryRuleMessage4584 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleMessage4594 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_50_in_ruleMessage4637 = new BitSet(new long[]{0x0008000000000000L});
-    public static final BitSet FOLLOW_51_in_ruleMessage4663 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleMessage4680 = new BitSet(new long[]{0x0000000000100000L});
-    public static final BitSet FOLLOW_20_in_ruleMessage4697 = new BitSet(new long[]{0x0000000000200010L});
-    public static final BitSet FOLLOW_ruleVarDecl_in_ruleMessage4718 = new BitSet(new long[]{0x0000000000200000L});
-    public static final BitSet FOLLOW_21_in_ruleMessage4731 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_49_in_ruleMessage4637 = new BitSet(new long[]{0x0004000000000000L});
+    public static final BitSet FOLLOW_50_in_ruleMessage4663 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleMessage4680 = new BitSet(new long[]{0x0000000000080000L});
+    public static final BitSet FOLLOW_19_in_ruleMessage4697 = new BitSet(new long[]{0x0000000000100010L});
+    public static final BitSet FOLLOW_ruleVarDecl_in_ruleMessage4718 = new BitSet(new long[]{0x0000000000100000L});
+    public static final BitSet FOLLOW_20_in_ruleMessage4731 = new BitSet(new long[]{0x0000000200000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_ruleMessage4752 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rulePortClass_in_entryRulePortClass4789 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRulePortClass4799 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_rulePortClass4845 = new BitSet(new long[]{0x0030033200008000L});
-    public static final BitSet FOLLOW_52_in_rulePortClass4858 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_rulePortClass4879 = new BitSet(new long[]{0x0020033200008000L});
-    public static final BitSet FOLLOW_ruleMessageHandler_in_rulePortClass4903 = new BitSet(new long[]{0x0020033200008000L});
-    public static final BitSet FOLLOW_rulePortOperation_in_rulePortClass4930 = new BitSet(new long[]{0x0020033200008000L});
-    public static final BitSet FOLLOW_ruleAttribute_in_rulePortClass4957 = new BitSet(new long[]{0x0020033200008000L});
-    public static final BitSet FOLLOW_15_in_rulePortClass4971 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_13_in_rulePortClass4845 = new BitSet(new long[]{0x0018019900004000L});
+    public static final BitSet FOLLOW_51_in_rulePortClass4858 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_rulePortClass4879 = new BitSet(new long[]{0x0010019900004000L});
+    public static final BitSet FOLLOW_ruleMessageHandler_in_rulePortClass4903 = new BitSet(new long[]{0x0010019900004000L});
+    public static final BitSet FOLLOW_rulePortOperation_in_rulePortClass4930 = new BitSet(new long[]{0x0010019900004000L});
+    public static final BitSet FOLLOW_ruleAttribute_in_rulePortClass4957 = new BitSet(new long[]{0x0010019900004000L});
+    public static final BitSet FOLLOW_14_in_rulePortClass4971 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleMessageHandler_in_entryRuleMessageHandler5007 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleMessageHandler5017 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInMessageHandler_in_ruleMessageHandler5064 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleOutMessageHandler_in_ruleMessageHandler5091 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInMessageHandler_in_entryRuleInMessageHandler5126 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInMessageHandler5136 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_53_in_ruleInMessageHandler5173 = new BitSet(new long[]{0x0000080000000000L});
-    public static final BitSet FOLLOW_43_in_ruleInMessageHandler5185 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleInMessageHandler5205 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_52_in_ruleInMessageHandler5173 = new BitSet(new long[]{0x0000040000000000L});
+    public static final BitSet FOLLOW_42_in_ruleInMessageHandler5185 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleInMessageHandler5205 = new BitSet(new long[]{0x0000000000002000L});
     public static final BitSet FOLLOW_ruleDetailCode_in_ruleInMessageHandler5226 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleOutMessageHandler_in_entryRuleOutMessageHandler5262 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleOutMessageHandler5272 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_53_in_ruleOutMessageHandler5309 = new BitSet(new long[]{0x0000100000000000L});
-    public static final BitSet FOLLOW_44_in_ruleOutMessageHandler5321 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleOutMessageHandler5341 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_52_in_ruleOutMessageHandler5309 = new BitSet(new long[]{0x0000080000000000L});
+    public static final BitSet FOLLOW_43_in_ruleOutMessageHandler5321 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleOutMessageHandler5341 = new BitSet(new long[]{0x0000000000002000L});
     public static final BitSet FOLLOW_ruleDetailCode_in_ruleOutMessageHandler5362 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleModelComponent_in_entryRuleModelComponent5398 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleModelComponent5408 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleActorClass_in_ruleModelComponent5454 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleActorClass_in_entryRuleActorClass5488 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleActorClass5498 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_54_in_ruleActorClass5586 = new BitSet(new long[]{0x00C0000000000000L,0x5C00000000000000L});
-    public static final BitSet FOLLOW_ruleComponentCommunicationType_in_ruleActorClass5674 = new BitSet(new long[]{0x00C0000000000000L,0x5C00000000000000L});
-    public static final BitSet FOLLOW_55_in_ruleActorClass5726 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleActorClass5743 = new BitSet(new long[]{0x0000000420004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleActorClass5769 = new BitSet(new long[]{0x0000000020004000L});
-    public static final BitSet FOLLOW_29_in_ruleActorClass5783 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleActorClass5806 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleActorClass5820 = new BitSet(new long[]{0x0700000000008000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_ruleActorClass5841 = new BitSet(new long[]{0x0700000000008000L,0x0000100000000000L});
-    public static final BitSet FOLLOW_56_in_ruleActorClass5855 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleActorClass5867 = new BitSet(new long[]{0x4800800000008000L});
-    public static final BitSet FOLLOW_ruleSPP_in_ruleActorClass5889 = new BitSet(new long[]{0x4800800000008000L});
-    public static final BitSet FOLLOW_rulePort_in_ruleActorClass5916 = new BitSet(new long[]{0x4800800000008000L});
-    public static final BitSet FOLLOW_15_in_ruleActorClass5930 = new BitSet(new long[]{0x0600000000008000L});
-    public static final BitSet FOLLOW_57_in_ruleActorClass5945 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleActorClass5966 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleActorClass5979 = new BitSet(new long[]{0xF8008333C0008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_30_in_ruleActorClass5992 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleActorClass6013 = new BitSet(new long[]{0xF800833380008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_31_in_ruleActorClass6028 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleActorClass6049 = new BitSet(new long[]{0xF800833300008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_32_in_ruleActorClass6064 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleActorClass6085 = new BitSet(new long[]{0xF800833200008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_ruleLayerConnection_in_ruleActorClass6109 = new BitSet(new long[]{0xF800833200008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_ruleBinding_in_ruleActorClass6136 = new BitSet(new long[]{0xF800833200008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_ruleServiceImplementation_in_ruleActorClass6163 = new BitSet(new long[]{0xF800833200008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_ruleAttribute_in_ruleActorClass6190 = new BitSet(new long[]{0xF800833200008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_ruleActorRef_in_ruleActorClass6217 = new BitSet(new long[]{0xF800833200008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_ruleSAP_in_ruleActorClass6244 = new BitSet(new long[]{0xF800833200008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_rulePort_in_ruleActorClass6271 = new BitSet(new long[]{0xF800833200008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_ruleExternalPort_in_ruleActorClass6298 = new BitSet(new long[]{0xF800833200008000L,0x2000800000002440L});
-    public static final BitSet FOLLOW_15_in_ruleActorClass6312 = new BitSet(new long[]{0x0400000000008000L});
-    public static final BitSet FOLLOW_58_in_ruleActorClass6327 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleActorClass6348 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleActorClass6361 = new BitSet(new long[]{0x0000033000008000L,0x0000100000010000L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_ruleActorClass6382 = new BitSet(new long[]{0x0000033000008000L,0x0000100000010000L});
-    public static final BitSet FOLLOW_ruleStandardOperation_in_ruleActorClass6405 = new BitSet(new long[]{0x0000033000008000L,0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleClassStructor_in_ruleActorClass6432 = new BitSet(new long[]{0x0000033000008000L,0x0000000000010000L});
-    public static final BitSet FOLLOW_ruleStateMachine_in_ruleActorClass6455 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleActorClass6468 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleActorClass6482 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_53_in_ruleActorClass5586 = new BitSet(new long[]{0x0060000000000000L,0xB800000000000000L});
+    public static final BitSet FOLLOW_ruleComponentCommunicationType_in_ruleActorClass5674 = new BitSet(new long[]{0x0060000000000000L,0xB800000000000000L});
+    public static final BitSet FOLLOW_54_in_ruleActorClass5726 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleActorClass5743 = new BitSet(new long[]{0x0000000210002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleActorClass5769 = new BitSet(new long[]{0x0000000010002000L});
+    public static final BitSet FOLLOW_28_in_ruleActorClass5783 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleActorClass5806 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleActorClass5820 = new BitSet(new long[]{0x0380000000004000L,0x0000080000000000L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_ruleActorClass5841 = new BitSet(new long[]{0x0380000000004000L,0x0000080000000000L});
+    public static final BitSet FOLLOW_55_in_ruleActorClass5855 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleActorClass5867 = new BitSet(new long[]{0x2400400000004000L});
+    public static final BitSet FOLLOW_ruleSPP_in_ruleActorClass5889 = new BitSet(new long[]{0x2400400000004000L});
+    public static final BitSet FOLLOW_rulePort_in_ruleActorClass5916 = new BitSet(new long[]{0x2400400000004000L});
+    public static final BitSet FOLLOW_14_in_ruleActorClass5930 = new BitSet(new long[]{0x0300000000004000L});
+    public static final BitSet FOLLOW_56_in_ruleActorClass5945 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleActorClass5966 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleActorClass5979 = new BitSet(new long[]{0x7C004199E0004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_29_in_ruleActorClass5992 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleActorClass6013 = new BitSet(new long[]{0x7C004199C0004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_30_in_ruleActorClass6028 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleActorClass6049 = new BitSet(new long[]{0x7C00419980004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_31_in_ruleActorClass6064 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleActorClass6085 = new BitSet(new long[]{0x7C00419900004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_ruleLayerConnection_in_ruleActorClass6109 = new BitSet(new long[]{0x7C00419900004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_ruleBinding_in_ruleActorClass6136 = new BitSet(new long[]{0x7C00419900004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_ruleServiceImplementation_in_ruleActorClass6163 = new BitSet(new long[]{0x7C00419900004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_ruleAttribute_in_ruleActorClass6190 = new BitSet(new long[]{0x7C00419900004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_ruleActorRef_in_ruleActorClass6217 = new BitSet(new long[]{0x7C00419900004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_ruleSAP_in_ruleActorClass6244 = new BitSet(new long[]{0x7C00419900004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_rulePort_in_ruleActorClass6271 = new BitSet(new long[]{0x7C00419900004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_ruleExternalPort_in_ruleActorClass6298 = new BitSet(new long[]{0x7C00419900004000L,0x4000400000001220L});
+    public static final BitSet FOLLOW_14_in_ruleActorClass6312 = new BitSet(new long[]{0x0200000000004000L});
+    public static final BitSet FOLLOW_57_in_ruleActorClass6327 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleActorClass6348 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleActorClass6361 = new BitSet(new long[]{0x0000019800004000L,0x0000080000008000L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_ruleActorClass6382 = new BitSet(new long[]{0x0000019800004000L,0x0000080000008000L});
+    public static final BitSet FOLLOW_ruleStandardOperation_in_ruleActorClass6405 = new BitSet(new long[]{0x0000019800004000L,0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleClassStructor_in_ruleActorClass6432 = new BitSet(new long[]{0x0000019800004000L,0x0000000000008000L});
+    public static final BitSet FOLLOW_ruleStateMachine_in_ruleActorClass6455 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleActorClass6468 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleActorClass6482 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInterfaceItem_in_entryRuleInterfaceItem6518 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInterfaceItem6528 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rulePort_in_ruleInterfaceItem6575 = new BitSet(new long[]{0x0000000000000002L});
@@ -24176,115 +23837,115 @@
     public static final BitSet FOLLOW_ruleSPP_in_ruleInterfaceItem6629 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_rulePort_in_entryRulePort6664 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRulePort6674 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_47_in_rulePort6717 = new BitSet(new long[]{0x0800000000000000L});
-    public static final BitSet FOLLOW_59_in_rulePort6743 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_rulePort6760 = new BitSet(new long[]{0x0000000400010000L});
-    public static final BitSet FOLLOW_ruleMULTIPLICITY_in_rulePort6786 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_rulePort6799 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_rulePort6822 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_46_in_rulePort6717 = new BitSet(new long[]{0x0400000000000000L});
+    public static final BitSet FOLLOW_58_in_rulePort6743 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_rulePort6760 = new BitSet(new long[]{0x0000000200008000L});
+    public static final BitSet FOLLOW_ruleMULTIPLICITY_in_rulePort6786 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_rulePort6799 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_rulePort6822 = new BitSet(new long[]{0x0000000200000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_rulePort6843 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleExternalPort_in_entryRuleExternalPort6880 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleExternalPort6890 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_60_in_ruleExternalPort6927 = new BitSet(new long[]{0x0800000000000000L});
-    public static final BitSet FOLLOW_59_in_ruleExternalPort6939 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_59_in_ruleExternalPort6927 = new BitSet(new long[]{0x0400000000000000L});
+    public static final BitSet FOLLOW_58_in_ruleExternalPort6939 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleExternalPort6959 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSAP_in_entryRuleSAP6995 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSAP7005 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_61_in_ruleSAP7042 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSAP7059 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleSAP7076 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_60_in_ruleSAP7042 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSAP7059 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleSAP7076 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_ruleFQN_in_ruleSAP7099 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSPP_in_entryRuleSPP7135 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSPP7145 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_62_in_ruleSPP7182 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSPP7199 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleSPP7216 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_61_in_ruleSPP7182 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSPP7199 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleSPP7216 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_ruleFQN_in_ruleSPP7239 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleServiceImplementation_in_entryRuleServiceImplementation7275 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleServiceImplementation7285 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_63_in_ruleServiceImplementation7322 = new BitSet(new long[]{0x0000000001000000L});
-    public static final BitSet FOLLOW_24_in_ruleServiceImplementation7334 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_62_in_ruleServiceImplementation7322 = new BitSet(new long[]{0x0000000000800000L});
+    public static final BitSet FOLLOW_23_in_ruleServiceImplementation7334 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleServiceImplementation7354 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleLogicalSystem_in_entryRuleLogicalSystem7390 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleLogicalSystem7400 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_64_in_ruleLogicalSystem7437 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleLogicalSystem7454 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleLogicalSystem7480 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleLogicalSystem7493 = new BitSet(new long[]{0x0000000000008000L,0x0000100000000442L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_ruleLogicalSystem7514 = new BitSet(new long[]{0x0000000000008000L,0x0000100000000442L});
-    public static final BitSet FOLLOW_ruleLayerConnection_in_ruleLogicalSystem7537 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000442L});
-    public static final BitSet FOLLOW_ruleBinding_in_ruleLogicalSystem7564 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000442L});
-    public static final BitSet FOLLOW_ruleSubSystemRef_in_ruleLogicalSystem7591 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000442L});
-    public static final BitSet FOLLOW_15_in_ruleLogicalSystem7605 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_63_in_ruleLogicalSystem7437 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleLogicalSystem7454 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleLogicalSystem7480 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleLogicalSystem7493 = new BitSet(new long[]{0x0000000000004000L,0x0000080000000221L});
+    public static final BitSet FOLLOW_ruleAnnotation_in_ruleLogicalSystem7514 = new BitSet(new long[]{0x0000000000004000L,0x0000080000000221L});
+    public static final BitSet FOLLOW_ruleLayerConnection_in_ruleLogicalSystem7537 = new BitSet(new long[]{0x0000000000004000L,0x0000000000000221L});
+    public static final BitSet FOLLOW_ruleBinding_in_ruleLogicalSystem7564 = new BitSet(new long[]{0x0000000000004000L,0x0000000000000221L});
+    public static final BitSet FOLLOW_ruleSubSystemRef_in_ruleLogicalSystem7591 = new BitSet(new long[]{0x0000000000004000L,0x0000000000000221L});
+    public static final BitSet FOLLOW_14_in_ruleLogicalSystem7605 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSubSystemRef_in_entryRuleSubSystemRef7643 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSubSystemRef7653 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_65_in_ruleSubSystemRef7690 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSubSystemRef7707 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleSubSystemRef7724 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleSubSystemRef7747 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_64_in_ruleSubSystemRef7690 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSubSystemRef7707 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleSubSystemRef7724 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleSubSystemRef7747 = new BitSet(new long[]{0x0000000200000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_ruleSubSystemRef7768 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSubSystemClass_in_entryRuleSubSystemClass7805 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSubSystemClass7815 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_66_in_ruleSubSystemClass7852 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSubSystemClass7869 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleSubSystemClass7895 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleSubSystemClass7908 = new BitSet(new long[]{0x48008001C0008000L,0x2000900000002458L});
-    public static final BitSet FOLLOW_ruleAnnotation_in_ruleSubSystemClass7929 = new BitSet(new long[]{0x48008001C0008000L,0x2000900000002458L});
-    public static final BitSet FOLLOW_30_in_ruleSubSystemClass7943 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSubSystemClass7964 = new BitSet(new long[]{0x4800800180008000L,0x2000800000002458L});
-    public static final BitSet FOLLOW_31_in_ruleSubSystemClass7979 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSubSystemClass8000 = new BitSet(new long[]{0x4800800100008000L,0x2000800000002458L});
-    public static final BitSet FOLLOW_32_in_ruleSubSystemClass8015 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSubSystemClass8036 = new BitSet(new long[]{0x4800800000008000L,0x2000800000002458L});
-    public static final BitSet FOLLOW_ruleActorInstanceMapping_in_ruleSubSystemClass8060 = new BitSet(new long[]{0x4800800000008000L,0x2000800000002458L});
-    public static final BitSet FOLLOW_ruleLogicalThread_in_ruleSubSystemClass8087 = new BitSet(new long[]{0x4800800000008000L,0x2000800000002458L});
-    public static final BitSet FOLLOW_ruleLayerConnection_in_ruleSubSystemClass8114 = new BitSet(new long[]{0x4800800000008000L,0x2000800000002458L});
-    public static final BitSet FOLLOW_ruleBinding_in_ruleSubSystemClass8141 = new BitSet(new long[]{0x4800800000008000L,0x2000800000002458L});
-    public static final BitSet FOLLOW_ruleActorRef_in_ruleSubSystemClass8168 = new BitSet(new long[]{0x4800800000008000L,0x2000800000002458L});
-    public static final BitSet FOLLOW_ruleSPP_in_ruleSubSystemClass8195 = new BitSet(new long[]{0x4800800000008000L,0x2000800000002458L});
-    public static final BitSet FOLLOW_rulePort_in_ruleSubSystemClass8222 = new BitSet(new long[]{0x4800800000008000L,0x2000800000002458L});
-    public static final BitSet FOLLOW_15_in_ruleSubSystemClass8236 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_65_in_ruleSubSystemClass7852 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSubSystemClass7869 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleSubSystemClass7895 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleSubSystemClass7908 = new BitSet(new long[]{0x24004000E0004000L,0x400048000000122CL});
+    public static final BitSet FOLLOW_ruleAnnotation_in_ruleSubSystemClass7929 = new BitSet(new long[]{0x24004000E0004000L,0x400048000000122CL});
+    public static final BitSet FOLLOW_29_in_ruleSubSystemClass7943 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSubSystemClass7964 = new BitSet(new long[]{0x24004000C0004000L,0x400040000000122CL});
+    public static final BitSet FOLLOW_30_in_ruleSubSystemClass7979 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSubSystemClass8000 = new BitSet(new long[]{0x2400400080004000L,0x400040000000122CL});
+    public static final BitSet FOLLOW_31_in_ruleSubSystemClass8015 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSubSystemClass8036 = new BitSet(new long[]{0x2400400000004000L,0x400040000000122CL});
+    public static final BitSet FOLLOW_ruleActorInstanceMapping_in_ruleSubSystemClass8060 = new BitSet(new long[]{0x2400400000004000L,0x400040000000122CL});
+    public static final BitSet FOLLOW_ruleLogicalThread_in_ruleSubSystemClass8087 = new BitSet(new long[]{0x2400400000004000L,0x400040000000122CL});
+    public static final BitSet FOLLOW_ruleLayerConnection_in_ruleSubSystemClass8114 = new BitSet(new long[]{0x2400400000004000L,0x400040000000122CL});
+    public static final BitSet FOLLOW_ruleBinding_in_ruleSubSystemClass8141 = new BitSet(new long[]{0x2400400000004000L,0x400040000000122CL});
+    public static final BitSet FOLLOW_ruleActorRef_in_ruleSubSystemClass8168 = new BitSet(new long[]{0x2400400000004000L,0x400040000000122CL});
+    public static final BitSet FOLLOW_ruleSPP_in_ruleSubSystemClass8195 = new BitSet(new long[]{0x2400400000004000L,0x400040000000122CL});
+    public static final BitSet FOLLOW_rulePort_in_ruleSubSystemClass8222 = new BitSet(new long[]{0x2400400000004000L,0x400040000000122CL});
+    public static final BitSet FOLLOW_14_in_ruleSubSystemClass8236 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleLogicalThread_in_entryRuleLogicalThread8272 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleLogicalThread8282 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_67_in_ruleLogicalThread8319 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_66_in_ruleLogicalThread8319 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleLogicalThread8336 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleActorInstanceMapping_in_entryRuleActorInstanceMapping8377 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleActorInstanceMapping8387 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_68_in_ruleActorInstanceMapping8424 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleRefPath_in_ruleActorInstanceMapping8445 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_19_in_ruleActorInstanceMapping8457 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleActorInstanceMapping8477 = new BitSet(new long[]{0x0000000000004002L});
-    public static final BitSet FOLLOW_14_in_ruleActorInstanceMapping8490 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleActorInstanceMapping_in_ruleActorInstanceMapping8511 = new BitSet(new long[]{0x0000000000008000L,0x0000000000000010L});
-    public static final BitSet FOLLOW_15_in_ruleActorInstanceMapping8524 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_67_in_ruleActorInstanceMapping8424 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleRefPath_in_ruleActorInstanceMapping8445 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_18_in_ruleActorInstanceMapping8457 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleActorInstanceMapping8477 = new BitSet(new long[]{0x0000000000002002L});
+    public static final BitSet FOLLOW_13_in_ruleActorInstanceMapping8490 = new BitSet(new long[]{0x0000000000004000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_ruleActorInstanceMapping_in_ruleActorInstanceMapping8511 = new BitSet(new long[]{0x0000000000004000L,0x0000000000000008L});
+    public static final BitSet FOLLOW_14_in_ruleActorInstanceMapping8524 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRefPath_in_entryRuleRefPath8562 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRefPath8572 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleRefSegment_in_ruleRefPath8618 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
-    public static final BitSet FOLLOW_69_in_ruleRefPath8631 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleRefSegment_in_ruleRefPath8652 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L});
+    public static final BitSet FOLLOW_ruleRefSegment_in_ruleRefPath8618 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L});
+    public static final BitSet FOLLOW_68_in_ruleRefPath8631 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleRefSegment_in_ruleRefPath8652 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L});
     public static final BitSet FOLLOW_ruleRefSegment_in_entryRuleRefSegment8690 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRefSegment8700 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleRefSegment8742 = new BitSet(new long[]{0x0000000000010002L});
-    public static final BitSet FOLLOW_16_in_ruleRefSegment8760 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleRefSegment8742 = new BitSet(new long[]{0x0000000000008002L});
+    public static final BitSet FOLLOW_15_in_ruleRefSegment8760 = new BitSet(new long[]{0x0000000000000040L});
     public static final BitSet FOLLOW_RULE_INT_in_ruleRefSegment8777 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBinding_in_entryRuleBinding8820 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleBinding8830 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_70_in_ruleBinding8867 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleBindingEndPoint_in_ruleBinding8888 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
-    public static final BitSet FOLLOW_71_in_ruleBinding8900 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_69_in_ruleBinding8867 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleBindingEndPoint_in_ruleBinding8888 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
+    public static final BitSet FOLLOW_70_in_ruleBinding8900 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_ruleBindingEndPoint_in_ruleBinding8921 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBindingEndPoint_in_entryRuleBindingEndPoint8957 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleBindingEndPoint8967 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleBindingEndPoint9013 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-    public static final BitSet FOLLOW_72_in_ruleBindingEndPoint9025 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleBindingEndPoint9047 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L});
-    public static final BitSet FOLLOW_73_in_ruleBindingEndPoint9060 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleBindingEndPoint9013 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+    public static final BitSet FOLLOW_71_in_ruleBindingEndPoint9025 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleBindingEndPoint9047 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
+    public static final BitSet FOLLOW_72_in_ruleBindingEndPoint9060 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleBindingEndPoint9080 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleLayerConnection_in_entryRuleLayerConnection9118 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleLayerConnection9128 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_74_in_ruleLayerConnection9165 = new BitSet(new long[]{0x0000000000020000L,0x0000000000001000L});
-    public static final BitSet FOLLOW_ruleSAPoint_in_ruleLayerConnection9186 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
-    public static final BitSet FOLLOW_75_in_ruleLayerConnection9198 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_73_in_ruleLayerConnection9165 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000800L});
+    public static final BitSet FOLLOW_ruleSAPoint_in_ruleLayerConnection9186 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
+    public static final BitSet FOLLOW_74_in_ruleLayerConnection9198 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_ruleSPPoint_in_ruleLayerConnection9219 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSAPoint_in_entryRuleSAPoint9255 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSAPoint9265 = new BitSet(new long[]{0x0000000000000002L});
@@ -24292,41 +23953,41 @@
     public static final BitSet FOLLOW_ruleRelaySAPoint_in_ruleSAPoint9339 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRefSAPoint_in_entryRuleRefSAPoint9374 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRefSAPoint9384 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_17_in_ruleRefSAPoint9421 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_16_in_ruleRefSAPoint9421 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleRefSAPoint9441 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRelaySAPoint_in_entryRuleRelaySAPoint9477 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRelaySAPoint9487 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_76_in_ruleRelaySAPoint9524 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_75_in_ruleRelaySAPoint9524 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleRelaySAPoint9544 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSPPoint_in_entryRuleSPPoint9580 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSPPoint9590 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSPPoint9635 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-    public static final BitSet FOLLOW_72_in_ruleSPPoint9647 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSPPoint9635 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+    public static final BitSet FOLLOW_71_in_ruleSPPoint9647 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleSPPoint9667 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleActorRef_in_entryRuleActorRef9703 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleActorRef9713 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReferenceType_in_ruleActorRef9759 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L});
-    public static final BitSet FOLLOW_77_in_ruleActorRef9772 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleActorRef9789 = new BitSet(new long[]{0x0000000400010000L});
-    public static final BitSet FOLLOW_ruleMULTIPLICITY_in_ruleActorRef9815 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleActorRef9828 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleActorRef9851 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_ruleReferenceType_in_ruleActorRef9759 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
+    public static final BitSet FOLLOW_76_in_ruleActorRef9772 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleActorRef9789 = new BitSet(new long[]{0x0000000200008000L});
+    public static final BitSet FOLLOW_ruleMULTIPLICITY_in_ruleActorRef9815 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleActorRef9828 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleActorRef9851 = new BitSet(new long[]{0x0000000200000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_ruleActorRef9872 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleMULTIPLICITY_in_entryRuleMULTIPLICITY9912 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleMULTIPLICITY9923 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleMULTIPLICITY9961 = new BitSet(new long[]{0x0000000000000040L,0x0000000000004000L});
-    public static final BitSet FOLLOW_78_in_ruleMULTIPLICITY9975 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleMULTIPLICITY9996 = new BitSet(new long[]{0x0000000800000000L});
-    public static final BitSet FOLLOW_35_in_ruleMULTIPLICITY10015 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_ruleMULTIPLICITY9961 = new BitSet(new long[]{0x0000000000000040L,0x0000000000002000L});
+    public static final BitSet FOLLOW_77_in_ruleMULTIPLICITY9975 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleMULTIPLICITY9996 = new BitSet(new long[]{0x0000000400000000L});
+    public static final BitSet FOLLOW_34_in_ruleMULTIPLICITY10015 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAnnotationTargetType_in_entryRuleAnnotationTargetType10056 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationTargetType10067 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_28_in_ruleAnnotationTargetType10105 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_55_in_ruleAnnotationTargetType10124 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_79_in_ruleAnnotationTargetType10143 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_42_in_ruleAnnotationTargetType10162 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_48_in_ruleAnnotationTargetType10181 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_66_in_ruleAnnotationTargetType10200 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_64_in_ruleAnnotationTargetType10219 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_27_in_ruleAnnotationTargetType10105 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_54_in_ruleAnnotationTargetType10124 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_78_in_ruleAnnotationTargetType10143 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_41_in_ruleAnnotationTargetType10162 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_47_in_ruleAnnotationTargetType10181 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_65_in_ruleAnnotationTargetType10200 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_63_in_ruleAnnotationTargetType10219 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleStateGraphNode_in_entryRuleStateGraphNode10261 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleStateGraphNode10271 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleState_in_ruleStateGraphNode10318 = new BitSet(new long[]{0x0000000000000002L});
@@ -24334,62 +23995,62 @@
     public static final BitSet FOLLOW_ruleTrPoint_in_ruleStateGraphNode10372 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleStateGraph_in_entryRuleStateGraph10409 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleStateGraph10419 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_ruleStateGraph10465 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_ruleState_in_ruleStateGraph10487 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_ruleTrPoint_in_ruleStateGraph10514 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_ruleChoicePoint_in_ruleStateGraph10541 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_ruleTransition_in_ruleStateGraph10568 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_ruleRefinedTransition_in_ruleStateGraph10595 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_15_in_ruleStateGraph10609 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_13_in_ruleStateGraph10465 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_ruleState_in_ruleStateGraph10487 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_ruleTrPoint_in_ruleStateGraph10514 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_ruleChoicePoint_in_ruleStateGraph10541 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_ruleTransition_in_ruleStateGraph10568 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_ruleRefinedTransition_in_ruleStateGraph10595 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_14_in_ruleStateGraph10609 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleStateMachine_in_entryRuleStateMachine10645 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleStateMachine10655 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_80_in_ruleStateMachine10701 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleStateMachine10713 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_ruleState_in_ruleStateMachine10735 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_ruleTrPoint_in_ruleStateMachine10762 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_ruleChoicePoint_in_ruleStateMachine10789 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_ruleTransition_in_ruleStateMachine10816 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_ruleRefinedTransition_in_ruleStateMachine10843 = new BitSet(new long[]{0x0000000000008000L,0x000000081FC20000L});
-    public static final BitSet FOLLOW_15_in_ruleStateMachine10857 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_79_in_ruleStateMachine10701 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleStateMachine10713 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_ruleState_in_ruleStateMachine10735 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_ruleTrPoint_in_ruleStateMachine10762 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_ruleChoicePoint_in_ruleStateMachine10789 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_ruleTransition_in_ruleStateMachine10816 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_ruleRefinedTransition_in_ruleStateMachine10843 = new BitSet(new long[]{0x0000000000004000L,0x000000040FE10000L});
+    public static final BitSet FOLLOW_14_in_ruleStateMachine10857 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleState_in_entryRuleState10893 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleState10903 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSimpleState_in_ruleState10950 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRefinedState_in_ruleState10977 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSimpleState_in_entryRuleSimpleState11012 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSimpleState11022 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_81_in_ruleSimpleState11059 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleState11076 = new BitSet(new long[]{0x0000000400004002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleSimpleState11102 = new BitSet(new long[]{0x0000000000004002L});
-    public static final BitSet FOLLOW_14_in_ruleSimpleState11116 = new BitSet(new long[]{0x0000000000008000L,0x00000000003C0000L});
-    public static final BitSet FOLLOW_82_in_ruleSimpleState11129 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState11150 = new BitSet(new long[]{0x0000000000008000L,0x0000000000380000L});
-    public static final BitSet FOLLOW_83_in_ruleSimpleState11165 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState11186 = new BitSet(new long[]{0x0000000000008000L,0x0000000000300000L});
-    public static final BitSet FOLLOW_84_in_ruleSimpleState11201 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState11222 = new BitSet(new long[]{0x0000000000008000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_85_in_ruleSimpleState11237 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleStateGraph_in_ruleSimpleState11258 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleSimpleState11272 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_80_in_ruleSimpleState11059 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleState11076 = new BitSet(new long[]{0x0000000200002002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleSimpleState11102 = new BitSet(new long[]{0x0000000000002002L});
+    public static final BitSet FOLLOW_13_in_ruleSimpleState11116 = new BitSet(new long[]{0x0000000000004000L,0x00000000001E0000L});
+    public static final BitSet FOLLOW_81_in_ruleSimpleState11129 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState11150 = new BitSet(new long[]{0x0000000000004000L,0x00000000001C0000L});
+    public static final BitSet FOLLOW_82_in_ruleSimpleState11165 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState11186 = new BitSet(new long[]{0x0000000000004000L,0x0000000000180000L});
+    public static final BitSet FOLLOW_83_in_ruleSimpleState11201 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleSimpleState11222 = new BitSet(new long[]{0x0000000000004000L,0x0000000000100000L});
+    public static final BitSet FOLLOW_84_in_ruleSimpleState11237 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleStateGraph_in_ruleSimpleState11258 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleSimpleState11272 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRefinedState_in_entryRuleRefinedState11310 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRefinedState11320 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_86_in_ruleRefinedState11357 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleRefinedState11380 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRefinedState11401 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleRefinedState11414 = new BitSet(new long[]{0x0000000000008000L,0x00000000003C0000L});
-    public static final BitSet FOLLOW_82_in_ruleRefinedState11427 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState11448 = new BitSet(new long[]{0x0000000000008000L,0x0000000000380000L});
-    public static final BitSet FOLLOW_83_in_ruleRefinedState11463 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState11484 = new BitSet(new long[]{0x0000000000008000L,0x0000000000300000L});
-    public static final BitSet FOLLOW_84_in_ruleRefinedState11499 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState11520 = new BitSet(new long[]{0x0000000000008000L,0x0000000000200000L});
-    public static final BitSet FOLLOW_85_in_ruleRefinedState11535 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleStateGraph_in_ruleRefinedState11556 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleRefinedState11570 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_85_in_ruleRefinedState11357 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleRefinedState11380 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRefinedState11401 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleRefinedState11414 = new BitSet(new long[]{0x0000000000004000L,0x00000000001E0000L});
+    public static final BitSet FOLLOW_81_in_ruleRefinedState11427 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState11448 = new BitSet(new long[]{0x0000000000004000L,0x00000000001C0000L});
+    public static final BitSet FOLLOW_82_in_ruleRefinedState11463 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState11484 = new BitSet(new long[]{0x0000000000004000L,0x0000000000180000L});
+    public static final BitSet FOLLOW_83_in_ruleRefinedState11499 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedState11520 = new BitSet(new long[]{0x0000000000004000L,0x0000000000100000L});
+    public static final BitSet FOLLOW_84_in_ruleRefinedState11535 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleStateGraph_in_ruleRefinedState11556 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleRefinedState11570 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleDetailCode_in_entryRuleDetailCode11606 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleDetailCode11616 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_14_in_ruleDetailCode11668 = new BitSet(new long[]{0x0000000000008020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDetailCode11698 = new BitSet(new long[]{0x0000000000008020L});
-    public static final BitSet FOLLOW_15_in_ruleDetailCode11716 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_13_in_ruleDetailCode11668 = new BitSet(new long[]{0x0000000000004020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDetailCode11698 = new BitSet(new long[]{0x0000000000004020L});
+    public static final BitSet FOLLOW_14_in_ruleDetailCode11716 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTrPoint_in_entryRuleTrPoint11752 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTrPoint11762 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTransitionPoint_in_ruleTrPoint11809 = new BitSet(new long[]{0x0000000000000002L});
@@ -24397,21 +24058,21 @@
     public static final BitSet FOLLOW_ruleExitPoint_in_ruleTrPoint11863 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTransitionPoint_in_entryRuleTransitionPoint11898 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTransitionPoint11908 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_87_in_ruleTransitionPoint11951 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L});
-    public static final BitSet FOLLOW_88_in_ruleTransitionPoint11977 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_86_in_ruleTransitionPoint11951 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
+    public static final BitSet FOLLOW_87_in_ruleTransitionPoint11977 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleTransitionPoint11994 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEntryPoint_in_entryRuleEntryPoint12035 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEntryPoint12045 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_89_in_ruleEntryPoint12082 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_88_in_ruleEntryPoint12082 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleEntryPoint12099 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleExitPoint_in_entryRuleExitPoint12140 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleExitPoint12150 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_90_in_ruleExitPoint12187 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_89_in_ruleExitPoint12187 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleExitPoint12204 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleChoicePoint_in_entryRuleChoicePoint12245 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleChoicePoint12255 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_91_in_ruleChoicePoint12292 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleChoicePoint12309 = new BitSet(new long[]{0x0000000400000002L});
+    public static final BitSet FOLLOW_90_in_ruleChoicePoint12292 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleChoicePoint12309 = new BitSet(new long[]{0x0000000200000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_ruleChoicePoint12335 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTransition_in_entryRuleTransition12372 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTransition12382 = new BitSet(new long[]{0x0000000000000002L});
@@ -24428,88 +24089,88 @@
     public static final BitSet FOLLOW_ruleGuardedTransition_in_ruleTransitionChainStartTransition12721 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInitialTransition_in_entryRuleInitialTransition12756 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInitialTransition12766 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_92_in_ruleInitialTransition12803 = new BitSet(new long[]{0x0000000000010010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleInitialTransition12820 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleInitialTransition12838 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
-    public static final BitSet FOLLOW_93_in_ruleInitialTransition12850 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_19_in_ruleInitialTransition12862 = new BitSet(new long[]{0x0000000000000010L,0x0000003000000000L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleInitialTransition12883 = new BitSet(new long[]{0x0000000400004002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleInitialTransition12904 = new BitSet(new long[]{0x0000000000004002L});
-    public static final BitSet FOLLOW_14_in_ruleInitialTransition12918 = new BitSet(new long[]{0x0000000000008000L,0x0000000040000000L});
-    public static final BitSet FOLLOW_94_in_ruleInitialTransition12931 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleInitialTransition12952 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleInitialTransition12966 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_91_in_ruleInitialTransition12803 = new BitSet(new long[]{0x0000000000008010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleInitialTransition12820 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleInitialTransition12838 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L});
+    public static final BitSet FOLLOW_92_in_ruleInitialTransition12850 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_18_in_ruleInitialTransition12862 = new BitSet(new long[]{0x0000000000000010L,0x0000001800000000L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleInitialTransition12883 = new BitSet(new long[]{0x0000000200002002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleInitialTransition12904 = new BitSet(new long[]{0x0000000000002002L});
+    public static final BitSet FOLLOW_13_in_ruleInitialTransition12918 = new BitSet(new long[]{0x0000000000004000L,0x0000000020000000L});
+    public static final BitSet FOLLOW_93_in_ruleInitialTransition12931 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleInitialTransition12952 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleInitialTransition12966 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleContinuationTransition_in_entryRuleContinuationTransition13004 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleContinuationTransition13014 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_92_in_ruleContinuationTransition13051 = new BitSet(new long[]{0x0000000000010010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleContinuationTransition13068 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleContinuationTransition13086 = new BitSet(new long[]{0x0000000000000010L,0x0000003000000000L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleContinuationTransition13107 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_19_in_ruleContinuationTransition13119 = new BitSet(new long[]{0x0000000000000010L,0x0000003000000000L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleContinuationTransition13140 = new BitSet(new long[]{0x0000000400004002L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleContinuationTransition13161 = new BitSet(new long[]{0x0000000000004002L});
-    public static final BitSet FOLLOW_14_in_ruleContinuationTransition13175 = new BitSet(new long[]{0x0000000000008000L,0x0000000040000000L});
-    public static final BitSet FOLLOW_94_in_ruleContinuationTransition13188 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleContinuationTransition13209 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleContinuationTransition13223 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_91_in_ruleContinuationTransition13051 = new BitSet(new long[]{0x0000000000008010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleContinuationTransition13068 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleContinuationTransition13086 = new BitSet(new long[]{0x0000000000000010L,0x0000001800000000L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleContinuationTransition13107 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_18_in_ruleContinuationTransition13119 = new BitSet(new long[]{0x0000000000000010L,0x0000001800000000L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleContinuationTransition13140 = new BitSet(new long[]{0x0000000200002002L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleContinuationTransition13161 = new BitSet(new long[]{0x0000000000002002L});
+    public static final BitSet FOLLOW_13_in_ruleContinuationTransition13175 = new BitSet(new long[]{0x0000000000004000L,0x0000000020000000L});
+    public static final BitSet FOLLOW_93_in_ruleContinuationTransition13188 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleContinuationTransition13209 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleContinuationTransition13223 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTriggeredTransition_in_entryRuleTriggeredTransition13261 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTriggeredTransition13271 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_92_in_ruleTriggeredTransition13308 = new BitSet(new long[]{0x0000000000010010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleTriggeredTransition13325 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleTriggeredTransition13343 = new BitSet(new long[]{0x0000000000000010L,0x0000003000000000L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleTriggeredTransition13364 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_19_in_ruleTriggeredTransition13376 = new BitSet(new long[]{0x0000000000000010L,0x0000003000000000L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleTriggeredTransition13397 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleTriggeredTransition13418 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleTriggeredTransition13431 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L});
-    public static final BitSet FOLLOW_95_in_ruleTriggeredTransition13443 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleTriggeredTransition13455 = new BitSet(new long[]{0x0000000000000000L,0x0000004000000000L});
-    public static final BitSet FOLLOW_ruleTrigger_in_ruleTriggeredTransition13476 = new BitSet(new long[]{0x0000000000008000L,0x0000000100000000L});
-    public static final BitSet FOLLOW_96_in_ruleTriggeredTransition13489 = new BitSet(new long[]{0x0000000000000000L,0x0000004000000000L});
-    public static final BitSet FOLLOW_ruleTrigger_in_ruleTriggeredTransition13510 = new BitSet(new long[]{0x0000000000008000L,0x0000000100000000L});
-    public static final BitSet FOLLOW_15_in_ruleTriggeredTransition13524 = new BitSet(new long[]{0x0000000000008000L,0x0000000040000000L});
-    public static final BitSet FOLLOW_94_in_ruleTriggeredTransition13537 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleTriggeredTransition13558 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleTriggeredTransition13572 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_91_in_ruleTriggeredTransition13308 = new BitSet(new long[]{0x0000000000008010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleTriggeredTransition13325 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleTriggeredTransition13343 = new BitSet(new long[]{0x0000000000000010L,0x0000001800000000L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleTriggeredTransition13364 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_18_in_ruleTriggeredTransition13376 = new BitSet(new long[]{0x0000000000000010L,0x0000001800000000L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleTriggeredTransition13397 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleTriggeredTransition13418 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleTriggeredTransition13431 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
+    public static final BitSet FOLLOW_94_in_ruleTriggeredTransition13443 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleTriggeredTransition13455 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
+    public static final BitSet FOLLOW_ruleTrigger_in_ruleTriggeredTransition13476 = new BitSet(new long[]{0x0000000000004000L,0x0000000080000000L});
+    public static final BitSet FOLLOW_95_in_ruleTriggeredTransition13489 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L});
+    public static final BitSet FOLLOW_ruleTrigger_in_ruleTriggeredTransition13510 = new BitSet(new long[]{0x0000000000004000L,0x0000000080000000L});
+    public static final BitSet FOLLOW_14_in_ruleTriggeredTransition13524 = new BitSet(new long[]{0x0000000000004000L,0x0000000020000000L});
+    public static final BitSet FOLLOW_93_in_ruleTriggeredTransition13537 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleTriggeredTransition13558 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleTriggeredTransition13572 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleGuardedTransition_in_entryRuleGuardedTransition13608 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleGuardedTransition13618 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_92_in_ruleGuardedTransition13655 = new BitSet(new long[]{0x0000000000010010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleGuardedTransition13672 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleGuardedTransition13690 = new BitSet(new long[]{0x0000000000000010L,0x0000003000000000L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleGuardedTransition13711 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_19_in_ruleGuardedTransition13723 = new BitSet(new long[]{0x0000000000000010L,0x0000003000000000L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleGuardedTransition13744 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleGuardedTransition13765 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleGuardedTransition13778 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
-    public static final BitSet FOLLOW_97_in_ruleGuardedTransition13790 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleGuardedTransition13811 = new BitSet(new long[]{0x0000000000008000L,0x0000000040000000L});
-    public static final BitSet FOLLOW_94_in_ruleGuardedTransition13824 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleGuardedTransition13845 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleGuardedTransition13859 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_91_in_ruleGuardedTransition13655 = new BitSet(new long[]{0x0000000000008010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleGuardedTransition13672 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleGuardedTransition13690 = new BitSet(new long[]{0x0000000000000010L,0x0000001800000000L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleGuardedTransition13711 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_18_in_ruleGuardedTransition13723 = new BitSet(new long[]{0x0000000000000010L,0x0000001800000000L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleGuardedTransition13744 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleGuardedTransition13765 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleGuardedTransition13778 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L});
+    public static final BitSet FOLLOW_96_in_ruleGuardedTransition13790 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleGuardedTransition13811 = new BitSet(new long[]{0x0000000000004000L,0x0000000020000000L});
+    public static final BitSet FOLLOW_93_in_ruleGuardedTransition13824 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleGuardedTransition13845 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleGuardedTransition13859 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleCPBranchTransition_in_entryRuleCPBranchTransition13895 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleCPBranchTransition13905 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_92_in_ruleCPBranchTransition13942 = new BitSet(new long[]{0x0000000000010010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleCPBranchTransition13959 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleCPBranchTransition13977 = new BitSet(new long[]{0x0000000000000010L,0x0000003000000000L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleCPBranchTransition13998 = new BitSet(new long[]{0x0000000000080000L});
-    public static final BitSet FOLLOW_19_in_ruleCPBranchTransition14010 = new BitSet(new long[]{0x0000000000000010L,0x0000003000000000L});
-    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleCPBranchTransition14031 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleCPBranchTransition14052 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleCPBranchTransition14065 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
-    public static final BitSet FOLLOW_98_in_ruleCPBranchTransition14077 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleCPBranchTransition14098 = new BitSet(new long[]{0x0000000000008000L,0x0000000040000000L});
-    public static final BitSet FOLLOW_94_in_ruleCPBranchTransition14111 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleCPBranchTransition14132 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleCPBranchTransition14146 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_91_in_ruleCPBranchTransition13942 = new BitSet(new long[]{0x0000000000008010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleCPBranchTransition13959 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleCPBranchTransition13977 = new BitSet(new long[]{0x0000000000000010L,0x0000001800000000L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleCPBranchTransition13998 = new BitSet(new long[]{0x0000000000040000L});
+    public static final BitSet FOLLOW_18_in_ruleCPBranchTransition14010 = new BitSet(new long[]{0x0000000000000010L,0x0000001800000000L});
+    public static final BitSet FOLLOW_ruleTransitionTerminal_in_ruleCPBranchTransition14031 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleCPBranchTransition14052 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleCPBranchTransition14065 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
+    public static final BitSet FOLLOW_97_in_ruleCPBranchTransition14077 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleCPBranchTransition14098 = new BitSet(new long[]{0x0000000000004000L,0x0000000020000000L});
+    public static final BitSet FOLLOW_93_in_ruleCPBranchTransition14111 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleCPBranchTransition14132 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleCPBranchTransition14146 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleRefinedTransition_in_entryRuleRefinedTransition14182 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleRefinedTransition14192 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_99_in_ruleRefinedTransition14229 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleRefinedTransition14252 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRefinedTransition14273 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleRefinedTransition14286 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
-    public static final BitSet FOLLOW_94_in_ruleRefinedTransition14298 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedTransition14319 = new BitSet(new long[]{0x0000000000008000L});
-    public static final BitSet FOLLOW_15_in_ruleRefinedTransition14331 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_98_in_ruleRefinedTransition14229 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleRefinedTransition14252 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleRefinedTransition14273 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleRefinedTransition14286 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+    public static final BitSet FOLLOW_93_in_ruleRefinedTransition14298 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_ruleDetailCode_in_ruleRefinedTransition14319 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_14_in_ruleRefinedTransition14331 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTransitionTerminal_in_entryRuleTransitionTerminal14367 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTransitionTerminal14377 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleStateTerminal_in_ruleTransitionTerminal14424 = new BitSet(new long[]{0x0000000000000002L});
@@ -24521,138 +24182,138 @@
     public static final BitSet FOLLOW_RULE_ID_in_ruleStateTerminal14594 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTrPointTerminal_in_entryRuleTrPointTerminal14629 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTrPointTerminal14639 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_100_in_ruleTrPointTerminal14676 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_99_in_ruleTrPointTerminal14676 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleTrPointTerminal14696 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSubStateTrPointTerminal_in_entryRuleSubStateTrPointTerminal14732 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSubStateTrPointTerminal14742 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSubStateTrPointTerminal14787 = new BitSet(new long[]{0x0000000001000000L});
-    public static final BitSet FOLLOW_24_in_ruleSubStateTrPointTerminal14799 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSubStateTrPointTerminal14787 = new BitSet(new long[]{0x0000000000800000L});
+    public static final BitSet FOLLOW_23_in_ruleSubStateTrPointTerminal14799 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleSubStateTrPointTerminal14819 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleChoicepointTerminal_in_entryRuleChoicepointTerminal14855 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleChoicepointTerminal14865 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_101_in_ruleChoicepointTerminal14902 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_100_in_ruleChoicepointTerminal14902 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleChoicepointTerminal14922 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleTrigger_in_entryRuleTrigger14958 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleTrigger14968 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_102_in_ruleTrigger15005 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleMessageFromIf_in_ruleTrigger15026 = new BitSet(new long[]{0x0000000000000000L,0x0000018200000000L});
-    public static final BitSet FOLLOW_103_in_ruleTrigger15039 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleMessageFromIf_in_ruleTrigger15060 = new BitSet(new long[]{0x0000000000000000L,0x0000018200000000L});
-    public static final BitSet FOLLOW_ruleGuard_in_ruleTrigger15083 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
-    public static final BitSet FOLLOW_104_in_ruleTrigger15096 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_101_in_ruleTrigger15005 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleMessageFromIf_in_ruleTrigger15026 = new BitSet(new long[]{0x0000000000000000L,0x000000C100000000L});
+    public static final BitSet FOLLOW_102_in_ruleTrigger15039 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleMessageFromIf_in_ruleTrigger15060 = new BitSet(new long[]{0x0000000000000000L,0x000000C100000000L});
+    public static final BitSet FOLLOW_ruleGuard_in_ruleTrigger15083 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L});
+    public static final BitSet FOLLOW_103_in_ruleTrigger15096 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleMessageFromIf_in_entryRuleMessageFromIf15132 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleMessageFromIf15142 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleMessageFromIf15187 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleMessageFromIf15199 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleMessageFromIf15187 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleMessageFromIf15199 = new BitSet(new long[]{0x0000000000000010L});
     public static final BitSet FOLLOW_RULE_ID_in_ruleMessageFromIf15219 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleGuard_in_entryRuleGuard15255 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleGuard15265 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_97_in_ruleGuard15302 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_96_in_ruleGuard15302 = new BitSet(new long[]{0x0000000000002000L});
     public static final BitSet FOLLOW_ruleDetailCode_in_ruleGuard15323 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleProtocolSemantics_in_entryRuleProtocolSemantics15359 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleProtocolSemantics15369 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_105_in_ruleProtocolSemantics15415 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleProtocolSemantics15427 = new BitSet(new long[]{0x0000000000008000L,0x00000C0000000000L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleProtocolSemantics15448 = new BitSet(new long[]{0x0000000000008000L,0x00000C0000000000L});
-    public static final BitSet FOLLOW_15_in_ruleProtocolSemantics15461 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_104_in_ruleProtocolSemantics15415 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleProtocolSemantics15427 = new BitSet(new long[]{0x0000000000004000L,0x0000060000000000L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleProtocolSemantics15448 = new BitSet(new long[]{0x0000000000004000L,0x0000060000000000L});
+    public static final BitSet FOLLOW_14_in_ruleProtocolSemantics15461 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSemanticsRule_in_entryRuleSemanticsRule15497 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSemanticsRule15507 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInSemanticsRule_in_ruleSemanticsRule15554 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleOutSemanticsRule_in_ruleSemanticsRule15581 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInSemanticsRule_in_entryRuleInSemanticsRule15616 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInSemanticsRule15626 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_106_in_ruleInSemanticsRule15663 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleInSemanticsRule15675 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleInSemanticsRule15695 = new BitSet(new long[]{0x0000000000080002L});
-    public static final BitSet FOLLOW_19_in_ruleInSemanticsRule15708 = new BitSet(new long[]{0x0000000000100000L,0x00000C0000000000L});
+    public static final BitSet FOLLOW_105_in_ruleInSemanticsRule15663 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleInSemanticsRule15675 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleInSemanticsRule15695 = new BitSet(new long[]{0x0000000000040002L});
+    public static final BitSet FOLLOW_18_in_ruleInSemanticsRule15708 = new BitSet(new long[]{0x0000000000080000L,0x0000060000000000L});
     public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleInSemanticsRule15730 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_ruleInSemanticsRule15749 = new BitSet(new long[]{0x0000000000000000L,0x00000C0000000000L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleInSemanticsRule15770 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_25_in_ruleInSemanticsRule15783 = new BitSet(new long[]{0x0000000000000000L,0x00000C0000000000L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleInSemanticsRule15804 = new BitSet(new long[]{0x0000000002200000L});
-    public static final BitSet FOLLOW_21_in_ruleInSemanticsRule15818 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_ruleInSemanticsRule15749 = new BitSet(new long[]{0x0000000000000000L,0x0000060000000000L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleInSemanticsRule15770 = new BitSet(new long[]{0x0000000001000000L});
+    public static final BitSet FOLLOW_24_in_ruleInSemanticsRule15783 = new BitSet(new long[]{0x0000000000000000L,0x0000060000000000L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleInSemanticsRule15804 = new BitSet(new long[]{0x0000000001100000L});
+    public static final BitSet FOLLOW_20_in_ruleInSemanticsRule15818 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleOutSemanticsRule_in_entryRuleOutSemanticsRule15858 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleOutSemanticsRule15868 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_107_in_ruleOutSemanticsRule15905 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleOutSemanticsRule15917 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleOutSemanticsRule15937 = new BitSet(new long[]{0x0000000000080002L});
-    public static final BitSet FOLLOW_19_in_ruleOutSemanticsRule15950 = new BitSet(new long[]{0x0000000000100000L,0x00000C0000000000L});
+    public static final BitSet FOLLOW_106_in_ruleOutSemanticsRule15905 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleOutSemanticsRule15917 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleOutSemanticsRule15937 = new BitSet(new long[]{0x0000000000040002L});
+    public static final BitSet FOLLOW_18_in_ruleOutSemanticsRule15950 = new BitSet(new long[]{0x0000000000080000L,0x0000060000000000L});
     public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleOutSemanticsRule15972 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_20_in_ruleOutSemanticsRule15991 = new BitSet(new long[]{0x0000000000000000L,0x00000C0000000000L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleOutSemanticsRule16012 = new BitSet(new long[]{0x0000000002000000L});
-    public static final BitSet FOLLOW_25_in_ruleOutSemanticsRule16025 = new BitSet(new long[]{0x0000000000000000L,0x00000C0000000000L});
-    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleOutSemanticsRule16046 = new BitSet(new long[]{0x0000000002200000L});
-    public static final BitSet FOLLOW_21_in_ruleOutSemanticsRule16060 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_19_in_ruleOutSemanticsRule15991 = new BitSet(new long[]{0x0000000000000000L,0x0000060000000000L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleOutSemanticsRule16012 = new BitSet(new long[]{0x0000000001000000L});
+    public static final BitSet FOLLOW_24_in_ruleOutSemanticsRule16025 = new BitSet(new long[]{0x0000000000000000L,0x0000060000000000L});
+    public static final BitSet FOLLOW_ruleSemanticsRule_in_ruleOutSemanticsRule16046 = new BitSet(new long[]{0x0000000001100000L});
+    public static final BitSet FOLLOW_20_in_ruleOutSemanticsRule16060 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAnnotation_in_entryRuleAnnotation16100 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotation16110 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_108_in_ruleAnnotation16147 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleAnnotation16170 = new BitSet(new long[]{0x0000000000100002L});
-    public static final BitSet FOLLOW_20_in_ruleAnnotation16183 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation16204 = new BitSet(new long[]{0x0000000002200000L});
-    public static final BitSet FOLLOW_25_in_ruleAnnotation16217 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation16238 = new BitSet(new long[]{0x0000000002200000L});
-    public static final BitSet FOLLOW_21_in_ruleAnnotation16252 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_107_in_ruleAnnotation16147 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleAnnotation16170 = new BitSet(new long[]{0x0000000000080002L});
+    public static final BitSet FOLLOW_19_in_ruleAnnotation16183 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation16204 = new BitSet(new long[]{0x0000000001100000L});
+    public static final BitSet FOLLOW_24_in_ruleAnnotation16217 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_ruleKeyValue_in_ruleAnnotation16238 = new BitSet(new long[]{0x0000000001100000L});
+    public static final BitSet FOLLOW_20_in_ruleAnnotation16252 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleKeyValue_in_entryRuleKeyValue16290 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleKeyValue16300 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue16342 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_26_in_ruleKeyValue16359 = new BitSet(new long[]{0x00000000000000E0L,0x03C0000000000100L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleKeyValue16342 = new BitSet(new long[]{0x0000000002000000L});
+    public static final BitSet FOLLOW_25_in_ruleKeyValue16359 = new BitSet(new long[]{0x00000000000000E0L,0x01E0000000000000L});
     public static final BitSet FOLLOW_ruleLiteral_in_ruleKeyValue16380 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAnnotationType_in_entryRuleAnnotationType16416 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationType16426 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_109_in_ruleAnnotationType16463 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotationType16480 = new BitSet(new long[]{0x0000000400004000L});
-    public static final BitSet FOLLOW_ruleDocumentation_in_ruleAnnotationType16506 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleAnnotationType16519 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L});
-    public static final BitSet FOLLOW_110_in_ruleAnnotationType16531 = new BitSet(new long[]{0x0000000004000000L});
-    public static final BitSet FOLLOW_26_in_ruleAnnotationType16543 = new BitSet(new long[]{0x0081040010004000L,0x0000000000008005L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType16565 = new BitSet(new long[]{0x0000000000008000L,0x0001800000000000L});
-    public static final BitSet FOLLOW_14_in_ruleAnnotationType16584 = new BitSet(new long[]{0x0081040010000000L,0x0000000000008005L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType16605 = new BitSet(new long[]{0x0000000002008000L});
-    public static final BitSet FOLLOW_25_in_ruleAnnotationType16618 = new BitSet(new long[]{0x0081040010000000L,0x0000000000008005L});
-    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType16639 = new BitSet(new long[]{0x0000000002008000L});
-    public static final BitSet FOLLOW_15_in_ruleAnnotationType16653 = new BitSet(new long[]{0x0000000000008000L,0x0001800000000000L});
-    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_ruleAnnotationType16676 = new BitSet(new long[]{0x0000000000008000L,0x0001800000000000L});
-    public static final BitSet FOLLOW_15_in_ruleAnnotationType16689 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_108_in_ruleAnnotationType16463 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleAnnotationType16480 = new BitSet(new long[]{0x0000000200002000L});
+    public static final BitSet FOLLOW_ruleDocumentation_in_ruleAnnotationType16506 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleAnnotationType16519 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
+    public static final BitSet FOLLOW_109_in_ruleAnnotationType16531 = new BitSet(new long[]{0x0000000002000000L});
+    public static final BitSet FOLLOW_25_in_ruleAnnotationType16543 = new BitSet(new long[]{0x8040820008002000L,0x0000000000004002L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType16565 = new BitSet(new long[]{0x0000000000004000L,0x0000C00000000000L});
+    public static final BitSet FOLLOW_13_in_ruleAnnotationType16584 = new BitSet(new long[]{0x8040820008000000L,0x0000000000004002L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType16605 = new BitSet(new long[]{0x0000000001004000L});
+    public static final BitSet FOLLOW_24_in_ruleAnnotationType16618 = new BitSet(new long[]{0x8040820008000000L,0x0000000000004002L});
+    public static final BitSet FOLLOW_ruleAnnotationTargetType_in_ruleAnnotationType16639 = new BitSet(new long[]{0x0000000001004000L});
+    public static final BitSet FOLLOW_14_in_ruleAnnotationType16653 = new BitSet(new long[]{0x0000000000004000L,0x0000C00000000000L});
+    public static final BitSet FOLLOW_ruleAnnotationAttribute_in_ruleAnnotationType16676 = new BitSet(new long[]{0x0000000000004000L,0x0000C00000000000L});
+    public static final BitSet FOLLOW_14_in_ruleAnnotationType16689 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleAnnotationAttribute_in_entryRuleAnnotationAttribute16725 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationAttribute16735 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_ruleAnnotationAttribute16782 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_ruleAnnotationAttribute16809 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleSimpleAnnotationAttribute_in_entryRuleSimpleAnnotationAttribute16844 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleSimpleAnnotationAttribute16854 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_111_in_ruleSimpleAnnotationAttribute16898 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-    public static final BitSet FOLLOW_112_in_ruleSimpleAnnotationAttribute16929 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-    public static final BitSet FOLLOW_113_in_ruleSimpleAnnotationAttribute16942 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute16959 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleSimpleAnnotationAttribute16976 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L,0x0000000000000007L});
+    public static final BitSet FOLLOW_110_in_ruleSimpleAnnotationAttribute16898 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L});
+    public static final BitSet FOLLOW_111_in_ruleSimpleAnnotationAttribute16929 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L});
+    public static final BitSet FOLLOW_112_in_ruleSimpleAnnotationAttribute16942 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleAnnotationAttribute16959 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleSimpleAnnotationAttribute16976 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x000000000000000FL});
     public static final BitSet FOLLOW_ruleLiteralType_in_ruleSimpleAnnotationAttribute16997 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleEnumAnnotationAttribute_in_entryRuleEnumAnnotationAttribute17033 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleEnumAnnotationAttribute17043 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_111_in_ruleEnumAnnotationAttribute17087 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-    public static final BitSet FOLLOW_112_in_ruleEnumAnnotationAttribute17118 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L});
-    public static final BitSet FOLLOW_113_in_ruleEnumAnnotationAttribute17131 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute17148 = new BitSet(new long[]{0x0000000000010000L});
-    public static final BitSet FOLLOW_16_in_ruleEnumAnnotationAttribute17165 = new BitSet(new long[]{0x0000000000004000L});
-    public static final BitSet FOLLOW_14_in_ruleEnumAnnotationAttribute17177 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute17194 = new BitSet(new long[]{0x0000000002008000L});
-    public static final BitSet FOLLOW_25_in_ruleEnumAnnotationAttribute17212 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute17229 = new BitSet(new long[]{0x0000000002008000L});
-    public static final BitSet FOLLOW_15_in_ruleEnumAnnotationAttribute17248 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_110_in_ruleEnumAnnotationAttribute17087 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L});
+    public static final BitSet FOLLOW_111_in_ruleEnumAnnotationAttribute17118 = new BitSet(new long[]{0x0000000000000000L,0x0001000000000000L});
+    public static final BitSet FOLLOW_112_in_ruleEnumAnnotationAttribute17131 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleEnumAnnotationAttribute17148 = new BitSet(new long[]{0x0000000000008000L});
+    public static final BitSet FOLLOW_15_in_ruleEnumAnnotationAttribute17165 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_13_in_ruleEnumAnnotationAttribute17177 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute17194 = new BitSet(new long[]{0x0000000001004000L});
+    public static final BitSet FOLLOW_24_in_ruleEnumAnnotationAttribute17212 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleEnumAnnotationAttribute17229 = new BitSet(new long[]{0x0000000001004000L});
+    public static final BitSet FOLLOW_14_in_ruleEnumAnnotationAttribute17248 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleImport_in_entryRuleImport17284 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleImport17294 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_114_in_ruleImport17331 = new BitSet(new long[]{0x0000000000000010L,0x0010000000000000L});
-    public static final BitSet FOLLOW_ruleImportedFQN_in_ruleImport17354 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
-    public static final BitSet FOLLOW_115_in_ruleImport17366 = new BitSet(new long[]{0x0000000000000020L});
-    public static final BitSet FOLLOW_116_in_ruleImport17385 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_113_in_ruleImport17331 = new BitSet(new long[]{0x0000000000000010L,0x0008000000000000L});
+    public static final BitSet FOLLOW_ruleImportedFQN_in_ruleImport17354 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L});
+    public static final BitSet FOLLOW_114_in_ruleImport17366 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_115_in_ruleImport17385 = new BitSet(new long[]{0x0000000000000020L});
     public static final BitSet FOLLOW_RULE_STRING_in_ruleImport17403 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleImportedFQN_in_entryRuleImportedFQN17445 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleImportedFQN17456 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN17503 = new BitSet(new long[]{0x0000000000000002L,0x0020000000000000L});
-    public static final BitSet FOLLOW_117_in_ruleImportedFQN17522 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_ruleImportedFQN17503 = new BitSet(new long[]{0x0000000000000002L,0x0010000000000000L});
+    public static final BitSet FOLLOW_116_in_ruleImportedFQN17522 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleDocumentation_in_entryRuleDocumentation17564 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleDocumentation17574 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_34_in_ruleDocumentation17620 = new BitSet(new long[]{0x0000000800000020L});
-    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation17637 = new BitSet(new long[]{0x0000000800000020L});
-    public static final BitSet FOLLOW_35_in_ruleDocumentation17655 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_33_in_ruleDocumentation17620 = new BitSet(new long[]{0x0000000400000020L});
+    public static final BitSet FOLLOW_RULE_STRING_in_ruleDocumentation17637 = new BitSet(new long[]{0x0000000400000020L});
+    public static final BitSet FOLLOW_34_in_ruleDocumentation17655 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral17695 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleLiteral17705 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_ruleLiteral17752 = new BitSet(new long[]{0x0000000000000002L});
@@ -24660,8 +24321,8 @@
     public static final BitSet FOLLOW_ruleStringLiteral_in_ruleLiteral17806 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleBooleanLiteral_in_entryRuleBooleanLiteral17841 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteral17851 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_118_in_ruleBooleanLiteral17898 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_119_in_ruleBooleanLiteral17922 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_117_in_ruleBooleanLiteral17898 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_118_in_ruleBooleanLiteral17922 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleNumberLiteral_in_entryRuleNumberLiteral17972 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteral17982 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleIntLiteral_in_ruleNumberLiteral18029 = new BitSet(new long[]{0x0000000000000002L});
@@ -24677,66 +24338,50 @@
     public static final BitSet FOLLOW_RULE_STRING_in_ruleStringLiteral18354 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_ruleInteger_in_entryRuleInteger18396 = new BitSet(new long[]{0x0000000000000000L});
     public static final BitSet FOLLOW_EOF_in_entryRuleInteger18407 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_ruleInteger18454 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_ruleInteger18487 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleSignedInteger_in_entryRuleSignedInteger18539 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleSignedInteger18550 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_120_in_ruleSignedInteger18593 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_121_in_ruleSignedInteger18612 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleSignedInteger18629 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleHexadecimal_in_entryRuleHexadecimal18685 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleHexadecimal18696 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_HEX_in_ruleHexadecimal18739 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal18788 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleReal18799 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal18846 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_ruleReal18879 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_ruleReal18912 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal18945 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal18997 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal19008 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_120_in_ruleDecimal19051 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_121_in_ruleDecimal19070 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal19087 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-    public static final BitSet FOLLOW_72_in_ruleDecimal19105 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal19120 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDotDecimal_in_entryRuleDotDecimal19176 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDotDecimal19187 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_120_in_ruleDotDecimal19230 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-    public static final BitSet FOLLOW_121_in_ruleDotDecimal19249 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-    public static final BitSet FOLLOW_72_in_ruleDotDecimal19264 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDotDecimal19279 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalDot_in_entryRuleDecimalDot19335 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalDot19346 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_120_in_ruleDecimalDot19389 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_121_in_ruleDecimalDot19408 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalDot19425 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-    public static final BitSet FOLLOW_72_in_ruleDecimalDot19443 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp19494 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp19505 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_120_in_ruleDecimalExp19548 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_121_in_ruleDecimalExp19567 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp19584 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-    public static final BitSet FOLLOW_72_in_ruleDecimalExp19602 = new BitSet(new long[]{0x0000000000000040L});
-    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp19617 = new BitSet(new long[]{0x0000000000000100L});
-    public static final BitSet FOLLOW_RULE_EXP_in_ruleDecimalExp19637 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN19687 = new BitSet(new long[]{0x0000000000000000L});
-    public static final BitSet FOLLOW_EOF_in_entryRuleFQN19698 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN19738 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
-    public static final BitSet FOLLOW_72_in_ruleFQN19757 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN19772 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000100L});
-    public static final BitSet FOLLOW_122_in_ruleCommunicationType19833 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_123_in_ruleCommunicationType19850 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_124_in_ruleCommunicationType19867 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_125_in_ruleReferenceType19912 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_111_in_ruleReferenceType19929 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_122_in_ruleComponentCommunicationType19976 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_123_in_ruleComponentCommunicationType19993 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_126_in_ruleComponentCommunicationType20010 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_124_in_ruleComponentCommunicationType20027 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_127_in_ruleLiteralType20072 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_128_in_ruleLiteralType20089 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_129_in_ruleLiteralType20106 = new BitSet(new long[]{0x0000000000000002L});
-    public static final BitSet FOLLOW_130_in_ruleLiteralType20123 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_119_in_ruleInteger18447 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_120_in_ruleInteger18466 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleInteger18483 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_HEX_in_ruleInteger18510 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleReal_in_entryRuleReal18556 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleReal18567 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_ruleReal18614 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_ruleReal18647 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimal_in_entryRuleDecimal18699 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimal18710 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_119_in_ruleDecimal18753 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_120_in_ruleDecimal18772 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal18789 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+    public static final BitSet FOLLOW_71_in_ruleDecimal18807 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimal18822 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleDecimalExp_in_entryRuleDecimalExp18878 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleDecimalExp18889 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_119_in_ruleDecimalExp18932 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_120_in_ruleDecimalExp18951 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp18968 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+    public static final BitSet FOLLOW_71_in_ruleDecimalExp18986 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp19001 = new BitSet(new long[]{0x0000000000000000L,0x0600000000000000L});
+    public static final BitSet FOLLOW_121_in_ruleDecimalExp19020 = new BitSet(new long[]{0x0000000000000040L,0x0180000000000000L});
+    public static final BitSet FOLLOW_122_in_ruleDecimalExp19039 = new BitSet(new long[]{0x0000000000000040L,0x0180000000000000L});
+    public static final BitSet FOLLOW_119_in_ruleDecimalExp19054 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_120_in_ruleDecimalExp19073 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_RULE_INT_in_ruleDecimalExp19090 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_ruleFQN_in_entryRuleFQN19140 = new BitSet(new long[]{0x0000000000000000L});
+    public static final BitSet FOLLOW_EOF_in_entryRuleFQN19151 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN19191 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000080L});
+    public static final BitSet FOLLOW_71_in_ruleFQN19210 = new BitSet(new long[]{0x0000000000000010L});
+    public static final BitSet FOLLOW_RULE_ID_in_ruleFQN19225 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000080L});
+    public static final BitSet FOLLOW_123_in_ruleCommunicationType19286 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_124_in_ruleCommunicationType19303 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_125_in_ruleCommunicationType19320 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_126_in_ruleReferenceType19365 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_110_in_ruleReferenceType19382 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_123_in_ruleComponentCommunicationType19429 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_124_in_ruleComponentCommunicationType19446 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_127_in_ruleComponentCommunicationType19463 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_125_in_ruleComponentCommunicationType19480 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_128_in_ruleLiteralType19525 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_129_in_ruleLiteralType19542 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_130_in_ruleLiteralType19559 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_131_in_ruleLiteralType19576 = new BitSet(new long[]{0x0000000000000002L});
 
 }
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/services/RoomGrammarAccess.java b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/services/RoomGrammarAccess.java
index 4f58f04..aeeece0 100644
--- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/services/RoomGrammarAccess.java
+++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/services/RoomGrammarAccess.java
@@ -70,82 +70,84 @@
 		//name=FQN
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.1/@terminal'
+		//FQN
 		public RuleCall getNameFQNParserRuleCall_1_0() { return cNameFQNParserRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.2'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_2() { return cDocuAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.2/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_2_0() { return cDocuDocumentationParserRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.3'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.4'
+		//imports+=Import*
 		public Assignment getImportsAssignment_4() { return cImportsAssignment_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.4/@terminal'
+		//Import
 		public RuleCall getImportsImportParserRuleCall_4_0() { return cImportsImportParserRuleCall_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5'
+		//(primitiveTypes+=PrimitiveType | enumerationTypes+=EnumerationType | externalTypes+=ExternalType |
+		//dataClasses+=DataClass | protocolClasses+=GeneralProtocolClass | actorClasses+=ActorClass |
+		//subSystemClasses+=SubSystemClass | systems+=LogicalSystem | annotationTypes+=AnnotationType)*
 		public Alternatives getAlternatives_5() { return cAlternatives_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.0'
+		//primitiveTypes+=PrimitiveType
 		public Assignment getPrimitiveTypesAssignment_5_0() { return cPrimitiveTypesAssignment_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.0/@terminal'
+		//PrimitiveType
 		public RuleCall getPrimitiveTypesPrimitiveTypeParserRuleCall_5_0_0() { return cPrimitiveTypesPrimitiveTypeParserRuleCall_5_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.1'
+		//enumerationTypes+=EnumerationType
 		public Assignment getEnumerationTypesAssignment_5_1() { return cEnumerationTypesAssignment_5_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.1/@terminal'
+		//EnumerationType
 		public RuleCall getEnumerationTypesEnumerationTypeParserRuleCall_5_1_0() { return cEnumerationTypesEnumerationTypeParserRuleCall_5_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.2'
+		//externalTypes+=ExternalType
 		public Assignment getExternalTypesAssignment_5_2() { return cExternalTypesAssignment_5_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.2/@terminal'
+		//ExternalType
 		public RuleCall getExternalTypesExternalTypeParserRuleCall_5_2_0() { return cExternalTypesExternalTypeParserRuleCall_5_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.3'
+		//dataClasses+=DataClass
 		public Assignment getDataClassesAssignment_5_3() { return cDataClassesAssignment_5_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.3/@terminal'
+		//DataClass
 		public RuleCall getDataClassesDataClassParserRuleCall_5_3_0() { return cDataClassesDataClassParserRuleCall_5_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.4'
+		//protocolClasses+=GeneralProtocolClass
 		public Assignment getProtocolClassesAssignment_5_4() { return cProtocolClassesAssignment_5_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.4/@terminal'
+		//GeneralProtocolClass
 		public RuleCall getProtocolClassesGeneralProtocolClassParserRuleCall_5_4_0() { return cProtocolClassesGeneralProtocolClassParserRuleCall_5_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.5'
+		//actorClasses+=ActorClass
 		public Assignment getActorClassesAssignment_5_5() { return cActorClassesAssignment_5_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.5/@terminal'
+		//ActorClass
 		public RuleCall getActorClassesActorClassParserRuleCall_5_5_0() { return cActorClassesActorClassParserRuleCall_5_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.6'
+		//subSystemClasses+=SubSystemClass
 		public Assignment getSubSystemClassesAssignment_5_6() { return cSubSystemClassesAssignment_5_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.6/@terminal'
+		//SubSystemClass
 		public RuleCall getSubSystemClassesSubSystemClassParserRuleCall_5_6_0() { return cSubSystemClassesSubSystemClassParserRuleCall_5_6_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.7'
+		//systems+=LogicalSystem
 		public Assignment getSystemsAssignment_5_7() { return cSystemsAssignment_5_7; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.7/@terminal'
+		//LogicalSystem
 		public RuleCall getSystemsLogicalSystemParserRuleCall_5_7_0() { return cSystemsLogicalSystemParserRuleCall_5_7_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.8'
+		//annotationTypes+=AnnotationType
 		public Assignment getAnnotationTypesAssignment_5_8() { return cAnnotationTypesAssignment_5_8; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.5/@elements.8/@terminal'
+		//AnnotationType
 		public RuleCall getAnnotationTypesAnnotationTypeParserRuleCall_5_8_0() { return cAnnotationTypesAnnotationTypeParserRuleCall_5_8_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.0/@alternatives/@elements.6'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
 	}
 
@@ -156,19 +158,20 @@
 		private final RuleCall cGeneralProtocolClassParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		private final RuleCall cStructureClassParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RoomClass'
+		//RoomClass:
+		//	DataType | GeneralProtocolClass | StructureClass;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.1/@alternatives'
+		//DataType | GeneralProtocolClass | StructureClass
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.1/@alternatives/@elements.0'
+		//DataType
 		public RuleCall getDataTypeParserRuleCall_0() { return cDataTypeParserRuleCall_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.1/@alternatives/@elements.1'
+		//GeneralProtocolClass
 		public RuleCall getGeneralProtocolClassParserRuleCall_1() { return cGeneralProtocolClassParserRuleCall_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.1/@alternatives/@elements.2'
+		//StructureClass
 		public RuleCall getStructureClassParserRuleCall_2() { return cStructureClassParserRuleCall_2; }
 	}
 
@@ -178,16 +181,17 @@
 		private final RuleCall cActorContainerClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
 		private final RuleCall cLogicalSystemParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/StructureClass'
+		//StructureClass:
+		//	ActorContainerClass | LogicalSystem;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.2/@alternatives'
+		//ActorContainerClass | LogicalSystem
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.2/@alternatives/@elements.0'
+		//ActorContainerClass
 		public RuleCall getActorContainerClassParserRuleCall_0() { return cActorContainerClassParserRuleCall_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.2/@alternatives/@elements.1'
+		//LogicalSystem
 		public RuleCall getLogicalSystemParserRuleCall_1() { return cLogicalSystemParserRuleCall_1; }
 	}
 
@@ -197,16 +201,17 @@
 		private final RuleCall cActorClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
 		private final RuleCall cSubSystemClassParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ActorContainerClass'
+		//ActorContainerClass:
+		//	ActorClass | SubSystemClass;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.3/@alternatives'
+		//ActorClass | SubSystemClass
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.3/@alternatives/@elements.0'
+		//ActorClass
 		public RuleCall getActorClassParserRuleCall_0() { return cActorClassParserRuleCall_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.3/@alternatives/@elements.1'
+		//SubSystemClass
 		public RuleCall getSubSystemClassParserRuleCall_1() { return cSubSystemClassParserRuleCall_1; }
 	}
 
@@ -219,25 +224,28 @@
 		private final Assignment cRefTypeAssignment_2 = (Assignment)cGroup.eContents().get(2);
 		private final RuleCall cRefTypeRefableTypeParserRuleCall_2_0 = (RuleCall)cRefTypeAssignment_2.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/VarDecl'
+		//// **************************************************************
+		//// data class
+		//VarDecl:
+		//	name=ID ":" refType=RefableType;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.4/@alternatives'
+		//name=ID ":" refType=RefableType
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.4/@alternatives/@elements.0'
+		//name=ID
 		public Assignment getNameAssignment_0() { return cNameAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.4/@alternatives/@elements.0/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.4/@alternatives/@elements.1'
+		//":"
 		public Keyword getColonKeyword_1() { return cColonKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.4/@alternatives/@elements.2'
+		//refType=RefableType
 		public Assignment getRefTypeAssignment_2() { return cRefTypeAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.4/@alternatives/@elements.2/@terminal'
+		//RefableType
 		public RuleCall getRefTypeRefableTypeParserRuleCall_2_0() { return cRefTypeRefableTypeParserRuleCall_2_0; }
 	}
 
@@ -250,25 +258,26 @@
 		private final Assignment cRefAssignment_1 = (Assignment)cGroup.eContents().get(1);
 		private final Keyword cRefRefKeyword_1_0 = (Keyword)cRefAssignment_1.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RefableType'
+		//RefableType:
+		//	type=[DataType|FQN] ref?="ref"?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.5/@alternatives'
+		//type=[DataType|FQN] ref?="ref"?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.5/@alternatives/@elements.0'
+		//type=[DataType|FQN]
 		public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.5/@alternatives/@elements.0/@terminal'
+		//[DataType|FQN]
 		public CrossReference getTypeDataTypeCrossReference_0_0() { return cTypeDataTypeCrossReference_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.5/@alternatives/@elements.0/@terminal/@terminal'
+		//FQN
 		public RuleCall getTypeDataTypeFQNParserRuleCall_0_0_1() { return cTypeDataTypeFQNParserRuleCall_0_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.5/@alternatives/@elements.1'
+		//ref?="ref"?
 		public Assignment getRefAssignment_1() { return cRefAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.5/@alternatives/@elements.1/@terminal'
+		//"ref"
 		public Keyword getRefRefKeyword_1_0() { return cRefRefKeyword_1_0; }
 	}
 
@@ -279,19 +288,20 @@
 		private final RuleCall cEnumerationTypeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		private final RuleCall cComplexTypeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/DataType'
+		//DataType:
+		//	PrimitiveType | EnumerationType | ComplexType;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.6/@alternatives'
+		//PrimitiveType | EnumerationType | ComplexType
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.6/@alternatives/@elements.0'
+		//PrimitiveType
 		public RuleCall getPrimitiveTypeParserRuleCall_0() { return cPrimitiveTypeParserRuleCall_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.6/@alternatives/@elements.1'
+		//EnumerationType
 		public RuleCall getEnumerationTypeParserRuleCall_1() { return cEnumerationTypeParserRuleCall_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.6/@alternatives/@elements.2'
+		//ComplexType
 		public RuleCall getComplexTypeParserRuleCall_2() { return cComplexTypeParserRuleCall_2; }
 	}
 
@@ -301,16 +311,17 @@
 		private final RuleCall cDataClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
 		private final RuleCall cExternalTypeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ComplexType'
+		//ComplexType:
+		//	DataClass | ExternalType;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.7/@alternatives'
+		//DataClass | ExternalType
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.7/@alternatives/@elements.0'
+		//DataClass
 		public RuleCall getDataClassParserRuleCall_0() { return cDataClassParserRuleCall_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.7/@alternatives/@elements.1'
+		//ExternalType
 		public RuleCall getExternalTypeParserRuleCall_1() { return cExternalTypeParserRuleCall_1; }
 	}
 
@@ -337,67 +348,70 @@
 		private final Assignment cDocuAssignment_9 = (Assignment)cGroup.eContents().get(9);
 		private final RuleCall cDocuDocumentationParserRuleCall_9_0 = (RuleCall)cDocuAssignment_9.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/PrimitiveType'
+		//PrimitiveType:
+		//	"PrimitiveType" name=ID ":" type=LiteralType "->" targetName=STRING ("(" castName=FQN ")")? "default"
+		//	defaultValueLiteral=STRING docu=Documentation?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives'
+		//"PrimitiveType" name=ID ":" type=LiteralType "->" targetName=STRING ("(" castName=FQN ")")? "default"
+		//defaultValueLiteral=STRING docu=Documentation?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.0'
+		//"PrimitiveType"
 		public Keyword getPrimitiveTypeKeyword_0() { return cPrimitiveTypeKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.2'
+		//":"
 		public Keyword getColonKeyword_2() { return cColonKeyword_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.3'
+		//type=LiteralType
 		public Assignment getTypeAssignment_3() { return cTypeAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.3/@terminal'
+		//LiteralType
 		public RuleCall getTypeLiteralTypeEnumRuleCall_3_0() { return cTypeLiteralTypeEnumRuleCall_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.4'
+		//"->"
 		public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.5'
+		//targetName=STRING
 		public Assignment getTargetNameAssignment_5() { return cTargetNameAssignment_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.5/@terminal'
+		//STRING
 		public RuleCall getTargetNameSTRINGTerminalRuleCall_5_0() { return cTargetNameSTRINGTerminalRuleCall_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.6'
+		//("(" castName=FQN ")")?
 		public Group getGroup_6() { return cGroup_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.6/@elements.0'
+		//"("
 		public Keyword getLeftParenthesisKeyword_6_0() { return cLeftParenthesisKeyword_6_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.6/@elements.1'
+		//castName=FQN
 		public Assignment getCastNameAssignment_6_1() { return cCastNameAssignment_6_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.6/@elements.1/@terminal'
+		//FQN
 		public RuleCall getCastNameFQNParserRuleCall_6_1_0() { return cCastNameFQNParserRuleCall_6_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.6/@elements.2'
+		//")"
 		public Keyword getRightParenthesisKeyword_6_2() { return cRightParenthesisKeyword_6_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.7'
+		//"default"
 		public Keyword getDefaultKeyword_7() { return cDefaultKeyword_7; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.8'
+		//defaultValueLiteral=STRING
 		public Assignment getDefaultValueLiteralAssignment_8() { return cDefaultValueLiteralAssignment_8; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.8/@terminal'
+		//STRING
 		public RuleCall getDefaultValueLiteralSTRINGTerminalRuleCall_8_0() { return cDefaultValueLiteralSTRINGTerminalRuleCall_8_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.9'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_9() { return cDocuAssignment_9; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.8/@alternatives/@elements.9/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_9_0() { return cDocuDocumentationParserRuleCall_9_0; }
 	}
 
@@ -424,67 +438,70 @@
 		private final RuleCall cLiteralsEnumLiteralParserRuleCall_5_1_1_0 = (RuleCall)cLiteralsAssignment_5_1_1.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/EnumerationType'
+		//EnumerationType:
+		//	"Enumeration" name=ID docu=Documentation? ("of" primitiveType=[PrimitiveType|FQN])? "{" (literals+=EnumLiteral (","
+		//	literals+=EnumLiteral)*)? "}";
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives'
+		//"Enumeration" name=ID docu=Documentation? ("of" primitiveType=[PrimitiveType|FQN])? "{" (literals+=EnumLiteral (","
+		//literals+=EnumLiteral)*)? "}"
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.0'
+		//"Enumeration"
 		public Keyword getEnumerationKeyword_0() { return cEnumerationKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.2'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_2() { return cDocuAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.2/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_2_0() { return cDocuDocumentationParserRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.3'
+		//("of" primitiveType=[PrimitiveType|FQN])?
 		public Group getGroup_3() { return cGroup_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.3/@elements.0'
+		//"of"
 		public Keyword getOfKeyword_3_0() { return cOfKeyword_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.3/@elements.1'
+		//primitiveType=[PrimitiveType|FQN]
 		public Assignment getPrimitiveTypeAssignment_3_1() { return cPrimitiveTypeAssignment_3_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.3/@elements.1/@terminal'
+		//[PrimitiveType|FQN]
 		public CrossReference getPrimitiveTypePrimitiveTypeCrossReference_3_1_0() { return cPrimitiveTypePrimitiveTypeCrossReference_3_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.3/@elements.1/@terminal/@terminal'
+		//FQN
 		public RuleCall getPrimitiveTypePrimitiveTypeFQNParserRuleCall_3_1_0_1() { return cPrimitiveTypePrimitiveTypeFQNParserRuleCall_3_1_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.4'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.5'
+		//(literals+=EnumLiteral ("," literals+=EnumLiteral)*)?
 		public Group getGroup_5() { return cGroup_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.5/@elements.0'
+		//literals+=EnumLiteral
 		public Assignment getLiteralsAssignment_5_0() { return cLiteralsAssignment_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.5/@elements.0/@terminal'
+		//EnumLiteral
 		public RuleCall getLiteralsEnumLiteralParserRuleCall_5_0_0() { return cLiteralsEnumLiteralParserRuleCall_5_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.5/@elements.1'
+		//("," literals+=EnumLiteral)*
 		public Group getGroup_5_1() { return cGroup_5_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.5/@elements.1/@elements.0'
+		//","
 		public Keyword getCommaKeyword_5_1_0() { return cCommaKeyword_5_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.5/@elements.1/@elements.1'
+		//literals+=EnumLiteral
 		public Assignment getLiteralsAssignment_5_1_1() { return cLiteralsAssignment_5_1_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.5/@elements.1/@elements.1/@terminal'
+		//EnumLiteral
 		public RuleCall getLiteralsEnumLiteralParserRuleCall_5_1_1_0() { return cLiteralsEnumLiteralParserRuleCall_5_1_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.9/@alternatives/@elements.6'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
 	}
 
@@ -498,28 +515,29 @@
 		private final Assignment cLiteralAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
 		private final RuleCall cLiteralIntLiteralParserRuleCall_1_1_0 = (RuleCall)cLiteralAssignment_1_1.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/EnumLiteral'
+		//EnumLiteral:
+		//	name=ID ("=" literal=IntLiteral)?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.10/@alternatives'
+		//name=ID ("=" literal=IntLiteral)?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.10/@alternatives/@elements.0'
+		//name=ID
 		public Assignment getNameAssignment_0() { return cNameAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.10/@alternatives/@elements.0/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.10/@alternatives/@elements.1'
+		//("=" literal=IntLiteral)?
 		public Group getGroup_1() { return cGroup_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.10/@alternatives/@elements.1/@elements.0'
+		//"="
 		public Keyword getEqualsSignKeyword_1_0() { return cEqualsSignKeyword_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.10/@alternatives/@elements.1/@elements.1'
+		//literal=IntLiteral
 		public Assignment getLiteralAssignment_1_1() { return cLiteralAssignment_1_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.10/@alternatives/@elements.1/@elements.1/@terminal'
+		//IntLiteral
 		public RuleCall getLiteralIntLiteralParserRuleCall_1_1_0() { return cLiteralIntLiteralParserRuleCall_1_1_0; }
 	}
 
@@ -539,46 +557,47 @@
 		private final Assignment cDocuAssignment_5 = (Assignment)cGroup.eContents().get(5);
 		private final RuleCall cDocuDocumentationParserRuleCall_5_0 = (RuleCall)cDocuAssignment_5.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ExternalType'
+		//ExternalType:
+		//	"ExternalType" name=ID "->" targetName=STRING ("default" defaultValueLiteral=STRING)? docu=Documentation?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives'
+		//"ExternalType" name=ID "->" targetName=STRING ("default" defaultValueLiteral=STRING)? docu=Documentation?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.0'
+		//"ExternalType"
 		public Keyword getExternalTypeKeyword_0() { return cExternalTypeKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.2'
+		//"->"
 		public Keyword getHyphenMinusGreaterThanSignKeyword_2() { return cHyphenMinusGreaterThanSignKeyword_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.3'
+		//targetName=STRING
 		public Assignment getTargetNameAssignment_3() { return cTargetNameAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.3/@terminal'
+		//STRING
 		public RuleCall getTargetNameSTRINGTerminalRuleCall_3_0() { return cTargetNameSTRINGTerminalRuleCall_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.4'
+		//("default" defaultValueLiteral=STRING)?
 		public Group getGroup_4() { return cGroup_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.4/@elements.0'
+		//"default"
 		public Keyword getDefaultKeyword_4_0() { return cDefaultKeyword_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.4/@elements.1'
+		//defaultValueLiteral=STRING
 		public Assignment getDefaultValueLiteralAssignment_4_1() { return cDefaultValueLiteralAssignment_4_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.4/@elements.1/@terminal'
+		//STRING
 		public RuleCall getDefaultValueLiteralSTRINGTerminalRuleCall_4_1_0() { return cDefaultValueLiteralSTRINGTerminalRuleCall_4_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.5'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_5() { return cDocuAssignment_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.11/@alternatives/@elements.5/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_5_0() { return cDocuDocumentationParserRuleCall_5_0; }
 	}
 
@@ -619,109 +638,115 @@
 		private final RuleCall cAttributesAttributeParserRuleCall_9_2_0 = (RuleCall)cAttributesAssignment_9_2.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/DataClass'
+		//// TODOHRR: define detail level language?
+		//DataClass:
+		//	"DataClass" name=ID docu=Documentation? ("extends" base=[DataClass|FQN])? "{" annotations+=Annotation* ("usercode1"
+		//	userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? ("usercode3" userCode3=DetailCode)?
+		//	(operations+=StandardOperation | structors+=ClassStructor | attributes+=Attribute)* "}";
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives'
+		//"DataClass" name=ID docu=Documentation? ("extends" base=[DataClass|FQN])? "{" annotations+=Annotation* ("usercode1"
+		//userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? ("usercode3" userCode3=DetailCode)?
+		//(operations+=StandardOperation | structors+=ClassStructor | attributes+=Attribute)* "}"
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.0'
+		//"DataClass"
 		public Keyword getDataClassKeyword_0() { return cDataClassKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.2'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_2() { return cDocuAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.2/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_2_0() { return cDocuDocumentationParserRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.3'
+		//("extends" base=[DataClass|FQN])?
 		public Group getGroup_3() { return cGroup_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.3/@elements.0'
+		//"extends"
 		public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.3/@elements.1'
+		//base=[DataClass|FQN]
 		public Assignment getBaseAssignment_3_1() { return cBaseAssignment_3_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.3/@elements.1/@terminal'
+		//[DataClass|FQN]
 		public CrossReference getBaseDataClassCrossReference_3_1_0() { return cBaseDataClassCrossReference_3_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.3/@elements.1/@terminal/@terminal'
+		//FQN
 		public RuleCall getBaseDataClassFQNParserRuleCall_3_1_0_1() { return cBaseDataClassFQNParserRuleCall_3_1_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.4'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.5'
+		//annotations+=Annotation*
 		public Assignment getAnnotationsAssignment_5() { return cAnnotationsAssignment_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.5/@terminal'
+		//Annotation
 		public RuleCall getAnnotationsAnnotationParserRuleCall_5_0() { return cAnnotationsAnnotationParserRuleCall_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.6'
+		//("usercode1" userCode1=DetailCode)?
 		public Group getGroup_6() { return cGroup_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.6/@elements.0'
+		//"usercode1"
 		public Keyword getUsercode1Keyword_6_0() { return cUsercode1Keyword_6_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.6/@elements.1'
+		//userCode1=DetailCode
 		public Assignment getUserCode1Assignment_6_1() { return cUserCode1Assignment_6_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.6/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode1DetailCodeParserRuleCall_6_1_0() { return cUserCode1DetailCodeParserRuleCall_6_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.7'
+		//("usercode2" userCode2=DetailCode)?
 		public Group getGroup_7() { return cGroup_7; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.7/@elements.0'
+		//"usercode2"
 		public Keyword getUsercode2Keyword_7_0() { return cUsercode2Keyword_7_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.7/@elements.1'
+		//userCode2=DetailCode
 		public Assignment getUserCode2Assignment_7_1() { return cUserCode2Assignment_7_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.7/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode2DetailCodeParserRuleCall_7_1_0() { return cUserCode2DetailCodeParserRuleCall_7_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.8'
+		//("usercode3" userCode3=DetailCode)?
 		public Group getGroup_8() { return cGroup_8; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.8/@elements.0'
+		//"usercode3"
 		public Keyword getUsercode3Keyword_8_0() { return cUsercode3Keyword_8_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.8/@elements.1'
+		//userCode3=DetailCode
 		public Assignment getUserCode3Assignment_8_1() { return cUserCode3Assignment_8_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.8/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode3DetailCodeParserRuleCall_8_1_0() { return cUserCode3DetailCodeParserRuleCall_8_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.9'
+		//(operations+=StandardOperation | structors+=ClassStructor | attributes+=Attribute)*
 		public Alternatives getAlternatives_9() { return cAlternatives_9; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.9/@elements.0'
+		//operations+=StandardOperation
 		public Assignment getOperationsAssignment_9_0() { return cOperationsAssignment_9_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.9/@elements.0/@terminal'
+		//StandardOperation
 		public RuleCall getOperationsStandardOperationParserRuleCall_9_0_0() { return cOperationsStandardOperationParserRuleCall_9_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.9/@elements.1'
+		//structors+=ClassStructor
 		public Assignment getStructorsAssignment_9_1() { return cStructorsAssignment_9_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.9/@elements.1/@terminal'
+		//ClassStructor
 		public RuleCall getStructorsClassStructorParserRuleCall_9_1_0() { return cStructorsClassStructorParserRuleCall_9_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.9/@elements.2'
+		//attributes+=Attribute
 		public Assignment getAttributesAssignment_9_2() { return cAttributesAssignment_9_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.9/@elements.2/@terminal'
+		//Attribute
 		public RuleCall getAttributesAttributeParserRuleCall_9_2_0() { return cAttributesAttributeParserRuleCall_9_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.12/@alternatives/@elements.10'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; }
 	}
 
@@ -746,61 +771,62 @@
 		private final Assignment cDocuAssignment_6 = (Assignment)cGroup.eContents().get(6);
 		private final RuleCall cDocuDocumentationParserRuleCall_6_0 = (RuleCall)cDocuAssignment_6.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/Attribute'
+		//Attribute:
+		//	"Attribute" name=ID ("[" size=INT "]")? ":" type=RefableType? ("=" defaultValueLiteral=STRING)? docu=Documentation?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives'
+		//"Attribute" name=ID ("[" size=INT "]")? ":" type=RefableType? ("=" defaultValueLiteral=STRING)? docu=Documentation?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.0'
+		//"Attribute"
 		public Keyword getAttributeKeyword_0() { return cAttributeKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.2'
+		//("[" size=INT "]")?
 		public Group getGroup_2() { return cGroup_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.2/@elements.0'
+		//"["
 		public Keyword getLeftSquareBracketKeyword_2_0() { return cLeftSquareBracketKeyword_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.2/@elements.1'
+		//size=INT
 		public Assignment getSizeAssignment_2_1() { return cSizeAssignment_2_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.2/@elements.1/@terminal'
+		//INT
 		public RuleCall getSizeINTTerminalRuleCall_2_1_0() { return cSizeINTTerminalRuleCall_2_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.2/@elements.2'
+		//"]"
 		public Keyword getRightSquareBracketKeyword_2_2() { return cRightSquareBracketKeyword_2_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.3'
+		//":"
 		public Keyword getColonKeyword_3() { return cColonKeyword_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.4'
+		//type=RefableType?
 		public Assignment getTypeAssignment_4() { return cTypeAssignment_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.4/@terminal'
+		//RefableType
 		public RuleCall getTypeRefableTypeParserRuleCall_4_0() { return cTypeRefableTypeParserRuleCall_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.5'
+		//("=" defaultValueLiteral=STRING)?
 		public Group getGroup_5() { return cGroup_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.5/@elements.0'
+		//"="
 		public Keyword getEqualsSignKeyword_5_0() { return cEqualsSignKeyword_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.5/@elements.1'
+		//defaultValueLiteral=STRING
 		public Assignment getDefaultValueLiteralAssignment_5_1() { return cDefaultValueLiteralAssignment_5_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.5/@elements.1/@terminal'
+		//STRING
 		public RuleCall getDefaultValueLiteralSTRINGTerminalRuleCall_5_1_0() { return cDefaultValueLiteralSTRINGTerminalRuleCall_5_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.6'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_6() { return cDocuAssignment_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.13/@alternatives/@elements.6/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_6_0() { return cDocuDocumentationParserRuleCall_6_0; }
 	}
 
@@ -810,16 +836,17 @@
 		private final RuleCall cStandardOperationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
 		private final RuleCall cPortOperationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/Operation'
+		//Operation:
+		//	StandardOperation | PortOperation;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.14/@alternatives'
+		//StandardOperation | PortOperation
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.14/@alternatives/@elements.0'
+		//StandardOperation
 		public RuleCall getStandardOperationParserRuleCall_0() { return cStandardOperationParserRuleCall_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.14/@alternatives/@elements.1'
+		//PortOperation
 		public RuleCall getPortOperationParserRuleCall_1() { return cPortOperationParserRuleCall_1; }
 	}
 
@@ -851,82 +878,85 @@
 		private final Assignment cDetailCodeAssignment_8 = (Assignment)cGroup.eContents().get(8);
 		private final RuleCall cDetailCodeDetailCodeParserRuleCall_8_0 = (RuleCall)cDetailCodeAssignment_8.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/StandardOperation'
+		//StandardOperation:
+		//	override?="override"? "Operation" name=ID "(" (arguments+=VarDecl ("," arguments+=VarDecl)*)? ")" (":" ("void" |
+		//	returnType=RefableType))? docu=Documentation? detailCode=DetailCode;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives'
+		//override?="override"? "Operation" name=ID "(" (arguments+=VarDecl ("," arguments+=VarDecl)*)? ")" (":" ("void" |
+		//returnType=RefableType))? docu=Documentation? detailCode=DetailCode
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.0'
+		//override?="override"?
 		public Assignment getOverrideAssignment_0() { return cOverrideAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.0/@terminal'
+		//"override"
 		public Keyword getOverrideOverrideKeyword_0_0() { return cOverrideOverrideKeyword_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.1'
+		//"Operation"
 		public Keyword getOperationKeyword_1() { return cOperationKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.2'
+		//name=ID
 		public Assignment getNameAssignment_2() { return cNameAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.2/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.3'
+		//"("
 		public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.4'
+		//(arguments+=VarDecl ("," arguments+=VarDecl)*)?
 		public Group getGroup_4() { return cGroup_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.4/@elements.0'
+		//arguments+=VarDecl
 		public Assignment getArgumentsAssignment_4_0() { return cArgumentsAssignment_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.4/@elements.0/@terminal'
+		//VarDecl
 		public RuleCall getArgumentsVarDeclParserRuleCall_4_0_0() { return cArgumentsVarDeclParserRuleCall_4_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.4/@elements.1'
+		//("," arguments+=VarDecl)*
 		public Group getGroup_4_1() { return cGroup_4_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.4/@elements.1/@elements.0'
+		//","
 		public Keyword getCommaKeyword_4_1_0() { return cCommaKeyword_4_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.4/@elements.1/@elements.1'
+		//arguments+=VarDecl
 		public Assignment getArgumentsAssignment_4_1_1() { return cArgumentsAssignment_4_1_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.4/@elements.1/@elements.1/@terminal'
+		//VarDecl
 		public RuleCall getArgumentsVarDeclParserRuleCall_4_1_1_0() { return cArgumentsVarDeclParserRuleCall_4_1_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.5'
+		//")"
 		public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.6'
+		//(":" ("void" | returnType=RefableType))?
 		public Group getGroup_6() { return cGroup_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.6/@elements.0'
+		//":"
 		public Keyword getColonKeyword_6_0() { return cColonKeyword_6_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.6/@elements.1'
+		//"void" | returnType=RefableType
 		public Alternatives getAlternatives_6_1() { return cAlternatives_6_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.6/@elements.1/@elements.0'
+		//"void"
 		public Keyword getVoidKeyword_6_1_0() { return cVoidKeyword_6_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.6/@elements.1/@elements.1'
+		//returnType=RefableType
 		public Assignment getReturnTypeAssignment_6_1_1() { return cReturnTypeAssignment_6_1_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.6/@elements.1/@elements.1/@terminal'
+		//RefableType
 		public RuleCall getReturnTypeRefableTypeParserRuleCall_6_1_1_0() { return cReturnTypeRefableTypeParserRuleCall_6_1_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.7'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_7() { return cDocuAssignment_7; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.7/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_7_0() { return cDocuDocumentationParserRuleCall_7_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.8'
+		//detailCode=DetailCode
 		public Assignment getDetailCodeAssignment_8() { return cDetailCodeAssignment_8; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.15/@alternatives/@elements.8/@terminal'
+		//DetailCode
 		public RuleCall getDetailCodeDetailCodeParserRuleCall_8_0() { return cDetailCodeDetailCodeParserRuleCall_8_0; }
 	}
 
@@ -962,94 +992,97 @@
 		private final Assignment cDetailCodeAssignment_7 = (Assignment)cGroup.eContents().get(7);
 		private final RuleCall cDetailCodeDetailCodeParserRuleCall_7_0 = (RuleCall)cDetailCodeAssignment_7.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/PortOperation'
+		//PortOperation:
+		//	"Operation" name=ID "(" (arguments+=VarDecl ("," arguments+=VarDecl)*)? ")" (":" ("void" | returnType=RefableType) |
+		//	"sends" sendsMsg=[Message])? docu=Documentation? detailCode=DetailCode;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives'
+		//"Operation" name=ID "(" (arguments+=VarDecl ("," arguments+=VarDecl)*)? ")" (":" ("void" | returnType=RefableType) |
+		//"sends" sendsMsg=[Message])? docu=Documentation? detailCode=DetailCode
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.0'
+		//"Operation"
 		public Keyword getOperationKeyword_0() { return cOperationKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.2'
+		//"("
 		public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.3'
+		//(arguments+=VarDecl ("," arguments+=VarDecl)*)?
 		public Group getGroup_3() { return cGroup_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.3/@elements.0'
+		//arguments+=VarDecl
 		public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.3/@elements.0/@terminal'
+		//VarDecl
 		public RuleCall getArgumentsVarDeclParserRuleCall_3_0_0() { return cArgumentsVarDeclParserRuleCall_3_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.3/@elements.1'
+		//("," arguments+=VarDecl)*
 		public Group getGroup_3_1() { return cGroup_3_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.3/@elements.1/@elements.0'
+		//","
 		public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.3/@elements.1/@elements.1'
+		//arguments+=VarDecl
 		public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.3/@elements.1/@elements.1/@terminal'
+		//VarDecl
 		public RuleCall getArgumentsVarDeclParserRuleCall_3_1_1_0() { return cArgumentsVarDeclParserRuleCall_3_1_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.4'
+		//")"
 		public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5'
+		//(":" ("void" | returnType=RefableType) | "sends" sendsMsg=[Message])?
 		public Alternatives getAlternatives_5() { return cAlternatives_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5/@elements.0'
+		//":" ("void" | returnType=RefableType)
 		public Group getGroup_5_0() { return cGroup_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5/@elements.0/@elements.0'
+		//":"
 		public Keyword getColonKeyword_5_0_0() { return cColonKeyword_5_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5/@elements.0/@elements.1'
+		//"void" | returnType=RefableType
 		public Alternatives getAlternatives_5_0_1() { return cAlternatives_5_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5/@elements.0/@elements.1/@elements.0'
+		//"void"
 		public Keyword getVoidKeyword_5_0_1_0() { return cVoidKeyword_5_0_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5/@elements.0/@elements.1/@elements.1'
+		//returnType=RefableType
 		public Assignment getReturnTypeAssignment_5_0_1_1() { return cReturnTypeAssignment_5_0_1_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5/@elements.0/@elements.1/@elements.1/@terminal'
+		//RefableType
 		public RuleCall getReturnTypeRefableTypeParserRuleCall_5_0_1_1_0() { return cReturnTypeRefableTypeParserRuleCall_5_0_1_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5/@elements.1'
+		//"sends" sendsMsg=[Message]
 		public Group getGroup_5_1() { return cGroup_5_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5/@elements.1/@elements.0'
+		//"sends"
 		public Keyword getSendsKeyword_5_1_0() { return cSendsKeyword_5_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5/@elements.1/@elements.1'
+		//sendsMsg=[Message]
 		public Assignment getSendsMsgAssignment_5_1_1() { return cSendsMsgAssignment_5_1_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5/@elements.1/@elements.1/@terminal'
+		//[Message]
 		public CrossReference getSendsMsgMessageCrossReference_5_1_1_0() { return cSendsMsgMessageCrossReference_5_1_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.5/@elements.1/@elements.1/@terminal/@terminal'
+		//ID
 		public RuleCall getSendsMsgMessageIDTerminalRuleCall_5_1_1_0_1() { return cSendsMsgMessageIDTerminalRuleCall_5_1_1_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.6'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_6() { return cDocuAssignment_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.6/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_6_0() { return cDocuDocumentationParserRuleCall_6_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.7'
+		//detailCode=DetailCode
 		public Assignment getDetailCodeAssignment_7() { return cDetailCodeAssignment_7; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.16/@alternatives/@elements.7/@terminal'
+		//DetailCode
 		public RuleCall getDetailCodeDetailCodeParserRuleCall_7_0() { return cDetailCodeDetailCodeParserRuleCall_7_0; }
 	}
 
@@ -1063,28 +1096,29 @@
 		private final Assignment cDetailCodeAssignment_1 = (Assignment)cGroup.eContents().get(1);
 		private final RuleCall cDetailCodeDetailCodeParserRuleCall_1_0 = (RuleCall)cDetailCodeAssignment_1.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ClassStructor'
+		//ClassStructor:
+		//	name=("ctor" | "dtor") detailCode=DetailCode;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.17/@alternatives'
+		//name=("ctor" | "dtor") detailCode=DetailCode
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.17/@alternatives/@elements.0'
+		//name=("ctor" | "dtor")
 		public Assignment getNameAssignment_0() { return cNameAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.17/@alternatives/@elements.0/@terminal'
+		//"ctor" | "dtor"
 		public Alternatives getNameAlternatives_0_0() { return cNameAlternatives_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.17/@alternatives/@elements.0/@terminal/@elements.0'
+		//"ctor"
 		public Keyword getNameCtorKeyword_0_0_0() { return cNameCtorKeyword_0_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.17/@alternatives/@elements.0/@terminal/@elements.1'
+		//"dtor"
 		public Keyword getNameDtorKeyword_0_0_1() { return cNameDtorKeyword_0_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.17/@alternatives/@elements.1'
+		//detailCode=DetailCode
 		public Assignment getDetailCodeAssignment_1() { return cDetailCodeAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.17/@alternatives/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getDetailCodeDetailCodeParserRuleCall_1_0() { return cDetailCodeDetailCodeParserRuleCall_1_0; }
 	}
 
@@ -1094,16 +1128,17 @@
 		private final RuleCall cProtocolClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
 		private final RuleCall cCompoundProtocolClassParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/GeneralProtocolClass'
+		//GeneralProtocolClass:
+		//	ProtocolClass | CompoundProtocolClass;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.19/@alternatives'
+		//ProtocolClass | CompoundProtocolClass
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.19/@alternatives/@elements.0'
+		//ProtocolClass
 		public RuleCall getProtocolClassParserRuleCall_0() { return cProtocolClassParserRuleCall_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.19/@alternatives/@elements.1'
+		//CompoundProtocolClass
 		public RuleCall getCompoundProtocolClassParserRuleCall_1() { return cCompoundProtocolClassParserRuleCall_1; }
 	}
 
@@ -1163,166 +1198,175 @@
 		private final RuleCall cSemanticsProtocolSemanticsParserRuleCall_14_0 = (RuleCall)cSemanticsAssignment_14.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_15 = (Keyword)cGroup.eContents().get(15);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ProtocolClass'
+		//ProtocolClass:
+		//	commType=CommunicationType? "ProtocolClass" name=ID docu=Documentation? ("extends" base=[ProtocolClass|FQN])? "{"
+		//	annotations+=Annotation* ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? ("usercode3"
+		//	userCode3=DetailCode)? ("incoming" "{" incomingMessages+=Message* "}")? ("outgoing" "{" outgoingMessages+=Message*
+		//	"}")? ("regular" "PortClass" regular=PortClass)? ("conjugated" "PortClass" conjugated=PortClass)?
+		//	semantics=ProtocolSemantics? "}";
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives'
+		//commType=CommunicationType? "ProtocolClass" name=ID docu=Documentation? ("extends" base=[ProtocolClass|FQN])? "{"
+		//annotations+=Annotation* ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? ("usercode3"
+		//userCode3=DetailCode)? ("incoming" "{" incomingMessages+=Message* "}")? ("outgoing" "{" outgoingMessages+=Message*
+		//"}")? ("regular" "PortClass" regular=PortClass)? ("conjugated" "PortClass" conjugated=PortClass)?
+		//semantics=ProtocolSemantics? "}"
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.0'
+		//commType=CommunicationType?
 		public Assignment getCommTypeAssignment_0() { return cCommTypeAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.0/@terminal'
+		//CommunicationType
 		public RuleCall getCommTypeCommunicationTypeEnumRuleCall_0_0() { return cCommTypeCommunicationTypeEnumRuleCall_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.1'
+		//"ProtocolClass"
 		public Keyword getProtocolClassKeyword_1() { return cProtocolClassKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.2'
+		//name=ID
 		public Assignment getNameAssignment_2() { return cNameAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.2/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.3'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_3() { return cDocuAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.3/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_3_0() { return cDocuDocumentationParserRuleCall_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.4'
+		//("extends" base=[ProtocolClass|FQN])?
 		public Group getGroup_4() { return cGroup_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.4/@elements.0'
+		//"extends"
 		public Keyword getExtendsKeyword_4_0() { return cExtendsKeyword_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.4/@elements.1'
+		//base=[ProtocolClass|FQN]
 		public Assignment getBaseAssignment_4_1() { return cBaseAssignment_4_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.4/@elements.1/@terminal'
+		//[ProtocolClass|FQN]
 		public CrossReference getBaseProtocolClassCrossReference_4_1_0() { return cBaseProtocolClassCrossReference_4_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.4/@elements.1/@terminal/@terminal'
+		//FQN
 		public RuleCall getBaseProtocolClassFQNParserRuleCall_4_1_0_1() { return cBaseProtocolClassFQNParserRuleCall_4_1_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.5'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_5() { return cLeftCurlyBracketKeyword_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.6'
+		//annotations+=Annotation*
 		public Assignment getAnnotationsAssignment_6() { return cAnnotationsAssignment_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.6/@terminal'
+		//Annotation
 		public RuleCall getAnnotationsAnnotationParserRuleCall_6_0() { return cAnnotationsAnnotationParserRuleCall_6_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.7'
+		//("usercode1" userCode1=DetailCode)?
 		public Group getGroup_7() { return cGroup_7; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.7/@elements.0'
+		//"usercode1"
 		public Keyword getUsercode1Keyword_7_0() { return cUsercode1Keyword_7_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.7/@elements.1'
+		//userCode1=DetailCode
 		public Assignment getUserCode1Assignment_7_1() { return cUserCode1Assignment_7_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.7/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode1DetailCodeParserRuleCall_7_1_0() { return cUserCode1DetailCodeParserRuleCall_7_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.8'
+		//("usercode2" userCode2=DetailCode)?
 		public Group getGroup_8() { return cGroup_8; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.8/@elements.0'
+		//"usercode2"
 		public Keyword getUsercode2Keyword_8_0() { return cUsercode2Keyword_8_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.8/@elements.1'
+		//userCode2=DetailCode
 		public Assignment getUserCode2Assignment_8_1() { return cUserCode2Assignment_8_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.8/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode2DetailCodeParserRuleCall_8_1_0() { return cUserCode2DetailCodeParserRuleCall_8_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.9'
+		//("usercode3" userCode3=DetailCode)?
 		public Group getGroup_9() { return cGroup_9; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.9/@elements.0'
+		//"usercode3"
 		public Keyword getUsercode3Keyword_9_0() { return cUsercode3Keyword_9_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.9/@elements.1'
+		//userCode3=DetailCode
 		public Assignment getUserCode3Assignment_9_1() { return cUserCode3Assignment_9_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.9/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode3DetailCodeParserRuleCall_9_1_0() { return cUserCode3DetailCodeParserRuleCall_9_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.10'
+		//("incoming" "{" incomingMessages+=Message* "}")?
 		public Group getGroup_10() { return cGroup_10; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.10/@elements.0'
+		//"incoming"
 		public Keyword getIncomingKeyword_10_0() { return cIncomingKeyword_10_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.10/@elements.1'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_10_1() { return cLeftCurlyBracketKeyword_10_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.10/@elements.2'
+		//incomingMessages+=Message*
 		public Assignment getIncomingMessagesAssignment_10_2() { return cIncomingMessagesAssignment_10_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.10/@elements.2/@terminal'
+		//Message
 		public RuleCall getIncomingMessagesMessageParserRuleCall_10_2_0() { return cIncomingMessagesMessageParserRuleCall_10_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.10/@elements.3'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_10_3() { return cRightCurlyBracketKeyword_10_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.11'
+		//("outgoing" "{" outgoingMessages+=Message* "}")?
 		public Group getGroup_11() { return cGroup_11; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.11/@elements.0'
+		//"outgoing"
 		public Keyword getOutgoingKeyword_11_0() { return cOutgoingKeyword_11_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.11/@elements.1'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_11_1() { return cLeftCurlyBracketKeyword_11_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.11/@elements.2'
+		//outgoingMessages+=Message*
 		public Assignment getOutgoingMessagesAssignment_11_2() { return cOutgoingMessagesAssignment_11_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.11/@elements.2/@terminal'
+		//Message
 		public RuleCall getOutgoingMessagesMessageParserRuleCall_11_2_0() { return cOutgoingMessagesMessageParserRuleCall_11_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.11/@elements.3'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_11_3() { return cRightCurlyBracketKeyword_11_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.12'
+		//("regular" "PortClass" regular=PortClass)?
 		public Group getGroup_12() { return cGroup_12; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.12/@elements.0'
+		//"regular"
 		public Keyword getRegularKeyword_12_0() { return cRegularKeyword_12_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.12/@elements.1'
+		//"PortClass"
 		public Keyword getPortClassKeyword_12_1() { return cPortClassKeyword_12_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.12/@elements.2'
+		//regular=PortClass
 		public Assignment getRegularAssignment_12_2() { return cRegularAssignment_12_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.12/@elements.2/@terminal'
+		//PortClass
 		public RuleCall getRegularPortClassParserRuleCall_12_2_0() { return cRegularPortClassParserRuleCall_12_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.13'
+		//("conjugated" "PortClass" conjugated=PortClass)?
 		public Group getGroup_13() { return cGroup_13; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.13/@elements.0'
+		//"conjugated"
 		public Keyword getConjugatedKeyword_13_0() { return cConjugatedKeyword_13_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.13/@elements.1'
+		//"PortClass"
 		public Keyword getPortClassKeyword_13_1() { return cPortClassKeyword_13_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.13/@elements.2'
+		//conjugated=PortClass
 		public Assignment getConjugatedAssignment_13_2() { return cConjugatedAssignment_13_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.13/@elements.2/@terminal'
+		//PortClass
 		public RuleCall getConjugatedPortClassParserRuleCall_13_2_0() { return cConjugatedPortClassParserRuleCall_13_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.14'
+		//semantics=ProtocolSemantics?
 		public Assignment getSemanticsAssignment_14() { return cSemanticsAssignment_14; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.14/@terminal'
+		//ProtocolSemantics
 		public RuleCall getSemanticsProtocolSemanticsParserRuleCall_14_0() { return cSemanticsProtocolSemanticsParserRuleCall_14_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.20/@alternatives/@elements.15'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_15() { return cRightCurlyBracketKeyword_15; }
 	}
 
@@ -1341,43 +1385,44 @@
 		private final RuleCall cSubProtocolsSubProtocolParserRuleCall_5_0 = (RuleCall)cSubProtocolsAssignment_5.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/CompoundProtocolClass'
+		//CompoundProtocolClass:
+		//	"CompoundProtocolClass" name=ID docu=Documentation? "{" annotations+=Annotation* subProtocols+=SubProtocol* "}";
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives'
+		//"CompoundProtocolClass" name=ID docu=Documentation? "{" annotations+=Annotation* subProtocols+=SubProtocol* "}"
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives/@elements.0'
+		//"CompoundProtocolClass"
 		public Keyword getCompoundProtocolClassKeyword_0() { return cCompoundProtocolClassKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives/@elements.2'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_2() { return cDocuAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives/@elements.2/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_2_0() { return cDocuDocumentationParserRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives/@elements.3'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives/@elements.4'
+		//annotations+=Annotation*
 		public Assignment getAnnotationsAssignment_4() { return cAnnotationsAssignment_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives/@elements.4/@terminal'
+		//Annotation
 		public RuleCall getAnnotationsAnnotationParserRuleCall_4_0() { return cAnnotationsAnnotationParserRuleCall_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives/@elements.5'
+		//subProtocols+=SubProtocol*
 		public Assignment getSubProtocolsAssignment_5() { return cSubProtocolsAssignment_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives/@elements.5/@terminal'
+		//SubProtocol
 		public RuleCall getSubProtocolsSubProtocolParserRuleCall_5_0() { return cSubProtocolsSubProtocolParserRuleCall_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.21/@alternatives/@elements.6'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
 	}
 
@@ -1392,31 +1437,32 @@
 		private final CrossReference cProtocolGeneralProtocolClassCrossReference_3_0 = (CrossReference)cProtocolAssignment_3.eContents().get(0);
 		private final RuleCall cProtocolGeneralProtocolClassFQNParserRuleCall_3_0_1 = (RuleCall)cProtocolGeneralProtocolClassCrossReference_3_0.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SubProtocol'
+		//SubProtocol:
+		//	"SubProtocol" name=ID ":" protocol=[GeneralProtocolClass|FQN];
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.22/@alternatives'
+		//"SubProtocol" name=ID ":" protocol=[GeneralProtocolClass|FQN]
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.22/@alternatives/@elements.0'
+		//"SubProtocol"
 		public Keyword getSubProtocolKeyword_0() { return cSubProtocolKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.22/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.22/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.22/@alternatives/@elements.2'
+		//":"
 		public Keyword getColonKeyword_2() { return cColonKeyword_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.22/@alternatives/@elements.3'
+		//protocol=[GeneralProtocolClass|FQN]
 		public Assignment getProtocolAssignment_3() { return cProtocolAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.22/@alternatives/@elements.3/@terminal'
+		//[GeneralProtocolClass|FQN]
 		public CrossReference getProtocolGeneralProtocolClassCrossReference_3_0() { return cProtocolGeneralProtocolClassCrossReference_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.22/@alternatives/@elements.3/@terminal/@terminal'
+		//FQN
 		public RuleCall getProtocolGeneralProtocolClassFQNParserRuleCall_3_0_1() { return cProtocolGeneralProtocolClassFQNParserRuleCall_3_0_1; }
 	}
 
@@ -1435,43 +1481,44 @@
 		private final Assignment cDocuAssignment_6 = (Assignment)cGroup.eContents().get(6);
 		private final RuleCall cDocuDocumentationParserRuleCall_6_0 = (RuleCall)cDocuAssignment_6.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/Message'
+		//Message:
+		//	priv?="private"? "Message" name=ID "(" data=VarDecl? ")" docu=Documentation?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives'
+		//priv?="private"? "Message" name=ID "(" data=VarDecl? ")" docu=Documentation?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives/@elements.0'
+		//priv?="private"?
 		public Assignment getPrivAssignment_0() { return cPrivAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives/@elements.0/@terminal'
+		//"private"
 		public Keyword getPrivPrivateKeyword_0_0() { return cPrivPrivateKeyword_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives/@elements.1'
+		//"Message"
 		public Keyword getMessageKeyword_1() { return cMessageKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives/@elements.2'
+		//name=ID
 		public Assignment getNameAssignment_2() { return cNameAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives/@elements.2/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives/@elements.3'
+		//"("
 		public Keyword getLeftParenthesisKeyword_3() { return cLeftParenthesisKeyword_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives/@elements.4'
+		//data=VarDecl?
 		public Assignment getDataAssignment_4() { return cDataAssignment_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives/@elements.4/@terminal'
+		//VarDecl
 		public RuleCall getDataVarDeclParserRuleCall_4_0() { return cDataVarDeclParserRuleCall_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives/@elements.5'
+		//")"
 		public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives/@elements.6'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_6() { return cDocuAssignment_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.23/@alternatives/@elements.6/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_6_0() { return cDocuDocumentationParserRuleCall_6_0; }
 	}
 
@@ -1493,52 +1540,55 @@
 		private final RuleCall cAttributesAttributeParserRuleCall_3_2_0 = (RuleCall)cAttributesAssignment_3_2.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/PortClass'
+		//PortClass:
+		//	{PortClass} "{" ("usercode" userCode=DetailCode)? (msgHandlers+=MessageHandler | operations+=PortOperation |
+		//	attributes+=Attribute)* "}";
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives'
+		//{PortClass} "{" ("usercode" userCode=DetailCode)? (msgHandlers+=MessageHandler | operations+=PortOperation |
+		//attributes+=Attribute)* "}"
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.0'
+		//{PortClass}
 		public Action getPortClassAction_0() { return cPortClassAction_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.1'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.2'
+		//("usercode" userCode=DetailCode)?
 		public Group getGroup_2() { return cGroup_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.2/@elements.0'
+		//"usercode"
 		public Keyword getUsercodeKeyword_2_0() { return cUsercodeKeyword_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.2/@elements.1'
+		//userCode=DetailCode
 		public Assignment getUserCodeAssignment_2_1() { return cUserCodeAssignment_2_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.2/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCodeDetailCodeParserRuleCall_2_1_0() { return cUserCodeDetailCodeParserRuleCall_2_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.3'
+		//(msgHandlers+=MessageHandler | operations+=PortOperation | attributes+=Attribute)*
 		public Alternatives getAlternatives_3() { return cAlternatives_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.3/@elements.0'
+		//msgHandlers+=MessageHandler
 		public Assignment getMsgHandlersAssignment_3_0() { return cMsgHandlersAssignment_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.3/@elements.0/@terminal'
+		//MessageHandler
 		public RuleCall getMsgHandlersMessageHandlerParserRuleCall_3_0_0() { return cMsgHandlersMessageHandlerParserRuleCall_3_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.3/@elements.1'
+		//operations+=PortOperation
 		public Assignment getOperationsAssignment_3_1() { return cOperationsAssignment_3_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.3/@elements.1/@terminal'
+		//PortOperation
 		public RuleCall getOperationsPortOperationParserRuleCall_3_1_0() { return cOperationsPortOperationParserRuleCall_3_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.3/@elements.2'
+		//attributes+=Attribute
 		public Assignment getAttributesAssignment_3_2() { return cAttributesAssignment_3_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.3/@elements.2/@terminal'
+		//Attribute
 		public RuleCall getAttributesAttributeParserRuleCall_3_2_0() { return cAttributesAttributeParserRuleCall_3_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.24/@alternatives/@elements.4'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; }
 	}
 
@@ -1548,16 +1598,17 @@
 		private final RuleCall cInMessageHandlerParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
 		private final RuleCall cOutMessageHandlerParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/MessageHandler'
+		//MessageHandler:
+		//	InMessageHandler | OutMessageHandler;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.25/@alternatives'
+		//InMessageHandler | OutMessageHandler
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.25/@alternatives/@elements.0'
+		//InMessageHandler
 		public RuleCall getInMessageHandlerParserRuleCall_0() { return cInMessageHandlerParserRuleCall_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.25/@alternatives/@elements.1'
+		//OutMessageHandler
 		public RuleCall getOutMessageHandlerParserRuleCall_1() { return cOutMessageHandlerParserRuleCall_1; }
 	}
 
@@ -1572,31 +1623,32 @@
 		private final Assignment cDetailCodeAssignment_3 = (Assignment)cGroup.eContents().get(3);
 		private final RuleCall cDetailCodeDetailCodeParserRuleCall_3_0 = (RuleCall)cDetailCodeAssignment_3.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/InMessageHandler'
+		//InMessageHandler:
+		//	"handle" "incoming" msg=[Message] detailCode=DetailCode;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.26/@alternatives'
+		//"handle" "incoming" msg=[Message] detailCode=DetailCode
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.26/@alternatives/@elements.0'
+		//"handle"
 		public Keyword getHandleKeyword_0() { return cHandleKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.26/@alternatives/@elements.1'
+		//"incoming"
 		public Keyword getIncomingKeyword_1() { return cIncomingKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.26/@alternatives/@elements.2'
+		//msg=[Message]
 		public Assignment getMsgAssignment_2() { return cMsgAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.26/@alternatives/@elements.2/@terminal'
+		//[Message]
 		public CrossReference getMsgMessageCrossReference_2_0() { return cMsgMessageCrossReference_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.26/@alternatives/@elements.2/@terminal/@terminal'
+		//ID
 		public RuleCall getMsgMessageIDTerminalRuleCall_2_0_1() { return cMsgMessageIDTerminalRuleCall_2_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.26/@alternatives/@elements.3'
+		//detailCode=DetailCode
 		public Assignment getDetailCodeAssignment_3() { return cDetailCodeAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.26/@alternatives/@elements.3/@terminal'
+		//DetailCode
 		public RuleCall getDetailCodeDetailCodeParserRuleCall_3_0() { return cDetailCodeDetailCodeParserRuleCall_3_0; }
 	}
 
@@ -1611,31 +1663,32 @@
 		private final Assignment cDetailCodeAssignment_3 = (Assignment)cGroup.eContents().get(3);
 		private final RuleCall cDetailCodeDetailCodeParserRuleCall_3_0 = (RuleCall)cDetailCodeAssignment_3.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/OutMessageHandler'
+		//OutMessageHandler:
+		//	"handle" "outgoing" msg=[Message] detailCode=DetailCode;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.27/@alternatives'
+		//"handle" "outgoing" msg=[Message] detailCode=DetailCode
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.27/@alternatives/@elements.0'
+		//"handle"
 		public Keyword getHandleKeyword_0() { return cHandleKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.27/@alternatives/@elements.1'
+		//"outgoing"
 		public Keyword getOutgoingKeyword_1() { return cOutgoingKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.27/@alternatives/@elements.2'
+		//msg=[Message]
 		public Assignment getMsgAssignment_2() { return cMsgAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.27/@alternatives/@elements.2/@terminal'
+		//[Message]
 		public CrossReference getMsgMessageCrossReference_2_0() { return cMsgMessageCrossReference_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.27/@alternatives/@elements.2/@terminal/@terminal'
+		//ID
 		public RuleCall getMsgMessageIDTerminalRuleCall_2_0_1() { return cMsgMessageIDTerminalRuleCall_2_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.27/@alternatives/@elements.3'
+		//detailCode=DetailCode
 		public Assignment getDetailCodeAssignment_3() { return cDetailCodeAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.27/@alternatives/@elements.3/@terminal'
+		//DetailCode
 		public RuleCall getDetailCodeDetailCodeParserRuleCall_3_0() { return cDetailCodeDetailCodeParserRuleCall_3_0; }
 	}
 
@@ -1643,10 +1696,13 @@
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ModelComponent");
 		private final RuleCall cActorClassParserRuleCall = (RuleCall)rule.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ModelComponent'
+		//// **************************************************************
+		//// actor class
+		//ModelComponent:
+		//	ActorClass;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.28/@alternatives'
+		//ActorClass
 		public RuleCall getActorClassParserRuleCall() { return cActorClassParserRuleCall; }
 	}
 
@@ -1732,244 +1788,275 @@
 		private final Keyword cRightCurlyBracketKeyword_9_6 = (Keyword)cGroup_9.eContents().get(6);
 		private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ActorClass'
+		//// some notes on ports
+		////
+		//// in ROOM ports can be contained in the structure and/or the interface
+		//// p in s ==> internal end port
+		//// p in i ==> relay port
+		//// p in i and p in s ==> external end port
+		//// since double containment is not supported we decided to define external ports as reference to interface ports
+		//ActorClass:
+		//	(abstract?="abstract"? & commType=ComponentCommunicationType?) "ActorClass" name=ID docu=Documentation? ("extends"
+		//	base=[ActorClass|FQN])? "{" annotations+=Annotation* ("Interface" "{" (serviceProvisionPoints+=SPP |
+		//	interfacePorts+=Port)* "}")? ("Structure" structureDocu=Documentation? "{" ("usercode1" userCode1=DetailCode)?
+		//	("usercode2" userCode2=DetailCode)? ("usercode3" userCode3=DetailCode)? // workaround: reverse the order for serializer
+		//	(connections+=LayerConnection | bindings+=Binding | serviceImplementations+=ServiceImplementation |
+		//	attributes+=Attribute | actorRefs+=ActorRef | serviceAccessPoints+=SAP | internalPorts+=Port |
+		//	externalPorts+=ExternalPort)* "}")? ("Behavior" behaviorDocu=Documentation? "{" behaviorAnnotations+=Annotation*
+		//	(operations+=StandardOperation | structors+=ClassStructor)* stateMachine=StateMachine? "}")? "}";
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives'
+		//(abstract?="abstract"? & commType=ComponentCommunicationType?) "ActorClass" name=ID docu=Documentation? ("extends"
+		//base=[ActorClass|FQN])? "{" annotations+=Annotation* ("Interface" "{" (serviceProvisionPoints+=SPP |
+		//interfacePorts+=Port)* "}")? ("Structure" structureDocu=Documentation? "{" ("usercode1" userCode1=DetailCode)?
+		//("usercode2" userCode2=DetailCode)? ("usercode3" userCode3=DetailCode)? // workaround: reverse the order for serializer
+		//(connections+=LayerConnection | bindings+=Binding | serviceImplementations+=ServiceImplementation |
+		//attributes+=Attribute | actorRefs+=ActorRef | serviceAccessPoints+=SAP | internalPorts+=Port |
+		//externalPorts+=ExternalPort)* "}")? ("Behavior" behaviorDocu=Documentation? "{" behaviorAnnotations+=Annotation*
+		//(operations+=StandardOperation | structors+=ClassStructor)* stateMachine=StateMachine? "}")? "}"
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.0'
+		//abstract?="abstract"? & commType=ComponentCommunicationType?
 		public UnorderedGroup getUnorderedGroup_0() { return cUnorderedGroup_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.0/@elements.0'
+		//abstract?="abstract"?
 		public Assignment getAbstractAssignment_0_0() { return cAbstractAssignment_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.0/@elements.0/@terminal'
+		//"abstract"
 		public Keyword getAbstractAbstractKeyword_0_0_0() { return cAbstractAbstractKeyword_0_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.0/@elements.1'
+		//commType=ComponentCommunicationType?
 		public Assignment getCommTypeAssignment_0_1() { return cCommTypeAssignment_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.0/@elements.1/@terminal'
+		//ComponentCommunicationType
 		public RuleCall getCommTypeComponentCommunicationTypeEnumRuleCall_0_1_0() { return cCommTypeComponentCommunicationTypeEnumRuleCall_0_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.1'
+		//"ActorClass"
 		public Keyword getActorClassKeyword_1() { return cActorClassKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.2'
+		//name=ID
 		public Assignment getNameAssignment_2() { return cNameAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.2/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.3'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_3() { return cDocuAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.3/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_3_0() { return cDocuDocumentationParserRuleCall_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.4'
+		//("extends" base=[ActorClass|FQN])?
 		public Group getGroup_4() { return cGroup_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.4/@elements.0'
+		//"extends"
 		public Keyword getExtendsKeyword_4_0() { return cExtendsKeyword_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.4/@elements.1'
+		//base=[ActorClass|FQN]
 		public Assignment getBaseAssignment_4_1() { return cBaseAssignment_4_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.4/@elements.1/@terminal'
+		//[ActorClass|FQN]
 		public CrossReference getBaseActorClassCrossReference_4_1_0() { return cBaseActorClassCrossReference_4_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.4/@elements.1/@terminal/@terminal'
+		//FQN
 		public RuleCall getBaseActorClassFQNParserRuleCall_4_1_0_1() { return cBaseActorClassFQNParserRuleCall_4_1_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.5'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_5() { return cLeftCurlyBracketKeyword_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.6'
+		//annotations+=Annotation*
 		public Assignment getAnnotationsAssignment_6() { return cAnnotationsAssignment_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.6/@terminal'
+		//Annotation
 		public RuleCall getAnnotationsAnnotationParserRuleCall_6_0() { return cAnnotationsAnnotationParserRuleCall_6_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.7'
+		//("Interface" "{" (serviceProvisionPoints+=SPP | interfacePorts+=Port)* "}")?
 		public Group getGroup_7() { return cGroup_7; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.7/@elements.0'
+		//"Interface"
 		public Keyword getInterfaceKeyword_7_0() { return cInterfaceKeyword_7_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.7/@elements.1'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.7/@elements.2'
+		//(serviceProvisionPoints+=SPP | interfacePorts+=Port)*
 		public Alternatives getAlternatives_7_2() { return cAlternatives_7_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.7/@elements.2/@elements.0'
+		//serviceProvisionPoints+=SPP
 		public Assignment getServiceProvisionPointsAssignment_7_2_0() { return cServiceProvisionPointsAssignment_7_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.7/@elements.2/@elements.0/@terminal'
+		//SPP
 		public RuleCall getServiceProvisionPointsSPPParserRuleCall_7_2_0_0() { return cServiceProvisionPointsSPPParserRuleCall_7_2_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.7/@elements.2/@elements.1'
+		//interfacePorts+=Port
 		public Assignment getInterfacePortsAssignment_7_2_1() { return cInterfacePortsAssignment_7_2_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.7/@elements.2/@elements.1/@terminal'
+		//Port
 		public RuleCall getInterfacePortsPortParserRuleCall_7_2_1_0() { return cInterfacePortsPortParserRuleCall_7_2_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.7/@elements.3'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_7_3() { return cRightCurlyBracketKeyword_7_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8'
+		//("Structure" structureDocu=Documentation? "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)?
+		//("usercode3" userCode3=DetailCode)? // workaround: reverse the order for serializer
+		//(connections+=LayerConnection | bindings+=Binding | serviceImplementations+=ServiceImplementation |
+		//attributes+=Attribute | actorRefs+=ActorRef | serviceAccessPoints+=SAP | internalPorts+=Port |
+		//externalPorts+=ExternalPort)* "}")?
 		public Group getGroup_8() { return cGroup_8; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.0'
+		//"Structure"
 		public Keyword getStructureKeyword_8_0() { return cStructureKeyword_8_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.1'
+		//structureDocu=Documentation?
 		public Assignment getStructureDocuAssignment_8_1() { return cStructureDocuAssignment_8_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.1/@terminal'
+		//Documentation
 		public RuleCall getStructureDocuDocumentationParserRuleCall_8_1_0() { return cStructureDocuDocumentationParserRuleCall_8_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.2'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_8_2() { return cLeftCurlyBracketKeyword_8_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.3'
+		//("usercode1" userCode1=DetailCode)?
 		public Group getGroup_8_3() { return cGroup_8_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.3/@elements.0'
+		//"usercode1"
 		public Keyword getUsercode1Keyword_8_3_0() { return cUsercode1Keyword_8_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.3/@elements.1'
+		//userCode1=DetailCode
 		public Assignment getUserCode1Assignment_8_3_1() { return cUserCode1Assignment_8_3_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.3/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode1DetailCodeParserRuleCall_8_3_1_0() { return cUserCode1DetailCodeParserRuleCall_8_3_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.4'
+		//("usercode2" userCode2=DetailCode)?
 		public Group getGroup_8_4() { return cGroup_8_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.4/@elements.0'
+		//"usercode2"
 		public Keyword getUsercode2Keyword_8_4_0() { return cUsercode2Keyword_8_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.4/@elements.1'
+		//userCode2=DetailCode
 		public Assignment getUserCode2Assignment_8_4_1() { return cUserCode2Assignment_8_4_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.4/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode2DetailCodeParserRuleCall_8_4_1_0() { return cUserCode2DetailCodeParserRuleCall_8_4_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.5'
+		//("usercode3" userCode3=DetailCode)?
 		public Group getGroup_8_5() { return cGroup_8_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.5/@elements.0'
+		//"usercode3"
 		public Keyword getUsercode3Keyword_8_5_0() { return cUsercode3Keyword_8_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.5/@elements.1'
+		//userCode3=DetailCode
 		public Assignment getUserCode3Assignment_8_5_1() { return cUserCode3Assignment_8_5_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.5/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode3DetailCodeParserRuleCall_8_5_1_0() { return cUserCode3DetailCodeParserRuleCall_8_5_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6'
+		//// workaround: reverse the order for serializer
+		//(connections+=LayerConnection | bindings+=Binding | serviceImplementations+=ServiceImplementation |
+		//attributes+=Attribute | actorRefs+=ActorRef | serviceAccessPoints+=SAP | internalPorts+=Port |
+		//externalPorts+=ExternalPort)*
 		public Alternatives getAlternatives_8_6() { return cAlternatives_8_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.0'
+		//// workaround: reverse the order for serializer
+		//connections+=LayerConnection
 		public Assignment getConnectionsAssignment_8_6_0() { return cConnectionsAssignment_8_6_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.0/@terminal'
+		//LayerConnection
 		public RuleCall getConnectionsLayerConnectionParserRuleCall_8_6_0_0() { return cConnectionsLayerConnectionParserRuleCall_8_6_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.1'
+		//bindings+=Binding
 		public Assignment getBindingsAssignment_8_6_1() { return cBindingsAssignment_8_6_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.1/@terminal'
+		//Binding
 		public RuleCall getBindingsBindingParserRuleCall_8_6_1_0() { return cBindingsBindingParserRuleCall_8_6_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.2'
+		//serviceImplementations+=ServiceImplementation
 		public Assignment getServiceImplementationsAssignment_8_6_2() { return cServiceImplementationsAssignment_8_6_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.2/@terminal'
+		//ServiceImplementation
 		public RuleCall getServiceImplementationsServiceImplementationParserRuleCall_8_6_2_0() { return cServiceImplementationsServiceImplementationParserRuleCall_8_6_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.3'
+		//attributes+=Attribute
 		public Assignment getAttributesAssignment_8_6_3() { return cAttributesAssignment_8_6_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.3/@terminal'
+		//Attribute
 		public RuleCall getAttributesAttributeParserRuleCall_8_6_3_0() { return cAttributesAttributeParserRuleCall_8_6_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.4'
+		//actorRefs+=ActorRef
 		public Assignment getActorRefsAssignment_8_6_4() { return cActorRefsAssignment_8_6_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.4/@terminal'
+		//ActorRef
 		public RuleCall getActorRefsActorRefParserRuleCall_8_6_4_0() { return cActorRefsActorRefParserRuleCall_8_6_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.5'
+		//serviceAccessPoints+=SAP
 		public Assignment getServiceAccessPointsAssignment_8_6_5() { return cServiceAccessPointsAssignment_8_6_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.5/@terminal'
+		//SAP
 		public RuleCall getServiceAccessPointsSAPParserRuleCall_8_6_5_0() { return cServiceAccessPointsSAPParserRuleCall_8_6_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.6'
+		//internalPorts+=Port
 		public Assignment getInternalPortsAssignment_8_6_6() { return cInternalPortsAssignment_8_6_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.6/@terminal'
+		//Port
 		public RuleCall getInternalPortsPortParserRuleCall_8_6_6_0() { return cInternalPortsPortParserRuleCall_8_6_6_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.7'
+		//externalPorts+=ExternalPort
 		public Assignment getExternalPortsAssignment_8_6_7() { return cExternalPortsAssignment_8_6_7; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.6/@elements.7/@terminal'
+		//ExternalPort
 		public RuleCall getExternalPortsExternalPortParserRuleCall_8_6_7_0() { return cExternalPortsExternalPortParserRuleCall_8_6_7_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.8/@elements.7'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_8_7() { return cRightCurlyBracketKeyword_8_7; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9'
+		//("Behavior" behaviorDocu=Documentation? "{" behaviorAnnotations+=Annotation* (operations+=StandardOperation |
+		//structors+=ClassStructor)* stateMachine=StateMachine? "}")?
 		public Group getGroup_9() { return cGroup_9; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.0'
+		//"Behavior"
 		public Keyword getBehaviorKeyword_9_0() { return cBehaviorKeyword_9_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.1'
+		//behaviorDocu=Documentation?
 		public Assignment getBehaviorDocuAssignment_9_1() { return cBehaviorDocuAssignment_9_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.1/@terminal'
+		//Documentation
 		public RuleCall getBehaviorDocuDocumentationParserRuleCall_9_1_0() { return cBehaviorDocuDocumentationParserRuleCall_9_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.2'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_9_2() { return cLeftCurlyBracketKeyword_9_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.3'
+		//behaviorAnnotations+=Annotation*
 		public Assignment getBehaviorAnnotationsAssignment_9_3() { return cBehaviorAnnotationsAssignment_9_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.3/@terminal'
+		//Annotation
 		public RuleCall getBehaviorAnnotationsAnnotationParserRuleCall_9_3_0() { return cBehaviorAnnotationsAnnotationParserRuleCall_9_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.4'
+		//(operations+=StandardOperation | structors+=ClassStructor)*
 		public Alternatives getAlternatives_9_4() { return cAlternatives_9_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.4/@elements.0'
+		//operations+=StandardOperation
 		public Assignment getOperationsAssignment_9_4_0() { return cOperationsAssignment_9_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.4/@elements.0/@terminal'
+		//StandardOperation
 		public RuleCall getOperationsStandardOperationParserRuleCall_9_4_0_0() { return cOperationsStandardOperationParserRuleCall_9_4_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.4/@elements.1'
+		//structors+=ClassStructor
 		public Assignment getStructorsAssignment_9_4_1() { return cStructorsAssignment_9_4_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.4/@elements.1/@terminal'
+		//ClassStructor
 		public RuleCall getStructorsClassStructorParserRuleCall_9_4_1_0() { return cStructorsClassStructorParserRuleCall_9_4_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.5'
+		//stateMachine=StateMachine?
 		public Assignment getStateMachineAssignment_9_5() { return cStateMachineAssignment_9_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.5/@terminal'
+		//StateMachine
 		public RuleCall getStateMachineStateMachineParserRuleCall_9_5_0() { return cStateMachineStateMachineParserRuleCall_9_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.9/@elements.6'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_9_6() { return cRightCurlyBracketKeyword_9_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.29/@alternatives/@elements.10'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; }
 	}
 
@@ -1980,19 +2067,20 @@
 		private final RuleCall cSAPParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		private final RuleCall cSPPParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/InterfaceItem'
+		//InterfaceItem:
+		//	Port | SAP | SPP;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.30/@alternatives'
+		//Port | SAP | SPP
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.30/@alternatives/@elements.0'
+		//Port
 		public RuleCall getPortParserRuleCall_0() { return cPortParserRuleCall_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.30/@alternatives/@elements.1'
+		//SAP
 		public RuleCall getSAPParserRuleCall_1() { return cSAPParserRuleCall_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.30/@alternatives/@elements.2'
+		//SPP
 		public RuleCall getSPPParserRuleCall_2() { return cSPPParserRuleCall_2; }
 	}
 
@@ -2013,49 +2101,52 @@
 		private final Assignment cDocuAssignment_6 = (Assignment)cGroup.eContents().get(6);
 		private final RuleCall cDocuDocumentationParserRuleCall_6_0 = (RuleCall)cDocuAssignment_6.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/Port'
+		//Port:
+		//	conjugated?="conjugated"? "Port" name=ID multiplicity=MULTIPLICITY? ":" protocol=[GeneralProtocolClass|FQN]
+		//	docu=Documentation?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives'
+		//conjugated?="conjugated"? "Port" name=ID multiplicity=MULTIPLICITY? ":" protocol=[GeneralProtocolClass|FQN]
+		//docu=Documentation?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.0'
+		//conjugated?="conjugated"?
 		public Assignment getConjugatedAssignment_0() { return cConjugatedAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.0/@terminal'
+		//"conjugated"
 		public Keyword getConjugatedConjugatedKeyword_0_0() { return cConjugatedConjugatedKeyword_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.1'
+		//"Port"
 		public Keyword getPortKeyword_1() { return cPortKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.2'
+		//name=ID
 		public Assignment getNameAssignment_2() { return cNameAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.2/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.3'
+		//multiplicity=MULTIPLICITY?
 		public Assignment getMultiplicityAssignment_3() { return cMultiplicityAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.3/@terminal'
+		//MULTIPLICITY
 		public RuleCall getMultiplicityMULTIPLICITYParserRuleCall_3_0() { return cMultiplicityMULTIPLICITYParserRuleCall_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.4'
+		//":"
 		public Keyword getColonKeyword_4() { return cColonKeyword_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.5'
+		//protocol=[GeneralProtocolClass|FQN]
 		public Assignment getProtocolAssignment_5() { return cProtocolAssignment_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.5/@terminal'
+		//[GeneralProtocolClass|FQN]
 		public CrossReference getProtocolGeneralProtocolClassCrossReference_5_0() { return cProtocolGeneralProtocolClassCrossReference_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.5/@terminal/@terminal'
+		//FQN
 		public RuleCall getProtocolGeneralProtocolClassFQNParserRuleCall_5_0_1() { return cProtocolGeneralProtocolClassFQNParserRuleCall_5_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.6'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_6() { return cDocuAssignment_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.31/@alternatives/@elements.6/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_6_0() { return cDocuDocumentationParserRuleCall_6_0; }
 	}
 
@@ -2068,25 +2159,26 @@
 		private final CrossReference cInterfacePortPortCrossReference_2_0 = (CrossReference)cInterfacePortAssignment_2.eContents().get(0);
 		private final RuleCall cInterfacePortPortIDTerminalRuleCall_2_0_1 = (RuleCall)cInterfacePortPortCrossReference_2_0.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ExternalPort'
+		//ExternalPort:
+		//	"external" "Port" interfacePort=[Port];
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.32/@alternatives'
+		//"external" "Port" interfacePort=[Port]
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.32/@alternatives/@elements.0'
+		//"external"
 		public Keyword getExternalKeyword_0() { return cExternalKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.32/@alternatives/@elements.1'
+		//"Port"
 		public Keyword getPortKeyword_1() { return cPortKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.32/@alternatives/@elements.2'
+		//interfacePort=[Port]
 		public Assignment getInterfacePortAssignment_2() { return cInterfacePortAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.32/@alternatives/@elements.2/@terminal'
+		//[Port]
 		public CrossReference getInterfacePortPortCrossReference_2_0() { return cInterfacePortPortCrossReference_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.32/@alternatives/@elements.2/@terminal/@terminal'
+		//ID
 		public RuleCall getInterfacePortPortIDTerminalRuleCall_2_0_1() { return cInterfacePortPortIDTerminalRuleCall_2_0_1; }
 	}
 
@@ -2101,31 +2193,32 @@
 		private final CrossReference cProtocolProtocolClassCrossReference_3_0 = (CrossReference)cProtocolAssignment_3.eContents().get(0);
 		private final RuleCall cProtocolProtocolClassFQNParserRuleCall_3_0_1 = (RuleCall)cProtocolProtocolClassCrossReference_3_0.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SAP'
+		//SAP:
+		//	"SAP" name=ID ":" protocol=[ProtocolClass|FQN];
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.33/@alternatives'
+		//"SAP" name=ID ":" protocol=[ProtocolClass|FQN]
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.33/@alternatives/@elements.0'
+		//"SAP"
 		public Keyword getSAPKeyword_0() { return cSAPKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.33/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.33/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.33/@alternatives/@elements.2'
+		//":"
 		public Keyword getColonKeyword_2() { return cColonKeyword_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.33/@alternatives/@elements.3'
+		//protocol=[ProtocolClass|FQN]
 		public Assignment getProtocolAssignment_3() { return cProtocolAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.33/@alternatives/@elements.3/@terminal'
+		//[ProtocolClass|FQN]
 		public CrossReference getProtocolProtocolClassCrossReference_3_0() { return cProtocolProtocolClassCrossReference_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.33/@alternatives/@elements.3/@terminal/@terminal'
+		//FQN
 		public RuleCall getProtocolProtocolClassFQNParserRuleCall_3_0_1() { return cProtocolProtocolClassFQNParserRuleCall_3_0_1; }
 	}
 
@@ -2140,31 +2233,32 @@
 		private final CrossReference cProtocolProtocolClassCrossReference_3_0 = (CrossReference)cProtocolAssignment_3.eContents().get(0);
 		private final RuleCall cProtocolProtocolClassFQNParserRuleCall_3_0_1 = (RuleCall)cProtocolProtocolClassCrossReference_3_0.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SPP'
+		//SPP:
+		//	"SPP" name=ID ":" protocol=[ProtocolClass|FQN];
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.34/@alternatives'
+		//"SPP" name=ID ":" protocol=[ProtocolClass|FQN]
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.34/@alternatives/@elements.0'
+		//"SPP"
 		public Keyword getSPPKeyword_0() { return cSPPKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.34/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.34/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.34/@alternatives/@elements.2'
+		//":"
 		public Keyword getColonKeyword_2() { return cColonKeyword_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.34/@alternatives/@elements.3'
+		//protocol=[ProtocolClass|FQN]
 		public Assignment getProtocolAssignment_3() { return cProtocolAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.34/@alternatives/@elements.3/@terminal'
+		//[ProtocolClass|FQN]
 		public CrossReference getProtocolProtocolClassCrossReference_3_0() { return cProtocolProtocolClassCrossReference_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.34/@alternatives/@elements.3/@terminal/@terminal'
+		//FQN
 		public RuleCall getProtocolProtocolClassFQNParserRuleCall_3_0_1() { return cProtocolProtocolClassFQNParserRuleCall_3_0_1; }
 	}
 
@@ -2177,25 +2271,26 @@
 		private final CrossReference cSppSPPCrossReference_2_0 = (CrossReference)cSppAssignment_2.eContents().get(0);
 		private final RuleCall cSppSPPIDTerminalRuleCall_2_0_1 = (RuleCall)cSppSPPCrossReference_2_0.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ServiceImplementation'
+		//ServiceImplementation:
+		//	"ServiceImplementation" "of" spp=[SPP];
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.35/@alternatives'
+		//"ServiceImplementation" "of" spp=[SPP]
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.35/@alternatives/@elements.0'
+		//"ServiceImplementation"
 		public Keyword getServiceImplementationKeyword_0() { return cServiceImplementationKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.35/@alternatives/@elements.1'
+		//"of"
 		public Keyword getOfKeyword_1() { return cOfKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.35/@alternatives/@elements.2'
+		//spp=[SPP]
 		public Assignment getSppAssignment_2() { return cSppAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.35/@alternatives/@elements.2/@terminal'
+		//[SPP]
 		public CrossReference getSppSPPCrossReference_2_0() { return cSppSPPCrossReference_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.35/@alternatives/@elements.2/@terminal/@terminal'
+		//ID
 		public RuleCall getSppSPPIDTerminalRuleCall_2_0_1() { return cSppSPPIDTerminalRuleCall_2_0_1; }
 	}
 
@@ -2219,58 +2314,61 @@
 		private final RuleCall cSubSystemsSubSystemRefParserRuleCall_5_2_0 = (RuleCall)cSubSystemsAssignment_5_2.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/LogicalSystem'
+		//LogicalSystem:
+		//	"LogicalSystem" name=ID docu=Documentation? "{" annotations+=Annotation* (connections+=LayerConnection |
+		//	bindings+=Binding | subSystems+=SubSystemRef)* "}";
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives'
+		//"LogicalSystem" name=ID docu=Documentation? "{" annotations+=Annotation* (connections+=LayerConnection |
+		//bindings+=Binding | subSystems+=SubSystemRef)* "}"
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.0'
+		//"LogicalSystem"
 		public Keyword getLogicalSystemKeyword_0() { return cLogicalSystemKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.2'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_2() { return cDocuAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.2/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_2_0() { return cDocuDocumentationParserRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.3'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.4'
+		//annotations+=Annotation*
 		public Assignment getAnnotationsAssignment_4() { return cAnnotationsAssignment_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.4/@terminal'
+		//Annotation
 		public RuleCall getAnnotationsAnnotationParserRuleCall_4_0() { return cAnnotationsAnnotationParserRuleCall_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.5'
+		//(connections+=LayerConnection | bindings+=Binding | subSystems+=SubSystemRef)*
 		public Alternatives getAlternatives_5() { return cAlternatives_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.5/@elements.0'
+		//connections+=LayerConnection
 		public Assignment getConnectionsAssignment_5_0() { return cConnectionsAssignment_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.5/@elements.0/@terminal'
+		//LayerConnection
 		public RuleCall getConnectionsLayerConnectionParserRuleCall_5_0_0() { return cConnectionsLayerConnectionParserRuleCall_5_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.5/@elements.1'
+		//bindings+=Binding
 		public Assignment getBindingsAssignment_5_1() { return cBindingsAssignment_5_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.5/@elements.1/@terminal'
+		//Binding
 		public RuleCall getBindingsBindingParserRuleCall_5_1_0() { return cBindingsBindingParserRuleCall_5_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.5/@elements.2'
+		//subSystems+=SubSystemRef
 		public Assignment getSubSystemsAssignment_5_2() { return cSubSystemsAssignment_5_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.5/@elements.2/@terminal'
+		//SubSystemRef
 		public RuleCall getSubSystemsSubSystemRefParserRuleCall_5_2_0() { return cSubSystemsSubSystemRefParserRuleCall_5_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.36/@alternatives/@elements.6'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
 	}
 
@@ -2280,16 +2378,17 @@
 		private final RuleCall cSubSystemRefParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
 		private final RuleCall cActorRefParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ActorContainerRef'
+		//ActorContainerRef:
+		//	SubSystemRef | ActorRef;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.37/@alternatives'
+		//SubSystemRef | ActorRef
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.37/@alternatives/@elements.0'
+		//SubSystemRef
 		public RuleCall getSubSystemRefParserRuleCall_0() { return cSubSystemRefParserRuleCall_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.37/@alternatives/@elements.1'
+		//ActorRef
 		public RuleCall getActorRefParserRuleCall_1() { return cActorRefParserRuleCall_1; }
 	}
 
@@ -2306,37 +2405,38 @@
 		private final Assignment cDocuAssignment_4 = (Assignment)cGroup.eContents().get(4);
 		private final RuleCall cDocuDocumentationParserRuleCall_4_0 = (RuleCall)cDocuAssignment_4.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SubSystemRef'
+		//SubSystemRef:
+		//	"SubSystemRef" name=ID ":" type=[SubSystemClass|FQN] docu=Documentation?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.38/@alternatives'
+		//"SubSystemRef" name=ID ":" type=[SubSystemClass|FQN] docu=Documentation?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.38/@alternatives/@elements.0'
+		//"SubSystemRef"
 		public Keyword getSubSystemRefKeyword_0() { return cSubSystemRefKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.38/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.38/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.38/@alternatives/@elements.2'
+		//":"
 		public Keyword getColonKeyword_2() { return cColonKeyword_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.38/@alternatives/@elements.3'
+		//type=[SubSystemClass|FQN]
 		public Assignment getTypeAssignment_3() { return cTypeAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.38/@alternatives/@elements.3/@terminal'
+		//[SubSystemClass|FQN]
 		public CrossReference getTypeSubSystemClassCrossReference_3_0() { return cTypeSubSystemClassCrossReference_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.38/@alternatives/@elements.3/@terminal/@terminal'
+		//FQN
 		public RuleCall getTypeSubSystemClassFQNParserRuleCall_3_0_1() { return cTypeSubSystemClassFQNParserRuleCall_3_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.38/@alternatives/@elements.4'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_4() { return cDocuAssignment_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.38/@alternatives/@elements.4/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_4_0() { return cDocuDocumentationParserRuleCall_4_0; }
 	}
 
@@ -2380,118 +2480,128 @@
 		private final RuleCall cRelayPortsPortParserRuleCall_8_6_0 = (RuleCall)cRelayPortsAssignment_8_6.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SubSystemClass'
+		//SubSystemClass:
+		//	"SubSystemClass" name=ID docu=Documentation? "{" annotations+=Annotation* ("usercode1" userCode1=DetailCode)?
+		//	("usercode2" userCode2=DetailCode)? ("usercode3" userCode3=DetailCode)? // workaround: reverse the order for serializer
+		//	(actorInstanceMappings+=ActorInstanceMapping | threads+=LogicalThread | connections+=LayerConnection |
+		//	bindings+=Binding | actorRefs+=ActorRef | serviceProvisionPoints+=SPP | relayPorts+=Port)* "}";
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives'
+		//"SubSystemClass" name=ID docu=Documentation? "{" annotations+=Annotation* ("usercode1" userCode1=DetailCode)?
+		//("usercode2" userCode2=DetailCode)? ("usercode3" userCode3=DetailCode)? // workaround: reverse the order for serializer
+		//(actorInstanceMappings+=ActorInstanceMapping | threads+=LogicalThread | connections+=LayerConnection | bindings+=Binding
+		//| actorRefs+=ActorRef | serviceProvisionPoints+=SPP | relayPorts+=Port)* "}"
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.0'
+		//"SubSystemClass"
 		public Keyword getSubSystemClassKeyword_0() { return cSubSystemClassKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.2'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_2() { return cDocuAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.2/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_2_0() { return cDocuDocumentationParserRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.3'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.4'
+		//annotations+=Annotation*
 		public Assignment getAnnotationsAssignment_4() { return cAnnotationsAssignment_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.4/@terminal'
+		//Annotation
 		public RuleCall getAnnotationsAnnotationParserRuleCall_4_0() { return cAnnotationsAnnotationParserRuleCall_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.5'
+		//("usercode1" userCode1=DetailCode)?
 		public Group getGroup_5() { return cGroup_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.5/@elements.0'
+		//"usercode1"
 		public Keyword getUsercode1Keyword_5_0() { return cUsercode1Keyword_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.5/@elements.1'
+		//userCode1=DetailCode
 		public Assignment getUserCode1Assignment_5_1() { return cUserCode1Assignment_5_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.5/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode1DetailCodeParserRuleCall_5_1_0() { return cUserCode1DetailCodeParserRuleCall_5_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.6'
+		//("usercode2" userCode2=DetailCode)?
 		public Group getGroup_6() { return cGroup_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.6/@elements.0'
+		//"usercode2"
 		public Keyword getUsercode2Keyword_6_0() { return cUsercode2Keyword_6_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.6/@elements.1'
+		//userCode2=DetailCode
 		public Assignment getUserCode2Assignment_6_1() { return cUserCode2Assignment_6_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.6/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode2DetailCodeParserRuleCall_6_1_0() { return cUserCode2DetailCodeParserRuleCall_6_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.7'
+		//("usercode3" userCode3=DetailCode)?
 		public Group getGroup_7() { return cGroup_7; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.7/@elements.0'
+		//"usercode3"
 		public Keyword getUsercode3Keyword_7_0() { return cUsercode3Keyword_7_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.7/@elements.1'
+		//userCode3=DetailCode
 		public Assignment getUserCode3Assignment_7_1() { return cUserCode3Assignment_7_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.7/@elements.1/@terminal'
+		//DetailCode
 		public RuleCall getUserCode3DetailCodeParserRuleCall_7_1_0() { return cUserCode3DetailCodeParserRuleCall_7_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8'
+		//// workaround: reverse the order for serializer
+		//(actorInstanceMappings+=ActorInstanceMapping | threads+=LogicalThread | connections+=LayerConnection | bindings+=Binding
+		//| actorRefs+=ActorRef | serviceProvisionPoints+=SPP | relayPorts+=Port)*
 		public Alternatives getAlternatives_8() { return cAlternatives_8; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.0'
+		//// workaround: reverse the order for serializer
+		//actorInstanceMappings+=ActorInstanceMapping
 		public Assignment getActorInstanceMappingsAssignment_8_0() { return cActorInstanceMappingsAssignment_8_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.0/@terminal'
+		//ActorInstanceMapping
 		public RuleCall getActorInstanceMappingsActorInstanceMappingParserRuleCall_8_0_0() { return cActorInstanceMappingsActorInstanceMappingParserRuleCall_8_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.1'
+		//threads+=LogicalThread
 		public Assignment getThreadsAssignment_8_1() { return cThreadsAssignment_8_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.1/@terminal'
+		//LogicalThread
 		public RuleCall getThreadsLogicalThreadParserRuleCall_8_1_0() { return cThreadsLogicalThreadParserRuleCall_8_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.2'
+		//connections+=LayerConnection
 		public Assignment getConnectionsAssignment_8_2() { return cConnectionsAssignment_8_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.2/@terminal'
+		//LayerConnection
 		public RuleCall getConnectionsLayerConnectionParserRuleCall_8_2_0() { return cConnectionsLayerConnectionParserRuleCall_8_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.3'
+		//bindings+=Binding
 		public Assignment getBindingsAssignment_8_3() { return cBindingsAssignment_8_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.3/@terminal'
+		//Binding
 		public RuleCall getBindingsBindingParserRuleCall_8_3_0() { return cBindingsBindingParserRuleCall_8_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.4'
+		//actorRefs+=ActorRef
 		public Assignment getActorRefsAssignment_8_4() { return cActorRefsAssignment_8_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.4/@terminal'
+		//ActorRef
 		public RuleCall getActorRefsActorRefParserRuleCall_8_4_0() { return cActorRefsActorRefParserRuleCall_8_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.5'
+		//serviceProvisionPoints+=SPP
 		public Assignment getServiceProvisionPointsAssignment_8_5() { return cServiceProvisionPointsAssignment_8_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.5/@terminal'
+		//SPP
 		public RuleCall getServiceProvisionPointsSPPParserRuleCall_8_5_0() { return cServiceProvisionPointsSPPParserRuleCall_8_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.6'
+		//relayPorts+=Port
 		public Assignment getRelayPortsAssignment_8_6() { return cRelayPortsAssignment_8_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.8/@elements.6/@terminal'
+		//Port
 		public RuleCall getRelayPortsPortParserRuleCall_8_6_0() { return cRelayPortsPortParserRuleCall_8_6_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.39/@alternatives/@elements.9'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
 	}
 
@@ -2502,19 +2612,20 @@
 		private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
 		private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/LogicalThread'
+		//LogicalThread:
+		//	"LogicalThread" name=ID;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.40/@alternatives'
+		//"LogicalThread" name=ID
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.40/@alternatives/@elements.0'
+		//"LogicalThread"
 		public Keyword getLogicalThreadKeyword_0() { return cLogicalThreadKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.40/@alternatives/@elements.1'
+		//name=ID
 		public Assignment getNameAssignment_1() { return cNameAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.40/@alternatives/@elements.1/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
 	}
 
@@ -2534,46 +2645,48 @@
 		private final RuleCall cActorInstanceMappingsActorInstanceMappingParserRuleCall_4_1_0 = (RuleCall)cActorInstanceMappingsAssignment_4_1.eContents().get(0);
 		private final Keyword cRightCurlyBracketKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ActorInstanceMapping'
+		//ActorInstanceMapping:
+		//	"ActorInstanceMapping" path=RefPath "->" thread=[LogicalThread] ("{" actorInstanceMappings+=ActorInstanceMapping*
+		//	"}")?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives'
+		//"ActorInstanceMapping" path=RefPath "->" thread=[LogicalThread] ("{" actorInstanceMappings+=ActorInstanceMapping* "}")?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.0'
+		//"ActorInstanceMapping"
 		public Keyword getActorInstanceMappingKeyword_0() { return cActorInstanceMappingKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.1'
+		//path=RefPath
 		public Assignment getPathAssignment_1() { return cPathAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.1/@terminal'
+		//RefPath
 		public RuleCall getPathRefPathParserRuleCall_1_0() { return cPathRefPathParserRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.2'
+		//"->"
 		public Keyword getHyphenMinusGreaterThanSignKeyword_2() { return cHyphenMinusGreaterThanSignKeyword_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.3'
+		//thread=[LogicalThread]
 		public Assignment getThreadAssignment_3() { return cThreadAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.3/@terminal'
+		//[LogicalThread]
 		public CrossReference getThreadLogicalThreadCrossReference_3_0() { return cThreadLogicalThreadCrossReference_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.3/@terminal/@terminal'
+		//ID
 		public RuleCall getThreadLogicalThreadIDTerminalRuleCall_3_0_1() { return cThreadLogicalThreadIDTerminalRuleCall_3_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.4'
+		//("{" actorInstanceMappings+=ActorInstanceMapping* "}")?
 		public Group getGroup_4() { return cGroup_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.4/@elements.0'
+		//"{"
 		public Keyword getLeftCurlyBracketKeyword_4_0() { return cLeftCurlyBracketKeyword_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.4/@elements.1'
+		//actorInstanceMappings+=ActorInstanceMapping*
 		public Assignment getActorInstanceMappingsAssignment_4_1() { return cActorInstanceMappingsAssignment_4_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.4/@elements.1/@terminal'
+		//ActorInstanceMapping
 		public RuleCall getActorInstanceMappingsActorInstanceMappingParserRuleCall_4_1_0() { return cActorInstanceMappingsActorInstanceMappingParserRuleCall_4_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.41/@alternatives/@elements.4/@elements.2'
+		//"}"
 		public Keyword getRightCurlyBracketKeyword_4_2() { return cRightCurlyBracketKeyword_4_2; }
 	}
 
@@ -2587,28 +2700,29 @@
 		private final Assignment cRefsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
 		private final RuleCall cRefsRefSegmentParserRuleCall_1_1_0 = (RuleCall)cRefsAssignment_1_1.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RefPath'
+		//RefPath:
+		//	refs+=RefSegment ("/" refs+=RefSegment)*;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.42/@alternatives'
+		//refs+=RefSegment ("/" refs+=RefSegment)*
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.42/@alternatives/@elements.0'
+		//refs+=RefSegment
 		public Assignment getRefsAssignment_0() { return cRefsAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.42/@alternatives/@elements.0/@terminal'
+		//RefSegment
 		public RuleCall getRefsRefSegmentParserRuleCall_0_0() { return cRefsRefSegmentParserRuleCall_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.42/@alternatives/@elements.1'
+		//("/" refs+=RefSegment)*
 		public Group getGroup_1() { return cGroup_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.42/@alternatives/@elements.1/@elements.0'
+		//"/"
 		public Keyword getSolidusKeyword_1_0() { return cSolidusKeyword_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.42/@alternatives/@elements.1/@elements.1'
+		//refs+=RefSegment
 		public Assignment getRefsAssignment_1_1() { return cRefsAssignment_1_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.42/@alternatives/@elements.1/@elements.1/@terminal'
+		//RefSegment
 		public RuleCall getRefsRefSegmentParserRuleCall_1_1_0() { return cRefsRefSegmentParserRuleCall_1_1_0; }
 	}
 
@@ -2622,28 +2736,29 @@
 		private final Assignment cIdxAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
 		private final RuleCall cIdxINTTerminalRuleCall_1_1_0 = (RuleCall)cIdxAssignment_1_1.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RefSegment'
+		//RefSegment:
+		//	ref=ID (":" idx=INT)?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.43/@alternatives'
+		//ref=ID (":" idx=INT)?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.43/@alternatives/@elements.0'
+		//ref=ID
 		public Assignment getRefAssignment_0() { return cRefAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.43/@alternatives/@elements.0/@terminal'
+		//ID
 		public RuleCall getRefIDTerminalRuleCall_0_0() { return cRefIDTerminalRuleCall_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.43/@alternatives/@elements.1'
+		//(":" idx=INT)?
 		public Group getGroup_1() { return cGroup_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.43/@alternatives/@elements.1/@elements.0'
+		//":"
 		public Keyword getColonKeyword_1_0() { return cColonKeyword_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.43/@alternatives/@elements.1/@elements.1'
+		//idx=INT
 		public Assignment getIdxAssignment_1_1() { return cIdxAssignment_1_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.43/@alternatives/@elements.1/@elements.1/@terminal'
+		//INT
 		public RuleCall getIdxINTTerminalRuleCall_1_1_0() { return cIdxINTTerminalRuleCall_1_1_0; }
 	}
 
@@ -2657,28 +2772,29 @@
 		private final Assignment cEndpoint2Assignment_3 = (Assignment)cGroup.eContents().get(3);
 		private final RuleCall cEndpoint2BindingEndPointParserRuleCall_3_0 = (RuleCall)cEndpoint2Assignment_3.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/Binding'
+		//Binding:
+		//	"Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.44/@alternatives'
+		//"Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.44/@alternatives/@elements.0'
+		//"Binding"
 		public Keyword getBindingKeyword_0() { return cBindingKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.44/@alternatives/@elements.1'
+		//endpoint1=BindingEndPoint
 		public Assignment getEndpoint1Assignment_1() { return cEndpoint1Assignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.44/@alternatives/@elements.1/@terminal'
+		//BindingEndPoint
 		public RuleCall getEndpoint1BindingEndPointParserRuleCall_1_0() { return cEndpoint1BindingEndPointParserRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.44/@alternatives/@elements.2'
+		//"and"
 		public Keyword getAndKeyword_2() { return cAndKeyword_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.44/@alternatives/@elements.3'
+		//endpoint2=BindingEndPoint
 		public Assignment getEndpoint2Assignment_3() { return cEndpoint2Assignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.44/@alternatives/@elements.3/@terminal'
+		//BindingEndPoint
 		public RuleCall getEndpoint2BindingEndPointParserRuleCall_3_0() { return cEndpoint2BindingEndPointParserRuleCall_3_0; }
 	}
 
@@ -2699,49 +2815,50 @@
 		private final CrossReference cSubSubProtocolCrossReference_2_1_0 = (CrossReference)cSubAssignment_2_1.eContents().get(0);
 		private final RuleCall cSubSubProtocolIDTerminalRuleCall_2_1_0_1 = (RuleCall)cSubSubProtocolCrossReference_2_1_0.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/BindingEndPoint'
+		//BindingEndPoint:
+		//	(actorRef=[ActorContainerRef] ".")? port=[Port] ("sub" sub=[SubProtocol])?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives'
+		//(actorRef=[ActorContainerRef] ".")? port=[Port] ("sub" sub=[SubProtocol])?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.0'
+		//(actorRef=[ActorContainerRef] ".")?
 		public Group getGroup_0() { return cGroup_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.0/@elements.0'
+		//actorRef=[ActorContainerRef]
 		public Assignment getActorRefAssignment_0_0() { return cActorRefAssignment_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.0/@elements.0/@terminal'
+		//[ActorContainerRef]
 		public CrossReference getActorRefActorContainerRefCrossReference_0_0_0() { return cActorRefActorContainerRefCrossReference_0_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.0/@elements.0/@terminal/@terminal'
+		//ID
 		public RuleCall getActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1() { return cActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.0/@elements.1'
+		//"."
 		public Keyword getFullStopKeyword_0_1() { return cFullStopKeyword_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.1'
+		//port=[Port]
 		public Assignment getPortAssignment_1() { return cPortAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.1/@terminal'
+		//[Port]
 		public CrossReference getPortPortCrossReference_1_0() { return cPortPortCrossReference_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.1/@terminal/@terminal'
+		//ID
 		public RuleCall getPortPortIDTerminalRuleCall_1_0_1() { return cPortPortIDTerminalRuleCall_1_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.2'
+		//("sub" sub=[SubProtocol])?
 		public Group getGroup_2() { return cGroup_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.2/@elements.0'
+		//"sub"
 		public Keyword getSubKeyword_2_0() { return cSubKeyword_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.2/@elements.1'
+		//sub=[SubProtocol]
 		public Assignment getSubAssignment_2_1() { return cSubAssignment_2_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.2/@elements.1/@terminal'
+		//[SubProtocol]
 		public CrossReference getSubSubProtocolCrossReference_2_1_0() { return cSubSubProtocolCrossReference_2_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.45/@alternatives/@elements.2/@elements.1/@terminal/@terminal'
+		//ID
 		public RuleCall getSubSubProtocolIDTerminalRuleCall_2_1_0_1() { return cSubSubProtocolIDTerminalRuleCall_2_1_0_1; }
 	}
 
@@ -2755,28 +2872,29 @@
 		private final Assignment cToAssignment_3 = (Assignment)cGroup.eContents().get(3);
 		private final RuleCall cToSPPointParserRuleCall_3_0 = (RuleCall)cToAssignment_3.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/LayerConnection'
+		//LayerConnection:
+		//	"LayerConnection" from=SAPoint "satisfied_by" to=SPPoint;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.46/@alternatives'
+		//"LayerConnection" from=SAPoint "satisfied_by" to=SPPoint
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.46/@alternatives/@elements.0'
+		//"LayerConnection"
 		public Keyword getLayerConnectionKeyword_0() { return cLayerConnectionKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.46/@alternatives/@elements.1'
+		//from=SAPoint
 		public Assignment getFromAssignment_1() { return cFromAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.46/@alternatives/@elements.1/@terminal'
+		//SAPoint
 		public RuleCall getFromSAPointParserRuleCall_1_0() { return cFromSAPointParserRuleCall_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.46/@alternatives/@elements.2'
+		//"satisfied_by"
 		public Keyword getSatisfied_byKeyword_2() { return cSatisfied_byKeyword_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.46/@alternatives/@elements.3'
+		//to=SPPoint
 		public Assignment getToAssignment_3() { return cToAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.46/@alternatives/@elements.3/@terminal'
+		//SPPoint
 		public RuleCall getToSPPointParserRuleCall_3_0() { return cToSPPointParserRuleCall_3_0; }
 	}
 
@@ -2786,16 +2904,17 @@
 		private final RuleCall cRefSAPointParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
 		private final RuleCall cRelaySAPointParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SAPoint'
+		//SAPoint:
+		//	RefSAPoint | RelaySAPoint;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.47/@alternatives'
+		//RefSAPoint | RelaySAPoint
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.47/@alternatives/@elements.0'
+		//RefSAPoint
 		public RuleCall getRefSAPointParserRuleCall_0() { return cRefSAPointParserRuleCall_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.47/@alternatives/@elements.1'
+		//RelaySAPoint
 		public RuleCall getRelaySAPointParserRuleCall_1() { return cRelaySAPointParserRuleCall_1; }
 	}
 
@@ -2807,22 +2926,25 @@
 		private final CrossReference cRefActorContainerRefCrossReference_1_0 = (CrossReference)cRefAssignment_1.eContents().get(0);
 		private final RuleCall cRefActorContainerRefIDTerminalRuleCall_1_0_1 = (RuleCall)cRefActorContainerRefCrossReference_1_0.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RefSAPoint'
+		//RefSAPoint: // satisfies a sub actor
+		//	"ref" ref=[ActorContainerRef];
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.48/@alternatives'
+		//// satisfies a sub actor
+		//"ref" ref=[ActorContainerRef]
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.48/@alternatives/@elements.0'
+		//// satisfies a sub actor
+		//"ref"
 		public Keyword getRefKeyword_0() { return cRefKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.48/@alternatives/@elements.1'
+		//ref=[ActorContainerRef]
 		public Assignment getRefAssignment_1() { return cRefAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.48/@alternatives/@elements.1/@terminal'
+		//[ActorContainerRef]
 		public CrossReference getRefActorContainerRefCrossReference_1_0() { return cRefActorContainerRefCrossReference_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.48/@alternatives/@elements.1/@terminal/@terminal'
+		//ID
 		public RuleCall getRefActorContainerRefIDTerminalRuleCall_1_0_1() { return cRefActorContainerRefIDTerminalRuleCall_1_0_1; }
 	}
 
@@ -2834,22 +2956,25 @@
 		private final CrossReference cRelaySPPCrossReference_1_0 = (CrossReference)cRelayAssignment_1.eContents().get(0);
 		private final RuleCall cRelaySPPIDTerminalRuleCall_1_0_1 = (RuleCall)cRelaySPPCrossReference_1_0.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RelaySAPoint'
+		//RelaySAPoint: // relays from own interface
+		//	"relay_sap" relay=[SPP];
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.49/@alternatives'
+		//// relays from own interface
+		//"relay_sap" relay=[SPP]
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.49/@alternatives/@elements.0'
+		//// relays from own interface
+		//"relay_sap"
 		public Keyword getRelay_sapKeyword_0() { return cRelay_sapKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.49/@alternatives/@elements.1'
+		//relay=[SPP]
 		public Assignment getRelayAssignment_1() { return cRelayAssignment_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.49/@alternatives/@elements.1/@terminal'
+		//[SPP]
 		public CrossReference getRelaySPPCrossReference_1_0() { return cRelaySPPCrossReference_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.49/@alternatives/@elements.1/@terminal/@terminal'
+		//ID
 		public RuleCall getRelaySPPIDTerminalRuleCall_1_0_1() { return cRelaySPPIDTerminalRuleCall_1_0_1; }
 	}
 
@@ -2864,31 +2989,32 @@
 		private final CrossReference cServiceSPPCrossReference_2_0 = (CrossReference)cServiceAssignment_2.eContents().get(0);
 		private final RuleCall cServiceSPPIDTerminalRuleCall_2_0_1 = (RuleCall)cServiceSPPCrossReference_2_0.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SPPoint'
+		//SPPoint:
+		//	ref=[ActorContainerRef] "." service=[SPP];
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.50/@alternatives'
+		//ref=[ActorContainerRef] "." service=[SPP]
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.50/@alternatives/@elements.0'
+		//ref=[ActorContainerRef]
 		public Assignment getRefAssignment_0() { return cRefAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.50/@alternatives/@elements.0/@terminal'
+		//[ActorContainerRef]
 		public CrossReference getRefActorContainerRefCrossReference_0_0() { return cRefActorContainerRefCrossReference_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.50/@alternatives/@elements.0/@terminal/@terminal'
+		//ID
 		public RuleCall getRefActorContainerRefIDTerminalRuleCall_0_0_1() { return cRefActorContainerRefIDTerminalRuleCall_0_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.50/@alternatives/@elements.1'
+		//"."
 		public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.50/@alternatives/@elements.2'
+		//service=[SPP]
 		public Assignment getServiceAssignment_2() { return cServiceAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.50/@alternatives/@elements.2/@terminal'
+		//[SPP]
 		public CrossReference getServiceSPPCrossReference_2_0() { return cServiceSPPCrossReference_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.50/@alternatives/@elements.2/@terminal/@terminal'
+		//ID
 		public RuleCall getServiceSPPIDTerminalRuleCall_2_0_1() { return cServiceSPPIDTerminalRuleCall_2_0_1; }
 	}
 
@@ -2909,49 +3035,50 @@
 		private final Assignment cDocuAssignment_6 = (Assignment)cGroup.eContents().get(6);
 		private final RuleCall cDocuDocumentationParserRuleCall_6_0 = (RuleCall)cDocuAssignment_6.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ActorRef'
+		//ActorRef:
+		//	refType=ReferenceType? "ActorRef" name=ID multiplicity=MULTIPLICITY? ":" type=[ActorClass|FQN] docu=Documentation?;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives'
+		//refType=ReferenceType? "ActorRef" name=ID multiplicity=MULTIPLICITY? ":" type=[ActorClass|FQN] docu=Documentation?
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.0'
+		//refType=ReferenceType?
 		public Assignment getRefTypeAssignment_0() { return cRefTypeAssignment_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.0/@terminal'
+		//ReferenceType
 		public RuleCall getRefTypeReferenceTypeEnumRuleCall_0_0() { return cRefTypeReferenceTypeEnumRuleCall_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.1'
+		//"ActorRef"
 		public Keyword getActorRefKeyword_1() { return cActorRefKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.2'
+		//name=ID
 		public Assignment getNameAssignment_2() { return cNameAssignment_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.2/@terminal'
+		//ID
 		public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.3'
+		//multiplicity=MULTIPLICITY?
 		public Assignment getMultiplicityAssignment_3() { return cMultiplicityAssignment_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.3/@terminal'
+		//MULTIPLICITY
 		public RuleCall getMultiplicityMULTIPLICITYParserRuleCall_3_0() { return cMultiplicityMULTIPLICITYParserRuleCall_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.4'
+		//":"
 		public Keyword getColonKeyword_4() { return cColonKeyword_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.5'
+		//type=[ActorClass|FQN]
 		public Assignment getTypeAssignment_5() { return cTypeAssignment_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.5/@terminal'
+		//[ActorClass|FQN]
 		public CrossReference getTypeActorClassCrossReference_5_0() { return cTypeActorClassCrossReference_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.5/@terminal/@terminal'
+		//FQN
 		public RuleCall getTypeActorClassFQNParserRuleCall_5_0_1() { return cTypeActorClassFQNParserRuleCall_5_0_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.6'
+		//docu=Documentation?
 		public Assignment getDocuAssignment_6() { return cDocuAssignment_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.51/@alternatives/@elements.6/@terminal'
+		//Documentation
 		public RuleCall getDocuDocumentationParserRuleCall_6_0() { return cDocuDocumentationParserRuleCall_6_0; }
 	}
 
@@ -2959,10 +3086,14 @@
 		private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AbstractInterfaceItem");
 		private final RuleCall cInterfaceItemParserRuleCall = (RuleCall)rule.eContents().get(1);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/AbstractInterfaceItem'
+		//// **************************************************************
+		//// concrete message and interface item for state machines
+		////AbstractMessage: Message;
+		//AbstractInterfaceItem:
+		//	InterfaceItem;
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.53/@alternatives'
+		//InterfaceItem
 		public RuleCall getInterfaceItemParserRuleCall() { return cInterfaceItemParserRuleCall; }
 	}
 
@@ -2975,25 +3106,30 @@
 		private final RuleCall cINTTerminalRuleCall_1_1 = (RuleCall)cAlternatives_1.eContents().get(1);
 		private final Keyword cRightSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/MULTIPLICITY'
+		//// **************************************************************
+		//// general
+		//// the following is a data type rule (accompanied by a value converter) and must not be a terminal rule
+		//// (because then the lexer already would find this in places where it is not expected, e.g. in an Attribute)
+		//MULTIPLICITY returns ecore::EInt:
+		//	"[" ("*" | INT) "]";
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.54/@alternatives'
+		//"[" ("*" | INT) "]"
 		public Group getGroup() { return cGroup; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.54/@alternatives/@elements.0'
+		//"["
 		public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.54/@alternatives/@elements.1'
+		//"*" | INT
 		public Alternatives getAlternatives_1() { return cAlternatives_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.54/@alternatives/@elements.1/@elements.0'
+		//"*"
 		public Keyword getAsteriskKeyword_1_0() { return cAsteriskKeyword_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.54/@alternatives/@elements.1/@elements.1'
+		//INT
 		public RuleCall getINTTerminalRuleCall_1_1() { return cINTTerminalRuleCall_1_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.54/@alternatives/@elements.2'
+		//"]"
 		public Keyword getRightSquareBracketKeyword_2() { return cRightSquareBracketKeyword_2; }
 	}
 
@@ -3008,31 +3144,34 @@
 		private final Keyword cSubSystemClassKeyword_5 = (Keyword)cAlternatives.eContents().get(5);
 		private final Keyword cLogicalSystemKeyword_6 = (Keyword)cAlternatives.eContents().get(6);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/AnnotationTargetType'
+		//AnnotationTargetType:
+		//	"DataClass" | "ActorClass" | "ActorBehavior" | "ProtocolClass" | "CompoundProtocolClass" | "SubSystemClass" |
+		//	"LogicalSystem";
 		public ParserRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.55/@alternatives'
+		//"DataClass" | "ActorClass" | "ActorBehavior" | "ProtocolClass" | "CompoundProtocolClass" | "SubSystemClass" |
+		//"LogicalSystem"
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.55/@alternatives/@elements.0'
+		//"DataClass"
 		public Keyword getDataClassKeyword_0() { return cDataClassKeyword_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.55/@alternatives/@elements.1'
+		//"ActorClass"
 		public Keyword getActorClassKeyword_1() { return cActorClassKeyword_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.55/@alternatives/@elements.2'
+		//"ActorBehavior"
 		public Keyword getActorBehaviorKeyword_2() { return cActorBehaviorKeyword_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.55/@alternatives/@elements.3'
+		//"ProtocolClass"
 		public Keyword getProtocolClassKeyword_3() { return cProtocolClassKeyword_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.55/@alternatives/@elements.4'
+		//"CompoundProtocolClass"
 		public Keyword getCompoundProtocolClassKeyword_4() { return cCompoundProtocolClassKeyword_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.55/@alternatives/@elements.5'
+		//"SubSystemClass"
 		public Keyword getSubSystemClassKeyword_5() { return cSubSystemClassKeyword_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.55/@alternatives/@elements.6'
+		//"LogicalSystem"
 		public Keyword getLogicalSystemKeyword_6() { return cLogicalSystemKeyword_6; }
 	}
 	
@@ -3047,28 +3186,31 @@
 		private final EnumLiteralDeclaration cSYNCHRONOUSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
 		private final Keyword cSYNCHRONOUSSyncKeyword_2_0 = (Keyword)cSYNCHRONOUSEnumLiteralDeclaration_2.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/CommunicationType'
+		//// **************************************************************
+		//// protocol class
+		//enum CommunicationType:
+		//	EVENT_DRIVEN="eventdriven" | DATA_DRIVEN="datadriven" | SYNCHRONOUS="sync";
 		public EnumRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.18/@alternatives'
+		//EVENT_DRIVEN="eventdriven" | DATA_DRIVEN="datadriven" | SYNCHRONOUS="sync"
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.18/@alternatives/@elements.0'
+		//EVENT_DRIVEN="eventdriven"
 		public EnumLiteralDeclaration getEVENT_DRIVENEnumLiteralDeclaration_0() { return cEVENT_DRIVENEnumLiteralDeclaration_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.18/@alternatives/@elements.0/@literal'
+		//"eventdriven"
 		public Keyword getEVENT_DRIVENEventdrivenKeyword_0_0() { return cEVENT_DRIVENEventdrivenKeyword_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.18/@alternatives/@elements.1'
+		//DATA_DRIVEN="datadriven"
 		public EnumLiteralDeclaration getDATA_DRIVENEnumLiteralDeclaration_1() { return cDATA_DRIVENEnumLiteralDeclaration_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.18/@alternatives/@elements.1/@literal'
+		//"datadriven"
 		public Keyword getDATA_DRIVENDatadrivenKeyword_1_0() { return cDATA_DRIVENDatadrivenKeyword_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.18/@alternatives/@elements.2'
+		//SYNCHRONOUS="sync"
 		public EnumLiteralDeclaration getSYNCHRONOUSEnumLiteralDeclaration_2() { return cSYNCHRONOUSEnumLiteralDeclaration_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.18/@alternatives/@elements.2/@literal'
+		//"sync"
 		public Keyword getSYNCHRONOUSSyncKeyword_2_0() { return cSYNCHRONOUSSyncKeyword_2_0; }
 	}
 
@@ -3080,22 +3222,24 @@
 		private final EnumLiteralDeclaration cOPTIONALEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
 		private final Keyword cOPTIONALOptionalKeyword_1_0 = (Keyword)cOPTIONALEnumLiteralDeclaration_1.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ReferenceType'
+		//// IMPORTED='imported'
+		//enum ReferenceType:
+		//	FIXED="fixed" | OPTIONAL="optional";
 		public EnumRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.52/@alternatives'
+		//FIXED="fixed" | OPTIONAL="optional"
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.52/@alternatives/@elements.0'
+		//FIXED="fixed"
 		public EnumLiteralDeclaration getFIXEDEnumLiteralDeclaration_0() { return cFIXEDEnumLiteralDeclaration_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.52/@alternatives/@elements.0/@literal'
+		//"fixed"
 		public Keyword getFIXEDFixedKeyword_0_0() { return cFIXEDFixedKeyword_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.52/@alternatives/@elements.1'
+		//OPTIONAL="optional"
 		public EnumLiteralDeclaration getOPTIONALEnumLiteralDeclaration_1() { return cOPTIONALEnumLiteralDeclaration_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.52/@alternatives/@elements.1/@literal'
+		//"optional"
 		public Keyword getOPTIONALOptionalKeyword_1_0() { return cOPTIONALOptionalKeyword_1_0; }
 	}
 
@@ -3117,52 +3261,57 @@
 		private final EnumLiteralDeclaration cLOGICAL_SYSTEM_CLASSEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
 		private final Keyword cLOGICAL_SYSTEM_CLASSLogicalSystemKeyword_6_0 = (Keyword)cLOGICAL_SYSTEM_CLASSEnumLiteralDeclaration_6.eContents().get(0);
 		
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RoomAnnotationTargetEnum'
+		//enum RoomAnnotationTargetEnum:
+		//	DATA_CLASS="DataClass" | ACTOR_CLASS="ActorClass" | ACTOR_BEHAVIOR="ActorBehavior" | PROTOCOL_CLASS="ProtocolClass" |
+		//	COMPOUND_PROTOCOL_CLASS="CompoundProtocolClass" | SUBSYSTEM_CLASS="SubSystemClass" |
+		//	LOGICAL_SYSTEM_CLASS="LogicalSystem";
 		public EnumRule getRule() { return rule; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives'
+		//DATA_CLASS="DataClass" | ACTOR_CLASS="ActorClass" | ACTOR_BEHAVIOR="ActorBehavior" | PROTOCOL_CLASS="ProtocolClass" |
+		//COMPOUND_PROTOCOL_CLASS="CompoundProtocolClass" | SUBSYSTEM_CLASS="SubSystemClass" |
+		//LOGICAL_SYSTEM_CLASS="LogicalSystem"
 		public Alternatives getAlternatives() { return cAlternatives; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.0'
+		//DATA_CLASS="DataClass"
 		public EnumLiteralDeclaration getDATA_CLASSEnumLiteralDeclaration_0() { return cDATA_CLASSEnumLiteralDeclaration_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.0/@literal'
+		//"DataClass"
 		public Keyword getDATA_CLASSDataClassKeyword_0_0() { return cDATA_CLASSDataClassKeyword_0_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.1'
+		//ACTOR_CLASS="ActorClass"
 		public EnumLiteralDeclaration getACTOR_CLASSEnumLiteralDeclaration_1() { return cACTOR_CLASSEnumLiteralDeclaration_1; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.1/@literal'
+		//"ActorClass"
 		public Keyword getACTOR_CLASSActorClassKeyword_1_0() { return cACTOR_CLASSActorClassKeyword_1_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.2'
+		//ACTOR_BEHAVIOR="ActorBehavior"
 		public EnumLiteralDeclaration getACTOR_BEHAVIOREnumLiteralDeclaration_2() { return cACTOR_BEHAVIOREnumLiteralDeclaration_2; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.2/@literal'
+		//"ActorBehavior"
 		public Keyword getACTOR_BEHAVIORActorBehaviorKeyword_2_0() { return cACTOR_BEHAVIORActorBehaviorKeyword_2_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.3'
+		//PROTOCOL_CLASS="ProtocolClass"
 		public EnumLiteralDeclaration getPROTOCOL_CLASSEnumLiteralDeclaration_3() { return cPROTOCOL_CLASSEnumLiteralDeclaration_3; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.3/@literal'
+		//"ProtocolClass"
 		public Keyword getPROTOCOL_CLASSProtocolClassKeyword_3_0() { return cPROTOCOL_CLASSProtocolClassKeyword_3_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.4'
+		//COMPOUND_PROTOCOL_CLASS="CompoundProtocolClass"
 		public EnumLiteralDeclaration getCOMPOUND_PROTOCOL_CLASSEnumLiteralDeclaration_4() { return cCOMPOUND_PROTOCOL_CLASSEnumLiteralDeclaration_4; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.4/@literal'
+		//"CompoundProtocolClass"
 		public Keyword getCOMPOUND_PROTOCOL_CLASSCompoundProtocolClassKeyword_4_0() { return cCOMPOUND_PROTOCOL_CLASSCompoundProtocolClassKeyword_4_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.5'
+		//SUBSYSTEM_CLASS="SubSystemClass"
 		public EnumLiteralDeclaration getSUBSYSTEM_CLASSEnumLiteralDeclaration_5() { return cSUBSYSTEM_CLASSEnumLiteralDeclaration_5; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.5/@literal'
+		//"SubSystemClass"
 		public Keyword getSUBSYSTEM_CLASSSubSystemClassKeyword_5_0() { return cSUBSYSTEM_CLASSSubSystemClassKeyword_5_0; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.6'
+		//LOGICAL_SYSTEM_CLASS="LogicalSystem"
 		public EnumLiteralDeclaration getLOGICAL_SYSTEM_CLASSEnumLiteralDeclaration_6() { return cLOGICAL_SYSTEM_CLASSEnumLiteralDeclaration_6; }
 
-		//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#/0/@rules.56/@alternatives/@elements.6/@literal'
+		//"LogicalSystem"
 		public Keyword getLOGICAL_SYSTEM_CLASSLogicalSystemKeyword_6_0() { return cLOGICAL_SYSTEM_CLASSLogicalSystemKeyword_6_0; }
 	}
 	
@@ -3319,7 +3468,11 @@
 	}
 
 	
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RoomModel'
+	//RoomModel:
+	//	"RoomModel" name=FQN docu=Documentation? "{" imports+=Import* (primitiveTypes+=PrimitiveType |
+	//	enumerationTypes+=EnumerationType | externalTypes+=ExternalType | dataClasses+=DataClass |
+	//	protocolClasses+=GeneralProtocolClass | actorClasses+=ActorClass | subSystemClasses+=SubSystemClass |
+	//	systems+=LogicalSystem | annotationTypes+=AnnotationType)* "}";
 	public RoomModelElements getRoomModelAccess() {
 		return pRoomModel;
 	}
@@ -3328,7 +3481,8 @@
 		return getRoomModelAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RoomClass'
+	//RoomClass:
+	//	DataType | GeneralProtocolClass | StructureClass;
 	public RoomClassElements getRoomClassAccess() {
 		return pRoomClass;
 	}
@@ -3337,7 +3491,8 @@
 		return getRoomClassAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/StructureClass'
+	//StructureClass:
+	//	ActorContainerClass | LogicalSystem;
 	public StructureClassElements getStructureClassAccess() {
 		return pStructureClass;
 	}
@@ -3346,7 +3501,8 @@
 		return getStructureClassAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ActorContainerClass'
+	//ActorContainerClass:
+	//	ActorClass | SubSystemClass;
 	public ActorContainerClassElements getActorContainerClassAccess() {
 		return pActorContainerClass;
 	}
@@ -3355,7 +3511,10 @@
 		return getActorContainerClassAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/VarDecl'
+	//// **************************************************************
+	//// data class
+	//VarDecl:
+	//	name=ID ":" refType=RefableType;
 	public VarDeclElements getVarDeclAccess() {
 		return pVarDecl;
 	}
@@ -3364,7 +3523,8 @@
 		return getVarDeclAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RefableType'
+	//RefableType:
+	//	type=[DataType|FQN] ref?="ref"?;
 	public RefableTypeElements getRefableTypeAccess() {
 		return pRefableType;
 	}
@@ -3373,7 +3533,8 @@
 		return getRefableTypeAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/DataType'
+	//DataType:
+	//	PrimitiveType | EnumerationType | ComplexType;
 	public DataTypeElements getDataTypeAccess() {
 		return pDataType;
 	}
@@ -3382,7 +3543,8 @@
 		return getDataTypeAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ComplexType'
+	//ComplexType:
+	//	DataClass | ExternalType;
 	public ComplexTypeElements getComplexTypeAccess() {
 		return pComplexType;
 	}
@@ -3391,7 +3553,9 @@
 		return getComplexTypeAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/PrimitiveType'
+	//PrimitiveType:
+	//	"PrimitiveType" name=ID ":" type=LiteralType "->" targetName=STRING ("(" castName=FQN ")")? "default"
+	//	defaultValueLiteral=STRING docu=Documentation?;
 	public PrimitiveTypeElements getPrimitiveTypeAccess() {
 		return pPrimitiveType;
 	}
@@ -3400,7 +3564,9 @@
 		return getPrimitiveTypeAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/EnumerationType'
+	//EnumerationType:
+	//	"Enumeration" name=ID docu=Documentation? ("of" primitiveType=[PrimitiveType|FQN])? "{" (literals+=EnumLiteral (","
+	//	literals+=EnumLiteral)*)? "}";
 	public EnumerationTypeElements getEnumerationTypeAccess() {
 		return pEnumerationType;
 	}
@@ -3409,7 +3575,8 @@
 		return getEnumerationTypeAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/EnumLiteral'
+	//EnumLiteral:
+	//	name=ID ("=" literal=IntLiteral)?;
 	public EnumLiteralElements getEnumLiteralAccess() {
 		return pEnumLiteral;
 	}
@@ -3418,7 +3585,8 @@
 		return getEnumLiteralAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ExternalType'
+	//ExternalType:
+	//	"ExternalType" name=ID "->" targetName=STRING ("default" defaultValueLiteral=STRING)? docu=Documentation?;
 	public ExternalTypeElements getExternalTypeAccess() {
 		return pExternalType;
 	}
@@ -3427,7 +3595,11 @@
 		return getExternalTypeAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/DataClass'
+	//// TODOHRR: define detail level language?
+	//DataClass:
+	//	"DataClass" name=ID docu=Documentation? ("extends" base=[DataClass|FQN])? "{" annotations+=Annotation* ("usercode1"
+	//	userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? ("usercode3" userCode3=DetailCode)?
+	//	(operations+=StandardOperation | structors+=ClassStructor | attributes+=Attribute)* "}";
 	public DataClassElements getDataClassAccess() {
 		return pDataClass;
 	}
@@ -3436,7 +3608,8 @@
 		return getDataClassAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/Attribute'
+	//Attribute:
+	//	"Attribute" name=ID ("[" size=INT "]")? ":" type=RefableType? ("=" defaultValueLiteral=STRING)? docu=Documentation?;
 	public AttributeElements getAttributeAccess() {
 		return pAttribute;
 	}
@@ -3445,7 +3618,8 @@
 		return getAttributeAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/Operation'
+	//Operation:
+	//	StandardOperation | PortOperation;
 	public OperationElements getOperationAccess() {
 		return pOperation;
 	}
@@ -3454,7 +3628,9 @@
 		return getOperationAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/StandardOperation'
+	//StandardOperation:
+	//	override?="override"? "Operation" name=ID "(" (arguments+=VarDecl ("," arguments+=VarDecl)*)? ")" (":" ("void" |
+	//	returnType=RefableType))? docu=Documentation? detailCode=DetailCode;
 	public StandardOperationElements getStandardOperationAccess() {
 		return pStandardOperation;
 	}
@@ -3463,7 +3639,9 @@
 		return getStandardOperationAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/PortOperation'
+	//PortOperation:
+	//	"Operation" name=ID "(" (arguments+=VarDecl ("," arguments+=VarDecl)*)? ")" (":" ("void" | returnType=RefableType) |
+	//	"sends" sendsMsg=[Message])? docu=Documentation? detailCode=DetailCode;
 	public PortOperationElements getPortOperationAccess() {
 		return pPortOperation;
 	}
@@ -3472,7 +3650,8 @@
 		return getPortOperationAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ClassStructor'
+	//ClassStructor:
+	//	name=("ctor" | "dtor") detailCode=DetailCode;
 	public ClassStructorElements getClassStructorAccess() {
 		return pClassStructor;
 	}
@@ -3481,7 +3660,10 @@
 		return getClassStructorAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/CommunicationType'
+	//// **************************************************************
+	//// protocol class
+	//enum CommunicationType:
+	//	EVENT_DRIVEN="eventdriven" | DATA_DRIVEN="datadriven" | SYNCHRONOUS="sync";
 	public CommunicationTypeElements getCommunicationTypeAccess() {
 		return unknownRuleCommunicationType;
 	}
@@ -3490,7 +3672,8 @@
 		return getCommunicationTypeAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/GeneralProtocolClass'
+	//GeneralProtocolClass:
+	//	ProtocolClass | CompoundProtocolClass;
 	public GeneralProtocolClassElements getGeneralProtocolClassAccess() {
 		return pGeneralProtocolClass;
 	}
@@ -3499,7 +3682,12 @@
 		return getGeneralProtocolClassAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ProtocolClass'
+	//ProtocolClass:
+	//	commType=CommunicationType? "ProtocolClass" name=ID docu=Documentation? ("extends" base=[ProtocolClass|FQN])? "{"
+	//	annotations+=Annotation* ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? ("usercode3"
+	//	userCode3=DetailCode)? ("incoming" "{" incomingMessages+=Message* "}")? ("outgoing" "{" outgoingMessages+=Message*
+	//	"}")? ("regular" "PortClass" regular=PortClass)? ("conjugated" "PortClass" conjugated=PortClass)?
+	//	semantics=ProtocolSemantics? "}";
 	public ProtocolClassElements getProtocolClassAccess() {
 		return pProtocolClass;
 	}
@@ -3508,7 +3696,8 @@
 		return getProtocolClassAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/CompoundProtocolClass'
+	//CompoundProtocolClass:
+	//	"CompoundProtocolClass" name=ID docu=Documentation? "{" annotations+=Annotation* subProtocols+=SubProtocol* "}";
 	public CompoundProtocolClassElements getCompoundProtocolClassAccess() {
 		return pCompoundProtocolClass;
 	}
@@ -3517,7 +3706,8 @@
 		return getCompoundProtocolClassAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SubProtocol'
+	//SubProtocol:
+	//	"SubProtocol" name=ID ":" protocol=[GeneralProtocolClass|FQN];
 	public SubProtocolElements getSubProtocolAccess() {
 		return pSubProtocol;
 	}
@@ -3526,7 +3716,8 @@
 		return getSubProtocolAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/Message'
+	//Message:
+	//	priv?="private"? "Message" name=ID "(" data=VarDecl? ")" docu=Documentation?;
 	public MessageElements getMessageAccess() {
 		return pMessage;
 	}
@@ -3535,7 +3726,9 @@
 		return getMessageAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/PortClass'
+	//PortClass:
+	//	{PortClass} "{" ("usercode" userCode=DetailCode)? (msgHandlers+=MessageHandler | operations+=PortOperation |
+	//	attributes+=Attribute)* "}";
 	public PortClassElements getPortClassAccess() {
 		return pPortClass;
 	}
@@ -3544,7 +3737,8 @@
 		return getPortClassAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/MessageHandler'
+	//MessageHandler:
+	//	InMessageHandler | OutMessageHandler;
 	public MessageHandlerElements getMessageHandlerAccess() {
 		return pMessageHandler;
 	}
@@ -3553,7 +3747,8 @@
 		return getMessageHandlerAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/InMessageHandler'
+	//InMessageHandler:
+	//	"handle" "incoming" msg=[Message] detailCode=DetailCode;
 	public InMessageHandlerElements getInMessageHandlerAccess() {
 		return pInMessageHandler;
 	}
@@ -3562,7 +3757,8 @@
 		return getInMessageHandlerAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/OutMessageHandler'
+	//OutMessageHandler:
+	//	"handle" "outgoing" msg=[Message] detailCode=DetailCode;
 	public OutMessageHandlerElements getOutMessageHandlerAccess() {
 		return pOutMessageHandler;
 	}
@@ -3571,7 +3767,10 @@
 		return getOutMessageHandlerAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ModelComponent'
+	//// **************************************************************
+	//// actor class
+	//ModelComponent:
+	//	ActorClass;
 	public ModelComponentElements getModelComponentAccess() {
 		return pModelComponent;
 	}
@@ -3580,7 +3779,22 @@
 		return getModelComponentAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ActorClass'
+	//// some notes on ports
+	////
+	//// in ROOM ports can be contained in the structure and/or the interface
+	//// p in s ==> internal end port
+	//// p in i ==> relay port
+	//// p in i and p in s ==> external end port
+	//// since double containment is not supported we decided to define external ports as reference to interface ports
+	//ActorClass:
+	//	(abstract?="abstract"? & commType=ComponentCommunicationType?) "ActorClass" name=ID docu=Documentation? ("extends"
+	//	base=[ActorClass|FQN])? "{" annotations+=Annotation* ("Interface" "{" (serviceProvisionPoints+=SPP |
+	//	interfacePorts+=Port)* "}")? ("Structure" structureDocu=Documentation? "{" ("usercode1" userCode1=DetailCode)?
+	//	("usercode2" userCode2=DetailCode)? ("usercode3" userCode3=DetailCode)? // workaround: reverse the order for serializer
+	//	(connections+=LayerConnection | bindings+=Binding | serviceImplementations+=ServiceImplementation |
+	//	attributes+=Attribute | actorRefs+=ActorRef | serviceAccessPoints+=SAP | internalPorts+=Port |
+	//	externalPorts+=ExternalPort)* "}")? ("Behavior" behaviorDocu=Documentation? "{" behaviorAnnotations+=Annotation*
+	//	(operations+=StandardOperation | structors+=ClassStructor)* stateMachine=StateMachine? "}")? "}";
 	public ActorClassElements getActorClassAccess() {
 		return pActorClass;
 	}
@@ -3589,7 +3803,8 @@
 		return getActorClassAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/InterfaceItem'
+	//InterfaceItem:
+	//	Port | SAP | SPP;
 	public InterfaceItemElements getInterfaceItemAccess() {
 		return pInterfaceItem;
 	}
@@ -3598,7 +3813,9 @@
 		return getInterfaceItemAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/Port'
+	//Port:
+	//	conjugated?="conjugated"? "Port" name=ID multiplicity=MULTIPLICITY? ":" protocol=[GeneralProtocolClass|FQN]
+	//	docu=Documentation?;
 	public PortElements getPortAccess() {
 		return pPort;
 	}
@@ -3607,7 +3824,8 @@
 		return getPortAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ExternalPort'
+	//ExternalPort:
+	//	"external" "Port" interfacePort=[Port];
 	public ExternalPortElements getExternalPortAccess() {
 		return pExternalPort;
 	}
@@ -3616,7 +3834,8 @@
 		return getExternalPortAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SAP'
+	//SAP:
+	//	"SAP" name=ID ":" protocol=[ProtocolClass|FQN];
 	public SAPElements getSAPAccess() {
 		return pSAP;
 	}
@@ -3625,7 +3844,8 @@
 		return getSAPAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SPP'
+	//SPP:
+	//	"SPP" name=ID ":" protocol=[ProtocolClass|FQN];
 	public SPPElements getSPPAccess() {
 		return pSPP;
 	}
@@ -3634,7 +3854,8 @@
 		return getSPPAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ServiceImplementation'
+	//ServiceImplementation:
+	//	"ServiceImplementation" "of" spp=[SPP];
 	public ServiceImplementationElements getServiceImplementationAccess() {
 		return pServiceImplementation;
 	}
@@ -3643,7 +3864,9 @@
 		return getServiceImplementationAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/LogicalSystem'
+	//LogicalSystem:
+	//	"LogicalSystem" name=ID docu=Documentation? "{" annotations+=Annotation* (connections+=LayerConnection |
+	//	bindings+=Binding | subSystems+=SubSystemRef)* "}";
 	public LogicalSystemElements getLogicalSystemAccess() {
 		return pLogicalSystem;
 	}
@@ -3652,7 +3875,8 @@
 		return getLogicalSystemAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ActorContainerRef'
+	//ActorContainerRef:
+	//	SubSystemRef | ActorRef;
 	public ActorContainerRefElements getActorContainerRefAccess() {
 		return pActorContainerRef;
 	}
@@ -3661,7 +3885,8 @@
 		return getActorContainerRefAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SubSystemRef'
+	//SubSystemRef:
+	//	"SubSystemRef" name=ID ":" type=[SubSystemClass|FQN] docu=Documentation?;
 	public SubSystemRefElements getSubSystemRefAccess() {
 		return pSubSystemRef;
 	}
@@ -3670,7 +3895,11 @@
 		return getSubSystemRefAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SubSystemClass'
+	//SubSystemClass:
+	//	"SubSystemClass" name=ID docu=Documentation? "{" annotations+=Annotation* ("usercode1" userCode1=DetailCode)?
+	//	("usercode2" userCode2=DetailCode)? ("usercode3" userCode3=DetailCode)? // workaround: reverse the order for serializer
+	//	(actorInstanceMappings+=ActorInstanceMapping | threads+=LogicalThread | connections+=LayerConnection |
+	//	bindings+=Binding | actorRefs+=ActorRef | serviceProvisionPoints+=SPP | relayPorts+=Port)* "}";
 	public SubSystemClassElements getSubSystemClassAccess() {
 		return pSubSystemClass;
 	}
@@ -3679,7 +3908,8 @@
 		return getSubSystemClassAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/LogicalThread'
+	//LogicalThread:
+	//	"LogicalThread" name=ID;
 	public LogicalThreadElements getLogicalThreadAccess() {
 		return pLogicalThread;
 	}
@@ -3688,7 +3918,9 @@
 		return getLogicalThreadAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ActorInstanceMapping'
+	//ActorInstanceMapping:
+	//	"ActorInstanceMapping" path=RefPath "->" thread=[LogicalThread] ("{" actorInstanceMappings+=ActorInstanceMapping*
+	//	"}")?;
 	public ActorInstanceMappingElements getActorInstanceMappingAccess() {
 		return pActorInstanceMapping;
 	}
@@ -3697,7 +3929,8 @@
 		return getActorInstanceMappingAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RefPath'
+	//RefPath:
+	//	refs+=RefSegment ("/" refs+=RefSegment)*;
 	public RefPathElements getRefPathAccess() {
 		return pRefPath;
 	}
@@ -3706,7 +3939,8 @@
 		return getRefPathAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RefSegment'
+	//RefSegment:
+	//	ref=ID (":" idx=INT)?;
 	public RefSegmentElements getRefSegmentAccess() {
 		return pRefSegment;
 	}
@@ -3715,7 +3949,8 @@
 		return getRefSegmentAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/Binding'
+	//Binding:
+	//	"Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint;
 	public BindingElements getBindingAccess() {
 		return pBinding;
 	}
@@ -3724,7 +3959,8 @@
 		return getBindingAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/BindingEndPoint'
+	//BindingEndPoint:
+	//	(actorRef=[ActorContainerRef] ".")? port=[Port] ("sub" sub=[SubProtocol])?;
 	public BindingEndPointElements getBindingEndPointAccess() {
 		return pBindingEndPoint;
 	}
@@ -3733,7 +3969,8 @@
 		return getBindingEndPointAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/LayerConnection'
+	//LayerConnection:
+	//	"LayerConnection" from=SAPoint "satisfied_by" to=SPPoint;
 	public LayerConnectionElements getLayerConnectionAccess() {
 		return pLayerConnection;
 	}
@@ -3742,7 +3979,8 @@
 		return getLayerConnectionAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SAPoint'
+	//SAPoint:
+	//	RefSAPoint | RelaySAPoint;
 	public SAPointElements getSAPointAccess() {
 		return pSAPoint;
 	}
@@ -3751,7 +3989,8 @@
 		return getSAPointAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RefSAPoint'
+	//RefSAPoint: // satisfies a sub actor
+	//	"ref" ref=[ActorContainerRef];
 	public RefSAPointElements getRefSAPointAccess() {
 		return pRefSAPoint;
 	}
@@ -3760,7 +3999,8 @@
 		return getRefSAPointAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RelaySAPoint'
+	//RelaySAPoint: // relays from own interface
+	//	"relay_sap" relay=[SPP];
 	public RelaySAPointElements getRelaySAPointAccess() {
 		return pRelaySAPoint;
 	}
@@ -3769,7 +4009,8 @@
 		return getRelaySAPointAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/SPPoint'
+	//SPPoint:
+	//	ref=[ActorContainerRef] "." service=[SPP];
 	public SPPointElements getSPPointAccess() {
 		return pSPPoint;
 	}
@@ -3778,7 +4019,8 @@
 		return getSPPointAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ActorRef'
+	//ActorRef:
+	//	refType=ReferenceType? "ActorRef" name=ID multiplicity=MULTIPLICITY? ":" type=[ActorClass|FQN] docu=Documentation?;
 	public ActorRefElements getActorRefAccess() {
 		return pActorRef;
 	}
@@ -3787,7 +4029,9 @@
 		return getActorRefAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/ReferenceType'
+	//// IMPORTED='imported'
+	//enum ReferenceType:
+	//	FIXED="fixed" | OPTIONAL="optional";
 	public ReferenceTypeElements getReferenceTypeAccess() {
 		return unknownRuleReferenceType;
 	}
@@ -3796,7 +4040,11 @@
 		return getReferenceTypeAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/AbstractInterfaceItem'
+	//// **************************************************************
+	//// concrete message and interface item for state machines
+	////AbstractMessage: Message;
+	//AbstractInterfaceItem:
+	//	InterfaceItem;
 	public AbstractInterfaceItemElements getAbstractInterfaceItemAccess() {
 		return pAbstractInterfaceItem;
 	}
@@ -3805,7 +4053,12 @@
 		return getAbstractInterfaceItemAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/MULTIPLICITY'
+	//// **************************************************************
+	//// general
+	//// the following is a data type rule (accompanied by a value converter) and must not be a terminal rule
+	//// (because then the lexer already would find this in places where it is not expected, e.g. in an Attribute)
+	//MULTIPLICITY returns ecore::EInt:
+	//	"[" ("*" | INT) "]";
 	public MULTIPLICITYElements getMULTIPLICITYAccess() {
 		return pMULTIPLICITY;
 	}
@@ -3814,7 +4067,9 @@
 		return getMULTIPLICITYAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/AnnotationTargetType'
+	//AnnotationTargetType:
+	//	"DataClass" | "ActorClass" | "ActorBehavior" | "ProtocolClass" | "CompoundProtocolClass" | "SubSystemClass" |
+	//	"LogicalSystem";
 	public AnnotationTargetTypeElements getAnnotationTargetTypeAccess() {
 		return pAnnotationTargetType;
 	}
@@ -3823,7 +4078,10 @@
 		return getAnnotationTargetTypeAccess().getRule();
 	}
 
-	//org.eclipse.xtext.resource.ClasspathUriResolutionException: org.eclipse.xtext.resource.FileNotFoundOnClasspathException: Couldn't find resource on classpath. URI was 'classpath:/org/eclipse/etrice/core/Room.xtext#XtextFragmentProvider_org.eclipse.etrice.core.Room/RoomAnnotationTargetEnum'
+	//enum RoomAnnotationTargetEnum:
+	//	DATA_CLASS="DataClass" | ACTOR_CLASS="ActorClass" | ACTOR_BEHAVIOR="ActorBehavior" | PROTOCOL_CLASS="ProtocolClass" |
+	//	COMPOUND_PROTOCOL_CLASS="CompoundProtocolClass" | SUBSYSTEM_CLASS="SubSystemClass" |
+	//	LOGICAL_SYSTEM_CLASS="LogicalSystem";
 	public RoomAnnotationTargetEnumElements getRoomAnnotationTargetEnumAccess() {
 		return unknownRuleRoomAnnotationTargetEnum;
 	}
@@ -4447,7 +4705,7 @@
 	}
 
 	//Integer returns ecore::ELong:
-	//	SignedInteger | Hexadecimal;
+	//	("+" | "-")? INT | HEX;
 	public BaseGrammarAccess.IntegerElements getIntegerAccess() {
 		return gaFSM.getIntegerAccess();
 	}
@@ -4456,28 +4714,8 @@
 		return getIntegerAccess().getRule();
 	}
 
-	//SignedInteger hidden():
-	//	("+" | "-")? INT;
-	public BaseGrammarAccess.SignedIntegerElements getSignedIntegerAccess() {
-		return gaFSM.getSignedIntegerAccess();
-	}
-	
-	public ParserRule getSignedIntegerRule() {
-		return getSignedIntegerAccess().getRule();
-	}
-
-	//Hexadecimal hidden():
-	//	HEX;
-	public BaseGrammarAccess.HexadecimalElements getHexadecimalAccess() {
-		return gaFSM.getHexadecimalAccess();
-	}
-	
-	public ParserRule getHexadecimalRule() {
-		return getHexadecimalAccess().getRule();
-	}
-
 	//Real returns ecore::EDouble:
-	//	Decimal | DotDecimal | DecimalDot | DecimalExp;
+	//	Decimal | / *DotDecimal | DecimalDot |* / DecimalExp;
 	public BaseGrammarAccess.RealElements getRealAccess() {
 		return gaFSM.getRealAccess();
 	}
@@ -4496,28 +4734,13 @@
 		return getDecimalAccess().getRule();
 	}
 
-	//DotDecimal hidden():
-	//	("+" | "-")? "." INT;
-	public BaseGrammarAccess.DotDecimalElements getDotDecimalAccess() {
-		return gaFSM.getDotDecimalAccess();
-	}
-	
-	public ParserRule getDotDecimalRule() {
-		return getDotDecimalAccess().getRule();
-	}
-
-	//DecimalDot hidden():
-	//	("+" | "-")? INT ".";
-	public BaseGrammarAccess.DecimalDotElements getDecimalDotAccess() {
-		return gaFSM.getDecimalDotAccess();
-	}
-	
-	public ParserRule getDecimalDotRule() {
-		return getDecimalDotAccess().getRule();
-	}
-
+	////DotDecimal hidden():
+	////	('+' | '-')? '.' INT;
+	////
+	////DecimalDot hidden():
+	////	('+' | '-')? INT '.';
 	//DecimalExp hidden():
-	//	("+" | "-")? INT "." INT EXP;
+	//	("+" | "-")? INT "." INT ("e" | "E") ("+" | "-")? INT;
 	public BaseGrammarAccess.DecimalExpElements getDecimalExpAccess() {
 		return gaFSM.getDecimalExpAccess();
 	}
@@ -4526,18 +4749,6 @@
 		return getDecimalExpAccess().getRule();
 	}
 
-	//terminal EXP:
-	//	("e" | "E") ("+" | "-")? "0".."9"+;
-	public TerminalRule getEXPRule() {
-		return gaFSM.getEXPRule();
-	} 
-
-	//terminal HEX:
-	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
-	public TerminalRule getHEXRule() {
-		return gaFSM.getHEXRule();
-	} 
-
 	//FQN:
 	//	ID ("." ID)*;
 	public BaseGrammarAccess.FQNElements getFQNAccess() {
@@ -4548,6 +4759,12 @@
 		return getFQNAccess().getRule();
 	}
 
+	//terminal HEX:
+	//	("0x" | "0X") ("0".."9" | "a".."f" | "A".."F")+;
+	public TerminalRule getHEXRule() {
+		return gaFSM.getHEXRule();
+	} 
+
 	//terminal ID:
 	//	"^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
 	public TerminalRule getIDRule() {
diff --git a/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/RoomJavaValidator.java b/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/RoomJavaValidator.java
index 4de98b4..5945e23 100644
--- a/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/RoomJavaValidator.java
+++ b/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/RoomJavaValidator.java
@@ -111,6 +111,7 @@
 	public static final String INVALID_ANNOTATION_TARGET = "RoomJavaValidator.InvalidAnnotationTarget";
 	public static final String OPERATION_MISSING_OVERRIDE = "RoomJavaValidator.OperationMissingOverride";
 	public static final String OPERATION_EXTRANEOUS_OVERRIDE = "RoomJavaValidator.OperationExtraneousOverride";
+	public static final String INCONSISTENT_COMMUNICATION_TYPE = "RoomJavaValidator.InconsistentCommType";
 
 	@Inject ImportUriResolver importUriResolver;
 
@@ -321,6 +322,7 @@
 			return;
 
 		ComponentCommunicationType commType = ac.getCommType();
+		String acName = ac.getName();
 
 		switch (commType) {
 		case ASYNCHRONOUS:
@@ -336,8 +338,17 @@
 		while (ac.getActorBase()!=null) {
 			ac = ac.getActorBase();
 
-			if (commType!=ac.getCommType())
-				error("data_driven attribute not consistent in inheritance hierarchy", FSMPackage.eINSTANCE.getModelComponent_CommType());
+			if (commType!=ac.getCommType()) {
+				error("Communication type '"+commType.getLiteral()+"' is not consistent with the "
+						+"base class '"+ac.getName()+"' which uses '"+ac.getCommType().getLiteral()
+						+"' (if not explicitly specified then 'eventdriven' is the default).",
+						FSMPackage.eINSTANCE.getModelComponent_CommType(),
+						
+						// remaining parameters for quick fix
+						INCONSISTENT_COMMUNICATION_TYPE,
+						ac.getCommType().getLiteral(),
+						acName);
+			}
 		}
 	}
 
diff --git a/plugins/org.eclipse.etrice.doc/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.doc/META-INF/MANIFEST.MF
index 1aa756f..2f10635 100644
--- a/plugins/org.eclipse.etrice.doc/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.doc/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Documentation
 Bundle-SymbolicName: org.eclipse.etrice.doc;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Vendor: Eclipse eTrice
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
diff --git a/plugins/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF
index 177b637..3442afa 100644
--- a/plugins/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: etUnit File Converter
 Bundle-SymbolicName: org.eclipse.etrice.etunit.converter;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse eTrice
 Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java b/plugins/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java
index aba3de1..1134507 100644
--- a/plugins/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java
+++ b/plugins/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java
@@ -46,9 +46,11 @@
 	protected static class Options {
 		private boolean combinedResults = false;
 		private boolean replaceSuiteName = false;
+		private boolean prefixSuiteName = false;
 		private boolean onlyCombinedResults = false;
 		private String combinedFile = null;
 		private String suiteName = null;
+		private String suiteNamePrefix = null;
 		private ArrayList<String> files = new ArrayList<String>();
 		
 		public boolean isCombinedResults() {
@@ -66,6 +68,14 @@
 		public void setReplaceSuiteName(boolean replaceSuiteName) {
 			this.replaceSuiteName = replaceSuiteName;
 		}
+		
+		public boolean isPrefixSuiteName() {
+			return prefixSuiteName;
+		}
+		
+		public void setPrefixSuiteName(boolean appendSuiteName) {
+			this.prefixSuiteName = appendSuiteName;
+		}
 
 		public boolean isOnlyCombinedResults() {
 			return onlyCombinedResults;
@@ -90,6 +100,14 @@
 		public void setSuiteName(String suiteName) {
 			this.suiteName = suiteName;
 		}
+		
+		public String getSuiteNamePrefix() {
+			return suiteNamePrefix;
+		}
+		
+		public void setSuiteNamePrefix(String suiteNamePrefix) {
+			this.suiteNamePrefix = suiteNamePrefix;
+		}
 
 		public ArrayList<String> getFiles() {
 			return files;
@@ -125,6 +143,16 @@
 						return false;
 					}
 				}
+				else if(args[i].equals(OPTION_SUITE_NAME_PREFIX)) {
+					setPrefixSuiteName(true);
+					if(++i < args.length) {
+						setSuiteNamePrefix(args[i]);
+					}
+					else {
+						System.err.println("Error: " + OPTION_SUITE_NAME_PREFIX + "must be followed by a suite name prefix");
+						return false;
+					}
+				}
 				else if (args[i].equals(OPTION_ONLY_COMBINED)) {
 					setCombinedResults(true);
 					setOnlyCombinedResults(true);
@@ -179,12 +207,14 @@
 	public static final String OPTION_COMBINED = "-combined";
 	public static final String OPTION_ONLY_COMBINED = "-only_combined";
 	public static final String OPTION_SUITE_NAME = "-suite";
+	public static final String OPTION_SUITE_NAME_PREFIX = "-presuite";
 
 	protected void printUsage() {
 		System.err.println("usage: EtUnitReportConverter [("+OPTION_COMBINED+"|"+OPTION_ONLY_COMBINED+") <combined file>] ["+OPTION_SUITE_NAME+" <name>] <*"+ETU_EXTENSION+" files>\n"
 				+"    "+OPTION_COMBINED+" <combined file>: also save a combined result for all tests to the specified file\n"
 				+"    "+OPTION_ONLY_COMBINED+" <combined file>: don't create reports for every single test, only combined one to the specified file\n"
 				+"    "+OPTION_SUITE_NAME+" <name>: replace the suite name in the result\n"
+				+"    "+OPTION_SUITE_NAME_PREFIX+" <prefix>: prefix the prefix to the suitename\n"
 			);
 	}
 	
@@ -274,6 +304,13 @@
 						}
 					}
 				}
+				if(root != null && options.isPrefixSuiteName()) {
+					if(root.getTestsuites() != null) {
+						for(TestsuiteType suite : root.getTestsuites().getTestsuite()) {
+							suite.setName(options.getSuiteNamePrefix() + suite.getName());
+						}
+					}
+				}
 				if (root!=null) {
 					if (!saveJUnitReport(root, report, rs, !options.isCombinedResults()))
 						success = false;
diff --git a/plugins/org.eclipse.etrice.generator.c/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.c/META-INF/MANIFEST.MF
index 7a3ac63..180867e 100644
--- a/plugins/org.eclipse.etrice.generator.c/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.c/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice C Generator
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.generator.c;singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.genmodel;bundle-version="1.0.1",
- org.eclipse.etrice.core.etphys;bundle-version="1.0.1",
- org.eclipse.etrice.core.etmap;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator.config;bundle-version="1.0.1",
- org.eclipse.etrice.generator.doc;bundle-version="1.0.1",
- org.eclipse.etrice.generator.gnuplot;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.genmodel;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etphys;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etmap;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.config;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.doc;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.gnuplot;bundle-version="1.1.0",
  org.eclipse.core.resources;bundle-version="3.6.0",
  org.eclipse.core.runtime;bundle-version="3.6.0",
  org.eclipse.ui;bundle-version="3.7.0",
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/CExtensions.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/CExtensions.xtend
index 55779be..e27d01a 100644
--- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/CExtensions.xtend
+++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/CExtensions.xtend
@@ -73,7 +73,9 @@
 
 	override String selfPointer(boolean hasArgs) { if (hasArgs) "self, " else "self" }
 
-	override String operationScope(String classname, boolean isDeclaration){classname+"_"}
+	override String scopeSeparator() {""}
+	
+	override String operationScope(String classname, boolean isDeclaration) {classname+"_"}
 
 	override String memberInDeclaration(String namespace, String member) {
 		return namespace+"_"+member
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java
index b5cb028..252b019 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java
@@ -131,6 +131,7 @@
       final ActorClass ac = xpac.getActorClass();
       List<Port> _allEndPorts = this._roomHelpers.getAllEndPorts(ac);
       final Function1<Port, Boolean> _function = new Function1<Port, Boolean>() {
+        @Override
         public Boolean apply(final Port p) {
           GeneralProtocolClass _protocol = p.getProtocol();
           CommunicationType _commType = ((ProtocolClass) _protocol).getCommType();
@@ -140,36 +141,17 @@
       final Iterable<Port> eventPorts = IterableExtensions.<Port>filter(_allEndPorts, _function);
       List<Port> _allEndPorts_1 = this._roomHelpers.getAllEndPorts(ac);
       final Function1<Port, Boolean> _function_1 = new Function1<Port, Boolean>() {
+        @Override
         public Boolean apply(final Port p) {
-          boolean _and = false;
-          GeneralProtocolClass _protocol = p.getProtocol();
-          CommunicationType _commType = ((ProtocolClass) _protocol).getCommType();
-          boolean _equals = Objects.equal(_commType, CommunicationType.DATA_DRIVEN);
-          if (!_equals) {
-            _and = false;
-          } else {
-            boolean _isConjugated = p.isConjugated();
-            _and = _isConjugated;
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf((Objects.equal(((ProtocolClass) p.getProtocol()).getCommType(), CommunicationType.DATA_DRIVEN) && p.isConjugated()));
         }
       };
       final Iterable<Port> sendPorts = IterableExtensions.<Port>filter(_allEndPorts_1, _function_1);
       List<Port> _allEndPorts_2 = this._roomHelpers.getAllEndPorts(ac);
       final Function1<Port, Boolean> _function_2 = new Function1<Port, Boolean>() {
+        @Override
         public Boolean apply(final Port p) {
-          boolean _and = false;
-          GeneralProtocolClass _protocol = p.getProtocol();
-          CommunicationType _commType = ((ProtocolClass) _protocol).getCommType();
-          boolean _equals = Objects.equal(_commType, CommunicationType.DATA_DRIVEN);
-          if (!_equals) {
-            _and = false;
-          } else {
-            boolean _isConjugated = p.isConjugated();
-            boolean _not = (!_isConjugated);
-            _and = _not;
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf((Objects.equal(((ProtocolClass) p.getProtocol()).getCommType(), CommunicationType.DATA_DRIVEN) && (!p.isConjugated())));
         }
       };
       final Iterable<Port> recvPorts = IterableExtensions.<Port>filter(_allEndPorts_2, _function_2);
@@ -177,64 +159,8 @@
       final boolean dataDriven = Objects.equal(_commType, ComponentCommunicationType.DATA_DRIVEN);
       ComponentCommunicationType _commType_1 = ac.getCommType();
       final boolean async = Objects.equal(_commType_1, ComponentCommunicationType.ASYNCHRONOUS);
-      boolean _or = false;
-      boolean _and = false;
-      boolean _and_1 = false;
-      boolean _and_2 = false;
-      boolean _isEmpty = IterableExtensions.isEmpty(eventPorts);
-      if (!_isEmpty) {
-        _and_2 = false;
-      } else {
-        boolean _isEmpty_1 = IterableExtensions.isEmpty(recvPorts);
-        _and_2 = _isEmpty_1;
-      }
-      if (!_and_2) {
-        _and_1 = false;
-      } else {
-        List<SAP> _allSAPs = this._roomHelpers.getAllSAPs(ac);
-        boolean _isEmpty_2 = _allSAPs.isEmpty();
-        _and_1 = _isEmpty_2;
-      }
-      if (!_and_1) {
-        _and = false;
-      } else {
-        List<ServiceImplementation> _allServiceImplementations = this._roomHelpers.getAllServiceImplementations(ac);
-        boolean _isEmpty_3 = _allServiceImplementations.isEmpty();
-        _and = _isEmpty_3;
-      }
-      boolean _not = (!_and);
-      if (_not) {
-        _or = true;
-      } else {
-        GlobalGeneratorSettings _settings = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-        _or = _isGenerateMSCInstrumentation;
-      }
-      final boolean hasConstData = _or;
-      boolean _and_3 = false;
-      boolean _and_4 = false;
-      boolean _and_5 = false;
-      boolean _isEmpty_4 = IterableExtensions.isEmpty(sendPorts);
-      if (!_isEmpty_4) {
-        _and_5 = false;
-      } else {
-        List<Attribute> _allAttributes = this._roomHelpers.getAllAttributes(ac);
-        boolean _isEmpty_5 = _allAttributes.isEmpty();
-        _and_5 = _isEmpty_5;
-      }
-      if (!_and_5) {
-        _and_4 = false;
-      } else {
-        StateGraph _stateMachine = xpac.getStateMachine();
-        boolean _isEmpty_6 = this._roomHelpers.isEmpty(_stateMachine);
-        _and_4 = _isEmpty_6;
-      }
-      if (!_and_4) {
-        _and_3 = false;
-      } else {
-        _and_3 = (!hasConstData);
-      }
-      final boolean hasVarData = (!_and_3);
+      final boolean hasConstData = ((!(((IterableExtensions.isEmpty(eventPorts) && IterableExtensions.isEmpty(recvPorts)) && this._roomHelpers.getAllSAPs(ac).isEmpty()) && this._roomHelpers.getAllServiceImplementations(ac).isEmpty())) || Main.getSettings().isGenerateMSCInstrumentation());
+      final boolean hasVarData = (!(((IterableExtensions.isEmpty(sendPorts) && this._roomHelpers.getAllAttributes(ac).isEmpty()) && this._roomHelpers.isEmpty(xpac.getStateMachine())) && (!hasConstData)));
       StringConcatenation _builder = new StringConcatenation();
       _builder.append("/**");
       _builder.newLine();
@@ -316,9 +242,9 @@
           _builder.append("_const {");
           _builder.newLineIfNotEmpty();
           {
-            GlobalGeneratorSettings _settings_1 = Main.getSettings();
-            boolean _isGenerateMSCInstrumentation_1 = _settings_1.isGenerateMSCInstrumentation();
-            if (_isGenerateMSCInstrumentation_1) {
+            GlobalGeneratorSettings _settings = Main.getSettings();
+            boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
+            if (_isGenerateMSCInstrumentation) {
               _builder.append("\t");
               _builder.append("const char* instName;");
               _builder.newLine();
@@ -375,8 +301,8 @@
           _builder.append("/* saps */");
           _builder.newLine();
           {
-            List<SAP> _allSAPs_1 = this._roomHelpers.getAllSAPs(ac);
-            for(final SAP sap : _allSAPs_1) {
+            List<SAP> _allSAPs = this._roomHelpers.getAllSAPs(ac);
+            for(final SAP sap : _allSAPs) {
               _builder.append("\t");
               _builder.append("const ");
               String _portClassName_2 = this._roomExtensions.getPortClassName(sap);
@@ -414,8 +340,8 @@
           _builder.append("/* services */");
           _builder.newLine();
           {
-            List<ServiceImplementation> _allServiceImplementations_1 = this._roomHelpers.getAllServiceImplementations(ac);
-            for(final ServiceImplementation svc : _allServiceImplementations_1) {
+            List<ServiceImplementation> _allServiceImplementations = this._roomHelpers.getAllServiceImplementations(ac);
+            for(final ServiceImplementation svc : _allServiceImplementations) {
               _builder.append("\t");
               _builder.append("const etReplPort ");
               SPP _spp = svc.getSpp();
@@ -437,10 +363,10 @@
       }
       _builder.newLine();
       {
-        StateGraph _stateMachine_1 = xpac.getStateMachine();
-        boolean _isEmpty_7 = this._roomHelpers.isEmpty(_stateMachine_1);
-        boolean _not_1 = (!_isEmpty_7);
-        if (_not_1) {
+        StateGraph _stateMachine = xpac.getStateMachine();
+        boolean _isEmpty = this._roomHelpers.isEmpty(_stateMachine);
+        boolean _not = (!_isEmpty);
+        if (_not) {
           _builder.newLine();
           CharSequence _genHeaderConstants = this._stateMachineGen.genHeaderConstants(xpac);
           _builder.append(_genHeaderConstants, "");
@@ -491,16 +417,16 @@
           }
           _builder.newLine();
           _builder.append("\t");
-          List<Attribute> _allAttributes_1 = this._roomHelpers.getAllAttributes(ac);
-          CharSequence _attributes = this._procedureHelpers.attributes(_allAttributes_1);
+          List<Attribute> _allAttributes = this._roomHelpers.getAllAttributes(ac);
+          CharSequence _attributes = this._procedureHelpers.attributes(_allAttributes);
           _builder.append(_attributes, "\t");
           _builder.newLineIfNotEmpty();
           _builder.newLine();
           {
-            StateGraph _stateMachine_2 = xpac.getStateMachine();
-            boolean _isEmpty_8 = this._roomHelpers.isEmpty(_stateMachine_2);
-            boolean _not_2 = (!_isEmpty_8);
-            if (_not_2) {
+            StateGraph _stateMachine_1 = xpac.getStateMachine();
+            boolean _isEmpty_1 = this._roomHelpers.isEmpty(_stateMachine_1);
+            boolean _not_1 = (!_isEmpty_1);
+            if (_not_1) {
               _builder.newLine();
               _builder.append("\t");
               CharSequence _genDataMembers = this._stateMachineGen.genDataMembers(xpac);
@@ -552,13 +478,7 @@
       _builder.newLineIfNotEmpty();
       _builder.newLine();
       {
-        boolean _or_1 = false;
-        if (dataDriven) {
-          _or_1 = true;
-        } else {
-          _or_1 = async;
-        }
-        if (_or_1) {
+        if ((dataDriven || async)) {
           _builder.append("void ");
           String _name_17 = ac.getName();
           _builder.append(_name_17, "");
@@ -599,6 +519,7 @@
       final ActorClass ac = xpac.getActorClass();
       List<Port> _allEndPorts = this._roomHelpers.getAllEndPorts(ac);
       final Function1<Port, Boolean> _function = new Function1<Port, Boolean>() {
+        @Override
         public Boolean apply(final Port p) {
           GeneralProtocolClass _protocol = p.getProtocol();
           CommunicationType _commType = ((ProtocolClass) _protocol).getCommType();
@@ -607,6 +528,7 @@
       };
       final Iterable<Port> eventPorts = IterableExtensions.<Port>filter(_allEndPorts, _function);
       final Function1<Port, Boolean> _function_1 = new Function1<Port, Boolean>() {
+        @Override
         public Boolean apply(final Port it) {
           int _multiplicity = it.getMultiplicity();
           return Boolean.valueOf((_multiplicity != 1));
@@ -615,71 +537,25 @@
       final Iterable<Port> replEventPorts = IterableExtensions.<Port>filter(eventPorts, _function_1);
       List<Port> _allEndPorts_1 = this._roomHelpers.getAllEndPorts(ac);
       final Function1<Port, Boolean> _function_2 = new Function1<Port, Boolean>() {
+        @Override
         public Boolean apply(final Port p) {
-          boolean _and = false;
-          boolean _and_1 = false;
-          GeneralProtocolClass _protocol = p.getProtocol();
-          CommunicationType _commType = ((ProtocolClass) _protocol).getCommType();
-          boolean _equals = Objects.equal(_commType, CommunicationType.DATA_DRIVEN);
-          if (!_equals) {
-            _and_1 = false;
-          } else {
-            boolean _isConjugated = p.isConjugated();
-            _and_1 = _isConjugated;
-          }
-          if (!_and_1) {
-            _and = false;
-          } else {
-            int _multiplicity = p.getMultiplicity();
-            boolean _equals_1 = (_multiplicity == 1);
-            _and = _equals_1;
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf(((Objects.equal(((ProtocolClass) p.getProtocol()).getCommType(), CommunicationType.DATA_DRIVEN) && p.isConjugated()) && (p.getMultiplicity() == 1)));
         }
       };
       final Iterable<Port> sendPorts = IterableExtensions.<Port>filter(_allEndPorts_1, _function_2);
       List<Port> _allEndPorts_2 = this._roomHelpers.getAllEndPorts(ac);
       final Function1<Port, Boolean> _function_3 = new Function1<Port, Boolean>() {
+        @Override
         public Boolean apply(final Port p) {
-          boolean _and = false;
-          boolean _and_1 = false;
-          GeneralProtocolClass _protocol = p.getProtocol();
-          CommunicationType _commType = ((ProtocolClass) _protocol).getCommType();
-          boolean _equals = Objects.equal(_commType, CommunicationType.DATA_DRIVEN);
-          if (!_equals) {
-            _and_1 = false;
-          } else {
-            boolean _isConjugated = p.isConjugated();
-            boolean _not = (!_isConjugated);
-            _and_1 = _not;
-          }
-          if (!_and_1) {
-            _and = false;
-          } else {
-            int _multiplicity = p.getMultiplicity();
-            boolean _equals_1 = (_multiplicity == 1);
-            _and = _equals_1;
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf(((Objects.equal(((ProtocolClass) p.getProtocol()).getCommType(), CommunicationType.DATA_DRIVEN) && (!p.isConjugated())) && (p.getMultiplicity() == 1)));
         }
       };
       final Iterable<Port> recvPorts = IterableExtensions.<Port>filter(_allEndPorts_2, _function_3);
       List<InterfaceItem> _allInterfaceItems = this._roomHelpers.getAllInterfaceItems(ac);
       final Function1<InterfaceItem, Boolean> _function_4 = new Function1<InterfaceItem, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItem p) {
-          boolean _and = false;
-          PortClass _portClass = ActorClassGen.this._roomHelpers.getPortClass(p);
-          boolean _notEquals = (!Objects.equal(_portClass, null));
-          if (!_notEquals) {
-            _and = false;
-          } else {
-            PortClass _portClass_1 = ActorClassGen.this._roomHelpers.getPortClass(p);
-            EList<PortOperation> _operations = _portClass_1.getOperations();
-            int _size = _operations.size();
-            boolean _greaterThan = (_size > 0);
-            _and = _greaterThan;
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf(((!Objects.equal(ActorClassGen.this._roomHelpers.getPortClass(p), null)) && (ActorClassGen.this._roomHelpers.getPortClass(p).getOperations().size() > 0)));
         }
       };
       final Iterable<InterfaceItem> portsWithOperations = IterableExtensions.<InterfaceItem>filter(_allInterfaceItems, _function_4);
@@ -732,6 +608,7 @@
       _builder.newLine();
       {
         final Function1<Port, Boolean> _function_5 = new Function1<Port, Boolean>() {
+          @Override
           public Boolean apply(final Port it) {
             int _multiplicity = it.getMultiplicity();
             return Boolean.valueOf((_multiplicity == 1));
@@ -1215,13 +1092,7 @@
       final boolean eventDriven = Objects.equal(_commType_1, ComponentCommunicationType.EVENT_DRIVEN);
       ComponentCommunicationType _commType_2 = ac.getCommType();
       final boolean dataDriven = Objects.equal(_commType_2, ComponentCommunicationType.DATA_DRIVEN);
-      boolean _or = false;
-      if (async) {
-        _or = true;
-      } else {
-        _or = eventDriven;
-      }
-      final boolean handleEvents = _or;
+      final boolean handleEvents = (async || eventDriven);
       StringConcatenation _builder = new StringConcatenation();
       _builder.append("/**");
       _builder.newLine();
@@ -1372,13 +1243,7 @@
       _builder.newLine();
       _builder.newLine();
       {
-        boolean _or_1 = false;
-        if (dataDriven) {
-          _or_1 = true;
-        } else {
-          _or_1 = async;
-        }
-        if (_or_1) {
+        if ((dataDriven || async)) {
           _builder.append("void ");
           String _name_8 = ac.getName();
           _builder.append(_name_8, "");
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/CExtensions.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/CExtensions.java
index 904e1e2..17987b6 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/CExtensions.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/CExtensions.java
@@ -52,6 +52,7 @@
   @Extension
   protected RoomHelpers _roomHelpers;
   
+  @Override
   public String getTypedDataDefinition(final EObject msg) {
     String _xifexpression = null;
     if ((msg instanceof Message)) {
@@ -64,22 +65,27 @@
     return _xifexpression;
   }
   
+  @Override
   public String accessLevelPrivate() {
     return "static ";
   }
   
+  @Override
   public String accessLevelProtected() {
     return "static ";
   }
   
+  @Override
   public String accessLevelPublic() {
     return "";
   }
   
+  @Override
   public String memberAccess() {
     return "self->";
   }
   
+  @Override
   public String selfPointer(final String classname, final boolean hasArgs) {
     String _xifexpression = null;
     if (hasArgs) {
@@ -90,6 +96,7 @@
     return (classname + _xifexpression);
   }
   
+  @Override
   public String selfPointer(final boolean hasArgs) {
     String _xifexpression = null;
     if (hasArgs) {
@@ -100,14 +107,22 @@
     return _xifexpression;
   }
   
+  @Override
+  public String scopeSeparator() {
+    return "";
+  }
+  
+  @Override
   public String operationScope(final String classname, final boolean isDeclaration) {
     return (classname + "_");
   }
   
+  @Override
   public String memberInDeclaration(final String namespace, final String member) {
     return ((namespace + "_") + member);
   }
   
+  @Override
   public String memberInUse(final String namespace, final String member) {
     return ((namespace + "_") + member);
   }
@@ -232,14 +247,17 @@
     return _builder;
   }
   
+  @Override
   public boolean usesInheritance() {
     return false;
   }
   
+  @Override
   public boolean usesPointers() {
     return true;
   }
   
+  @Override
   public String genEnumeration(final String name, final List<Pair<String, String>> entries) {
     String _xblockexpression = null;
     {
@@ -276,6 +294,7 @@
     return _xblockexpression;
   }
   
+  @Override
   public String booleanConstant(final boolean b) {
     String _xifexpression = null;
     if (b) {
@@ -286,18 +305,22 @@
     return _xifexpression;
   }
   
+  @Override
   public String pointerLiteral() {
     return "*";
   }
   
+  @Override
   public String nullPointer() {
     return "NULL";
   }
   
+  @Override
   public String voidPointer() {
     return "void*";
   }
   
+  @Override
   public String arrayType(final String type, final int size, final boolean isRef) {
     StringConcatenation _builder = new StringConcatenation();
     _builder.append(type, "");
@@ -310,6 +333,7 @@
     return _builder.toString();
   }
   
+  @Override
   public String arrayDeclaration(final String type, final int size, final boolean isRef, final String name) {
     StringConcatenation _builder = new StringConcatenation();
     _builder.append(type, "");
@@ -327,48 +351,30 @@
     return _builder.toString();
   }
   
+  @Override
   public String superCall(final String baseClassName, final String method, final String args) {
     return "";
   }
   
+  @Override
   public String toValueLiteral(final PrimitiveType type, final String value) {
     String _switchResult = null;
     String _targetName = type.getTargetName();
     boolean _matched = false;
-    if (!_matched) {
-      boolean _and = false;
-      String _targetName_1 = type.getTargetName();
-      boolean _equals = _targetName_1.equals("char");
-      if (!_equals) {
-        _and = false;
-      } else {
-        int _length = value.length();
-        boolean _equals_1 = (_length == 1);
-        _and = _equals_1;
-      }
-      if (_and) {
-        _matched=true;
-        _switchResult = (("\'" + value) + "\'");
-      }
+    if ((type.getTargetName().equals("char") && (value.length() == 1))) {
+      _matched=true;
+      _switchResult = (("\'" + value) + "\'");
     }
     if (!_matched) {
       LiteralType _type = type.getType();
-      boolean _equals_2 = Objects.equal(_type, LiteralType.CHAR);
-      if (_equals_2) {
+      boolean _equals = Objects.equal(_type, LiteralType.CHAR);
+      if (_equals) {
         _matched=true;
         _switchResult = (("\"" + value) + "\"");
       }
     }
     if (!_matched) {
-      boolean _or = false;
-      boolean _contains = value.contains(",");
-      if (_contains) {
-        _or = true;
-      } else {
-        boolean _contains_1 = value.contains("{");
-        _or = _contains_1;
-      }
-      if (_or) {
+      if ((value.contains(",") || value.contains("{"))) {
         _matched=true;
         String _xblockexpression = null;
         {
@@ -401,8 +407,8 @@
       if (Objects.equal(_targetName, "boolean")) {
         _matched=true;
         String _xifexpression = null;
-        boolean _equals_3 = value.equals("true");
-        if (_equals_3) {
+        boolean _equals_1 = value.equals("true");
+        if (_equals_1) {
           _xifexpression = "ET_TRUE";
         } else {
           _xifexpression = "ET_FALSE";
@@ -416,17 +422,10 @@
     return _switchResult;
   }
   
+  @Override
   public String toEnumLiteral(final EnumerationType type, final String value) {
     String _xifexpression = null;
-    boolean _or = false;
-    boolean _contains = value.contains(",");
-    if (_contains) {
-      _or = true;
-    } else {
-      boolean _contains_1 = value.contains("{");
-      _or = _contains_1;
-    }
-    if (_or) {
+    if ((value.contains(",") || value.contains("{"))) {
       String _xblockexpression = null;
       {
         String _replace = value.replace("{", "");
@@ -483,15 +482,14 @@
     return null;
   }
   
+  @Override
   public String defaultValue(final DataType dt) {
     String _switchResult = null;
     boolean _matched = false;
-    if (!_matched) {
-      if (dt instanceof PrimitiveType) {
-        _matched=true;
-        String _defaultValueLiteral = ((PrimitiveType)dt).getDefaultValueLiteral();
-        _switchResult = this.toValueLiteral(((PrimitiveType)dt), _defaultValueLiteral);
-      }
+    if (dt instanceof PrimitiveType) {
+      _matched=true;
+      String _defaultValueLiteral = ((PrimitiveType)dt).getDefaultValueLiteral();
+      _switchResult = this.toValueLiteral(((PrimitiveType)dt), _defaultValueLiteral);
     }
     if (!_matched) {
       if (dt instanceof EnumerationType) {
@@ -563,6 +561,7 @@
     return _xifexpression;
   }
   
+  @Override
   public String initializationWithDefaultValues(final DataType dt, final int size) {
     String _xblockexpression = null;
     {
@@ -633,20 +632,14 @@
     return _xblockexpression;
   }
   
+  @Override
   public String[] generateArglistAndTypedData(final EObject d) {
-    boolean _or = false;
-    boolean _equals = Objects.equal(d, null);
-    if (_equals) {
-      _or = true;
-    } else {
-      _or = (!(d instanceof VarDecl));
-    }
-    if (_or) {
+    if ((Objects.equal(d, null) || (!(d instanceof VarDecl)))) {
       return ((String[])Conversions.unwrapArray(CollectionLiterals.<String>newArrayList("", "", ""), String.class));
     }
     final VarDecl data = ((VarDecl) d);
-    boolean _equals_1 = Objects.equal(data, null);
-    if (_equals_1) {
+    boolean _equals = Objects.equal(data, null);
+    if (_equals) {
       return ((String[])Conversions.unwrapArray(CollectionLiterals.<String>newArrayList("", "", ""), String.class));
     }
     String _xifexpression = null;
@@ -692,16 +685,7 @@
         DataType _type_8 = _refType_8.getType();
         final String ct = ((PrimitiveType) _type_8).getCastName();
         String _xifexpression_4 = null;
-        boolean _and = false;
-        boolean _notEquals = (!Objects.equal(ct, null));
-        if (!_notEquals) {
-          _and = false;
-        } else {
-          boolean _isEmpty = ct.isEmpty();
-          boolean _not = (!_isEmpty);
-          _and = _not;
-        }
-        if (_and) {
+        if (((!Objects.equal(ct, null)) && (!ct.isEmpty()))) {
           _xifexpression_4 = ct;
         } else {
           _xifexpression_4 = typeName;
@@ -727,17 +711,7 @@
     String deRef = "*";
     RefableType _refType_10 = data.getRefType();
     final boolean isRef = _refType_10.isRef();
-    boolean _or_1 = false;
-    RefableType _refType_11 = data.getRefType();
-    DataType _type_10 = _refType_11.getType();
-    if ((_type_10 instanceof PrimitiveType)) {
-      _or_1 = true;
-    } else {
-      RefableType _refType_12 = data.getRefType();
-      DataType _type_11 = _refType_12.getType();
-      _or_1 = (_type_11 instanceof EnumerationType);
-    }
-    final boolean isPrim = _or_1;
+    final boolean isPrim = ((data.getRefType().getType() instanceof PrimitiveType) || (data.getRefType().getType() instanceof EnumerationType));
     if (isRef) {
       typeName = (typeName + "*");
       castTypeName = (castTypeName + "*");
@@ -772,6 +746,7 @@
     return (_plus_2 + "\"");
   }
   
+  @Override
   public String getTargetType(final EnumerationType type) {
     String _xifexpression = null;
     PrimitiveType _primitiveType = type.getPrimitiveType();
@@ -785,6 +760,7 @@
     return _xifexpression;
   }
   
+  @Override
   public String getCastedValue(final EnumLiteral literal) {
     String _xblockexpression = null;
     {
@@ -808,6 +784,7 @@
     return _xblockexpression;
   }
   
+  @Override
   public String getCastType(final EnumerationType type) {
     String _xifexpression = null;
     PrimitiveType _primitiveType = type.getPrimitiveType();
@@ -821,6 +798,7 @@
     return _xifexpression;
   }
   
+  @Override
   public String makeOverridable() {
     return "";
   }
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/Initialization.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/Initialization.java
index f770b2d..9537364 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/Initialization.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/Initialization.java
@@ -95,35 +95,15 @@
       _builder.append(" */");
       String COMMENT = _builder.toString();
       String _xifexpression = null;
-      boolean _or = false;
-      int _size_2 = a.getSize();
-      boolean _equals = (_size_2 == 0);
-      if (_equals) {
-        _or = true;
-      } else {
-        boolean _and = false;
-        RefableType _type = a.getType();
-        boolean _isRef = _type.isRef();
-        boolean _not = (!_isRef);
-        if (!_not) {
-          _and = false;
-        } else {
-          RefableType _type_1 = a.getType();
-          DataType _type_2 = _type_1.getType();
-          boolean _isEnumerationOrPrimitive = this._typeHelpers.isEnumerationOrPrimitive(_type_2);
-          _and = _isEnumerationOrPrimitive;
-        }
-        _or = _and;
-      }
-      if (_or) {
+      if (((a.getSize() == 0) || ((!a.getType().isRef()) && this._typeHelpers.isEnumerationOrPrimitive(a.getType().getType())))) {
         CharSequence _initAttribute = this.initAttribute(instance, path);
         _xifexpression = (_initAttribute + COMMENT);
       } else {
         StringConcatenation _builder_1 = new StringConcatenation();
         _builder_1.append("{ ");
         {
-          int _size_3 = a.getSize();
-          IntegerRange _upTo = new IntegerRange(1, _size_3);
+          int _size_2 = a.getSize();
+          IntegerRange _upTo = new IntegerRange(1, _size_2);
           boolean _hasElements = false;
           for(final Integer i : _upTo) {
             if (!_hasElements) {
@@ -166,31 +146,29 @@
       }
       CharSequence _switchResult = null;
       boolean _matched = false;
-      if (!_matched) {
-        if (aType instanceof DataClass) {
-          _matched=true;
-          StringConcatenation _builder = new StringConcatenation();
-          _builder.append("{");
-          _builder.newLine();
-          {
-            List<Attribute> _allAttributes = this._roomHelpers.getAllAttributes(((DataClass) aType));
-            boolean _hasElements = false;
-            for(final Attribute subA : _allAttributes) {
-              if (!_hasElements) {
-                _hasElements = true;
-              } else {
-                _builder.appendImmediate(",", "\t");
-              }
-              _builder.append("\t");
-              List<Attribute> _union = this._roomExtensions.<Attribute>union(path, subA);
-              String _initAttributeArray = this.initAttributeArray(instance, _union);
-              _builder.append(_initAttributeArray, "\t");
-              _builder.newLineIfNotEmpty();
+      if (aType instanceof DataClass) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        _builder.append("{");
+        _builder.newLine();
+        {
+          List<Attribute> _allAttributes = this._roomHelpers.getAllAttributes(((DataClass) aType));
+          boolean _hasElements = false;
+          for(final Attribute subA : _allAttributes) {
+            if (!_hasElements) {
+              _hasElements = true;
+            } else {
+              _builder.appendImmediate(",", "\t");
             }
+            _builder.append("\t");
+            List<Attribute> _union = this._roomExtensions.<Attribute>union(path, subA);
+            String _initAttributeArray = this.initAttributeArray(instance, _union);
+            _builder.append(_initAttributeArray, "\t");
+            _builder.newLineIfNotEmpty();
           }
-          _builder.append("}");
-          _switchResult = _builder;
         }
+        _builder.append("}");
+        _switchResult = _builder;
       }
       if (!_matched) {
         if (aType instanceof ExternalType) {
@@ -213,31 +191,12 @@
           {
             String value = this.getPrimitiveValue(instance, path);
             CharSequence _xifexpression_1 = null;
-            boolean _and = false;
-            boolean _and_1 = false;
-            int _size = a.getSize();
-            boolean _greaterThan = (_size > 0);
-            if (!_greaterThan) {
-              _and_1 = false;
-            } else {
-              boolean _isCharacterType = this._typeHelpers.isCharacterType(((PrimitiveType)aType));
-              boolean _not = (!_isCharacterType);
-              _and_1 = _not;
-            }
-            if (!_and_1) {
-              _and = false;
-            } else {
-              String _trim = value.trim();
-              boolean _startsWith = _trim.startsWith("{");
-              boolean _not_1 = (!_startsWith);
-              _and = _not_1;
-            }
-            if (_and) {
+            if ((((a.getSize() > 0) && (!this._typeHelpers.isCharacterType(((PrimitiveType)aType)))) && (!value.trim().startsWith("{")))) {
               StringConcatenation _builder = new StringConcatenation();
               _builder.append("{");
               {
-                int _size_1 = a.getSize();
-                IntegerRange _upTo = new IntegerRange(1, _size_1);
+                int _size = a.getSize();
+                IntegerRange _upTo = new IntegerRange(1, _size);
                 boolean _hasElements = false;
                 for(final Integer i : _upTo) {
                   if (!_hasElements) {
@@ -252,23 +211,7 @@
               _xifexpression_1 = _builder;
             } else {
               String _xifexpression_2 = null;
-              boolean _and_2 = false;
-              boolean _and_3 = false;
-              int _size_2 = a.getSize();
-              boolean _greaterThan_1 = (_size_2 > 0);
-              if (!_greaterThan_1) {
-                _and_3 = false;
-              } else {
-                boolean _isCharacterType_1 = this._typeHelpers.isCharacterType(((PrimitiveType)aType));
-                _and_3 = _isCharacterType_1;
-              }
-              if (!_and_3) {
-                _and_2 = false;
-              } else {
-                boolean _startsWith_1 = value.startsWith("\'");
-                _and_2 = _startsWith_1;
-              }
-              if (_and_2) {
+              if ((((a.getSize() > 0) && this._typeHelpers.isCharacterType(((PrimitiveType)aType))) && value.startsWith("\'"))) {
                 _xifexpression_2 = (("{" + value) + "}");
               } else {
                 _xifexpression_2 = value;
@@ -287,23 +230,12 @@
           {
             String value = this.getPrimitiveValue(instance, path);
             CharSequence _xifexpression_1 = null;
-            boolean _and = false;
-            int _size = a.getSize();
-            boolean _greaterThan = (_size > 0);
-            if (!_greaterThan) {
-              _and = false;
-            } else {
-              String _trim = value.trim();
-              boolean _startsWith = _trim.startsWith("{");
-              boolean _not = (!_startsWith);
-              _and = _not;
-            }
-            if (_and) {
+            if (((a.getSize() > 0) && (!value.trim().startsWith("{")))) {
               StringConcatenation _builder = new StringConcatenation();
               _builder.append("{");
               {
-                int _size_1 = a.getSize();
-                IntegerRange _upTo = new IntegerRange(1, _size_1);
+                int _size = a.getSize();
+                IntegerRange _upTo = new IntegerRange(1, _size);
                 boolean _hasElements = false;
                 for(final Integer i : _upTo) {
                   if (!_hasElements) {
@@ -335,12 +267,10 @@
     if (_equals) {
       String _switchResult = null;
       boolean _matched = false;
-      if (!_matched) {
-        if (instance instanceof ActorInstance) {
-          _matched=true;
-          ActorClass _actorClass = ((ActorInstance)instance).getActorClass();
-          _switchResult = this._typeHelpers.getAttrClassConfigValue(path, _actorClass, true);
-        }
+      if (instance instanceof ActorInstance) {
+        _matched=true;
+        ActorClass _actorClass = ((ActorInstance)instance).getActorClass();
+        _switchResult = this._typeHelpers.getAttrClassConfigValue(path, _actorClass, true);
       }
       if (!_matched) {
         if (instance instanceof InterfaceItemInstance) {
@@ -362,27 +292,11 @@
     RefableType _type = _last_1.getType();
     DataType type = _type.getType();
     String _xifexpression = null;
-    boolean _and = false;
-    boolean _notEquals = (!Objects.equal(value, null));
-    if (!_notEquals) {
-      _and = false;
-    } else {
-      boolean _isPrimitive = this._typeHelpers.isPrimitive(type);
-      _and = _isPrimitive;
-    }
-    if (_and) {
+    if (((!Objects.equal(value, null)) && this._typeHelpers.isPrimitive(type))) {
       _xifexpression = this.languageExt.toValueLiteral(((PrimitiveType) type), value);
     } else {
       String _xifexpression_1 = null;
-      boolean _and_1 = false;
-      boolean _notEquals_1 = (!Objects.equal(value, null));
-      if (!_notEquals_1) {
-        _and_1 = false;
-      } else {
-        boolean _isEnumeration = this._typeHelpers.isEnumeration(type);
-        _and_1 = _isEnumeration;
-      }
-      if (_and_1) {
+      if (((!Objects.equal(value, null)) && this._typeHelpers.isEnumeration(type))) {
         _xifexpression_1 = this.languageExt.toEnumLiteral(((EnumerationType) type), value);
       } else {
         _xifexpression_1 = this.languageExt.defaultValue(type);
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java
index d9975ff..a945d37 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeGen.java
@@ -273,22 +273,13 @@
       NodeClass _type = nr.getType();
       EList<PhysicalThread> _threads = _type.getThreads();
       final Function1<PhysicalThread, Boolean> _function = new Function1<PhysicalThread, Boolean>() {
+        @Override
         public Boolean apply(final PhysicalThread t) {
           return Boolean.valueOf(usedThreads.contains(t));
         }
       };
       final Iterable<PhysicalThread> threads = IterableExtensions.<PhysicalThread>filter(_threads, _function);
-      boolean _and = false;
-      GlobalGeneratorSettings _settings = Main.getSettings();
-      boolean _isGenerateDataInstrumentation = _settings.isGenerateDataInstrumentation();
-      if (!_isGenerateDataInstrumentation) {
-        _and = false;
-      } else {
-        EList<Annotation> _annotations = ssc.getAnnotations();
-        boolean _isAnnotationPresent = this._roomHelpers.isAnnotationPresent(_annotations, "DataLogging");
-        _and = _isAnnotationPresent;
-      }
-      final boolean logData = _and;
+      final boolean logData = (Main.getSettings().isGenerateDataInstrumentation() && this._roomHelpers.isAnnotationPresent(ssc.getAnnotations(), "DataLogging"));
       StringConcatenation _builder = new StringConcatenation();
       _builder.append("/**");
       _builder.newLine();
@@ -423,17 +414,7 @@
       {
         for(final PhysicalThread thread : threads) {
           {
-            boolean _or = false;
-            ExecMode _execmode = thread.getExecmode();
-            boolean _equals = Objects.equal(_execmode, ExecMode.POLLED);
-            if (_equals) {
-              _or = true;
-            } else {
-              ExecMode _execmode_1 = thread.getExecmode();
-              boolean _equals_1 = Objects.equal(_execmode_1, ExecMode.MIXED);
-              _or = _equals_1;
-            }
-            if (_or) {
+            if ((Objects.equal(thread.getExecmode(), ExecMode.POLLED) || Objects.equal(thread.getExecmode(), ExecMode.MIXED))) {
               _builder.append("\t\t");
               _builder.append("interval.sec = ");
               long _time = thread.getTime();
@@ -489,7 +470,7 @@
           _builder.newLineIfNotEmpty();
           _builder.append("\t\t");
           _builder.append("\t");
-          int _prio = thread.getPrio();
+          long _prio = thread.getPrio();
           _builder.append(_prio, "\t\t\t");
           _builder.append(",");
           _builder.newLineIfNotEmpty();
@@ -507,8 +488,8 @@
           _builder.append("\t\t");
           _builder.append("\t");
           _builder.append("EXECMODE_");
-          ExecMode _execmode_2 = thread.getExecmode();
-          String _string = _execmode_2.toString();
+          ExecMode _execmode = thread.getExecmode();
+          String _string = _execmode.toString();
           String _upperCase_2 = _string.toUpperCase();
           _builder.append(_upperCase_2, "\t\t\t");
           _builder.append(");");
@@ -537,12 +518,13 @@
       _builder.newLineIfNotEmpty();
       _builder.newLine();
       {
-        final Function1<PhysicalThread, Integer> _function_1 = new Function1<PhysicalThread, Integer>() {
-          public Integer apply(final PhysicalThread it) {
-            return Integer.valueOf(it.getPrio());
+        final Function1<PhysicalThread, Long> _function_1 = new Function1<PhysicalThread, Long>() {
+          @Override
+          public Long apply(final PhysicalThread it) {
+            return Long.valueOf(it.getPrio());
           }
         };
-        List<PhysicalThread> _sortBy = IterableExtensions.<PhysicalThread, Integer>sortBy(threads, _function_1);
+        List<PhysicalThread> _sortBy = IterableExtensions.<PhysicalThread, Long>sortBy(threads, _function_1);
         List<PhysicalThread> _reverse = ListExtensions.<PhysicalThread>reverse(_sortBy);
         for(final PhysicalThread thread_1 : _reverse) {
           _builder.append("\t");
@@ -997,6 +979,7 @@
         NodeClass _type = nr.getType();
         EList<PhysicalThread> _threads = _type.getThreads();
         final Function1<PhysicalThread, Boolean> _function = new Function1<PhysicalThread, Boolean>() {
+          @Override
           public Boolean apply(final PhysicalThread t) {
             return Boolean.valueOf(usedThreads.contains(t));
           }
@@ -1168,18 +1151,7 @@
           _builder.append(" */");
           _builder.newLineIfNotEmpty();
           {
-            boolean _and = false;
-            GlobalGeneratorSettings _settings = Main.getSettings();
-            boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-            boolean _not = (!_isGenerateMSCInstrumentation);
-            if (!_not) {
-              _and = false;
-            } else {
-              EList<InterfaceItemInstance> _orderedIfItemInstances_2 = ai_2.getOrderedIfItemInstances();
-              boolean _isEmpty_1 = _orderedIfItemInstances_2.isEmpty();
-              _and = _isEmpty_1;
-            }
-            if (_and) {
+            if (((!Main.getSettings().isGenerateMSCInstrumentation()) && ai_2.getOrderedIfItemInstances().isEmpty())) {
               _builder.append("/* no ports/saps/services - nothing to initialize statically */");
               _builder.newLine();
             } else {
@@ -1204,6 +1176,7 @@
       final ArrayList<InterfaceItemInstance> replEventItems = new ArrayList<InterfaceItemInstance>();
       EList<InterfaceItemInstance> _orderedIfItemInstances = ai.getOrderedIfItemInstances();
       final Function1<InterfaceItemInstance, Boolean> _function = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance e) {
           return Boolean.valueOf(e.isReplicated());
         }
@@ -1211,6 +1184,7 @@
       Iterable<InterfaceItemInstance> _filter = IterableExtensions.<InterfaceItemInstance>filter(_orderedIfItemInstances, _function);
       Iterables.<InterfaceItemInstance>addAll(replEventItems, _filter);
       final Function1<InterfaceItemInstance, Boolean> _function_1 = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance e) {
           EList<InterfaceItemInstance> _peers = e.getPeers();
           boolean _isEmpty = _peers.isEmpty();
@@ -1220,6 +1194,7 @@
       InterfaceItemInstance _findFirst = IterableExtensions.<InterfaceItemInstance>findFirst(replEventItems, _function_1);
       final boolean haveReplSubItems = (!Objects.equal(_findFirst, null));
       final Function1<InterfaceItemInstance, Boolean> _function_2 = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance i) {
           InterfaceItem _interfaceItem = i.getInterfaceItem();
           return Boolean.valueOf((_interfaceItem instanceof Port));
@@ -1227,6 +1202,7 @@
       };
       final Iterable<InterfaceItemInstance> replEventPorts = IterableExtensions.<InterfaceItemInstance>filter(replEventItems, _function_2);
       final Function1<InterfaceItemInstance, Boolean> _function_3 = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance i) {
           InterfaceItem _interfaceItem = i.getInterfaceItem();
           return Boolean.valueOf((_interfaceItem instanceof SPP));
@@ -1235,6 +1211,7 @@
       final Iterable<InterfaceItemInstance> replEventSPPs = IterableExtensions.<InterfaceItemInstance>filter(replEventItems, _function_3);
       EList<InterfaceItemInstance> _orderedIfItemInstances_1 = ai.getOrderedIfItemInstances();
       final Function1<InterfaceItemInstance, Boolean> _function_4 = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance e) {
           return Boolean.valueOf(e.isSimple());
         }
@@ -1242,6 +1219,7 @@
       final Iterable<InterfaceItemInstance> simplePorts = IterableExtensions.<InterfaceItemInstance>filter(_orderedIfItemInstances_1, _function_4);
       final ArrayList<InterfaceItemInstance> simpleEventItems = new ArrayList<InterfaceItemInstance>();
       final Function1<InterfaceItemInstance, Boolean> _function_5 = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance p) {
           ProtocolClass _protocol = p.getProtocol();
           CommunicationType _commType = _protocol.getCommType();
@@ -1251,6 +1229,7 @@
       Iterable<InterfaceItemInstance> _filter_1 = IterableExtensions.<InterfaceItemInstance>filter(simplePorts, _function_5);
       Iterables.<InterfaceItemInstance>addAll(simpleEventItems, _filter_1);
       final Function1<InterfaceItemInstance, Boolean> _function_6 = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance i) {
           InterfaceItem _interfaceItem = i.getInterfaceItem();
           return Boolean.valueOf((_interfaceItem instanceof Port));
@@ -1258,6 +1237,7 @@
       };
       final Iterable<InterfaceItemInstance> simpleEventPorts = IterableExtensions.<InterfaceItemInstance>filter(simpleEventItems, _function_6);
       final Function1<InterfaceItemInstance, Boolean> _function_7 = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance i) {
           InterfaceItem _interfaceItem = i.getInterfaceItem();
           return Boolean.valueOf((_interfaceItem instanceof SAP));
@@ -1265,6 +1245,7 @@
       };
       final Iterable<InterfaceItemInstance> simpleEventSAPs = IterableExtensions.<InterfaceItemInstance>filter(simpleEventItems, _function_7);
       final Function1<InterfaceItemInstance, Boolean> _function_8 = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance p) {
           ProtocolClass _protocol = p.getProtocol();
           CommunicationType _commType = _protocol.getCommType();
@@ -1273,31 +1254,16 @@
       };
       final Iterable<InterfaceItemInstance> dataPorts = IterableExtensions.<InterfaceItemInstance>filter(simplePorts, _function_8);
       final Function1<InterfaceItemInstance, Boolean> _function_9 = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance p) {
-          boolean _and = false;
-          if (!(p instanceof PortInstance)) {
-            _and = false;
-          } else {
-            Port _port = ((PortInstance) p).getPort();
-            boolean _isConjugated = _port.isConjugated();
-            boolean _not = (!_isConjugated);
-            _and = _not;
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf(((p instanceof PortInstance) && (!((PortInstance) p).getPort().isConjugated())));
         }
       };
       final Iterable<InterfaceItemInstance> recvPorts = IterableExtensions.<InterfaceItemInstance>filter(dataPorts, _function_9);
       final Function1<InterfaceItemInstance, Boolean> _function_10 = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance p) {
-          boolean _and = false;
-          if (!(p instanceof PortInstance)) {
-            _and = false;
-          } else {
-            Port _port = ((PortInstance) p).getPort();
-            boolean _isConjugated = _port.isConjugated();
-            _and = _isConjugated;
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf(((p instanceof PortInstance) && ((PortInstance) p).getPort().isConjugated()));
         }
       };
       final Iterable<InterfaceItemInstance> sendPorts = IterableExtensions.<InterfaceItemInstance>filter(dataPorts, _function_10);
@@ -1319,38 +1285,12 @@
         _xifexpression = "NULL";
       }
       String replSubPortsArray = _xifexpression;
-      boolean _or = false;
-      boolean _or_1 = false;
-      boolean _or_2 = false;
-      boolean _isEmpty = simpleEventItems.isEmpty();
-      boolean _not = (!_isEmpty);
-      if (_not) {
-        _or_2 = true;
-      } else {
-        boolean _isEmpty_1 = IterableExtensions.isEmpty(recvPorts);
-        boolean _not_1 = (!_isEmpty_1);
-        _or_2 = _not_1;
-      }
-      if (_or_2) {
-        _or_1 = true;
-      } else {
-        boolean _isEmpty_2 = replEventItems.isEmpty();
-        boolean _not_2 = (!_isEmpty_2);
-        _or_1 = _not_2;
-      }
-      if (_or_1) {
-        _or = true;
-      } else {
-        GlobalGeneratorSettings _settings = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-        _or = _isGenerateMSCInstrumentation;
-      }
-      final boolean haveConstData = _or;
+      final boolean haveConstData = ((((!simpleEventItems.isEmpty()) || (!IterableExtensions.isEmpty(recvPorts))) || (!replEventItems.isEmpty())) || Main.getSettings().isGenerateMSCInstrumentation());
       final IntelligentSeparator sep = new IntelligentSeparator(",");
       String _xifexpression_1 = null;
-      GlobalGeneratorSettings _settings_1 = Main.getSettings();
-      boolean _isGenerateMSCInstrumentation_1 = _settings_1.isGenerateMSCInstrumentation();
-      if (_isGenerateMSCInstrumentation_1) {
+      GlobalGeneratorSettings _settings = Main.getSettings();
+      boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
+      if (_isGenerateMSCInstrumentation) {
         _xifexpression_1 = "/*const*/";
       } else {
         _xifexpression_1 = "const";
@@ -1358,9 +1298,9 @@
       final String const_ = _xifexpression_1;
       StringConcatenation _builder = new StringConcatenation();
       {
-        GlobalGeneratorSettings _settings_2 = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation_2 = _settings_2.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation_2) {
+        GlobalGeneratorSettings _settings_1 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_1 = _settings_1.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_1) {
           CharSequence _genPeerPortArrays = this.genPeerPortArrays(root, ai);
           _builder.append(_genPeerPortArrays, "");
           _builder.newLineIfNotEmpty();
@@ -1379,6 +1319,7 @@
           _builder.newLine();
           {
             final Function1<InterfaceItemInstance, Boolean> _function_11 = new Function1<InterfaceItemInstance, Boolean>() {
+              @Override
               public Boolean apply(final InterfaceItemInstance e) {
                 EList<InterfaceItemInstance> _peers = e.getPeers();
                 boolean _isEmpty = _peers.isEmpty();
@@ -1416,9 +1357,9 @@
           _builder.append("_const = {");
           _builder.newLineIfNotEmpty();
           {
-            GlobalGeneratorSettings _settings_3 = Main.getSettings();
-            boolean _isGenerateMSCInstrumentation_3 = _settings_3.isGenerateMSCInstrumentation();
-            if (_isGenerateMSCInstrumentation_3) {
+            GlobalGeneratorSettings _settings_2 = Main.getSettings();
+            boolean _isGenerateMSCInstrumentation_2 = _settings_2.isGenerateMSCInstrumentation();
+            if (_isGenerateMSCInstrumentation_2) {
               _builder.append("\t");
               _builder.append(sep, "\t");
               _builder.append("\"");
@@ -1572,62 +1513,35 @@
     {
       EList<InterfaceItemInstance> _orderedIfItemInstances = ai.getOrderedIfItemInstances();
       final Function1<InterfaceItemInstance, Boolean> _function = new Function1<InterfaceItemInstance, Boolean>() {
+        @Override
         public Boolean apply(final InterfaceItemInstance e) {
-          boolean _and = false;
-          boolean _isSimple = e.isSimple();
-          if (!_isSimple) {
-            _and = false;
-          } else {
-            _and = (e instanceof PortInstance);
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf((e.isSimple() && (e instanceof PortInstance)));
         }
       };
       Iterable<InterfaceItemInstance> _filter = IterableExtensions.<InterfaceItemInstance>filter(_orderedIfItemInstances, _function);
       final Function1<InterfaceItemInstance, PortInstance> _function_1 = new Function1<InterfaceItemInstance, PortInstance>() {
+        @Override
         public PortInstance apply(final InterfaceItemInstance inst) {
           return ((PortInstance) inst);
         }
       };
       final Iterable<PortInstance> simplePorts = IterableExtensions.<InterfaceItemInstance, PortInstance>map(_filter, _function_1);
       final Function1<PortInstance, Boolean> _function_2 = new Function1<PortInstance, Boolean>() {
+        @Override
         public Boolean apply(final PortInstance p) {
-          boolean _and = false;
-          Port _port = p.getPort();
-          boolean _isConjugated = _port.isConjugated();
-          if (!_isConjugated) {
-            _and = false;
-          } else {
-            ProtocolClass _protocol = p.getProtocol();
-            CommunicationType _commType = _protocol.getCommType();
-            boolean _equals = Objects.equal(_commType, CommunicationType.DATA_DRIVEN);
-            _and = _equals;
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf((p.getPort().isConjugated() && Objects.equal(p.getProtocol().getCommType(), CommunicationType.DATA_DRIVEN)));
         }
       };
       final Iterable<PortInstance> sendPorts = IterableExtensions.<PortInstance>filter(simplePorts, _function_2);
       final Function1<PortInstance, Boolean> _function_3 = new Function1<PortInstance, Boolean>() {
+        @Override
         public Boolean apply(final PortInstance p) {
           Port _port = p.getPort();
           List<Message> _outgoing = NodeGen.this._roomHelpers.getOutgoing(_port);
           final Function1<Message, Boolean> _function = new Function1<Message, Boolean>() {
+            @Override
             public Boolean apply(final Message m) {
-              boolean _or = false;
-              VarDecl _data = m.getData();
-              RefableType _refType = _data.getRefType();
-              DataType _type = _refType.getType();
-              boolean _isEnumeration = NodeGen.this._typeHelpers.isEnumeration(_type);
-              if (_isEnumeration) {
-                _or = true;
-              } else {
-                VarDecl _data_1 = m.getData();
-                RefableType _refType_1 = _data_1.getRefType();
-                DataType _type_1 = _refType_1.getType();
-                boolean _isBoolean = NodeGen.this._typeHelpers.isBoolean(_type_1);
-                _or = _isBoolean;
-              }
-              return Boolean.valueOf(_or);
+              return Boolean.valueOf((NodeGen.this._typeHelpers.isEnumeration(m.getData().getRefType().getType()) || NodeGen.this._typeHelpers.isBoolean(m.getData().getRefType().getType())));
             }
           };
           Iterable<Message> _filter = IterableExtensions.<Message>filter(_outgoing, _function);
@@ -1781,6 +1695,7 @@
       final ProtocolClass pc = ((ProtocolClass) _protocol);
       List<Message> _allIncomingMessages = this._roomHelpers.getAllIncomingMessages(pc);
       final Function1<Message, Boolean> _function = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           return Boolean.valueOf((!Objects.equal(_data, null)));
@@ -1788,6 +1703,7 @@
       };
       Iterable<Message> messages = IterableExtensions.<Message>filter(_allIncomingMessages, _function);
       final Function1<Message, Boolean> _function_1 = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           RefableType _refType = _data.getRefType();
@@ -1797,6 +1713,7 @@
       };
       final Iterable<Message> enumMsgs = IterableExtensions.<Message>filter(messages, _function_1);
       final Function1<Message, Boolean> _function_2 = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           RefableType _refType = _data.getRefType();
@@ -1805,24 +1722,7 @@
         }
       };
       final Iterable<Message> boolMsgs = IterableExtensions.<Message>filter(messages, _function_2);
-      boolean _and = false;
-      GlobalGeneratorSettings _settings = Main.getSettings();
-      boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-      if (!_isGenerateMSCInstrumentation) {
-        _and = false;
-      } else {
-        boolean _and_1 = false;
-        boolean _isEmpty = IterableExtensions.isEmpty(enumMsgs);
-        if (!_isEmpty) {
-          _and_1 = false;
-        } else {
-          boolean _isEmpty_1 = IterableExtensions.isEmpty(boolMsgs);
-          _and_1 = _isEmpty_1;
-        }
-        boolean _not = (!_and_1);
-        _and = _not;
-      }
-      final boolean usesMSC = _and;
+      final boolean usesMSC = (Main.getSettings().isGenerateMSCInstrumentation() && (!(IterableExtensions.isEmpty(enumMsgs) && IterableExtensions.isEmpty(boolMsgs))));
       EObject _eContainer = pi.eContainer();
       final String instName = ((ActorInstance) _eContainer).getPath();
       StringConcatenation _builder = new StringConcatenation();
@@ -1908,6 +1808,7 @@
       InterfaceItem _interfaceItem = pi.getInterfaceItem();
       List<Message> _incoming = this._roomHelpers.getIncoming(_interfaceItem);
       final Function1<Message, Boolean> _function = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           return Boolean.valueOf((!Objects.equal(_data, null)));
@@ -1915,6 +1816,7 @@
       };
       Iterable<Message> sentMsgs = IterableExtensions.<Message>filter(_incoming, _function);
       final Function1<Message, Boolean> _function_1 = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           RefableType _refType = _data.getRefType();
@@ -1924,6 +1826,7 @@
       };
       final Iterable<Message> enumMsgs = IterableExtensions.<Message>filter(sentMsgs, _function_1);
       final Function1<Message, Boolean> _function_2 = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           RefableType _refType = _data.getRefType();
@@ -1932,24 +1835,7 @@
         }
       };
       final Iterable<Message> boolMsgs = IterableExtensions.<Message>filter(sentMsgs, _function_2);
-      boolean _and = false;
-      GlobalGeneratorSettings _settings = Main.getSettings();
-      boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-      if (!_isGenerateMSCInstrumentation) {
-        _and = false;
-      } else {
-        boolean _and_1 = false;
-        boolean _isEmpty = IterableExtensions.isEmpty(enumMsgs);
-        if (!_isEmpty) {
-          _and_1 = false;
-        } else {
-          boolean _isEmpty_1 = IterableExtensions.isEmpty(boolMsgs);
-          _and_1 = _isEmpty_1;
-        }
-        boolean _not = (!_and_1);
-        _and = _not;
-      }
-      final boolean usesMSC = _and;
+      final boolean usesMSC = (Main.getSettings().isGenerateMSCInstrumentation() && (!(IterableExtensions.isEmpty(enumMsgs) && IterableExtensions.isEmpty(boolMsgs))));
       String enumVal = "";
       if (usesMSC) {
         String _path = ai.getPath();
@@ -1975,8 +1861,8 @@
         enumVal = (("\n#ifdef ET_ASYNC_MSC_LOGGER_ACTIVATE" + enumVal) + "\n#endif\n");
       }
       EList<InterfaceItemInstance> _peers = pi.getPeers();
-      boolean _isEmpty_2 = _peers.isEmpty();
-      if (_isEmpty_2) {
+      boolean _isEmpty = _peers.isEmpty();
+      if (_isEmpty) {
         return (("{NULL" + enumVal) + "}");
       }
       EList<InterfaceItemInstance> _peers_1 = pi.getPeers();
@@ -2081,18 +1967,7 @@
     CharSequence _xblockexpression = null;
     {
       final NodeRef nr = ETMapUtil.getNodeRef(ssi);
-      boolean _and = false;
-      GlobalGeneratorSettings _settings = Main.getSettings();
-      boolean _isGenerateDataInstrumentation = _settings.isGenerateDataInstrumentation();
-      if (!_isGenerateDataInstrumentation) {
-        _and = false;
-      } else {
-        SubSystemClass _subSystemClass = ssi.getSubSystemClass();
-        EList<Annotation> _annotations = _subSystemClass.getAnnotations();
-        boolean _isAnnotationPresent = this._roomHelpers.isAnnotationPresent(_annotations, "DataLogging");
-        _and = _isAnnotationPresent;
-      }
-      final boolean logData = _and;
+      final boolean logData = (Main.getSettings().isGenerateDataInstrumentation() && this._roomHelpers.isAnnotationPresent(ssi.getSubSystemClass().getAnnotations(), "DataLogging"));
       ArrayList<PortInstance> _xifexpression = null;
       if (logData) {
         _xifexpression = this.loggedPorts(ssi);
@@ -2135,6 +2010,7 @@
         NodeClass _type = nr.getType();
         EList<PhysicalThread> _threads = _type.getThreads();
         final Function1<PhysicalThread, Boolean> _function = new Function1<PhysicalThread, Boolean>() {
+          @Override
           public Boolean apply(final PhysicalThread t) {
             return Boolean.valueOf(usedThreads.contains(t));
           }
@@ -2149,6 +2025,7 @@
           }
           EList<ActorInstance> _allContainedInstances = ssi.getAllContainedInstances();
           final Function1<ActorInstance, Boolean> _function_1 = new Function1<ActorInstance, Boolean>() {
+            @Override
             public Boolean apply(final ActorInstance ai) {
               ETMapUtil.MappedThread _mappedThread = ETMapUtil.getMappedThread(ai);
               PhysicalThread _thread = _mappedThread.getThread();
@@ -2158,39 +2035,17 @@
           final Iterable<ActorInstance> instancesOnThread = IterableExtensions.<ActorInstance>filter(_allContainedInstances, _function_1);
           _builder.newLineIfNotEmpty();
           final Function1<ActorInstance, Boolean> _function_2 = new Function1<ActorInstance, Boolean>() {
+            @Override
             public Boolean apply(final ActorInstance ai) {
-              boolean _or = false;
-              ActorClass _actorClass = ai.getActorClass();
-              ComponentCommunicationType _commType = _actorClass.getCommType();
-              boolean _equals = Objects.equal(_commType, ComponentCommunicationType.EVENT_DRIVEN);
-              if (_equals) {
-                _or = true;
-              } else {
-                ActorClass _actorClass_1 = ai.getActorClass();
-                ComponentCommunicationType _commType_1 = _actorClass_1.getCommType();
-                boolean _equals_1 = Objects.equal(_commType_1, ComponentCommunicationType.ASYNCHRONOUS);
-                _or = _equals_1;
-              }
-              return Boolean.valueOf(_or);
+              return Boolean.valueOf((Objects.equal(ai.getActorClass().getCommType(), ComponentCommunicationType.EVENT_DRIVEN) || Objects.equal(ai.getActorClass().getCommType(), ComponentCommunicationType.ASYNCHRONOUS)));
             }
           };
           final Iterable<ActorInstance> dispatchedInstances = IterableExtensions.<ActorInstance>filter(instancesOnThread, _function_2);
           _builder.newLineIfNotEmpty();
           final Function1<ActorInstance, Boolean> _function_3 = new Function1<ActorInstance, Boolean>() {
+            @Override
             public Boolean apply(final ActorInstance ai) {
-              boolean _or = false;
-              ActorClass _actorClass = ai.getActorClass();
-              ComponentCommunicationType _commType = _actorClass.getCommType();
-              boolean _equals = Objects.equal(_commType, ComponentCommunicationType.DATA_DRIVEN);
-              if (_equals) {
-                _or = true;
-              } else {
-                ActorClass _actorClass_1 = ai.getActorClass();
-                ComponentCommunicationType _commType_1 = _actorClass_1.getCommType();
-                boolean _equals_1 = Objects.equal(_commType_1, ComponentCommunicationType.ASYNCHRONOUS);
-                _or = _equals_1;
-              }
-              return Boolean.valueOf(_or);
+              return Boolean.valueOf((Objects.equal(ai.getActorClass().getCommType(), ComponentCommunicationType.DATA_DRIVEN) || Objects.equal(ai.getActorClass().getCommType(), ComponentCommunicationType.ASYNCHRONOUS)));
             }
           };
           final Iterable<ActorInstance> executedInstances = IterableExtensions.<ActorInstance>filter(instancesOnThread, _function_3);
@@ -2366,6 +2221,7 @@
               {
                 EList<InterfaceItemInstance> _orderedIfItemInstances = ai_1.getOrderedIfItemInstances();
                 final Function1<InterfaceItemInstance, Boolean> _function_4 = new Function1<InterfaceItemInstance, Boolean>() {
+                  @Override
                   public Boolean apply(final InterfaceItemInstance p) {
                     ProtocolClass _protocol = p.getProtocol();
                     CommunicationType _commType = _protocol.getCommType();
@@ -2492,8 +2348,8 @@
                               _builder.newLine();
                             } else {
                               {
-                                GlobalGeneratorSettings _settings_1 = Main.getSettings();
-                                boolean _isGenerateMSCInstrumentation = _settings_1.isGenerateMSCInstrumentation();
+                                GlobalGeneratorSettings _settings = Main.getSettings();
+                                boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
                                 if (_isGenerateMSCInstrumentation) {
                                   _builder.append("\t\t");
                                   _builder.append("\t");
@@ -2675,8 +2531,8 @@
                           _builder.newLine();
                         } else {
                           {
-                            GlobalGeneratorSettings _settings_2 = Main.getSettings();
-                            boolean _isGenerateMSCInstrumentation_1 = _settings_2.isGenerateMSCInstrumentation();
+                            GlobalGeneratorSettings _settings_1 = Main.getSettings();
+                            boolean _isGenerateMSCInstrumentation_1 = _settings_1.isGenerateMSCInstrumentation();
                             if (_isGenerateMSCInstrumentation_1) {
                               _builder.append("\t\t");
                               _builder.append("\t");
@@ -2788,20 +2644,9 @@
       ProtocolClass _protocol = pi.getProtocol();
       EList<Message> _incomingMessages = _protocol.getIncomingMessages();
       final Function1<Message, Boolean> _function = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
-          boolean _and = false;
-          VarDecl _data = m.getData();
-          boolean _notEquals = (!Objects.equal(_data, null));
-          if (!_notEquals) {
-            _and = false;
-          } else {
-            VarDecl _data_1 = m.getData();
-            RefableType _refType = _data_1.getRefType();
-            DataType _type = _refType.getType();
-            boolean _isEnumerationOrPrimitive = NodeGen.this._typeHelpers.isEnumerationOrPrimitive(_type);
-            _and = _isEnumerationOrPrimitive;
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf(((!Objects.equal(m.getData(), null)) && NodeGen.this._typeHelpers.isEnumerationOrPrimitive(m.getData().getRefType().getType())));
         }
       };
       Iterable<Message> _filter = IterableExtensions.<Message>filter(_incomingMessages, _function);
@@ -2899,20 +2744,9 @@
                       ProtocolClass _protocol_1 = pi.getProtocol();
                       EList<Message> _incomingMessages = _protocol_1.getIncomingMessages();
                       final Function1<Message, Boolean> _function = new Function1<Message, Boolean>() {
+                        @Override
                         public Boolean apply(final Message m) {
-                          boolean _and = false;
-                          VarDecl _data = m.getData();
-                          boolean _notEquals = (!Objects.equal(_data, null));
-                          if (!_notEquals) {
-                            _and = false;
-                          } else {
-                            VarDecl _data_1 = m.getData();
-                            RefableType _refType = _data_1.getRefType();
-                            DataType _type = _refType.getType();
-                            boolean _isEnumerationOrPrimitive = NodeGen.this._typeHelpers.isEnumerationOrPrimitive(_type);
-                            _and = _isEnumerationOrPrimitive;
-                          }
-                          return Boolean.valueOf(_and);
+                          return Boolean.valueOf(((!Objects.equal(m.getData(), null)) && NodeGen.this._typeHelpers.isEnumerationOrPrimitive(m.getData().getRefType().getType())));
                         }
                       };
                       Iterable<Message> _filter = IterableExtensions.<Message>filter(_incomingMessages, _function);
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.java
index 244121b..57ec2e8 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/NodeRunnerGen.java
@@ -16,8 +16,6 @@
 import com.google.inject.Singleton;
 import java.util.Collection;
 import java.util.List;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.etrice.core.common.base.Annotation;
 import org.eclipse.etrice.core.common.base.util.BaseHelpers;
 import org.eclipse.etrice.core.etmap.util.ETMapUtil;
 import org.eclipse.etrice.core.etphys.eTPhys.NodeRef;
@@ -90,18 +88,7 @@
       String _plus = (_name + "_");
       String _name_1 = ssi.getName();
       final String clsname = (_plus + _name_1);
-      boolean _and = false;
-      GlobalGeneratorSettings _settings = Main.getSettings();
-      boolean _isGenerateDataInstrumentation = _settings.isGenerateDataInstrumentation();
-      if (!_isGenerateDataInstrumentation) {
-        _and = false;
-      } else {
-        SubSystemClass _subSystemClass = ssi.getSubSystemClass();
-        EList<Annotation> _annotations = _subSystemClass.getAnnotations();
-        boolean _isAnnotationPresent = this._baseHelpers.isAnnotationPresent(_annotations, "DataLogging");
-        _and = _isAnnotationPresent;
-      }
-      final boolean logData = _and;
+      final boolean logData = (Main.getSettings().isGenerateDataInstrumentation() && this._baseHelpers.isAnnotationPresent(ssi.getSubSystemClass().getAnnotations(), "DataLogging"));
       StringConcatenation _builder = new StringConcatenation();
       _builder.append("/**");
       _builder.newLine();
@@ -155,8 +142,8 @@
       _builder.newLine();
       _builder.append(" ");
       _builder.append("* ");
-      GlobalGeneratorSettings _settings_1 = Main.getSettings();
-      String _mainMethodName = _settings_1.getMainMethodName();
+      GlobalGeneratorSettings _settings = Main.getSettings();
+      String _mainMethodName = _settings.getMainMethodName();
       _builder.append(_mainMethodName, " ");
       _builder.append(" function");
       _builder.newLineIfNotEmpty();
@@ -168,8 +155,8 @@
       _builder.newLine();
       _builder.newLine();
       _builder.append("int ");
-      GlobalGeneratorSettings _settings_2 = Main.getSettings();
-      String _mainMethodName_1 = _settings_2.getMainMethodName();
+      GlobalGeneratorSettings _settings_1 = Main.getSettings();
+      String _mainMethodName_1 = _settings_1.getMainMethodName();
       _builder.append(_mainMethodName_1, "");
       _builder.append("(int argc, char** argv) {");
       _builder.newLineIfNotEmpty();
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java
index b138e26..cb54e0a 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java
@@ -560,27 +560,7 @@
           String typeName = _xifexpression_1;
           _builder.newLineIfNotEmpty();
           String _xifexpression_2 = null;
-          boolean _and = false;
-          if (!hasData) {
-            _and = false;
-          } else {
-            boolean _or = false;
-            VarDecl _data_2 = message.getData();
-            RefableType _refType_1 = _data_2.getRefType();
-            DataType _type_1 = _refType_1.getType();
-            boolean _isEnumerationOrPrimitive = this._typeHelpers.isEnumerationOrPrimitive(_type_1);
-            boolean _not_1 = (!_isEnumerationOrPrimitive);
-            if (_not_1) {
-              _or = true;
-            } else {
-              VarDecl _data_3 = message.getData();
-              RefableType _refType_2 = _data_3.getRefType();
-              boolean _isRef = _refType_2.isRef();
-              _or = _isRef;
-            }
-            _and = _or;
-          }
-          if (_and) {
+          if ((hasData && ((!this._typeHelpers.isEnumerationOrPrimitive(message.getData().getRefType().getType())) || message.getData().getRefType().isRef()))) {
             _xifexpression_2 = "*";
           } else {
             _xifexpression_2 = "";
@@ -661,6 +641,7 @@
     {
       List<Message> _allIncomingMessages = this._roomHelpers.getAllIncomingMessages(pc);
       final Function1<Message, Boolean> _function = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           return Boolean.valueOf((!Objects.equal(_data, null)));
@@ -668,6 +649,7 @@
       };
       Iterable<Message> sentMsgs = IterableExtensions.<Message>filter(_allIncomingMessages, _function);
       final Function1<Message, Boolean> _function_1 = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           RefableType _refType = _data.getRefType();
@@ -677,6 +659,7 @@
       };
       final Iterable<Message> enumMsgs = IterableExtensions.<Message>filter(sentMsgs, _function_1);
       final Function1<Message, Boolean> _function_2 = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           RefableType _refType = _data.getRefType();
@@ -685,24 +668,7 @@
         }
       };
       final Iterable<Message> boolMsgs = IterableExtensions.<Message>filter(sentMsgs, _function_2);
-      boolean _and = false;
-      GlobalGeneratorSettings _settings = Main.getSettings();
-      boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-      if (!_isGenerateMSCInstrumentation) {
-        _and = false;
-      } else {
-        boolean _and_1 = false;
-        boolean _isEmpty = IterableExtensions.isEmpty(enumMsgs);
-        if (!_isEmpty) {
-          _and_1 = false;
-        } else {
-          boolean _isEmpty_1 = IterableExtensions.isEmpty(boolMsgs);
-          _and_1 = _isEmpty_1;
-        }
-        boolean _not = (!_and_1);
-        _and = _not;
-      }
-      final boolean usesMSC = _and;
+      final boolean usesMSC = (Main.getSettings().isGenerateMSCInstrumentation() && (!(IterableExtensions.isEmpty(enumMsgs) && IterableExtensions.isEmpty(boolMsgs))));
       StringConcatenation _builder = new StringConcatenation();
       _builder.append("/* data driven send port (conjugated) */");
       _builder.newLine();
@@ -883,18 +849,7 @@
           String typeName_3 = _xifexpression_3;
           _builder.newLineIfNotEmpty();
           String _xifexpression_4 = null;
-          boolean _and_2 = false;
-          if (!hasData) {
-            _and_2 = false;
-          } else {
-            VarDecl _data_8 = message.getData();
-            RefableType _refType_7 = _data_8.getRefType();
-            DataType _type_4 = _refType_7.getType();
-            boolean _isEnumerationOrPrimitive = this._typeHelpers.isEnumerationOrPrimitive(_type_4);
-            boolean _not_1 = (!_isEnumerationOrPrimitive);
-            _and_2 = _not_1;
-          }
-          if (_and_2) {
+          if ((hasData && (!this._typeHelpers.isEnumerationOrPrimitive(message.getData().getRefType().getType())))) {
             _xifexpression_4 = "*";
           } else {
             _xifexpression_4 = "";
@@ -934,6 +889,7 @@
     {
       List<Message> _allIncomingMessages = this._roomHelpers.getAllIncomingMessages(pc);
       final Function1<Message, Boolean> _function = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           return Boolean.valueOf((!Objects.equal(_data, null)));
@@ -941,6 +897,7 @@
       };
       Iterable<Message> messages = IterableExtensions.<Message>filter(_allIncomingMessages, _function);
       final Function1<Message, Boolean> _function_1 = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           RefableType _refType = _data.getRefType();
@@ -950,6 +907,7 @@
       };
       final Iterable<Message> enumMsgs = IterableExtensions.<Message>filter(messages, _function_1);
       final Function1<Message, Boolean> _function_2 = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           RefableType _refType = _data.getRefType();
@@ -958,24 +916,7 @@
         }
       };
       final Iterable<Message> boolMsgs = IterableExtensions.<Message>filter(messages, _function_2);
-      boolean _and = false;
-      GlobalGeneratorSettings _settings = Main.getSettings();
-      boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-      if (!_isGenerateMSCInstrumentation) {
-        _and = false;
-      } else {
-        boolean _and_1 = false;
-        boolean _isEmpty = IterableExtensions.isEmpty(enumMsgs);
-        if (!_isEmpty) {
-          _and_1 = false;
-        } else {
-          boolean _isEmpty_1 = IterableExtensions.isEmpty(boolMsgs);
-          _and_1 = _isEmpty_1;
-        }
-        boolean _not = (!_and_1);
-        _and = _not;
-      }
-      final boolean usesMSC = _and;
+      final boolean usesMSC = (Main.getSettings().isGenerateMSCInstrumentation() && (!(IterableExtensions.isEmpty(enumMsgs) && IterableExtensions.isEmpty(boolMsgs))));
       StringConcatenation _builder = new StringConcatenation();
       {
         for(final Message message : messages) {
@@ -989,8 +930,8 @@
           RefableType _refType_1 = _data_1.getRefType();
           DataType _type_1 = _refType_1.getType();
           boolean _isEnumerationOrPrimitive = this._typeHelpers.isEnumerationOrPrimitive(_type_1);
-          boolean _not_1 = (!_isEnumerationOrPrimitive);
-          if (_not_1) {
+          boolean _not = (!_isEnumerationOrPrimitive);
+          if (_not) {
             _xifexpression = "*";
           } else {
             _xifexpression = "";
@@ -1006,19 +947,12 @@
           _builder.append(" {");
           _builder.newLineIfNotEmpty();
           {
-            boolean _and_2 = false;
-            if (!usesMSC) {
-              _and_2 = false;
-            } else {
-              final Function1<Message, Boolean> _function_3 = new Function1<Message, Boolean>() {
-                public Boolean apply(final Message m) {
-                  return Boolean.valueOf(Objects.equal(m, message));
-                }
-              };
-              boolean _exists = IterableExtensions.<Message>exists(enumMsgs, _function_3);
-              _and_2 = _exists;
-            }
-            if (_and_2) {
+            if ((usesMSC && IterableExtensions.<Message>exists(enumMsgs, new Function1<Message, Boolean>() {
+              @Override
+              public Boolean apply(final Message m) {
+                return Boolean.valueOf(Objects.equal(m, message));
+              }
+            }))) {
               _builder.append("\t");
               _builder.append("#ifdef ET_ASYNC_MSC_LOGGER_ACTIVATE");
               _builder.newLine();
@@ -1068,19 +1002,12 @@
             }
           }
           {
-            boolean _and_3 = false;
-            if (!usesMSC) {
-              _and_3 = false;
-            } else {
-              final Function1<Message, Boolean> _function_4 = new Function1<Message, Boolean>() {
-                public Boolean apply(final Message m) {
-                  return Boolean.valueOf(Objects.equal(m, message));
-                }
-              };
-              boolean _exists_1 = IterableExtensions.<Message>exists(boolMsgs, _function_4);
-              _and_3 = _exists_1;
-            }
-            if (_and_3) {
+            if ((usesMSC && IterableExtensions.<Message>exists(boolMsgs, new Function1<Message, Boolean>() {
+              @Override
+              public Boolean apply(final Message m) {
+                return Boolean.valueOf(Objects.equal(m, message));
+              }
+            }))) {
               _builder.append("\t");
               _builder.append("#ifdef ET_ASYNC_MSC_LOGGER_ACTIVATE");
               _builder.newLine();
@@ -1187,16 +1114,7 @@
           String typeName = _xifexpression_2;
           _builder.newLineIfNotEmpty();
           String _xifexpression_3 = null;
-          boolean _and = false;
-          if (!hasData) {
-            _and = false;
-          } else {
-            VarDecl _data_2 = message.getData();
-            RefableType _refType_1 = _data_2.getRefType();
-            boolean _isRef = _refType_1.isRef();
-            _and = _isRef;
-          }
-          if (_and) {
+          if ((hasData && message.getData().getRefType().isRef())) {
             _xifexpression_3 = "*";
           } else {
             _xifexpression_3 = "";
@@ -1204,27 +1122,7 @@
           String refp = _xifexpression_3;
           _builder.newLineIfNotEmpty();
           String _xifexpression_4 = null;
-          boolean _and_1 = false;
-          if (!hasData) {
-            _and_1 = false;
-          } else {
-            boolean _or = false;
-            VarDecl _data_3 = message.getData();
-            RefableType _refType_2 = _data_3.getRefType();
-            DataType _type_1 = _refType_2.getType();
-            boolean _isEnumerationOrPrimitive = this._typeHelpers.isEnumerationOrPrimitive(_type_1);
-            boolean _not = (!_isEnumerationOrPrimitive);
-            if (_not) {
-              _or = true;
-            } else {
-              VarDecl _data_4 = message.getData();
-              RefableType _refType_3 = _data_4.getRefType();
-              boolean _isRef_1 = _refType_3.isRef();
-              _or = _isRef_1;
-            }
-            _and_1 = _or;
-          }
-          if (_and_1) {
+          if ((hasData && ((!this._typeHelpers.isEnumerationOrPrimitive(message.getData().getRefType().getType())) || message.getData().getRefType().isRef()))) {
             _xifexpression_4 = "*";
           } else {
             _xifexpression_4 = "";
@@ -1232,28 +1130,7 @@
           String refpd = _xifexpression_4;
           _builder.newLineIfNotEmpty();
           String _xifexpression_5 = null;
-          boolean _and_2 = false;
-          boolean _and_3 = false;
-          if (!hasData) {
-            _and_3 = false;
-          } else {
-            VarDecl _data_5 = message.getData();
-            RefableType _refType_4 = _data_5.getRefType();
-            DataType _type_2 = _refType_4.getType();
-            boolean _isEnumerationOrPrimitive_1 = this._typeHelpers.isEnumerationOrPrimitive(_type_2);
-            boolean _not_1 = (!_isEnumerationOrPrimitive_1);
-            _and_3 = _not_1;
-          }
-          if (!_and_3) {
-            _and_2 = false;
-          } else {
-            VarDecl _data_6 = message.getData();
-            RefableType _refType_5 = _data_6.getRefType();
-            boolean _isRef_2 = _refType_5.isRef();
-            boolean _not_2 = (!_isRef_2);
-            _and_2 = _not_2;
-          }
-          if (_and_2) {
+          if (((hasData && (!this._typeHelpers.isEnumerationOrPrimitive(message.getData().getRefType().getType()))) && (!message.getData().getRefType().isRef()))) {
             _xifexpression_5 = "";
           } else {
             _xifexpression_5 = "&";
diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/StateMachineGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/StateMachineGen.java
index 4facd62..4c11af2 100644
--- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/StateMachineGen.java
+++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/StateMachineGen.java
@@ -117,6 +117,7 @@
   /**
    * @param generateImplementation NOT used
    */
+  @Override
   public CharSequence genExtra(final ExpandedModelComponent xpmc, final boolean generateImplementation) {
     CharSequence _xblockexpression = null;
     {
@@ -196,14 +197,17 @@
     return _xblockexpression;
   }
   
+  @Override
   public String stateType() {
     return "etInt16";
   }
   
+  @Override
   public String boolType() {
     return "etBool";
   }
   
+  @Override
   public CharSequence markVariableUsed(final String varname) {
     StringConcatenation _builder = new StringConcatenation();
     _builder.append("((void)trigger__et);\t/* avoids unused warning */");
@@ -211,6 +215,7 @@
     return _builder;
   }
   
+  @Override
   public String unreachableReturn() {
     return "/* return NO_STATE; // required by CDT but detected as unreachable by JDT because of while (true) */";
   }
diff --git a/plugins/org.eclipse.etrice.generator.config/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.config/META-INF/MANIFEST.MF
index d13d83f..ec63617 100644
--- a/plugins/org.eclipse.etrice.generator.config/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.config/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Generator Config
 Bundle-SymbolicName: org.eclipse.etrice.generator.config;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Vendor: Eclipse eTrice
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.core.config;bundle-version="1.0.1",
- org.eclipse.etrice.core.genmodel;bundle-version="1.0.1",
- org.eclipse.etrice.generator;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.core.config;bundle-version="1.1.0",
+ org.eclipse.etrice.core.genmodel;bundle-version="1.1.0",
+ org.eclipse.etrice.generator;bundle-version="1.1.0",
  org.eclipse.xtend.lib;bundle-version="2.6.0",
  com.google.guava;bundle-version="8.0.0",
  org.eclipse.xtext.xbase.lib;bundle-version="2.6.0"
diff --git a/plugins/org.eclipse.etrice.generator.config/pom.xml b/plugins/org.eclipse.etrice.generator.config/pom.xml
index eda5fee..9f7e920 100644
--- a/plugins/org.eclipse.etrice.generator.config/pom.xml
+++ b/plugins/org.eclipse.etrice.generator.config/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java b/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java
index 4c69d5b..2821f29 100644
--- a/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java
+++ b/plugins/org.eclipse.etrice.generator.config/xtend-gen/org/eclipse/etrice/generator/config/DataConfiguration.java
@@ -61,16 +61,19 @@
   @Inject
   protected ImportUriResolver uriResolver;
   
+  @Override
   public void doSetup() {
     if ((!EMFPlugin.IS_ECLIPSE_RUNNING)) {
       ConfigStandaloneSetup.doSetup();
     }
   }
   
+  @Override
   public boolean setResources(final ResourceSet resource, final ILogger logger) {
     return this._dataConfigurationHelper.setConfigModels(resource, logger);
   }
   
+  @Override
   public String getAttrClassConfigValue(final ActorClass actor, final List<Attribute> path) {
     AttrClassConfig _attrClassConfig = this.getAttrClassConfig(actor, path);
     ConfigValueArray _value = null;
@@ -84,6 +87,7 @@
     return _stringExpr;
   }
   
+  @Override
   public String getAttrClassConfigMaxValue(final ActorClass actor, final List<Attribute> path) {
     AttrClassConfig _attrClassConfig = this.getAttrClassConfig(actor, path);
     NumberLiteral _max = null;
@@ -97,6 +101,7 @@
     return _stringExpr;
   }
   
+  @Override
   public String getAttrClassConfigMinValue(final ActorClass actor, final List<Attribute> path) {
     AttrClassConfig _attrClassConfig = this.getAttrClassConfig(actor, path);
     NumberLiteral _min = null;
@@ -126,6 +131,7 @@
     return _xblockexpression;
   }
   
+  @Override
   public String getAttrClassConfigValue(final ProtocolClass pc, final boolean regular, final List<Attribute> path) {
     String _xblockexpression = null;
     {
@@ -176,6 +182,7 @@
     return _builder.toString();
   }
   
+  @Override
   public String getAttrInstanceConfigValue(final ActorInstance ai, final List<Attribute> path) {
     String _xblockexpression = null;
     {
@@ -197,6 +204,7 @@
     return _xblockexpression;
   }
   
+  @Override
   public String getAttrInstanceConfigValue(final InterfaceItemInstance item, final List<Attribute> path) {
     String _path = item.getPath();
     String _plus = (_path + "/");
@@ -214,6 +222,7 @@
     return _stringExpr;
   }
   
+  @Override
   public long getPollingTimerUser(final SubSystemInstance subsystem) {
     long _xblockexpression = (long) 0;
     {
@@ -235,6 +244,7 @@
     return _xblockexpression;
   }
   
+  @Override
   public String getUserCode1(final SubSystemInstance subsystem) {
     SubSystemConfig _config = this.getConfig(subsystem);
     DynamicConfig _dynConfig = null;
@@ -260,6 +270,7 @@
     return _xifexpression;
   }
   
+  @Override
   public String getUserCode2(final SubSystemInstance subsystem) {
     SubSystemConfig _config = this.getConfig(subsystem);
     DynamicConfig _dynConfig = null;
@@ -290,12 +301,14 @@
     return _xifexpression;
   }
   
+  @Override
   public List<Attribute> getDynConfigReadAttributes(final ActorInstance ai) {
     final ArrayList<Attribute> result = new ArrayList<Attribute>();
     String _path = ai.getPath();
     List<AttrInstanceConfig> configs = this._dataConfigurationHelper.dynActorInstanceAttrMap.get(_path);
     if (configs!=null) {
       final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
+        @Override
         public void apply(final AttrInstanceConfig c) {
           boolean _isReadOnly = c.isReadOnly();
           if (_isReadOnly) {
@@ -309,12 +322,14 @@
     return result;
   }
   
+  @Override
   public List<Attribute> getDynConfigWriteAttributes(final ActorInstance ai) {
     final ArrayList<Attribute> result = new ArrayList<Attribute>();
     String _path = ai.getPath();
     List<AttrInstanceConfig> configs = this._dataConfigurationHelper.dynActorInstanceAttrMap.get(_path);
     if (configs!=null) {
       final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
+        @Override
         public void apply(final AttrInstanceConfig c) {
           boolean _isReadOnly = c.isReadOnly();
           boolean _not = (!_isReadOnly);
@@ -329,6 +344,7 @@
     return result;
   }
   
+  @Override
   public boolean hasVariableService(final SubSystemInstance subsystem) {
     SubSystemConfig _config = this.getConfig(subsystem);
     DynamicConfig _dynConfig = null;
@@ -359,12 +375,10 @@
   private String toStringExpr(final ConfigValue configValue) {
     String _switchResult = null;
     boolean _matched = false;
-    if (!_matched) {
-      if (configValue instanceof LiteralConfigValue) {
-        _matched=true;
-        Literal _value = ((LiteralConfigValue)configValue).getValue();
-        _switchResult = this.toStringExpr(_value);
-      }
+    if (configValue instanceof LiteralConfigValue) {
+      _matched=true;
+      Literal _value = ((LiteralConfigValue)configValue).getValue();
+      _switchResult = this.toStringExpr(_value);
     }
     if (!_matched) {
       if (configValue instanceof EnumConfigValue) {
@@ -379,12 +393,10 @@
   private String toStringExpr(final Literal literal) {
     String _switchResult = null;
     boolean _matched = false;
-    if (!_matched) {
-      if (literal instanceof BooleanLiteral) {
-        _matched=true;
-        boolean _isIsTrue = ((BooleanLiteral)literal).isIsTrue();
-        _switchResult = Boolean.valueOf(_isIsTrue).toString();
-      }
+    if (literal instanceof BooleanLiteral) {
+      _matched=true;
+      boolean _isIsTrue = ((BooleanLiteral)literal).isIsTrue();
+      _switchResult = Boolean.valueOf(_isIsTrue).toString();
     }
     if (!_matched) {
       if (literal instanceof IntLiteral) {
@@ -415,11 +427,13 @@
     return this._dataConfigurationHelper.subSystemConfigMap.get(_path);
   }
   
+  @Override
   public List<Attribute> getDynConfigReadAttributes(final ActorClass actor) {
     final HashSet<Attribute> result = new HashSet<Attribute>();
     final List<AttrInstanceConfig> configs = this._dataConfigurationHelper.dynActorClassAttrMap.get(actor);
     if (configs!=null) {
       final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
+        @Override
         public void apply(final AttrInstanceConfig c) {
           boolean _isReadOnly = c.isReadOnly();
           if (_isReadOnly) {
@@ -433,11 +447,13 @@
     return IterableExtensions.<Attribute>toList(result);
   }
   
+  @Override
   public List<Attribute> getDynConfigWriteAttributes(final ActorClass actor) {
     final HashSet<Attribute> result = new HashSet<Attribute>();
     final List<AttrInstanceConfig> configs = this._dataConfigurationHelper.dynActorClassAttrMap.get(actor);
     if (configs!=null) {
       final Procedure1<AttrInstanceConfig> _function = new Procedure1<AttrInstanceConfig>() {
+        @Override
         public void apply(final AttrInstanceConfig c) {
           boolean _isReadOnly = c.isReadOnly();
           boolean _not = (!_isReadOnly);
diff --git a/plugins/org.eclipse.etrice.generator.cpp/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.cpp/META-INF/MANIFEST.MF
index 78bf682..a0fef18 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.cpp/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice C++ Generator
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.generator.cpp;singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.genmodel;bundle-version="1.0.1",
- org.eclipse.etrice.core.etphys;bundle-version="1.0.1",
- org.eclipse.etrice.core.etmap;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator.config;bundle-version="1.0.1",
- org.eclipse.etrice.generator.doc;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.genmodel;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etphys;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etmap;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.config;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.doc;bundle-version="1.1.0",
  org.eclipse.core.resources;bundle-version="3.6.0",
  org.eclipse.core.runtime;bundle-version="3.6.0",
  org.eclipse.xtend.lib;bundle-version="2.6.0",
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend
index 8251fce..e122809 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend
@@ -16,7 +16,6 @@
 import com.google.inject.Singleton
 import java.util.Map
 import org.eclipse.etrice.core.fsm.fSM.ComponentCommunicationType
-import org.eclipse.etrice.core.genmodel.builder.GenmodelConstants
 import org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass
 import org.eclipse.etrice.core.genmodel.etricegen.Root
 import org.eclipse.etrice.core.genmodel.etricegen.WiredActorClass
@@ -73,6 +72,7 @@
 		#include "common/etDatatypesCpp.hpp"
 		#include "common/messaging/IRTObject.h"
 		#include "common/modelbase/PortBase.h"
+		#include "common/modelbase/ReplicatedActorClassBase.h"
 		#include "common/modelbase/InterfaceItemBase.h"
 		#include "common/modelbase/SubSystemClassBase.h"
 		#include "common/messaging/Address.h"
@@ -92,6 +92,9 @@
 		«ELSE»
 			#include "«ac.actorBase.path»«ac.actorBase.name».h"
 		«ENDIF»
+		«FOR ar : ac.actorRefs»
+			#include "«ar.type.actorIncludePath»"
+		«ENDFOR»
 
 		«ac.userCode1.userCode»
 
@@ -108,6 +111,15 @@
 					«ep.getPortClassName» «ep.name»;
 				«ENDFOR»
 
+				//--------------------- sub actors
+				«FOR sub : ac.actorRefs»
+					«IF sub.multiplicity > 1»
+						Replicated«sub.type.implementationClassName» «sub.name»;
+					«ELSE»
+						«sub.type.implementationClassName» «sub.name»;
+					«ENDIF»
+				«ENDFOR»
+
 				//--------------------- saps
 				«FOR sap : ac.serviceAccessPoints»
 					«sap.getPortClassName» «sap.name»;
@@ -128,6 +140,10 @@
 			public:
 				//--------------------- construction
 				«ac.name»(etRuntime::IRTObject* parent, const std::string& name);
+				void initialize(void);
+				«IF Main::settings.generateMSCInstrumentation»
+					void setProbesActive(bool recursive, bool active);
+				«ENDIF»
 
 «««	TODO: check whether attribute setters/getters are necessary at all, if yes own cpp implementation is needed for *,[],& variables
 «««				«attributeSettersGettersImplementation(ac.attributes, ac.name)»
@@ -162,6 +178,17 @@
 
 		};
 
+		class Replicated«clsname» : public ReplicatedActorClassBase {
+		public:
+			Replicated«clsname»(IRTObject* parent, const std::string& name) :
+				ReplicatedActorClassBase(parent, name) {}
+			
+		protected:
+			ActorClassBase* createActor(IRTObject* parent, const std::string& name) {
+				return new «clsname»(parent, name);
+			}
+		};
+
 		«ac.generateNamespaceEnd»
 
 		«generateIncludeGuardEnd(ac, '')»
@@ -176,6 +203,8 @@
 		initList += '''«ac.actorBase?.name ?: 'ActorClassBase'»(parent, name)'''
 	    // own ports
 	    initList += ac.endPorts.map['''«name»(this, "«name»", IFITEM_«name»)''']
+	    // own sub actors
+	    initList += ac.actorRefs.map['''«name»(this, "«name»")''']
 		// own saps
 		initList += ac.serviceAccessPoints.map['''«name»(this, "«name»", IFITEM_«name»)''']
 		// own service implementations
@@ -205,10 +234,8 @@
 
 		#include "common/messaging/RTObject.h"
 		#include "common/messaging/RTServices.h"
-
-		«FOR ar : ac.actorRefs»
-			#include "«ar.type.actorIncludePath»"
-		«ENDFOR»
+		#include "common/debugging/DebuggingService.h"
+		#include "common/debugging/MSCFunctionObject.h"
 
 		using namespace etRuntime;
 
@@ -217,6 +244,10 @@
 		«clsname»::«clsname»(etRuntime::IRTObject* parent, const std::string& name)
 				«ac.generateConstructorInitalizerList»
 		{
+			«IF Main::settings.generateMSCInstrumentation»
+				MSCFunctionObject mscFunctionObject(getInstancePathName(), "Constructor");
+			«ENDIF»
+			
 			«IF ac.hasNonEmptyStateMachine»
 				for (int i = 0; i < s_numberOfStates; i++) {
 					history[i] = NO_STATE;
@@ -227,20 +258,34 @@
 			// sub actors
 			«FOR sub : ac.actorRefs»
 				«IF sub.multiplicity>1»
-					for (int i=0; i<«sub.multiplicity»; ++i) {
-						«IF Main::settings.generateMSCInstrumentation»
-							DebuggingService::getInstance().addMessageActorCreate(*this, "«sub.name»«GenmodelConstants::INDEX_SEP»"+i);
-						«ENDIF»
-						new «sub.type.implementationClassName»(this, "«sub.name»«GenmodelConstants::INDEX_SEP»"+i);
-					}
-				«ELSE»
-					«IF Main::settings.generateMSCInstrumentation»
-						DebuggingService::getInstance().addMessageActorCreate(*this, "«sub.name»");
-					«ENDIF»
-					new «sub.type.implementationClassName»(this, "«sub.name»");
+					«sub.name».createSubActors(«sub.multiplicity»);
 				«ENDIF»
 			«ENDFOR»
 
+			«initHelper.genExtraInitializers(ac.attributes)»
+			«ac.userStructorBody(true)»
+		}
+		
+		void «ac.name»::initialize() {
+			«IF Main::settings.generateMSCInstrumentation»
+				MSCFunctionObject mscFunctionObject(getInstancePathName(), "initialize()");
+				«FOR sub : ac.actorRefs»
+					«IF sub.multiplicity > 1»
+						for (int i=0; i<«sub.multiplicity»; ++i) {
+							DebuggingService::getInstance().addMessageActorCreate(*this, «sub.name».getSubActor(i)->getName());
+						}
+					«ELSE»
+						DebuggingService::getInstance().addMessageActorCreate(*this, "«sub.name»");
+					«ENDIF»
+				«ENDFOR»
+			«ENDIF»
+			
+			ActorClassBase::initialize();
+			
+			«FOR sub : ac.actorRefs»
+				«sub.name».initialize();
+			«ENDFOR»
+			
 			// wiring
 			«FOR wire: wired.wires»
 				«if (wire.dataDriven) "DataPortBase" else "InterfaceItemBase"»::connect(this, "«wire.path1.join('/')»", "«wire.path2.join('/')»");
@@ -250,12 +295,43 @@
 				// activate polling for data-driven communication
 				RTServices::getInstance().getMsgSvcCtrl().getMsgSvc(getThread())->addPollingMessageReceiver(*this);
 			«ENDIF»
-
-			«initHelper.genExtraInitializers(ac.attributes)»
-			«ac.userStructorBody(true)»
 		}
+		
+		«IF Main::settings.generateMSCInstrumentation»
+			void «ac.name»::setProbesActive(bool recursive, bool active) {
+				DebuggingService::getInstance().addPortInstance(m_RTSystemPort);
+				«IF ac.actorRefs.size > 0»
+					if(recursive) {
+						«FOR sub : ac.actorRefs»
+							«sub.name».setProbesActive(recursive, active);
+						«ENDFOR»
+					}
+				«ENDIF»
+				«FOR ep : ac.endPorts»
+					«IF !ep.dataDriven»
+						«IF ep.replicated»
+							for(int i = 0; i < «ep.name».getNInterfaceItems(); i++)
+								DebuggingService::getInstance().addPortInstance(*(«ep.name».getInterfaceItem(i)));
+						«ELSE»
+							DebuggingService::getInstance().addPortInstance(«ep.name»);
+						«ENDIF»
+					«ENDIF»
+				«ENDFOR»
+				«FOR sap : ac.serviceAccessPoints»
+					DebuggingService::getInstance().addPortInstance(«sap.name»);
+				«ENDFOR»
+				«FOR spp : ac.serviceProvisionPoints»
+					for(int i = 0; i < «spp.name».getNInterfaceItems(); i++)
+							DebuggingService::getInstance().addPortInstance(*(«spp.name».getInterfaceItem(i)));
+				«ENDFOR»
+			}
+		«ENDIF»
 
 		void «ac.name»::destroy(){
+			«IF Main::settings.generateMSCInstrumentation»
+				MSCFunctionObject mscFunctionObject(getInstancePathName(), "destroy()");
+			«ENDIF»
+			
 			«ac.userStructorBody(false)»
 			«IF Main::settings.generateMSCInstrumentation»
 				DebuggingService::getInstance().addMessageActorDestroy(*this);
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/CppExtensions.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/CppExtensions.xtend
index bec6095..c788cd2 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/CppExtensions.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/CppExtensions.xtend
@@ -76,6 +76,8 @@
 	override String memberAccess() {"this->"}
 	override String selfPointer(String classname, boolean hasArgs) {""}
 	override String selfPointer(boolean hasArgs) { "" }
+	
+	override String scopeSeparator() {"::"}
 
 	override String operationScope(String classname, boolean isDeclaration) {
 		if (isDeclaration)
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeGen.xtend
index eb071ad..2635252 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/NodeGen.xtend
@@ -16,14 +16,13 @@
 import com.google.inject.Singleton
 import java.util.Collection
 import java.util.Map
+import org.eclipse.etrice.core.common.converter.TimeConverter
 import org.eclipse.etrice.core.etmap.util.ETMapUtil
 import org.eclipse.etrice.core.etphys.eTPhys.ExecMode
 import org.eclipse.etrice.core.etphys.eTPhys.PhysicalThread
-import org.eclipse.etrice.core.genmodel.builder.GenmodelConstants
 import org.eclipse.etrice.core.genmodel.etricegen.Root
 import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance
 import org.eclipse.etrice.core.genmodel.etricegen.WiredSubSystemClass
-import org.eclipse.etrice.core.genmodel.fsm.fsmgen.IDiagnostician
 import org.eclipse.etrice.core.room.SubSystemClass
 import org.eclipse.etrice.generator.cpp.Main
 import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers
@@ -32,7 +31,6 @@
 import org.eclipse.etrice.generator.generic.RoomExtensions
 
 import static extension org.eclipse.etrice.generator.fsm.base.Indexed.*
-import org.eclipse.etrice.core.common.converter.TimeConverter
 
 @Singleton
 class NodeGen {
@@ -41,9 +39,9 @@
 	@Inject extension RoomExtensions
 	@Inject extension ProcedureHelpers
 	@Inject extension FileSystemHelpers
-
+	
 	@Inject IGeneratorFileIo fileIO
-	@Inject IDiagnostician diagnostician
+	@Inject Initialization initHelper
 
 	def doGenerate(Root root) {
 		val Map<SubSystemClass, WiredSubSystemClass> sscc2wired = newHashMap
@@ -86,6 +84,9 @@
 		«generateIncludeGuardBegin(cc, '')»
 
 		#include "common/modelbase/SubSystemClassBase.h"
+		«FOR ai : comp.actorInstances»
+			#include "«ai.actorClass.actorIncludePath»"
+		«ENDFOR»
 
 «««		«FOR model : root.getReferencedModels(cc)»
 «««		«««			#include "«model.name».h"
@@ -104,11 +105,25 @@
 					static const int «thread.value.threadId»;
 				«ENDFOR»
 
+				// sub actors
+				«FOR sub : cc.actorRefs»
+					«IF sub.multiplicity>1»
+						Replicated«sub.type.implementationClassName» «sub.name»;
+					«ELSE»
+						«sub.type.implementationClassName» «sub.name»;
+					«ENDIF»
+				«ENDFOR»
+
 				«clsname»(IRTObject* parent, const std::string& name);
+				~«clsname»();
 
 				virtual void receiveEvent(etRuntime::InterfaceItemBase* ifitem, int evt, void* data);
 				virtual void instantiateMessageServices();
-				virtual void instantiateActors();
+				virtual void mapThreads(void);
+				virtual void initialize(void);
+				«IF Main::settings.generateMSCInstrumentation»
+					virtual void setProbesActive(bool recursive, bool active);
+				«ENDIF»
 
 				virtual void init();
 
@@ -134,6 +149,18 @@
 		"THREAD_"+thread.name.toUpperCase
 	}
 
+	def private generateConstructorInitalizerList(SubSystemClass cc) {
+		val extension initHelper = initHelper
+		var initList = <CharSequence>newArrayList
+
+		// super class
+		initList += '''SubSystemClassBase(parent, name)'''
+	    // own sub actors
+	    initList += cc.actorRefs.map['''«name»(this, "«name»")''']
+
+		initList.generateCtorInitializerList
+	}
+
 	def generateSourceFile(Root root, SubSystemInstance comp, WiredSubSystemClass wired, Collection<PhysicalThread> usedThreads) {
 		val cc = comp.subSystemClass
 		val models = root.getReferencedModels(cc)
@@ -152,16 +179,13 @@
 		#include "«getCppHeaderFileName(nr, comp)»"
 
 		#include "common/debugging/DebuggingService.h"
+		#include "common/debugging/MSCFunctionObject.h"
 		#include "common/messaging/IMessageService.h"
 		#include "common/messaging/MessageService.h"
 		#include "common/messaging/MessageServiceController.h"
 		#include "common/messaging/RTServices.h"
 		#include "common/modelbase/InterfaceItemBase.h"
 
-		«FOR ai : comp.actorInstances»
-			#include "«ai.actorClass.actorIncludePath»"
-		«ENDFOR»
-
 		using namespace etRuntime;
 
 		«cc.generateNamespaceBegin»
@@ -170,9 +194,23 @@
 			const int «clsname»::«thread.value.threadId» = «thread.index0»;
 		«ENDFOR»
 
-		«clsname»::«clsname»(IRTObject* parent, const std::string& name) :
-				SubSystemClassBase(parent, name)
+		«clsname»::«clsname»(IRTObject* parent, const std::string& name)
+				«cc.generateConstructorInitalizerList»
 		{
+			«IF Main::settings.generateMSCInstrumentation»
+				MSCFunctionObject mscFunctionObject(getInstancePathName(), "Constructor");
+			«ENDIF»
+			«FOR sub : cc.actorRefs»
+				«IF sub.multiplicity>1»
+					«sub.name».createSubActors(«sub.multiplicity»);
+				«ENDIF»
+			«ENDFOR»
+		}
+		
+		«clsname»::~«clsname»() {
+			«IF Main::settings.generateMSCInstrumentation»
+				MSCFunctionObject mscFunctionObject(getInstancePathName(), "Destructor");
+			«ENDIF»
 		}
 
 		void «clsname»::receiveEvent(InterfaceItemBase* ifitem, int evt, void* data){
@@ -180,6 +218,10 @@
 
 		void «clsname»::instantiateMessageServices(){
 
+			«IF Main::settings.generateMSCInstrumentation»
+				MSCFunctionObject mscFunctionObject(getInstancePathName(), "instantiateMessageServices()");
+			«ENDIF»
+
 			IMessageService* msgService;
 			«FOR thread: threads»
 				{
@@ -197,8 +239,7 @@
 			«ENDFOR»
 		}
 
-		void «clsname»::instantiateActors(){
-
+		void «clsname»::mapThreads() {
 			// thread mappings
 			«FOR ai : comp.allContainedInstances»
 				«val mapped = ETMapUtil::getMappedThread(ai)»
@@ -206,34 +247,47 @@
 					addPathToThread("«ai.path»", «mapped.thread.threadId»);
 				«ENDIF»
 			«ENDFOR»
+		}
 
-			// sub actors
-			«FOR sub : cc.actorRefs»
-				«IF sub.multiplicity>1»
-					for (int i=0; i<«sub.multiplicity»; ++i) {
-						«IF Main::settings.generateMSCInstrumentation»
-							DebuggingService::getInstance().addMessageActorCreate(*this, "«sub.name»«GenmodelConstants::INDEX_SEP»"+i);
-						«ENDIF»
-						new «sub.type.implementationClassName»(this, "«sub.name»«GenmodelConstants::INDEX_SEP»"+i);
-					}
-				«ELSE»
-					«IF Main::settings.generateMSCInstrumentation»
+		void «clsname»::initialize() {
+			«IF Main::settings.generateMSCInstrumentation»
+				DebuggingService::getInstance().getSyncLogger().addVisibleComment("starting initialization");
+				MSCFunctionObject mscFunctionObject(getInstancePathName(), "initialize()");
+				«FOR sub : cc.actorRefs»
+					«IF sub.multiplicity>1»
+						for (int i=0; i<«sub.multiplicity»; ++i) {
+							DebuggingService::getInstance().addMessageActorCreate(*this, «sub.name».getSubActor(i)->getName());
+						}
+					«ELSE»
 						DebuggingService::getInstance().addMessageActorCreate(*this, "«sub.name»");
 					«ENDIF»
-					new «sub.type.implementationClassName»(this, "«sub.name»");
-				«ENDIF»
-			«ENDFOR»
-
+				«ENDFOR»			
+			«ENDIF»
+			
 			// wiring
 			«FOR wire: wired.wires»
 				«if (wire.dataDriven) "DataPortBase" else "InterfaceItemBase"»::connect(this, "«wire.path1.join('/')»", "«wire.path2.join('/')»");
 			«ENDFOR»
+			
+			// call initialize of sub actors
+			«FOR sub : cc.actorRefs»
+				«sub.name».initialize();
+			«ENDFOR»
 		}
+		
+		«IF Main::settings.generateMSCInstrumentation»
+			void «clsname»::setProbesActive(bool recursive, bool active) {
+				for(int i = 0; i < m_RTSystemPort.getNInterfaceItems(); i++)
+					DebuggingService::getInstance().addPortInstance(*(m_RTSystemPort.getInterfaceItem(i)));
+				if(recursive) {
+					«FOR sub : cc.actorRefs»
+						«sub.name».setProbesActive(recursive, active);
+					«ENDFOR»
+				}
+			}
+		«ENDIF»
 
 		void «clsname»::init(){
-			«IF Main::settings.generateMSCInstrumentation»
-				DebuggingService::getInstance().addVisibleComment("begin sub system initialization");
-			«ENDIF»
 			SubSystemClassBase::init();
 			«IF Main::settings.generateMSCInstrumentation»
 				DebuggingService::getInstance().addVisibleComment("done sub system initialization");
@@ -242,9 +296,15 @@
 		«IF Main::settings.generateMSCInstrumentation»
 
 			void «clsname»::destroy() {
-				DebuggingService::getInstance().addVisibleComment("begin sub system destruction");
+				«IF Main::settings.generateMSCInstrumentation»
+					DebuggingService::getInstance().getSyncLogger().addVisibleComment("starting destruction");
+					MSCFunctionObject mscFunctionObject(getInstancePathName(), "destroy()");
+					DebuggingService::getInstance().addVisibleComment("begin sub system destruction");
+				«ENDIF»
 				SubSystemClassBase::destroy();
-				DebuggingService::getInstance().addVisibleComment("done sub system destruction");
+				«IF Main::settings.generateMSCInstrumentation»
+					DebuggingService::getInstance().addVisibleComment("done sub system destruction");
+				«ENDIF»
 			}
 		«ENDIF»
 
diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend
index ca48d51..b588e27 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend
@@ -62,7 +62,6 @@
 				case CommunicationType::SYNCHRONOUS:
 					logger.logError("synchronous protocols not supported yet", pc)
 			}
-
 		}
 	}
 
@@ -200,6 +199,7 @@
 		#include "«pc.getCppHeaderFileName»"
 
 		#include "common/debugging/DebuggingService.h"
+		#include "common/debugging/MSCFunctionObject.h"
 		#include "common/messaging/AbstractMessageReceiver.h"
 		#include "common/messaging/Address.h"
 		#include "common/messaging/Message.h"
@@ -247,18 +247,12 @@
 	«portClassName»::«portClassName»(IInterfaceItemOwner* actor, const std::string& name, int localId)
 		«pclass.generateConstructorInitalizerList('0')»
 	{
-		«IF Main::settings.generateMSCInstrumentation»
-			DebuggingService::getInstance().addPortInstance(*this);
-		«ENDIF»
 	}
 
 	«portClassName»::«portClassName»(IInterfaceItemOwner* actor, const std::string& name, int localId, int idx)
 		«pclass.generateConstructorInitalizerList('idx')»
 	{
 		«IF pclass != null»«initHelper.genExtraInitializers(pclass.attributes)»«ENDIF»
-		«IF Main::settings.generateMSCInstrumentation»
-			DebuggingService::getInstance().addPortInstance(*this);
-		«ENDIF»
 	}
 	«IF Main::settings.generateMSCInstrumentation»
 
@@ -372,8 +366,10 @@
 					«FOR command : hdlr.detailCode.lines»	«command»
 					«ENDFOR»
 				«ELSE»
-					DebuggingService::getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(),
-						«portClassName»::getMessageString(«portClassName»::«dir»_«m.name»));
+					«IF Main::settings.generateMSCInstrumentation»
+						DebuggingService::getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(),
+							«portClassName»::getMessageString(«portClassName»::«dir»_«m.name»));
+					«ENDIF»
 					if (getPeerAddress().isValid()){
 						getPeerMsgReceiver()->receive(«message»);
 					}
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java
index 03811a8..dc62670 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java
@@ -21,7 +21,6 @@
 import org.eclipse.etrice.core.fsm.fSM.ComponentCommunicationType;
 import org.eclipse.etrice.core.fsm.fSM.DetailCode;
 import org.eclipse.etrice.core.fsm.fSM.StateGraph;
-import org.eclipse.etrice.core.genmodel.builder.GenmodelConstants;
 import org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass;
 import org.eclipse.etrice.core.genmodel.etricegen.Root;
 import org.eclipse.etrice.core.genmodel.etricegen.Wire;
@@ -89,6 +88,7 @@
     EList<WiredStructureClass> _wiredInstances = root.getWiredInstances();
     Iterable<WiredActorClass> _filter = Iterables.<WiredActorClass>filter(_wiredInstances, WiredActorClass.class);
     final Procedure1<WiredActorClass> _function = new Procedure1<WiredActorClass>() {
+      @Override
       public void apply(final WiredActorClass it) {
         ActorClass _actorClass = it.getActorClass();
         ac2wired.put(_actorClass, it);
@@ -97,6 +97,7 @@
     IterableExtensions.<WiredActorClass>forEach(_filter, _function);
     EList<ExpandedActorClass> _xpActorClasses = root.getXpActorClasses();
     final Function1<ExpandedActorClass, Boolean> _function_1 = new Function1<ExpandedActorClass, Boolean>() {
+      @Override
       public Boolean apply(final ExpandedActorClass cl) {
         ActorClass _actorClass = cl.getActorClass();
         return Boolean.valueOf(ActorClassGen.this._fileSystemHelpers.isValidGenerationLocation(_actorClass));
@@ -194,6 +195,8 @@
       _builder.newLine();
       _builder.append("#include \"common/modelbase/PortBase.h\"");
       _builder.newLine();
+      _builder.append("#include \"common/modelbase/ReplicatedActorClassBase.h\"");
+      _builder.newLine();
       _builder.append("#include \"common/modelbase/InterfaceItemBase.h\"");
       _builder.newLine();
       _builder.append("#include \"common/modelbase/SubSystemClassBase.h\"");
@@ -250,6 +253,17 @@
           _builder.newLineIfNotEmpty();
         }
       }
+      {
+        EList<ActorRef> _actorRefs = ac.getActorRefs();
+        for(final ActorRef ar : _actorRefs) {
+          _builder.append("#include \"");
+          ActorClass _type = ar.getType();
+          String _actorIncludePath = this._cppExtensions.getActorIncludePath(_type);
+          _builder.append(_actorIncludePath, "");
+          _builder.append("\"");
+          _builder.newLineIfNotEmpty();
+        }
+      }
       _builder.newLine();
       DetailCode _userCode1 = ac.getUserCode1();
       CharSequence _userCode = this._procedureHelpers.userCode(_userCode1);
@@ -292,6 +306,41 @@
       }
       _builder.newLine();
       _builder.append("\t\t");
+      _builder.append("//--------------------- sub actors");
+      _builder.newLine();
+      {
+        EList<ActorRef> _actorRefs_1 = ac.getActorRefs();
+        for(final ActorRef sub : _actorRefs_1) {
+          {
+            int _multiplicity = sub.getMultiplicity();
+            boolean _greaterThan = (_multiplicity > 1);
+            if (_greaterThan) {
+              _builder.append("\t\t");
+              _builder.append("Replicated");
+              ActorClass _type_1 = sub.getType();
+              String _implementationClassName = this._cppExtensions.getImplementationClassName(_type_1);
+              _builder.append(_implementationClassName, "\t\t");
+              _builder.append(" ");
+              String _name_6 = sub.getName();
+              _builder.append(_name_6, "\t\t");
+              _builder.append(";");
+              _builder.newLineIfNotEmpty();
+            } else {
+              _builder.append("\t\t");
+              ActorClass _type_2 = sub.getType();
+              String _implementationClassName_1 = this._cppExtensions.getImplementationClassName(_type_2);
+              _builder.append(_implementationClassName_1, "\t\t");
+              _builder.append(" ");
+              String _name_7 = sub.getName();
+              _builder.append(_name_7, "\t\t");
+              _builder.append(";");
+              _builder.newLineIfNotEmpty();
+            }
+          }
+        }
+      }
+      _builder.newLine();
+      _builder.append("\t\t");
       _builder.append("//--------------------- saps");
       _builder.newLine();
       {
@@ -301,8 +350,8 @@
           String _portClassName_1 = this._roomExtensions.getPortClassName(sap);
           _builder.append(_portClassName_1, "\t\t");
           _builder.append(" ");
-          String _name_6 = sap.getName();
-          _builder.append(_name_6, "\t\t");
+          String _name_8 = sap.getName();
+          _builder.append(_name_8, "\t\t");
           _builder.append(";");
           _builder.newLineIfNotEmpty();
         }
@@ -319,8 +368,8 @@
           _builder.append(_portClassName_2, "\t\t");
           _builder.append(" ");
           SPP _spp = svc.getSpp();
-          String _name_7 = _spp.getName();
-          _builder.append(_name_7, "\t\t");
+          String _name_9 = _spp.getName();
+          _builder.append(_name_9, "\t\t");
           _builder.append(";");
           _builder.newLineIfNotEmpty();
         }
@@ -342,8 +391,8 @@
       _builder.newLine();
       _builder.append("\t\t");
       EList<StandardOperation> _operations = ac.getOperations();
-      String _name_8 = ac.getName();
-      CharSequence _operationsDeclaration = this._procedureHelpers.operationsDeclaration(_operations, _name_8);
+      String _name_10 = ac.getName();
+      CharSequence _operationsDeclaration = this._procedureHelpers.operationsDeclaration(_operations, _name_10);
       _builder.append(_operationsDeclaration, "\t\t");
       _builder.newLineIfNotEmpty();
       _builder.newLine();
@@ -354,10 +403,22 @@
       _builder.append("//--------------------- construction");
       _builder.newLine();
       _builder.append("\t\t");
-      String _name_9 = ac.getName();
-      _builder.append(_name_9, "\t\t");
+      String _name_11 = ac.getName();
+      _builder.append(_name_11, "\t\t");
       _builder.append("(etRuntime::IRTObject* parent, const std::string& name);");
       _builder.newLineIfNotEmpty();
+      _builder.append("\t\t");
+      _builder.append("void initialize(void);");
+      _builder.newLine();
+      {
+        GlobalGeneratorSettings _settings = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation) {
+          _builder.append("\t\t");
+          _builder.append("void setProbesActive(bool recursive, bool active);");
+          _builder.newLine();
+        }
+      }
       _builder.newLine();
       _builder.append("\t\t");
       _builder.append("//--------------------- port getters");
@@ -365,6 +426,7 @@
       _builder.append("\t\t");
       List<Port> _endPorts_1 = this._roomHelpers.getEndPorts(ac);
       final Function1<Port, CharSequence> _function = new Function1<Port, CharSequence>() {
+        @Override
         public CharSequence apply(final Port it) {
           String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(it);
           String _plus = (_portClassName + "&");
@@ -380,6 +442,7 @@
       _builder.append("\t\t");
       EList<SAP> _serviceAccessPoints_1 = ac.getServiceAccessPoints();
       final Function1<SAP, CharSequence> _function_1 = new Function1<SAP, CharSequence>() {
+        @Override
         public CharSequence apply(final SAP it) {
           String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(it);
           String _plus = (_portClassName + "&");
@@ -395,6 +458,7 @@
       _builder.append("\t\t");
       EList<ServiceImplementation> _serviceImplementations_1 = ac.getServiceImplementations();
       final Function1<ServiceImplementation, CharSequence> _function_2 = new Function1<ServiceImplementation, CharSequence>() {
+        @Override
         public CharSequence apply(final ServiceImplementation it) {
           String _portClassName = ActorClassGen.this._roomExtensions.getPortClassName(it);
           String _plus = (_portClassName + "&");
@@ -437,17 +501,7 @@
             }
           }
           {
-            boolean _or = false;
-            ComponentCommunicationType _commType_1 = ac.getCommType();
-            boolean _equals_2 = Objects.equal(_commType_1, ComponentCommunicationType.ASYNCHRONOUS);
-            if (_equals_2) {
-              _or = true;
-            } else {
-              ComponentCommunicationType _commType_2 = ac.getCommType();
-              boolean _equals_3 = Objects.equal(_commType_2, ComponentCommunicationType.DATA_DRIVEN);
-              _or = _equals_3;
-            }
-            if (_or) {
+            if ((Objects.equal(ac.getCommType(), ComponentCommunicationType.ASYNCHRONOUS) || Objects.equal(ac.getCommType(), ComponentCommunicationType.DATA_DRIVEN))) {
               _builder.append("\t\t");
               _builder.append("virtual void receive(const etRuntime::Message* msg);");
               _builder.newLine();
@@ -479,6 +533,38 @@
       _builder.append("};");
       _builder.newLine();
       _builder.newLine();
+      _builder.append("class Replicated");
+      _builder.append(clsname, "");
+      _builder.append(" : public ReplicatedActorClassBase {");
+      _builder.newLineIfNotEmpty();
+      _builder.append("public:");
+      _builder.newLine();
+      _builder.append("\t");
+      _builder.append("Replicated");
+      _builder.append(clsname, "\t");
+      _builder.append("(IRTObject* parent, const std::string& name) :");
+      _builder.newLineIfNotEmpty();
+      _builder.append("\t\t");
+      _builder.append("ReplicatedActorClassBase(parent, name) {}");
+      _builder.newLine();
+      _builder.append("\t");
+      _builder.newLine();
+      _builder.append("protected:");
+      _builder.newLine();
+      _builder.append("\t");
+      _builder.append("ActorClassBase* createActor(IRTObject* parent, const std::string& name) {");
+      _builder.newLine();
+      _builder.append("\t\t");
+      _builder.append("return new ");
+      _builder.append(clsname, "\t\t");
+      _builder.append("(parent, name);");
+      _builder.newLineIfNotEmpty();
+      _builder.append("\t");
+      _builder.append("}");
+      _builder.newLine();
+      _builder.append("};");
+      _builder.newLine();
+      _builder.newLine();
       String _generateNamespaceEnd = this._cppExtensions.generateNamespaceEnd(ac);
       _builder.append(_generateNamespaceEnd, "");
       _builder.newLineIfNotEmpty();
@@ -514,6 +600,7 @@
       initList.add(_builder.toString());
       List<Port> _endPorts = this._roomHelpers.getEndPorts(ac);
       final Function1<Port, String> _function = new Function1<Port, String>() {
+        @Override
         public String apply(final Port it) {
           StringConcatenation _builder = new StringConcatenation();
           String _name = it.getName();
@@ -530,8 +617,25 @@
       };
       List<String> _map = ListExtensions.<Port, String>map(_endPorts, _function);
       Iterables.<CharSequence>addAll(initList, _map);
+      EList<ActorRef> _actorRefs = ac.getActorRefs();
+      final Function1<ActorRef, String> _function_1 = new Function1<ActorRef, String>() {
+        @Override
+        public String apply(final ActorRef it) {
+          StringConcatenation _builder = new StringConcatenation();
+          String _name = it.getName();
+          _builder.append(_name, "");
+          _builder.append("(this, \"");
+          String _name_1 = it.getName();
+          _builder.append(_name_1, "");
+          _builder.append("\")");
+          return _builder.toString();
+        }
+      };
+      List<String> _map_1 = ListExtensions.<ActorRef, String>map(_actorRefs, _function_1);
+      Iterables.<CharSequence>addAll(initList, _map_1);
       EList<SAP> _serviceAccessPoints = ac.getServiceAccessPoints();
-      final Function1<SAP, String> _function_1 = new Function1<SAP, String>() {
+      final Function1<SAP, String> _function_2 = new Function1<SAP, String>() {
+        @Override
         public String apply(final SAP it) {
           StringConcatenation _builder = new StringConcatenation();
           String _name = it.getName();
@@ -546,10 +650,11 @@
           return _builder.toString();
         }
       };
-      List<String> _map_1 = ListExtensions.<SAP, String>map(_serviceAccessPoints, _function_1);
-      Iterables.<CharSequence>addAll(initList, _map_1);
+      List<String> _map_2 = ListExtensions.<SAP, String>map(_serviceAccessPoints, _function_2);
+      Iterables.<CharSequence>addAll(initList, _map_2);
       EList<ServiceImplementation> _serviceImplementations = ac.getServiceImplementations();
-      final Function1<ServiceImplementation, String> _function_2 = new Function1<ServiceImplementation, String>() {
+      final Function1<ServiceImplementation, String> _function_3 = new Function1<ServiceImplementation, String>() {
+        @Override
         public String apply(final ServiceImplementation it) {
           StringConcatenation _builder = new StringConcatenation();
           SPP _spp = it.getSpp();
@@ -567,10 +672,11 @@
           return _builder.toString();
         }
       };
-      List<String> _map_2 = ListExtensions.<ServiceImplementation, String>map(_serviceImplementations, _function_2);
-      Iterables.<CharSequence>addAll(initList, _map_2);
+      List<String> _map_3 = ListExtensions.<ServiceImplementation, String>map(_serviceImplementations, _function_3);
+      Iterables.<CharSequence>addAll(initList, _map_3);
       EList<Attribute> _attributes = ac.getAttributes();
-      final Function1<Attribute, String> _function_3 = new Function1<Attribute, String>() {
+      final Function1<Attribute, String> _function_4 = new Function1<Attribute, String>() {
+        @Override
         public String apply(final Attribute it) {
           StringConcatenation _builder = new StringConcatenation();
           String _name = it.getName();
@@ -582,8 +688,8 @@
           return _builder.toString();
         }
       };
-      List<String> _map_3 = ListExtensions.<Attribute, String>map(_attributes, _function_3);
-      Iterables.<CharSequence>addAll(initList, _map_3);
+      List<String> _map_4 = ListExtensions.<Attribute, String>map(_attributes, _function_4);
+      Iterables.<CharSequence>addAll(initList, _map_4);
       _xblockexpression = initHelper.generateCtorInitializerList(initList);
     }
     return _xblockexpression;
@@ -644,18 +750,10 @@
       _builder.newLine();
       _builder.append("#include \"common/messaging/RTServices.h\"");
       _builder.newLine();
+      _builder.append("#include \"common/debugging/DebuggingService.h\"");
       _builder.newLine();
-      {
-        EList<ActorRef> _actorRefs = ac.getActorRefs();
-        for(final ActorRef ar : _actorRefs) {
-          _builder.append("#include \"");
-          ActorClass _type = ar.getType();
-          String _actorIncludePath = this._cppExtensions.getActorIncludePath(_type);
-          _builder.append(_actorIncludePath, "");
-          _builder.append("\"");
-          _builder.newLineIfNotEmpty();
-        }
-      }
+      _builder.append("#include \"common/debugging/MSCFunctionObject.h\"");
+      _builder.newLine();
       _builder.newLine();
       _builder.append("using namespace etRuntime;");
       _builder.newLine();
@@ -676,6 +774,17 @@
       _builder.append("{");
       _builder.newLine();
       {
+        GlobalGeneratorSettings _settings = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation) {
+          _builder.append("\t");
+          _builder.append("MSCFunctionObject mscFunctionObject(getInstancePathName(), \"Constructor\");");
+          _builder.newLine();
+        }
+      }
+      _builder.append("\t");
+      _builder.newLine();
+      {
         boolean _hasNonEmptyStateMachine = this._roomHelpers.hasNonEmptyStateMachine(ac);
         if (_hasNonEmptyStateMachine) {
           _builder.append("\t");
@@ -701,69 +810,19 @@
       _builder.append("// sub actors");
       _builder.newLine();
       {
-        EList<ActorRef> _actorRefs_1 = ac.getActorRefs();
-        for(final ActorRef sub : _actorRefs_1) {
+        EList<ActorRef> _actorRefs = ac.getActorRefs();
+        for(final ActorRef sub : _actorRefs) {
           {
             int _multiplicity = sub.getMultiplicity();
             boolean _greaterThan = (_multiplicity > 1);
             if (_greaterThan) {
               _builder.append("\t");
-              _builder.append("for (int i=0; i<");
+              String _name_4 = sub.getName();
+              _builder.append(_name_4, "\t");
+              _builder.append(".createSubActors(");
               int _multiplicity_1 = sub.getMultiplicity();
               _builder.append(_multiplicity_1, "\t");
-              _builder.append("; ++i) {");
-              _builder.newLineIfNotEmpty();
-              {
-                GlobalGeneratorSettings _settings = Main.getSettings();
-                boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-                if (_isGenerateMSCInstrumentation) {
-                  _builder.append("\t");
-                  _builder.append("\t");
-                  _builder.append("DebuggingService::getInstance().addMessageActorCreate(*this, \"");
-                  String _name_4 = sub.getName();
-                  _builder.append(_name_4, "\t\t");
-                  _builder.append(GenmodelConstants.INDEX_SEP, "\t\t");
-                  _builder.append("\"+i);");
-                  _builder.newLineIfNotEmpty();
-                }
-              }
-              _builder.append("\t");
-              _builder.append("\t");
-              _builder.append("new ");
-              ActorClass _type_1 = sub.getType();
-              String _implementationClassName = this._cppExtensions.getImplementationClassName(_type_1);
-              _builder.append(_implementationClassName, "\t\t");
-              _builder.append("(this, \"");
-              String _name_5 = sub.getName();
-              _builder.append(_name_5, "\t\t");
-              _builder.append(GenmodelConstants.INDEX_SEP, "\t\t");
-              _builder.append("\"+i);");
-              _builder.newLineIfNotEmpty();
-              _builder.append("\t");
-              _builder.append("}");
-              _builder.newLine();
-            } else {
-              {
-                GlobalGeneratorSettings _settings_1 = Main.getSettings();
-                boolean _isGenerateMSCInstrumentation_1 = _settings_1.isGenerateMSCInstrumentation();
-                if (_isGenerateMSCInstrumentation_1) {
-                  _builder.append("\t");
-                  _builder.append("DebuggingService::getInstance().addMessageActorCreate(*this, \"");
-                  String _name_6 = sub.getName();
-                  _builder.append(_name_6, "\t");
-                  _builder.append("\");");
-                  _builder.newLineIfNotEmpty();
-                }
-              }
-              _builder.append("\t");
-              _builder.append("new ");
-              ActorClass _type_2 = sub.getType();
-              String _implementationClassName_1 = this._cppExtensions.getImplementationClassName(_type_2);
-              _builder.append(_implementationClassName_1, "\t");
-              _builder.append("(this, \"");
-              String _name_7 = sub.getName();
-              _builder.append(_name_7, "\t");
-              _builder.append("\");");
+              _builder.append(");");
               _builder.newLineIfNotEmpty();
             }
           }
@@ -771,6 +830,85 @@
       }
       _builder.newLine();
       _builder.append("\t");
+      EList<Attribute> _attributes = ac.getAttributes();
+      CharSequence _genExtraInitializers = this.initHelper.genExtraInitializers(_attributes);
+      _builder.append(_genExtraInitializers, "\t");
+      _builder.newLineIfNotEmpty();
+      _builder.append("\t");
+      String _userStructorBody = this._procedureHelpers.userStructorBody(ac, true);
+      _builder.append(_userStructorBody, "\t");
+      _builder.newLineIfNotEmpty();
+      _builder.append("}");
+      _builder.newLine();
+      _builder.newLine();
+      _builder.append("void ");
+      String _name_5 = ac.getName();
+      _builder.append(_name_5, "");
+      _builder.append("::initialize() {");
+      _builder.newLineIfNotEmpty();
+      {
+        GlobalGeneratorSettings _settings_1 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_1 = _settings_1.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_1) {
+          _builder.append("\t");
+          _builder.append("MSCFunctionObject mscFunctionObject(getInstancePathName(), \"initialize()\");");
+          _builder.newLine();
+          {
+            EList<ActorRef> _actorRefs_1 = ac.getActorRefs();
+            for(final ActorRef sub_1 : _actorRefs_1) {
+              {
+                int _multiplicity_2 = sub_1.getMultiplicity();
+                boolean _greaterThan_1 = (_multiplicity_2 > 1);
+                if (_greaterThan_1) {
+                  _builder.append("\t");
+                  _builder.append("for (int i=0; i<");
+                  int _multiplicity_3 = sub_1.getMultiplicity();
+                  _builder.append(_multiplicity_3, "\t");
+                  _builder.append("; ++i) {");
+                  _builder.newLineIfNotEmpty();
+                  _builder.append("\t");
+                  _builder.append("\t");
+                  _builder.append("DebuggingService::getInstance().addMessageActorCreate(*this, ");
+                  String _name_6 = sub_1.getName();
+                  _builder.append(_name_6, "\t\t");
+                  _builder.append(".getSubActor(i)->getName());");
+                  _builder.newLineIfNotEmpty();
+                  _builder.append("\t");
+                  _builder.append("}");
+                  _builder.newLine();
+                } else {
+                  _builder.append("\t");
+                  _builder.append("DebuggingService::getInstance().addMessageActorCreate(*this, \"");
+                  String _name_7 = sub_1.getName();
+                  _builder.append(_name_7, "\t");
+                  _builder.append("\");");
+                  _builder.newLineIfNotEmpty();
+                }
+              }
+            }
+          }
+        }
+      }
+      _builder.append("\t");
+      _builder.newLine();
+      _builder.append("\t");
+      _builder.append("ActorClassBase::initialize();");
+      _builder.newLine();
+      _builder.append("\t");
+      _builder.newLine();
+      {
+        EList<ActorRef> _actorRefs_2 = ac.getActorRefs();
+        for(final ActorRef sub_2 : _actorRefs_2) {
+          _builder.append("\t");
+          String _name_8 = sub_2.getName();
+          _builder.append(_name_8, "\t");
+          _builder.append(".initialize();");
+          _builder.newLineIfNotEmpty();
+        }
+      }
+      _builder.append("\t");
+      _builder.newLine();
+      _builder.append("\t");
       _builder.append("// wiring");
       _builder.newLine();
       {
@@ -799,17 +937,7 @@
       }
       _builder.newLine();
       {
-        boolean _or = false;
-        ComponentCommunicationType _commType = ac.getCommType();
-        boolean _equals = Objects.equal(_commType, ComponentCommunicationType.ASYNCHRONOUS);
-        if (_equals) {
-          _or = true;
-        } else {
-          ComponentCommunicationType _commType_1 = ac.getCommType();
-          boolean _equals_1 = Objects.equal(_commType_1, ComponentCommunicationType.DATA_DRIVEN);
-          _or = _equals_1;
-        }
-        if (_or) {
+        if ((Objects.equal(ac.getCommType(), ComponentCommunicationType.ASYNCHRONOUS) || Objects.equal(ac.getCommType(), ComponentCommunicationType.DATA_DRIVEN))) {
           _builder.append("\t");
           _builder.append("// activate polling for data-driven communication");
           _builder.newLine();
@@ -818,49 +946,146 @@
           _builder.newLine();
         }
       }
-      _builder.newLine();
-      _builder.append("\t");
-      EList<Attribute> _attributes = ac.getAttributes();
-      CharSequence _genExtraInitializers = this.initHelper.genExtraInitializers(_attributes);
-      _builder.append(_genExtraInitializers, "\t");
-      _builder.newLineIfNotEmpty();
-      _builder.append("\t");
-      String _userStructorBody = this._procedureHelpers.userStructorBody(ac, true);
-      _builder.append(_userStructorBody, "\t");
-      _builder.newLineIfNotEmpty();
       _builder.append("}");
       _builder.newLine();
       _builder.newLine();
+      {
+        GlobalGeneratorSettings _settings_2 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_2 = _settings_2.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_2) {
+          _builder.append("void ");
+          String _name_9 = ac.getName();
+          _builder.append(_name_9, "");
+          _builder.append("::setProbesActive(bool recursive, bool active) {");
+          _builder.newLineIfNotEmpty();
+          _builder.append("\t");
+          _builder.append("DebuggingService::getInstance().addPortInstance(m_RTSystemPort);");
+          _builder.newLine();
+          {
+            EList<ActorRef> _actorRefs_3 = ac.getActorRefs();
+            int _size = _actorRefs_3.size();
+            boolean _greaterThan_2 = (_size > 0);
+            if (_greaterThan_2) {
+              _builder.append("\t");
+              _builder.append("if(recursive) {");
+              _builder.newLine();
+              {
+                EList<ActorRef> _actorRefs_4 = ac.getActorRefs();
+                for(final ActorRef sub_3 : _actorRefs_4) {
+                  _builder.append("\t");
+                  _builder.append("\t");
+                  String _name_10 = sub_3.getName();
+                  _builder.append(_name_10, "\t\t");
+                  _builder.append(".setProbesActive(recursive, active);");
+                  _builder.newLineIfNotEmpty();
+                }
+              }
+              _builder.append("\t");
+              _builder.append("}");
+              _builder.newLine();
+            }
+          }
+          {
+            List<Port> _endPorts = this._roomHelpers.getEndPorts(ac);
+            for(final Port ep : _endPorts) {
+              {
+                boolean _isDataDriven_1 = this._roomHelpers.isDataDriven(ep);
+                boolean _not = (!_isDataDriven_1);
+                if (_not) {
+                  {
+                    boolean _isReplicated = ep.isReplicated();
+                    if (_isReplicated) {
+                      _builder.append("\t");
+                      _builder.append("for(int i = 0; i < ");
+                      String _name_11 = ep.getName();
+                      _builder.append(_name_11, "\t");
+                      _builder.append(".getNInterfaceItems(); i++)");
+                      _builder.newLineIfNotEmpty();
+                      _builder.append("\t");
+                      _builder.append("\t");
+                      _builder.append("DebuggingService::getInstance().addPortInstance(*(");
+                      String _name_12 = ep.getName();
+                      _builder.append(_name_12, "\t\t");
+                      _builder.append(".getInterfaceItem(i)));");
+                      _builder.newLineIfNotEmpty();
+                    } else {
+                      _builder.append("\t");
+                      _builder.append("DebuggingService::getInstance().addPortInstance(");
+                      String _name_13 = ep.getName();
+                      _builder.append(_name_13, "\t");
+                      _builder.append(");");
+                      _builder.newLineIfNotEmpty();
+                    }
+                  }
+                }
+              }
+            }
+          }
+          {
+            EList<SAP> _serviceAccessPoints = ac.getServiceAccessPoints();
+            for(final SAP sap : _serviceAccessPoints) {
+              _builder.append("\t");
+              _builder.append("DebuggingService::getInstance().addPortInstance(");
+              String _name_14 = sap.getName();
+              _builder.append(_name_14, "\t");
+              _builder.append(");");
+              _builder.newLineIfNotEmpty();
+            }
+          }
+          {
+            EList<SPP> _serviceProvisionPoints = ac.getServiceProvisionPoints();
+            for(final SPP spp : _serviceProvisionPoints) {
+              _builder.append("\t");
+              _builder.append("for(int i = 0; i < ");
+              String _name_15 = spp.getName();
+              _builder.append(_name_15, "\t");
+              _builder.append(".getNInterfaceItems(); i++)");
+              _builder.newLineIfNotEmpty();
+              _builder.append("\t");
+              _builder.append("\t\t");
+              _builder.append("DebuggingService::getInstance().addPortInstance(*(");
+              String _name_16 = spp.getName();
+              _builder.append(_name_16, "\t\t\t");
+              _builder.append(".getInterfaceItem(i)));");
+              _builder.newLineIfNotEmpty();
+            }
+          }
+          _builder.append("}");
+          _builder.newLine();
+        }
+      }
+      _builder.newLine();
       _builder.append("void ");
-      String _name_8 = ac.getName();
-      _builder.append(_name_8, "");
+      String _name_17 = ac.getName();
+      _builder.append(_name_17, "");
       _builder.append("::destroy(){");
       _builder.newLineIfNotEmpty();
+      {
+        GlobalGeneratorSettings _settings_3 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_3 = _settings_3.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_3) {
+          _builder.append("\t");
+          _builder.append("MSCFunctionObject mscFunctionObject(getInstancePathName(), \"destroy()\");");
+          _builder.newLine();
+        }
+      }
+      _builder.append("\t");
+      _builder.newLine();
       _builder.append("\t");
       String _userStructorBody_1 = this._procedureHelpers.userStructorBody(ac, false);
       _builder.append(_userStructorBody_1, "\t");
       _builder.newLineIfNotEmpty();
       {
-        GlobalGeneratorSettings _settings_2 = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation_2 = _settings_2.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation_2) {
+        GlobalGeneratorSettings _settings_4 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_4 = _settings_4.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_4) {
           _builder.append("\t");
           _builder.append("DebuggingService::getInstance().addMessageActorDestroy(*this);");
           _builder.newLine();
         }
       }
       {
-        boolean _or_1 = false;
-        ComponentCommunicationType _commType_2 = ac.getCommType();
-        boolean _equals_2 = Objects.equal(_commType_2, ComponentCommunicationType.ASYNCHRONOUS);
-        if (_equals_2) {
-          _or_1 = true;
-        } else {
-          ComponentCommunicationType _commType_3 = ac.getCommType();
-          boolean _equals_3 = Objects.equal(_commType_3, ComponentCommunicationType.DATA_DRIVEN);
-          _or_1 = _equals_3;
-        }
-        if (_or_1) {
+        if ((Objects.equal(ac.getCommType(), ComponentCommunicationType.ASYNCHRONOUS) || Objects.equal(ac.getCommType(), ComponentCommunicationType.DATA_DRIVEN))) {
           _builder.append("\t");
           _builder.append("RTServices::getInstance().getMsgSvcCtrl().getMsgSvc(getThread())->removePollingMessageReceiver(*this);");
           _builder.newLine();
@@ -874,8 +1099,8 @@
       _builder.newLine();
       _builder.newLine();
       EList<StandardOperation> _operations = ac.getOperations();
-      String _name_9 = ac.getName();
-      CharSequence _operationsImplementation = this._procedureHelpers.operationsImplementation(_operations, _name_9);
+      String _name_18 = ac.getName();
+      CharSequence _operationsImplementation = this._procedureHelpers.operationsImplementation(_operations, _name_18);
       _builder.append(_operationsImplementation, "");
       _builder.newLineIfNotEmpty();
       _builder.newLine();
@@ -886,12 +1111,12 @@
           _builder.append(_genStateMachineMethods, "");
           _builder.newLineIfNotEmpty();
           {
-            ComponentCommunicationType _commType_4 = ac.getCommType();
-            boolean _equals_4 = Objects.equal(_commType_4, ComponentCommunicationType.DATA_DRIVEN);
-            if (_equals_4) {
+            ComponentCommunicationType _commType = ac.getCommType();
+            boolean _equals = Objects.equal(_commType, ComponentCommunicationType.DATA_DRIVEN);
+            if (_equals) {
               _builder.append("void ");
-              String _name_10 = ac.getName();
-              _builder.append(_name_10, "");
+              String _name_19 = ac.getName();
+              _builder.append(_name_19, "");
               _builder.append("::receiveEvent(InterfaceItemBase* ifitem, int evt, void* generic_data) {");
               _builder.newLineIfNotEmpty();
               _builder.append("\t");
@@ -902,26 +1127,16 @@
             }
           }
           {
-            boolean _or_2 = false;
-            ComponentCommunicationType _commType_5 = ac.getCommType();
-            boolean _equals_5 = Objects.equal(_commType_5, ComponentCommunicationType.ASYNCHRONOUS);
-            if (_equals_5) {
-              _or_2 = true;
-            } else {
-              ComponentCommunicationType _commType_6 = ac.getCommType();
-              boolean _equals_6 = Objects.equal(_commType_6, ComponentCommunicationType.DATA_DRIVEN);
-              _or_2 = _equals_6;
-            }
-            if (_or_2) {
+            if ((Objects.equal(ac.getCommType(), ComponentCommunicationType.ASYNCHRONOUS) || Objects.equal(ac.getCommType(), ComponentCommunicationType.DATA_DRIVEN))) {
               _builder.append("void ");
-              String _name_11 = ac.getName();
-              _builder.append(_name_11, "");
+              String _name_20 = ac.getName();
+              _builder.append(_name_20, "");
               _builder.append("::receive(const Message* msg) {");
               _builder.newLineIfNotEmpty();
               {
-                ComponentCommunicationType _commType_7 = ac.getCommType();
-                boolean _equals_7 = Objects.equal(_commType_7, ComponentCommunicationType.ASYNCHRONOUS);
-                if (_equals_7) {
+                ComponentCommunicationType _commType_1 = ac.getCommType();
+                boolean _equals_1 = Objects.equal(_commType_1, ComponentCommunicationType.ASYNCHRONOUS);
+                if (_equals_1) {
                   _builder.append("\t");
                   _builder.append("receiveEvent(0, -1, 0);");
                   _builder.newLine();
@@ -942,8 +1157,8 @@
             _builder.append("//--------------------- no state machine");
             _builder.newLine();
             _builder.append("void ");
-            String _name_12 = ac.getName();
-            _builder.append(_name_12, "");
+            String _name_21 = ac.getName();
+            _builder.append(_name_21, "");
             _builder.append("::receiveEvent(InterfaceItemBase* ifitem, int evt, void* data) {");
             _builder.newLineIfNotEmpty();
             _builder.append("\t");
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java
index dce7f37..55cd240 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ConfigGenAddon.java
@@ -131,16 +131,7 @@
             _xifexpression_1 = _builder.toString();
           } else {
             String _xifexpression_2 = null;
-            boolean _or = false;
-            int _size = a.getSize();
-            boolean _equals_1 = (_size == 0);
-            if (_equals_1) {
-              _or = true;
-            } else {
-              boolean _isCharacterType = this.typeHelpers.isCharacterType(aType);
-              _or = _isCharacterType;
-            }
-            if (_or) {
+            if (((a.getSize() == 0) || this.typeHelpers.isCharacterType(aType))) {
               StringConcatenation _builder_1 = new StringConcatenation();
               _builder_1.append(invokes, "");
               _builder_1.append(".");
@@ -152,11 +143,11 @@
               _xifexpression_2 = _builder_1.toString();
             } else {
               String _xifexpression_3 = null;
-              int _size_1 = a.getSize();
+              int _size = a.getSize();
               String[] _split = value.split(",");
-              int _size_2 = ((List<String>)Conversions.doWrapArray(_split)).size();
-              boolean _equals_2 = (_size_1 == _size_2);
-              if (_equals_2) {
+              int _size_1 = ((List<String>)Conversions.doWrapArray(_split)).size();
+              boolean _equals_1 = (_size == _size_1);
+              if (_equals_1) {
                 String _xblockexpression_2 = null;
                 {
                   StringConcatenation _builder_2 = new StringConcatenation();
@@ -211,8 +202,8 @@
                 _builder_2.newLineIfNotEmpty();
                 _builder_2.append("\t");
                 _builder_2.append("for (int i=0;i<");
-                int _size_3 = a.getSize();
-                _builder_2.append(_size_3, "\t");
+                int _size_2 = a.getSize();
+                _builder_2.append(_size_2, "\t");
                 _builder_2.append(";i++){");
                 _builder_2.newLineIfNotEmpty();
                 _builder_2.append("\t\t");
@@ -511,7 +502,9 @@
               PrimitiveType aType = ((PrimitiveType) _type_9);
               StringConcatenation _builder_1 = new StringConcatenation();
               {
-                boolean _notEquals = (!Objects.equal((temp = this.dataConfigExt.getAttrClassConfigMinValue(ac, path)), null));
+                String _attrClassConfigMinValue = this.dataConfigExt.getAttrClassConfigMinValue(ac, path);
+                String _temp = (temp = _attrClassConfigMinValue);
+                boolean _notEquals = (!Objects.equal(_temp, null));
                 if (_notEquals) {
                   _builder_1.append("public static ");
                   String _minMaxType = this.getMinMaxType(aType);
@@ -526,7 +519,9 @@
                 }
               }
               {
-                boolean _notEquals_1 = (!Objects.equal((temp = this.dataConfigExt.getAttrClassConfigMaxValue(ac, path)), null));
+                String _attrClassConfigMaxValue = this.dataConfigExt.getAttrClassConfigMaxValue(ac, path);
+                String _temp_1 = (temp = _attrClassConfigMaxValue);
+                boolean _notEquals_1 = (!Objects.equal(_temp_1, null));
                 if (_notEquals_1) {
                   _builder_1.append("public static ");
                   String _minMaxType_1 = this.getMinMaxType(aType);
@@ -557,11 +552,9 @@
     String _switchResult = null;
     String _typeName = this.typeHelpers.typeName(type);
     boolean _matched = false;
-    if (!_matched) {
-      if (Objects.equal(_typeName, "byte")) {
-        _matched=true;
-        _switchResult = "int";
-      }
+    if (Objects.equal(_typeName, "byte")) {
+      _matched=true;
+      _switchResult = "int";
     }
     if (!_matched) {
       if (Objects.equal(_typeName, "short")) {
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppExtensions.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppExtensions.java
index d5cfa4d..d884e07 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppExtensions.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppExtensions.java
@@ -65,6 +65,7 @@
   @Extension
   private RoomExtensions _roomExtensions;
   
+  @Override
   public String getTypedDataDefinition(final EObject msg) {
     VarDecl _data = ((Message) msg).getData();
     String[] _generateArglistAndTypedData = this.generateArglistAndTypedData(_data);
@@ -99,30 +100,42 @@
     return (_cppClassName + ".cpp");
   }
   
+  @Override
   public String accessLevelPrivate() {
     return "";
   }
   
+  @Override
   public String accessLevelProtected() {
     return "";
   }
   
+  @Override
   public String accessLevelPublic() {
     return "";
   }
   
+  @Override
   public String memberAccess() {
     return "this->";
   }
   
+  @Override
   public String selfPointer(final String classname, final boolean hasArgs) {
     return "";
   }
   
+  @Override
   public String selfPointer(final boolean hasArgs) {
     return "";
   }
   
+  @Override
+  public String scopeSeparator() {
+    return "::";
+  }
+  
+  @Override
   public String operationScope(final String classname, final boolean isDeclaration) {
     String _xifexpression = null;
     if (isDeclaration) {
@@ -133,22 +146,27 @@
     return _xifexpression;
   }
   
+  @Override
   public String memberInDeclaration(final String namespace, final String member) {
     return member;
   }
   
+  @Override
   public String memberInUse(final String namespace, final String member) {
     return ((namespace + ".") + member);
   }
   
+  @Override
   public boolean usesInheritance() {
     return true;
   }
   
+  @Override
   public boolean usesPointers() {
     return true;
   }
   
+  @Override
   public String genEnumeration(final String name, final List<Pair<String, String>> entries) {
     String _xblockexpression = null;
     {
@@ -185,22 +203,27 @@
     return _xblockexpression;
   }
   
+  @Override
   public String booleanConstant(final boolean b) {
     return Boolean.valueOf(b).toString();
   }
   
+  @Override
   public String pointerLiteral() {
     return "*";
   }
   
+  @Override
   public String nullPointer() {
     return "0";
   }
   
+  @Override
   public String voidPointer() {
     return "void*";
   }
   
+  @Override
   public String arrayType(final String type, final int size, final boolean isRef) {
     StringConcatenation _builder = new StringConcatenation();
     _builder.append("StaticArray<");
@@ -216,6 +239,7 @@
     return _builder.toString();
   }
   
+  @Override
   public String arrayDeclaration(final String type, final int size, final boolean isRef, final String name) {
     String _arrayType = this.arrayType(type, size, isRef);
     String _plus = (_arrayType + " ");
@@ -230,6 +254,7 @@
     String[] _split_1 = appendSegments.split("\\.");
     Iterable<String> _plus_1 = Iterables.<String>concat(_plus, ((Iterable<? extends String>)Conversions.doWrapArray(_split_1)));
     final Function1<String, Boolean> _function = new Function1<String, Boolean>() {
+      @Override
       public Boolean apply(final String it) {
         boolean _isEmpty = it.isEmpty();
         return Boolean.valueOf((!_isEmpty));
@@ -272,27 +297,29 @@
     return "";
   }
   
+  @Override
   public String superCall(final String baseClassName, final String method, final String arguments) {
     return (((((baseClassName + "::") + method) + "(") + arguments) + ");");
   }
   
+  @Override
   public String toValueLiteral(final PrimitiveType type, final String value) {
     throw new UnsupportedOperationException("TODO Config for Cpp");
   }
   
+  @Override
   public String toEnumLiteral(final EnumerationType type, final String value) {
     throw new UnsupportedOperationException("TODO Config for Cpp");
   }
   
+  @Override
   public String defaultValue(final DataType dt) {
     String _switchResult = null;
     final DataType it = dt;
     boolean _matched = false;
-    if (!_matched) {
-      if (it instanceof PrimitiveType) {
-        _matched=true;
-        _switchResult = ((PrimitiveType)it).getDefaultValueLiteral();
-      }
+    if (it instanceof PrimitiveType) {
+      _matched=true;
+      _switchResult = ((PrimitiveType)it).getDefaultValueLiteral();
     }
     if (!_matched) {
       if (it instanceof EnumerationType) {
@@ -328,6 +355,7 @@
     return _xifexpression;
   }
   
+  @Override
   public String initializationWithDefaultValues(final DataType dt, final int size) {
     String _xblockexpression = null;
     {
@@ -358,15 +386,9 @@
     return _xblockexpression;
   }
   
+  @Override
   public String[] generateArglistAndTypedData(final EObject d) {
-    boolean _or = false;
-    boolean _equals = Objects.equal(d, null);
-    if (_equals) {
-      _or = true;
-    } else {
-      _or = (!(d instanceof VarDecl));
-    }
-    if (_or) {
+    if ((Objects.equal(d, null) || (!(d instanceof VarDecl)))) {
       return ((String[])Conversions.unwrapArray(CollectionLiterals.<String>newArrayList("", "", ""), String.class));
     }
     final VarDecl data = ((VarDecl) d);
@@ -375,15 +397,13 @@
     DataType _type = _refType.getType();
     final DataType it = _type;
     boolean _matched = false;
-    if (!_matched) {
-      if (it instanceof PrimitiveType) {
-        String _castName = ((PrimitiveType)it).getCastName();
-        boolean _isEmpty = Strings.isEmpty(_castName);
-        boolean _not = (!_isEmpty);
-        if (_not) {
-          _matched=true;
-          _switchResult = ((PrimitiveType)it).getCastName();
-        }
+    if (it instanceof PrimitiveType) {
+      String _castName = ((PrimitiveType)it).getCastName();
+      boolean _isEmpty = Strings.isEmpty(_castName);
+      boolean _not = (!_isEmpty);
+      if (_not) {
+        _matched=true;
+        _switchResult = ((PrimitiveType)it).getCastName();
       }
     }
     if (!_matched) {
@@ -403,12 +423,10 @@
     RefableType _refType_2 = data.getRefType();
     final RefableType it_1 = _refType_2;
     boolean _matched_1 = false;
-    if (!_matched_1) {
-      boolean _isRef = it_1.isRef();
-      if (_isRef) {
-        _matched_1=true;
-        _switchResult_1 = "*";
-      }
+    boolean _isRef = it_1.isRef();
+    if (_isRef) {
+      _matched_1=true;
+      _switchResult_1 = "*";
     }
     if (!_matched_1) {
       DataType _type_2 = it_1.getType();
@@ -458,6 +476,7 @@
     return new String[] { dataArg, typedData, typedArgList };
   }
   
+  @Override
   public String getTargetType(final EnumerationType type) {
     String _xifexpression = null;
     PrimitiveType _primitiveType = type.getPrimitiveType();
@@ -471,6 +490,7 @@
     return _xifexpression;
   }
   
+  @Override
   public String getCastedValue(final EnumLiteral literal) {
     String _xblockexpression = null;
     {
@@ -494,6 +514,7 @@
     return _xblockexpression;
   }
   
+  @Override
   public String getCastType(final EnumerationType type) {
     String _xifexpression = null;
     PrimitiveType _primitiveType = type.getPrimitiveType();
@@ -507,6 +528,7 @@
     return _xifexpression;
   }
   
+  @Override
   public String makeOverridable() {
     return "virtual ";
   }
@@ -524,6 +546,7 @@
         _xifexpression = ac.getName();
       } else {
         final Function1<KeyValue, Boolean> _function = new Function1<KeyValue, Boolean>() {
+          @Override
           public Boolean apply(final KeyValue it) {
             String _key = it.getKey();
             return Boolean.valueOf(Objects.equal(_key, "fqnClassName"));
@@ -559,6 +582,7 @@
         String _xblockexpression_1 = null;
         {
           final Function1<KeyValue, Boolean> _function = new Function1<KeyValue, Boolean>() {
+            @Override
             public Boolean apply(final KeyValue it) {
               String _key = it.getKey();
               return Boolean.valueOf(Objects.equal(_key, "includePath"));
@@ -571,6 +595,7 @@
             String _xblockexpression_2 = null;
             {
               final Function1<KeyValue, Boolean> _function_1 = new Function1<KeyValue, Boolean>() {
+                @Override
                 public Boolean apply(final KeyValue it) {
                   String _key = it.getKey();
                   return Boolean.valueOf(Objects.equal(_key, "fqnClassName"));
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppProcedureHelpers.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppProcedureHelpers.java
index e5e1372..9bcf8ee 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppProcedureHelpers.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/CppProcedureHelpers.java
@@ -2,7 +2,6 @@
 
 import com.google.common.base.Objects;
 import org.eclipse.etrice.core.room.Attribute;
-import org.eclipse.etrice.core.room.DataType;
 import org.eclipse.etrice.core.room.RefableType;
 import org.eclipse.etrice.generator.generic.ProcedureHelpers;
 import org.eclipse.xtext.xbase.lib.Functions.Function1;
@@ -10,30 +9,12 @@
 
 @SuppressWarnings("all")
 public class CppProcedureHelpers extends ProcedureHelpers {
+  @Override
   protected CharSequence getterHeader(final Attribute attribute, final String classname) {
     String _xblockexpression = null;
     {
       String _xifexpression = null;
-      boolean _and = false;
-      int _size = attribute.getSize();
-      boolean _equals = (_size == 0);
-      if (!_equals) {
-        _and = false;
-      } else {
-        boolean _or = false;
-        RefableType _type = attribute.getType();
-        DataType _type_1 = _type.getType();
-        boolean _isPrimitive = this._typeHelpers.isPrimitive(_type_1);
-        if (_isPrimitive) {
-          _or = true;
-        } else {
-          RefableType _type_2 = attribute.getType();
-          boolean _isRef = _type_2.isRef();
-          _or = _isRef;
-        }
-        _and = _or;
-      }
-      if (_and) {
+      if (((attribute.getSize() == 0) && (this._typeHelpers.isPrimitive(attribute.getType().getType()) || attribute.getType().isRef()))) {
         _xifexpression = " const";
       } else {
         _xifexpression = "";
@@ -45,17 +26,16 @@
     return _xblockexpression;
   }
   
+  @Override
   public String declarationString(final Attribute attribute) {
     String _switchResult = null;
     final Attribute it = attribute;
     boolean _matched = false;
-    if (!_matched) {
-      int _size = it.getSize();
-      boolean _greaterThan = (_size > 0);
-      if (_greaterThan) {
-        _matched=true;
-        _switchResult = super.declarationString(it);
-      }
+    int _size = it.getSize();
+    boolean _greaterThan = (_size > 0);
+    if (_greaterThan) {
+      _matched=true;
+      _switchResult = super.declarationString(it);
     }
     if (!_matched) {
       RefableType _type = it.getType();
@@ -67,27 +47,17 @@
     return _switchResult;
   }
   
+  @Override
   public String signatureString(final RefableType type) {
     String _switchResult = null;
     final RefableType it = type;
     boolean _matched = false;
-    if (!_matched) {
-      if (Objects.equal(it, null)) {
-        _matched=true;
-        _switchResult = "void";
-      }
+    if (Objects.equal(it, null)) {
+      _matched=true;
+      _switchResult = "void";
     }
     if (!_matched) {
-      boolean _or = false;
-      boolean _isRef = it.isRef();
-      if (_isRef) {
-        _or = true;
-      } else {
-        DataType _type = type.getType();
-        boolean _isPrimitive = this._typeHelpers.isPrimitive(_type);
-        _or = _isPrimitive;
-      }
-      boolean _not = (!_or);
+      boolean _not = (!(it.isRef() || this._typeHelpers.isPrimitive(type.getType())));
       if (_not) {
         _matched=true;
         String _signatureString = super.signatureString(type);
@@ -100,18 +70,17 @@
     return _switchResult;
   }
   
+  @Override
   public String signatureString(final Attribute attribute) {
     String _switchResult = null;
     final Attribute it = attribute;
     boolean _matched = false;
-    if (!_matched) {
-      int _size = it.getSize();
-      boolean _greaterThan = (_size > 0);
-      if (_greaterThan) {
-        _matched=true;
-        String _signatureString = super.signatureString(attribute);
-        _switchResult = (_signatureString + "&");
-      }
+    int _size = it.getSize();
+    boolean _greaterThan = (_size > 0);
+    if (_greaterThan) {
+      _matched=true;
+      String _signatureString = super.signatureString(attribute);
+      _switchResult = (_signatureString + "&");
     }
     if (!_matched) {
       RefableType _type = it.getType();
@@ -126,6 +95,7 @@
    */
   public String constArgList(final Iterable<Attribute> attributes) {
     final Function1<Attribute, String> _function = new Function1<Attribute, String>() {
+      @Override
       public String apply(final Attribute it) {
         String _xifexpression = null;
         RefableType _type = it.getType();
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java
index 40f2096..08eda15 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java
@@ -463,6 +463,7 @@
       }
       EList<Attribute> _attributes = dataClass.getAttributes();
       final Function1<Attribute, String> _function = new Function1<Attribute, String>() {
+        @Override
         public String apply(final Attribute it) {
           StringConcatenation _builder = new StringConcatenation();
           String _name = it.getName();
@@ -497,6 +498,7 @@
       }
       EList<Attribute> _attributes = dataClass.getAttributes();
       final Function1<Attribute, String> _function = new Function1<Attribute, String>() {
+        @Override
         public String apply(final Attribute it) {
           StringConcatenation _builder = new StringConcatenation();
           String _name = it.getName();
@@ -532,6 +534,7 @@
         DataClass _base_2 = dataClass.getBase();
         List<Attribute> _allAttributes = this._roomHelpers.getAllAttributes(_base_2);
         final Function1<Attribute, String> _function = new Function1<Attribute, String>() {
+          @Override
           public String apply(final Attribute it) {
             return it.getName();
           }
@@ -544,6 +547,7 @@
       }
       EList<Attribute> _attributes = dataClass.getAttributes();
       final Function1<Attribute, String> _function_1 = new Function1<Attribute, String>() {
+        @Override
         public String apply(final Attribute it) {
           StringConcatenation _builder = new StringConcatenation();
           String _name = it.getName();
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/Initialization.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/Initialization.java
index 3d62928..610e28d 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/Initialization.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/Initialization.java
@@ -64,26 +64,9 @@
     CharSequence _xblockexpression = null;
     {
       final Function1<Attribute, Boolean> _function = new Function1<Attribute, Boolean>() {
+        @Override
         public Boolean apply(final Attribute it) {
-          boolean _and = false;
-          boolean _and_1 = false;
-          String _initializerListValue = Initialization.this.getInitializerListValue(it);
-          boolean _equals = Objects.equal(_initializerListValue, null);
-          if (!_equals) {
-            _and_1 = false;
-          } else {
-            String _initValue = Initialization.this.getInitValue(it);
-            boolean _notEquals = (!Objects.equal(_initValue, null));
-            _and_1 = _notEquals;
-          }
-          if (!_and_1) {
-            _and = false;
-          } else {
-            String _initValue_1 = Initialization.this.getInitValue(it);
-            boolean _startsWith = _initValue_1.startsWith("{");
-            _and = _startsWith;
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf(((Objects.equal(Initialization.this.getInitializerListValue(it), null) && (!Objects.equal(Initialization.this.getInitValue(it), null))) && Initialization.this.getInitValue(it).startsWith("{")));
         }
       };
       final Iterable<Attribute> extraInitAttrs = IterableExtensions.<Attribute>filter(attributes, _function);
@@ -96,6 +79,7 @@
       _builder.newLine();
       {
         final Function1<Attribute, Boolean> _function_1 = new Function1<Attribute, Boolean>() {
+          @Override
           public Boolean apply(final Attribute it) {
             int _size = it.getSize();
             return Boolean.valueOf((_size > 0));
@@ -127,6 +111,7 @@
       }
       {
         final Function1<Attribute, Boolean> _function_2 = new Function1<Attribute, Boolean>() {
+          @Override
           public Boolean apply(final Attribute it) {
             int _size = it.getSize();
             return Boolean.valueOf((_size == 0));
@@ -161,15 +146,7 @@
   public String getInitializerListValue(final Attribute attribute) {
     final String initValue = this.getInitValue(attribute);
     String _xifexpression = null;
-    boolean _and = false;
-    boolean _notEquals = (!Objects.equal(initValue, null));
-    if (!_notEquals) {
-      _and = false;
-    } else {
-      boolean _startsWith = initValue.startsWith("{");
-      _and = _startsWith;
-    }
-    if (_and) {
+    if (((!Objects.equal(initValue, null)) && initValue.startsWith("{"))) {
       _xifexpression = null;
     } else {
       _xifexpression = initValue;
@@ -181,13 +158,11 @@
     String _switchResult = null;
     final Attribute it = attribute;
     boolean _matched = false;
-    if (!_matched) {
-      String _defaultValueLiteral = it.getDefaultValueLiteral();
-      boolean _notEquals = (!Objects.equal(_defaultValueLiteral, null));
-      if (_notEquals) {
-        _matched=true;
-        _switchResult = it.getDefaultValueLiteral();
-      }
+    String _defaultValueLiteral = it.getDefaultValueLiteral();
+    boolean _notEquals = (!Objects.equal(_defaultValueLiteral, null));
+    if (_notEquals) {
+      _matched=true;
+      _switchResult = it.getDefaultValueLiteral();
     }
     if (!_matched) {
       RefableType _type = it.getType();
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/NodeGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/NodeGen.java
index 9758633..ca29407 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/NodeGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/NodeGen.java
@@ -14,6 +14,7 @@
 import com.google.common.collect.Iterables;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -26,7 +27,6 @@
 import org.eclipse.etrice.core.etphys.eTPhys.NodeRef;
 import org.eclipse.etrice.core.etphys.eTPhys.PhysicalThread;
 import org.eclipse.etrice.core.fsm.fSM.DetailCode;
-import org.eclipse.etrice.core.genmodel.builder.GenmodelConstants;
 import org.eclipse.etrice.core.genmodel.etricegen.ActorInstance;
 import org.eclipse.etrice.core.genmodel.etricegen.Root;
 import org.eclipse.etrice.core.genmodel.etricegen.StructureInstance;
@@ -34,7 +34,6 @@
 import org.eclipse.etrice.core.genmodel.etricegen.Wire;
 import org.eclipse.etrice.core.genmodel.etricegen.WiredStructureClass;
 import org.eclipse.etrice.core.genmodel.etricegen.WiredSubSystemClass;
-import org.eclipse.etrice.core.genmodel.fsm.fsmgen.IDiagnostician;
 import org.eclipse.etrice.core.room.ActorClass;
 import org.eclipse.etrice.core.room.ActorRef;
 import org.eclipse.etrice.core.room.RoomModel;
@@ -42,6 +41,7 @@
 import org.eclipse.etrice.generator.base.GlobalGeneratorSettings;
 import org.eclipse.etrice.generator.cpp.Main;
 import org.eclipse.etrice.generator.cpp.gen.CppExtensions;
+import org.eclipse.etrice.generator.cpp.gen.Initialization;
 import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers;
 import org.eclipse.etrice.generator.fsm.base.IGeneratorFileIo;
 import org.eclipse.etrice.generator.fsm.base.Indexed;
@@ -52,6 +52,7 @@
 import org.eclipse.xtext.xbase.lib.Extension;
 import org.eclipse.xtext.xbase.lib.Functions.Function1;
 import org.eclipse.xtext.xbase.lib.IterableExtensions;
+import org.eclipse.xtext.xbase.lib.ListExtensions;
 import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
 
 @Singleton
@@ -77,13 +78,14 @@
   private IGeneratorFileIo fileIO;
   
   @Inject
-  private IDiagnostician diagnostician;
+  private Initialization initHelper;
   
   public void doGenerate(final Root root) {
     final Map<SubSystemClass, WiredSubSystemClass> sscc2wired = CollectionLiterals.<SubSystemClass, WiredSubSystemClass>newHashMap();
     EList<WiredStructureClass> _wiredInstances = root.getWiredInstances();
     Iterable<WiredSubSystemClass> _filter = Iterables.<WiredSubSystemClass>filter(_wiredInstances, WiredSubSystemClass.class);
     final Procedure1<WiredSubSystemClass> _function = new Procedure1<WiredSubSystemClass>() {
+      @Override
       public void apply(final WiredSubSystemClass it) {
         SubSystemClass _subSystemClass = it.getSubSystemClass();
         sscc2wired.put(_subSystemClass, it);
@@ -97,27 +99,18 @@
         {
           StructureInstance _instance = root.getInstance(instpath);
           final SubSystemInstance ssi = ((SubSystemInstance) _instance);
-          boolean _and = false;
-          boolean _notEquals = (!Objects.equal(ssi, null));
-          if (!_notEquals) {
-            _and = false;
-          } else {
+          if (((!Objects.equal(ssi, null)) && this._fileSystemHelpers.isValidGenerationLocation(ssi.getSubSystemClass()))) {
             SubSystemClass _subSystemClass = ssi.getSubSystemClass();
-            boolean _isValidGenerationLocation = this._fileSystemHelpers.isValidGenerationLocation(_subSystemClass);
-            _and = _isValidGenerationLocation;
-          }
-          if (_and) {
+            final WiredSubSystemClass wired = sscc2wired.get(_subSystemClass);
             SubSystemClass _subSystemClass_1 = ssi.getSubSystemClass();
-            final WiredSubSystemClass wired = sscc2wired.get(_subSystemClass_1);
+            String _generationTargetPath = this._roomExtensions.getGenerationTargetPath(_subSystemClass_1);
             SubSystemClass _subSystemClass_2 = ssi.getSubSystemClass();
-            String _generationTargetPath = this._roomExtensions.getGenerationTargetPath(_subSystemClass_2);
-            SubSystemClass _subSystemClass_3 = ssi.getSubSystemClass();
-            String _path = this._roomExtensions.getPath(_subSystemClass_3);
+            String _path = this._roomExtensions.getPath(_subSystemClass_2);
             final String path = (_generationTargetPath + _path);
+            SubSystemClass _subSystemClass_3 = ssi.getSubSystemClass();
+            String _generationInfoPath = this._roomExtensions.getGenerationInfoPath(_subSystemClass_3);
             SubSystemClass _subSystemClass_4 = ssi.getSubSystemClass();
-            String _generationInfoPath = this._roomExtensions.getGenerationInfoPath(_subSystemClass_4);
-            SubSystemClass _subSystemClass_5 = ssi.getSubSystemClass();
-            String _path_1 = this._roomExtensions.getPath(_subSystemClass_5);
+            String _path_1 = this._roomExtensions.getPath(_subSystemClass_4);
             final String infopath = (_generationInfoPath + _path_1);
             final Set<PhysicalThread> usedThreads = ETMapUtil.getUsedThreads(nr, ssi);
             String _cppHeaderFileName = this._cppExtensions.getCppHeaderFileName(nr, ssi);
@@ -142,6 +135,7 @@
       NodeClass _type = nr.getType();
       EList<PhysicalThread> _threads = _type.getThreads();
       final Function1<PhysicalThread, Boolean> _function = new Function1<PhysicalThread, Boolean>() {
+        @Override
         public Boolean apply(final PhysicalThread t) {
           return Boolean.valueOf(usedThreads.contains(t));
         }
@@ -173,6 +167,17 @@
       _builder.newLine();
       _builder.append("#include \"common/modelbase/SubSystemClassBase.h\"");
       _builder.newLine();
+      {
+        EList<ActorInstance> _actorInstances = comp.getActorInstances();
+        for(final ActorInstance ai : _actorInstances) {
+          _builder.append("#include \"");
+          ActorClass _actorClass = ai.getActorClass();
+          String _actorIncludePath = this._cppExtensions.getActorIncludePath(_actorClass);
+          _builder.append(_actorIncludePath, "");
+          _builder.append("\"");
+          _builder.newLineIfNotEmpty();
+        }
+      }
       _builder.newLine();
       DetailCode _userCode1 = cc.getUserCode1();
       CharSequence _userCode = this._procedureHelpers.userCode(_userCode1);
@@ -212,9 +217,49 @@
       }
       _builder.newLine();
       _builder.append("\t\t");
+      _builder.append("// sub actors");
+      _builder.newLine();
+      {
+        EList<ActorRef> _actorRefs = cc.getActorRefs();
+        for(final ActorRef sub : _actorRefs) {
+          {
+            int _multiplicity = sub.getMultiplicity();
+            boolean _greaterThan = (_multiplicity > 1);
+            if (_greaterThan) {
+              _builder.append("\t\t");
+              _builder.append("Replicated");
+              ActorClass _type_1 = sub.getType();
+              String _implementationClassName = this._cppExtensions.getImplementationClassName(_type_1);
+              _builder.append(_implementationClassName, "\t\t");
+              _builder.append(" ");
+              String _name = sub.getName();
+              _builder.append(_name, "\t\t");
+              _builder.append(";");
+              _builder.newLineIfNotEmpty();
+            } else {
+              _builder.append("\t\t");
+              ActorClass _type_2 = sub.getType();
+              String _implementationClassName_1 = this._cppExtensions.getImplementationClassName(_type_2);
+              _builder.append(_implementationClassName_1, "\t\t");
+              _builder.append(" ");
+              String _name_1 = sub.getName();
+              _builder.append(_name_1, "\t\t");
+              _builder.append(";");
+              _builder.newLineIfNotEmpty();
+            }
+          }
+        }
+      }
+      _builder.newLine();
+      _builder.append("\t\t");
       _builder.append(clsname, "\t\t");
       _builder.append("(IRTObject* parent, const std::string& name);");
       _builder.newLineIfNotEmpty();
+      _builder.append("\t\t");
+      _builder.append("~");
+      _builder.append(clsname, "\t\t");
+      _builder.append("();");
+      _builder.newLineIfNotEmpty();
       _builder.newLine();
       _builder.append("\t\t");
       _builder.append("virtual void receiveEvent(etRuntime::InterfaceItemBase* ifitem, int evt, void* data);");
@@ -223,17 +268,29 @@
       _builder.append("virtual void instantiateMessageServices();");
       _builder.newLine();
       _builder.append("\t\t");
-      _builder.append("virtual void instantiateActors();");
+      _builder.append("virtual void mapThreads(void);");
       _builder.newLine();
+      _builder.append("\t\t");
+      _builder.append("virtual void initialize(void);");
+      _builder.newLine();
+      {
+        GlobalGeneratorSettings _settings = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation) {
+          _builder.append("\t\t");
+          _builder.append("virtual void setProbesActive(bool recursive, bool active);");
+          _builder.newLine();
+        }
+      }
       _builder.newLine();
       _builder.append("\t\t");
       _builder.append("virtual void init();");
       _builder.newLine();
       _builder.newLine();
       {
-        GlobalGeneratorSettings _settings = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation) {
+        GlobalGeneratorSettings _settings_1 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_1 = _settings_1.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_1) {
           _builder.append("\t\t");
           _builder.append("etBool hasGeneratedMSCInstrumentation() const { return true; }");
           _builder.newLine();
@@ -284,6 +341,36 @@
     return ("THREAD_" + _upperCase);
   }
   
+  private CharSequence generateConstructorInitalizerList(final SubSystemClass cc) {
+    CharSequence _xblockexpression = null;
+    {
+      @Extension
+      final Initialization initHelper = this.initHelper;
+      ArrayList<CharSequence> initList = CollectionLiterals.<CharSequence>newArrayList();
+      StringConcatenation _builder = new StringConcatenation();
+      _builder.append("SubSystemClassBase(parent, name)");
+      initList.add(_builder.toString());
+      EList<ActorRef> _actorRefs = cc.getActorRefs();
+      final Function1<ActorRef, String> _function = new Function1<ActorRef, String>() {
+        @Override
+        public String apply(final ActorRef it) {
+          StringConcatenation _builder = new StringConcatenation();
+          String _name = it.getName();
+          _builder.append(_name, "");
+          _builder.append("(this, \"");
+          String _name_1 = it.getName();
+          _builder.append(_name_1, "");
+          _builder.append("\")");
+          return _builder.toString();
+        }
+      };
+      List<String> _map = ListExtensions.<ActorRef, String>map(_actorRefs, _function);
+      Iterables.<CharSequence>addAll(initList, _map);
+      _xblockexpression = initHelper.generateCtorInitializerList(initList);
+    }
+    return _xblockexpression;
+  }
+  
   public CharSequence generateSourceFile(final Root root, final SubSystemInstance comp, final WiredSubSystemClass wired, final Collection<PhysicalThread> usedThreads) {
     CharSequence _xblockexpression = null;
     {
@@ -294,6 +381,7 @@
       NodeClass _type = nr.getType();
       EList<PhysicalThread> _threads = _type.getThreads();
       final Function1<PhysicalThread, Boolean> _function = new Function1<PhysicalThread, Boolean>() {
+        @Override
         public Boolean apply(final PhysicalThread t) {
           return Boolean.valueOf(usedThreads.contains(t));
         }
@@ -327,6 +415,8 @@
       _builder.newLine();
       _builder.append("#include \"common/debugging/DebuggingService.h\"");
       _builder.newLine();
+      _builder.append("#include \"common/debugging/MSCFunctionObject.h\"");
+      _builder.newLine();
       _builder.append("#include \"common/messaging/IMessageService.h\"");
       _builder.newLine();
       _builder.append("#include \"common/messaging/MessageService.h\"");
@@ -338,18 +428,6 @@
       _builder.append("#include \"common/modelbase/InterfaceItemBase.h\"");
       _builder.newLine();
       _builder.newLine();
-      {
-        EList<ActorInstance> _actorInstances = comp.getActorInstances();
-        for(final ActorInstance ai : _actorInstances) {
-          _builder.append("#include \"");
-          ActorClass _actorClass = ai.getActorClass();
-          String _actorIncludePath = this._cppExtensions.getActorIncludePath(_actorClass);
-          _builder.append(_actorIncludePath, "");
-          _builder.append("\"");
-          _builder.newLineIfNotEmpty();
-        }
-      }
-      _builder.newLine();
       _builder.append("using namespace etRuntime;");
       _builder.newLine();
       _builder.newLine();
@@ -377,13 +455,59 @@
       _builder.append(clsname, "");
       _builder.append("::");
       _builder.append(clsname, "");
-      _builder.append("(IRTObject* parent, const std::string& name) :");
+      _builder.append("(IRTObject* parent, const std::string& name)");
       _builder.newLineIfNotEmpty();
       _builder.append("\t\t");
-      _builder.append("SubSystemClassBase(parent, name)");
-      _builder.newLine();
+      CharSequence _generateConstructorInitalizerList = this.generateConstructorInitalizerList(cc);
+      _builder.append(_generateConstructorInitalizerList, "\t\t");
+      _builder.newLineIfNotEmpty();
       _builder.append("{");
       _builder.newLine();
+      {
+        GlobalGeneratorSettings _settings = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation) {
+          _builder.append("\t");
+          _builder.append("MSCFunctionObject mscFunctionObject(getInstancePathName(), \"Constructor\");");
+          _builder.newLine();
+        }
+      }
+      {
+        EList<ActorRef> _actorRefs = cc.getActorRefs();
+        for(final ActorRef sub : _actorRefs) {
+          {
+            int _multiplicity = sub.getMultiplicity();
+            boolean _greaterThan = (_multiplicity > 1);
+            if (_greaterThan) {
+              _builder.append("\t");
+              String _name = sub.getName();
+              _builder.append(_name, "\t");
+              _builder.append(".createSubActors(");
+              int _multiplicity_1 = sub.getMultiplicity();
+              _builder.append(_multiplicity_1, "\t");
+              _builder.append(");");
+              _builder.newLineIfNotEmpty();
+            }
+          }
+        }
+      }
+      _builder.append("}");
+      _builder.newLine();
+      _builder.newLine();
+      _builder.append(clsname, "");
+      _builder.append("::~");
+      _builder.append(clsname, "");
+      _builder.append("() {");
+      _builder.newLineIfNotEmpty();
+      {
+        GlobalGeneratorSettings _settings_1 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_1 = _settings_1.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_1) {
+          _builder.append("\t");
+          _builder.append("MSCFunctionObject mscFunctionObject(getInstancePathName(), \"Destructor\");");
+          _builder.newLine();
+        }
+      }
       _builder.append("}");
       _builder.newLine();
       _builder.newLine();
@@ -399,6 +523,16 @@
       _builder.append("::instantiateMessageServices(){");
       _builder.newLineIfNotEmpty();
       _builder.newLine();
+      {
+        GlobalGeneratorSettings _settings_2 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_2 = _settings_2.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_2) {
+          _builder.append("\t");
+          _builder.append("MSCFunctionObject mscFunctionObject(getInstancePathName(), \"instantiateMessageServices()\");");
+          _builder.newLine();
+        }
+      }
+      _builder.newLine();
       _builder.append("\t");
       _builder.append("IMessageService* msgService;");
       _builder.newLine();
@@ -408,17 +542,7 @@
           _builder.append("{");
           _builder.newLine();
           {
-            boolean _or = false;
-            ExecMode _execmode = thread_1.getExecmode();
-            boolean _equals = Objects.equal(_execmode, ExecMode.POLLED);
-            if (_equals) {
-              _or = true;
-            } else {
-              ExecMode _execmode_1 = thread_1.getExecmode();
-              boolean _equals_1 = Objects.equal(_execmode_1, ExecMode.MIXED);
-              _or = _equals_1;
-            }
-            if (_or) {
+            if ((Objects.equal(thread_1.getExecmode(), ExecMode.POLLED) || Objects.equal(thread_1.getExecmode(), ExecMode.MIXED))) {
               _builder.append("\t");
               _builder.append("\t");
               _builder.append("etTime interval;");
@@ -443,17 +567,17 @@
               _builder.append("\t");
               _builder.append("\t");
               _builder.append("msgService = new MessageService(this, IMessageService::");
-              ExecMode _execmode_2 = thread_1.getExecmode();
-              String _name = _execmode_2.getName();
-              _builder.append(_name, "\t\t");
+              ExecMode _execmode = thread_1.getExecmode();
+              String _name_1 = _execmode.getName();
+              _builder.append(_name_1, "\t\t");
               _builder.append(", interval, 0, ");
               String _threadId_1 = this.getThreadId(thread_1);
               _builder.append(_threadId_1, "\t\t");
               _builder.append(", \"MessageService_");
-              String _name_1 = thread_1.getName();
-              _builder.append(_name_1, "\t\t");
+              String _name_2 = thread_1.getName();
+              _builder.append(_name_2, "\t\t");
               _builder.append("\", ");
-              int _prio = thread_1.getPrio();
+              long _prio = thread_1.getPrio();
               _builder.append(_prio, "\t\t");
               _builder.append(");");
               _builder.newLineIfNotEmpty();
@@ -461,17 +585,17 @@
               _builder.append("\t");
               _builder.append("\t");
               _builder.append("msgService = new MessageService(this, IMessageService::");
-              ExecMode _execmode_3 = thread_1.getExecmode();
-              String _name_2 = _execmode_3.getName();
-              _builder.append(_name_2, "\t\t");
+              ExecMode _execmode_1 = thread_1.getExecmode();
+              String _name_3 = _execmode_1.getName();
+              _builder.append(_name_3, "\t\t");
               _builder.append(", 0, ");
               String _threadId_2 = this.getThreadId(thread_1);
               _builder.append(_threadId_2, "\t\t");
               _builder.append(", \"MessageService_");
-              String _name_3 = thread_1.getName();
-              _builder.append(_name_3, "\t\t");
+              String _name_4 = thread_1.getName();
+              _builder.append(_name_4, "\t\t");
               _builder.append("\", ");
-              int _prio_1 = thread_1.getPrio();
+              long _prio_1 = thread_1.getPrio();
               _builder.append(_prio_1, "\t\t");
               _builder.append(");");
               _builder.newLineIfNotEmpty();
@@ -491,32 +615,23 @@
       _builder.newLine();
       _builder.append("void ");
       _builder.append(clsname, "");
-      _builder.append("::instantiateActors(){");
+      _builder.append("::mapThreads() {");
       _builder.newLineIfNotEmpty();
-      _builder.newLine();
       _builder.append("\t");
       _builder.append("// thread mappings");
       _builder.newLine();
       {
         EList<ActorInstance> _allContainedInstances = comp.getAllContainedInstances();
-        for(final ActorInstance ai_1 : _allContainedInstances) {
+        for(final ActorInstance ai : _allContainedInstances) {
           _builder.append("\t");
-          final ETMapUtil.MappedThread mapped = ETMapUtil.getMappedThread(ai_1);
+          final ETMapUtil.MappedThread mapped = ETMapUtil.getMappedThread(ai);
           _builder.newLineIfNotEmpty();
           {
-            boolean _or_1 = false;
-            boolean _isImplicit = mapped.isImplicit();
-            if (_isImplicit) {
-              _or_1 = true;
-            } else {
-              boolean _isAsParent = mapped.isAsParent();
-              _or_1 = _isAsParent;
-            }
-            boolean _not = (!_or_1);
+            boolean _not = (!(mapped.isImplicit() || mapped.isAsParent()));
             if (_not) {
               _builder.append("\t");
               _builder.append("addPathToThread(\"");
-              String _path = ai_1.getPath();
+              String _path = ai.getPath();
               _builder.append(_path, "\t");
               _builder.append("\", ");
               PhysicalThread _thread = mapped.getThread();
@@ -528,79 +643,60 @@
           }
         }
       }
+      _builder.append("}");
       _builder.newLine();
-      _builder.append("\t");
-      _builder.append("// sub actors");
       _builder.newLine();
+      _builder.append("void ");
+      _builder.append(clsname, "");
+      _builder.append("::initialize() {");
+      _builder.newLineIfNotEmpty();
       {
-        EList<ActorRef> _actorRefs = cc.getActorRefs();
-        for(final ActorRef sub : _actorRefs) {
+        GlobalGeneratorSettings _settings_3 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_3 = _settings_3.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_3) {
+          _builder.append("\t");
+          _builder.append("DebuggingService::getInstance().getSyncLogger().addVisibleComment(\"starting initialization\");");
+          _builder.newLine();
+          _builder.append("\t");
+          _builder.append("MSCFunctionObject mscFunctionObject(getInstancePathName(), \"initialize()\");");
+          _builder.newLine();
           {
-            int _multiplicity = sub.getMultiplicity();
-            boolean _greaterThan = (_multiplicity > 1);
-            if (_greaterThan) {
-              _builder.append("\t");
-              _builder.append("for (int i=0; i<");
-              int _multiplicity_1 = sub.getMultiplicity();
-              _builder.append(_multiplicity_1, "\t");
-              _builder.append("; ++i) {");
-              _builder.newLineIfNotEmpty();
+            EList<ActorRef> _actorRefs_1 = cc.getActorRefs();
+            for(final ActorRef sub_1 : _actorRefs_1) {
               {
-                GlobalGeneratorSettings _settings = Main.getSettings();
-                boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-                if (_isGenerateMSCInstrumentation) {
+                int _multiplicity_2 = sub_1.getMultiplicity();
+                boolean _greaterThan_1 = (_multiplicity_2 > 1);
+                if (_greaterThan_1) {
                   _builder.append("\t");
-                  _builder.append("\t");
-                  _builder.append("DebuggingService::getInstance().addMessageActorCreate(*this, \"");
-                  String _name_4 = sub.getName();
-                  _builder.append(_name_4, "\t\t");
-                  _builder.append(GenmodelConstants.INDEX_SEP, "\t\t");
-                  _builder.append("\"+i);");
+                  _builder.append("for (int i=0; i<");
+                  int _multiplicity_3 = sub_1.getMultiplicity();
+                  _builder.append(_multiplicity_3, "\t");
+                  _builder.append("; ++i) {");
                   _builder.newLineIfNotEmpty();
-                }
-              }
-              _builder.append("\t");
-              _builder.append("\t");
-              _builder.append("new ");
-              ActorClass _type_1 = sub.getType();
-              String _implementationClassName = this._cppExtensions.getImplementationClassName(_type_1);
-              _builder.append(_implementationClassName, "\t\t");
-              _builder.append("(this, \"");
-              String _name_5 = sub.getName();
-              _builder.append(_name_5, "\t\t");
-              _builder.append(GenmodelConstants.INDEX_SEP, "\t\t");
-              _builder.append("\"+i);");
-              _builder.newLineIfNotEmpty();
-              _builder.append("\t");
-              _builder.append("}");
-              _builder.newLine();
-            } else {
-              {
-                GlobalGeneratorSettings _settings_1 = Main.getSettings();
-                boolean _isGenerateMSCInstrumentation_1 = _settings_1.isGenerateMSCInstrumentation();
-                if (_isGenerateMSCInstrumentation_1) {
+                  _builder.append("\t");
+                  _builder.append("\t");
+                  _builder.append("DebuggingService::getInstance().addMessageActorCreate(*this, ");
+                  String _name_5 = sub_1.getName();
+                  _builder.append(_name_5, "\t\t");
+                  _builder.append(".getSubActor(i)->getName());");
+                  _builder.newLineIfNotEmpty();
+                  _builder.append("\t");
+                  _builder.append("}");
+                  _builder.newLine();
+                } else {
                   _builder.append("\t");
                   _builder.append("DebuggingService::getInstance().addMessageActorCreate(*this, \"");
-                  String _name_6 = sub.getName();
+                  String _name_6 = sub_1.getName();
                   _builder.append(_name_6, "\t");
                   _builder.append("\");");
                   _builder.newLineIfNotEmpty();
                 }
               }
-              _builder.append("\t");
-              _builder.append("new ");
-              ActorClass _type_2 = sub.getType();
-              String _implementationClassName_1 = this._cppExtensions.getImplementationClassName(_type_2);
-              _builder.append(_implementationClassName_1, "\t");
-              _builder.append("(this, \"");
-              String _name_7 = sub.getName();
-              _builder.append(_name_7, "\t");
-              _builder.append("\");");
-              _builder.newLineIfNotEmpty();
             }
           }
         }
       }
+      _builder.append("\t");
       _builder.newLine();
       _builder.append("\t");
       _builder.append("// wiring");
@@ -629,29 +725,70 @@
           _builder.newLineIfNotEmpty();
         }
       }
+      _builder.append("\t");
+      _builder.newLine();
+      _builder.append("\t");
+      _builder.append("// call initialize of sub actors");
+      _builder.newLine();
+      {
+        EList<ActorRef> _actorRefs_2 = cc.getActorRefs();
+        for(final ActorRef sub_2 : _actorRefs_2) {
+          _builder.append("\t");
+          String _name_7 = sub_2.getName();
+          _builder.append(_name_7, "\t");
+          _builder.append(".initialize();");
+          _builder.newLineIfNotEmpty();
+        }
+      }
       _builder.append("}");
       _builder.newLine();
       _builder.newLine();
+      {
+        GlobalGeneratorSettings _settings_4 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_4 = _settings_4.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_4) {
+          _builder.append("void ");
+          _builder.append(clsname, "");
+          _builder.append("::setProbesActive(bool recursive, bool active) {");
+          _builder.newLineIfNotEmpty();
+          _builder.append("\t");
+          _builder.append("for(int i = 0; i < m_RTSystemPort.getNInterfaceItems(); i++)");
+          _builder.newLine();
+          _builder.append("\t\t");
+          _builder.append("DebuggingService::getInstance().addPortInstance(*(m_RTSystemPort.getInterfaceItem(i)));");
+          _builder.newLine();
+          _builder.append("\t");
+          _builder.append("if(recursive) {");
+          _builder.newLine();
+          {
+            EList<ActorRef> _actorRefs_3 = cc.getActorRefs();
+            for(final ActorRef sub_3 : _actorRefs_3) {
+              _builder.append("\t\t");
+              String _name_8 = sub_3.getName();
+              _builder.append(_name_8, "\t\t");
+              _builder.append(".setProbesActive(recursive, active);");
+              _builder.newLineIfNotEmpty();
+            }
+          }
+          _builder.append("\t");
+          _builder.append("}");
+          _builder.newLine();
+          _builder.append("}");
+          _builder.newLine();
+        }
+      }
+      _builder.newLine();
       _builder.append("void ");
       _builder.append(clsname, "");
       _builder.append("::init(){");
       _builder.newLineIfNotEmpty();
-      {
-        GlobalGeneratorSettings _settings_2 = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation_2 = _settings_2.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation_2) {
-          _builder.append("\t");
-          _builder.append("DebuggingService::getInstance().addVisibleComment(\"begin sub system initialization\");");
-          _builder.newLine();
-        }
-      }
       _builder.append("\t");
       _builder.append("SubSystemClassBase::init();");
       _builder.newLine();
       {
-        GlobalGeneratorSettings _settings_3 = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation_3 = _settings_3.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation_3) {
+        GlobalGeneratorSettings _settings_5 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_5 = _settings_5.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_5) {
           _builder.append("\t");
           _builder.append("DebuggingService::getInstance().addVisibleComment(\"done sub system initialization\");");
           _builder.newLine();
@@ -660,23 +797,41 @@
       _builder.append("}");
       _builder.newLine();
       {
-        GlobalGeneratorSettings _settings_4 = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation_4 = _settings_4.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation_4) {
+        GlobalGeneratorSettings _settings_6 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_6 = _settings_6.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_6) {
           _builder.newLine();
           _builder.append("void ");
           _builder.append(clsname, "");
           _builder.append("::destroy() {");
           _builder.newLineIfNotEmpty();
-          _builder.append("\t");
-          _builder.append("DebuggingService::getInstance().addVisibleComment(\"begin sub system destruction\");");
-          _builder.newLine();
+          {
+            GlobalGeneratorSettings _settings_7 = Main.getSettings();
+            boolean _isGenerateMSCInstrumentation_7 = _settings_7.isGenerateMSCInstrumentation();
+            if (_isGenerateMSCInstrumentation_7) {
+              _builder.append("\t");
+              _builder.append("DebuggingService::getInstance().getSyncLogger().addVisibleComment(\"starting destruction\");");
+              _builder.newLine();
+              _builder.append("\t");
+              _builder.append("MSCFunctionObject mscFunctionObject(getInstancePathName(), \"destroy()\");");
+              _builder.newLine();
+              _builder.append("\t");
+              _builder.append("DebuggingService::getInstance().addVisibleComment(\"begin sub system destruction\");");
+              _builder.newLine();
+            }
+          }
           _builder.append("\t");
           _builder.append("SubSystemClassBase::destroy();");
           _builder.newLine();
-          _builder.append("\t");
-          _builder.append("DebuggingService::getInstance().addVisibleComment(\"done sub system destruction\");");
-          _builder.newLine();
+          {
+            GlobalGeneratorSettings _settings_8 = Main.getSettings();
+            boolean _isGenerateMSCInstrumentation_8 = _settings_8.isGenerateMSCInstrumentation();
+            if (_isGenerateMSCInstrumentation_8) {
+              _builder.append("\t");
+              _builder.append("DebuggingService::getInstance().addVisibleComment(\"done sub system destruction\");");
+              _builder.newLine();
+            }
+          }
           _builder.append("}");
           _builder.newLine();
         }
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/NodeRunnerGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/NodeRunnerGen.java
index 088bad9..8a3c52a 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/NodeRunnerGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/NodeRunnerGen.java
@@ -58,25 +58,16 @@
         {
           StructureInstance _instance = root.getInstance(instpath);
           final SubSystemInstance ssi = ((SubSystemInstance) _instance);
-          boolean _and = false;
-          boolean _notEquals = (!Objects.equal(ssi, null));
-          if (!_notEquals) {
-            _and = false;
-          } else {
+          if (((!Objects.equal(ssi, null)) && this._fileSystemHelpers.isValidGenerationLocation(ssi.getSubSystemClass()))) {
             SubSystemClass _subSystemClass = ssi.getSubSystemClass();
-            boolean _isValidGenerationLocation = this._fileSystemHelpers.isValidGenerationLocation(_subSystemClass);
-            _and = _isValidGenerationLocation;
-          }
-          if (_and) {
+            String _generationTargetPath = this.roomExt.getGenerationTargetPath(_subSystemClass);
             SubSystemClass _subSystemClass_1 = ssi.getSubSystemClass();
-            String _generationTargetPath = this.roomExt.getGenerationTargetPath(_subSystemClass_1);
-            SubSystemClass _subSystemClass_2 = ssi.getSubSystemClass();
-            String _path = this.roomExt.getPath(_subSystemClass_2);
+            String _path = this.roomExt.getPath(_subSystemClass_1);
             final String filepath = (_generationTargetPath + _path);
+            SubSystemClass _subSystemClass_2 = ssi.getSubSystemClass();
+            String _generationInfoPath = this.roomExt.getGenerationInfoPath(_subSystemClass_2);
             SubSystemClass _subSystemClass_3 = ssi.getSubSystemClass();
-            String _generationInfoPath = this.roomExt.getGenerationInfoPath(_subSystemClass_3);
-            SubSystemClass _subSystemClass_4 = ssi.getSubSystemClass();
-            String _path_1 = this.roomExt.getPath(_subSystemClass_4);
+            String _path_1 = this.roomExt.getPath(_subSystemClass_3);
             final String infopath = (_generationInfoPath + _path_1);
             String _cppClassName = this._cppExtensions.getCppClassName(nr, ssi);
             String _plus = (_cppClassName + "Runner.h");
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java
index 74878fd..d50c52d 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java
@@ -88,6 +88,7 @@
   public void doGenerate(final Root root) {
     EList<ProtocolClass> _usedProtocolClasses = root.getUsedProtocolClasses();
     final Function1<ProtocolClass, Boolean> _function = new Function1<ProtocolClass, Boolean>() {
+      @Override
       public Boolean apply(final ProtocolClass cl) {
         return Boolean.valueOf(ProtocolClassGen.this._fileSystemHelpers.isValidGenerationLocation(cl));
       }
@@ -512,6 +513,8 @@
     _builder.newLine();
     _builder.append("#include \"common/debugging/DebuggingService.h\"");
     _builder.newLine();
+    _builder.append("#include \"common/debugging/MSCFunctionObject.h\"");
+    _builder.newLine();
     _builder.append("#include \"common/messaging/AbstractMessageReceiver.h\"");
     _builder.newLine();
     _builder.append("#include \"common/messaging/Address.h\"");
@@ -638,15 +641,6 @@
       _builder.newLineIfNotEmpty();
       _builder.append("{");
       _builder.newLine();
-      {
-        GlobalGeneratorSettings _settings = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation) {
-          _builder.append("\t");
-          _builder.append("DebuggingService::getInstance().addPortInstance(*this);");
-          _builder.newLine();
-        }
-      }
       _builder.append("}");
       _builder.newLine();
       _builder.newLine();
@@ -671,21 +665,12 @@
         }
       }
       _builder.newLineIfNotEmpty();
-      {
-        GlobalGeneratorSettings _settings_1 = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation_1 = _settings_1.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation_1) {
-          _builder.append("\t");
-          _builder.append("DebuggingService::getInstance().addPortInstance(*this);");
-          _builder.newLine();
-        }
-      }
       _builder.append("}");
       _builder.newLine();
       {
-        GlobalGeneratorSettings _settings_2 = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation_2 = _settings_2.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation_2) {
+        GlobalGeneratorSettings _settings = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation) {
           _builder.newLine();
           _builder.append("void ");
           _builder.append(portClassName, "");
@@ -731,9 +716,9 @@
       _builder.newLine();
       _builder.newLine();
       {
-        GlobalGeneratorSettings _settings_3 = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation_3 = _settings_3.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation_3) {
+        GlobalGeneratorSettings _settings_1 = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation_1 = _settings_1.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation_1) {
           _builder.append("\t");
           _builder.append("DebuggingService::getInstance().addMessageAsyncIn(getPeerAddress(), getAddress(), ");
           String _name_1 = pc.getName();
@@ -941,6 +926,7 @@
       if (_notEquals) {
         EList<Attribute> _attributes = pc.getAttributes();
         final Function1<Attribute, String> _function = new Function1<Attribute, String>() {
+          @Override
           public String apply(final Attribute it) {
             StringConcatenation _builder = new StringConcatenation();
             String _name = it.getName();
@@ -1115,21 +1101,27 @@
             }
           }
         } else {
-          _builder_2.append("\t");
-          _builder_2.append("DebuggingService::getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(),");
-          _builder_2.newLine();
-          _builder_2.append("\t");
-          _builder_2.append("\t");
-          _builder_2.append(portClassName, "\t\t");
-          _builder_2.append("::getMessageString(");
-          _builder_2.append(portClassName, "\t\t");
-          _builder_2.append("::");
-          _builder_2.append(dir, "\t\t");
-          _builder_2.append("_");
-          String _name_3 = m.getName();
-          _builder_2.append(_name_3, "\t\t");
-          _builder_2.append("));");
-          _builder_2.newLineIfNotEmpty();
+          {
+            GlobalGeneratorSettings _settings = Main.getSettings();
+            boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
+            if (_isGenerateMSCInstrumentation) {
+              _builder_2.append("\t");
+              _builder_2.append("DebuggingService::getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(),");
+              _builder_2.newLine();
+              _builder_2.append("\t");
+              _builder_2.append("\t");
+              _builder_2.append(portClassName, "\t\t");
+              _builder_2.append("::getMessageString(");
+              _builder_2.append(portClassName, "\t\t");
+              _builder_2.append("::");
+              _builder_2.append(dir, "\t\t");
+              _builder_2.append("_");
+              String _name_3 = m.getName();
+              _builder_2.append(_name_3, "\t\t");
+              _builder_2.append("));");
+              _builder_2.newLineIfNotEmpty();
+            }
+          }
           _builder_2.append("\t");
           _builder_2.append("if (getPeerAddress().isValid()){");
           _builder_2.newLine();
@@ -1156,6 +1148,7 @@
     {
       List<Message> _allIncomingMessages = this._roomHelpers.getAllIncomingMessages(pc);
       final Function1<Message, Boolean> _function = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           return Boolean.valueOf((!Objects.equal(_data, null)));
@@ -1391,6 +1384,7 @@
     {
       List<Message> _allIncomingMessages = this._roomHelpers.getAllIncomingMessages(pc);
       final Function1<Message, Boolean> _function = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           return Boolean.valueOf((!Objects.equal(_data, null)));
@@ -1555,6 +1549,7 @@
     return _xblockexpression;
   }
   
+  @Override
   public String getMessageID(final Message msg, final InterfaceItem item) {
     if ((item instanceof Port)) {
       Port p = ((Port) item);
diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.java
index a8db021..5891609 100644
--- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.java
+++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/StateMachineGen.java
@@ -34,6 +34,7 @@
   @Extension
   private RoomExtensions _roomExtensions;
   
+  @Override
   public CharSequence genExtra(final ExpandedModelComponent xpac, final boolean generateImplementation) {
     CharSequence _xblockexpression = null;
     {
@@ -54,17 +55,7 @@
       if (generateImplementation) {
         StringConcatenation _builder = new StringConcatenation();
         {
-          boolean _or = false;
-          GlobalGeneratorSettings _settings = Main.getSettings();
-          boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-          if (_isGenerateMSCInstrumentation) {
-            _or = true;
-          } else {
-            GlobalGeneratorSettings _settings_1 = Main.getSettings();
-            boolean _isGenerateWithVerboseOutput = _settings_1.isGenerateWithVerboseOutput();
-            _or = _isGenerateWithVerboseOutput;
-          }
-          if (_or) {
+          if ((Main.getSettings().isGenerateMSCInstrumentation() || Main.getSettings().isGenerateWithVerboseOutput())) {
             _builder.append("// state names");
             _builder.newLine();
             _builder.append("const std::string ");
@@ -111,18 +102,18 @@
         _builder.append("::setState(int new_state) {");
         _builder.newLineIfNotEmpty();
         {
-          GlobalGeneratorSettings _settings_2 = Main.getSettings();
-          boolean _isGenerateMSCInstrumentation_1 = _settings_2.isGenerateMSCInstrumentation();
-          if (_isGenerateMSCInstrumentation_1) {
+          GlobalGeneratorSettings _settings = Main.getSettings();
+          boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
+          if (_isGenerateMSCInstrumentation) {
             _builder.append("\t");
             _builder.append("DebuggingService::getInstance().addActorState(*this, s_stateStrings[new_state]);");
             _builder.newLine();
           }
         }
         {
-          GlobalGeneratorSettings _settings_3 = Main.getSettings();
-          boolean _isGenerateWithVerboseOutput_1 = _settings_3.isGenerateWithVerboseOutput();
-          if (_isGenerateWithVerboseOutput_1) {
+          GlobalGeneratorSettings _settings_1 = Main.getSettings();
+          boolean _isGenerateWithVerboseOutput = _settings_1.isGenerateWithVerboseOutput();
+          if (_isGenerateWithVerboseOutput) {
             _builder.append("\t");
             _builder.append("if (s_stateStrings[new_state] != \"Idle\") {");
             _builder.newLine();
@@ -144,17 +135,7 @@
       } else {
         StringConcatenation _builder_1 = new StringConcatenation();
         {
-          boolean _or_1 = false;
-          GlobalGeneratorSettings _settings_4 = Main.getSettings();
-          boolean _isGenerateMSCInstrumentation_2 = _settings_4.isGenerateMSCInstrumentation();
-          if (_isGenerateMSCInstrumentation_2) {
-            _or_1 = true;
-          } else {
-            GlobalGeneratorSettings _settings_5 = Main.getSettings();
-            boolean _isGenerateWithVerboseOutput_2 = _settings_5.isGenerateWithVerboseOutput();
-            _or_1 = _isGenerateWithVerboseOutput_2;
-          }
-          if (_or_1) {
+          if ((Main.getSettings().isGenerateMSCInstrumentation() || Main.getSettings().isGenerateWithVerboseOutput())) {
             _builder_1.append("static const std::string s_stateStrings[];");
             _builder_1.newLine();
           }
@@ -178,10 +159,12 @@
     return _xblockexpression;
   }
   
+  @Override
   public String stateType() {
     return "etInt16";
   }
   
+  @Override
   public String boolType() {
     return "etBool";
   }
diff --git a/plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF
index 4f6786c..5a37463 100644
--- a/plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.doc/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Document Generator
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.generator.doc;singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.genmodel;bundle-version="1.0.1",
- org.eclipse.etrice.core.genmodel.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.core.etmap;bundle-version="1.0.1",
- org.eclipse.etrice.core.etphys;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.genmodel;bundle-version="1.1.0",
+ org.eclipse.etrice.core.genmodel.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etmap;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etphys;bundle-version="1.1.0",
  org.eclipse.core.resources;bundle-version="3.6.0",
  org.eclipse.core.runtime;bundle-version="3.6.0",
  org.eclipse.ui;bundle-version="3.7.0",
diff --git a/plugins/org.eclipse.etrice.generator.doc/pom.xml b/plugins/org.eclipse.etrice.generator.doc/pom.xml
index 6e9645b..10a4c5b 100644
--- a/plugins/org.eclipse.etrice.generator.doc/pom.xml
+++ b/plugins/org.eclipse.etrice.generator.doc/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/DocGen.java b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/DocGen.java
index 2537e31..925d0c3 100644
--- a/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/DocGen.java
+++ b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/DocGen.java
@@ -26,7 +26,6 @@
 import org.eclipse.etrice.core.genmodel.etricegen.Root;
 import org.eclipse.etrice.core.genmodel.fsm.base.ILogger;
 import org.eclipse.etrice.core.room.ActorClass;
-import org.eclipse.etrice.core.room.ActorRef;
 import org.eclipse.etrice.core.room.Attribute;
 import org.eclipse.etrice.core.room.CompoundProtocolClass;
 import org.eclipse.etrice.core.room.DataClass;
@@ -34,7 +33,6 @@
 import org.eclipse.etrice.core.room.EnumLiteral;
 import org.eclipse.etrice.core.room.EnumerationType;
 import org.eclipse.etrice.core.room.GeneralProtocolClass;
-import org.eclipse.etrice.core.room.InterfaceItem;
 import org.eclipse.etrice.core.room.LogicalSystem;
 import org.eclipse.etrice.core.room.Message;
 import org.eclipse.etrice.core.room.Port;
@@ -110,6 +108,7 @@
         this.fileAccess.setOutputPath(_plus);
         EList<LogicalSystem> _systems = model.getSystems();
         final Procedure1<LogicalSystem> _function = new Procedure1<LogicalSystem>() {
+          @Override
           public void apply(final LogicalSystem it) {
             CharSequence _generateDoc = DocGen.this.generateDoc(it, ctx);
             String _docFragmentName = DocGen.this.docFragmentName(it);
@@ -119,6 +118,7 @@
         IterableExtensions.<LogicalSystem>forEach(_systems, _function);
         EList<LogicalSystem> _systems_1 = model.getSystems();
         final Procedure1<LogicalSystem> _function_1 = new Procedure1<LogicalSystem>() {
+          @Override
           public void apply(final LogicalSystem it) {
             EList<RoomModel> _referencedModels = root.getReferencedModels(it);
             referencedModels.addAll(_referencedModels);
@@ -127,6 +127,7 @@
         IterableExtensions.<LogicalSystem>forEach(_systems_1, _function_1);
         EList<SubSystemClass> _subSystemClasses = model.getSubSystemClasses();
         final Procedure1<SubSystemClass> _function_2 = new Procedure1<SubSystemClass>() {
+          @Override
           public void apply(final SubSystemClass it) {
             CharSequence _generateDoc = DocGen.this.generateDoc(it, ctx);
             String _docFragmentName = DocGen.this.docFragmentName(it);
@@ -136,6 +137,7 @@
         IterableExtensions.<SubSystemClass>forEach(_subSystemClasses, _function_2);
         EList<SubSystemClass> _subSystemClasses_1 = model.getSubSystemClasses();
         final Procedure1<SubSystemClass> _function_3 = new Procedure1<SubSystemClass>() {
+          @Override
           public void apply(final SubSystemClass it) {
             EList<RoomModel> _referencedModels = root.getReferencedModels(it);
             referencedModels.addAll(_referencedModels);
@@ -144,6 +146,7 @@
         IterableExtensions.<SubSystemClass>forEach(_subSystemClasses_1, _function_3);
         EList<GeneralProtocolClass> _protocolClasses = model.getProtocolClasses();
         final Procedure1<GeneralProtocolClass> _function_4 = new Procedure1<GeneralProtocolClass>() {
+          @Override
           public void apply(final GeneralProtocolClass it) {
             CharSequence _generateDoc = DocGen.this.generateDoc(it, ctx);
             String _docFragmentName = DocGen.this.docFragmentName(it);
@@ -153,6 +156,7 @@
         IterableExtensions.<GeneralProtocolClass>forEach(_protocolClasses, _function_4);
         EList<GeneralProtocolClass> _protocolClasses_1 = model.getProtocolClasses();
         final Procedure1<GeneralProtocolClass> _function_5 = new Procedure1<GeneralProtocolClass>() {
+          @Override
           public void apply(final GeneralProtocolClass it) {
             EList<RoomModel> _referencedModels = root.getReferencedModels(it);
             referencedModels.addAll(_referencedModels);
@@ -161,6 +165,7 @@
         IterableExtensions.<GeneralProtocolClass>forEach(_protocolClasses_1, _function_5);
         EList<EnumerationType> _enumerationTypes = model.getEnumerationTypes();
         final Procedure1<EnumerationType> _function_6 = new Procedure1<EnumerationType>() {
+          @Override
           public void apply(final EnumerationType it) {
             CharSequence _generateDoc = DocGen.this.generateDoc(it, ctx);
             String _docFragmentName = DocGen.this.docFragmentName(it);
@@ -170,6 +175,7 @@
         IterableExtensions.<EnumerationType>forEach(_enumerationTypes, _function_6);
         EList<EnumerationType> _enumerationTypes_1 = model.getEnumerationTypes();
         final Procedure1<EnumerationType> _function_7 = new Procedure1<EnumerationType>() {
+          @Override
           public void apply(final EnumerationType it) {
             EList<RoomModel> _referencedModels = root.getReferencedModels(it);
             referencedModels.addAll(_referencedModels);
@@ -178,6 +184,7 @@
         IterableExtensions.<EnumerationType>forEach(_enumerationTypes_1, _function_7);
         EList<DataClass> _dataClasses = model.getDataClasses();
         final Procedure1<DataClass> _function_8 = new Procedure1<DataClass>() {
+          @Override
           public void apply(final DataClass it) {
             CharSequence _generateDoc = DocGen.this.generateDoc(it, ctx);
             String _docFragmentName = DocGen.this.docFragmentName(it);
@@ -187,6 +194,7 @@
         IterableExtensions.<DataClass>forEach(_dataClasses, _function_8);
         EList<DataClass> _dataClasses_1 = model.getDataClasses();
         final Procedure1<DataClass> _function_9 = new Procedure1<DataClass>() {
+          @Override
           public void apply(final DataClass it) {
             EList<RoomModel> _referencedModels = root.getReferencedModels(it);
             referencedModels.addAll(_referencedModels);
@@ -195,6 +203,7 @@
         IterableExtensions.<DataClass>forEach(_dataClasses_1, _function_9);
         EList<ActorClass> _actorClasses = model.getActorClasses();
         final Procedure1<ActorClass> _function_10 = new Procedure1<ActorClass>() {
+          @Override
           public void apply(final ActorClass it) {
             CharSequence _generateDoc = DocGen.this.generateDoc(it, ctx);
             String _docFragmentName = DocGen.this.docFragmentName(it);
@@ -204,6 +213,7 @@
         IterableExtensions.<ActorClass>forEach(_actorClasses, _function_10);
         EList<ActorClass> _actorClasses_1 = model.getActorClasses();
         final Procedure1<ActorClass> _function_11 = new Procedure1<ActorClass>() {
+          @Override
           public void apply(final ActorClass it) {
             EList<RoomModel> _referencedModels = root.getReferencedModels(it);
             referencedModels.addAll(_referencedModels);
@@ -428,6 +438,7 @@
           _builder.newLine();
           {
             final Function1<RoomModel, String> _function = new Function1<RoomModel, String>() {
+              @Override
               public String apply(final RoomModel it) {
                 return it.getName();
               }
@@ -964,38 +975,17 @@
       _builder.newLineIfNotEmpty();
       _builder.newLine();
       {
-        boolean _and = false;
-        String _imagePath = this.getImagePath(filename);
-        String _fileExists = this.fileExists(ctx.model, _imagePath);
-        boolean _equals = _fileExists.equals("true");
-        if (!_equals) {
-          _and = false;
-        } else {
-          boolean _or = false;
-          List<InterfaceItem> _allInterfaceItems = this._roomHelpers.getAllInterfaceItems(ac);
-          boolean _isEmpty = _allInterfaceItems.isEmpty();
-          boolean _not = (!_isEmpty);
-          if (_not) {
-            _or = true;
-          } else {
-            EList<ActorRef> _actorRefs = ac.getActorRefs();
-            boolean _isEmpty_1 = _actorRefs.isEmpty();
-            boolean _not_1 = (!_isEmpty_1);
-            _or = _not_1;
-          }
-          _and = _or;
-        }
-        if (_and) {
+        if ((this.fileExists(ctx.model, this.getImagePath(filename)).equals("true") && ((!this._roomHelpers.getAllInterfaceItems(ac).isEmpty()) || (!ac.getActorRefs().isEmpty())))) {
           _builder.append("\\level{3}{Structure}");
           _builder.newLine();
           Documentation _structureDocu = ac.getStructureDocu();
           CharSequence _generateDocText_1 = this.generateDocText(_structureDocu);
           _builder.append(_generateDocText_1, "");
           _builder.newLineIfNotEmpty();
-          String _imagePath_1 = this.getImagePath(filename);
+          String _imagePath = this.getImagePath(filename);
           String _name_2 = ac.getName();
           String _plus = (_name_2 + " Structure");
-          CharSequence _includeGraphics = this.includeGraphics(_imagePath_1, this.IMGWIDTH_DEFAULT, _plus);
+          CharSequence _includeGraphics = this.includeGraphics(_imagePath, this.IMGWIDTH_DEFAULT, _plus);
           _builder.append(_includeGraphics, "");
           _builder.newLineIfNotEmpty();
         } else {
@@ -1014,9 +1004,9 @@
       _builder.newLine();
       {
         List<Port> _allPorts = this._roomHelpers.getAllPorts(ac);
-        boolean _isEmpty_2 = _allPorts.isEmpty();
-        boolean _not_2 = (!_isEmpty_2);
-        if (_not_2) {
+        boolean _isEmpty = _allPorts.isEmpty();
+        boolean _not = (!_isEmpty);
+        if (_not) {
           _builder.append("\\level{3}{Ports}");
           _builder.newLine();
           String _generatePortDoc = this.generatePortDoc(ac);
@@ -1068,9 +1058,9 @@
       _builder.newLine();
       {
         EList<Attribute> _attributes = ac.getAttributes();
-        boolean _isEmpty_3 = _attributes.isEmpty();
-        boolean _not_3 = (!_isEmpty_3);
-        if (_not_3) {
+        boolean _isEmpty_1 = _attributes.isEmpty();
+        boolean _not_1 = (!_isEmpty_1);
+        if (_not_1) {
           _builder.append("\\level{3}{Attributes}");
           _builder.newLine();
           EList<Attribute> _attributes_1 = ac.getAttributes();
@@ -1082,9 +1072,9 @@
       _builder.newLine();
       {
         EList<StandardOperation> _operations = ac.getOperations();
-        boolean _isEmpty_4 = _operations.isEmpty();
-        boolean _not_4 = (!_isEmpty_4);
-        if (_not_4) {
+        boolean _isEmpty_2 = _operations.isEmpty();
+        boolean _not_2 = (!_isEmpty_2);
+        if (_not_2) {
           _builder.append("\\level{3}{Operations}");
           _builder.newLine();
           EList<StandardOperation> _operations_1 = ac.getOperations();
diff --git a/plugins/org.eclipse.etrice.generator.fsm/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.fsm/META-INF/MANIFEST.MF
index 155e4a8..847bf11 100644
--- a/plugins/org.eclipse.etrice.generator.fsm/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.fsm/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Generator for Finite State Machines
 Bundle-SymbolicName: org.eclipse.etrice.generator.fsm
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Vendor: eTrice
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Export-Package: org.eclipse.etrice.generator.fsm.base,
  org.eclipse.etrice.generator.fsm.generic
-Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.genmodel.fsm;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.genmodel.fsm;bundle-version="1.1.0",
  org.eclipse.emf;bundle-version="2.6.0",
  org.apache.commons.io;bundle-version="2.0.1",
  org.eclipse.core.resources;bundle-version="3.8.101",
diff --git a/plugins/org.eclipse.etrice.generator.fsm/pom.xml b/plugins/org.eclipse.etrice.generator.fsm/pom.xml
index 770b89b..111fbd2 100644
--- a/plugins/org.eclipse.etrice.generator.fsm/pom.xml
+++ b/plugins/org.eclipse.etrice.generator.fsm/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend b/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend
index 5c1e7f1..f86f967 100644
--- a/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend
+++ b/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.xtend
@@ -129,19 +129,21 @@
 
     /**
      * generates transition chain ID constants.
-     * Inheritance (if available) is used for base class IDs.
+     * Inheritance can't be used used for base class IDs because of corner cases
+     * where base class and derived class chain IDs deviate (see bug 501354).
      *
      * @param xpmc the {@link ExpandedModelComponent}
      *
      * @return the generated code
      */
     def public genTransitionChainConstants(ExpandedModelComponent xpmc) {
-        xpmc.genTransitionChainConstants(langExt.usesInheritance)
+        xpmc.genTransitionChainConstants(false/*langExt.usesInheritance*/)
     }
 
     /**
      * generates transition chain ID constants.
-     * Inheritance (if available) is used for base class IDs.
+     * Inheritance can't be used used for base class IDs because of corner cases
+     * where base class and derived class chain IDs deviate.
      *
      * @param xpmc the {@link ExpandedModelComponent}
      * @param omitBase use <code>true</code> if no base class transition chain constants are needed
@@ -160,7 +162,7 @@
             list.add(pair(chain.genChainId, offset.toString))
         }
 
-        return langExt.genEnumeration("chain_ids", list)
+        return langExt.genEnumeration("ChainIDs", list)
     }
 
     /**
@@ -231,6 +233,7 @@
 		val eventDriven = mc.commType==ComponentCommunicationType::EVENT_DRIVEN
 		val ifItemPtr = interfaceItemType()+langExt.pointerLiteral()
 		val handleEvents = async || eventDriven
+		val chainIDScope = if (langExt.usesInheritance) mc.className+langExt.scopeSeparator else ""
 		val opScope = langExt.operationScope(mc.className, !generateImplementation)
 		val opScopePriv = if (langExt.usesInheritance)
 							opScope
@@ -299,7 +302,7 @@
 				switch (chain__et) {
 					«var allchains = xpmc.getTransitionChains()»
 					«FOR tc : allchains»
-						case «tc.genChainId»:
+						case «chainIDScope»«tc.genChainId»:
 						{
 							«transitionChainGenerator.generateExecuteChain(xpmc, tc)»
 						}
@@ -349,7 +352,7 @@
 									/* with init transition */
 									if («getHistory(state.getGenStateId())»==NO_STATE) {
 										«var sub_initt = state.subgraph.getInitTransition()»
-										state__et = executeTransitionChain(«langExt.selfPointer(true)»«xpmc.getChain(sub_initt).genChainId»«IF handleEvents», «langExt.nullPointer», «langExt.nullPointer»«ENDIF»);
+										state__et = executeTransitionChain(«langExt.selfPointer(true)»«chainIDScope»«xpmc.getChain(sub_initt).genChainId»«IF handleEvents», «langExt.nullPointer», «langExt.nullPointer»«ENDIF»);
 									}
 									else {
 										state__et = «getHistory(state.getGenStateId())»;
@@ -381,7 +384,7 @@
 		«IF generateImplementation»
 			«publicIf»void «opScope»executeInitTransition(«selfOnly») {
 				«var initt = xpmc.stateMachine.getInitTransition()»
-				int chain__et = «xpmc.getChain(initt).genChainId»;
+				int chain__et = «chainIDScope»«xpmc.getChain(initt).genChainId»;
 				«stateType» next__et = «opScopePriv»executeTransitionChain(«langExt.selfPointer(true)»chain__et«IF handleEvents», «langExt.nullPointer», «langExt.nullPointer»«ENDIF»);
 				next__et = «opScopePriv»enterHistory(«langExt.selfPointer(true)»next__et«IF usesHdlr», «langExt.booleanConstant(false)»«ENDIF»);
 				setState(«langExt.selfPointer(true)»next__et);
@@ -513,6 +516,7 @@
      * @return the generated code
      */
     def public genDataDrivenTriggers(ExpandedModelComponent xpmc, State state, boolean usesHdlr) {
+		val chainIDScope = if (langExt.usesInheritance) xpmc.className+langExt.scopeSeparator else ""
         '''
             «genDoCodes(state)»
             «var transitions = xpmc.getOutgoingTransitionsHierarchical(state).filter(t|t instanceof GuardedTransition)»
@@ -520,7 +524,7 @@
                 if («guard((tr as GuardedTransition), "", xpmc)»)
                 {
                     «var chain = xpmc.getChain(tr)»
-                    chain__et = «chain.genChainId»;
+                    chain__et = «chainIDScope»«chain.genChainId»;
                     catching_state__et = «chain.stateContext.genStateId»;
                     «IF chain.isHandler() && usesHdlr»
                         is_handler__et = TRUE;
@@ -544,6 +548,7 @@
      * @return the generated code
      */
     def public genEventDrivenTriggers(ExpandedModelComponent xpmc, State state, List<ActiveTrigger> atlist, boolean usesHdlr) {
+		val chainIDScope = if (langExt.usesInheritance) xpmc.className+langExt.scopeSeparator else ""
         '''
             «FOR at : atlist»
                 case «xpmc.getTriggerCodeName(at)»:
@@ -553,7 +558,7 @@
                         «var chain = xpmc.getChain(tt)»
                         «guard(chain.getTransition as TriggeredTransition, at.trigger, xpmc)»
                         {
-                            chain__et = «chain.genChainId»;
+                            chain__et = «chainIDScope»«chain.genChainId»;
                             catching_state__et = «chain.stateContext.genStateId»;
                             «IF chain.isHandler() && usesHdlr»
                                 is_handler__et = «langExt.booleanConstant(true)»;
diff --git a/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/ILanguageExtensionBase.java b/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/ILanguageExtensionBase.java
index a038044..2c2c3be 100644
--- a/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/ILanguageExtensionBase.java
+++ b/plugins/org.eclipse.etrice.generator.fsm/src/org/eclipse/etrice/generator/fsm/generic/ILanguageExtensionBase.java
@@ -80,6 +80,11 @@
 	String selfPointer(boolean hasArgs);
 
 	/**
+	 * @return the language specific scope separator, e.g. "::" for C++, "." for Java and "" for C
+	 */
+	String scopeSeparator();
+
+	/**
 	 * language specific scoping string for operations
 	 * e.g. nothing in Java (only inside class declaration), nothing and classname:: for C++ and classname_ for C
 	 * @param classname the class name
@@ -87,7 +92,7 @@
 	 * @return "classname_" for C / for Java and C++ nothing
 	 */
 	String operationScope(String classname, boolean isDeclaration);
-
+	
 	/**
 	 * member declaration
 	 *
diff --git a/plugins/org.eclipse.etrice.generator.fsm/xtend-gen/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.java b/plugins/org.eclipse.etrice.generator.fsm/xtend-gen/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.java
index 6c1f30f..2117b58 100644
--- a/plugins/org.eclipse.etrice.generator.fsm/xtend-gen/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.java
+++ b/plugins/org.eclipse.etrice.generator.fsm/xtend-gen/org/eclipse/etrice/generator/fsm/generic/AbstractStateMachineGenerator.java
@@ -18,7 +18,6 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.etrice.core.fsm.fSM.AbstractInterfaceItem;
 import org.eclipse.etrice.core.fsm.fSM.ComponentCommunicationType;
-import org.eclipse.etrice.core.fsm.fSM.DetailCode;
 import org.eclipse.etrice.core.fsm.fSM.GuardedTransition;
 import org.eclipse.etrice.core.fsm.fSM.MessageFromIf;
 import org.eclipse.etrice.core.fsm.fSM.ModelComponent;
@@ -199,20 +198,21 @@
   
   /**
    * generates transition chain ID constants.
-   * Inheritance (if available) is used for base class IDs.
+   * Inheritance can't be used used for base class IDs because of corner cases
+   * where base class and derived class chain IDs deviate (see bug 501354).
    * 
    * @param xpmc the {@link ExpandedModelComponent}
    * 
    * @return the generated code
    */
   public String genTransitionChainConstants(final ExpandedModelComponent xpmc) {
-    boolean _usesInheritance = this.langExt.usesInheritance();
-    return this.genTransitionChainConstants(xpmc, _usesInheritance);
+    return this.genTransitionChainConstants(xpmc, false);
   }
   
   /**
    * generates transition chain ID constants.
-   * Inheritance (if available) is used for base class IDs.
+   * Inheritance can't be used used for base class IDs because of corner cases
+   * where base class and derived class chain IDs deviate.
    * 
    * @param xpmc the {@link ExpandedModelComponent}
    * @param omitBase use <code>true</code> if no base class transition chain constants are needed
@@ -247,7 +247,7 @@
         list.add(_pair);
       }
     }
-    return this.langExt.genEnumeration("chain_ids", list);
+    return this.langExt.genEnumeration("ChainIDs", list);
   }
   
   /**
@@ -279,14 +279,7 @@
       List<State> _stateList = this._fSMHelpers.getStateList(_stateMachine);
       for(final State state : _stateList) {
         {
-          boolean _or = false;
-          if ((!omitBase)) {
-            _or = true;
-          } else {
-            boolean _isOwnObject = xpmc.isOwnObject(state);
-            _or = _isOwnObject;
-          }
-          if (_or) {
+          if (((!omitBase) || xpmc.isOwnObject(state))) {
             String _genActionCodeMethods = this.genActionCodeMethods(xpmc, state, generateImplementation);
             _builder.append(_genActionCodeMethods, "");
             _builder.newLineIfNotEmpty();
@@ -326,22 +319,7 @@
       List<Transition> _allTransitionsRecursive = this._fSMHelpers.getAllTransitionsRecursive(_stateMachine);
       for(final Transition tr : _allTransitionsRecursive) {
         {
-          boolean _and = false;
-          boolean _or = false;
-          if ((!omitBase)) {
-            _or = true;
-          } else {
-            boolean _isOwnObject = xpmc.isOwnObject(tr);
-            _or = _isOwnObject;
-          }
-          if (!_or) {
-            _and = false;
-          } else {
-            DetailCode _action = tr.getAction();
-            boolean _hasDetailCode = this._fSMHelpers.hasDetailCode(_action);
-            _and = _hasDetailCode;
-          }
-          if (_and) {
+          if ((((!omitBase) || xpmc.isOwnObject(tr)) && this._fSMHelpers.hasDetailCode(tr.getAction()))) {
             String _genActionCodeMethod = this.genActionCodeMethod(xpmc, tr, generateImplementation);
             _builder.append(_genActionCodeMethod, "");
             _builder.newLineIfNotEmpty();
@@ -363,59 +341,63 @@
       String _interfaceItemType = this.interfaceItemType();
       String _pointerLiteral = this.langExt.pointerLiteral();
       final String ifItemPtr = (_interfaceItemType + _pointerLiteral);
-      boolean _or = false;
-      if (async) {
-        _or = true;
-      } else {
-        _or = eventDriven;
-      }
-      final boolean handleEvents = _or;
-      String _className = this.getClassName(mc);
-      final String opScope = this.langExt.operationScope(_className, (!generateImplementation));
+      final boolean handleEvents = (async || eventDriven);
       String _xifexpression = null;
       boolean _usesInheritance = this.langExt.usesInheritance();
       if (_usesInheritance) {
-        _xifexpression = opScope;
+        String _className = this.getClassName(mc);
+        String _scopeSeparator = this.langExt.scopeSeparator();
+        _xifexpression = (_className + _scopeSeparator);
       } else {
         _xifexpression = "";
       }
-      final String opScopePriv = _xifexpression;
+      final String chainIDScope = _xifexpression;
+      String _className_1 = this.getClassName(mc);
+      final String opScope = this.langExt.operationScope(_className_1, (!generateImplementation));
       String _xifexpression_1 = null;
       boolean _usesInheritance_1 = this.langExt.usesInheritance();
       if (_usesInheritance_1) {
-        _xifexpression_1 = this.langExt.accessLevelPublic();
+        _xifexpression_1 = opScope;
       } else {
-        _xifexpression_1 = this.langExt.accessLevelPrivate();
+        _xifexpression_1 = "";
       }
-      final String publicIf = _xifexpression_1;
-      final String privAccess = this.langExt.accessLevelPrivate();
-      String _className_1 = this.getClassName(mc);
-      final String selfPtr = this.langExt.selfPointer(_className_1, true);
-      String _className_2 = this.getClassName(mc);
-      final String selfOnly = this.langExt.selfPointer(_className_2, false);
+      final String opScopePriv = _xifexpression_1;
       String _xifexpression_2 = null;
       boolean _usesInheritance_2 = this.langExt.usesInheritance();
       if (_usesInheritance_2) {
-        String _xifexpression_3 = null;
+        _xifexpression_2 = this.langExt.accessLevelPublic();
+      } else {
+        _xifexpression_2 = this.langExt.accessLevelPrivate();
+      }
+      final String publicIf = _xifexpression_2;
+      final String privAccess = this.langExt.accessLevelPrivate();
+      String _className_2 = this.getClassName(mc);
+      final String selfPtr = this.langExt.selfPointer(_className_2, true);
+      String _className_3 = this.getClassName(mc);
+      final String selfOnly = this.langExt.selfPointer(_className_3, false);
+      String _xifexpression_3 = null;
+      boolean _usesInheritance_3 = this.langExt.usesInheritance();
+      if (_usesInheritance_3) {
+        String _xifexpression_4 = null;
         boolean _usesPointers = this.langExt.usesPointers();
         if (_usesPointers) {
-          _xifexpression_3 = "->getLocalId()";
+          _xifexpression_4 = "->getLocalId()";
         } else {
-          _xifexpression_3 = ".getLocalId()";
+          _xifexpression_4 = ".getLocalId()";
         }
-        _xifexpression_2 = _xifexpression_3;
+        _xifexpression_3 = _xifexpression_4;
       } else {
-        _xifexpression_2 = "->localId";
+        _xifexpression_3 = "->localId";
       }
-      final String getLocalId = _xifexpression_2;
-      String _xifexpression_4 = null;
+      final String getLocalId = _xifexpression_3;
+      String _xifexpression_5 = null;
       boolean _usesPointers_1 = this.langExt.usesPointers();
       if (_usesPointers_1) {
-        _xifexpression_4 = ("const " + ifItemPtr);
+        _xifexpression_5 = ("const " + ifItemPtr);
       } else {
-        _xifexpression_4 = ifItemPtr;
+        _xifexpression_5 = ifItemPtr;
       }
-      final String constIfItemPtr = _xifexpression_4;
+      final String constIfItemPtr = _xifexpression_5;
       final boolean usesHdlr = this.usesHandlerTrPoints(xpmc);
       StringConcatenation _builder = new StringConcatenation();
       _builder.append("/**");
@@ -611,6 +593,7 @@
             for(final TransitionChain tc : allchains) {
               _builder.append("\t\t");
               _builder.append("case ");
+              _builder.append(chainIDScope, "\t\t");
               String _genChainId = this._codegenHelpers.getGenChainId(tc);
               _builder.append(_genChainId, "\t\t");
               _builder.append(":");
@@ -714,6 +697,7 @@
           _builder.newLineIfNotEmpty();
           _builder.append("\t");
           final Function1<State, Boolean> _function = new Function1<State, Boolean>() {
+            @Override
             public Boolean apply(final State s) {
               return Boolean.valueOf(AbstractStateMachineGenerator.this._fSMHelpers.hasEntryCode(s, true));
             }
@@ -740,8 +724,8 @@
           _builder.append("\t\t");
           _builder.append("state__et = ");
           {
-            boolean _usesInheritance_3 = this.langExt.usesInheritance();
-            boolean _not = (!_usesInheritance_3);
+            boolean _usesInheritance_4 = this.langExt.usesInheritance();
+            boolean _not = (!_usesInheritance_4);
             if (_not) {
               _builder.append("(");
               String _stateType_8 = this.stateType();
@@ -849,6 +833,7 @@
                       _builder.append("state__et = executeTransitionChain(");
                       String _selfPointer_2 = this.langExt.selfPointer(true);
                       _builder.append(_selfPointer_2, "\t\t\t\t\t");
+                      _builder.append(chainIDScope, "\t\t\t\t\t");
                       TransitionChain _chain = xpmc.getChain(sub_initt);
                       String _genChainId_1 = this._codegenHelpers.getGenChainId(_chain);
                       _builder.append(_genChainId_1, "\t\t\t\t\t");
@@ -987,6 +972,7 @@
           _builder.newLineIfNotEmpty();
           _builder.append("\t");
           _builder.append("int chain__et = ");
+          _builder.append(chainIDScope, "\t");
           TransitionChain _chain_1 = xpmc.getChain(initt);
           String _genChainId_2 = this._codegenHelpers.getGenChainId(_chain_1);
           _builder.append(_genChainId_2, "\t");
@@ -1055,8 +1041,8 @@
           _builder.append("void ");
           _builder.append(opScope, "");
           _builder.append("receiveEventInternal(");
-          String _className_3 = this.getClassName(mc);
-          String _selfPointer_6 = this.langExt.selfPointer(_className_3, handleEvents);
+          String _className_4 = this.getClassName(mc);
+          String _selfPointer_6 = this.langExt.selfPointer(_className_4, handleEvents);
           _builder.append(_selfPointer_6, "");
           {
             if (handleEvents) {
@@ -1106,13 +1092,7 @@
             }
           }
           {
-            boolean _or_1 = false;
-            if (async) {
-              _or_1 = true;
-            } else {
-              _or_1 = eventDriven;
-            }
-            if (_or_1) {
+            if ((async || eventDriven)) {
               _builder.append("\t");
               CharSequence _markVariableUsed = this.markVariableUsed("trigger__et");
               _builder.append(_markVariableUsed, "\t");
@@ -1214,8 +1194,8 @@
           _builder.append("void ");
           _builder.append(opScope, "");
           _builder.append("receiveEventInternal(");
-          String _className_4 = this.getClassName(mc);
-          String _selfPointer_12 = this.langExt.selfPointer(_className_4, handleEvents);
+          String _className_5 = this.getClassName(mc);
+          String _selfPointer_12 = this.langExt.selfPointer(_className_5, handleEvents);
           _builder.append(_selfPointer_12, "");
           {
             if (handleEvents) {
@@ -1238,8 +1218,8 @@
               _builder.append("void ");
               _builder.append(opScope, "");
               _builder.append("receiveEvent(");
-              String _className_5 = this.getClassName(mc);
-              String _selfPointer_13 = this.langExt.selfPointer(_className_5, true);
+              String _className_6 = this.getClassName(mc);
+              String _selfPointer_13 = this.langExt.selfPointer(_className_6, true);
               _builder.append(_selfPointer_13, "");
               _builder.append(ifItemPtr, "");
               _builder.append(" ifitem, int evt, ");
@@ -1473,70 +1453,79 @@
    * @return the generated code
    */
   public CharSequence genDataDrivenTriggers(final ExpandedModelComponent xpmc, final State state, final boolean usesHdlr) {
-    StringConcatenation _builder = new StringConcatenation();
-    String _genDoCodes = this.genDoCodes(state);
-    _builder.append(_genDoCodes, "");
-    _builder.newLineIfNotEmpty();
-    List<Transition> _outgoingTransitionsHierarchical = this._fSMExtensions.getOutgoingTransitionsHierarchical(xpmc, state);
-    final Function1<Transition, Boolean> _function = new Function1<Transition, Boolean>() {
-      public Boolean apply(final Transition t) {
-        return Boolean.valueOf((t instanceof GuardedTransition));
-      }
-    };
-    Iterable<Transition> transitions = IterableExtensions.<Transition>filter(_outgoingTransitionsHierarchical, _function);
-    _builder.newLineIfNotEmpty();
+    CharSequence _xblockexpression = null;
     {
-      for(final Transition tr : transitions) {
-        _builder.append("if (");
-        String _guard = this.guard(((GuardedTransition) tr), "", xpmc);
-        _builder.append(_guard, "");
-        _builder.append(")");
-        _builder.newLineIfNotEmpty();
-        _builder.append("{");
-        _builder.newLine();
-        _builder.append("    ");
-        TransitionChain chain = xpmc.getChain(tr);
-        _builder.newLineIfNotEmpty();
-        _builder.append("    ");
-        _builder.append("chain__et = ");
-        String _genChainId = this._codegenHelpers.getGenChainId(chain);
-        _builder.append(_genChainId, "    ");
-        _builder.append(";");
-        _builder.newLineIfNotEmpty();
-        _builder.append("    ");
-        _builder.append("catching_state__et = ");
-        State _stateContext = chain.getStateContext();
-        String _genStateId = this._codegenHelpers.getGenStateId(_stateContext);
-        _builder.append(_genStateId, "    ");
-        _builder.append(";");
-        _builder.newLineIfNotEmpty();
-        {
-          boolean _and = false;
-          boolean _isHandler = chain.isHandler();
-          if (!_isHandler) {
-            _and = false;
-          } else {
-            _and = usesHdlr;
-          }
-          if (_and) {
-            _builder.append("    ");
-            _builder.append("is_handler__et = TRUE;");
-            _builder.newLine();
-          }
+      String _xifexpression = null;
+      boolean _usesInheritance = this.langExt.usesInheritance();
+      if (_usesInheritance) {
+        String _className = this.getClassName(xpmc);
+        String _scopeSeparator = this.langExt.scopeSeparator();
+        _xifexpression = (_className + _scopeSeparator);
+      } else {
+        _xifexpression = "";
+      }
+      final String chainIDScope = _xifexpression;
+      StringConcatenation _builder = new StringConcatenation();
+      String _genDoCodes = this.genDoCodes(state);
+      _builder.append(_genDoCodes, "");
+      _builder.newLineIfNotEmpty();
+      List<Transition> _outgoingTransitionsHierarchical = this._fSMExtensions.getOutgoingTransitionsHierarchical(xpmc, state);
+      final Function1<Transition, Boolean> _function = new Function1<Transition, Boolean>() {
+        @Override
+        public Boolean apply(final Transition t) {
+          return Boolean.valueOf((t instanceof GuardedTransition));
         }
-        _builder.append("}");
-        _builder.newLine();
-        {
-          Transition _last = IterableExtensions.<Transition>last(transitions);
-          boolean _notEquals = (!Objects.equal(tr, _last));
-          if (_notEquals) {
-            _builder.append("else");
-            _builder.newLine();
+      };
+      Iterable<Transition> transitions = IterableExtensions.<Transition>filter(_outgoingTransitionsHierarchical, _function);
+      _builder.newLineIfNotEmpty();
+      {
+        for(final Transition tr : transitions) {
+          _builder.append("if (");
+          String _guard = this.guard(((GuardedTransition) tr), "", xpmc);
+          _builder.append(_guard, "");
+          _builder.append(")");
+          _builder.newLineIfNotEmpty();
+          _builder.append("{");
+          _builder.newLine();
+          _builder.append("    ");
+          TransitionChain chain = xpmc.getChain(tr);
+          _builder.newLineIfNotEmpty();
+          _builder.append("    ");
+          _builder.append("chain__et = ");
+          _builder.append(chainIDScope, "    ");
+          String _genChainId = this._codegenHelpers.getGenChainId(chain);
+          _builder.append(_genChainId, "    ");
+          _builder.append(";");
+          _builder.newLineIfNotEmpty();
+          _builder.append("    ");
+          _builder.append("catching_state__et = ");
+          State _stateContext = chain.getStateContext();
+          String _genStateId = this._codegenHelpers.getGenStateId(_stateContext);
+          _builder.append(_genStateId, "    ");
+          _builder.append(";");
+          _builder.newLineIfNotEmpty();
+          {
+            if ((chain.isHandler() && usesHdlr)) {
+              _builder.append("    ");
+              _builder.append("is_handler__et = TRUE;");
+              _builder.newLine();
+            }
+          }
+          _builder.append("}");
+          _builder.newLine();
+          {
+            Transition _last = IterableExtensions.<Transition>last(transitions);
+            boolean _notEquals = (!Objects.equal(tr, _last));
+            if (_notEquals) {
+              _builder.append("else");
+              _builder.newLine();
+            }
           }
         }
       }
+      _xblockexpression = _builder;
     }
-    return _builder;
+    return _xblockexpression;
   }
   
   /**
@@ -1550,106 +1539,114 @@
    * @return the generated code
    */
   public CharSequence genEventDrivenTriggers(final ExpandedModelComponent xpmc, final State state, final List<ActiveTrigger> atlist, final boolean usesHdlr) {
-    StringConcatenation _builder = new StringConcatenation();
+    CharSequence _xblockexpression = null;
     {
-      for(final ActiveTrigger at : atlist) {
-        _builder.append("case ");
-        String _triggerCodeName = xpmc.getTriggerCodeName(at);
-        _builder.append(_triggerCodeName, "");
-        _builder.append(":");
-        _builder.newLineIfNotEmpty();
-        _builder.append("    ");
-        boolean needData = this._fsmGenUtil.hasGuard(at);
-        _builder.newLineIfNotEmpty();
-        _builder.append("    ");
-        {
-          if (needData) {
-            _builder.append("{ ");
-            EObject _msg = at.getMsg();
-            String _typedDataDefinition = this.langExt.getTypedDataDefinition(_msg);
-            _builder.append(_typedDataDefinition, "    ");
-          }
-        }
-        _builder.newLineIfNotEmpty();
-        {
-          EList<TriggeredTransition> _transitions = at.getTransitions();
-          boolean _hasElements = false;
-          for(final TriggeredTransition tt : _transitions) {
-            if (!_hasElements) {
-              _hasElements = true;
-            } else {
-              _builder.appendImmediate(" else ", "    ");
-            }
-            _builder.append("    ");
-            TransitionChain chain = xpmc.getChain(tt);
-            _builder.newLineIfNotEmpty();
-            _builder.append("    ");
-            Transition _transition = chain.getTransition();
-            String _trigger = at.getTrigger();
-            String _guard = this.guard(((TriggeredTransition) _transition), _trigger, xpmc);
-            _builder.append(_guard, "    ");
-            _builder.newLineIfNotEmpty();
-            _builder.append("    ");
-            _builder.append("{");
-            _builder.newLine();
-            _builder.append("    ");
-            _builder.append("    ");
-            _builder.append("chain__et = ");
-            String _genChainId = this._codegenHelpers.getGenChainId(chain);
-            _builder.append(_genChainId, "        ");
-            _builder.append(";");
-            _builder.newLineIfNotEmpty();
-            _builder.append("    ");
-            _builder.append("    ");
-            _builder.append("catching_state__et = ");
-            State _stateContext = chain.getStateContext();
-            String _genStateId = this._codegenHelpers.getGenStateId(_stateContext);
-            _builder.append(_genStateId, "        ");
-            _builder.append(";");
-            _builder.newLineIfNotEmpty();
-            {
-              boolean _and = false;
-              boolean _isHandler = chain.isHandler();
-              if (!_isHandler) {
-                _and = false;
-              } else {
-                _and = usesHdlr;
-              }
-              if (_and) {
-                _builder.append("    ");
-                _builder.append("    ");
-                _builder.append("is_handler__et = ");
-                String _booleanConstant = this.langExt.booleanConstant(true);
-                _builder.append(_booleanConstant, "        ");
-                _builder.append(";");
-                _builder.newLineIfNotEmpty();
-              }
-            }
-            _builder.append("    ");
-            _builder.append("}");
-            _builder.newLine();
-          }
-        }
-        _builder.append("    ");
-        {
-          if (needData) {
-            _builder.append("}");
-          }
-        }
-        _builder.newLineIfNotEmpty();
-        _builder.append("break;");
-        _builder.newLine();
+      String _xifexpression = null;
+      boolean _usesInheritance = this.langExt.usesInheritance();
+      if (_usesInheritance) {
+        String _className = this.getClassName(xpmc);
+        String _scopeSeparator = this.langExt.scopeSeparator();
+        _xifexpression = (_className + _scopeSeparator);
+      } else {
+        _xifexpression = "";
       }
+      final String chainIDScope = _xifexpression;
+      StringConcatenation _builder = new StringConcatenation();
+      {
+        for(final ActiveTrigger at : atlist) {
+          _builder.append("case ");
+          String _triggerCodeName = xpmc.getTriggerCodeName(at);
+          _builder.append(_triggerCodeName, "");
+          _builder.append(":");
+          _builder.newLineIfNotEmpty();
+          _builder.append("    ");
+          boolean needData = this._fsmGenUtil.hasGuard(at);
+          _builder.newLineIfNotEmpty();
+          _builder.append("    ");
+          {
+            if (needData) {
+              _builder.append("{ ");
+              EObject _msg = at.getMsg();
+              String _typedDataDefinition = this.langExt.getTypedDataDefinition(_msg);
+              _builder.append(_typedDataDefinition, "    ");
+            }
+          }
+          _builder.newLineIfNotEmpty();
+          {
+            EList<TriggeredTransition> _transitions = at.getTransitions();
+            boolean _hasElements = false;
+            for(final TriggeredTransition tt : _transitions) {
+              if (!_hasElements) {
+                _hasElements = true;
+              } else {
+                _builder.appendImmediate(" else ", "    ");
+              }
+              _builder.append("    ");
+              TransitionChain chain = xpmc.getChain(tt);
+              _builder.newLineIfNotEmpty();
+              _builder.append("    ");
+              Transition _transition = chain.getTransition();
+              String _trigger = at.getTrigger();
+              String _guard = this.guard(((TriggeredTransition) _transition), _trigger, xpmc);
+              _builder.append(_guard, "    ");
+              _builder.newLineIfNotEmpty();
+              _builder.append("    ");
+              _builder.append("{");
+              _builder.newLine();
+              _builder.append("    ");
+              _builder.append("    ");
+              _builder.append("chain__et = ");
+              _builder.append(chainIDScope, "        ");
+              String _genChainId = this._codegenHelpers.getGenChainId(chain);
+              _builder.append(_genChainId, "        ");
+              _builder.append(";");
+              _builder.newLineIfNotEmpty();
+              _builder.append("    ");
+              _builder.append("    ");
+              _builder.append("catching_state__et = ");
+              State _stateContext = chain.getStateContext();
+              String _genStateId = this._codegenHelpers.getGenStateId(_stateContext);
+              _builder.append(_genStateId, "        ");
+              _builder.append(";");
+              _builder.newLineIfNotEmpty();
+              {
+                if ((chain.isHandler() && usesHdlr)) {
+                  _builder.append("    ");
+                  _builder.append("    ");
+                  _builder.append("is_handler__et = ");
+                  String _booleanConstant = this.langExt.booleanConstant(true);
+                  _builder.append(_booleanConstant, "        ");
+                  _builder.append(";");
+                  _builder.newLineIfNotEmpty();
+                }
+              }
+              _builder.append("    ");
+              _builder.append("}");
+              _builder.newLine();
+            }
+          }
+          _builder.append("    ");
+          {
+            if (needData) {
+              _builder.append("}");
+            }
+          }
+          _builder.newLineIfNotEmpty();
+          _builder.append("break;");
+          _builder.newLine();
+        }
+      }
+      _builder.append("default:");
+      _builder.newLine();
+      _builder.append("    ");
+      _builder.append("/* should not occur */");
+      _builder.newLine();
+      _builder.append("    ");
+      _builder.append("break;");
+      _builder.newLine();
+      _xblockexpression = _builder;
     }
-    _builder.append("default:");
-    _builder.newLine();
-    _builder.append("    ");
-    _builder.append("/* should not occur */");
-    _builder.newLine();
-    _builder.append("    ");
-    _builder.append("break;");
-    _builder.newLine();
-    return _builder;
+    return _xblockexpression;
   }
   
   public String getClassName(final ExpandedModelComponent xpmc) {
@@ -1755,15 +1752,9 @@
       StateGraph _stateMachine_1 = xpmc.getStateMachine();
       List<TrPoint> _allTrPointsRecursive = this._fSMHelpers.getAllTrPointsRecursive(_stateMachine_1);
       final Function1<TrPoint, Boolean> _function = new Function1<TrPoint, Boolean>() {
+        @Override
         public Boolean apply(final TrPoint t) {
-          boolean _and = false;
-          if (!(t instanceof TransitionPoint)) {
-            _and = false;
-          } else {
-            boolean _isHandler = ((TransitionPoint) t).isHandler();
-            _and = _isHandler;
-          }
-          return Boolean.valueOf(_and);
+          return Boolean.valueOf(((t instanceof TransitionPoint) && ((TransitionPoint) t).isHandler()));
         }
       };
       Iterable<TrPoint> _filter = IterableExtensions.<TrPoint>filter(_allTrPointsRecursive, _function);
diff --git a/plugins/org.eclipse.etrice.generator.fsm/xtend-gen/org/eclipse/etrice/generator/fsm/generic/FSMExtensions.java b/plugins/org.eclipse.etrice.generator.fsm/xtend-gen/org/eclipse/etrice/generator/fsm/generic/FSMExtensions.java
index 703743c..c4c8c24 100644
--- a/plugins/org.eclipse.etrice.generator.fsm/xtend-gen/org/eclipse/etrice/generator/fsm/generic/FSMExtensions.java
+++ b/plugins/org.eclipse.etrice.generator.fsm/xtend-gen/org/eclipse/etrice/generator/fsm/generic/FSMExtensions.java
@@ -115,12 +115,14 @@
     List<State> _xblockexpression = null;
     {
       final Function1<State, Boolean> _function = new Function1<State, Boolean>() {
+        @Override
         public Boolean apply(final State s) {
           return Boolean.valueOf(FSMExtensions.this._fSMHelpers.isLeaf(s));
         }
       };
       final Iterable<State> leaf = IterableExtensions.<State>filter(states, _function);
       final Function1<State, Boolean> _function_1 = new Function1<State, Boolean>() {
+        @Override
         public Boolean apply(final State s) {
           boolean _isLeaf = FSMExtensions.this._fSMHelpers.isLeaf(s);
           return Boolean.valueOf((!_isLeaf));
@@ -196,11 +198,9 @@
       final EObject parent = dc.eContainer();
       boolean _switchResult = false;
       boolean _matched = false;
-      if (!_matched) {
-        if (parent instanceof Guard) {
-          _matched=true;
-          _switchResult = true;
-        }
+      if (parent instanceof Guard) {
+        _matched=true;
+        _switchResult = true;
       }
       if (!_matched) {
         if (parent instanceof CPBranchTransition) {
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.fsmtest.ui/META-INF/MANIFEST.MF
index c099b2e..39ae988 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.etrice.generator.fsmtest.ui
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.generator.fsmtest.ui; singleton:=true
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.etrice.generator.fsmtest;visibility:=reexport,
diff --git "a/plugins/org.eclipse.etrice.generator.fsmtest/.launch/Generate Language Infrastructure \050org.eclipse.etrice.generator.fsmtest\051.launch" "b/plugins/org.eclipse.etrice.generator.fsmtest/.launch/Generate Language Infrastructure \050org.eclipse.etrice.generator.fsmtest\051.launch"
index fcb2af5..228b818 100644
--- "a/plugins/org.eclipse.etrice.generator.fsmtest/.launch/Generate Language Infrastructure \050org.eclipse.etrice.generator.fsmtest\051.launch"
+++ "b/plugins/org.eclipse.etrice.generator.fsmtest/.launch/Generate Language Infrastructure \050org.eclipse.etrice.generator.fsmtest\051.launch"
@@ -17,6 +17,7 @@
 <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
 </listAttribute>
 <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/etrice/generator/GenerateFSMtest.mwe2"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.generator.fsmtest"/>
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.fsmtest/META-INF/MANIFEST.MF
index 484b830..856d732 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.etrice.generator.fsmtest
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.generator.fsmtest; singleton:=true
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.xtext;bundle-version="2.6.0";visibility:=reexport,
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java b/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java
index f829751..b0a1699 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java
@@ -9,6 +9,7 @@
 
 @SuppressWarnings("all")
 public class FSMtestGenerator implements IGenerator {
+  @Override
   public void doGenerate(final Resource resource, final IFileSystemAccess fsa) {
   }
 }
diff --git a/plugins/org.eclipse.etrice.generator.gnuplot/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.gnuplot/META-INF/MANIFEST.MF
index 4e8aaa9..84a21ab 100644
--- a/plugins/org.eclipse.etrice.generator.gnuplot/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.gnuplot/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Gnuplot generator
 Bundle-SymbolicName: org.eclipse.etrice.generator.gnuplot
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Export-Package: org.eclipse.etrice.generator.gnuplot
 Require-Bundle: org.eclipse.xtext;bundle-version="2.6.0",
  org.eclipse.xtend.lib;bundle-version="2.6.0",
- org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.core.genmodel;bundle-version="1.0.1",
- org.eclipse.etrice.core.etphys;bundle-version="1.0.1",
- org.eclipse.etrice.generator.config;bundle-version="1.0.1",
- org.eclipse.etrice.generator.java;bundle-version="1.0.1",
- org.eclipse.etrice.core.config;bundle-version="1.0.1",
- org.eclipse.etrice.core.etmap;bundle-version="1.0.1",
+ org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.core.genmodel;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etphys;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.config;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.java;bundle-version="1.1.0",
+ org.eclipse.etrice.core.config;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etmap;bundle-version="1.1.0",
  org.eclipse.core.runtime;bundle-version="3.10.0",
- org.eclipse.etrice.generator.doc;bundle-version="1.0.1",
- org.eclipse.etrice.abstractexec.behavior;bundle-version="1.0.1"
+ org.eclipse.etrice.generator.doc;bundle-version="1.1.0",
+ org.eclipse.etrice.abstractexec.behavior;bundle-version="1.1.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.etrice.generator.gnuplot/xtend-gen/org/eclipse/etrice/generator/gnuplot/GnuplotScriptGenerator.java b/plugins/org.eclipse.etrice.generator.gnuplot/xtend-gen/org/eclipse/etrice/generator/gnuplot/GnuplotScriptGenerator.java
index dcc7b55..62b144c 100644
--- a/plugins/org.eclipse.etrice.generator.gnuplot/xtend-gen/org/eclipse/etrice/generator/gnuplot/GnuplotScriptGenerator.java
+++ b/plugins/org.eclipse.etrice.generator.gnuplot/xtend-gen/org/eclipse/etrice/generator/gnuplot/GnuplotScriptGenerator.java
@@ -55,6 +55,7 @@
     SubSystemClass _subSystemClass = ssi.getSubSystemClass();
     EList<Annotation> _annotations = _subSystemClass.getAnnotations();
     final Function1<Annotation, Boolean> _function = new Function1<Annotation, Boolean>() {
+      @Override
       public Boolean apply(final Annotation a) {
         AnnotationType _type = a.getType();
         String _name = _type.getName();
@@ -111,6 +112,7 @@
   protected KeyValue getAttribute(final Annotation anno, final String name) {
     EList<KeyValue> _attributes = anno.getAttributes();
     final Function1<KeyValue, Boolean> _function = new Function1<KeyValue, Boolean>() {
+      @Override
       public Boolean apply(final KeyValue attr) {
         String _key = attr.getKey();
         return Boolean.valueOf(Objects.equal(_key, name));
@@ -170,6 +172,7 @@
       SubSystemClass _subSystemClass = ssi.getSubSystemClass();
       EList<Annotation> _annotations = _subSystemClass.getAnnotations();
       final Function1<Annotation, Boolean> _function = new Function1<Annotation, Boolean>() {
+        @Override
         public Boolean apply(final Annotation a) {
           AnnotationType _type = a.getType();
           String _name = _type.getName();
@@ -233,6 +236,7 @@
       SubSystemClass _subSystemClass_1 = ssi.getSubSystemClass();
       EList<Annotation> _annotations_1 = _subSystemClass_1.getAnnotations();
       final Function1<Annotation, Boolean> _function_1 = new Function1<Annotation, Boolean>() {
+        @Override
         public Boolean apply(final Annotation a) {
           AnnotationType _type = a.getType();
           String _name = _type.getName();
diff --git a/plugins/org.eclipse.etrice.generator.java.mvn/pom.xml b/plugins/org.eclipse.etrice.generator.java.mvn/pom.xml
index 7ec3bd6..57a80ac 100644
--- a/plugins/org.eclipse.etrice.generator.java.mvn/pom.xml
+++ b/plugins/org.eclipse.etrice.generator.java.mvn/pom.xml
@@ -8,7 +8,7 @@
 	<parent>
 		<groupId>org.eclipse.etrice</groupId>
 		<artifactId>java-generator</artifactId>
-		<version>1.0.1-SNAPSHOT</version>
+		<version>1.1.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
 	</parent>
 
@@ -40,7 +40,7 @@
 				<plugin>
 					<groupId>org.eclipse.m2e</groupId>
 					<artifactId>lifecycle-mapping</artifactId>
-					<version>1.0.1</version>
+					<version>1.0.0</version>
 					<configuration>
 						<lifecycleMappingMetadata>
 							<pluginExecutions>
@@ -188,67 +188,67 @@
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.generator.java</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.generator.config</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.generator.doc</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.generator.fsm</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.generator</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.core.common</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.core.fsm</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.core.room</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.core.etphys</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.core.etmap</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.core.config</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.core.genmodel.fsm</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.core.genmodel</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 
 		<!-- IMPORTANT: runtime-assembler-cli uses another version of com.google.guava 
diff --git a/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF
index 516a0aa..b5d147a 100644
--- a/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.java/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Java Generator
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.generator.java;singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.genmodel;bundle-version="1.0.1",
- org.eclipse.etrice.core.etphys;bundle-version="1.0.1",
- org.eclipse.etrice.core.etmap;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator.config;bundle-version="1.0.1",
- org.eclipse.etrice.generator.doc;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.genmodel;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etphys;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etmap;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.config;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.doc;bundle-version="1.1.0",
  org.eclipse.core.resources;bundle-version="3.6.0",
  org.eclipse.core.runtime;bundle-version="3.6.0",
  org.eclipse.ui;bundle-version="3.7.0",
diff --git a/plugins/org.eclipse.etrice.generator.java/pom.xml b/plugins/org.eclipse.etrice.generator.java/pom.xml
index 4e2af7d..d87451a 100644
--- a/plugins/org.eclipse.etrice.generator.java/pom.xml
+++ b/plugins/org.eclipse.etrice.generator.java/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend
index 9db9703..440c3e8 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend
@@ -103,6 +103,7 @@
 
 	override String operationScope(String classname, boolean isDeclaration) {""}
 
+	override String scopeSeparator() {"."}
 
 	override String memberInDeclaration(String namespace, String member) {
 		return member
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassDataGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassDataGen.java
index a00107e..9530792 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassDataGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassDataGen.java
@@ -60,12 +60,14 @@
     final HashMap<ActorClass, WiredActorClass> ac2wired = new HashMap<ActorClass, WiredActorClass>();
     EList<WiredStructureClass> _wiredInstances = root.getWiredInstances();
     final Function1<WiredStructureClass, Boolean> _function = new Function1<WiredStructureClass, Boolean>() {
+      @Override
       public Boolean apply(final WiredStructureClass w) {
         return Boolean.valueOf((w instanceof WiredActorClass));
       }
     };
     Iterable<WiredStructureClass> _filter = IterableExtensions.<WiredStructureClass>filter(_wiredInstances, _function);
     final Procedure1<WiredStructureClass> _function_1 = new Procedure1<WiredStructureClass>() {
+      @Override
       public void apply(final WiredStructureClass w) {
         ActorClass _actorClass = ((WiredActorClass) w).getActorClass();
         ac2wired.put(_actorClass, ((WiredActorClass) w));
@@ -74,6 +76,7 @@
     IterableExtensions.<WiredStructureClass>forEach(_filter, _function_1);
     EList<ExpandedActorClass> _xpActorClasses = root.getXpActorClasses();
     final Function1<ExpandedActorClass, Boolean> _function_2 = new Function1<ExpandedActorClass, Boolean>() {
+      @Override
       public Boolean apply(final ExpandedActorClass cl) {
         ActorClass _actorClass = cl.getActorClass();
         return Boolean.valueOf(ActorClassDataGen.this._fileSystemHelpers.isValidGenerationLocation(_actorClass));
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java
index 12e802c..b225975 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java
@@ -32,7 +32,6 @@
 import org.eclipse.etrice.core.room.InterfaceItem;
 import org.eclipse.etrice.core.room.Message;
 import org.eclipse.etrice.core.room.Port;
-import org.eclipse.etrice.core.room.PrimitiveType;
 import org.eclipse.etrice.core.room.ProtocolClass;
 import org.eclipse.etrice.core.room.RefableType;
 import org.eclipse.etrice.core.room.ReferenceType;
@@ -110,12 +109,14 @@
     final HashMap<ActorClass, WiredActorClass> ac2wired = new HashMap<ActorClass, WiredActorClass>();
     EList<WiredStructureClass> _wiredInstances = root.getWiredInstances();
     final Function1<WiredStructureClass, Boolean> _function = new Function1<WiredStructureClass, Boolean>() {
+      @Override
       public Boolean apply(final WiredStructureClass w) {
         return Boolean.valueOf((w instanceof WiredActorClass));
       }
     };
     Iterable<WiredStructureClass> _filter = IterableExtensions.<WiredStructureClass>filter(_wiredInstances, _function);
     final Procedure1<WiredStructureClass> _function_1 = new Procedure1<WiredStructureClass>() {
+      @Override
       public void apply(final WiredStructureClass w) {
         ActorClass _actorClass = ((WiredActorClass) w).getActorClass();
         ac2wired.put(_actorClass, ((WiredActorClass) w));
@@ -124,6 +125,7 @@
     IterableExtensions.<WiredStructureClass>forEach(_filter, _function_1);
     EList<ExpandedActorClass> _xpActorClasses = root.getXpActorClasses();
     final Function1<ExpandedActorClass, Boolean> _function_2 = new Function1<ExpandedActorClass, Boolean>() {
+      @Override
       public Boolean apply(final ExpandedActorClass cl) {
         ActorClass _actorClass = cl.getActorClass();
         return Boolean.valueOf(ActorClassGen.this._fileSystemHelpers.isValidGenerationLocation(_actorClass));
@@ -281,6 +283,7 @@
       {
         EList<ActorRef> _actorRefs = ac.getActorRefs();
         final Function1<ActorRef, Boolean> _function = new Function1<ActorRef, Boolean>() {
+          @Override
           public Boolean apply(final ActorRef r) {
             ReferenceType _refType = r.getRefType();
             return Boolean.valueOf(Objects.equal(_refType, ReferenceType.OPTIONAL));
@@ -308,14 +311,7 @@
       _builder.newLine();
       _builder.append("public ");
       {
-        boolean _or = false;
-        if (manualBehavior) {
-          _or = true;
-        } else {
-          boolean _isAbstract = ac.isAbstract();
-          _or = _isAbstract;
-        }
-        if (_or) {
+        if ((manualBehavior || ac.isAbstract())) {
           _builder.append("abstract ");
         }
       }
@@ -394,6 +390,7 @@
       {
         EList<ActorRef> _actorRefs_1 = ac.getActorRefs();
         final Function1<ActorRef, Boolean> _function_1 = new Function1<ActorRef, Boolean>() {
+          @Override
           public Boolean apply(final ActorRef r) {
             ReferenceType _refType = r.getRefType();
             return Boolean.valueOf(Objects.equal(_refType, ReferenceType.OPTIONAL));
@@ -680,17 +677,7 @@
       }
       _builder.newLine();
       {
-        boolean _or_1 = false;
-        ComponentCommunicationType _commType = ac.getCommType();
-        boolean _equals_1 = Objects.equal(_commType, ComponentCommunicationType.ASYNCHRONOUS);
-        if (_equals_1) {
-          _or_1 = true;
-        } else {
-          ComponentCommunicationType _commType_1 = ac.getCommType();
-          boolean _equals_2 = Objects.equal(_commType_1, ComponentCommunicationType.DATA_DRIVEN);
-          _or_1 = _equals_2;
-        }
-        if (_or_1) {
+        if ((Objects.equal(ac.getCommType(), ComponentCommunicationType.ASYNCHRONOUS) || Objects.equal(ac.getCommType(), ComponentCommunicationType.DATA_DRIVEN))) {
           _builder.append("\t\t");
           _builder.append("// activate polling for data-driven communication");
           _builder.newLine();
@@ -706,22 +693,10 @@
       _builder.newLineIfNotEmpty();
       _builder.newLine();
       {
-        boolean _or_2 = false;
-        List<Attribute> _dynConfigReadAttributes_2 = this.dataConfigExt.getDynConfigReadAttributes(ac);
-        boolean _isEmpty_2 = _dynConfigReadAttributes_2.isEmpty();
-        boolean _not_2 = (!_isEmpty_2);
-        if (_not_2) {
-          _or_2 = true;
-        } else {
-          List<Attribute> _dynConfigWriteAttributes = this.dataConfigExt.getDynConfigWriteAttributes(ac);
-          boolean _isEmpty_3 = _dynConfigWriteAttributes.isEmpty();
-          boolean _not_3 = (!_isEmpty_3);
-          _or_2 = _not_3;
-        }
-        if (_or_2) {
+        if (((!this.dataConfigExt.getDynConfigReadAttributes(ac).isEmpty()) || (!this.dataConfigExt.getDynConfigWriteAttributes(ac).isEmpty()))) {
           {
-            List<Attribute> _dynConfigReadAttributes_3 = this.dataConfigExt.getDynConfigReadAttributes(ac);
-            for(final Attribute a_1 : _dynConfigReadAttributes_3) {
+            List<Attribute> _dynConfigReadAttributes_2 = this.dataConfigExt.getDynConfigReadAttributes(ac);
+            for(final Attribute a_1 : _dynConfigReadAttributes_2) {
               _builder.append("\t\t");
               _builder.append("lock_");
               String _name_28 = a_1.getName();
@@ -738,8 +713,8 @@
       _builder.newLine();
       _builder.append("\t");
       EList<Attribute> _attributes_3 = ac.getAttributes();
-      List<Attribute> _dynConfigReadAttributes_4 = this.dataConfigExt.getDynConfigReadAttributes(ac);
-      List<Attribute> _minus = this._roomExtensions.<Attribute>minus(_attributes_3, _dynConfigReadAttributes_4);
+      List<Attribute> _dynConfigReadAttributes_3 = this.dataConfigExt.getDynConfigReadAttributes(ac);
+      List<Attribute> _minus = this._roomExtensions.<Attribute>minus(_attributes_3, _dynConfigReadAttributes_3);
       String _name_29 = ac.getName();
       CharSequence _attributeSettersGettersImplementation = this._procedureHelpers.attributeSettersGettersImplementation(_minus, _name_29);
       _builder.append(_attributeSettersGettersImplementation, "\t");
@@ -796,8 +771,8 @@
       _builder.newLine();
       {
         boolean _overridesStop = this._roomExtensions.overridesStop(ac);
-        boolean _not_4 = (!_overridesStop);
-        if (_not_4) {
+        boolean _not_2 = (!_overridesStop);
+        if (_not_2) {
           {
             if (manualBehavior) {
               _builder.append("\t");
@@ -848,17 +823,7 @@
             }
           }
           {
-            boolean _or_3 = false;
-            ComponentCommunicationType _commType_2 = ac.getCommType();
-            boolean _equals_3 = Objects.equal(_commType_2, ComponentCommunicationType.ASYNCHRONOUS);
-            if (_equals_3) {
-              _or_3 = true;
-            } else {
-              ComponentCommunicationType _commType_3 = ac.getCommType();
-              boolean _equals_4 = Objects.equal(_commType_3, ComponentCommunicationType.DATA_DRIVEN);
-              _or_3 = _equals_4;
-            }
-            if (_or_3) {
+            if ((Objects.equal(ac.getCommType(), ComponentCommunicationType.ASYNCHRONOUS) || Objects.equal(ac.getCommType(), ComponentCommunicationType.DATA_DRIVEN))) {
               _builder.append("\t");
               _builder.append("\t");
               _builder.append("RTServices.getInstance().getMsgSvcCtrl().getMsgSvc(getThread()).removePollingMessageReceiver(this);");
@@ -1038,9 +1003,9 @@
               _builder.append(_genStateMachine, "\t");
               _builder.newLineIfNotEmpty();
               {
-                ComponentCommunicationType _commType_4 = ac.getCommType();
-                boolean _equals_5 = Objects.equal(_commType_4, ComponentCommunicationType.DATA_DRIVEN);
-                if (_equals_5) {
+                ComponentCommunicationType _commType = ac.getCommType();
+                boolean _equals_1 = Objects.equal(_commType, ComponentCommunicationType.DATA_DRIVEN);
+                if (_equals_1) {
                   _builder.append("\t");
                   _builder.append("public void receiveEvent(InterfaceItemBase ifitem, int evt, Object generic_data) {");
                   _builder.newLine();
@@ -1054,17 +1019,7 @@
                 }
               }
               {
-                boolean _or_4 = false;
-                ComponentCommunicationType _commType_5 = ac.getCommType();
-                boolean _equals_6 = Objects.equal(_commType_5, ComponentCommunicationType.ASYNCHRONOUS);
-                if (_equals_6) {
-                  _or_4 = true;
-                } else {
-                  ComponentCommunicationType _commType_6 = ac.getCommType();
-                  boolean _equals_7 = Objects.equal(_commType_6, ComponentCommunicationType.DATA_DRIVEN);
-                  _or_4 = _equals_7;
-                }
-                if (_or_4) {
+                if ((Objects.equal(ac.getCommType(), ComponentCommunicationType.ASYNCHRONOUS) || Objects.equal(ac.getCommType(), ComponentCommunicationType.DATA_DRIVEN))) {
                   _builder.append("\t");
                   _builder.append("@Override");
                   _builder.newLine();
@@ -1072,9 +1027,9 @@
                   _builder.append("public void receive(Message msg) {");
                   _builder.newLine();
                   {
-                    ComponentCommunicationType _commType_7 = ac.getCommType();
-                    boolean _equals_8 = Objects.equal(_commType_7, ComponentCommunicationType.ASYNCHRONOUS);
-                    if (_equals_8) {
+                    ComponentCommunicationType _commType_1 = ac.getCommType();
+                    boolean _equals_2 = Objects.equal(_commType_1, ComponentCommunicationType.ASYNCHRONOUS);
+                    if (_equals_2) {
                       _builder.append("\t");
                       _builder.append("\t");
                       _builder.append("receiveEvent(null, -1, null);");
@@ -1093,8 +1048,8 @@
               }
             } else {
               StateGraph _stateMachine = xpac.getStateMachine();
-              boolean _isEmpty_4 = this._roomHelpers.isEmpty(_stateMachine);
-              if (_isEmpty_4) {
+              boolean _isEmpty_2 = this._roomHelpers.isEmpty(_stateMachine);
+              if (_isEmpty_2) {
                 _builder.append("\t");
                 _builder.append("//--------------------- no state machine");
                 _builder.newLine();
@@ -1265,9 +1220,9 @@
           }
           {
             EList<Attribute> _attributes_4 = ac.getAttributes();
-            boolean _isEmpty_5 = _attributes_4.isEmpty();
-            boolean _not_5 = (!_isEmpty_5);
-            if (_not_5) {
+            boolean _isEmpty_3 = _attributes_4.isEmpty();
+            boolean _not_3 = (!_isEmpty_3);
+            if (_not_3) {
               _builder.newLine();
               {
                 EList<Attribute> _attributes_5 = ac.getAttributes();
@@ -1423,9 +1378,9 @@
           }
           {
             EList<Attribute> _attributes_6 = ac.getAttributes();
-            boolean _isEmpty_6 = _attributes_6.isEmpty();
-            boolean _not_6 = (!_isEmpty_6);
-            if (_not_6) {
+            boolean _isEmpty_4 = _attributes_6.isEmpty();
+            boolean _not_4 = (!_isEmpty_4);
+            if (_not_4) {
               _builder.newLine();
               {
                 EList<Attribute> _attributes_7 = ac.getAttributes();
@@ -1699,24 +1654,12 @@
     String _xblockexpression = null;
     {
       String _xifexpression = null;
-      boolean _and = false;
-      RefableType _type = att.getType();
-      DataType _type_1 = _type.getType();
-      if (!(_type_1 instanceof EnumerationType)) {
-        _and = false;
-      } else {
-        RefableType _type_2 = att.getType();
-        DataType _type_3 = _type_2.getType();
-        PrimitiveType _primitiveType = ((EnumerationType) _type_3).getPrimitiveType();
-        boolean _equals = Objects.equal(_primitiveType, null);
-        _and = _equals;
-      }
-      if (_and) {
+      if (((att.getType().getType() instanceof EnumerationType) && Objects.equal(((EnumerationType) att.getType().getType()).getPrimitiveType(), null))) {
         _xifexpression = "int";
       } else {
-        RefableType _type_4 = att.getType();
-        DataType _type_5 = _type_4.getType();
-        _xifexpression = this._typeHelpers.typeName(_type_5);
+        RefableType _type = att.getType();
+        DataType _type_1 = _type.getType();
+        _xifexpression = this._typeHelpers.typeName(_type_1);
       }
       final String type = _xifexpression;
       final String method = this.getSaveMethod(type);
@@ -1742,11 +1685,9 @@
   private String getSaveMethod(final String type) {
     String _switchResult = null;
     boolean _matched = false;
-    if (!_matched) {
-      if (Objects.equal(type, "boolean")) {
-        _matched=true;
-        _switchResult = "writeBoolean";
-      }
+    if (Objects.equal(type, "boolean")) {
+      _matched=true;
+      _switchResult = "writeBoolean";
     }
     if (!_matched) {
       if (Objects.equal(type, "char")) {
@@ -1803,24 +1744,12 @@
     String _xblockexpression = null;
     {
       String _xifexpression = null;
-      boolean _and = false;
-      RefableType _type = att.getType();
-      DataType _type_1 = _type.getType();
-      if (!(_type_1 instanceof EnumerationType)) {
-        _and = false;
-      } else {
-        RefableType _type_2 = att.getType();
-        DataType _type_3 = _type_2.getType();
-        PrimitiveType _primitiveType = ((EnumerationType) _type_3).getPrimitiveType();
-        boolean _equals = Objects.equal(_primitiveType, null);
-        _and = _equals;
-      }
-      if (_and) {
+      if (((att.getType().getType() instanceof EnumerationType) && Objects.equal(((EnumerationType) att.getType().getType()).getPrimitiveType(), null))) {
         _xifexpression = "int";
       } else {
-        RefableType _type_4 = att.getType();
-        DataType _type_5 = _type_4.getType();
-        _xifexpression = this._typeHelpers.typeName(_type_5);
+        RefableType _type = att.getType();
+        DataType _type_1 = _type.getType();
+        _xifexpression = this._typeHelpers.typeName(_type_1);
       }
       final String type = _xifexpression;
       final String method = this.getLoadMethod(type);
@@ -1850,11 +1779,9 @@
   private String getLoadMethod(final String type) {
     String _switchResult = null;
     boolean _matched = false;
-    if (!_matched) {
-      if (Objects.equal(type, "boolean")) {
-        _matched=true;
-        _switchResult = "readBoolean";
-      }
+    if (Objects.equal(type, "boolean")) {
+      _matched=true;
+      _switchResult = "readBoolean";
     }
     if (!_matched) {
       if (Objects.equal(type, "char")) {
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java
index 324771c..882669f 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ConfigGenAddon.java
@@ -121,22 +121,20 @@
       DataType aType = _type.getType();
       CharSequence _switchResult = null;
       boolean _matched = false;
-      if (!_matched) {
-        if (aType instanceof PrimitiveType) {
-          _matched=true;
-          CharSequence _xblockexpression_1 = null;
-          {
-            String value = this.typeHelpers.getAttrInstanceConfigValue(path, instance);
-            CharSequence _xifexpression = null;
-            boolean _notEquals = (!Objects.equal(value, null));
-            if (_notEquals) {
-              String _valueLiteral = this.stdExt.toValueLiteral(((PrimitiveType)aType), value);
-              _xifexpression = this.initGen.genAttributeInitializer(a, _valueLiteral, invokes);
-            }
-            _xblockexpression_1 = _xifexpression;
+      if (aType instanceof PrimitiveType) {
+        _matched=true;
+        CharSequence _xblockexpression_1 = null;
+        {
+          String value = this.typeHelpers.getAttrInstanceConfigValue(path, instance);
+          CharSequence _xifexpression = null;
+          boolean _notEquals = (!Objects.equal(value, null));
+          if (_notEquals) {
+            String _valueLiteral = this.stdExt.toValueLiteral(((PrimitiveType)aType), value);
+            _xifexpression = this.initGen.genAttributeInitializer(a, _valueLiteral, invokes);
           }
-          _switchResult = _xblockexpression_1;
+          _xblockexpression_1 = _xifexpression;
         }
+        _switchResult = _xblockexpression_1;
       }
       if (!_matched) {
         if (aType instanceof EnumerationType) {
@@ -391,23 +389,21 @@
       DataType aType = _type.getType();
       CharSequence _switchResult = null;
       boolean _matched = false;
-      if (!_matched) {
-        if (aType instanceof DataClass) {
-          _matched=true;
-          StringConcatenation _builder = new StringConcatenation();
-          {
-            List<Attribute> _allAttributes = this._roomHelpers.getAllAttributes(((DataClass) aType));
-            for(final Attribute e : _allAttributes) {
-              String _name = e.getName();
-              String _plus = ((varNamePath + "_") + _name);
-              List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
-              CharSequence _genMinMaxConstantsRec = this.genMinMaxConstantsRec(ac, _plus, _union);
-              _builder.append(_genMinMaxConstantsRec, "");
-              _builder.newLineIfNotEmpty();
-            }
+      if (aType instanceof DataClass) {
+        _matched=true;
+        StringConcatenation _builder = new StringConcatenation();
+        {
+          List<Attribute> _allAttributes = this._roomHelpers.getAllAttributes(((DataClass) aType));
+          for(final Attribute e : _allAttributes) {
+            String _name = e.getName();
+            String _plus = ((varNamePath + "_") + _name);
+            List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
+            CharSequence _genMinMaxConstantsRec = this.genMinMaxConstantsRec(ac, _plus, _union);
+            _builder.append(_genMinMaxConstantsRec, "");
+            _builder.newLineIfNotEmpty();
           }
-          _switchResult = _builder;
         }
+        _switchResult = _builder;
       }
       if (!_matched) {
         if (aType instanceof PrimitiveType) {
@@ -417,7 +413,9 @@
             String temp = ((String) null);
             StringConcatenation _builder = new StringConcatenation();
             {
-              boolean _notEquals = (!Objects.equal((temp = this.dataConfigExt.getAttrClassConfigMinValue(ac, path)), null));
+              String _attrClassConfigMinValue = this.dataConfigExt.getAttrClassConfigMinValue(ac, path);
+              String _temp = (temp = _attrClassConfigMinValue);
+              boolean _notEquals = (!Objects.equal(_temp, null));
               if (_notEquals) {
                 _builder.append("public static ");
                 String _minMaxType = this.getMinMaxType(((PrimitiveType)aType));
@@ -432,7 +430,9 @@
               }
             }
             {
-              boolean _notEquals_1 = (!Objects.equal((temp = this.dataConfigExt.getAttrClassConfigMaxValue(ac, path)), null));
+              String _attrClassConfigMaxValue = this.dataConfigExt.getAttrClassConfigMaxValue(ac, path);
+              String _temp_1 = (temp = _attrClassConfigMaxValue);
+              boolean _notEquals_1 = (!Objects.equal(_temp_1, null));
               if (_notEquals_1) {
                 _builder.append("public static ");
                 String _minMaxType_1 = this.getMinMaxType(((PrimitiveType)aType));
@@ -460,11 +460,9 @@
     String _switchResult = null;
     String _typeName = this.typeHelpers.typeName(type);
     boolean _matched = false;
-    if (!_matched) {
-      if (Objects.equal(_typeName, "byte")) {
-        _matched=true;
-        _switchResult = "int";
-      }
+    if (Objects.equal(_typeName, "byte")) {
+      _matched=true;
+      _switchResult = "int";
     }
     if (!_matched) {
       if (Objects.equal(_typeName, "short")) {
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java
index fc7dde6..d2451a8 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java
@@ -67,6 +67,7 @@
   public void doGenerate(final Root root) {
     EList<DataClass> _usedDataClasses = root.getUsedDataClasses();
     final Function1<DataClass, Boolean> _function = new Function1<DataClass, Boolean>() {
+      @Override
       public Boolean apply(final DataClass cl) {
         return Boolean.valueOf(DataClassGen.this._fileSystemHelpers.isValidGenerationLocation(cl));
       }
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.java
index a3a5a0c..8392897 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.java
@@ -47,6 +47,7 @@
   public void doGenerate(final Root root) {
     EList<EnumerationType> _usedEnumClasses = root.getUsedEnumClasses();
     final Function1<EnumerationType, Boolean> _function = new Function1<EnumerationType, Boolean>() {
+      @Override
       public Boolean apply(final EnumerationType cl) {
         return Boolean.valueOf(EnumerationTypeGen.this._fileSystemHelpers.isValidGenerationLocation(cl));
       }
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/Initialization.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/Initialization.java
index 49a734d..195ac14 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/Initialization.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/Initialization.java
@@ -89,28 +89,26 @@
       DataType aType = _type.getType();
       CharSequence _switchResult = null;
       boolean _matched = false;
-      if (!_matched) {
-        RefableType _type_1 = a.getType();
-        boolean _isRef = _type_1.isRef();
-        if (_isRef) {
-          _matched=true;
-          CharSequence _xifexpression = null;
-          String _defaultValueLiteral = a.getDefaultValueLiteral();
-          boolean _notEquals = (!Objects.equal(_defaultValueLiteral, null));
-          if (_notEquals) {
-            String _defaultValueLiteral_1 = a.getDefaultValueLiteral();
-            _xifexpression = this.attributeInit(a, _defaultValueLiteral_1);
-          } else {
-            CharSequence _xifexpression_1 = null;
-            boolean _needsInitialization = this.languageExt.needsInitialization(a);
-            if (_needsInitialization) {
-              String _nullPointer = this.languageExt.nullPointer();
-              _xifexpression_1 = this.attributeInit(a, _nullPointer);
-            }
-            _xifexpression = _xifexpression_1;
+      RefableType _type_1 = a.getType();
+      boolean _isRef = _type_1.isRef();
+      if (_isRef) {
+        _matched=true;
+        CharSequence _xifexpression = null;
+        String _defaultValueLiteral = a.getDefaultValueLiteral();
+        boolean _notEquals = (!Objects.equal(_defaultValueLiteral, null));
+        if (_notEquals) {
+          String _defaultValueLiteral_1 = a.getDefaultValueLiteral();
+          _xifexpression = this.attributeInit(a, _defaultValueLiteral_1);
+        } else {
+          CharSequence _xifexpression_1 = null;
+          boolean _needsInitialization = this.languageExt.needsInitialization(a);
+          if (_needsInitialization) {
+            String _nullPointer = this.languageExt.nullPointer();
+            _xifexpression_1 = this.attributeInit(a, _nullPointer);
           }
-          _switchResult = _xifexpression;
+          _xifexpression = _xifexpression_1;
         }
+        _switchResult = _xifexpression;
       }
       if (!_matched) {
         if (aType instanceof PrimitiveType) {
@@ -132,14 +130,8 @@
               _xifexpression_2 = this.attributeInit(a, _valueLiteral);
             } else {
               CharSequence _xifexpression_3 = null;
-              boolean _or = false;
-              if ((!useClassDefaultsOnly)) {
-                _or = true;
-              } else {
-                boolean _needsInitialization_1 = this.languageExt.needsInitialization(a);
-                _or = _needsInitialization_1;
-              }
-              if (_or) {
+              if (((!useClassDefaultsOnly) || 
+                this.languageExt.needsInitialization(a))) {
                 String _defaultValue = this.languageExt.defaultValue(aType);
                 _xifexpression_3 = this.attributeInit(a, _defaultValue);
               }
@@ -170,14 +162,8 @@
               _xifexpression_2 = this.attributeInit(a, _enumLiteral);
             } else {
               CharSequence _xifexpression_3 = null;
-              boolean _or = false;
-              if ((!useClassDefaultsOnly)) {
-                _or = true;
-              } else {
-                boolean _needsInitialization_1 = this.languageExt.needsInitialization(a);
-                _or = _needsInitialization_1;
-              }
-              if (_or) {
+              if (((!useClassDefaultsOnly) || 
+                this.languageExt.needsInitialization(a))) {
                 String _defaultValue = this.languageExt.defaultValue(aType);
                 _xifexpression_3 = this.attributeInit(a, _defaultValue);
               }
@@ -202,21 +188,19 @@
     RefableType _type = a.getType();
     DataType aType = _type.getType();
     boolean _matched = false;
-    if (!_matched) {
-      if (aType instanceof DataClass) {
-        _matched=true;
-        StringConcatenation _builder = new StringConcatenation();
-        {
-          List<Attribute> _allAttributes = this._roomHelpers.getAllAttributes(((DataClass) aType));
-          for(final Attribute e : _allAttributes) {
-            List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
-            CharSequence _attributeInitPrimitiveRec = this.attributeInitPrimitiveRec(_union, roomClass);
-            _builder.append(_attributeInitPrimitiveRec, "");
-            _builder.newLineIfNotEmpty();
-          }
+    if (aType instanceof DataClass) {
+      _matched=true;
+      StringConcatenation _builder = new StringConcatenation();
+      {
+        List<Attribute> _allAttributes = this._roomHelpers.getAllAttributes(((DataClass) aType));
+        for(final Attribute e : _allAttributes) {
+          List<Attribute> _union = this._roomExtensions.<Attribute>union(path, e);
+          CharSequence _attributeInitPrimitiveRec = this.attributeInitPrimitiveRec(_union, roomClass);
+          _builder.append(_attributeInitPrimitiveRec, "");
+          _builder.newLineIfNotEmpty();
         }
-        return _builder;
       }
+      return _builder;
     }
     if (!_matched) {
       if (aType instanceof PrimitiveType) {
@@ -278,33 +262,7 @@
       DataType aType = _type.getType();
       StringConcatenation _builder = new StringConcatenation();
       {
-        boolean _or = false;
-        int _size = a.getSize();
-        boolean _equals = (_size == 0);
-        if (_equals) {
-          _or = true;
-        } else {
-          boolean _and = false;
-          boolean _and_1 = false;
-          int _size_1 = a.getSize();
-          boolean _greaterThan = (_size_1 > 0);
-          if (!_greaterThan) {
-            _and_1 = false;
-          } else {
-            String _typeName = this.typeHelpers.typeName(aType);
-            boolean _equals_1 = "char".equals(_typeName);
-            _and_1 = _equals_1;
-          }
-          if (!_and_1) {
-            _and = false;
-          } else {
-            boolean _matches = value.matches("\'.\'|\\(char\\).*");
-            boolean _not = (!_matches);
-            _and = _not;
-          }
-          _or = _and;
-        }
-        if (_or) {
+        if (((a.getSize() == 0) || (((a.getSize() > 0) && "char".equals(this.typeHelpers.typeName(aType))) && (!value.matches("\'.\'|\\(char\\).*"))))) {
           _builder.append(invokes, "");
           _builder.append(".");
           String _name = a.getName();
@@ -313,47 +271,27 @@
           _builder.append(";");
           _builder.newLineIfNotEmpty();
         } else {
-          boolean _or_1 = false;
-          String _trim = value.trim();
-          boolean _startsWith = _trim.startsWith("{");
-          boolean _not_1 = (!_startsWith);
-          if (_not_1) {
-            _or_1 = true;
-          } else {
-            String _typeName_1 = this.typeHelpers.typeName(aType);
-            boolean _equals_2 = "char".equals(_typeName_1);
-            _or_1 = _equals_2;
-          }
-          if (_or_1) {
+          if (((!value.trim().startsWith("{")) || "char".equals(this.typeHelpers.typeName(aType)))) {
             _builder.append("{");
             _builder.newLine();
             _builder.append("\t");
-            String _typeName_2 = this.typeHelpers.typeName(aType);
-            _builder.append(_typeName_2, "\t");
+            String _typeName = this.typeHelpers.typeName(aType);
+            _builder.append(_typeName, "\t");
             _builder.append("[] array = new ");
-            String _typeName_3 = this.typeHelpers.typeName(aType);
-            _builder.append(_typeName_3, "\t");
+            String _typeName_1 = this.typeHelpers.typeName(aType);
+            _builder.append(_typeName_1, "\t");
             _builder.append("[");
-            int _size_2 = a.getSize();
-            _builder.append(_size_2, "\t");
+            int _size = a.getSize();
+            _builder.append(_size, "\t");
             _builder.append("];");
             _builder.newLineIfNotEmpty();
             {
-              boolean _and_2 = false;
-              RefableType _type_1 = a.getType();
-              boolean _isRef = _type_1.isRef();
-              if (!_isRef) {
-                _and_2 = false;
-              } else {
-                boolean _isPrimitive = this.typeHelpers.isPrimitive(aType);
-                _and_2 = _isPrimitive;
-              }
-              boolean _not_2 = (!_and_2);
-              if (_not_2) {
+              boolean _not = (!(a.getType().isRef() && this.typeHelpers.isPrimitive(aType)));
+              if (_not) {
                 _builder.append("\t");
                 _builder.append("for (int i=0;i<");
-                int _size_3 = a.getSize();
-                _builder.append(_size_3, "\t");
+                int _size_1 = a.getSize();
+                _builder.append(_size_1, "\t");
                 _builder.append(";i++){");
                 _builder.newLineIfNotEmpty();
                 _builder.append("\t");
@@ -383,8 +321,8 @@
             String _name_2 = a.getName();
             StringConcatenation _builder_1 = new StringConcatenation();
             _builder_1.append("new ");
-            String _typeName_4 = this.typeHelpers.typeName(aType);
-            _builder_1.append(_typeName_4, "");
+            String _typeName_2 = this.typeHelpers.typeName(aType);
+            _builder_1.append(_typeName_2, "");
             _builder_1.append("[] ");
             _builder_1.append(value, "");
             CharSequence _invokeSetter_2 = this.procedureHelpers.invokeSetter(_name_2, null, _builder_1.toString());
@@ -402,11 +340,9 @@
   private String getDataConfigValue(final List<Attribute> path, final EObject roomClass) {
     String _switchResult = null;
     boolean _matched = false;
-    if (!_matched) {
-      if (roomClass instanceof ActorClass) {
-        _matched=true;
-        _switchResult = this.typeHelpers.getAttrClassConfigValue(path, ((ActorClass)roomClass), false);
-      }
+    if (roomClass instanceof ActorClass) {
+      _matched=true;
+      _switchResult = this.typeHelpers.getAttrClassConfigValue(path, ((ActorClass)roomClass), false);
     }
     if (!_matched) {
       if (roomClass instanceof PortClass) {
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/JavaExtensions.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/JavaExtensions.java
index 0c2cd11..cf0adcc 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/JavaExtensions.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/JavaExtensions.java
@@ -43,6 +43,7 @@
   @Inject
   private TypeHelpers typeHelpers;
   
+  @Override
   public String getTypedDataDefinition(final EObject msg) {
     String _xifexpression = null;
     if ((msg instanceof Message)) {
@@ -126,11 +127,9 @@
   public String toWrapper(final String type) {
     String _switchResult = null;
     boolean _matched = false;
-    if (!_matched) {
-      if (Objects.equal(type, "int")) {
-        _matched=true;
-        _switchResult = "Integer";
-      }
+    if (Objects.equal(type, "int")) {
+      _matched=true;
+      _switchResult = "Integer";
     }
     if (!_matched) {
       if (Objects.equal(type, "char")) {
@@ -145,75 +144,70 @@
   }
   
   public boolean needsInitialization(final Attribute a) {
-    boolean _or = false;
-    boolean _or_1 = false;
-    int _size = a.getSize();
-    boolean _greaterThan = (_size > 0);
-    if (_greaterThan) {
-      _or_1 = true;
-    } else {
-      RefableType _type = a.getType();
-      DataType _type_1 = _type.getType();
-      boolean _isEnumerationOrPrimitive = this.typeHelpers.isEnumerationOrPrimitive(_type_1);
-      boolean _not = (!_isEnumerationOrPrimitive);
-      _or_1 = _not;
-    }
-    if (_or_1) {
-      _or = true;
-    } else {
-      RefableType _type_2 = a.getType();
-      DataType _type_3 = _type_2.getType();
-      String _typeName = this.typeHelpers.typeName(_type_3);
-      boolean _equals = _typeName.equals("String");
-      _or = _equals;
-    }
-    return _or;
+    return (((a.getSize() > 0) || (!this.typeHelpers.isEnumerationOrPrimitive(a.getType().getType()))) || this.typeHelpers.typeName(a.getType().getType()).equals("String"));
   }
   
+  @Override
   public String accessLevelPrivate() {
     return "private ";
   }
   
+  @Override
   public String accessLevelProtected() {
     return "protected ";
   }
   
+  @Override
   public String accessLevelPublic() {
     return "public ";
   }
   
+  @Override
   public String memberAccess() {
     return "this.";
   }
   
+  @Override
   public String selfPointer(final String classname, final boolean hasArgs) {
     return "";
   }
   
+  @Override
   public String selfPointer(final boolean hasArgs) {
     return "";
   }
   
+  @Override
   public String operationScope(final String classname, final boolean isDeclaration) {
     return "";
   }
   
+  @Override
+  public String scopeSeparator() {
+    return ".";
+  }
+  
+  @Override
   public String memberInDeclaration(final String namespace, final String member) {
     return member;
   }
   
+  @Override
   public String memberInUse(final String namespace, final String member) {
     return ((namespace + ".") + member);
   }
   
+  @Override
   public boolean usesInheritance() {
     return true;
   }
   
+  @Override
   public boolean usesPointers() {
     return false;
   }
   
+  @Override
   public String genEnumeration(final String name, final List<Pair<String, String>> entries) {
     StringConcatenation _builder = new StringConcatenation();
     {
@@ -231,53 +225,45 @@
     return _builder.toString();
   }
   
+  @Override
   public String booleanConstant(final boolean b) {
     return Boolean.valueOf(b).toString();
   }
   
+  @Override
   public String pointerLiteral() {
     return "";
   }
   
+  @Override
   public String nullPointer() {
     return "null";
   }
   
+  @Override
   public String voidPointer() {
     return "Object";
   }
   
+  @Override
   public String arrayType(final String type, final int size, final boolean isRef) {
     return (type + "[]");
   }
   
+  @Override
   public String arrayDeclaration(final String type, final int size, final boolean isRef, final String name) {
     return (((type + " ") + name) + "[]");
   }
   
+  @Override
   public String superCall(final String baseClassName, final String method, final String args) {
     return (((("super." + method) + "(") + args) + ");");
   }
   
+  @Override
   public String toValueLiteral(final PrimitiveType type, final String value) {
     String _xifexpression = null;
-    boolean _and = false;
-    boolean _isCharacterType = this.typeHelpers.isCharacterType(type);
-    boolean _not = (!_isCharacterType);
-    if (!_not) {
-      _and = false;
-    } else {
-      boolean _or = false;
-      boolean _contains = value.contains(",");
-      if (_contains) {
-        _or = true;
-      } else {
-        boolean _contains_1 = value.contains("{");
-        _or = _contains_1;
-      }
-      _and = _or;
-    }
-    if (_and) {
+    if (((!this.typeHelpers.isCharacterType(type)) && (value.contains(",") || value.contains("{")))) {
       String _xblockexpression = null;
       {
         String _replace = value.replace("{", "");
@@ -309,17 +295,10 @@
     return _xifexpression;
   }
   
+  @Override
   public String toEnumLiteral(final EnumerationType type, final String value) {
     String _xifexpression = null;
-    boolean _or = false;
-    boolean _contains = value.contains(",");
-    if (_contains) {
-      _or = true;
-    } else {
-      boolean _contains_1 = value.contains("{");
-      _or = _contains_1;
-    }
-    if (_or) {
+    if ((value.contains(",") || value.contains("{"))) {
       String _xblockexpression = null;
       {
         String _replace = value.replace("{", "");
@@ -380,11 +359,9 @@
     String _switchResult = null;
     String _targetName = type.getTargetName();
     boolean _matched = false;
-    if (!_matched) {
-      if (Objects.equal(_targetName, "boolean")) {
-        _matched=true;
-        _switchResult = value.toLowerCase();
-      }
+    if (Objects.equal(_targetName, "boolean")) {
+      _matched=true;
+      _switchResult = value.toLowerCase();
     }
     if (!_matched) {
       if (Objects.equal(_targetName, "byte")) {
@@ -464,15 +441,14 @@
     return _switchResult;
   }
   
+  @Override
   public String defaultValue(final DataType dt) {
     String _switchResult = null;
     boolean _matched = false;
-    if (!_matched) {
-      if (dt instanceof PrimitiveType) {
-        _matched=true;
-        String _defaultValueLiteral = ((PrimitiveType)dt).getDefaultValueLiteral();
-        _switchResult = this.toValueLiteral(((PrimitiveType)dt), _defaultValueLiteral);
-      }
+    if (dt instanceof PrimitiveType) {
+      _matched=true;
+      String _defaultValueLiteral = ((PrimitiveType)dt).getDefaultValueLiteral();
+      _switchResult = this.toValueLiteral(((PrimitiveType)dt), _defaultValueLiteral);
     }
     if (!_matched) {
       if (dt instanceof EnumerationType) {
@@ -510,6 +486,7 @@
     return _xifexpression;
   }
   
+  @Override
   public String initializationWithDefaultValues(final DataType dt, final int size) {
     String _xblockexpression = null;
     {
@@ -540,15 +517,9 @@
     return _xblockexpression;
   }
   
+  @Override
   public String[] generateArglistAndTypedData(final EObject d) {
-    boolean _or = false;
-    boolean _equals = Objects.equal(d, null);
-    if (_equals) {
-      _or = true;
-    } else {
-      _or = (!(d instanceof VarDecl));
-    }
-    if (_or) {
+    if ((Objects.equal(d, null) || (!(d instanceof VarDecl)))) {
       return ((String[])Conversions.unwrapArray(CollectionLiterals.<String>newArrayList("", "", ""), String.class));
     }
     final VarDecl data = ((VarDecl) d);
@@ -566,16 +537,7 @@
       RefableType _refType_3 = data.getRefType();
       DataType _type_3 = _refType_3.getType();
       final String ct = ((PrimitiveType) _type_3).getCastName();
-      boolean _and = false;
-      boolean _notEquals = (!Objects.equal(ct, null));
-      if (!_notEquals) {
-        _and = false;
-      } else {
-        boolean _isEmpty = ct.isEmpty();
-        boolean _not = (!_isEmpty);
-        _and = _not;
-      }
-      if (_and) {
+      if (((!Objects.equal(ct, null)) && (!ct.isEmpty()))) {
         castTypeName = ct;
       }
     } else {
@@ -604,6 +566,7 @@
     return ((String[])Conversions.unwrapArray(CollectionLiterals.<String>newArrayList(dataArg, typedData, typedArgList), String.class));
   }
   
+  @Override
   public String getTargetType(final EnumerationType type) {
     String _xifexpression = null;
     PrimitiveType _primitiveType = type.getPrimitiveType();
@@ -617,6 +580,7 @@
     return _xifexpression;
   }
   
+  @Override
   public String getCastedValue(final EnumLiteral literal) {
     String _xblockexpression = null;
     {
@@ -640,6 +604,7 @@
     return _xblockexpression;
   }
   
+  @Override
   public String getCastType(final EnumerationType type) {
     String _xifexpression = null;
     PrimitiveType _primitiveType = type.getPrimitiveType();
@@ -653,6 +618,7 @@
     return _xifexpression;
   }
   
+  @Override
   public String makeOverridable() {
     return "";
   }
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/NodeGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/NodeGen.java
index 554b404..9db9a44 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/NodeGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/NodeGen.java
@@ -112,12 +112,14 @@
     final HashMap<SubSystemClass, WiredSubSystemClass> sscc2wired = new HashMap<SubSystemClass, WiredSubSystemClass>();
     EList<WiredStructureClass> _wiredInstances = root.getWiredInstances();
     final Function1<WiredStructureClass, Boolean> _function = new Function1<WiredStructureClass, Boolean>() {
+      @Override
       public Boolean apply(final WiredStructureClass w) {
         return Boolean.valueOf((w instanceof WiredSubSystemClass));
       }
     };
     Iterable<WiredStructureClass> _filter = IterableExtensions.<WiredStructureClass>filter(_wiredInstances, _function);
     final Procedure1<WiredStructureClass> _function_1 = new Procedure1<WiredStructureClass>() {
+      @Override
       public void apply(final WiredStructureClass w) {
         SubSystemClass _subSystemClass = ((WiredSubSystemClass) w).getSubSystemClass();
         sscc2wired.put(_subSystemClass, ((WiredSubSystemClass) w));
@@ -131,27 +133,18 @@
         {
           StructureInstance _instance = root.getInstance(instpath);
           final SubSystemInstance ssi = ((SubSystemInstance) _instance);
-          boolean _and = false;
-          boolean _notEquals = (!Objects.equal(ssi, null));
-          if (!_notEquals) {
-            _and = false;
-          } else {
+          if (((!Objects.equal(ssi, null)) && this._fileSystemHelpers.isValidGenerationLocation(ssi.getSubSystemClass()))) {
             SubSystemClass _subSystemClass = ssi.getSubSystemClass();
-            boolean _isValidGenerationLocation = this._fileSystemHelpers.isValidGenerationLocation(_subSystemClass);
-            _and = _isValidGenerationLocation;
-          }
-          if (_and) {
+            final WiredSubSystemClass wired = sscc2wired.get(_subSystemClass);
             SubSystemClass _subSystemClass_1 = ssi.getSubSystemClass();
-            final WiredSubSystemClass wired = sscc2wired.get(_subSystemClass_1);
+            String _generationTargetPath = this._roomExtensions.getGenerationTargetPath(_subSystemClass_1);
             SubSystemClass _subSystemClass_2 = ssi.getSubSystemClass();
-            String _generationTargetPath = this._roomExtensions.getGenerationTargetPath(_subSystemClass_2);
-            SubSystemClass _subSystemClass_3 = ssi.getSubSystemClass();
-            String _path = this._roomExtensions.getPath(_subSystemClass_3);
+            String _path = this._roomExtensions.getPath(_subSystemClass_2);
             final String path = (_generationTargetPath + _path);
+            SubSystemClass _subSystemClass_3 = ssi.getSubSystemClass();
+            String _generationInfoPath = this._roomExtensions.getGenerationInfoPath(_subSystemClass_3);
             SubSystemClass _subSystemClass_4 = ssi.getSubSystemClass();
-            String _generationInfoPath = this._roomExtensions.getGenerationInfoPath(_subSystemClass_4);
-            SubSystemClass _subSystemClass_5 = ssi.getSubSystemClass();
-            String _path_1 = this._roomExtensions.getPath(_subSystemClass_5);
+            String _path_1 = this._roomExtensions.getPath(_subSystemClass_4);
             final String infopath = (_generationInfoPath + _path_1);
             final String file = this._javaExtensions.getJavaFileName(nr, ssi);
             this.checkDataPorts(ssi);
@@ -174,12 +167,14 @@
   private HashSet<ActorClass> getOptionalActorClasses(final Root root, final StructureInstance si) {
     TreeIterator<EObject> _eAllContents = si.eAllContents();
     final Function1<EObject, Boolean> _function = new Function1<EObject, Boolean>() {
+      @Override
       public Boolean apply(final EObject i) {
         return Boolean.valueOf((i instanceof ActorInterfaceInstance));
       }
     };
     Iterator<EObject> _filter = IteratorExtensions.<EObject>filter(_eAllContents, _function);
     final Function1<EObject, ActorInterfaceInstance> _function_1 = new Function1<EObject, ActorInterfaceInstance>() {
+      @Override
       public ActorInterfaceInstance apply(final EObject aii) {
         return ((ActorInterfaceInstance) aii);
       }
@@ -187,6 +182,7 @@
     Iterator<ActorInterfaceInstance> _map = IteratorExtensions.<EObject, ActorInterfaceInstance>map(_filter, _function_1);
     final ArrayList<ActorInterfaceInstance> aifs = Lists.<ActorInterfaceInstance>newArrayList(_map);
     final Function1<ActorInterfaceInstance, ActorClass> _function_2 = new Function1<ActorInterfaceInstance, ActorClass>() {
+      @Override
       public ActorClass apply(final ActorInterfaceInstance aii) {
         return ((ActorInterfaceInstance) aii).getActorClass();
       }
@@ -213,6 +209,7 @@
       NodeClass _type = nr.getType();
       EList<PhysicalThread> _threads = _type.getThreads();
       final Function1<PhysicalThread, Boolean> _function = new Function1<PhysicalThread, Boolean>() {
+        @Override
         public Boolean apply(final PhysicalThread t) {
           return Boolean.valueOf(usedThreads.contains(t));
         }
@@ -336,21 +333,11 @@
       {
         for(final PhysicalThread thread_1 : threads) {
           {
-            boolean _or = false;
-            ExecMode _execmode = thread_1.getExecmode();
-            boolean _equals = Objects.equal(_execmode, ExecMode.POLLED);
-            if (_equals) {
-              _or = true;
-            } else {
-              ExecMode _execmode_1 = thread_1.getExecmode();
-              boolean _equals_1 = Objects.equal(_execmode_1, ExecMode.MIXED);
-              _or = _equals_1;
-            }
-            if (_or) {
+            if ((Objects.equal(thread_1.getExecmode(), ExecMode.POLLED) || Objects.equal(thread_1.getExecmode(), ExecMode.MIXED))) {
               _builder.append("\t\t");
               _builder.append("msgService = new MessageService(this, MessageService.ExecMode.");
-              ExecMode _execmode_2 = thread_1.getExecmode();
-              String _name_1 = _execmode_2.getName();
+              ExecMode _execmode = thread_1.getExecmode();
+              String _name_1 = _execmode.getName();
               _builder.append(_name_1, "\t\t");
               _builder.append(", ");
               long _time = thread_1.getTime();
@@ -366,8 +353,8 @@
             } else {
               _builder.append("\t\t");
               _builder.append("msgService = new MessageService(this, MessageService.ExecMode.");
-              ExecMode _execmode_3 = thread_1.getExecmode();
-              String _name_3 = _execmode_3.getName();
+              ExecMode _execmode_1 = thread_1.getExecmode();
+              String _name_3 = _execmode_1.getName();
               _builder.append(_name_3, "\t\t");
               _builder.append(", 0, ");
               String _threadId_2 = this.getThreadId(thread_1);
@@ -405,15 +392,7 @@
           final ETMapUtil.MappedThread mapped = ETMapUtil.getMappedThread(ai);
           _builder.newLineIfNotEmpty();
           {
-            boolean _or_1 = false;
-            boolean _isImplicit = mapped.isImplicit();
-            if (_isImplicit) {
-              _or_1 = true;
-            } else {
-              boolean _isAsParent = mapped.isAsParent();
-              _or_1 = _isAsParent;
-            }
-            boolean _not = (!_or_1);
+            boolean _not = (!(mapped.isImplicit() || mapped.isAsParent()));
             if (_not) {
               _builder.append("\t\t");
               _builder.append("addPathToThread(\"");
@@ -509,12 +488,14 @@
       {
         BasicEList<AbstractInstance> _allSubInstances = this._roomExtensions.getAllSubInstances(comp);
         final Function1<AbstractInstance, Boolean> _function_1 = new Function1<AbstractInstance, Boolean>() {
+          @Override
           public Boolean apply(final AbstractInstance inst) {
             return Boolean.valueOf((inst instanceof ActorInterfaceInstance));
           }
         };
         Iterable<AbstractInstance> _filter = IterableExtensions.<AbstractInstance>filter(_allSubInstances, _function_1);
         final Function1<AbstractInstance, ActorInterfaceInstance> _function_2 = new Function1<AbstractInstance, ActorInterfaceInstance>() {
+          @Override
           public ActorInterfaceInstance apply(final AbstractInstance inst) {
             return ((ActorInterfaceInstance) inst);
           }
@@ -780,6 +761,7 @@
             EList<ActorClass> _subClasses = root.getSubClasses(oa);
             List<ActorClass> _union = this._roomExtensions.<ActorClass>union(_subClasses, oa);
             final Function1<ActorClass, Boolean> _function_3 = new Function1<ActorClass, Boolean>() {
+              @Override
               public Boolean apply(final ActorClass s) {
                 boolean _isAbstract = s.isAbstract();
                 return Boolean.valueOf((!_isAbstract));
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/NodeRunnerGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/NodeRunnerGen.java
index b6da29f..b8180a1 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/NodeRunnerGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/NodeRunnerGen.java
@@ -56,27 +56,18 @@
         {
           StructureInstance _instance = root.getInstance(instpath);
           final SubSystemInstance ssi = ((SubSystemInstance) _instance);
-          boolean _and = false;
-          boolean _notEquals = (!Objects.equal(ssi, null));
-          if (!_notEquals) {
-            _and = false;
-          } else {
-            SubSystemClass _subSystemClass = ssi.getSubSystemClass();
-            boolean _isValidGenerationLocation = this._fileSystemHelpers.isValidGenerationLocation(_subSystemClass);
-            _and = _isValidGenerationLocation;
-          }
-          if (_and) {
+          if (((!Objects.equal(ssi, null)) && this._fileSystemHelpers.isValidGenerationLocation(ssi.getSubSystemClass()))) {
             String _javaClassName = this._javaExtensions.getJavaClassName(nr, ssi);
             final String file = (_javaClassName + "Runner.java");
+            SubSystemClass _subSystemClass = ssi.getSubSystemClass();
+            String _generationTargetPath = this.roomExt.getGenerationTargetPath(_subSystemClass);
             SubSystemClass _subSystemClass_1 = ssi.getSubSystemClass();
-            String _generationTargetPath = this.roomExt.getGenerationTargetPath(_subSystemClass_1);
-            SubSystemClass _subSystemClass_2 = ssi.getSubSystemClass();
-            String _path = this.roomExt.getPath(_subSystemClass_2);
+            String _path = this.roomExt.getPath(_subSystemClass_1);
             final String filepath = (_generationTargetPath + _path);
+            SubSystemClass _subSystemClass_2 = ssi.getSubSystemClass();
+            String _generationInfoPath = this.roomExt.getGenerationInfoPath(_subSystemClass_2);
             SubSystemClass _subSystemClass_3 = ssi.getSubSystemClass();
-            String _generationInfoPath = this.roomExt.getGenerationInfoPath(_subSystemClass_3);
-            SubSystemClass _subSystemClass_4 = ssi.getSubSystemClass();
-            String _path_1 = this.roomExt.getPath(_subSystemClass_4);
+            String _path_1 = this.roomExt.getPath(_subSystemClass_3);
             final String infopath = (_generationInfoPath + _path_1);
             CharSequence _generate = this.generate(root, ssi);
             this.fileIO.generateFile("generating SubSystemRunner implementation", filepath, infopath, file, _generate);
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/OptionalActorFactoryGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/OptionalActorFactoryGen.java
index 20b3223..b8cab30 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/OptionalActorFactoryGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/OptionalActorFactoryGen.java
@@ -51,12 +51,14 @@
     final HashMap<ActorClass, WiredActorClass> ac2wired = new HashMap<ActorClass, WiredActorClass>();
     EList<WiredStructureClass> _wiredInstances = root.getWiredInstances();
     final Function1<WiredStructureClass, Boolean> _function = new Function1<WiredStructureClass, Boolean>() {
+      @Override
       public Boolean apply(final WiredStructureClass w) {
         return Boolean.valueOf((w instanceof WiredActorClass));
       }
     };
     Iterable<WiredStructureClass> _filter = IterableExtensions.<WiredStructureClass>filter(_wiredInstances, _function);
     final Procedure1<WiredStructureClass> _function_1 = new Procedure1<WiredStructureClass>() {
+      @Override
       public void apply(final WiredStructureClass w) {
         ActorClass _actorClass = ((WiredActorClass) w).getActorClass();
         ac2wired.put(_actorClass, ((WiredActorClass) w));
@@ -65,6 +67,7 @@
     IterableExtensions.<WiredStructureClass>forEach(_filter, _function_1);
     EList<OptionalActorInstance> _optionalInstances = root.getOptionalInstances();
     final Function1<OptionalActorInstance, Boolean> _function_2 = new Function1<OptionalActorInstance, Boolean>() {
+      @Override
       public Boolean apply(final OptionalActorInstance cl) {
         ActorClass _actorClass = cl.getActorClass();
         return Boolean.valueOf(OptionalActorFactoryGen.this._fileSystemHelpers.isValidGenerationLocation(_actorClass));
@@ -146,6 +149,7 @@
       {
         List<Port> _allEndPorts = this._roomHelpers.getAllEndPorts(ac);
         final Function1<Port, Boolean> _function = new Function1<Port, Boolean>() {
+          @Override
           public Boolean apply(final Port p) {
             return Boolean.valueOf(OptionalActorFactoryGen.this._roomHelpers.isExternal(p));
           }
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.java
index 6915c61..c8f833f 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.java
@@ -50,6 +50,7 @@
   public void doGenerate(final Root root) {
     EList<ActorClass> _optionalActorClasses = root.getOptionalActorClasses();
     final Function1<ActorClass, Boolean> _function = new Function1<ActorClass, Boolean>() {
+      @Override
       public Boolean apply(final ActorClass cl) {
         return Boolean.valueOf(OptionalActorInterfaceGen.this._fileSystemHelpers.isValidGenerationLocation(cl));
       }
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java
index ccc7148..8fa0e63 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java
@@ -86,6 +86,7 @@
   public void doGenerate(final Root root) {
     EList<ProtocolClass> _usedProtocolClasses = root.getUsedProtocolClasses();
     final Function1<ProtocolClass, Boolean> _function = new Function1<ProtocolClass, Boolean>() {
+      @Override
       public Boolean apply(final ProtocolClass cl) {
         return Boolean.valueOf(ProtocolClassGen.this._fileSystemHelpers.isValidGenerationLocation(cl));
       }
@@ -777,22 +778,7 @@
               String _name_3 = _data_1.getName();
               _builder.append(_name_3, "\t\t");
               {
-                boolean _and = false;
-                VarDecl _data_2 = m.getData();
-                RefableType _refType = _data_2.getRefType();
-                boolean _isRef = _refType.isRef();
-                boolean _not = (!_isRef);
-                if (!_not) {
-                  _and = false;
-                } else {
-                  VarDecl _data_3 = m.getData();
-                  RefableType _refType_1 = _data_3.getRefType();
-                  DataType _type = _refType_1.getType();
-                  boolean _isEnumerationOrPrimitive = this._typeHelpers.isEnumerationOrPrimitive(_type);
-                  boolean _not_1 = (!_isEnumerationOrPrimitive);
-                  _and = _not_1;
-                }
-                if (_and) {
+                if (((!m.getData().getRefType().isRef()) && (!this._typeHelpers.isEnumerationOrPrimitive(m.getData().getRefType().getType())))) {
                   _builder.append(".deepCopy()");
                 }
               }
@@ -805,18 +791,7 @@
       _builder.append("}");
       _builder.newLine();
       {
-        boolean _and_1 = false;
-        VarDecl _data_4 = m.getData();
-        boolean _notEquals_1 = (!Objects.equal(_data_4, null));
-        if (!_notEquals_1) {
-          _and_1 = false;
-        } else {
-          VarDecl _data_5 = m.getData();
-          RefableType _refType_2 = _data_5.getRefType();
-          DataType _type_1 = _refType_2.getType();
-          _and_1 = (_type_1 instanceof DataClass);
-        }
-        if (_and_1) {
+        if (((!Objects.equal(m.getData(), null)) && (m.getData().getRefType().getType() instanceof DataClass))) {
           CharSequence _messageSignatureExplicit = this.messageSignatureExplicit(m);
           _builder.append(_messageSignatureExplicit, "");
           _builder.append(" {");
@@ -825,16 +800,16 @@
           String _name_4 = m.getName();
           _builder.append(_name_4, "\t");
           _builder.append("(new ");
-          VarDecl _data_6 = m.getData();
-          RefableType _refType_3 = _data_6.getRefType();
-          DataType _type_2 = _refType_3.getType();
-          String _name_5 = _type_2.getName();
+          VarDecl _data_2 = m.getData();
+          RefableType _refType = _data_2.getRefType();
+          DataType _type = _refType.getType();
+          String _name_5 = _type.getName();
           _builder.append(_name_5, "\t");
           _builder.append("(");
-          VarDecl _data_7 = m.getData();
-          RefableType _refType_4 = _data_7.getRefType();
-          DataType _type_3 = _refType_4.getType();
-          String _paramList = this._dataClassGen.paramList(((DataClass) _type_3));
+          VarDecl _data_3 = m.getData();
+          RefableType _refType_1 = _data_3.getRefType();
+          DataType _type_1 = _refType_1.getType();
+          String _paramList = this._dataClassGen.paramList(((DataClass) _type_1));
           _builder.append(_paramList, "\t");
           _builder.append("));");
           _builder.newLineIfNotEmpty();
@@ -852,6 +827,7 @@
     {
       List<Message> _allIncomingMessages = this._roomHelpers.getAllIncomingMessages(pc);
       final Function1<Message, Boolean> _function = new Function1<Message, Boolean>() {
+        @Override
         public Boolean apply(final Message m) {
           VarDecl _data = m.getData();
           return Boolean.valueOf((!Objects.equal(_data, null)));
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java
index b711838..4b80216 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/StateMachineGen.java
@@ -30,6 +30,7 @@
   /**
    * @param generateImplementation NOT used
    */
+  @Override
   public CharSequence genExtra(final ExpandedModelComponent xpac, final boolean generateImplementation) {
     CharSequence _xblockexpression = null;
     {
@@ -46,17 +47,7 @@
       }
       StringConcatenation _builder = new StringConcatenation();
       {
-        boolean _or = false;
-        GlobalSettings _settings = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation) {
-          _or = true;
-        } else {
-          GlobalSettings _settings_1 = Main.getSettings();
-          boolean _isGenerateWithVerboseOutput = _settings_1.isGenerateWithVerboseOutput();
-          _or = _isGenerateWithVerboseOutput;
-        }
-        if (_or) {
+        if ((Main.getSettings().isGenerateMSCInstrumentation() || Main.getSettings().isGenerateWithVerboseOutput())) {
           _builder.append("// state names");
           _builder.newLine();
           _builder.append("protected static final String stateStrings[] = {");
@@ -102,18 +93,18 @@
       _builder.append("private void setState(int new_state) {");
       _builder.newLine();
       {
-        GlobalSettings _settings_2 = Main.getSettings();
-        boolean _isGenerateMSCInstrumentation_1 = _settings_2.isGenerateMSCInstrumentation();
-        if (_isGenerateMSCInstrumentation_1) {
+        GlobalSettings _settings = Main.getSettings();
+        boolean _isGenerateMSCInstrumentation = _settings.isGenerateMSCInstrumentation();
+        if (_isGenerateMSCInstrumentation) {
           _builder.append("\t");
           _builder.append("DebuggingService.getInstance().addActorState(this,stateStrings[new_state]);");
           _builder.newLine();
         }
       }
       {
-        GlobalSettings _settings_3 = Main.getSettings();
-        boolean _isGenerateWithVerboseOutput_1 = _settings_3.isGenerateWithVerboseOutput();
-        if (_isGenerateWithVerboseOutput_1) {
+        GlobalSettings _settings_1 = Main.getSettings();
+        boolean _isGenerateWithVerboseOutput = _settings_1.isGenerateWithVerboseOutput();
+        if (_isGenerateWithVerboseOutput) {
           _builder.append("\t");
           _builder.append("if (stateStrings[new_state]!=\"Idle\") {");
           _builder.newLine();
@@ -143,6 +134,7 @@
   /**
    * if {@code -storeDataObj} is set then a call to {@code finalAction()} is generated
    */
+  @Override
   public CharSequence finalAction() {
     StringConcatenation _builder = new StringConcatenation();
     {
diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/VariableServiceGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/VariableServiceGen.java
index 4847218..91d7954 100644
--- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/VariableServiceGen.java
+++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/VariableServiceGen.java
@@ -105,6 +105,7 @@
       final HashMap<ActorInstance, List<Attribute>> aisAttrMap = new HashMap<ActorInstance, List<Attribute>>();
       EList<ActorInstance> _allContainedInstances = comp.getAllContainedInstances();
       final Procedure1<ActorInstance> _function = new Procedure1<ActorInstance>() {
+        @Override
         public void apply(final ActorInstance ai) {
           List<Attribute> _dynConfigReadAttributes = VariableServiceGen.this.configExt.getDynConfigReadAttributes(ai);
           boolean _isEmpty = _dynConfigReadAttributes.isEmpty();
@@ -563,9 +564,11 @@
   private HashSet<DataClass> getDynConfigDataClasses(final Iterable<ActorInstance> ais) {
     final HashSet<DataClass> result = new HashSet<DataClass>();
     final Procedure1<ActorInstance> _function = new Procedure1<ActorInstance>() {
+      @Override
       public void apply(final ActorInstance ai) {
         List<Attribute> _dynConfigReadAttributes = VariableServiceGen.this.configExt.getDynConfigReadAttributes(ai);
         final Procedure1<Attribute> _function = new Procedure1<Attribute>() {
+          @Override
           public void apply(final Attribute a) {
             RefableType _type = a.getType();
             DataType _type_1 = _type.getType();
@@ -594,6 +597,7 @@
         DataClass dc = visit.pop();
         List<Attribute> _allAttributes = this._roomHelpers.getAllAttributes(dc);
         final Procedure1<Attribute> _function = new Procedure1<Attribute>() {
+          @Override
           public void apply(final Attribute a) {
             RefableType _type = a.getType();
             DataType _type_1 = _type.getType();
@@ -614,6 +618,7 @@
   private HashSet<RoomModel> getRoomModels(final Collection<ActorInstance> ais) {
     final HashSet<RoomModel> models = new HashSet<RoomModel>();
     final Procedure1<ActorInstance> _function = new Procedure1<ActorInstance>() {
+      @Override
       public void apply(final ActorInstance ai) {
         ActorClass _actorClass = ai.getActorClass();
         EObject _eContainer = _actorClass.eContainer();
diff --git a/plugins/org.eclipse.etrice.generator.launch.c/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.launch.c/META-INF/MANIFEST.MF
index 199d3c4..ca0b2fc 100644
--- a/plugins/org.eclipse.etrice.generator.launch.c/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.launch.c/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice C Generator Launcher
 Bundle-SymbolicName: org.eclipse.etrice.generator.launch.c;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.generator.launch.c.Activator
-Require-Bundle: org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator.c;bundle-version="1.0.1",
- org.eclipse.etrice.generator.launch;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.c;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.launch;bundle-version="1.1.0",
  org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.debug.core,
@@ -15,7 +15,7 @@
  org.eclipse.jdt.ui;bundle-version="3.7.0",
  org.eclipse.jdt.core;bundle-version="3.7.0",
  org.eclipse.core.variables;bundle-version="3.2.500",
- org.eclipse.etrice.generator.ui;bundle-version="1.0.1"
+ org.eclipse.etrice.generator.ui;bundle-version="1.1.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Import-Package: org.eclipse.jdt.launching,
diff --git a/plugins/org.eclipse.etrice.generator.launch.cpp/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.launch.cpp/META-INF/MANIFEST.MF
index 58bc750..20253cd 100644
--- a/plugins/org.eclipse.etrice.generator.launch.cpp/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.launch.cpp/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Cpp Generator Launcher
 Bundle-SymbolicName: org.eclipse.etrice.generator.launch.cpp;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.generator.launch.cpp.Activator
-Require-Bundle: org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator.cpp;bundle-version="1.0.1",
- org.eclipse.etrice.generator.launch;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.cpp;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.launch;bundle-version="1.1.0",
  org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.debug.core,
@@ -15,7 +15,7 @@
  org.eclipse.jdt.ui;bundle-version="3.7.0",
  org.eclipse.jdt.core;bundle-version="3.7.0",
  org.eclipse.core.variables;bundle-version="3.2.500",
- org.eclipse.etrice.core.genmodel;bundle-version="1.0.1"
+ org.eclipse.etrice.core.genmodel;bundle-version="1.1.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Import-Package: org.eclipse.jdt.launching,
diff --git a/plugins/org.eclipse.etrice.generator.launch.java/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.launch.java/META-INF/MANIFEST.MF
index da5c319..839212c 100644
--- a/plugins/org.eclipse.etrice.generator.launch.java/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.launch.java/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Java Generator Launcher
 Bundle-SymbolicName: org.eclipse.etrice.generator.launch.java;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.generator.launch.java.Activator
-Require-Bundle: org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator.java;bundle-version="1.0.1",
- org.eclipse.etrice.generator.launch;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.java;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.launch;bundle-version="1.1.0",
  org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.debug.core,
@@ -15,7 +15,7 @@
  org.eclipse.jdt.ui;bundle-version="3.7.0",
  org.eclipse.jdt.core;bundle-version="3.7.0",
  org.eclipse.core.variables;bundle-version="3.2.500",
- org.eclipse.etrice.generator.ui;bundle-version="1.0.1"
+ org.eclipse.etrice.generator.ui;bundle-version="1.1.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Import-Package: org.eclipse.jdt.launching,
diff --git a/plugins/org.eclipse.etrice.generator.launch/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.launch/META-INF/MANIFEST.MF
index 9f9dace..383b79b 100644
--- a/plugins/org.eclipse.etrice.generator.launch/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.launch/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Generator Launch Base Classes
 Bundle-SymbolicName: org.eclipse.etrice.generator.launch;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.generator.launch.Activator
-Require-Bundle: org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.generator.ui;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.ui;bundle-version="1.1.0",
  org.eclipse.ui,
  org.eclipse.ui.console,
  org.eclipse.xtext.ui.shared;bundle-version="2.6.0",
diff --git a/plugins/org.eclipse.etrice.generator.ui.cdt/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.ui.cdt/META-INF/MANIFEST.MF
index fa2b098..a405d90 100644
--- a/plugins/org.eclipse.etrice.generator.ui.cdt/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.ui.cdt/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: CDT integration of eTrice
 Bundle-SymbolicName: org.eclipse.etrice.generator.ui.cdt;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Vendor: Eclipse eTrice
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.etrice.generator.ui;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.generator.ui;bundle-version="1.1.0",
  org.eclipse.cdt.core;bundle-version="5.5.0",
  org.eclipse.cdt.managedbuilder.core;bundle-version="8.2.0",
  org.eclipse.equinox.common;bundle-version="3.6.200",
diff --git a/plugins/org.eclipse.etrice.generator.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.ui/META-INF/MANIFEST.MF
index 09e56ee..27f7aee 100644
--- a/plugins/org.eclipse.etrice.generator.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator.ui/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Generator UI
 Bundle-SymbolicName: org.eclipse.etrice.generator.ui;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-Vendor: Eclipse eTrice
-Require-Bundle: org.eclipse.etrice.core.etmap;bundle-version="1.0.1",
- org.eclipse.etrice.core.etmap.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.etphys;bundle-version="1.0.1",
- org.eclipse.etrice.core.etphys.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common;bundle-version="1.0.1",
- org.eclipse.etrice.ui.runtime;bundle-version="1.0.1",
- org.eclipse.etrice.core.common,
+Require-Bundle: org.eclipse.etrice.core.etmap;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etmap.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etphys;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etphys.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.runtime;bundle-version="1.1.0",
+ org.eclipse.etrice.core.common;bundle-version="1.1.0",
  org.eclipse.core.runtime,
  org.eclipse.ui,
  org.apache.log4j;bundle-version="1.2.15",
  org.eclipse.core.resources;bundle-version="3.8.100",
  org.eclipse.emf.ecore;bundle-version="2.9.0",
- org.eclipse.etrice.core.room.ui;bundle-version="1.0.1",
+ org.eclipse.etrice.core.room.ui;bundle-version="1.1.0",
  org.eclipse.jdt.core;bundle-version="3.9.0",
  org.eclipse.jdt.launching;bundle-version="3.7.0",
  org.eclipse.ui.ide;bundle-version="3.9.0",
  org.eclipse.xtext.xbase.lib;bundle-version="2.6.0",
  org.eclipse.xtext;bundle-version="2.6.0",
  org.eclipse.xtext.ui;bundle-version="2.6.0",
- org.eclipse.etrice.generator;bundle-version="1.0.1"
+ org.eclipse.etrice.generator;bundle-version="1.1.0"
 Bundle-ActivationPolicy: lazy
 Bundle-Activator: org.eclipse.etrice.generator.ui.Activator
 Export-Package: org.eclipse.etrice.generator.ui.configurator,
diff --git a/plugins/org.eclipse.etrice.generator.ui/src/org/eclipse/etrice/generator/ui/wizard/ProjectCreator.java b/plugins/org.eclipse.etrice.generator.ui/src/org/eclipse/etrice/generator/ui/wizard/ProjectCreator.java
index dcc9897..401975d 100644
--- a/plugins/org.eclipse.etrice.generator.ui/src/org/eclipse/etrice/generator/ui/wizard/ProjectCreator.java
+++ b/plugins/org.eclipse.etrice.generator.ui/src/org/eclipse/etrice/generator/ui/wizard/ProjectCreator.java
@@ -392,9 +392,15 @@
 					project.getName(), baseName,
 					"Node_nodeRef1_mainRunner");
 		} else if (project.hasNature("org.eclipse.cdt.core.cnature")) {
+			String language = "c";
+			
+			// C++ projects have _both_ natures, so we also check for this one
+			if (project.hasNature("org.eclipse.cdt.core.ccnature"))
+				language = "cpp";
+			
 			ProjectCreator.createLaunchGeneratorConfig(
 					URI.createPlatformResourceURI("/" + project.getName()
-							+ "/gen_" + baseName + ".launch", true), "c",
+							+ "/gen_" + baseName + ".launch", true), language,
 					mdlPath, baseName, mainMethodName, additionalLaunchConfigLines);
 			ProjectCreator.createLaunchCApplicationConfig(
 					URI.createPlatformResourceURI("/" + project.getName()
diff --git a/plugins/org.eclipse.etrice.generator/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator/META-INF/MANIFEST.MF
index b2e0ea3..2720184 100644
--- a/plugins/org.eclipse.etrice.generator/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.generator/META-INF/MANIFEST.MF
@@ -2,18 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Generator Model
 Bundle-SymbolicName: org.eclipse.etrice.generator;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: Eclipse eTrice
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Export-Package: org.eclipse.etrice.generator.base,
  org.eclipse.etrice.generator.generic
-Require-Bundle: org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.core.genmodel;bundle-version="1.0.1",
- org.eclipse.etrice.core.etmap;bundle-version="1.0.1",
- org.eclipse.etrice.core.etphys;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
- org.eclipse.ui.ide;bundle-version="3.9.0",
+Require-Bundle: org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.core.genmodel;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etmap;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etphys;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
  org.eclipse.core.runtime;bundle-version="3.6.0",
  org.eclipse.emf.ecore;bundle-version="2.6.0";visibility:=reexport,
  org.eclipse.emf.ecore.xmi;bundle-version="2.5.0",
diff --git a/plugins/org.eclipse.etrice.generator/pom.xml b/plugins/org.eclipse.etrice.generator/pom.xml
index b6bf1a4..fc37971 100644
--- a/plugins/org.eclipse.etrice.generator/pom.xml
+++ b/plugins/org.eclipse.etrice.generator/pom.xml
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.eclipse.etrice</groupId>
     <artifactId>java-generator</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.etrice.parent/pom.xml</relativePath>
   </parent>
   
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericActorClassGenerator.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericActorClassGenerator.java
index f183748..509b81d 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericActorClassGenerator.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericActorClassGenerator.java
@@ -124,6 +124,7 @@
     return this.langExt.genEnumeration("interface_items", list);
   }
   
+  @Override
   public String getIfItemId(final AbstractInterfaceItem item) {
     String _name = item.getName();
     return ("IFITEM_" + _name);
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericProtocolClassGenerator.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericProtocolClassGenerator.java
index 392458c..8b476a3 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericProtocolClassGenerator.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericProtocolClassGenerator.java
@@ -103,6 +103,7 @@
    * @param mif a {@link MessageFromIf}
    * @return an identifier for the message
    */
+  @Override
   public String getMessageID(final MessageFromIf mif) {
     EObject _message = mif.getMessage();
     AbstractInterfaceItem _from = mif.getFrom();
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java
index 6c3aa2b..554c063 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/GenericStateMachineGenerator.java
@@ -117,11 +117,13 @@
    * @param xpmc an expanded actor class
    * @return the generated code
    */
+  @Override
   public String guard(final TriggeredTransition tt, final String trigger, final ExpandedModelComponent mc) {
     String _xblockexpression = null;
     {
       EList<Trigger> _triggers = tt.getTriggers();
       final Function1<Trigger, Boolean> _function = new Function1<Trigger, Boolean>() {
+        @Override
         public Boolean apply(final Trigger e) {
           return Boolean.valueOf(mc.isMatching(e, trigger));
         }
@@ -145,6 +147,7 @@
     return _xblockexpression;
   }
   
+  @Override
   public String guard(final GuardedTransition tt, final String trigger, final ExpandedModelComponent mc) {
     StringConcatenation _builder = new StringConcatenation();
     DetailCode _guard = tt.getGuard();
@@ -154,32 +157,17 @@
     return _builder.toString();
   }
   
+  @Override
   public String genActionCodeMethod(final ExpandedModelComponent xpmc, final Transition tr, final boolean generateImplementation) {
     String _xblockexpression = null;
     {
       EList<TransitionChain> chain = xpmc.getChains(tr);
-      boolean _and = false;
-      boolean _isEmpty = chain.isEmpty();
-      boolean _not = (!_isEmpty);
-      if (!_not) {
-        _and = false;
-      } else {
-        final Function1<TransitionChain, Boolean> _function = new Function1<TransitionChain, Boolean>() {
-          public Boolean apply(final TransitionChain it) {
-            boolean _and = false;
-            Transition _transition = it.getTransition();
-            if (!(_transition instanceof NonInitialTransition)) {
-              _and = false;
-            } else {
-              _and = (!(it.getTransition() instanceof GuardedTransition));
-            }
-            return Boolean.valueOf(_and);
-          }
-        };
-        boolean _forall = IterableExtensions.<TransitionChain>forall(chain, _function);
-        _and = _forall;
-      }
-      boolean hasArgs = _and;
+      boolean hasArgs = ((!chain.isEmpty()) && IterableExtensions.<TransitionChain>forall(chain, new Function1<TransitionChain, Boolean>() {
+        @Override
+        public Boolean apply(final TransitionChain it) {
+          return Boolean.valueOf(((it.getTransition() instanceof NonInitialTransition) && (!(it.getTransition() instanceof GuardedTransition))));
+        }
+      }));
       String _className = this.getClassName(xpmc);
       final String opScope = this.langExt.operationScope(_className, false);
       String _xifexpression = null;
@@ -269,6 +257,7 @@
    * @param generateImplementation if only declarations should be generated then <code>false</code> has to be passed
    * @return the generated code
    */
+  @Override
   public String genActionCodeMethods(final ExpandedModelComponent xpmc, final State state, final boolean generateImplementation) {
     String _xblockexpression = null;
     {
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java
index a71122b..dc314ed 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java
@@ -54,16 +54,7 @@
         for (final RoomModel mdl : _usedRoomModels) {
           {
             final String tgtpath = this._roomExtensions.getGenerationTargetPath(mdl);
-            boolean _and = false;
-            boolean _notEquals = (!Objects.equal(tgtpath, null));
-            if (!_notEquals) {
-              _and = false;
-            } else {
-              boolean _isEmpty = tgtpath.isEmpty();
-              boolean _not = (!_isEmpty);
-              _and = _not;
-            }
-            if (_and) {
+            if (((!Objects.equal(tgtpath, null)) && (!tgtpath.isEmpty()))) {
               pathes.add(tgtpath);
             }
           }
@@ -82,16 +73,7 @@
         for (final RoomModel mdl : _usedRoomModels) {
           {
             final String tgtpath = this._roomExtensions.getDocGenerationTargetPath(mdl);
-            boolean _and = false;
-            boolean _notEquals = (!Objects.equal(tgtpath, null));
-            if (!_notEquals) {
-              _and = false;
-            } else {
-              boolean _isEmpty = tgtpath.isEmpty();
-              boolean _not = (!_isEmpty);
-              _and = _not;
-            }
-            if (_and) {
+            if (((!Objects.equal(tgtpath, null)) && (!tgtpath.isEmpty()))) {
               pathes.add(tgtpath);
             }
           }
@@ -127,16 +109,7 @@
     if (_isDirectory) {
       File[] children = f.listFiles();
       for (final File child : children) {
-        boolean _and = false;
-        boolean _isDirectory_1 = child.isDirectory();
-        if (!_isDirectory_1) {
-          _and = false;
-        } else {
-          String _name = child.getName();
-          boolean _equals = _name.equals("images");
-          _and = _equals;
-        }
-        boolean _not = (!_and);
+        boolean _not = (!(child.isDirectory() && child.getName().equals("images")));
         if (_not) {
           this.eraseContents(child);
           child.delete();
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/ProcedureHelpers.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/ProcedureHelpers.java
index 05d2676..0a679b3 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/ProcedureHelpers.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/ProcedureHelpers.java
@@ -172,16 +172,7 @@
   private CharSequence userCode(final String code) {
     StringConcatenation _builder = new StringConcatenation();
     {
-      boolean _and = false;
-      boolean _notEquals = (!Objects.equal(code, null));
-      if (!_notEquals) {
-        _and = false;
-      } else {
-        boolean _isEmpty = code.isEmpty();
-        boolean _not = (!_isEmpty);
-        _and = _not;
-      }
-      if (_and) {
+      if (((!Objects.equal(code, null)) && (!code.isEmpty()))) {
         _builder.append("/*--------------------- begin user code ---------------------*/");
         _builder.newLine();
         _builder.append(code, "");
@@ -398,6 +389,7 @@
    */
   public String argList(final Iterable<Attribute> attributes) {
     final Function1<Attribute, String> _function = new Function1<Attribute, String>() {
+      @Override
       public String apply(final Attribute it) {
         String _signatureString = ProcedureHelpers.this.signatureString(it);
         String _plus = (_signatureString + " ");
@@ -570,6 +562,7 @@
     boolean _not = (!_usesInheritance);
     List<ClassStructor> _structors = this.getStructors(cls, _not);
     final Function1<ClassStructor, Boolean> _function = new Function1<ClassStructor, Boolean>() {
+      @Override
       public Boolean apply(final ClassStructor it) {
         boolean _isConstructor = it.isConstructor();
         return Boolean.valueOf((_isConstructor == ctor));
@@ -611,6 +604,7 @@
       boolean _not = (!_usesInheritance);
       List<ClassStructor> _structors = this.getStructors(cls, _not);
       final Function1<ClassStructor, Boolean> _function = new Function1<ClassStructor, Boolean>() {
+        @Override
         public Boolean apply(final ClassStructor it) {
           return Boolean.valueOf(it.isConstructor());
         }
@@ -626,6 +620,7 @@
       boolean _not_1 = (!_usesInheritance_1);
       List<ClassStructor> _structors_1 = this.getStructors(cls, _not_1);
       final Function1<ClassStructor, Boolean> _function_1 = new Function1<ClassStructor, Boolean>() {
+        @Override
         public Boolean apply(final ClassStructor it) {
           boolean _isConstructor = it.isConstructor();
           return Boolean.valueOf((!_isConstructor));
@@ -672,6 +667,7 @@
       boolean _not = (!_usesInheritance);
       List<ClassStructor> _structors = this.getStructors(cls, _not);
       final Function1<ClassStructor, Boolean> _function = new Function1<ClassStructor, Boolean>() {
+        @Override
         public Boolean apply(final ClassStructor it) {
           boolean _isConstructor = it.isConstructor();
           return Boolean.valueOf((_isConstructor == ctor));
@@ -725,6 +721,7 @@
     boolean _not = (!_usesInheritance);
     List<ClassStructor> _structors = this.getStructors(cls, _not);
     final Function1<ClassStructor, Boolean> _function = new Function1<ClassStructor, Boolean>() {
+      @Override
       public Boolean apply(final ClassStructor it) {
         boolean _isConstructor = it.isConstructor();
         return Boolean.valueOf((_isConstructor == ctor));
@@ -732,12 +729,14 @@
     };
     final Iterable<ClassStructor> implementedStructors = IterableExtensions.<ClassStructor>filter(_structors, _function);
     final Function1<ClassStructor, DetailCode> _function_1 = new Function1<ClassStructor, DetailCode>() {
+      @Override
       public DetailCode apply(final ClassStructor it) {
         return it.getDetailCode();
       }
     };
     Iterable<DetailCode> _map = IterableExtensions.<ClassStructor, DetailCode>map(implementedStructors, _function_1);
     final Function1<DetailCode, String> _function_2 = new Function1<DetailCode, String>() {
+      @Override
       public String apply(final DetailCode it) {
         AbstractGenerator _instance = AbstractGenerator.getInstance();
         return _instance.getTranslatedCode(it);
@@ -745,6 +744,7 @@
     };
     final Iterable<String> translatedCodes = IterableExtensions.<DetailCode, String>map(_map, _function_2);
     final Function1<String, CharSequence> _function_3 = new Function1<String, CharSequence>() {
+      @Override
       public CharSequence apply(final String it) {
         CharSequence _xifexpression = null;
         int _size = IterableExtensions.size(translatedCodes);
@@ -766,12 +766,10 @@
     List<ClassStructor> _switchResult = null;
     final RoomClass it = cls;
     boolean _matched = false;
-    if (!_matched) {
-      if (it instanceof ActorClass) {
-        if ((!inherited)) {
-          _matched=true;
-          _switchResult = ((ActorClass)it).getStructors();
-        }
+    if (it instanceof ActorClass) {
+      if ((!inherited)) {
+        _matched=true;
+        _switchResult = ((ActorClass)it).getStructors();
       }
     }
     if (!_matched) {
@@ -846,11 +844,9 @@
     String _switchResult = null;
     final RefableType it = type;
     boolean _matched = false;
-    if (!_matched) {
-      if (Objects.equal(it, null)) {
-        _matched=true;
-        _switchResult = "void";
-      }
+    if (Objects.equal(it, null)) {
+      _matched=true;
+      _switchResult = "void";
     }
     if (!_matched) {
       boolean _isRef = it.isRef();
@@ -873,19 +869,17 @@
     String _switchResult = null;
     final Attribute it = attribute;
     boolean _matched = false;
-    if (!_matched) {
-      int _size = it.getSize();
-      boolean _greaterThan = (_size > 0);
-      if (_greaterThan) {
-        _matched=true;
-        RefableType _type = it.getType();
-        DataType _type_1 = _type.getType();
-        String _typeName = this._typeHelpers.typeName(_type_1);
-        int _size_1 = it.getSize();
-        RefableType _type_2 = it.getType();
-        boolean _isRef = _type_2.isRef();
-        _switchResult = this.languageExt.arrayType(_typeName, _size_1, _isRef);
-      }
+    int _size = it.getSize();
+    boolean _greaterThan = (_size > 0);
+    if (_greaterThan) {
+      _matched=true;
+      RefableType _type = it.getType();
+      DataType _type_1 = _type.getType();
+      String _typeName = this._typeHelpers.typeName(_type_1);
+      int _size_1 = it.getSize();
+      RefableType _type_2 = it.getType();
+      boolean _isRef = _type_2.isRef();
+      _switchResult = this.languageExt.arrayType(_typeName, _size_1, _isRef);
     }
     if (!_matched) {
       RefableType _type_3 = it.getType();
@@ -902,20 +896,18 @@
     String _switchResult = null;
     final Attribute it = attribute;
     boolean _matched = false;
-    if (!_matched) {
-      int _size = it.getSize();
-      boolean _greaterThan = (_size > 0);
-      if (_greaterThan) {
-        _matched=true;
-        RefableType _type = it.getType();
-        DataType _type_1 = _type.getType();
-        String _typeName = this._typeHelpers.typeName(_type_1);
-        int _size_1 = it.getSize();
-        RefableType _type_2 = it.getType();
-        boolean _isRef = _type_2.isRef();
-        String _name = it.getName();
-        _switchResult = this.languageExt.arrayDeclaration(_typeName, _size_1, _isRef, _name);
-      }
+    int _size = it.getSize();
+    boolean _greaterThan = (_size > 0);
+    if (_greaterThan) {
+      _matched=true;
+      RefableType _type = it.getType();
+      DataType _type_1 = _type.getType();
+      String _typeName = this._typeHelpers.typeName(_type_1);
+      int _size_1 = it.getSize();
+      RefableType _type_2 = it.getType();
+      boolean _isRef = _type_2.isRef();
+      String _name = it.getName();
+      _switchResult = this.languageExt.arrayDeclaration(_typeName, _size_1, _isRef, _name);
     }
     if (!_matched) {
       RefableType _type_3 = it.getType();
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/RoomExtensions.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/RoomExtensions.java
index 775639e..8157879 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/RoomExtensions.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/RoomExtensions.java
@@ -37,14 +37,12 @@
 import org.eclipse.etrice.core.room.Port;
 import org.eclipse.etrice.core.room.PortClass;
 import org.eclipse.etrice.core.room.ProtocolClass;
-import org.eclipse.etrice.core.room.RefableType;
 import org.eclipse.etrice.core.room.RoomClass;
 import org.eclipse.etrice.core.room.RoomModel;
 import org.eclipse.etrice.core.room.SAP;
 import org.eclipse.etrice.core.room.SPP;
 import org.eclipse.etrice.core.room.ServiceImplementation;
 import org.eclipse.etrice.core.room.StandardOperation;
-import org.eclipse.etrice.core.room.VarDecl;
 import org.eclipse.etrice.core.room.util.RoomHelpers;
 import org.eclipse.etrice.generator.fsm.base.FileSystemHelpers;
 import org.eclipse.etrice.generator.fsm.generic.FSMExtensions;
@@ -104,6 +102,7 @@
   public List<Port> punion(final Iterable<Port> in1, final Iterable<ExternalPort> in2) {
     final ArrayList<Port> ret = new ArrayList<Port>();
     final Procedure1<ExternalPort> _function = new Procedure1<ExternalPort>() {
+      @Override
       public void apply(final ExternalPort e) {
         Port _interfacePort = e.getInterfacePort();
         ret.add(_interfacePort);
@@ -482,6 +481,7 @@
     EObject _eContainer = m.eContainer();
     List<MessageHandler> _sendHandlers = this.getSendHandlers(((ProtocolClass) _eContainer), conj);
     final Function1<MessageHandler, Boolean> _function = new Function1<MessageHandler, Boolean>() {
+      @Override
       public Boolean apply(final MessageHandler e) {
         Message _msg = e.getMsg();
         return Boolean.valueOf(Objects.equal(_msg, m));
@@ -522,48 +522,12 @@
    * 		void return type
    */
   public boolean overridesStop(final ActorClass ac) {
-    boolean _or = false;
-    EList<StandardOperation> _operations = ac.getOperations();
-    final Function1<StandardOperation, Boolean> _function = new Function1<StandardOperation, Boolean>() {
+    return (IterableExtensions.<StandardOperation>exists(ac.getOperations(), new Function1<StandardOperation, Boolean>() {
+      @Override
       public Boolean apply(final StandardOperation e) {
-        boolean _and = false;
-        boolean _and_1 = false;
-        String _name = e.getName();
-        boolean _equals = Objects.equal(_name, "stop");
-        if (!_equals) {
-          _and_1 = false;
-        } else {
-          EList<VarDecl> _arguments = e.getArguments();
-          boolean _isEmpty = _arguments.isEmpty();
-          _and_1 = _isEmpty;
-        }
-        if (!_and_1) {
-          _and = false;
-        } else {
-          RefableType _returnType = e.getReturnType();
-          boolean _equals_1 = Objects.equal(_returnType, null);
-          _and = _equals_1;
-        }
-        return Boolean.valueOf(_and);
+        return Boolean.valueOf(((Objects.equal(e.getName(), "stop") && e.getArguments().isEmpty()) && Objects.equal(e.getReturnType(), null)));
       }
-    };
-    boolean _exists = IterableExtensions.<StandardOperation>exists(_operations, _function);
-    if (_exists) {
-      _or = true;
-    } else {
-      boolean _and = false;
-      ActorClass _actorBase = ac.getActorBase();
-      boolean _notEquals = (!Objects.equal(_actorBase, null));
-      if (!_notEquals) {
-        _and = false;
-      } else {
-        ActorClass _actorBase_1 = ac.getActorBase();
-        boolean _overridesStop = this.overridesStop(_actorBase_1);
-        _and = _overridesStop;
-      }
-      _or = _and;
-    }
-    return _or;
+    }) || ((!Objects.equal(ac.getActorBase(), null)) && this.overridesStop(ac.getActorBase())));
   }
   
   public BasicEList<AbstractInstance> getAllSubInstances(final StructureInstance ssi) {
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TestInstanceCreator.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TestInstanceCreator.java
index 9a82398..ee89be0 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TestInstanceCreator.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TestInstanceCreator.java
@@ -74,17 +74,17 @@
       final ArrayList<PhysicalModel> physModels = CollectionLiterals.<PhysicalModel>newArrayList();
       EList<Resource> _resources = rs.getResources();
       final Procedure1<Resource> _function = new Procedure1<Resource>() {
+        @Override
         public void apply(final Resource it) {
           EList<EObject> _contents = it.getContents();
           final Function1<EObject, Boolean> _function = new Function1<EObject, Boolean>() {
+            @Override
             public Boolean apply(final EObject it) {
               boolean _switchResult = false;
               boolean _matched = false;
-              if (!_matched) {
-                if (it instanceof RoomModel) {
-                  _matched=true;
-                  _switchResult = roomModels.add(((RoomModel)it));
-                }
+              if (it instanceof RoomModel) {
+                _matched=true;
+                _switchResult = roomModels.add(((RoomModel)it));
               }
               if (!_matched) {
                 if (it instanceof PhysicalModel) {
@@ -101,9 +101,11 @@
       IterableExtensions.<Resource>forEach(_resources, _function);
       ArrayList<SubSystemClass> _newArrayList = CollectionLiterals.<SubSystemClass>newArrayList();
       final Function2<ArrayList<SubSystemClass>, RoomModel, ArrayList<SubSystemClass>> _function_1 = new Function2<ArrayList<SubSystemClass>, RoomModel, ArrayList<SubSystemClass>>() {
+        @Override
         public ArrayList<SubSystemClass> apply(final ArrayList<SubSystemClass> list, final RoomModel model) {
           EList<SubSystemClass> _subSystemClasses = model.getSubSystemClasses();
           final Function1<SubSystemClass, Boolean> _function = new Function1<SubSystemClass, Boolean>() {
+            @Override
             public Boolean apply(final SubSystemClass it) {
               return Boolean.valueOf(TestInstanceCreator.this.hasTestAnnotation(it));
             }
@@ -118,28 +120,33 @@
       {
         SubSystemClass _createSubSystemClass = this._roomFactory.createSubSystemClass();
         final Procedure1<SubSystemClass> _function_2 = new Procedure1<SubSystemClass>() {
+          @Override
           public void apply(final SubSystemClass it) {
             it.setName("DerivedTestSubSystem");
           }
         };
         final SubSystemClass derivedSubSystem = ObjectExtensions.<SubSystemClass>operator_doubleArrow(_createSubSystemClass, _function_2);
         final Procedure1<RoomModel> _function_3 = new Procedure1<RoomModel>() {
+          @Override
           public void apply(final RoomModel model) {
             EList<ActorRef> _actorRefs = derivedSubSystem.getActorRefs();
             EList<ActorClass> _actorClasses = model.getActorClasses();
             final Function1<ActorClass, Boolean> _function = new Function1<ActorClass, Boolean>() {
+              @Override
               public Boolean apply(final ActorClass it) {
                 return Boolean.valueOf(TestInstanceCreator.this.hasTestAnnotation(it));
               }
             };
             Iterable<ActorClass> _filter = IterableExtensions.<ActorClass>filter(_actorClasses, _function);
             final Function1<ActorClass, ActorRef> _function_1 = new Function1<ActorClass, ActorRef>() {
+              @Override
               public ActorRef apply(final ActorClass ac) {
                 ActorRef _xblockexpression = null;
                 {
                   allAnnotatedClasses.add(ac);
                   ActorRef _createActorRef = TestInstanceCreator.this._roomFactory.createActorRef();
                   final Procedure1<ActorRef> _function = new Procedure1<ActorRef>() {
+                    @Override
                     public void apply(final ActorRef it) {
                       String _name = ac.getName();
                       String _plus = ("ref_" + _name);
@@ -172,6 +179,7 @@
       boolean _greaterThan = (_size > 1);
       if (_greaterThan) {
         final Procedure1<StructureClass> _function_2 = new Procedure1<StructureClass>() {
+          @Override
           public void apply(final StructureClass roomCls) {
             StringConcatenation _builder = new StringConcatenation();
             _builder.append("TestInstanceCreator: mapping failed, multiple test instances present");
@@ -183,6 +191,7 @@
       }
       ArrayList<PhysicalSystem> _newArrayList_1 = CollectionLiterals.<PhysicalSystem>newArrayList();
       final Function2<ArrayList<PhysicalSystem>, PhysicalModel, ArrayList<PhysicalSystem>> _function_3 = new Function2<ArrayList<PhysicalSystem>, PhysicalModel, ArrayList<PhysicalSystem>>() {
+        @Override
         public ArrayList<PhysicalSystem> apply(final ArrayList<PhysicalSystem> list, final PhysicalModel model) {
           EList<PhysicalSystem> _systems = model.getSystems();
           Iterables.<PhysicalSystem>addAll(list, _systems);
@@ -216,6 +225,7 @@
       final SubSystemClass testSubSystem = IterableExtensions.<SubSystemClass>head(allTestSubSystems);
       LogicalSystem _createLogicalSystem = this._roomFactory.createLogicalSystem();
       final Procedure1<LogicalSystem> _function_4 = new Procedure1<LogicalSystem>() {
+        @Override
         public void apply(final LogicalSystem it) {
           it.setName("DerivedTestSystem");
         }
@@ -224,6 +234,7 @@
       EList<SubSystemRef> _subSystems = testSystem.getSubSystems();
       SubSystemRef _createSubSystemRef = this._roomFactory.createSubSystemRef();
       final Procedure1<SubSystemRef> _function_5 = new Procedure1<SubSystemRef>() {
+        @Override
         public void apply(final SubSystemRef it) {
           String _name = testSubSystem.getName();
           String _plus = ("ref_" + _name);
@@ -235,6 +246,7 @@
       _subSystems.add(_doubleArrow);
       RoomModel _createRoomModel = this._roomFactory.createRoomModel();
       final Procedure1<RoomModel> _function_6 = new Procedure1<RoomModel>() {
+        @Override
         public void apply(final RoomModel it) {
           it.setName("DerivedTestRoomModel");
           EList<LogicalSystem> _systems = it.getSystems();
@@ -246,20 +258,24 @@
       final RoomModel testRoomModel = ObjectExtensions.<RoomModel>operator_doubleArrow(_createRoomModel, _function_6);
       MappingModel _createMappingModel = this._eTMapFactory.createMappingModel();
       final Procedure1<MappingModel> _function_7 = new Procedure1<MappingModel>() {
+        @Override
         public void apply(final MappingModel it) {
           it.setName("DerivedTestMappingModel");
           EList<Mapping> _mappings = it.getMappings();
           Mapping _createMapping = TestInstanceCreator.this._eTMapFactory.createMapping();
           final Procedure1<Mapping> _function = new Procedure1<Mapping>() {
+            @Override
             public void apply(final Mapping it) {
               it.setLogicalSys(testSystem);
               it.setPhysicalSys(physSystem);
               EList<SubSystemMapping> _subsysMappings = it.getSubsysMappings();
               EList<SubSystemRef> _subSystems = testSystem.getSubSystems();
               final Function1<SubSystemRef, SubSystemMapping> _function = new Function1<SubSystemRef, SubSystemMapping>() {
+                @Override
                 public SubSystemMapping apply(final SubSystemRef subSysRef) {
                   SubSystemMapping _createSubSystemMapping = TestInstanceCreator.this._eTMapFactory.createSubSystemMapping();
                   final Procedure1<SubSystemMapping> _function = new Procedure1<SubSystemMapping>() {
+                    @Override
                     public void apply(final SubSystemMapping it) {
                       it.setLogicalSubSys(subSysRef);
                       EList<NodeRef> _nodeRefs = physSystem.getNodeRefs();
@@ -318,6 +334,7 @@
   protected boolean hasTestAnnotation(final StructureClass cls) {
     EList<Annotation> _annotations = cls.getAnnotations();
     final Function1<Annotation, Boolean> _function = new Function1<Annotation, Boolean>() {
+      @Override
       public Boolean apply(final Annotation it) {
         AnnotationType _type = it.getType();
         String _name = _type.getName();
diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TypeHelpers.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TypeHelpers.java
index fd03e85..e3193f6 100644
--- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TypeHelpers.java
+++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TypeHelpers.java
@@ -129,16 +129,7 @@
   }
   
   public boolean isBoolean(final DataType type) {
-    boolean _and = false;
-    boolean _isPrimitive = this.isPrimitive(type);
-    if (!_isPrimitive) {
-      _and = false;
-    } else {
-      LiteralType _type = ((PrimitiveType) type).getType();
-      boolean _equals = Objects.equal(_type, LiteralType.BOOL);
-      _and = _equals;
-    }
-    return _and;
+    return (this.isPrimitive(type) && Objects.equal(((PrimitiveType) type).getType(), LiteralType.BOOL));
   }
   
   public boolean isEnumeration(final DataType type) {
@@ -146,13 +137,7 @@
   }
   
   public boolean isEnumerationOrPrimitive(final DataType type) {
-    boolean _or = false;
-    if ((type instanceof EnumerationType)) {
-      _or = true;
-    } else {
-      _or = (type instanceof PrimitiveType);
-    }
-    return _or;
+    return ((type instanceof EnumerationType) || (type instanceof PrimitiveType));
   }
   
   public boolean isDataClass(final DataType type) {
@@ -165,25 +150,15 @@
   }
   
   public boolean isCharacterType(final DataType type) {
-    boolean _and = false;
-    boolean _isPrimitive = this.isPrimitive(type);
-    if (!_isPrimitive) {
-      _and = false;
-    } else {
-      boolean _isCharacterType = this.isCharacterType(((PrimitiveType) type));
-      _and = _isCharacterType;
-    }
-    return _and;
+    return (this.isPrimitive(type) && this.isCharacterType(((PrimitiveType) type)));
   }
   
   public String getAttrInstanceConfigValue(final List<Attribute> attributePath, final InstanceBase instance) {
     String _switchResult = null;
     boolean _matched = false;
-    if (!_matched) {
-      if (instance instanceof ActorInstance) {
-        _matched=true;
-        _switchResult = this.dataConfigExt.getAttrInstanceConfigValue(((ActorInstance)instance), attributePath);
-      }
+    if (instance instanceof ActorInstance) {
+      _matched=true;
+      _switchResult = this.dataConfigExt.getAttrInstanceConfigValue(((ActorInstance)instance), attributePath);
     }
     if (!_matched) {
       if (instance instanceof InterfaceItemInstance) {
@@ -196,14 +171,7 @@
   
   public String getAttrClassConfigValue(final List<Attribute> attributePath, final ActorClass actor, final boolean inherite) {
     String result = this.dataConfigExt.getAttrClassConfigValue(actor, attributePath);
-    boolean _and = false;
-    boolean _equals = Objects.equal(result, null);
-    if (!_equals) {
-      _and = false;
-    } else {
-      _and = inherite;
-    }
-    if (_and) {
+    if ((Objects.equal(result, null) && inherite)) {
       ActorClass base = actor.getActorBase();
       while (((!Objects.equal(base, null)) && Objects.equal(result, null))) {
         {
diff --git a/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF
index 6581061..31607ca 100644
--- a/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.logging/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Logging Fragment
 Bundle-SymbolicName: org.eclipse.etrice.logging
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Vendor: Eclipse eTrice
 Fragment-Host: org.apache.log4j;bundle-version="1.2.15"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/META-INF/MANIFEST.MF
index 1eb89ad..3b1ae89 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ROOM Action Code Editor
 Bundle-SymbolicName: org.eclipse.etrice.ui.behavior.actioneditor;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.ui.behavior.actioneditor.Activator
-Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.ui.behavior;bundle-version="1.0.1",
- org.eclipse.etrice.ui.behavior.fsm;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.behavior;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.behavior.fsm;bundle-version="1.1.0",
  org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.emf.common,
diff --git a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/CustomCompletionProposal.java b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/CustomCompletionProposal.java
index 6cc698f..0b3b29f 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/CustomCompletionProposal.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/CustomCompletionProposal.java
@@ -27,6 +27,7 @@
   
   private final Point selection;
   
+  @Override
   public Point getSelection(final IDocument document) {
     Point _xifexpression = null;
     boolean _notEquals = (!Objects.equal(this.selection, null));
diff --git a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/DetailExpressionAssistParser.java b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/DetailExpressionAssistParser.java
index 7acb981..a82d96e 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/DetailExpressionAssistParser.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/DetailExpressionAssistParser.java
@@ -34,10 +34,12 @@
   private final IDetailExpressionProvider provider;
   
   private final IWordDetector anyIdScanner = new IWordDetector() {
+    @Override
     public boolean isWordPart(final char c) {
       return Character.isJavaIdentifierPart(c);
     }
     
+    @Override
     public boolean isWordStart(final char c) {
       return Character.isJavaIdentifierStart(c);
     }
@@ -59,13 +61,11 @@
     char _char = this.document.getChar((offset - 1));
     String _string = Character.valueOf(_char).toString();
     boolean _matched = false;
-    if (!_matched) {
-      if (Objects.equal(_string, ")")) {
-        _matched=true;
-        postfixResult = IDetailExpressionProvider.ExpressionPostfix.PARENTHESES;
-        openingChar = '(';
-        closingChar = ')';
-      }
+    if (Objects.equal(_string, ")")) {
+      _matched=true;
+      postfixResult = IDetailExpressionProvider.ExpressionPostfix.PARENTHESES;
+      openingChar = '(';
+      closingChar = ')';
     }
     if (!_matched) {
       if (Objects.equal(_string, "]")) {
@@ -88,11 +88,9 @@
           start--;
           char _char_1 = this.document.getChar(start);
           boolean _matched_1 = false;
-          if (!_matched_1) {
-            if (Objects.equal(_char_1, openingChar)) {
-              _matched_1=true;
-              counter--;
-            }
+          if (Objects.equal(_char_1, openingChar)) {
+            _matched_1=true;
+            counter--;
           }
           if (!_matched_1) {
             if (Objects.equal(_char_1, closingChar)) {
@@ -174,6 +172,7 @@
     final IDetailExpressionProvider.ExpressionFeature firstParseResult = parsedFeatures.pop();
     List<IDetailExpressionProvider.ExpressionFeature> _initialFeatures = this.provider.getInitialFeatures();
     final Function1<IDetailExpressionProvider.ExpressionFeature, Boolean> _function = new Function1<IDetailExpressionProvider.ExpressionFeature, Boolean>() {
+      @Override
       public Boolean apply(final IDetailExpressionProvider.ExpressionFeature it) {
         return Boolean.valueOf(DetailExpressionAssistParser.this.matches(it, firstParseResult));
       }
@@ -184,6 +183,7 @@
         final IDetailExpressionProvider.ExpressionFeature nextParseResult = parsedFeatures.pop();
         List<IDetailExpressionProvider.ExpressionFeature> _contextFeatures = this.provider.getContextFeatures(lastMatch);
         final Function1<IDetailExpressionProvider.ExpressionFeature, Boolean> _function_1 = new Function1<IDetailExpressionProvider.ExpressionFeature, Boolean>() {
+          @Override
           public Boolean apply(final IDetailExpressionProvider.ExpressionFeature it) {
             return Boolean.valueOf(DetailExpressionAssistParser.this.matches(it, nextParseResult));
           }
@@ -199,34 +199,11 @@
    * non-empty id + not-null suffix
    */
   private boolean isValid(final IDetailExpressionProvider.ExpressionFeature feature) {
-    boolean _and = false;
-    String _id = feature.getId();
-    boolean _isEmpty = Strings.isEmpty(_id);
-    boolean _not = (!_isEmpty);
-    if (!_not) {
-      _and = false;
-    } else {
-      IDetailExpressionProvider.ExpressionPostfix _postfix = feature.getPostfix();
-      boolean _notEquals = (!Objects.equal(_postfix, null));
-      _and = _notEquals;
-    }
-    return _and;
+    return ((!Strings.isEmpty(feature.getId())) && (!Objects.equal(feature.getPostfix(), null)));
   }
   
   private boolean matches(final IDetailExpressionProvider.ExpressionFeature f1, final IDetailExpressionProvider.ExpressionFeature f2) {
-    boolean _and = false;
-    String _id = f1.getId();
-    String _id_1 = f2.getId();
-    boolean _equals = Objects.equal(_id, _id_1);
-    if (!_equals) {
-      _and = false;
-    } else {
-      IDetailExpressionProvider.ExpressionPostfix _postfix = f1.getPostfix();
-      IDetailExpressionProvider.ExpressionPostfix _postfix_1 = f2.getPostfix();
-      boolean _equals_1 = Objects.equal(_postfix, _postfix_1);
-      _and = _equals_1;
-    }
-    return _and;
+    return (Objects.equal(f1.getId(), f2.getId()) && Objects.equal(f1.getPostfix(), f2.getPostfix()));
   }
   
   public DetailExpressionAssistParser(final IDocument document, final int invocationOffset, final IDetailExpressionProvider provider) {
diff --git a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/DetailExpressionUIProvider.java b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/DetailExpressionUIProvider.java
index f52811d..d6e852a 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/DetailExpressionUIProvider.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.actioneditor/xtend-gen/org/eclipse/etrice/ui/behavior/actioneditor/sourceviewer/DetailExpressionUIProvider.java
@@ -87,18 +87,17 @@
       Object _data = feature.getData();
       final Object data = _data;
       boolean _matched = false;
-      if (!_matched) {
-        if (data instanceof Operation) {
-          _matched=true;
-          EList<VarDecl> _arguments = ((Operation)data).getArguments();
-          final Function1<VarDecl, String> _function = new Function1<VarDecl, String>() {
-            public String apply(final VarDecl it) {
-              return it.getName();
-            }
-          };
-          List<String> _map = ListExtensions.<VarDecl, String>map(_arguments, _function);
-          _switchResult_1 = IterableExtensions.join(_map, ", ");
-        }
+      if (data instanceof Operation) {
+        _matched=true;
+        EList<VarDecl> _arguments = ((Operation)data).getArguments();
+        final Function1<VarDecl, String> _function = new Function1<VarDecl, String>() {
+          @Override
+          public String apply(final VarDecl it) {
+            return it.getName();
+          }
+        };
+        List<String> _map = ListExtensions.<VarDecl, String>map(_arguments, _function);
+        _switchResult_1 = IterableExtensions.join(_map, ", ");
       }
       if (!_matched) {
         if (data instanceof Message) {
@@ -173,11 +172,9 @@
     Object _data = feature.getData();
     final Object data = _data;
     boolean _matched = false;
-    if (!_matched) {
-      if (data instanceof InterfaceItem) {
-        _matched=true;
-        _switchResult = ActionCodeColorManager.INTERFACE_ITEM;
-      }
+    if (data instanceof InterfaceItem) {
+      _matched=true;
+      _switchResult = ActionCodeColorManager.INTERFACE_ITEM;
     }
     if (!_matched) {
       if (data instanceof Attribute) {
@@ -227,14 +224,12 @@
     }
     String classInfo = _xifexpression;
     boolean _matched = false;
-    if (!_matched) {
-      if (data instanceof Attribute) {
-        _matched=true;
-        RefableType _type = ((Attribute)data).getType();
-        DataType _type_1 = _type.getType();
-        String _name = _type_1.getName();
-        typedInfo = _name;
-      }
+    if (data instanceof Attribute) {
+      _matched=true;
+      RefableType _type = ((Attribute)data).getType();
+      DataType _type_1 = _type.getType();
+      String _name = _type_1.getName();
+      typedInfo = _name;
     }
     if (!_matched) {
       if (data instanceof InterfaceItem) {
@@ -279,31 +274,21 @@
     boolean _equals = Objects.equal(_postfix, IDetailExpressionProvider.ExpressionPostfix.NONE);
     if (_equals) {
       boolean _matched_1 = false;
+      if (data instanceof SPP) {
+        boolean _isEventDriven = ((SPP)data).isEventDriven();
+        if (_isEventDriven) {
+          _matched_1=true;
+        }
+      }
       if (!_matched_1) {
-        if (data instanceof SPP) {
-          boolean _isEventDriven = ((SPP)data).isEventDriven();
-          if (_isEventDriven) {
+        if (data instanceof Port) {
+          if ((((Port)data).isReplicated() && ((Port)data).isEventDriven())) {
             _matched_1=true;
           }
         }
-        if (!_matched_1) {
-          if (data instanceof Port) {
-            boolean _and = false;
-            boolean _isReplicated = ((Port)data).isReplicated();
-            if (!_isReplicated) {
-              _and = false;
-            } else {
-              boolean _isEventDriven = ((Port)data).isEventDriven();
-              _and = _isEventDriven;
-            }
-            if (_and) {
-              _matched_1=true;
-            }
-          }
-        }
-        if (_matched_1) {
-          completionInfo = (completionInfo + " (broadcast)");
-        }
+      }
+      if (_matched_1) {
+        completionInfo = (completionInfo + " (broadcast)");
       }
     }
     boolean _isEmpty = typedInfo.isEmpty();
@@ -326,12 +311,10 @@
       Image _switchResult = null;
       Object _data = feature.getData();
       boolean _matched = false;
-      if (!_matched) {
-        if (_data instanceof EObject) {
-          _matched=true;
-          Object _data_1 = feature.getData();
-          _switchResult = this.labelProvider.getImage(_data_1);
-        }
+      if (_data instanceof EObject) {
+        _matched=true;
+        Object _data_1 = feature.getData();
+        _switchResult = this.labelProvider.getImage(_data_1);
       }
       if (!_matched) {
         if (_data instanceof RuntimeDetailExpressionProvider.RuntimeMethodExpressionData) {
@@ -350,6 +333,7 @@
   public Iterable<IDetailExpressionProvider.ExpressionFeature> getContextFeaturesWithPrefix(final IDetailExpressionProvider.ExpressionFeature ctx, final String prefix) {
     List<IDetailExpressionProvider.ExpressionFeature> _contextFeatures = this.delegate.getContextFeatures(ctx);
     final Function1<IDetailExpressionProvider.ExpressionFeature, Boolean> _function = new Function1<IDetailExpressionProvider.ExpressionFeature, Boolean>() {
+      @Override
       public Boolean apply(final IDetailExpressionProvider.ExpressionFeature it) {
         String _id = it.getId();
         return Boolean.valueOf(_id.startsWith(prefix));
@@ -364,6 +348,7 @@
   public Iterable<IDetailExpressionProvider.ExpressionFeature> getInitialFeaturesWithPrefix(final String prefix) {
     List<IDetailExpressionProvider.ExpressionFeature> _initialFeatures = this.delegate.getInitialFeatures();
     final Function1<IDetailExpressionProvider.ExpressionFeature, Boolean> _function = new Function1<IDetailExpressionProvider.ExpressionFeature, Boolean>() {
+      @Override
       public Boolean apply(final IDetailExpressionProvider.ExpressionFeature it) {
         String _id = it.getId();
         return Boolean.valueOf(_id.startsWith(prefix));
@@ -388,11 +373,11 @@
     this.delegate = delegate;
   }
   
-  public List<IDetailExpressionProvider.ExpressionFeature> getContextFeatures(final IDetailExpressionProvider.ExpressionFeature ctx) {
-    return this.delegate.getContextFeatures(ctx);
-  }
-  
   public List<IDetailExpressionProvider.ExpressionFeature> getInitialFeatures() {
     return this.delegate.getInitialFeatures();
   }
+  
+  public List<IDetailExpressionProvider.ExpressionFeature> getContextFeatures(final IDetailExpressionProvider.ExpressionFeature ctx) {
+    return this.delegate.getContextFeatures(ctx);
+  }
 }
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.behavior.fsm/META-INF/MANIFEST.MF
index c7ff71e..9f28579 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Abstract FSM Diagram Editor
 Bundle-SymbolicName: org.eclipse.etrice.ui.behavior.fsm;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.ui.behavior.fsm.Activator
 Bundle-Vendor: eTrice
-Require-Bundle: org.eclipse.etrice.core.common.ui;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common.base;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm.ui;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.common.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common.base;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm.ui;bundle-version="1.1.0",
  org.eclipse.graphiti;bundle-version="0.8.0",
  org.eclipse.graphiti.ui;bundle-version="0.8.0",
  org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100",
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/editor/AbstractFSMDiagramBehavior.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/editor/AbstractFSMDiagramBehavior.java
index f03eb2c..7dc1a9e 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/editor/AbstractFSMDiagramBehavior.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/editor/AbstractFSMDiagramBehavior.java
@@ -39,7 +39,7 @@
 	 * Add the DiagnosingModelObserver to the diagram business model when enabling adapters 
 	 */
 	@Override
-	protected void enableAdapters() {
+	public void enableAdapters() {
 		AbstractFSMEditor editor = (AbstractFSMEditor)getDiagramContainer();
 		DiagnosingModelObserver dmObserver = editor.getDiagnosingModelObserver();
 		if(dmObserver != null) dmObserver.enable();
@@ -51,7 +51,7 @@
 	 * disabling adapters 
 	 */
 	@Override
-	protected void disableAdapters() {
+	public void disableAdapters() {
 		AbstractFSMEditor editor = (AbstractFSMEditor)getDiagramContainer();
 		DiagnosingModelObserver dmObserver = editor.getDiagnosingModelObserver();
 		if(dmObserver != null) dmObserver.disable();
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ChoicePointSupport.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ChoicePointSupport.java
index d2502a4..8cb7bce 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ChoicePointSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ChoicePointSupport.java
@@ -148,6 +148,10 @@
 	
 			@Override
 			public boolean canCreate(ICreateContext context) {
+				if (context.getTargetConnection()!=null)
+					// we're hovering above a connection
+					return false;
+				
 				if (context.getTargetContainer().getLink()!=null)
 					if (context.getTargetContainer().getLink().getBusinessObjects().size()==1) {
 						EObject obj = context.getTargetContainer().getLink().getBusinessObjects().get(0);
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ContextSwitcher.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ContextSwitcher.java
index 01022e0..cdde42d 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ContextSwitcher.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/ContextSwitcher.java
@@ -113,12 +113,21 @@
 		for (Shape ctxShape : diagram.getChildren()) {
 			if (ctxShape instanceof ContainerShape && ctxShape.isVisible()) {
 				EObject bo = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(ctxShape);
-				assert(bo instanceof StateGraph): "expected state graph";
 				
 				if (bo instanceof StateGraph)
 					return (StateGraph) bo;
 			}
 		}
+		
+		// something seems to be wrong, switch to top
+		switchTop(diagram);
+		
+		// and return corresponding state graph
+		EObject bo = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(diagram);
+		if (bo instanceof ModelComponent) {
+			return ((ModelComponent) bo).getStateMachine();
+		}
+		
 		return null;
 	}
 	
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateSupport.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateSupport.java
index 4564b61..3650256 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/StateSupport.java
@@ -135,6 +135,10 @@
 	
 			@Override
 			public boolean canCreate(ICreateContext context) {
+				if (context.getTargetConnection()!=null)
+					// we're hovering above a connection
+					return false;
+				
 				if (context.getTargetContainer().getLink()!=null)
 					if (context.getTargetContainer().getLink().getBusinessObjects().size()==1) {
 						EObject obj = context.getTargetContainer().getLink().getBusinessObjects().get(0);
diff --git a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TrPointSupport.java b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TrPointSupport.java
index 40ed20f..cd2e86a 100644
--- a/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TrPointSupport.java
+++ b/plugins/org.eclipse.etrice.ui.behavior.fsm/src/org/eclipse/etrice/ui/behavior/fsm/support/TrPointSupport.java
@@ -183,14 +183,31 @@
 	
 			@Override
 			public boolean canCreate(ICreateContext context) {
+				if (context.getTargetConnection()!=null)
+					// we're hovering above a connection
+					return false;
+				
 				if (context.getTargetContainer().getLink()!=null)
 					if (context.getTargetContainer().getLink().getBusinessObjects().size()==1) {
 						EObject obj = context.getTargetContainer().getLink().getBusinessObjects().get(0);
 						if (obj instanceof StateGraph) {
 							StateGraph sg = (StateGraph) obj;
+							
+							// at this point the target container can be a state graph or an initial point
+							// - we need to sort out the latter one
+							if (context.getTargetContainer().getContainer().getLink().getBusinessObjects().size()==1) {
+								obj = context.getTargetContainer().getContainer().getLink().getBusinessObjects().get(0);
+								if (obj instanceof StateGraph) {
+									// the parent of the target is a state graph => target is an initial point
+									return false;
+								}
+							}
+							
 							if (sg.eContainer() instanceof ModelComponent)
+								// we are on the top level: no entry and exit points allowed
 								if (type!=Type.TRANS_POINT)
 									return false;
+							
 							return isValidPosition(context, context, StateGraphSupport.MARGIN);
 						}
 					}
diff --git a/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF
index 1a83549..0b3c027 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Actor Behavior Diagram Editor
 Bundle-SymbolicName: org.eclipse.etrice.ui.behavior;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.ui.behavior.Activator
-Require-Bundle: org.eclipse.etrice.core.room.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.common.ui;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common.base;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common;bundle-version="1.0.1",
- org.eclipse.etrice.ui.behavior.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm.ui;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.room.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.common.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common.base;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.behavior.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm.ui;bundle-version="1.1.0",
  org.eclipse.graphiti;bundle-version="0.8.0",
  org.eclipse.graphiti.ui;bundle-version="0.8.0",
  org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100",
@@ -19,8 +19,8 @@
  org.eclipse.emf.transaction;bundle-version="1.4.0",
  org.eclipse.xtext.ui;bundle-version="2.6.0",
  org.eclipse.xtext.ui.shared;bundle-version="2.6.0",
- org.eclipse.etrice.abstractexec.behavior;bundle-version="1.0.1",
- org.eclipse.etrice.core.genmodel
+ org.eclipse.etrice.abstractexec.behavior;bundle-version="1.1.0",
+ org.eclipse.etrice.core.genmodel;bundle-version="1.1.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-Vendor: Eclipse eTrice
diff --git a/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.java b/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.java
index de7125f..81e8370 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.java
@@ -42,6 +42,7 @@
 @FinalFieldsConstructor
 @SuppressWarnings("all")
 public class DefaultDetailExpressionProvider extends GuardDetailExpressionProvider {
+  @Override
   public List<IDetailExpressionProvider.ExpressionFeature> getInitialFeatures() {
     final List<IDetailExpressionProvider.ExpressionFeature> scope = CollectionLiterals.<IDetailExpressionProvider.ExpressionFeature>newArrayList();
     boolean _notEquals = (!Objects.equal(this.transitionEventData, null));
@@ -51,36 +52,27 @@
     }
     List<InterfaceItem> _allInterfaceItems = this.roomHelpers.getAllInterfaceItems(this.actorClass);
     final Procedure1<InterfaceItem> _function = new Procedure1<InterfaceItem>() {
+      @Override
       public void apply(final InterfaceItem it) {
         boolean _matched = false;
+        if (it instanceof SPP) {
+          boolean _isEventDriven = ((SPP)it).isEventDriven();
+          if (_isEventDriven) {
+            _matched=true;
+          }
+        }
         if (!_matched) {
-          if (it instanceof SPP) {
-            boolean _isEventDriven = ((SPP)it).isEventDriven();
-            if (_isEventDriven) {
+          if (it instanceof Port) {
+            if ((((Port)it).isEventDriven() && ((Port)it).isReplicated())) {
               _matched=true;
             }
           }
-          if (!_matched) {
-            if (it instanceof Port) {
-              boolean _and = false;
-              boolean _isEventDriven = ((Port)it).isEventDriven();
-              if (!_isEventDriven) {
-                _and = false;
-              } else {
-                boolean _isReplicated = ((Port)it).isReplicated();
-                _and = _isReplicated;
-              }
-              if (_and) {
-                _matched=true;
-              }
-            }
-          }
-          if (_matched) {
-            IDetailExpressionProvider.ExpressionFeature _createExprFeature = DefaultDetailExpressionProvider.this.createExprFeature(it);
-            scope.add(_createExprFeature);
-            IDetailExpressionProvider.ExpressionFeature _createExprFeature_1 = DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
-            scope.add(_createExprFeature_1);
-          }
+        }
+        if (_matched) {
+          IDetailExpressionProvider.ExpressionFeature _createExprFeature = DefaultDetailExpressionProvider.this.createExprFeature(it);
+          scope.add(_createExprFeature);
+          IDetailExpressionProvider.ExpressionFeature _createExprFeature_1 = DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
+          scope.add(_createExprFeature_1);
         }
         if (!_matched) {
           if (it instanceof Port) {
@@ -108,6 +100,7 @@
     IterableExtensions.<InterfaceItem>forEach(_allInterfaceItems, _function);
     List<StandardOperation> _latestOperations = this.roomHelpers.getLatestOperations(this.actorClass);
     final Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature>() {
+      @Override
       public IDetailExpressionProvider.ExpressionFeature apply(final StandardOperation it) {
         return DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
       }
@@ -116,17 +109,16 @@
     Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
     List<Attribute> _allAttributes = this.roomHelpers.getAllAttributes(this.actorClass);
     final Function1<Attribute, IDetailExpressionProvider.ExpressionFeature> _function_2 = new Function1<Attribute, IDetailExpressionProvider.ExpressionFeature>() {
+      @Override
       public IDetailExpressionProvider.ExpressionFeature apply(final Attribute it) {
         IDetailExpressionProvider.ExpressionFeature _switchResult = null;
         int _size = it.getSize();
         boolean _matched = false;
-        if (!_matched) {
-          int _size_1 = it.getSize();
-          boolean _greaterThan = (_size_1 > 1);
-          if (_greaterThan) {
-            _matched=true;
-            _switchResult = DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
-          }
+        int _size_1 = it.getSize();
+        boolean _greaterThan = (_size_1 > 1);
+        if (_greaterThan) {
+          _matched=true;
+          _switchResult = DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
         }
         if (!_matched) {
           _switchResult = DefaultDetailExpressionProvider.this.createExprFeature(it);
@@ -139,87 +131,88 @@
     return scope;
   }
   
+  @Override
   public List<IDetailExpressionProvider.ExpressionFeature> getContextFeatures(final IDetailExpressionProvider.ExpressionFeature ctx) {
     this.assertNotNull(ctx);
     final List<IDetailExpressionProvider.ExpressionFeature> scope = CollectionLiterals.<IDetailExpressionProvider.ExpressionFeature>newArrayList();
     Object _data = ctx.getData();
     final Object obj = _data;
     boolean _matched = false;
+    if (obj instanceof Port) {
+      int _multiplicity = ((Port)obj).getMultiplicity();
+      boolean _equals = (_multiplicity == 1);
+      if (_equals) {
+        _matched=true;
+      }
+    }
     if (!_matched) {
-      if (obj instanceof Port) {
-        int _multiplicity = ((Port)obj).getMultiplicity();
-        boolean _equals = (_multiplicity == 1);
-        if (_equals) {
-          _matched=true;
+      if (obj instanceof SAP) {
+        _matched=true;
+      }
+    }
+    if (_matched) {
+      ProtocolClass _protocol = this.roomHelpers.getProtocol(((InterfaceItem)obj));
+      boolean _isConjugated = this.roomHelpers.isConjugated(((InterfaceItem)obj));
+      boolean _not = (!_isConjugated);
+      List<PortOperation> _allOperations = this.roomHelpers.getAllOperations(_protocol, _not);
+      final Function1<PortOperation, IDetailExpressionProvider.ExpressionFeature> _function = new Function1<PortOperation, IDetailExpressionProvider.ExpressionFeature>() {
+        @Override
+        public IDetailExpressionProvider.ExpressionFeature apply(final PortOperation it) {
+          return DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
         }
-      }
-      if (!_matched) {
-        if (obj instanceof SAP) {
-          _matched=true;
-        }
-      }
-      if (_matched) {
-        ProtocolClass _protocol = this.roomHelpers.getProtocol(((InterfaceItem)obj));
-        boolean _isConjugated = this.roomHelpers.isConjugated(((InterfaceItem)obj));
-        boolean _not = (!_isConjugated);
-        List<PortOperation> _allOperations = this.roomHelpers.getAllOperations(_protocol, _not);
-        final Function1<PortOperation, IDetailExpressionProvider.ExpressionFeature> _function = new Function1<PortOperation, IDetailExpressionProvider.ExpressionFeature>() {
-          public IDetailExpressionProvider.ExpressionFeature apply(final PortOperation it) {
-            return DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
-          }
-        };
-        List<IDetailExpressionProvider.ExpressionFeature> _map = ListExtensions.<PortOperation, IDetailExpressionProvider.ExpressionFeature>map(_allOperations, _function);
-        Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
-      }
+      };
+      List<IDetailExpressionProvider.ExpressionFeature> _map = ListExtensions.<PortOperation, IDetailExpressionProvider.ExpressionFeature>map(_allOperations, _function);
+      Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
     }
     Object _data_1 = ctx.getData();
     final Object obj_1 = _data_1;
     boolean _matched_1 = false;
-    if (!_matched_1) {
-      if (obj_1 instanceof InterfaceItem) {
-        _matched_1=true;
-        final ProtocolClass pc = this.roomHelpers.getProtocol(((InterfaceItem)obj_1));
-        CommunicationType _commType = pc.getCommType();
-        if (_commType != null) {
-          switch (_commType) {
-            case EVENT_DRIVEN:
-              boolean _isConjugated_1 = this.roomHelpers.isConjugated(((InterfaceItem)obj_1));
-              List<Message> _allMessages = this.roomHelpers.getAllMessages(pc, _isConjugated_1);
-              final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
+    if (obj_1 instanceof InterfaceItem) {
+      _matched_1=true;
+      final ProtocolClass pc = this.roomHelpers.getProtocol(((InterfaceItem)obj_1));
+      CommunicationType _commType = pc.getCommType();
+      if (_commType != null) {
+        switch (_commType) {
+          case EVENT_DRIVEN:
+            boolean _isConjugated_1 = this.roomHelpers.isConjugated(((InterfaceItem)obj_1));
+            List<Message> _allMessages = this.roomHelpers.getAllMessages(pc, _isConjugated_1);
+            final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
+              @Override
+              public IDetailExpressionProvider.ExpressionFeature apply(final Message it) {
+                return DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
+              }
+            };
+            List<IDetailExpressionProvider.ExpressionFeature> _map_1 = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allMessages, _function_1);
+            Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_1);
+            break;
+          case DATA_DRIVEN:
+            boolean _isConjugated_2 = this.roomHelpers.isConjugated(((InterfaceItem)obj_1));
+            if (_isConjugated_2) {
+              List<Message> _allIncomingMessages = this.roomHelpers.getAllIncomingMessages(pc);
+              final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function_2 = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
+                @Override
                 public IDetailExpressionProvider.ExpressionFeature apply(final Message it) {
                   return DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
                 }
               };
-              List<IDetailExpressionProvider.ExpressionFeature> _map_1 = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allMessages, _function_1);
-              Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_1);
-              break;
-            case DATA_DRIVEN:
-              boolean _isConjugated_2 = this.roomHelpers.isConjugated(((InterfaceItem)obj_1));
-              if (_isConjugated_2) {
-                List<Message> _allIncomingMessages = this.roomHelpers.getAllIncomingMessages(pc);
-                final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function_2 = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
-                  public IDetailExpressionProvider.ExpressionFeature apply(final Message it) {
-                    return DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
-                  }
-                };
-                List<IDetailExpressionProvider.ExpressionFeature> _map_2 = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allIncomingMessages, _function_2);
-                Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_2);
-              } else {
-                List<Message> _allIncomingMessages_1 = this.roomHelpers.getAllIncomingMessages(pc);
-                final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function_3 = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
-                  public IDetailExpressionProvider.ExpressionFeature apply(final Message it) {
-                    return DefaultDetailExpressionProvider.this.createExprFeature(it);
-                  }
-                };
-                List<IDetailExpressionProvider.ExpressionFeature> _map_3 = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allIncomingMessages_1, _function_3);
-                Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_3);
-              }
-              break;
-            case SYNCHRONOUS:
-              break;
-            default:
-              break;
-          }
+              List<IDetailExpressionProvider.ExpressionFeature> _map_2 = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allIncomingMessages, _function_2);
+              Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_2);
+            } else {
+              List<Message> _allIncomingMessages_1 = this.roomHelpers.getAllIncomingMessages(pc);
+              final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function_3 = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
+                @Override
+                public IDetailExpressionProvider.ExpressionFeature apply(final Message it) {
+                  return DefaultDetailExpressionProvider.this.createExprFeature(it);
+                }
+              };
+              List<IDetailExpressionProvider.ExpressionFeature> _map_3 = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allIncomingMessages_1, _function_3);
+              Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_3);
+            }
+            break;
+          case SYNCHRONOUS:
+            break;
+          default:
+            break;
         }
       }
     }
@@ -234,6 +227,7 @@
           final DataClass dc = ((DataClass) _type_3);
           List<Attribute> _allAttributes = this.roomHelpers.getAllAttributes(dc);
           final Function1<Attribute, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<Attribute, IDetailExpressionProvider.ExpressionFeature>() {
+            @Override
             public IDetailExpressionProvider.ExpressionFeature apply(final Attribute it) {
               IDetailExpressionProvider.ExpressionFeature _xifexpression = null;
               int _size = it.getSize();
diff --git a/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.java b/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.java
index 75145f8..b5c88cf 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.java
@@ -62,6 +62,7 @@
   @Accessors(AccessorType.PUBLIC_SETTER)
   protected VarDecl transitionEventData;
   
+  @Override
   public List<IDetailExpressionProvider.ExpressionFeature> getInitialFeatures() {
     final List<IDetailExpressionProvider.ExpressionFeature> scope = CollectionLiterals.<IDetailExpressionProvider.ExpressionFeature>newArrayList();
     boolean _notEquals = (!Objects.equal(this.transitionEventData, null));
@@ -71,31 +72,22 @@
     }
     List<InterfaceItem> _allInterfaceItems = this.roomHelpers.getAllInterfaceItems(this.actorClass);
     final Function1<InterfaceItem, Boolean> _function = new Function1<InterfaceItem, Boolean>() {
+      @Override
       public Boolean apply(final InterfaceItem it) {
-        boolean _and = false;
-        boolean _isDataDriven = GuardDetailExpressionProvider.this.roomHelpers.isDataDriven(it);
-        if (!_isDataDriven) {
-          _and = false;
-        } else {
-          boolean _isConjugated = GuardDetailExpressionProvider.this.roomHelpers.isConjugated(it);
-          boolean _not = (!_isConjugated);
-          _and = _not;
-        }
-        return Boolean.valueOf(_and);
+        return Boolean.valueOf((GuardDetailExpressionProvider.this.roomHelpers.isDataDriven(it) && (!GuardDetailExpressionProvider.this.roomHelpers.isConjugated(it))));
       }
     };
     Iterable<InterfaceItem> _filter = IterableExtensions.<InterfaceItem>filter(_allInterfaceItems, _function);
     final Function1<InterfaceItem, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<InterfaceItem, IDetailExpressionProvider.ExpressionFeature>() {
+      @Override
       public IDetailExpressionProvider.ExpressionFeature apply(final InterfaceItem it) {
         IDetailExpressionProvider.ExpressionFeature _switchResult = null;
         boolean _matched = false;
-        if (!_matched) {
-          if (it instanceof Port) {
-            boolean _isReplicated = ((Port)it).isReplicated();
-            if (_isReplicated) {
-              _matched=true;
-              _switchResult = GuardDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
-            }
+        if (it instanceof Port) {
+          boolean _isReplicated = ((Port)it).isReplicated();
+          if (_isReplicated) {
+            _matched=true;
+            _switchResult = GuardDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
           }
         }
         if (!_matched) {
@@ -108,6 +100,7 @@
     Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
     List<StandardOperation> _latestOperations = this.roomHelpers.getLatestOperations(this.actorClass);
     final Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature> _function_2 = new Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature>() {
+      @Override
       public IDetailExpressionProvider.ExpressionFeature apply(final StandardOperation it) {
         return GuardDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
       }
@@ -116,17 +109,16 @@
     Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_1);
     List<Attribute> _allAttributes = this.roomHelpers.getAllAttributes(this.actorClass);
     final Function1<Attribute, IDetailExpressionProvider.ExpressionFeature> _function_3 = new Function1<Attribute, IDetailExpressionProvider.ExpressionFeature>() {
+      @Override
       public IDetailExpressionProvider.ExpressionFeature apply(final Attribute it) {
         IDetailExpressionProvider.ExpressionFeature _switchResult = null;
         int _size = it.getSize();
         boolean _matched = false;
-        if (!_matched) {
-          int _size_1 = it.getSize();
-          boolean _greaterThan = (_size_1 > 1);
-          if (_greaterThan) {
-            _matched=true;
-            _switchResult = GuardDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
-          }
+        int _size_1 = it.getSize();
+        boolean _greaterThan = (_size_1 > 1);
+        if (_greaterThan) {
+          _matched=true;
+          _switchResult = GuardDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
         }
         if (!_matched) {
           _switchResult = GuardDetailExpressionProvider.this.createExprFeature(it);
@@ -139,36 +131,36 @@
     return scope;
   }
   
+  @Override
   public List<IDetailExpressionProvider.ExpressionFeature> getContextFeatures(final IDetailExpressionProvider.ExpressionFeature ctx) {
     this.assertNotNull(ctx);
     final List<IDetailExpressionProvider.ExpressionFeature> scope = CollectionLiterals.<IDetailExpressionProvider.ExpressionFeature>newArrayList();
     Object _data = ctx.getData();
     final Object obj = _data;
     boolean _matched = false;
-    if (!_matched) {
-      if (obj instanceof InterfaceItem) {
-        _matched=true;
-        final ProtocolClass pc = this.roomHelpers.getProtocol(((InterfaceItem)obj));
-        CommunicationType _commType = pc.getCommType();
-        if (_commType != null) {
-          switch (_commType) {
-            case DATA_DRIVEN:
-              boolean _isConjugated = this.roomHelpers.isConjugated(((InterfaceItem)obj));
-              boolean _not = (!_isConjugated);
-              if (_not) {
-                List<Message> _allIncomingMessages = this.roomHelpers.getAllIncomingMessages(pc);
-                final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
-                  public IDetailExpressionProvider.ExpressionFeature apply(final Message it) {
-                    return GuardDetailExpressionProvider.this.createExprFeature(it);
-                  }
-                };
-                List<IDetailExpressionProvider.ExpressionFeature> _map = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allIncomingMessages, _function);
-                Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
-              }
-              break;
-            default:
-              break;
-          }
+    if (obj instanceof InterfaceItem) {
+      _matched=true;
+      final ProtocolClass pc = this.roomHelpers.getProtocol(((InterfaceItem)obj));
+      CommunicationType _commType = pc.getCommType();
+      if (_commType != null) {
+        switch (_commType) {
+          case DATA_DRIVEN:
+            boolean _isConjugated = this.roomHelpers.isConjugated(((InterfaceItem)obj));
+            boolean _not = (!_isConjugated);
+            if (_not) {
+              List<Message> _allIncomingMessages = this.roomHelpers.getAllIncomingMessages(pc);
+              final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
+                @Override
+                public IDetailExpressionProvider.ExpressionFeature apply(final Message it) {
+                  return GuardDetailExpressionProvider.this.createExprFeature(it);
+                }
+              };
+              List<IDetailExpressionProvider.ExpressionFeature> _map = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allIncomingMessages, _function);
+              Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
+            }
+            break;
+          default:
+            break;
         }
       }
     }
@@ -183,6 +175,7 @@
           final DataClass dc = ((DataClass) _type_3);
           List<Attribute> _allAttributes = this.roomHelpers.getAllAttributes(dc);
           final Function1<Attribute, IDetailExpressionProvider.ExpressionFeature> _function = new Function1<Attribute, IDetailExpressionProvider.ExpressionFeature>() {
+            @Override
             public IDetailExpressionProvider.ExpressionFeature apply(final Attribute it) {
               IDetailExpressionProvider.ExpressionFeature _xifexpression = null;
               int _size = it.getSize();
@@ -199,6 +192,7 @@
           Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
           List<StandardOperation> _latestOperations = this.roomHelpers.getLatestOperations(dc);
           final Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature>() {
+            @Override
             public IDetailExpressionProvider.ExpressionFeature apply(final StandardOperation it) {
               return GuardDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
             }
diff --git a/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/RuntimeDetailExpressionProvider.java b/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/RuntimeDetailExpressionProvider.java
index f532f2c..4a9db9e 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/RuntimeDetailExpressionProvider.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/RuntimeDetailExpressionProvider.java
@@ -24,34 +24,31 @@
   
   public final static String RT_METHOD_GET_REPLICATION = "getReplication";
   
+  @Override
   public List<IDetailExpressionProvider.ExpressionFeature> getContextFeatures(final IDetailExpressionProvider.ExpressionFeature ctx) {
     final List<IDetailExpressionProvider.ExpressionFeature> scope = super.getContextFeatures(ctx);
     Object _data = ctx.getData();
     final Object obj = _data;
     boolean _matched = false;
-    if (!_matched) {
-      if (obj instanceof InterfaceItem) {
-        _matched=true;
-        IDetailExpressionProvider.ExpressionPostfix _postfix = ctx.getPostfix();
-        boolean _equals = Objects.equal(_postfix, IDetailExpressionProvider.ExpressionPostfix.NONE);
-        if (_equals) {
-          boolean _matched_1 = false;
-          if (!_matched_1) {
-            if (obj instanceof Port) {
-              boolean _isReplicated = ((Port)obj).isReplicated();
-              if (_isReplicated) {
-                _matched_1=true;
-              }
-            }
-            if (!_matched_1) {
-              if (obj instanceof SPP) {
-                _matched_1=true;
-              }
-            }
-            if (_matched_1) {
-            }
+    if (obj instanceof InterfaceItem) {
+      _matched=true;
+      IDetailExpressionProvider.ExpressionPostfix _postfix = ctx.getPostfix();
+      boolean _equals = Objects.equal(_postfix, IDetailExpressionProvider.ExpressionPostfix.NONE);
+      if (_equals) {
+        boolean _matched_1 = false;
+        if (obj instanceof Port) {
+          boolean _isReplicated = ((Port)obj).isReplicated();
+          if (_isReplicated) {
+            _matched_1=true;
           }
         }
+        if (!_matched_1) {
+          if (obj instanceof SPP) {
+            _matched_1=true;
+          }
+        }
+        if (_matched_1) {
+        }
       }
     }
     return scope;
diff --git a/plugins/org.eclipse.etrice.ui.commands/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.commands/META-INF/MANIFEST.MF
index 590915c..bbcdb64 100644
--- a/plugins/org.eclipse.etrice.ui.commands/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.commands/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Commands
 Bundle-SymbolicName: org.eclipse.etrice.ui.commands; singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.ui.commands.Activator
 Bundle-Vendor: Eclipse eTrice
-Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.common.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.room.ui;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common.base;bundle-version="1.0.1",
- org.eclipse.etrice.ui.structure;bundle-version="1.0.1",
- org.eclipse.etrice.ui.behavior.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.ui.behavior;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.common.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common.base;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.structure;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.behavior.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.behavior;bundle-version="1.1.0",
  org.eclipse.graphiti;bundle-version="0.8.0",
  org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100",
  org.eclipse.xtext.ui;bundle-version="2.6.0",
diff --git a/plugins/org.eclipse.etrice.ui.common.base/.classpath b/plugins/org.eclipse.etrice.ui.common.base/.classpath
index ad32c83..eca7bdb 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/.classpath
+++ b/plugins/org.eclipse.etrice.ui.common.base/.classpath
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="output" path="bin"/>
diff --git a/plugins/org.eclipse.etrice.ui.common.base/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.etrice.ui.common.base/.settings/org.eclipse.jdt.core.prefs
index c537b63..0c68a61 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.etrice.ui.common.base/.settings/org.eclipse.jdt.core.prefs
@@ -1,7 +1,7 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/org.eclipse.etrice.ui.common.base/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.common.base/META-INF/MANIFEST.MF
index 0e966c7..317b50a 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.common.base/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common Base for UI
 Bundle-SymbolicName: org.eclipse.etrice.ui.common.base;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.ui.common.base.UIBaseActivator
 Bundle-Vendor: eTrice
-Require-Bundle: org.eclipse.etrice.core.common.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm.ui;bundle-version="1.0.1",
- org.eclipse.etrice.doc;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.common.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.doc;bundle-version="1.1.0",
  org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.emf.transaction;bundle-version="1.4.0",
@@ -25,7 +25,7 @@
  org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100",
  org.eclipse.ui.ide;bundle-version="3.9.2",
  org.eclipse.help
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.apache.log4j
 Export-Package: org.eclipse.etrice.ui.common.base,
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/AbstractPropertyDialog.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/AbstractPropertyDialog.java
index 350ca7b..b848266 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/AbstractPropertyDialog.java
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/dialogs/AbstractPropertyDialog.java
@@ -70,7 +70,8 @@
 import org.eclipse.ui.forms.widgets.FormToolkit;
 import org.eclipse.xtext.resource.IEObjectDescription;
 
-
+// note: the FormDialog of org.eclipse.ui.forms.source_3.7.0 requires JavaSE-1.8
+// therefore we need to set the BREE of this plug-in also to Java 8
 public abstract class AbstractPropertyDialog extends FormDialog {
 	
 	private class GlobalStatus extends ComputedValue {
diff --git a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomUpdateBehavior.java b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomUpdateBehavior.java
index 3916cac..1502fb9 100644
--- a/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomUpdateBehavior.java
+++ b/plugins/org.eclipse.etrice.ui.common.base/src/org/eclipse/etrice/ui/common/base/editor/CustomUpdateBehavior.java
@@ -24,10 +24,9 @@
 import org.eclipse.emf.workspace.IWorkspaceCommandStack;
 import org.eclipse.emf.workspace.WorkspaceEditingDomainFactory;
 import org.eclipse.etrice.core.fsm.ui.FSMUiModule;
-import org.eclipse.etrice.ui.common.base.editor.CustomResourceSetProvider;
-import org.eclipse.etrice.ui.common.base.editor.IInputUriHolder;
 import org.eclipse.graphiti.ui.editor.DefaultUpdateBehavior;
 import org.eclipse.graphiti.ui.editor.DiagramBehavior;
+import org.eclipse.graphiti.ui.editor.IDiagramEditorInput;
 import org.eclipse.graphiti.ui.internal.editor.GFWorkspaceCommandStackImpl;
 import org.eclipse.xtext.resource.XtextResourceSet;
 import org.eclipse.xtext.ui.resource.IResourceSetProvider;
@@ -57,7 +56,7 @@
 	 * @see org.eclipse.graphiti.ui.editor.DefaultUpdateBehavior#createEditingDomain()
 	 */
 	@Override
-	protected void createEditingDomain() {
+	protected void createEditingDomain(IDiagramEditorInput input) {
 		ResourceSet resourceSet;
 		if (diagramBehavior.getDiagramContainer() instanceof IInputUriHolder) {
 			URI uri = ((IInputUriHolder)diagramBehavior.getDiagramContainer()).getInputUri();
diff --git a/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF
index 178de1d..7109817 100644
--- a/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: UI Common
 Bundle-SymbolicName: org.eclipse.etrice.ui.common;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Vendor: Eclipse eTrice
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.core.room.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.common.ui;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common.base;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.common.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common.base;bundle-version="1.1.0",
  org.eclipse.emf.transaction;bundle-version="1.4.0",
  org.eclipse.graphiti;bundle-version="0.8.0",
  org.eclipse.ui.ide;bundle-version="3.6.0",
diff --git a/plugins/org.eclipse.etrice.ui.layout/.classpath b/plugins/org.eclipse.etrice.ui.layout/.classpath
deleted file mode 100644
index ad32c83..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.etrice.ui.layout/.gitignore b/plugins/org.eclipse.etrice.ui.layout/.gitignore
deleted file mode 100644
index ba077a4..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/plugins/org.eclipse.etrice.ui.layout/.project b/plugins/org.eclipse.etrice.ui.layout/.project
deleted file mode 100644
index 1c2d0c1..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.etrice.ui.layout</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.etrice.ui.layout/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.etrice.ui.layout/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c537b63..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/plugins/org.eclipse.etrice.ui.layout/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.layout/META-INF/MANIFEST.MF
deleted file mode 100644
index a6cc252..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,29 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: KIELER support for ETrice
-Bundle-SymbolicName: org.eclipse.etrice.ui.layout;singleton:=true
-Bundle-Version: 1.0.1.qualifier
-Bundle-Vendor: Eclipse eTrice
-Require-Bundle: org.eclipse.graphiti;bundle-version="0.8.1",
- org.eclipse.graphiti.ui;bundle-version="0.8.1",
- org.eclipse.gef;bundle-version="3.5.0",
- org.eclipse.ui;bundle-version="3.5.0",
- org.eclipse.core.runtime;bundle-version="3.5.0",
- org.eclipse.emf.transaction;bundle-version="1.3.0",
- org.eclipse.ui.ide;bundle-version="3.5.0",
- org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.0",
- com.google.guava;bundle-version="8.0.0",
- de.cau.cs.kieler.core;bundle-version="0.8.0",
- de.cau.cs.kieler.core.kgraph;bundle-version="0.4.1",
- de.cau.cs.kieler.kiml.ui;bundle-version="0.7.1",
- de.cau.cs.kieler.kiml.graphiti;bundle-version="0.2.0",
- org.eclipse.etrice.ui.behavior;bundle-version="1.0.1",
- org.eclipse.etrice.ui.behavior.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.ui.structure;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common.base;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.etrice.ui.layout.Activator
diff --git a/plugins/org.eclipse.etrice.ui.layout/about.html b/plugins/org.eclipse.etrice.ui.layout/about.html
deleted file mode 100644
index d35d5ae..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 5, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/plugins/org.eclipse.etrice.ui.layout/build.properties b/plugins/org.eclipse.etrice.ui.layout/build.properties
deleted file mode 100644
index 0a3895a..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               epl-v10.html
-src.includes = epl-v10.html
diff --git a/plugins/org.eclipse.etrice.ui.layout/epl-v10.html b/plugins/org.eclipse.etrice.ui.layout/epl-v10.html
deleted file mode 100644
index 9e4b628..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/epl-v10.html
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Public License - Version 1.0</title>
-<style type="text/css">
-  body {
-    size: 8.5in 11.0in;
-    margin: 0.25in 0.5in 0.25in 0.5in;
-    tab-interval: 0.5in;
-    }
-  p {  	
-    margin-left: auto;
-    margin-top:  0.5em;
-    margin-bottom: 0.5em;
-    }
-  p.list {
-  	margin-left: 0.5in;
-    margin-top:  0.05em;
-    margin-bottom: 0.05em;
-    }
-  </style>
-
-</head>
-
-<body lang="EN-US">
-
-<p align=center><b>Eclipse Public License - v 1.0</b></p>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
-
-<p><b>1. DEFINITIONS</b></p>
-
-<p>&quot;Contribution&quot; means:</p>
-
-<p class="list">a) in the case of the initial Contributor, the initial
-code and documentation distributed under this Agreement, and</p>
-<p class="list">b) in the case of each subsequent Contributor:</p>
-
-<p class="list">i) changes to the Program, and</p>
-<p class="list">ii) additions to the Program;</p>
-<p class="list">where such changes and/or additions to the Program
-originate from and are distributed by that particular Contributor. A
-Contribution 'originates' from a Contributor if it was added to the
-Program by such Contributor itself or anyone acting on such
-Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in
-conjunction with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.</p>
-
-<p>&quot;Contributor&quot; means any person or entity that distributes
-the Program.</p>
-
-<p>&quot;Licensed Patents&quot; mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of its
-Contribution alone or when combined with the Program.</p>
-
-<p>&quot;Program&quot; means the Contributions distributed in accordance
-with this Agreement.</p>
-
-<p>&quot;Recipient&quot; means anyone who receives the Program under
-this Agreement, including all Contributors.</p>
-
-<p><b>2. GRANT OF RIGHTS</b></p>
-
-<p class="list">a) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free copyright license to reproduce, prepare derivative works
-of, publicly display, publicly perform, distribute and sublicense the
-Contribution of such Contributor, if any, and such derivative works, in
-source code and object code form.</p>
-
-<p class="list">b) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free patent license under Licensed Patents to make, use, sell,
-offer to sell, import and otherwise transfer the Contribution of such
-Contributor, if any, in source code and object code form. This patent
-license shall apply to the combination of the Contribution and the
-Program if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to be covered
-by the Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</p>
-
-<p class="list">c) Recipient understands that although each Contributor
-grants the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility to
-secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow Recipient
-to distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</p>
-
-<p class="list">d) Each Contributor represents that to its knowledge it
-has sufficient copyright rights in its Contribution, if any, to grant
-the copyright license set forth in this Agreement.</p>
-
-<p><b>3. REQUIREMENTS</b></p>
-
-<p>A Contributor may choose to distribute the Program in object code
-form under its own license agreement, provided that:</p>
-
-<p class="list">a) it complies with the terms and conditions of this
-Agreement; and</p>
-
-<p class="list">b) its license agreement:</p>
-
-<p class="list">i) effectively disclaims on behalf of all Contributors
-all warranties and conditions, express and implied, including warranties
-or conditions of title and non-infringement, and implied warranties or
-conditions of merchantability and fitness for a particular purpose;</p>
-
-<p class="list">ii) effectively excludes on behalf of all Contributors
-all liability for damages, including direct, indirect, special,
-incidental and consequential damages, such as lost profits;</p>
-
-<p class="list">iii) states that any provisions which differ from this
-Agreement are offered by that Contributor alone and not by any other
-party; and</p>
-
-<p class="list">iv) states that source code for the Program is available
-from such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for software
-exchange.</p>
-
-<p>When the Program is made available in source code form:</p>
-
-<p class="list">a) it must be made available under this Agreement; and</p>
-
-<p class="list">b) a copy of this Agreement must be included with each
-copy of the Program.</p>
-
-<p>Contributors may not remove or alter any copyright notices contained
-within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and the
-like. While this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and
-indemnify every other Contributor (&quot;Indemnified Contributor&quot;)
-against any losses, damages and costs (collectively &quot;Losses&quot;)
-arising from claims, lawsuits and other legal actions brought by a third
-party against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection with its
-distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In
-order to qualify, an Indemnified Contributor must: a) promptly notify
-the Commercial Contributor in writing of such claim, and b) allow the
-Commercial Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement negotiations. The
-Indemnified Contributor may participate in any such claim at its own
-expense.</p>
-
-<p>For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.</p>
-
-<p><b>5. NO WARRANTY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to
-the risks and costs of program errors, compliance with applicable laws,
-damage to or loss of data, programs or equipment, and unavailability or
-interruption of operations.</p>
-
-<p><b>6. DISCLAIMER OF LIABILITY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p><b>7. GENERAL</b></p>
-
-<p>If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further action
-by the parties hereto, such provision shall be reformed to the minimum
-extent necessary to make such provision valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that the
-Program itself (excluding combinations of the Program with other
-software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the
-date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if it
-fails to comply with any of the material terms or conditions of this
-Agreement and does not cure such failure in a reasonable period of time
-after becoming aware of such noncompliance. If all Recipient's rights
-under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other than the
-Agreement Steward has the right to modify this Agreement. The Eclipse
-Foundation is the initial Agreement Steward. The Eclipse Foundation may
-assign the responsibility to serve as the Agreement Steward to a
-suitable separate entity. Each new version of the Agreement will be
-given a distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of the
-Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the
-Program (including its Contributions) under the new version. Except as
-expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-rights or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this
-Agreement are reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York and
-the intellectual property laws of the United States of America. No party
-to this Agreement will bring a legal action under this Agreement more
-than one year after the cause of action arose. Each party waives its
-rights to a jury trial in any resulting litigation.</p>
-
-</body>
-
-</html>
diff --git a/plugins/org.eclipse.etrice.ui.layout/plugin.xml b/plugins/org.eclipse.etrice.ui.layout/plugin.xml
deleted file mode 100644
index 1def84f..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/plugin.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-   <extension
-         point="de.cau.cs.kieler.kiml.ui.layoutManagers">
-      <manager
-            class="org.eclipse.etrice.ui.layout.BehaviorDiagramLayoutManager"
-            priority="1">
-      </manager>
-      <manager
-            class="org.eclipse.etrice.ui.layout.StructureDiagramLayoutManager"
-            priority="1">
-      </manager>
-   </extension>
-   <extension
-         point="de.cau.cs.kieler.kiml.layoutInfo">
-      <diagramType
-            id="org.eclipse.etrice.ui.layout.eTriceBehaviorDiagram"
-            name="eTrice Behavior Diagram">
-      </diagramType>
-      <option
-            class="org.eclipse.etrice.ui.layout.eTriceBehaviorDiagram"
-            option="de.cau.cs.kieler.algorithm"
-            value="de.cau.cs.kieler.graphviz.dot">
-      </option>
-      <option
-            class="org.eclipse.etrice.ui.layout.eTriceBehaviorDiagram"
-            option="de.cau.cs.kieler.borderSpacing"
-            value="30">
-      </option>
-      <option
-            class="org.eclipse.etrice.ui.layout.eTriceBehaviorDiagram"
-            option="de.cau.cs.kieler.spacing"
-            value="50">
-      </option>
-      <diagramType
-            id="org.eclipse.etrice.ui.layout.eTriceStructureDiagram"
-            name="eTrice Structure Diagram">
-      </diagramType>
-      <option
-            class="org.eclipse.etrice.ui.layout.eTriceStructureDiagram"
-            option="de.cau.cs.kieler.algorithm"
-            value="de.cau.cs.kieler.klay.layered">
-      </option>
-      <option
-            class="org.eclipse.etrice.ui.layout.eTriceStructureDiagram"
-            option="de.cau.cs.kieler.spacing"
-            value="50">
-      </option>
-      <option
-            class="org.eclipse.etrice.ui.layout.eTriceStructureDiagram"
-            option="de.cau.cs.kieler.borderSpacing"
-            value="50">
-      </option>
-      <config
-            class="org.eclipse.etrice.ui.layout.ETriceLayoutConfig">
-      </config>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            category="org.eclipse.etrice.ui.common.preferences.ETricePreferencePage"
-            class="org.eclipse.etrice.ui.layout.preferences.ETriceLayoutPreferencePage"
-            id="org.eclipse.etrice.ui.layout.preferences.ETriceLayoutPreferencePage"
-            name="Layout">
-      </page>
-      <page
-            category="org.eclipse.etrice.ui.layout.preferences.ETriceLayoutPreferencePage"
-            class="org.eclipse.etrice.ui.layout.preferences.ETriceBehaviorPreferencePage"
-            id="org.eclipse.etrice.ui.layout.ETriceBehaviorPreferencePage"
-            name="Behavior">
-      </page>
-      <page
-            category="org.eclipse.etrice.ui.layout.preferences.ETriceLayoutPreferencePage"
-            class="org.eclipse.etrice.ui.layout.preferences.EtriceStructurePreferencePage"
-            id="org.eclipse.etrice.ui.layout.ETriceStructurePreferencePage"
-            name="Structure">
-      </page>
-   </extension>
-   <extension
-		point="org.eclipse.ui.menus">
-		<menuContribution
-		      locationURI="popup:org.eclipse.ui.popup.any?after=additions">
-		   <command
-		         commandId="de.cau.cs.kieler.kiml.ui.command.layout"
-		         label="Layout"
-		         style="push">
-		      <parameter
-		            name="de.cau.cs.kieler.kiml.ui.layoutScope"
-		            value="selection">
-		      </parameter>
-		      <visibleWhen
-		            checkEnabled="false">
-		         <with
-		               variable="activeEditor">
-		            <test
-		                  property="de.cau.cs.kieler.kiml.ui.activeEditorIsSupported">
-		            </test>
-		         </with>
-		      </visibleWhen>
-		   </command>
-		</menuContribution>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/Activator.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/Activator.java
deleted file mode 100644
index 90c62ae..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/Activator.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-import de.cau.cs.kieler.kiml.ui.KimlUiPlugin;
-
-/**
- * The activator class which controls the plug-in life cycle.
- * 
- * @author jayant
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.etrice.ui.layout";
-
-	// The shared instance
-	private static Activator plugin;
-
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
-	 * )
-	 */
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
-	 * )
-	 */
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 * 
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Gets the common Preference Store which is shared with KIELER Preference page as well.  
-	 * 
-	 * @return the shared preference store
-	 * 
-	 * @author jayant
-	 * 
-	 */
-	public IPreferenceStore getSharedPreferenceStore(){
-		return (KimlUiPlugin.getDefault().getPreferenceStore());
-		
-	}
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/BehaviorDiagramLayoutManager.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/BehaviorDiagramLayoutManager.java
deleted file mode 100644
index c4485fa..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/BehaviorDiagramLayoutManager.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout;
-
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.fsm.fSM.StateGraph;
-import org.eclipse.etrice.core.fsm.fSM.TrPoint;
-import org.eclipse.etrice.ui.behavior.editor.BehaviorEditor;
-import org.eclipse.etrice.ui.behavior.fsm.support.StateSupport;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.ui.internal.parts.IPictogramElementEditPart;
-
-import de.cau.cs.kieler.core.kgraph.KNode;
-import de.cau.cs.kieler.kiml.graphiti.KimlGraphitiUtil;
-import de.cau.cs.kieler.kiml.ui.diagram.LayoutMapping;
-import de.cau.cs.kieler.kiml.util.KimlUtil;
-
-/**
- * Layout Manager implementation for eTrice Structure Editor.
- * 
- * @author jayant
- */
-@SuppressWarnings("restriction")
-public class BehaviorDiagramLayoutManager extends ETriceDiagramLayoutManager {
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public boolean supports(final Object object) {
-
-		return object instanceof BehaviorEditor
-				|| object instanceof IPictogramElementEditPart
-				|| object instanceof PictogramElement;
-
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected void buildLayoutGraphForBoundingBox(
-			LayoutMapping<PictogramElement> mapping, Diagram diagram,
-			KNode diagramNode, boolean onlyVisible) {
-
-		if (onlyVisible) {
-			for (Shape boundingBox : ((Diagram) diagram).getChildren()) {
-				if (boundingBox.isVisible()) {
-					buildAllLevels(mapping, boundingBox, diagramNode);
-					break;
-				}
-			}
-		} else {
-			// This happens when the user requests Layout of the whole hierarchy
-			// of Diagrams in the behavior editor
-			// FIXME need to be corrected.
-			for (Shape boundingBox : ((Diagram) diagram).getChildren())
-				buildAllLevels(mapping, boundingBox, diagramNode);
-		}
-
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected Dimension getDefaultSize(Shape shape) {
-		Dimension defaultSize = new Dimension();
-
-		// This code sets the same minimal default size for both State Graph and
-		// State
-		defaultSize.setSize(StateSupport.MIN_SIZE_X, StateSupport.MIN_SIZE_Y);
-
-		/*
-		 * This code snippet sets default the size for State Graphs and States
-		 * differently. With this the top-level container remains large after
-		 * layout (according to the default size in StateGraphSupport), which
-		 * might not look proper.
-		 */
-		/*
-		EObject modelObject = shape.getLink().getBusinessObjects().get(0);
-		if (modelObject instanceof StateGraph) {
-			defaultSize.setSize(StateGraphSupport.DEFAULT_SIZE_X,
-					StateGraphSupport.DEFAULT_SIZE_Y);
-		} else if (modelObject instanceof State) {
-			defaultSize.setSize(StateSupport.MIN_SIZE_X,
-					StateSupport.MIN_SIZE_Y);
-
-		} else {
-			defaultSize.setSize(20, 20);
-		}*/
-		
-		return defaultSize;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected KNode createNode(final LayoutMapping<PictogramElement> mapping,
-			final KNode parentNode, final Shape shape) {
-		KNode node = KimlUtil.createInitializedNode();
-		node.setParent(parentNode);
-
-		setCurrentPositionAndSize(mapping, parentNode, node, shape);
-
-		mapping.getGraphMap().put(node, shape);
-
-		// gather all connections directly connected to the Node (not the
-		// connections connected via ports). These only exist in the behavior
-		// editor.
-		for (Anchor anchor : shape.getAnchors()) {
-			mapping.getProperty(KimlGraphitiUtil.CONNECTIONS).addAll(
-					anchor.getOutgoingConnections());
-		}
-
-		return node;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public boolean isBoundaryPort(Shape shape) {
-		EObject modelObject = shape.getLink().getBusinessObjects().get(0);
-		if (modelObject instanceof TrPoint)
-			return true;
-
-		return false;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public boolean isInternalPort(Shape shape) {
-		// No shape is an internal port (i.e. All ports are external only)
-		return false;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public boolean isTopLevelBoundingBox(Shape shape) {
-		EObject modelObject = shape.getLink().getBusinessObjects().get(0);
-		if (modelObject instanceof StateGraph)
-			return true;
-
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/BehaviorLayoutCommand.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/BehaviorLayoutCommand.java
deleted file mode 100644
index 78825d3..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/BehaviorLayoutCommand.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.etrice.core.fsm.fSM.State;
-import org.eclipse.etrice.ui.behavior.fsm.support.TrPointSupport;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.algorithms.styles.Orientation;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.services.IGaService;
-
-import de.cau.cs.kieler.core.kgraph.KNode;
-import de.cau.cs.kieler.core.kgraph.KPort;
-
-/**
- * A command for applying the result of automatic layout to diagram elements in
- * eTrice Behavior Editor.
- * 
- * @author jayant
- */
-public class BehaviorLayoutCommand extends ETriceLayoutCommand {
-
-	public BehaviorLayoutCommand(TransactionalEditingDomain domain,
-			IFeatureProvider thefeatureProvider) {
-		super(domain, thefeatureProvider);
-		// TODO Auto-generated constructor stub
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected void applyNodeLayout(KNode knode, PictogramElement pelem) {
-		setCalculatedPositionAndSize(knode, knode.getParent(),
-				(ContainerShape) pelem);
-	};
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected void applyPortLayout(KPort kport, PictogramElement pelem) {
-
-		ContainerShape shape = (ContainerShape) ((Anchor) pelem).getParent();
-
-		setCalculatedPositionAndSize(kport, kport.getNode(), shape);
-
-		GraphicsAlgorithm ga = shape.getGraphicsAlgorithm();
-		EObject bo = shape.getContainer().getLink().getBusinessObjects().get(0);
-
-		// margin and size for bounding box (State Graph)
-		int margin = TrPointSupport.MARGIN;
-		int size = TrPointSupport.ITEM_SIZE;
-
-		if (bo instanceof State) {
-			// margin and size for a State
-			margin = TrPointSupport.MARGIN_SMALL;
-			size = TrPointSupport.ITEM_SIZE_SMALL;
-		}
-
-		Text label = (Text) (shape.getChildren().get(0).getGraphicsAlgorithm());
-
-		adjustLabel(label, ga.getX(), ga.getY(), ga.getWidth(), margin, size);
-	}
-
-	/**
-	 * Sets correct port label position depending on the corresponding port
-	 * position.
-	 * 
-	 * @param label
-	 *            Text Graphics Algorithm to be placed
-	 * @param x
-	 *            The x coordinate of the containing shape
-	 * @param y
-	 *            The y coordinate of the containing shape
-	 * @param width
-	 *            The width of the containing shape
-	 * @param margin
-	 *            The margin of the containing shape
-	 * @param size
-	 *            The size(length/width) of the port's visible graphics
-	 *            algorithm
-	 * 
-	 */
-	/*
-	 * This method has been copied from TrPointSuppot.FeatureProvider class
-	 * since its visibility is not public there
-	 */
-	private static void adjustLabel(Text label, int x, int y, int width,
-			int margin, int size) {
-		Orientation halign = Orientation.ALIGNMENT_CENTER;
-		Orientation valign = Orientation.ALIGNMENT_CENTER;
-
-		int pos = 0;
-
-		if (x <= margin)
-			halign = Orientation.ALIGNMENT_LEFT;
-		else if ((width - margin) <= x)
-			halign = Orientation.ALIGNMENT_RIGHT;
-		if (y <= margin) {
-			pos = 0;
-			valign = Orientation.ALIGNMENT_BOTTOM;
-		} else {
-			pos = 5 * margin / 4;
-			valign = Orientation.ALIGNMENT_TOP;
-		}
-
-		label.setHorizontalAlignment(halign);
-		label.setVerticalAlignment(valign);
-
-		if (pos != label.getY()) {
-			IGaService gaService = Graphiti.getGaService();
-			gaService.setLocationAndSize(label, 0, pos, 2 * margin,
-					3 * margin / 4);
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceDiagramLayoutManager.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceDiagramLayoutManager.java
deleted file mode 100644
index f775572..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceDiagramLayoutManager.java
+++ /dev/null
@@ -1,624 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.etrice.ui.behavior.editor.BehaviorEditor;
-import org.eclipse.etrice.ui.common.base.editor.DiagramEditorBase;
-import org.eclipse.gef.EditPart;
-import org.eclipse.graphiti.mm.algorithms.AbstractText;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Connection;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.ui.editor.DiagramEditor;
-import org.eclipse.graphiti.ui.internal.parts.IPictogramElementEditPart;
-import org.eclipse.ui.IWorkbenchPart;
-
-import de.cau.cs.kieler.core.kgraph.KGraphElement;
-import de.cau.cs.kieler.core.kgraph.KLabeledGraphElement;
-import de.cau.cs.kieler.core.kgraph.KNode;
-import de.cau.cs.kieler.core.kgraph.KPort;
-import de.cau.cs.kieler.kiml.LayoutContext;
-import de.cau.cs.kieler.kiml.config.VolatileLayoutConfig;
-import de.cau.cs.kieler.kiml.graphiti.GefDiagramLayoutManager;
-import de.cau.cs.kieler.kiml.graphiti.GraphitiLayoutCommand;
-import de.cau.cs.kieler.kiml.graphiti.GraphitiLayoutConfig;
-import de.cau.cs.kieler.kiml.graphiti.KimlGraphitiUtil;
-import de.cau.cs.kieler.kiml.klayoutdata.KInsets;
-import de.cau.cs.kieler.kiml.klayoutdata.KShapeLayout;
-import de.cau.cs.kieler.kiml.klayoutdata.impl.KShapeLayoutImpl;
-import de.cau.cs.kieler.kiml.options.LayoutOptions;
-import de.cau.cs.kieler.kiml.ui.diagram.LayoutMapping;
-import de.cau.cs.kieler.kiml.util.KimlUtil;
-
-/**
- * The abstract class to support the creation of eTrice
- * {@link BehaviorDiagramLayoutManager } and
- * {@link StructureDiagramLayoutManager}
- * 
- * @author jayant
- */
-@SuppressWarnings("restriction")
-public abstract class ETriceDiagramLayoutManager extends
-		GefDiagramLayoutManager<PictogramElement> {
-
-	/**
-	 * {@inheritDoc}
-	 */
-	public abstract boolean supports(Object object);
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@SuppressWarnings({ "rawtypes", "unchecked" })
-	public Object getAdapter(final Object object, final Class adapterType) {
-		if (adapterType.isAssignableFrom(GraphitiLayoutConfig.class)) {
-			return layoutConfig;
-		} else if (adapterType
-				.isAssignableFrom(IPictogramElementEditPart.class)) {
-			if (object instanceof IPictogramElementEditPart) {
-				return object;
-			} else if (object instanceof DiagramEditor) {
-				return ((DiagramEditor) object).getGraphicalViewer()
-						.getContents();
-			}
-		} else if (adapterType.isAssignableFrom(EObject.class)) {
-			if (object instanceof IPictogramElementEditPart) {
-				PictogramElement pe = ((IPictogramElementEditPart) object)
-						.getPictogramElement();
-				if (pe.getLink() != null) {
-					List<EObject> businessObjects = pe.getLink()
-							.getBusinessObjects();
-					if (!businessObjects.isEmpty()) {
-						return businessObjects.get(0);
-					}
-				}
-			} else if (object instanceof PictogramElement) {
-				PictogramElement pe = (PictogramElement) object;
-				if (pe.getLink() != null) {
-					List<EObject> businessObjects = pe.getLink()
-							.getBusinessObjects();
-					if (!businessObjects.isEmpty()) {
-						return businessObjects.get(0);
-					}
-				}
-			}
-		} else if (adapterType.isAssignableFrom(PictogramElement.class)) {
-			if (object instanceof PictogramElement) {
-				return object;
-			} else if (object instanceof IPictogramElementEditPart) {
-				return ((IPictogramElementEditPart) object)
-						.getPictogramElement();
-			} else if (object instanceof DiagramEditor) {
-				EditPart contents = ((DiagramEditor) object)
-						.getGraphicalViewer().getContents();
-				if (contents instanceof IPictogramElementEditPart) {
-					return ((IPictogramElementEditPart) contents)
-							.getPictogramElement();
-				}
-			}
-		} else if (adapterType
-				.isAssignableFrom(TransactionalEditingDomain.class)) {
-			if (object instanceof DiagramEditor) {
-				return ((DiagramEditor) object).getEditingDomain();
-			} else if (object instanceof IPictogramElementEditPart) {
-				return ((IPictogramElementEditPart) object)
-						.getConfigurationProvider().getDiagramBehavior()
-						.getEditingDomain();
-			}
-		}
-		if (object instanceof IAdaptable) {
-			return ((IAdaptable) object).getAdapter(adapterType);
-		}
-		return null;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public Class<?>[] getAdapterList() {
-		return new Class<?>[] { PictogramElement.class };
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-
-	@Override
-	protected void transferLayout(final LayoutMapping<PictogramElement> mapping) {
-		DiagramEditor diagramEditor = mapping
-				.getProperty(KimlGraphitiUtil.DIAGRAM_EDITOR);
-
-		ETriceLayoutCommand command = null;
-
-		if (diagramEditor instanceof BehaviorEditor) {
-			command = new BehaviorLayoutCommand(
-					diagramEditor.getEditingDomain(), diagramEditor
-							.getDiagramTypeProvider().getFeatureProvider());
-		} else {
-			command = new StructureLayoutCommand(
-					diagramEditor.getEditingDomain(), diagramEditor
-							.getDiagramTypeProvider().getFeatureProvider());
-		}
-
-		for (Entry<KGraphElement, PictogramElement> entry : mapping
-				.getGraphMap().entrySet()) {
-			command.add(entry.getKey(), entry.getValue());
-		}
-		mapping.setProperty(KimlGraphitiUtil.LAYOUT_COMMAND, command);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	protected void applyLayout(final LayoutMapping<PictogramElement> mapping) {
-		TransactionalEditingDomain editingDomain = mapping.getProperty(
-				KimlGraphitiUtil.DIAGRAM_EDITOR).getEditingDomain();
-		editingDomain.getCommandStack().execute(
-				mapping.getProperty(KimlGraphitiUtil.LAYOUT_COMMAND));
-	}
-
-	/** the cached layout configuration for Graphiti. */
-	private GraphitiLayoutConfig layoutConfig = new GraphitiLayoutConfig();
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public LayoutMapping<PictogramElement> buildLayoutGraph(
-			final IWorkbenchPart workbenchPart, final Object diagramPart) {
-		LayoutMapping<PictogramElement> mapping = new LayoutMapping<PictogramElement>(
-				this);
-		mapping.setProperty(KimlGraphitiUtil.CONNECTIONS,
-				new LinkedList<Connection>());
-		mapping.setProperty(KimlGraphitiUtil.STATIC_CONFIG,
-				new VolatileLayoutConfig());
-
-		if (workbenchPart instanceof DiagramEditorBase) {
-			mapping.setProperty(KimlGraphitiUtil.DIAGRAM_EDITOR,
-					(DiagramEditorBase) workbenchPart);
-		}
-
-		EditPart layoutRootPart = null;
-		if (diagramPart instanceof IPictogramElementEditPart) {
-			layoutRootPart = (EditPart) diagramPart;
-		} else if (mapping.getProperty(KimlGraphitiUtil.DIAGRAM_EDITOR) != null) {
-			layoutRootPart = mapping
-					.getProperty(KimlGraphitiUtil.DIAGRAM_EDITOR)
-					.getGraphicalViewer().getContents();
-		}
-		if (!(layoutRootPart instanceof IPictogramElementEditPart)) {
-			throw new UnsupportedOperationException(
-					"Not supported by this layout manager: Workbench part "
-							+ workbenchPart + ", Edit part " + diagramPart);
-		}
-		PictogramElement element = ((IPictogramElementEditPart) layoutRootPart)
-				.getPictogramElement();
-		mapping.setParentElement(element);
-
-		if (element instanceof Diagram) {
-
-			KNode diagramNode = KimlUtil.createInitializedNode();
-			KShapeLayout shapeLayout = diagramNode.getData(KShapeLayout.class);
-			GraphicsAlgorithm ga = element.getGraphicsAlgorithm();
-			shapeLayout.setPos(ga.getX(), ga.getY());
-			shapeLayout.setSize(ga.getWidth(), ga.getHeight());
-			mapping.getGraphMap().put(diagramNode, element);
-
-			// Node creation for currently visible top-level Container
-			// Shape(Bounding Box) in
-			// eTrice Diagrams
-			buildLayoutGraphForBoundingBox(mapping, (Diagram) element,
-					diagramNode, true);
-
-			mapping.setLayoutGraph(diagramNode);
-
-		} else if (element instanceof Shape) {
-
-			if (isTopLevelBoundingBox((Shape) element)) {
-				// The selected Element is the Top Level Top Level Bounding Box
-				mapping.setLayoutGraph((KNode) buildAllLevels(mapping,
-						(Shape) element, null));
-			} else {
-
-				KGraphElement internalKGraphElement = createKGraphElementFromShape(
-						mapping, null, (Shape) element);
-
-				if (internalKGraphElement instanceof KNode
-						&& !isInternalPort((Shape) element)) {
-					// The selected Element is a Node.
-					for (Shape childShape : ((ContainerShape) element)
-							.getChildren()) {
-
-						createKGraphElementFromShape(mapping,
-								internalKGraphElement, childShape);
-					}
-
-					mapping.setLayoutGraph((KNode) internalKGraphElement);
-
-				} else {
-					// The selected Element is a Port(Boundary or Internal) or
-					// an Edge Label.
-					// It is an illegal argument for layout
-					throw new IllegalArgumentException(
-							"The seleted element cannot be lay-outed separately");
-
-				}
-
-			}
-		} else if (element instanceof FreeFormConnection) {
-			// The selected element is an edge.
-			// It is an illegal argument for layout
-			throw new IllegalArgumentException(
-					"A connection cannot be layouted separately");
-		}
-
-		for (Connection entry : mapping
-				.getProperty(KimlGraphitiUtil.CONNECTIONS)) {
-			KimlGraphitiUtil.createEdge(mapping, entry);
-		}
-
-		// create a layout configuration
-		mapping.getLayoutConfigs().add(
-				mapping.getProperty(KimlGraphitiUtil.STATIC_CONFIG));
-		mapping.getLayoutConfigs().add(layoutConfig);
-
-		return mapping;
-	}
-
-	/**
-	 * Identifies the visible Bounding Box (Top Level Container) and delegates
-	 * the control to {@link #buildAllLevels(LayoutMapping, Shape, KNode)}
-	 * 
-	 * @param mapping
-	 *            the mapping of pictogram elements to graph elements
-	 * @param diagram
-	 *            The Diagram Containing the Bounding Box
-	 * @param diagramNode
-	 *            The Node for the diagram
-	 * @param onlyVisible
-	 *            If true, only the visible bounding box will be lay-outed.
-	 *            Otherwise, all bounding boxes in current Diagram are
-	 *            lay-outed.
-	 * 
-	 * @author jayant
-	 */
-	protected abstract void buildLayoutGraphForBoundingBox(
-			final LayoutMapping<PictogramElement> mapping,
-			final Diagram diagram, final KNode diagramNode,
-			final boolean onlyVisible);
-
-	/**
-	 * Develops the complete LayoutGraph for the eTrice Diagram starting from
-	 * the Bounding Box.
-	 * 
-	 * @param mapping
-	 *            the mapping of pictogram elements to graph elements
-	 * @param topLevelBoundingBox
-	 *            The Top Level Container Shape containing all other shapes
-	 * @param diagramNode
-	 *            The KNode corresponding to the Diagram
-	 * 
-	 * @author jayant
-	 */
-	/* This is fairly general for both the eTrice editors */
-	protected KNode buildAllLevels(LayoutMapping<PictogramElement> mapping,
-			Shape topLevelBoundingBox, KNode diagramNode) {
-		// Top Level
-		KNode topLevelBoundingBoxNode = createNode(mapping, diagramNode,
-				topLevelBoundingBox);
-
-		for (Shape secondLevelShape : ((ContainerShape) topLevelBoundingBox)
-				.getChildren()) {
-			// Second Level
-			KGraphElement secondLevelKGraphElement = createKGraphElementFromShape(
-					mapping, topLevelBoundingBoxNode, secondLevelShape);
-
-			if (secondLevelKGraphElement instanceof KNode) {
-				for (Shape thirdLevelShape : ((ContainerShape) secondLevelShape)
-						.getChildren()) {
-					// Third Level
-					createKGraphElementFromShape(mapping,
-							secondLevelKGraphElement, thirdLevelShape);
-				}
-
-				if (!isInternalPort(secondLevelShape)) {
-					// For KNodes which are not internal ports.
-					setNodeLayoutOptions(mapping,
-							(KNode) secondLevelKGraphElement, secondLevelShape);
-				}
-
-			}
-		}
-
-		setNodeLayoutOptions(mapping, topLevelBoundingBoxNode,
-				topLevelBoundingBox);
-
-		return topLevelBoundingBoxNode;
-	}
-
-	/**
-	 * Identifies the type of Shape (Label, Port or Node) and creates the
-	 * corresponding KGraphElement Element
-	 * 
-	 * @param mapping
-	 *            the mapping of pictogram elements to graph elements
-	 * @param parent
-	 *            the parent KNode
-	 * @param shape
-	 *            the shape for which a KGraphElement is required
-	 * 
-	 * @return the created KGraphElement for the given Shape
-	 * 
-	 * @author jayant
-	 */
-	/* This is fairly general for both the eTrice editors */
-	private KGraphElement createKGraphElementFromShape(
-			LayoutMapping<PictogramElement> mapping, KGraphElement parent,
-			Shape shape) {
-
-		GraphicsAlgorithm ga = shape.getGraphicsAlgorithm();
-
-		// Checking whether this shape is a label
-		if (ga instanceof AbstractText) {
-
-			KInsets parentInsets = parent.getData(KShapeLayout.class)
-					.getProperty(GraphitiLayoutCommand.INVIS_INSETS);
-
-			assert (parentInsets != null) : "There must be an invisible insets attached to all ports and nodes(except diagramNode)";
-			return KimlGraphitiUtil.createLabel((KLabeledGraphElement) parent,
-					(AbstractText) ga, -parentInsets.getLeft(),
-					-parentInsets.getTop());
-		}
-
-		else if (shape instanceof ContainerShape) {
-
-			// Checking whether this shape is a boundary port
-			if (isBoundaryPort(shape))
-				return createPort(mapping, (KNode) parent, shape);
-
-			else
-				// This shape is considered to be a node (includes internal
-				// Ports)
-				return createNode(mapping, (KNode) parent, shape);
-
-		} else
-			return null;
-	}
-
-	/**
-	 * Create a node for the layout graph.
-	 * 
-	 * @param mapping
-	 *            the mapping of pictogram elements to graph elements
-	 * @param parentNode
-	 *            the parent node
-	 * @param shape
-	 *            the shape for a new node
-	 * @return a new layout node
-	 */
-	protected abstract KNode createNode(
-			final LayoutMapping<PictogramElement> mapping,
-			final KNode parentNode, final Shape shape);
-
-	/**
-	 * Create a port for the layout graph.
-	 * 
-	 * @param mapping
-	 *            the mapping of pictogram elements to graph elements
-	 * @param parentNode
-	 *            the parent node
-	 * @param shape
-	 *            the shape for a new port
-	 * @return a new layout node
-	 * 
-	 * @author jayant
-	 */
-	/* This is fairly general for both the eTrice editors */
-	protected KPort createPort(final LayoutMapping<PictogramElement> mapping,
-			final KNode parentNode, final Shape shape) {
-		KPort port = KimlUtil.createInitializedPort();
-		port.setNode(parentNode);
-
-		setCurrentPositionAndSize(mapping, parentNode, port, shape);
-
-		mapping.getGraphMap().put(port, shape.getAnchors().get(0));
-
-		// Set Port label
-		Shape portLabelShape = ((ContainerShape) shape).getChildren().get(0);
-		createKGraphElementFromShape(mapping, port, portLabelShape);
-
-		// gather all connections connected to the parentNode via this port
-		for (Anchor anchor : shape.getAnchors()) {
-			mapping.getProperty(KimlGraphitiUtil.CONNECTIONS).addAll(
-					anchor.getOutgoingConnections());
-		}
-
-		return port;
-	}
-
-	/**
-	 * Sets the insets(border) and calculates the position and size of the
-	 * KgraphElement.
-	 * 
-	 * @param mapping
-	 *            the mapping of pictogram elements to graph elements
-	 * @param parentNode
-	 *            the parent node
-	 * @param kelem
-	 *            the kGraphElement whose size and position is to be determined
-	 * @param shape
-	 *            the corresponding shape
-	 * 
-	 * @author jayant
-	 */
-	/*
-	 * This is fairly general for both the eTrice editors and same for Nodes and
-	 * Ports
-	 */
-	protected void setCurrentPositionAndSize(
-			final LayoutMapping<PictogramElement> mapping,
-			final KNode parentNode, final KGraphElement kelem, final Shape shape) {
-
-		VolatileLayoutConfig staticConfig = mapping
-				.getProperty(KimlGraphitiUtil.STATIC_CONFIG);
-
-		KShapeLayout shapeLayout = kelem.getData(KShapeLayout.class);
-		GraphicsAlgorithm ga = shape.getGraphicsAlgorithm();
-
-		// Calculate and set the invisible insets
-		KInsets shapeInsets = KimlGraphitiUtil.calcInsets(ga);
-		shapeLayout
-				.setProperty(GraphitiLayoutCommand.INVIS_INSETS, shapeInsets);
-		staticConfig.setValue(GraphitiLayoutCommand.INVIS_INSETS, kelem,
-				LayoutContext.GRAPH_ELEM, shapeInsets);
-
-		// Get the parent insets
-		KInsets parentInsets = parentNode == null ? null : parentNode.getData(
-				KShapeLayout.class).getProperty(
-				GraphitiLayoutCommand.INVIS_INSETS);
-
-		// Set Position
-		if (parentInsets == null) {
-			shapeLayout.setPos(ga.getX() + shapeInsets.getLeft(), ga.getY()
-					+ shapeInsets.getTop());
-		} else {
-			shapeLayout.setPos(
-					ga.getX() + shapeInsets.getLeft() - parentInsets.getLeft(),
-					ga.getY() + shapeInsets.getTop() - parentInsets.getTop());
-		}
-
-		// Set Size
-		shapeLayout
-				.setSize(
-						ga.getWidth() - shapeInsets.getLeft()
-								- shapeInsets.getRight(),
-						ga.getHeight() - shapeInsets.getTop()
-								- shapeInsets.getBottom());
-
-		// the modification flag must initially be false
-		((KShapeLayoutImpl) shapeLayout).resetModificationFlag();
-
-	}
-
-	/**
-	 * Sets the heuristic layout options for nodes (like minimal width and
-	 * minimal height)
-	 * 
-	 * @param mapping
-	 *            the mapping of pictogram elements to graph elements
-	 * @param node
-	 *            the node for which layout options need to be set
-	 * @param shape
-	 *            the corresponding shape
-	 * @author jayant
-	 */
-	/* This is fairly general for both the eTrice editors */
-	protected void setNodeLayoutOptions(
-			final LayoutMapping<PictogramElement> mapping, final KNode node,
-			Shape shape) {
-
-		// get label width and height for the node
-		// these would be added to the node width and height
-		float labelWidth = 0.0f;
-		float labelHeight = 0.0f;
-
-		if (!node.getLabels().isEmpty()) {
-			KShapeLayout labelLayout = node.getLabels().get(0)
-					.getData(KShapeLayout.class);
-			// halh of the label width is taken to avoid too much widening of
-			// node due to labels
-			labelWidth = labelLayout.getWidth() * 0.5f;
-		}
-
-		Dimension defaultSize = getDefaultSize(shape);
-		float ratio = (float) defaultSize.height() / defaultSize.width();
-		// label height is not the original label height but the increase is
-		// node height due to label; it is in ratio with the increase in label
-		// width.
-		labelHeight = ratio * labelWidth;
-
-		VolatileLayoutConfig staticConfig = mapping
-				.getProperty(KimlGraphitiUtil.STATIC_CONFIG);
-		staticConfig.setValue(LayoutOptions.MIN_WIDTH, node,
-				LayoutContext.GRAPH_ELEM, defaultSize.width() + labelWidth);
-		staticConfig.setValue(LayoutOptions.MIN_HEIGHT, node,
-				LayoutContext.GRAPH_ELEM, defaultSize.height() + labelHeight);
-	}
-
-	/**
-	 * Determines whether the given shape is a boundary port or not.
-	 * 
-	 * @param shape
-	 *            the shape to be investigated
-	 * @return true if the {@code shape} is a port else false
-	 * 
-	 * @author jayant
-	 */
-	public abstract boolean isBoundaryPort(Shape shape);
-
-	/**
-	 * Determines whether the given shape is an internal port or not.
-	 * 
-	 * @param shape
-	 *            the shape to be investigated
-	 * @return true if the {@code shape} is a port else false
-	 * 
-	 * @author jayant
-	 */
-	public abstract boolean isInternalPort(Shape shape);
-
-	/**
-	 * Determines whether the given shape is a Top Level Bounding Box or not.
-	 * 
-	 * @param shape
-	 *            the shape to be investigated
-	 * 
-	 * @return true if the {@code shape} is the Top Level Bounding Box
-	 * 
-	 * @author jayant
-	 */
-	public abstract boolean isTopLevelBoundingBox(Shape shape);
-
-	/**
-	 * Gets the Default Minimal Size for a node
-	 * 
-	 * @param shape
-	 *            The shape attached to the node
-	 * 
-	 * @return the defaults minimal size for a node
-	 * 
-	 * @author jayant
-	 */
-	protected abstract Dimension getDefaultSize(Shape shape);
-
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceLayoutCommand.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceLayoutCommand.java
deleted file mode 100644
index 26b0048..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceLayoutCommand.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.features.context.impl.LayoutContext;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.styles.Point;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.FreeFormConnection;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.services.IGaService;
-
-import de.cau.cs.kieler.core.kgraph.KEdge;
-import de.cau.cs.kieler.core.kgraph.KGraphElement;
-import de.cau.cs.kieler.core.kgraph.KNode;
-import de.cau.cs.kieler.core.kgraph.KPort;
-import de.cau.cs.kieler.core.math.KVector;
-import de.cau.cs.kieler.core.math.KVectorChain;
-import de.cau.cs.kieler.core.util.Pair;
-import de.cau.cs.kieler.kiml.graphiti.GraphitiLayoutCommand;
-import de.cau.cs.kieler.kiml.klayoutdata.KInsets;
-import de.cau.cs.kieler.kiml.klayoutdata.KShapeLayout;
-import de.cau.cs.kieler.kiml.klayoutdata.impl.KShapeLayoutImpl;
-
-/**
- * An abstract class to support creation of commands for applying the result of
- * automatic layout to eTrice diagrams. Help create the
- * {@link BehaviorLayoutCommand} and the {@link StructureLayoutCommand}.
- * 
- * @author jayant
- */
-public abstract class ETriceLayoutCommand extends GraphitiLayoutCommand {
-
-	/** list of graph elements(nodes & ports) and pictogram elements to layout. */
-	private List<Pair<KGraphElement, PictogramElement>> elements =
-            new LinkedList<Pair<KGraphElement, PictogramElement>>();
-
-	public ETriceLayoutCommand(TransactionalEditingDomain domain,
-			IFeatureProvider thefeatureProvider) {
-		super(domain, thefeatureProvider);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @author jayant
-	 */
-	@Override
-	public void add(KGraphElement graphElement,
-			PictogramElement pictogramElement) {
-
-		super.add(graphElement, pictogramElement);
-
-		// Prepare a local list of modified nodes and ports.
-		// This list is used in doExecute() method below.
-		if (graphElement instanceof KPort || graphElement instanceof KNode) {
-			KShapeLayoutImpl shapeLayout = graphElement
-					.getData(KShapeLayoutImpl.class);
-			if (shapeLayout.isModified()) {
-				elements.add(new Pair<KGraphElement, PictogramElement>(
-						graphElement, pictogramElement));
-			}
-		}
-	}
-
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @author jayant
-	 */
-	@Override
-	protected void doExecute() {
-		super.doExecute();
-
-		/*
-		 * Re-layout diagram elements according to eTrice after performing
-		 * complete KIELER Layout.
-		 *
-		 * Note: This operation needs to be carried after completing the KIELER
-		 * layout since eTrice positioning depend not only on current diagram
-		 * element but also on the parameters of its parent element.
-		 */
-		for (Pair<KGraphElement, PictogramElement> entry : elements) {
-			KGraphElement element = entry.getFirst();
-			if (element instanceof KPort) {
-				PictogramElement pelem = ((Anchor) entry.getSecond())
-						.getParent();
-				getFeatureProvider().layoutIfPossible(new LayoutContext(pelem));
-			} else if (element instanceof KNode) {
-				PictogramElement pelem = entry.getSecond();
-				getFeatureProvider().layoutIfPossible(new LayoutContext(pelem));
-			}
-		}
-
-		// refresh the diagram editor after re-placement by eTrice.
-		getFeatureProvider().getDiagramTypeProvider().getDiagramBehavior()
-				.refresh();
-	}
-
-	/**
-	 * {@inheritDoc} Also responsible for the layout of internal ports in eTrice
-	 * (which are considered as KNodes)
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected abstract void applyNodeLayout(KNode knode, PictogramElement pelem);
-
-	/**
-	 * {@inheritDoc} Only Boundary Ports are lay-outed by this method
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected abstract void applyPortLayout(KPort kport, PictogramElement pelem);
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 */
-	/*
-	 * The code used in this function has been taken from
-	 * GraphitilayoutCommand.applyEdgeLayout() method. (Removing some unwanted
-	 * code)
-	 */
-	@Override
-	protected void applyEdgeLayout(final KEdge kedge,
-			final PictogramElement pelem) {
-		// create bend points for the edge
-		KVectorChain bendPoints = getBendPoints(kedge);
-
-		if (pelem instanceof FreeFormConnection) {
-			FreeFormConnection connection = (FreeFormConnection) pelem;
-			List<Point> pointList = connection.getBendpoints();
-			// add the bend points to the connection, reusing existing points
-			for (int i = 0; i < bendPoints.size(); i++) {
-				KVector kpoint = bendPoints.get(i);
-				if (i >= pointList.size()) {
-					Point point = Graphiti.getGaService().createPoint(
-							(int) Math.round(kpoint.x),
-							(int) Math.round(kpoint.y));
-					pointList.add(point);
-				} else {
-					Point point = pointList.get(i);
-					point.setX((int) Math.round(kpoint.x));
-					point.setY((int) Math.round(kpoint.y));
-				}
-			}
-			while (pointList.size() > bendPoints.size()) {
-				pointList.remove(pointList.size() - 1);
-			}
-		}
-	}
-
-	/**
-	 * Sets the calculated position and size from a KGraph Model-Element (Node
-	 * or Port) back to the corresponding diagram shape.
-	 * 
-	 * @param kelem
-	 *            the KGraph Model Element (Node/Port)
-	 * @param parentNode
-	 *            for nodes : the parent node , for ports : the containing node
-	 * @param shape
-	 *            the corresponding pictogram element for Node/Port
-	 * 
-	 * @author jayant
-	 */
-	protected void setCalculatedPositionAndSize(final KGraphElement kelem,
-			KNode parentNode, final ContainerShape shape) {
-
-		KShapeLayout shapeLayout = kelem.getData(KShapeLayout.class);
-		float xpos = shapeLayout.getXpos();
-		float ypos = shapeLayout.getYpos();
-
-		if (parentNode != null) {
-			KInsets parentInsets = parentNode.getData(KShapeLayout.class)
-					.getProperty(INVIS_INSETS);
-			if (parentInsets != null) {
-				xpos += parentInsets.getLeft();
-				ypos += parentInsets.getTop();
-			}
-		}
-
-		float width = shapeLayout.getWidth();
-		float height = shapeLayout.getHeight();
-
-		KInsets shapeInsets = shapeLayout.getProperty(INVIS_INSETS);
-		if (shapeInsets != null) {
-			xpos -= shapeInsets.getLeft();
-			ypos -= shapeInsets.getTop();
-			width += shapeInsets.getLeft() + shapeInsets.getRight();
-			height += shapeInsets.getTop() + shapeInsets.getBottom();
-		}
-
-		GraphicsAlgorithm ga = shape.getGraphicsAlgorithm();
-
-		IGaService gaService = Graphiti.getGaService();
-		gaService.setLocationAndSize(ga, Math.round(xpos), Math.round(ypos),
-				Math.round(width), Math.round(height));
-
-	}
-
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceLayoutConfig.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceLayoutConfig.java
deleted file mode 100644
index 11d976b..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/ETriceLayoutConfig.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.room.ActorContainerClass;
-import org.eclipse.etrice.core.fsm.fSM.StateGraph;
-import org.eclipse.etrice.ui.behavior.editor.BehaviorEditor;
-import org.eclipse.ui.IWorkbenchPart;
-
-import de.cau.cs.kieler.core.kgraph.KGraphData;
-import de.cau.cs.kieler.kiml.LayoutContext;
-import de.cau.cs.kieler.kiml.LayoutOptionData;
-import de.cau.cs.kieler.kiml.config.DefaultLayoutConfig;
-import de.cau.cs.kieler.kiml.config.ILayoutConfig;
-import de.cau.cs.kieler.kiml.options.LayoutOptions;
-import de.cau.cs.kieler.kiml.ui.service.EclipseLayoutConfig;
-
-/**
- * A layout config for option configuration in eTrice. It configures the diagram
- * types of diagram elements based on the domain model and the specific diagram
- * editor.
- * 
- * @author jayant
- */
-public class ETriceLayoutConfig implements ILayoutConfig {
-
-	/** The priority for this layout configurations. */
-	public static final int PRIORITY = 40;
-
-	/**
-	 * The diagram type for the diagram elements in eTrice behavior diagrams.
-	 */
-	public static final String BEHAVIOR_DIAGRAM_TYPE = "org.eclipse.etrice.ui.layout.eTriceBehaviorDiagram";
-
-	/**
-	 * The diagram type for the diagram elements in eTrice structure diagrams.
-	 */
-	public static final String STRUCTURE_DIAGRAM_TYPE = "org.eclipse.etrice.ui.layout.eTriceStructureDiagram";
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public int getPriority() {
-		return PRIORITY;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public void enrich(LayoutContext context) {
-		Object element = context.getProperty(LayoutContext.DOMAIN_MODEL);
-
-		if (element instanceof ActorContainerClass
-				|| element instanceof StateGraph) {
-			IWorkbenchPart workbenchPart = context
-					.getProperty(EclipseLayoutConfig.WORKBENCH_PART);
-			Object diagramType = getDiagramType(element, workbenchPart);
-
-			if (diagramType != null)
-				context.setProperty(DefaultLayoutConfig.CONTENT_DIAGT,
-						diagramType);
-		}
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public Object getValue(LayoutOptionData<?> optionData, LayoutContext context) {
-		if (optionData.equals(LayoutOptions.DIAGRAM_TYPE)) {
-			EObject element = context.getProperty(LayoutContext.DOMAIN_MODEL);
-
-			if (element instanceof ActorContainerClass
-					|| element instanceof StateGraph) {
-				IWorkbenchPart workbenchPart = context
-						.getProperty(EclipseLayoutConfig.WORKBENCH_PART);
-				return getDiagramType(element, workbenchPart);
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public void transferValues(KGraphData graphData, LayoutContext context) {
-		// not required : no other options to set dynamically
-	}
-
-	/**
-	 * Returns the diagram type(string) for a domain model element depending
-	 * upon the diagram editor which contains the corresponding diagram element
-	 * 
-	 * @param modelElement
-	 *            the domain model element
-	 * @param workbenchPart
-	 *            the editor containing the corresspnding diagram element
-	 * @return the diagram type for the domain model element
-	 * 
-	 * @author jayant
-	 */
-	private String getDiagramType(final Object modelElement,
-			IWorkbenchPart workbenchPart) {
-		if (modelElement instanceof StateGraph) {
-			return BEHAVIOR_DIAGRAM_TYPE;
-		} else if (modelElement instanceof ActorContainerClass) {
-			if (workbenchPart instanceof BehaviorEditor)
-				return BEHAVIOR_DIAGRAM_TYPE;
-			else
-				return STRUCTURE_DIAGRAM_TYPE;
-		}
-
-		return null;
-	}
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/StructureDiagramLayoutManager.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/StructureDiagramLayoutManager.java
deleted file mode 100644
index 186484d..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/StructureDiagramLayoutManager.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout;
-
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.room.ActorClass;
-import org.eclipse.etrice.core.room.ActorContainerClass;
-import org.eclipse.etrice.core.room.InterfaceItem;
-import org.eclipse.etrice.core.room.Port;
-import org.eclipse.etrice.core.room.SAPoint;
-import org.eclipse.etrice.core.room.SPP;
-import org.eclipse.etrice.core.room.SPPoint;
-import org.eclipse.etrice.ui.structure.editor.StructureEditor;
-import org.eclipse.etrice.ui.structure.support.ActorContainerRefSupport;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.Diagram;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.mm.pictograms.Shape;
-import org.eclipse.graphiti.ui.internal.parts.IPictogramElementEditPart;
-
-import de.cau.cs.kieler.core.kgraph.KNode;
-import de.cau.cs.kieler.kiml.graphiti.KimlGraphitiUtil;
-import de.cau.cs.kieler.kiml.ui.diagram.LayoutMapping;
-import de.cau.cs.kieler.kiml.util.KimlUtil;
-
-/**
- * Layout Manager implementation for eTrice Structure Editor.
- * 
- * @author jayant
- */
-@SuppressWarnings("restriction")
-public class StructureDiagramLayoutManager extends ETriceDiagramLayoutManager {
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public boolean supports(final Object object) {
-
-		return object instanceof StructureEditor
-				|| object instanceof IPictogramElementEditPart
-				|| object instanceof PictogramElement;
-
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected void buildLayoutGraphForBoundingBox(
-			LayoutMapping<PictogramElement> mapping, Diagram diagram,
-			KNode diagramNode, boolean onlyVisible) {
-
-		for (Shape boundingBox : ((Diagram) diagram).getChildren()) {
-			if (boundingBox.isVisible()) {
-				buildAllLevels(mapping, boundingBox, diagramNode);
-				break;
-			}
-		}
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected Dimension getDefaultSize(Shape shape) {
-
-		Dimension defaultSize = new Dimension();
-
-		// This code sets the same minimal default size for both Actor Class and
-		// Actor Container Refs
-		defaultSize.setSize(ActorContainerRefSupport.MIN_SIZE_X,
-				ActorContainerRefSupport.MIN_SIZE_Y);
-
-		/*
-		 * This code snippet sets default the size for Actor Class and Actor
-		 * Container Refs differently. With this the top-level container remains
-		 * large after layout (according to the default size in
-		 * StructureSupport), which might not look proper.
-		 */
-		/*
-		EObject modelObject = shape.getLink().getBusinessObjects().get(0);
-		if (modelObject instanceof ActorClass) {
-			defaultSize.setSize(StructureClassSupport.DEFAULT_SIZE_X,
-					StructureClassSupport.DEFAULT_SIZE_Y);
-		} else if (modelObject instanceof ActorContainerRef) {
-			defaultSize.setSize(ActorContainerRefSupport.MIN_SIZE_X,
-					ActorContainerRefSupport.MIN_SIZE_Y);
-		} else {
-			defaultSize.setSize(20, 20);
-		}*/
-
-		return defaultSize;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected KNode createNode(final LayoutMapping<PictogramElement> mapping,
-			final KNode parentNode, final Shape shape) {
-		KNode node = KimlUtil.createInitializedNode();
-		node.setParent(parentNode);
-
-		setCurrentPositionAndSize(mapping, parentNode, node, shape);
-
-		mapping.getGraphMap().put(node, shape);
-
-		// gather all connections connected to Internal ports in the diagram.
-		// It is of no use to ActorRefs as they do-not possess direct
-		// connection(They have all connections via port).
-		for (Anchor anchor : shape.getAnchors()) {
-			mapping.getProperty(KimlGraphitiUtil.CONNECTIONS).addAll(
-					anchor.getOutgoingConnections());
-		}
-
-		return node;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public boolean isBoundaryPort(Shape shape) {
-		EObject modelObject = shape.getLink().getBusinessObjects().get(0);
-		if ((modelObject instanceof InterfaceItem && !isInternal((InterfaceItem) modelObject))
-				|| modelObject instanceof SPPoint
-				|| modelObject instanceof SAPoint)
-			return true;
-
-		return false;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public boolean isInternalPort(Shape shape) {
-		EObject modelObject = shape.getLink().getBusinessObjects().get(0);
-
-		if ((modelObject instanceof InterfaceItem && isInternal((InterfaceItem) modelObject)))
-			return true;
-
-		return false;
-	}
-
-	/*
-	 * This method has been derived from
-	 * org.eclipse.eTrice.ui.structure.InterfaceItem.FeatureProvider
-	 */
-	private static boolean isInternal(InterfaceItem item) {
-		if (item instanceof Port) {
-			Port port = (Port) item;
-
-			// NB: the port's container might be a base class of the depicted
-			// actor class
-			ActorContainerClass acc = (ActorContainerClass) port.eContainer();
-			if (acc instanceof ActorClass) {
-				ActorClass ac = (ActorClass) acc;
-				if (ac.getInternalPorts().contains(port))
-					return true;
-			}
-		} else if (item instanceof SPP) {
-			return false;
-		} else {
-			assert (false) : "unexpected sub type";
-		}
-
-		return false;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public boolean isTopLevelBoundingBox(Shape shape) {
-		EObject modelObject = shape.getLink().getBusinessObjects().get(0);
-		if (modelObject instanceof ActorClass)
-			return true;
-
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/StructureLayoutCommand.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/StructureLayoutCommand.java
deleted file mode 100644
index 72b7a85..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/StructureLayoutCommand.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.etrice.core.room.ActorContainerRef;
-import org.eclipse.etrice.core.room.InterfaceItem;
-import org.eclipse.etrice.ui.structure.support.InterfaceItemSupport;
-import org.eclipse.graphiti.features.IFeatureProvider;
-import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
-import org.eclipse.graphiti.mm.algorithms.Text;
-import org.eclipse.graphiti.mm.algorithms.styles.Orientation;
-import org.eclipse.graphiti.mm.pictograms.Anchor;
-import org.eclipse.graphiti.mm.pictograms.ContainerShape;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.graphiti.services.Graphiti;
-import org.eclipse.graphiti.services.IGaService;
-
-import de.cau.cs.kieler.core.kgraph.KNode;
-import de.cau.cs.kieler.core.kgraph.KPort;
-
-/**
- * A command for applying the result of automatic layout to diagram elements in
- * eTrice Structure Editor.
- * 
- * @author jayant
- */
-public class StructureLayoutCommand extends ETriceLayoutCommand {
-
-	public StructureLayoutCommand(TransactionalEditingDomain domain,
-			IFeatureProvider thefeatureProvider) {
-		super(domain, thefeatureProvider);
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected void applyNodeLayout(KNode knode, PictogramElement pelem) {
-
-		setCalculatedPositionAndSize(knode, knode.getParent(),
-				(ContainerShape) pelem);
-
-		// Checking whether this node corresponds to an internal port or
-		// ActorContainerRef
-		EObject modelObject = pelem.getLink().getBusinessObjects().get(0);
-		if (modelObject instanceof InterfaceItem) {
-			// adjust label for internal port
-			adjustLabelForPort((ContainerShape) pelem);
-		}
-	};
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected void applyPortLayout(KPort kport, PictogramElement pelem) {
-
-		ContainerShape shape = (ContainerShape) ((Anchor) pelem).getParent();
-
-		setCalculatedPositionAndSize(kport, kport.getNode(), shape);
-
-		// adjust label for this (boundary)port
-		adjustLabelForPort(shape);
-	}
-
-	/**
-	 * Extracts relevant information and delegates it to
-	 * {@link #adjustLabel(Text, int, int, int, int, int)} for proper adjustment
-	 * of port label
-	 * 
-	 * @param shape
-	 *            the Shape for the port
-	 * 
-	 * @author jayant
-	 */
-	private static void adjustLabelForPort(ContainerShape shape) {
-		GraphicsAlgorithm ga = shape.getGraphicsAlgorithm();
-		EObject boContainer = shape.getContainer().getLink()
-				.getBusinessObjects().get(0);
-
-		// First make sure that the shape corresponds to a Port
-		EObject bo = shape.getLink().getBusinessObjects().get(0);
-		if (bo instanceof InterfaceItem) {
-			// margin and size for bounding box (ActorClass )
-			int margin = InterfaceItemSupport.MARGIN;
-			int size = InterfaceItemSupport.ITEM_SIZE;
-
-			if (boContainer instanceof ActorContainerRef) {
-				// margin and size for ActorContainerRef
-				margin = InterfaceItemSupport.MARGIN_SMALL;
-				size = InterfaceItemSupport.ITEM_SIZE_SMALL;
-			}
-
-			Text label = (Text) (shape.getChildren().get(0)
-					.getGraphicsAlgorithm());
-
-			adjustLabel(label, ga.getX(), ga.getY(), ga.getWidth(), margin,
-					size);
-		}
-	};
-
-	/**
-	 * Sets correct port label position depending on the corresponding port
-	 * position.
-	 * 
-	 * @param label
-	 *            Text Graphics Algorithm to be placed
-	 * @param x
-	 *            The x coordinate of the containing shape
-	 * @param y
-	 *            The y coordinate of the containing shape
-	 * @param width
-	 *            The width of the containing shape
-	 * @param margin
-	 *            The margin of the containing shape
-	 * @param size
-	 *            The size(length/width) of the port's visible graphics
-	 *            algorithm
-	 * 
-	 */
-	/*
-	 * This method has been copied from InterfaceItemSuppot.FeatureProvider
-	 * class since its visibility is not public there
-	 */
-	private static void adjustLabel(Text label, int x, int y, int width,
-			int margin, int size) {
-		Orientation align = Orientation.ALIGNMENT_CENTER;
-		label.setHorizontalAlignment(align);
-
-		int pos = margin + size / 2;
-
-		if (x <= margin)
-			align = Orientation.ALIGNMENT_LEFT;
-		else if ((width - margin) <= x)
-			align = Orientation.ALIGNMENT_RIGHT;
-		if (y <= margin)
-			pos = (margin - size) / 2;
-
-		if (align != label.getHorizontalAlignment()) {
-			label.setHorizontalAlignment(align);
-		}
-		if (pos != label.getY()) {
-			IGaService gaService = Graphiti.getGaService();
-			gaService.setLocationAndSize(label, 0, pos, 2 * margin, margin / 2);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETriceBehaviorPreferencePage.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETriceBehaviorPreferencePage.java
deleted file mode 100644
index b989da7..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETriceBehaviorPreferencePage.java
+++ /dev/null
@@ -1,478 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout.preferences;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.etrice.ui.layout.Activator;
-import org.eclipse.etrice.ui.layout.preferences.ETricePreferenceUtil.ElementType;
-import org.eclipse.etrice.ui.layout.preferences.ETricePreferenceUtil.NewOptionDialog;
-import org.eclipse.etrice.ui.layout.preferences.ETricePreferenceUtil.OptionsTableProvider;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeNode;
-import org.eclipse.jface.viewers.TreeNodeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ListDialog;
-
-import de.cau.cs.kieler.core.util.Pair;
-import de.cau.cs.kieler.kiml.LayoutDataService;
-import de.cau.cs.kieler.kiml.LayoutOptionData;
-import de.cau.cs.kieler.kiml.ui.Messages;
-import de.cau.cs.kieler.kiml.ui.service.EclipseLayoutInfoService;
-import de.cau.cs.kieler.kiml.ui.views.LayoutViewPart;
-
-/**
- * Preference page for eTrice Behavior preferences
- * 
- * @author jayant
- */
-public class ETriceBehaviorPreferencePage extends PreferencePage implements
-		IWorkbenchPreferencePage {
-
-	/**
-	 * Creates the behavior layout preference page.
-	 * 
-	 * @author jayant
-	 */
-	public ETriceBehaviorPreferencePage() {
-		super();
-		setDescription("Preference Page for configuring layout options specific to eTrice Behavior diagrams");
-	}
-
-	/** table viewer to refresh after changes to the option table data. */
-	private TableViewer optionTableViewer;
-
-	/** list of layout option entries. */
-	private List<OptionsTableProvider.DataEntry> optionEntries;
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected Control createContents(Composite parent) {
-		Group optionsGroup = createOptionsGroup(parent);
-		optionsGroup
-				.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		return optionsGroup;
-	}
-
-	/**
-	 * Creates the group that holds the diagram element options table.
-	 * 
-	 * @param parent
-	 *            the parent control
-	 * @return a group with the diagram element options table
-	 */
-	protected Group createOptionsGroup(final Composite parent) {
-		Group elementGroup = new Group(parent, SWT.NONE);
-		elementGroup.setText(Messages.getString("kiml.ui.28")); //$NON-NLS-1$
-		IPreferenceStore preferenceStore = getPreferenceStore();
-		LayoutDataService dataService = LayoutDataService.getInstance();
-		Collection<LayoutOptionData<?>> layoutOptionData = dataService
-				.getOptionData();
-		optionEntries = new LinkedList<OptionsTableProvider.DataEntry>();
-
-		// add options for edit parts and behavior domain model elements
-		Set<String> elements = EclipseLayoutInfoService.getInstance()
-				.getRegisteredElements();
-
-		for (String element : elements) {
-			
-			//Finding whether diagram element is an Edit Part or Model Element 
-			Class<?> elementClass = null;
-			ElementType type;
-			try {
-				elementClass = Class.forName(element);
-				try {
-					type = PictogramElement.class.isAssignableFrom(elementClass)
-							 ? ElementType.EDIT_PART : ElementType.MODEL_ELEM;
-				} catch (NullPointerException e) {
-					type = ElementType.MODEL_ELEM;
-				}
-			} catch (ClassNotFoundException e) {
-				type = ElementType.MODEL_ELEM;
-			}
-			
-			//Making the element name more presentable
-			int dotIndex = element.lastIndexOf('.');
-			String partName = element.substring(dotIndex + 1);
-			if (partName.endsWith("Impl")) {
-				partName = partName.substring(0,
-						partName.length() - "Impl".length());
-			}
-			
-			for (LayoutOptionData<?> data : layoutOptionData) {
-				String preference = EclipseLayoutInfoService.getPreferenceName(
-						element, data.getId());
-				if (preferenceStore.contains(preference)) {
-					Object value = data.parseValue(preferenceStore
-							.getString(preference));
-					if (value != null) {
-						// If element is edit part or behavior model element,
-						// then add to the option table
-						if (type == ElementType.EDIT_PART
-								|| ETriceDomainModelElement
-										.isBehaviorModelElement(element))
-							optionEntries
-									.add(new OptionsTableProvider.DataEntry(
-											partName, element, type, data,
-											value));
-					}
-				}
-			}
-		}
-
-		// add options for diagram types(only those which are relevant to eTrice
-		// Behavior Diagram)
-		for (Pair<String, String> diagramType : ETriceDomainModelElement.BEHAVIOR_DIAGRAM_TYPES) {
-			for (LayoutOptionData<?> data : layoutOptionData) {
-				String preference = EclipseLayoutInfoService.getPreferenceName(
-						diagramType.getFirst(), data.getId());
-				if (preferenceStore.contains(preference)) {
-					Object value = data.parseValue(preferenceStore
-							.getString(preference));
-					if (value != null) {
-						optionEntries.add(new OptionsTableProvider.DataEntry(
-								diagramType.getSecond(),
-								diagramType.getFirst(), ElementType.DIAG_TYPE,
-								data, value));
-					}
-				}
-			}
-		}
-
-		// create the table and actions to edit layout option values
-		addOptionTable(elementGroup, optionEntries);
-
-		elementGroup.setLayout(new GridLayout(2, false));
-		return elementGroup;
-	}
-
-	/**
-	 * Adds a table to display options and buttons to edit the options.
-	 * 
-	 * @param parent
-	 *            the parent to which controls are added
-	 * @param entries
-	 *            the list of table entries
-	 */
-	private void addOptionTable(final Composite parent,
-			final List<OptionsTableProvider.DataEntry> entries) {
-		// construct the options table
-		final Table table = new Table(parent, SWT.BORDER);
-		final TableColumn column1 = new TableColumn(table, SWT.NONE);
-		column1.setText(Messages.getString("kiml.ui.29")); //$NON-NLS-1$
-		final TableColumn column2 = new TableColumn(table, SWT.NONE);
-		column2.setText(Messages.getString("kiml.ui.9")); //$NON-NLS-1$
-		final TableColumn column3 = new TableColumn(table, SWT.NONE);
-		column3.setText(Messages.getString("kiml.ui.19")); //$NON-NLS-1$
-		final TableColumn column4 = new TableColumn(table, SWT.NONE);
-		column4.setText(Messages.getString("kiml.ui.20")); //$NON-NLS-1$
-		table.setHeaderVisible(true);
-		final TableViewer tableViewer = new TableViewer(table);
-		OptionsTableProvider optionsTableProvider = new OptionsTableProvider();
-		tableViewer.setContentProvider(optionsTableProvider);
-		tableViewer.setLabelProvider(optionsTableProvider);
-		tableViewer.setInput(entries);
-		optionTableViewer = tableViewer;
-
-		column1.pack();
-		column2.pack();
-		column3.pack();
-		column4.pack();
-		GridData tableLayoutData = new GridData(SWT.FILL, SWT.FILL, true, true,
-				1, 1);
-		table.setLayoutData(tableLayoutData);
-		table.pack();
-		tableLayoutData.heightHint = ETricePreferenceUtil.OPTIONS_TABLE_HEIGHT;
-
-		// add button to add new options
-		Composite composite = new Composite(parent, SWT.NONE);
-		final Button newButton = new Button(composite, SWT.PUSH | SWT.CENTER);
-		newButton.setText(Messages.getString("kiml.ui.41")); //$NON-NLS-1$
-
-		// add button to edit the options
-		final Button editButton = new Button(composite, SWT.PUSH | SWT.CENTER);
-		editButton.setText(Messages.getString("kiml.ui.21")); //$NON-NLS-1$
-		editButton.setEnabled(false);
-		editButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(final SelectionEvent event) {
-				OptionsTableProvider.DataEntry entry = ETricePreferenceUtil
-						.getEntry(entries, table.getSelectionIndex());
-				if (entry != null) {
-					ETricePreferenceUtil.showEditDialog(parent.getShell(),
-							entry);
-					tableViewer.refresh();
-				}
-			}
-		});
-
-		// add button to remove an option
-		final Button removeButton = new Button(composite, SWT.PUSH | SWT.CENTER);
-		removeButton.setText(Messages.getString("kiml.ui.22")); //$NON-NLS-1$
-		removeButton.setEnabled(false);
-		removeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(final SelectionEvent event) {
-				OptionsTableProvider.DataEntry entry = ETricePreferenceUtil
-						.getEntry(entries, table.getSelectionIndex());
-				if (entry != null) {
-					entry.setValue(null);
-					tableViewer.refresh();
-					int count = 0;
-					for (OptionsTableProvider.DataEntry e : entries) {
-						if (e.getValue() != null) {
-							count++;
-						}
-					}
-					if (count == 0) {
-						editButton.setEnabled(false);
-						removeButton.setEnabled(false);
-					}
-				}
-			}
-		});
-
-		// react on selection changes of the options table
-		table.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(final SelectionEvent event) {
-				if (!entries.isEmpty() && event.item != null) {
-					editButton.setEnabled(true);
-					removeButton.setEnabled(true);
-				} else {
-					editButton.setEnabled(false);
-					removeButton.setEnabled(false);
-				}
-			}
-		});
-		newButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(final SelectionEvent event) {
-				int newIndex = showNewDialog(parent.getShell(), entries);
-				if (newIndex >= 0) {
-					tableViewer.refresh();
-					tableViewer.setSelection(new StructuredSelection(entries
-							.get(newIndex)));
-					editButton.setEnabled(true);
-					removeButton.setEnabled(true);
-					column1.pack();
-					column2.pack();
-					column3.pack();
-					column4.pack();
-				}
-			}
-		});
-
-		composite.setLayout(new FillLayout(SWT.VERTICAL));
-		GridData compositeLayoutData = new GridData(SWT.LEFT, SWT.TOP, false,
-				false, 1, 1);
-		composite.setLayoutData(compositeLayoutData);
-	}
-
-	/**
-	 * Shows an input dialog to add a new layout option to the list.
-	 * 
-	 * @param shell
-	 *            the current shell
-	 * @param entries
-	 *            the list of table entries
-	 * @return the table index to put focus on, or -1 if the focus should not be
-	 *         changed
-	 */
-	private int showNewDialog(final Shell shell,
-			final List<OptionsTableProvider.DataEntry> entries) {
-
-		NewOptionDialog dialog = new NewOptionDialog(shell) {
-			// Overriding the function for Behavior diagrams specific
-			// implementation
-
-			/**
-			 * @author jayant
-			 */
-			@Override
-			protected String showBrowseModelElementDialog() {
-				ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(
-						this.getShell(), new LabelProvider(),
-						new TreeNodeContentProvider());
-				dialog.setTitle("Select Behavior Model Element");
-
-				TreeNode[] input = ETriceDomainModelElement.BEHAVIOR_MODEL
-						.getChildren();
-				dialog.setInput(input);
-
-				if (dialog.open() == ElementTreeSelectionDialog.OK) {
-					Object[] result = dialog.getResult();
-					if (result != null && result.length > 0) {
-						return ((ETriceDomainModelElement) result[0]).getId();
-					}
-				}
-				return null;
-			}
-
-			/**
-			 * @author jayant
-			 */
-			@Override
-			protected String showBrowseDiagtDialog() {
-				ListDialog dialog = new ListDialog(this.getShell());
-				dialog.setTitle(Messages.getString("kiml.ui.57")); //$NON-NLS-1$
-				dialog.setContentProvider(ArrayContentProvider.getInstance());
-				dialog.setLabelProvider(new LabelProvider());
-
-				SelectionData[] input = new SelectionData[ETriceDomainModelElement.BEHAVIOR_DIAGRAM_TYPES
-						.size()];
-				int i = 0;
-				for (Pair<String, String> type : ETriceDomainModelElement.BEHAVIOR_DIAGRAM_TYPES) {
-					SelectionData seld = new SelectionData(type);
-					input[i++] = seld;
-				}
-				Arrays.sort(input);
-				dialog.setInput(input);
-				if (dialog.open() == ListDialog.OK) {
-					Object[] result = dialog.getResult();
-					if (result != null && result.length > 0) {
-						return ((SelectionData) result[0]).getId();
-					}
-				}
-				return null;
-			}
-		};
-
-		if (dialog.open() == NewOptionDialog.OK) {
-			OptionsTableProvider.DataEntry newEntry = dialog.createDataEntry();
-			if (newEntry == null) {
-				MessageDialog.openError(shell,
-						Messages.getString("kiml.ui.51"),
-						Messages.getString("kiml.ui.52"));
-			} else {
-				// look for an existing entry with same identifiers
-				int oldIndex = 0;
-				OptionsTableProvider.DataEntry oldEntry = null;
-				for (OptionsTableProvider.DataEntry e : entries) {
-					if (e.getValue() != null) {
-						if (e.equals(newEntry)) {
-							oldEntry = e;
-							break;
-						}
-						oldIndex++;
-					}
-				}
-				if (oldEntry != null) {
-					return oldIndex;
-				} else {
-					entries.add(newEntry);
-					return entries.size() - 1;
-				}
-			}
-		}
-		return -1;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	public void init(final IWorkbench workbench) {
-		setPreferenceStore(Activator.getDefault().getSharedPreferenceStore());
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected void performDefaults() {
-		super.performDefaults();
-
-		// clear the layout options table
-		for (OptionsTableProvider.DataEntry entry : optionEntries) {
-			entry.setValue(null);
-		}
-		optionTableViewer.refresh();
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public boolean performOk() {
-		EclipseLayoutInfoService infoService = EclipseLayoutInfoService
-				.getInstance();
-		IPreferenceStore preferenceStore = getPreferenceStore();
-
-		// store data for the diagram element and diagram type options
-		for (OptionsTableProvider.DataEntry entry : optionEntries) {
-			Object oldValue = infoService.getOptionValue(entry.getElementId(),
-					entry.getOptionData().getId());
-			Object newValue = entry.getValue();
-			if (oldValue == null && newValue != null
-					|| !oldValue.equals(newValue)) {
-				String preference = EclipseLayoutInfoService.getPreferenceName(
-						entry.getElementId(), entry.getOptionData().getId());
-				if (newValue == null) {
-					infoService.removeOptionValue(entry.getElementId(), entry
-							.getOptionData().getId());
-					preferenceStore.setToDefault(preference);
-					infoService.getRegisteredElements().remove(
-							entry.getElementId());
-				} else {
-					infoService.addOptionValue(entry.getElementId(), entry
-							.getOptionData().getId(), newValue);
-					preferenceStore.setValue(preference, newValue.toString());
-					if (entry.getType() != ElementType.DIAG_TYPE) {
-						infoService.getRegisteredElements().add(
-								entry.getElementId());
-					}
-				}
-			}
-		}
-
-		LayoutViewPart layoutView = LayoutViewPart.findView();
-		if (layoutView != null) {
-			layoutView.refresh();
-		}
-		return true;
-	}
-
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETriceDomainModelElement.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETriceDomainModelElement.java
deleted file mode 100644
index 493a16d..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETriceDomainModelElement.java
+++ /dev/null
@@ -1,309 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout.preferences;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.util.Util;
-import org.eclipse.jface.viewers.TreeNode;
-
-import de.cau.cs.kieler.core.util.Pair;
-
-/**
- * A class to represent Domain Model Elements(classes of eTrice). The class
- * extends {@code TreeNode} which helps in :
- * <ul>
- * <li>Representing the class hierarchy
- * <li>Making it a valid object to be passes to {@code TreeNodeContentProvider},
- * thus eliminates the need of a custom Content Provider.
- * </ul>
- * 
- * @author jayant
- * 
- */
-public class ETriceDomainModelElement extends TreeNode {
-
-	/**
-	 * Constructs a new instance of {@code ETriceDomainModelElement} with the
-	 * given id and no children.
-	 * 
-	 * @param id
-	 *            The String which represents the Fully Qualified Domain Name of
-	 *            the Class
-	 * 
-	 * @author jayant
-	 */
-	public ETriceDomainModelElement(String id) {
-		super(id.substring(id.lastIndexOf('.') + 1));
-		this.id = id;
-	}
-
-	/**
-	 * Constructs a new instance of {@code ETriceDomainModelElement} with given
-	 * id and array of children
-	 * 
-	 * @param id
-	 *            The String which represents the Fully Qualified Domain Name of
-	 *            the Class
-	 * @param children
-	 *            The array of children fo this element(node)
-	 * 
-	 * @author jayant
-	 */
-	public ETriceDomainModelElement(String id,
-			ETriceDomainModelElement[] children) {
-		super(id.substring(id.lastIndexOf('.') + 1));
-		this.id = id;
-		setChildren(children);
-	}
-
-	/**
-	 * The id of the Domain Model Class. This is a string which is the Fully
-	 * Qualified Domain Name of the class.
-	 */
-	private String id;
-
-	/**
-	 * The public instance of {@code ETriceDomainModelElement} which encompasses
-	 * the complete class hierarchy of configurable Structure diagram elements
-	 */
-	public static final ETriceDomainModelElement STRUCTURE_MODEL = new ETriceDomainModelElement(
-			"StructureRoot",
-			new ETriceDomainModelElement[] {
-					new ETriceDomainModelElement(
-							"org.eclipse.etrice.core.room.ActorContainerRef",
-							new ETriceDomainModelElement[] {
-									new ETriceDomainModelElement(
-											"org.eclipse.etrice.core.room.ActorRef"),
-									new ETriceDomainModelElement(
-											"org.eclipse.etrice.core.room.SubSystemRef") }),
-					new ETriceDomainModelElement(
-							"org.eclipse.etrice.core.room.InterfaceItem",
-							new ETriceDomainModelElement[] {
-									new ETriceDomainModelElement(
-											"org.eclipse.etrice.core.room.Port"),
-									new ETriceDomainModelElement(
-											"org.eclipse.etrice.core.room.SAPRef"),
-									new ETriceDomainModelElement(
-											"org.eclipse.etrice.core.room.SPPRef") }),
-					new ETriceDomainModelElement(
-							"org.eclipse.etrice.core.room.StructureClass",
-							new ETriceDomainModelElement[] {
-									new ETriceDomainModelElement(
-											"org.eclipse.etrice.core.room.ActorContainerClass",
-											new ETriceDomainModelElement[] {
-													new ETriceDomainModelElement(
-															"org.eclipse.etrice.core.room.ActorClass"),
-													new ETriceDomainModelElement(
-															"org.eclipse.etrice.core.room.SubSystemClass") }),
-									new ETriceDomainModelElement(
-											"org.eclipse.etrice.core.room.LogicalSystem") }),
-					new ETriceDomainModelElement(
-							"org.eclipse.etrice.core.room.SAPoint",
-							new ETriceDomainModelElement[] {
-									new ETriceDomainModelElement(
-											"org.eclipse.etrice.core.room.RefSAPoint"),
-									new ETriceDomainModelElement(
-											"org.eclipse.etrice.core.room.RelaySAPoint") }),
-					new ETriceDomainModelElement(
-							"org.eclipse.etrice.core.room.SPPoint"),
-					new ETriceDomainModelElement(
-							"org.eclipse.etrice.core.room.Binding") });
-
-	/**
-	 * The public instance of {@code ETriceDomainModelElement} which encompasses
-	 * the complete class hierarchy of configurable Behavior diagram elements
-	 */
-	public static final ETriceDomainModelElement BEHAVIOR_MODEL = new ETriceDomainModelElement(
-			"BehaviorRoot",
-			new ETriceDomainModelElement[] {
-					new ETriceDomainModelElement(
-							"org.eclipse.etrice.core.room.StateGraph"),
-					new ETriceDomainModelElement(
-							"org.eclipse.etrice.core.room.StateGraphItem",
-							new ETriceDomainModelElement[] {
-									new ETriceDomainModelElement(
-											"org.eclipse.etrice.core.room.StateGraphNode",
-											new ETriceDomainModelElement[] {
-													new ETriceDomainModelElement(
-															"org.eclipse.etrice.core.room.ChoicePoint"),
-													new ETriceDomainModelElement(
-															"org.eclipse.etrice.core.room.State",
-															new ETriceDomainModelElement[] {
-																	new ETriceDomainModelElement(
-																			"org.eclipse.etrice.core.room.RefinedState"),
-																	new ETriceDomainModelElement(
-																			"org.eclipse.etrice.core.room.SimpleState") }),
-													new ETriceDomainModelElement(
-															"org.eclipse.etrice.core.room.TrPoint",
-															new ETriceDomainModelElement[] {
-																	new ETriceDomainModelElement(
-																			"org.eclipse.etrice.core.room.EntryPoint"),
-																	new ETriceDomainModelElement(
-																			"org.eclipse.etrice.core.room.ExitPoint"),
-																	new ETriceDomainModelElement(
-																			"org.eclipse.etrice.core.room.TransitionPoint") }) }),
-									new ETriceDomainModelElement(
-											"org.eclipse.etrice.core.room.Transition",
-											new ETriceDomainModelElement[] {
-													new ETriceDomainModelElement(
-															"org.eclipse.etrice.core.room.InitialTransition"),
-													new ETriceDomainModelElement(
-															"org.eclipse.etrice.core.room.NonInitialTransition",
-															new ETriceDomainModelElement[] {
-																	new ETriceDomainModelElement(
-																			"org.eclipse.etrice.core.room.ContinuationTransition"),
-																	new ETriceDomainModelElement(
-																			"org.eclipse.etrice.core.room.CPBranchTransition"),
-																	new ETriceDomainModelElement(
-																			"org.eclipse.etrice.core.room.TransitionChainStartTransition",
-																			new ETriceDomainModelElement[] {
-																					new ETriceDomainModelElement(
-																							"org.eclipse.etrice.core.room.GuardedTransition"),
-																					new ETriceDomainModelElement(
-																							"org.eclipse.etrice.core.room.TriggeredTransition") }) }) }) }), });
-
-	/**
-	 * public list of {@code Pair<String, <String>>} enumerating all diagram
-	 * types relevant for Structure Diagrams
-	 */
-	@SuppressWarnings("unchecked")
-	public static final List<Pair<String, String>> STRUCTURE_DIAGRAM_TYPES = new ArrayList<Pair<String, String>>(
-			Arrays.asList(
-					new Pair<String, String>(
-							"de.cau.cs.kieler.layout.diagrams.gereral",
-							"General"),
-					new Pair<String, String>(
-							"org.eclipse.etrice.ui.layout.eTriceStructureDiagram",
-							"eTrice Structure Diagram")));
-
-	/**
-	 * public list of {@code Pair<String, <String>>} enumerating all diagram
-	 * types relevant for Behavior Diagrams
-	 */
-	@SuppressWarnings("unchecked")
-	public static final List<Pair<String, String>> BEHAVIOR_DIAGRAM_TYPES = new ArrayList<Pair<String, String>>(
-			Arrays.asList(
-					new Pair<String, String>(
-							"de.cau.cs.kieler.layout.diagrams.gereral",
-							"General"),
-					new Pair<String, String>(
-							"org.eclipse.etrice.ui.layout.eTriceBehaviorDiagram",
-							"eTrice Behavior Diagram")));
-
-	/**
-	 * Finds whether the given id belongs to a particular domain model class
-	 * (for behavior diagram elements)
-	 * 
-	 * @param id
-	 *            The id to be checked (found)
-	 * @return true, if there is a class in behavior model hierarchy with same
-	 *         id, otherwise false
-	 */
-	public static boolean isBehaviorModelElement(String id) {
-		return (BEHAVIOR_MODEL.traverseModel(id));
-	}
-
-	/**
-	 * Finds whether the given id belongs to a particular domain model class
-	 * (for structure diagram elements)
-	 * 
-	 * @param id
-	 *            The id to be found
-	 * @return true, if there is a class in structure model hierarchy with same
-	 *         id, otherwise false
-	 */
-	public static boolean isStructureModelElement(String id) {
-		return (STRUCTURE_MODEL.traverseModel(id));
-	}
-
-	/**
-	 * Traverses the n-ary tree recursively from the invoking node and try to
-	 * find the given id.
-	 * 
-	 * @param findId
-	 *            The id to be found
-	 * @return true, if id matches with any node of the tree (with root as the
-	 *         invoking node), otherwise false
-	 */
-	public boolean traverseModel(final String findId) {
-
-		if (Util.equals(this.id, findId)) {
-			return true;
-		} else {
-			TreeNode[] children = getChildren();
-			if (children != null) {
-				for (TreeNode child : children) {
-					if (((ETriceDomainModelElement) child)
-							.traverseModel(findId))
-						return true;
-				}
-			}
-
-			return false;
-		}
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public boolean equals(final Object object) {
-		if (object instanceof ETriceDomainModelElement) {
-			return Util.equals(this.id, ((ETriceDomainModelElement) object).id);
-		}
-
-		return false;
-	}
-
-	/**
-	 * Getter for id
-	 * 
-	 * @return the id
-	 * 
-	 * @author jayant
-	 */
-	public String getId() {
-		return id;
-	}
-
-	/**
-	 * Setter for id
-	 * 
-	 * @param id
-	 *            the id to set
-	 * 
-	 * @author jayant
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * <p>
-	 * Useful for using this class with default {@code LabelProvider}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public String toString() {
-		return ((String) value + " (" + id + ")");
-	}
-
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETriceLayoutPreferencePage.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETriceLayoutPreferencePage.java
deleted file mode 100644
index cf9ca59..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETriceLayoutPreferencePage.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout.preferences;
-
-import org.eclipse.etrice.ui.layout.Activator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-import de.cau.cs.kieler.kiml.ui.Messages;
-import de.cau.cs.kieler.kiml.ui.diagram.LayoutHandler;
-import de.cau.cs.kieler.kiml.ui.service.EclipseLayoutInfoService;
-
-/**
- * Preference page for common KIML preferences.
- * 
- * @author jayant
- */
-public class ETriceLayoutPreferencePage extends PreferencePage implements
-		IWorkbenchPreferencePage {
-
-	/** checkbox for animation. */
-	private Button animationCheckBox;
-	/** checkbox for zoom-to-fit. */
-	private Button zoomCheckBox;
-	/** checkbox for progress dialog. */
-	private Button progressCheckBox;
-	/** checkbox for edge routing style. */
-	private Button obliqueCheckBox;
-
-	/**
-	 * Creates the layout preference page.
-	 * 
-	 * @author jayant
-	 */
-	public ETriceLayoutPreferencePage() {
-		super();
-		setDescription("Preferences for eTrice automatic diagram layout");
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	protected Control createContents(final Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-
-		Group generalGroup = createGeneralGroup(composite);
-		generalGroup
-				.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
-
-		Label redirectionText = new Label(composite, SWT.WRAP);
-		redirectionText.setAlignment(SWT.LEFT);
-		redirectionText
-				.setText("Use sub-pages to set Diagram specific preferences");
-
-		GridLayout compositeLayout = new GridLayout(1, false);
-		composite.setLayout(compositeLayout);
-
-		return composite;
-	}
-
-	/** margin width for layouts. */
-	private static final int MARGIN_WIDTH = 10;
-	/** margin height for layouts. */
-	private static final int MARGIN_HEIGHT = 5;
-
-	/**
-	 * Creates the group for general options.
-	 * 
-	 * @param parent
-	 *            the parent control
-	 * @return a group with general options
-	 */
-	private Group createGeneralGroup(final Composite parent) {
-		Group generalGroup = new Group(parent, SWT.NONE);
-		generalGroup.setText(Messages.getString("kiml.ui.35")); //$NON-NLS-1$
-
-		// add check box for animation
-		animationCheckBox = new Button(generalGroup, SWT.CHECK | SWT.LEFT);
-		animationCheckBox.setText(Messages.getString("kiml.ui.64")); //$NON-NLS-1$
-		animationCheckBox.setSelection(getPreferenceStore().getBoolean(
-				LayoutHandler.PREF_ANIMATION));
-
-		// add check box for zoom-to-fit
-		zoomCheckBox = new Button(generalGroup, SWT.CHECK | SWT.LEFT);
-		zoomCheckBox.setText(Messages.getString("kiml.ui.65")); //$NON-NLS-1$
-		zoomCheckBox.setSelection(getPreferenceStore().getBoolean(
-				LayoutHandler.PREF_ZOOM));
-
-		// add check box for progress dialog
-		progressCheckBox = new Button(generalGroup, SWT.CHECK | SWT.LEFT);
-		progressCheckBox.setText(Messages.getString("kiml.ui.66")); //$NON-NLS-1$
-		progressCheckBox.setSelection(getPreferenceStore().getBoolean(
-				LayoutHandler.PREF_PROGRESS));
-
-		// add check box for oblique routing
-		obliqueCheckBox = new Button(generalGroup, SWT.CHECK | SWT.LEFT);
-		obliqueCheckBox.setText(Messages.getString("kiml.ui.36")); //$NON-NLS-1$
-		obliqueCheckBox.setSelection(getPreferenceStore().getBoolean(
-				EclipseLayoutInfoService.PREF_OBLIQUE_ROUTE));
-
-		FillLayout layout = new FillLayout(SWT.VERTICAL);
-		layout.marginWidth = MARGIN_WIDTH;
-		layout.marginHeight = MARGIN_HEIGHT;
-		generalGroup.setLayout(layout);
-		return generalGroup;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	public void init(final IWorkbench workbench) {
-		setPreferenceStore(Activator.getDefault().getSharedPreferenceStore());
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	protected void performDefaults() {
-		super.performDefaults();
-		IPreferenceStore preferenceStore = getPreferenceStore();
-
-		// set default values for the general options
-		animationCheckBox.setSelection(preferenceStore
-				.getDefaultBoolean(LayoutHandler.PREF_ANIMATION));
-		zoomCheckBox.setSelection(preferenceStore
-				.getDefaultBoolean(LayoutHandler.PREF_ZOOM));
-		progressCheckBox.setSelection(preferenceStore
-				.getDefaultBoolean(LayoutHandler.PREF_PROGRESS));
-		obliqueCheckBox
-				.setSelection(preferenceStore
-						.getDefaultBoolean(EclipseLayoutInfoService.PREF_OBLIQUE_ROUTE));
-	}
-
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean performOk() {
-		IPreferenceStore preferenceStore = getPreferenceStore();
-
-		// set new values for the general options
-		preferenceStore.setValue(LayoutHandler.PREF_ANIMATION,
-				animationCheckBox.getSelection());
-		preferenceStore.setValue(LayoutHandler.PREF_ZOOM,
-				zoomCheckBox.getSelection());
-		preferenceStore.setValue(LayoutHandler.PREF_PROGRESS,
-				progressCheckBox.getSelection());
-		preferenceStore.setValue(EclipseLayoutInfoService.PREF_OBLIQUE_ROUTE,
-				obliqueCheckBox.getSelection());
-
-		return true;
-	}
-
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETricePreferenceUtil.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETricePreferenceUtil.java
deleted file mode 100644
index 931972d..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/ETricePreferenceUtil.java
+++ /dev/null
@@ -1,806 +0,0 @@
-/*******************************************************************************
- * Copyright 2010 by Christian-Albrechts-University of Kiel and Others
- * Department of Computer Science
- *   + Real-Time and Embedded Systems Group
- * This code is provided under the terms of the Eclipse Public License (EPL).
- * See the file epl-v10.html for the license text.
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (used KIELER code with minor modifications in eTrice)
- *  
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout.preferences;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ListDialog;
-
-import de.cau.cs.kieler.core.util.Pair;
-import de.cau.cs.kieler.kiml.LayoutDataService;
-import de.cau.cs.kieler.kiml.LayoutOptionData;
-import de.cau.cs.kieler.kiml.options.LayoutOptions;
-import de.cau.cs.kieler.kiml.ui.KimlUiPlugin;
-import de.cau.cs.kieler.kiml.ui.LayoutOptionValidator;
-import de.cau.cs.kieler.kiml.ui.LayouterHintDialog;
-import de.cau.cs.kieler.kiml.ui.Messages;
-import de.cau.cs.kieler.kiml.ui.service.EclipseLayoutDataService;
-import de.cau.cs.kieler.kiml.ui.service.EclipseLayoutInfoService;
-
-/**
- * The Utility class for eTrice Preference Pages.
- * <p>
- * This class provides a few useful methods, an enumerated type and two static
- * nested class :
- * <ul>
- * <li>{@link ElementType}</li>
- * <li>{@link NewOptionDialog}</li>
- * <li>{@link OptionsTableProvider}</li>
- * </ul>
- * 
- * @author jayant
- */
-public final class ETricePreferenceUtil {
-
-	/**
-	 * Hidden constructor to avoid instantiation.
-	 * 
-	 * @author jayant
-	 */
-	private ETricePreferenceUtil() {
-
-	}
-
-	/** fixed height of the options table. */
-	public static final int OPTIONS_TABLE_HEIGHT = 300;
-
-	/**
-	 * Fetches the entry with given index of a list of data entry, bypassing
-	 * elements whose value was set to {@code null}.
-	 * 
-	 * @param entries
-	 *            list of data entries
-	 * @param index
-	 *            index of the entry to look up
-	 * @return the entry at the given index
-	 */
-	public static OptionsTableProvider.DataEntry getEntry(
-			final List<OptionsTableProvider.DataEntry> entries, final int index) {
-		ListIterator<OptionsTableProvider.DataEntry> entryIter = entries
-				.listIterator();
-		int i = 0;
-		while (entryIter.hasNext()) {
-			OptionsTableProvider.DataEntry entry = entryIter.next();
-			if (entry.getValue() != null) {
-				if (i == index) {
-					return entry;
-				}
-				i++;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Shows an input dialog to edit the given option table entry.
-	 * 
-	 * @param shell
-	 *            the current shell
-	 * @param entry
-	 *            an option table entry
-	 */
-	public static void showEditDialog(final Shell shell,
-			final OptionsTableProvider.DataEntry entry) {
-		LayoutOptionData<?> optionData = entry.getOptionData();
-		if (entry.getValue() != null) {
-			if (optionData.equals(LayoutOptions.ALGORITHM)) {
-				// show a selection dialog for a layouter hint
-				LayouterHintDialog dialog = new LayouterHintDialog(shell, null);
-				if (dialog.open() == LayouterHintDialog.OK) {
-					String result = dialog.getSelectedHint();
-					if (result != null) {
-						entry.setValue(result);
-					}
-				}
-			} else {
-				// show an input dialog for some other option
-				String value = entry.getValue().toString();
-				InputDialog dialog = new InputDialog(shell,
-						Messages.getString("kiml.ui.23"),
-						Messages.getString("kiml.ui.24"), value,
-						new LayoutOptionValidator(optionData));
-				if (dialog.open() == InputDialog.OK) {
-					String result = dialog.getValue().trim();
-					switch (optionData.getType()) {
-					case REMOTE_ENUM:
-					case ENUM:
-						entry.setValue(optionData.parseValue(result
-								.toUpperCase()));
-						break;
-					default:
-						entry.setValue(optionData.parseValue(result));
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Enumeration of element types that can receive default options.
-	 * 
-	 * @author msp
-	 */
-	public static enum ElementType {
-
-		/** highest priority: edit parts of specific diagram editors. */
-		EDIT_PART,
-
-		/** medium priority: domain model elements. */
-		MODEL_ELEM,
-
-		/**
-		 * lowest priority: diagram type definition (contributed via extension
-		 * point).
-		 */
-		DIAG_TYPE;
-
-		/**
-		 * Returns a description for the element type.
-		 * 
-		 * @return a user-friendly description
-		 */
-		public String getDescription() {
-			switch (this) {
-			case EDIT_PART:
-				return Messages.getString("kiml.ui.54");
-			case MODEL_ELEM:
-				return Messages.getString("kiml.ui.55");
-			case DIAG_TYPE:
-				return Messages.getString("kiml.ui.56");
-			}
-			return null;
-		}
-
-	}
-
-	/**
-	 * A dialog to add new default layout options in the preference page.
-	 * 
-	 * @author msp
-	 * @author jayant (adapted it for eTrice)
-	 */
-	public static class NewOptionDialog extends Dialog {
-
-		/** the currently selected element type. */
-		private ElementType elementType;
-		/** the text for selection of a specific element. */
-		private Text elementText;
-		/** the value of the specific element or diagram type. */
-		private String elementValue;
-		/** the browse button for element selection. */
-		private Button elementBrowseButton;
-		/** the text for selection of a layout option. */
-		private Text optionText;
-		/** the value of the layout option identifier. */
-		private String optionValue;
-
-		/**
-		 * Creates a new option dialog.
-		 * 
-		 * @param parentShell
-		 *            the parent shell
-		 */
-		protected NewOptionDialog(final Shell parentShell) {
-			super(parentShell);
-		}
-
-		/**
-		 * {@inheritDoc}
-		 */
-		@Override
-		protected void configureShell(final Shell shell) {
-			super.configureShell(shell);
-			shell.setText(Messages.getString("kiml.ui.46")); //$NON-NLS-1$
-		}
-
-		/**
-		 * {@inheritDoc}
-		 */
-		@Override
-		public boolean close() {
-			elementValue = elementText.getText();
-			optionValue = optionText.getText();
-			return super.close();
-		}
-
-		/** gap between label and control. */
-		private static final int HORIZONTAL_GAP = 8;
-		/** minimum width of each group. */
-		private static final int MINIMUM_WIDTH = 500;
-
-		/**
-		 * {@inheritDoc}
-		 */
-		@Override
-		protected Control createDialogArea(final Composite parent) {
-			Composite composite = (Composite) super.createDialogArea(parent);
-			createTypeGroup(composite);
-			createElementGroup(composite);
-			createOptionGroup(composite);
-			return composite;
-		}
-
-		/**
-		 * Create group for element type selection.
-		 * 
-		 * @param parent
-		 *            the parent control
-		 */
-		protected void createTypeGroup(final Composite parent) {
-			Group group = new Group(parent, SWT.NONE);
-			group.setText(Messages.getString("kiml.ui.42")); //$NON-NLS-1$
-			GridLayout layout = new GridLayout(1, false);
-			layout.horizontalSpacing = HORIZONTAL_GAP;
-			group.setLayout(layout);
-			String[][] labelsAndValues = new String[][] {
-					{
-							Messages.getString("kiml.ui.43"), ElementType.EDIT_PART.toString() }, //$NON-NLS-1$
-					{
-							Messages.getString("kiml.ui.44"), ElementType.MODEL_ELEM.toString() }, //$NON-NLS-1$
-					{
-							Messages.getString("kiml.ui.45"), ElementType.DIAG_TYPE.toString() } //$NON-NLS-1$
-			};
-			for (int i = 0; i < labelsAndValues.length; i++) {
-				Button radio = new Button(group, SWT.RADIO | SWT.LEFT);
-				radio.setSelection(i == 0);
-				String[] labelAndValue = labelsAndValues[i];
-				radio.setText(labelAndValue[0]);
-				radio.setData(labelAndValue[1]);
-				radio.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(final SelectionEvent event) {
-						elementType = ElementType.valueOf((String) event.widget
-								.getData());
-						elementBrowseButton
-								.setEnabled(elementType == ElementType.DIAG_TYPE
-										|| elementType == ElementType.MODEL_ELEM);
-					}
-				});
-			}
-			elementType = ElementType.EDIT_PART;
-			GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false);
-			gridData.minimumWidth = MINIMUM_WIDTH;
-			group.setLayoutData(gridData);
-		}
-
-		/**
-		 * Create group for selection of specific element.
-		 * 
-		 * @param parent
-		 *            the parent control
-		 */
-		protected void createElementGroup(final Composite parent) {
-			Group group = new Group(parent, SWT.NONE);
-			group.setText(Messages.getString("kiml.ui.47")); //$NON-NLS-1$
-			group.setLayout(new GridLayout(2, false));
-			Label label = new Label(group, SWT.WRAP);
-			label.setText(Messages.getString("kiml.ui.53")); //$NON-NLS-1$
-			GridData labelLayoutData = new GridData(SWT.LEFT, SWT.FILL, false,
-					false, 2, 1);
-			labelLayoutData.widthHint = MINIMUM_WIDTH - HORIZONTAL_GAP;
-			label.setLayoutData(labelLayoutData);
-			elementText = new Text(group, SWT.SINGLE | SWT.BORDER);
-			elementText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true,
-					false));
-			elementBrowseButton = new Button(group, SWT.PUSH | SWT.CENTER);
-			elementBrowseButton.setEnabled(false);
-			elementBrowseButton.setText(Messages.getString("kiml.ui.48")); //$NON-NLS-1$
-			elementBrowseButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(final SelectionEvent e) {
-					String id = (elementType == ElementType.DIAG_TYPE) ? showBrowseDiagtDialog()
-							: showBrowseModelElementDialog();
-					if (id != null) {
-						elementText.setText(id);
-					}
-				}
-			});
-			GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false);
-			gridData.minimumWidth = MINIMUM_WIDTH;
-			group.setLayoutData(gridData);
-		}
-
-		/**
-		 * Create group for selection of a layout option.
-		 * 
-		 * @param parent
-		 *            the parent control
-		 */
-		protected void createOptionGroup(final Composite parent) {
-			Group group = new Group(parent, SWT.NONE);
-			group.setText(Messages.getString("kiml.ui.49")); //$NON-NLS-1$
-			group.setLayout(new GridLayout(2, false));
-			optionText = new Text(group, SWT.SINGLE | SWT.BORDER);
-			optionText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true,
-					false));
-			Button browseButton = new Button(group, SWT.PUSH | SWT.CENTER);
-			browseButton.setText(Messages.getString("kiml.ui.48")); //$NON-NLS-1$
-			browseButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(final SelectionEvent e) {
-					String id = showBrowseOptionDialog();
-					if (id != null) {
-						optionText.setText(id);
-					}
-				}
-			});
-			GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false);
-			gridData.minimumWidth = MINIMUM_WIDTH;
-			group.setLayoutData(gridData);
-
-		}
-
-		/** data holder class for selection of a layout option or diagram type. */
-		protected static final class SelectionData implements
-				Comparable<SelectionData> {
-			private String id;
-
-			/**
-			 * @return the id
-			 */
-			public String getId() {
-				return id;
-			}
-
-			private String name;
-			private LayoutOptionData.Type type;
-
-			/**
-			 * Create a selection data object from a layout option data.
-			 * 
-			 * @param optionData
-			 *            a layout option data
-			 */
-			public SelectionData(final LayoutOptionData<?> optionData) {
-				this.id = optionData.getId();
-				this.name = optionData.getName();
-				this.type = optionData.getType();
-			}
-
-			/**
-			 * Create a selection data object from a diagram type.
-			 * 
-			 * @param diagramType
-			 *            a pair with the diagram type identifier as first
-			 *            element and the name as second element
-			 */
-			public SelectionData(final Pair<String, String> diagramType) {
-				this.id = diagramType.getFirst();
-				this.name = diagramType.getSecond();
-			}
-
-			/**
-			 * {@inheritDoc}
-			 */
-			@Override
-			public boolean equals(final Object object) {
-				if (object instanceof SelectionData) {
-					SelectionData other = (SelectionData) object;
-					return this.id.equals(other.id)
-							&& this.name.equals(other.name);
-				}
-				return false;
-			}
-
-			/**
-			 * {@inheritDoc}
-			 */
-			@Override
-			public int hashCode() {
-				return id.hashCode() + name.hashCode();
-			}
-
-			/**
-			 * {@inheritDoc}
-			 */
-			@Override
-			public String toString() {
-				return name + " (" + id + ")";
-			}
-
-			/**
-			 * {@inheritDoc}
-			 */
-			public int compareTo(final SelectionData other) {
-				int nameComp = this.name.compareTo(other.name);
-				if (nameComp == 0) {
-					return this.id.compareTo(other.id);
-				} else {
-					return nameComp;
-				}
-			}
-		}
-
-		/**
-		 * Open a dialog to browse diagram types.
-		 * 
-		 * @return the selected diagram type
-		 */
-		protected String showBrowseDiagtDialog() {
-			ListDialog dialog = new ListDialog(this.getShell());
-			dialog.setTitle(Messages.getString("kiml.ui.57")); //$NON-NLS-1$
-			dialog.setContentProvider(ArrayContentProvider.getInstance());
-			dialog.setLabelProvider(new LabelProvider());
-			List<Pair<String, String>> diagramTypes = EclipseLayoutInfoService
-					.getInstance().getDiagramTypes();
-			SelectionData[] input = new SelectionData[diagramTypes.size()];
-			int i = 0;
-			for (Pair<String, String> type : diagramTypes) {
-				SelectionData seld = new SelectionData(type);
-				input[i++] = seld;
-			}
-			Arrays.sort(input);
-			dialog.setInput(input);
-			if (dialog.open() == ListDialog.OK) {
-				Object[] result = dialog.getResult();
-				if (result != null && result.length > 0) {
-					return ((SelectionData) result[0]).id;
-				}
-			}
-			return null;
-		}
-
-		/**
-		 * Open a dialog to browse Domain Model Elements (Classes).
-		 * 
-		 * @return the selected Model Element
-		 * 
-		 * @author jayant
-		 */
-		protected String showBrowseModelElementDialog() {
-			// The Exact Implementation depends on the respective preference
-			// classes
-			// from which the New Dialog is invoked
-
-			return "null";
-		}
-
-		/**
-		 * Open a dialog to browse layout options.
-		 * 
-		 * @return the selected layout option
-		 */
-		protected String showBrowseOptionDialog() {
-			ListDialog dialog = new ListDialog(this.getShell());
-			dialog.setTitle(Messages.getString("kiml.ui.50")); //$NON-NLS-1$
-			dialog.setContentProvider(ArrayContentProvider.getInstance());
-			dialog.setLabelProvider(new LabelProvider() {
-				public Image getImage(final Object element) {
-					if (element instanceof SelectionData) {
-						KimlUiPlugin.Images images = KimlUiPlugin.getDefault()
-								.getImages();
-						switch (((SelectionData) element).type) {
-						case OBJECT:
-						case STRING:
-							return images.getPropText();
-						case BOOLEAN:
-							return images.getPropTrue();
-						case REMOTE_ENUM:
-						case ENUM:
-							return images.getPropChoice();
-						case INT:
-							return images.getPropInt();
-						case FLOAT:
-							return images.getPropFloat();
-						default:
-							break;
-						}
-					}
-					return null;
-				}
-			});
-			Collection<LayoutOptionData<?>> data = EclipseLayoutDataService
-					.getInstance().getOptionData();
-			ArrayList<SelectionData> inputList = new ArrayList<SelectionData>(
-					data.size());
-			for (LayoutOptionData<?> optionData : data) {
-				// layout options without target definition are now shown to the
-				// user
-				if (!optionData.getTargets().isEmpty()) {
-					inputList.add(new SelectionData(optionData));
-				}
-			}
-			SelectionData[] input = inputList.toArray(new SelectionData[0]);
-			Arrays.sort(input);
-			dialog.setInput(input);
-			if (dialog.open() == ListDialog.OK) {
-				Object[] result = dialog.getResult();
-				if (result != null && result.length > 0) {
-					return ((SelectionData) result[0]).id;
-				}
-			}
-			return null;
-		}
-
-		/**
-		 * Create a new data entry for the layout option.
-		 * 
-		 * @return a new data entry, or {@code null} if the dialog contents are
-		 *         invalid
-		 */
-		public OptionsTableProvider.DataEntry createDataEntry() {
-			if (elementValue != null && optionValue != null) {
-				String name;
-				if (elementType == ElementType.DIAG_TYPE) {
-					name = EclipseLayoutInfoService.getInstance()
-							.getDiagramTypeName(elementValue);
-				} else {
-					int dotIndex = elementValue.lastIndexOf('.');
-					name = elementValue.substring(dotIndex + 1);
-				}
-				LayoutOptionData<?> optionData = LayoutDataService
-						.getInstance().getOptionData(optionValue);
-				if (optionData != null) {
-					Object value = optionData.getDefault();
-					if (value == null) {
-						value = optionData.getDefaultDefault();
-					}
-					if (name != null && value != null) {
-						return new OptionsTableProvider.DataEntry(name,
-								elementValue, elementType, optionData, value);
-					}
-				}
-			}
-			return null;
-		}
-
-	}
-
-	/**
-	 * Provider class for the options tables. Contains a label provider and a
-	 * content provider.
-	 * 
-	 * @author msp
-	 */
-	public static class OptionsTableProvider extends LabelProvider implements
-			ITableLabelProvider, IStructuredContentProvider {
-
-		/** data type for row entries in the table. */
-		public static class DataEntry {
-			/** name of the associated diagram type or element. */
-			private String elementName;
-			/** identifier of the associated diagram type or element type. */
-			private String elementId;
-			/** type of element (diagram type / model element / edit part). */
-			private ElementType type;
-			/** layout option data. */
-			private LayoutOptionData<?> optionData;
-			/** the current value. */
-			private Object value;
-
-			/**
-			 * Creates a data entry.
-			 * 
-			 * @param name
-			 *            name of the associated diagram type or element
-			 * @param id
-			 *            identifier of the associated diagram type or element
-			 *            type
-			 * @param thetype
-			 *            type of element (diagram type / model element / edit
-			 *            part)
-			 * @param theoptionData
-			 *            layout option data
-			 * @param thevalue
-			 *            the current value
-			 */
-			public DataEntry(final String name, final String id,
-					final ElementType thetype,
-					final LayoutOptionData<?> theoptionData,
-					final Object thevalue) {
-				this.elementName = name;
-				this.elementId = id;
-				this.type = thetype;
-				this.optionData = theoptionData;
-				this.value = thevalue;
-			}
-
-			/**
-			 * Returns the associated element name.
-			 * 
-			 * @return the name of the associated element
-			 */
-			public String getElementName() {
-				return elementName;
-			}
-
-			/**
-			 * Returns the associated element identifier.
-			 * 
-			 * @return the identifier of the associated element
-			 */
-			public String getElementId() {
-				return elementId;
-			}
-
-			/**
-			 * Returns the type of element (diagram type / model element / edit
-			 * part).
-			 * 
-			 * @return the element type
-			 */
-			public ElementType getType() {
-				return type;
-			}
-
-			/**
-			 * Returns the option data.
-			 * 
-			 * @return the option data
-			 */
-			public LayoutOptionData<?> getOptionData() {
-				return optionData;
-			}
-
-			/**
-			 * Returns the value.
-			 * 
-			 * @return the value
-			 */
-			public Object getValue() {
-				return value;
-			}
-
-			/**
-			 * Sets the value.
-			 * 
-			 * @param thevalue
-			 *            the new value
-			 */
-			public void setValue(final Object thevalue) {
-				this.value = thevalue;
-			}
-
-			/**
-			 * {@inheritDoc}
-			 */
-			@Override
-			public boolean equals(final Object object) {
-				if (object instanceof DataEntry) {
-					DataEntry other = (DataEntry) object;
-					return this.elementId.equals(other.elementId)
-							&& this.optionData.equals(other.optionData);
-				} else {
-					return false;
-				}
-			}
-
-			/**
-			 * {@inheritDoc}
-			 */
-			@Override
-			public int hashCode() {
-				return elementId.hashCode() + optionData.hashCode();
-			}
-		}
-
-		/** the "Element" column. */
-		private static final int COL_ELEMENT = 0;
-		/** the "Type" column. */
-		private static final int COL_TYPE = 1;
-		/** the "Option" column. */
-		private static final int COL_OPTION = 2;
-		/** the "Value" column. */
-		private static final int COL_VALUE = 3;
-
-		/**
-		 * {@inheritDoc}
-		 */
-		public Image getColumnImage(final Object element, final int columnIndex) {
-			if (element instanceof DataEntry && columnIndex == COL_VALUE) {
-				DataEntry entry = (DataEntry) element;
-				KimlUiPlugin.Images images = KimlUiPlugin.getDefault()
-						.getImages();
-				switch (entry.optionData.getType()) {
-				case STRING:
-					return images.getPropText();
-				case BOOLEAN:
-					if ((Boolean) entry.value) {
-						return images.getPropTrue();
-					} else {
-						return images.getPropFalse();
-					}
-				case REMOTE_ENUM:
-				case ENUM:
-					return images.getPropChoice();
-				case INT:
-					return images.getPropInt();
-				case FLOAT:
-					return images.getPropFloat();
-				default:
-					break;
-				}
-			}
-			return null;
-		}
-
-		/**
-		 * {@inheritDoc}
-		 */
-		public String getColumnText(final Object element, final int columnIndex) {
-			if (element instanceof DataEntry) {
-				DataEntry entry = (DataEntry) element;
-				switch (columnIndex) {
-				case COL_ELEMENT:
-					return entry.elementName;
-				case COL_TYPE:
-					return entry.type.getDescription();
-				case COL_OPTION:
-					return entry.optionData.getName();
-				case COL_VALUE:
-					if (entry.optionData.getType() == LayoutOptionData.Type.ENUM
-							&& entry.value instanceof Integer) {
-						return entry.optionData.getEnumValue(
-								(Integer) entry.value).toString();
-					} else {
-						return entry.value.toString();
-					}
-				}
-			}
-			return null;
-		}
-
-		/**
-		 * {@inheritDoc}
-		 */
-		public Object[] getElements(final Object inputElement) {
-			if (inputElement instanceof List<?>) {
-				@SuppressWarnings("unchecked")
-				List<DataEntry> list = new ArrayList<DataEntry>(
-						(List<DataEntry>) inputElement);
-				ListIterator<DataEntry> listIter = list.listIterator();
-				while (listIter.hasNext()) {
-					DataEntry next = listIter.next();
-					if (next.value == null) {
-						listIter.remove();
-					}
-				}
-				return list.toArray();
-			} else if (inputElement instanceof Object[]) {
-				return (Object[]) inputElement;
-			} else {
-				return null;
-			}
-		}
-
-		/**
-		 * {@inheritDoc}
-		 */
-		public void inputChanged(final Viewer viewer, final Object oldInput,
-				final Object newInput) {
-		}
-
-	}
-
-}
diff --git a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/EtriceStructurePreferencePage.java b/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/EtriceStructurePreferencePage.java
deleted file mode 100644
index d2b2bfd..0000000
--- a/plugins/org.eclipse.etrice.ui.layout/src/org/eclipse/etrice/ui/layout/preferences/EtriceStructurePreferencePage.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Jayant Gupta
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * CONTRIBUTORS:
- * 		Jayant Gupta (initial contribution)
- * 
- * 
- *******************************************************************************/
-
-package org.eclipse.etrice.ui.layout.preferences;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.etrice.ui.layout.Activator;
-import org.eclipse.etrice.ui.layout.preferences.ETricePreferenceUtil.ElementType;
-import org.eclipse.etrice.ui.layout.preferences.ETricePreferenceUtil.NewOptionDialog;
-import org.eclipse.etrice.ui.layout.preferences.ETricePreferenceUtil.OptionsTableProvider;
-import org.eclipse.graphiti.mm.pictograms.PictogramElement;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TreeNode;
-import org.eclipse.jface.viewers.TreeNodeContentProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ListDialog;
-
-import de.cau.cs.kieler.core.util.Pair;
-import de.cau.cs.kieler.kiml.LayoutDataService;
-import de.cau.cs.kieler.kiml.LayoutOptionData;
-import de.cau.cs.kieler.kiml.ui.Messages;
-import de.cau.cs.kieler.kiml.ui.service.EclipseLayoutInfoService;
-import de.cau.cs.kieler.kiml.ui.views.LayoutViewPart;
-
-/**
- * Preference page for eTrice Behavior preferences
- * 
- * @author jayant
- */
-public class EtriceStructurePreferencePage extends ETriceLayoutPreferencePage {
-	
-	/**
-	 * Creates the behavior layout preference page.
-	 * 
-	 * @author jayant
-	 */
-	public EtriceStructurePreferencePage() {
-		super();
-		setDescription("Preference Page for configuring layout options specific to eTrice Structure diagrams");
-	}
-
-	/** table viewer to refresh after changes to the option table data. */
-	private TableViewer optionTableViewer;
-
-	/** list of layout option entries. */
-	private List<OptionsTableProvider.DataEntry> optionEntries;
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected Control createContents(Composite parent) {
-		Group optionsGroup = createOptionsGroup(parent);
-		optionsGroup
-				.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		return optionsGroup;
-	}
-
-	/**
-	 * Creates the group that holds the diagram element options table.
-	 * 
-	 * @param parent
-	 *            the parent control
-	 * @return a group with the diagram element options table
-	 */
-	protected Group createOptionsGroup(final Composite parent) {
-		Group elementGroup = new Group(parent, SWT.NONE);
-		elementGroup.setText(Messages.getString("kiml.ui.28")); //$NON-NLS-1$
-		IPreferenceStore preferenceStore = getPreferenceStore();
-		LayoutDataService dataService = LayoutDataService.getInstance();
-		Collection<LayoutOptionData<?>> layoutOptionData = dataService
-				.getOptionData();
-		optionEntries = new LinkedList<OptionsTableProvider.DataEntry>();
-
-		// add options for edit parts and structure domain model elements
-		Set<String> elements = EclipseLayoutInfoService.getInstance()
-				.getRegisteredElements();
-
-		for (String element : elements) {
-			
-			//Finding whether diagram element is an Edit Part or Model Element 
-			Class<?> elementClass = null;
-			ElementType type;
-			try {
-				elementClass = Class.forName(element);
-				try {
-					type = PictogramElement.class.isAssignableFrom(elementClass)
-							 ? ElementType.EDIT_PART : ElementType.MODEL_ELEM;
-				} catch (NullPointerException e) {
-					type = ElementType.MODEL_ELEM;
-				}
-			} catch (ClassNotFoundException e) {
-				type = ElementType.MODEL_ELEM;
-			}
-			
-			//Making the element name more presentable
-			int dotIndex = element.lastIndexOf('.');
-			String partName = element.substring(dotIndex + 1);
-			if (partName.endsWith("Impl")) {
-				partName = partName.substring(0,
-						partName.length() - "Impl".length());
-			}
-			
-			for (LayoutOptionData<?> data : layoutOptionData) {
-				String preference = EclipseLayoutInfoService.getPreferenceName(
-						element, data.getId());
-				if (preferenceStore.contains(preference)) {
-					Object value = data.parseValue(preferenceStore
-							.getString(preference));
-					if (value != null) {
-						// If element is edit part or structure model element,
-						// then add to the option table
-						if (type == ElementType.EDIT_PART
-								|| ETriceDomainModelElement
-										.isStructureModelElement(element))
-							optionEntries
-									.add(new OptionsTableProvider.DataEntry(
-											partName, element, type, data,
-											value));
-					}
-				}
-			}
-		}
-
-		// add options for diagram types(only those which are relevant to eTrice
-		// Structure Diagram)
-		for (Pair<String, String> diagramType : ETriceDomainModelElement.STRUCTURE_DIAGRAM_TYPES) {
-			for (LayoutOptionData<?> data : layoutOptionData) {
-				String preference = EclipseLayoutInfoService.getPreferenceName(
-						diagramType.getFirst(), data.getId());
-				if (preferenceStore.contains(preference)) {
-					Object value = data.parseValue(preferenceStore
-							.getString(preference));
-					if (value != null) {
-						optionEntries.add(new OptionsTableProvider.DataEntry(
-								diagramType.getSecond(),
-								diagramType.getFirst(), ElementType.DIAG_TYPE,
-								data, value));
-					}
-				}
-			}
-		}
-
-		// create the table and actions to edit layout option values
-		addOptionTable(elementGroup, optionEntries);
-
-		elementGroup.setLayout(new GridLayout(2, false));
-		return elementGroup;
-	}
-
-	/**
-	 * Adds a table to display options and buttons to edit the options.
-	 * 
-	 * @param parent
-	 *            the parent to which controls are added
-	 * @param entries
-	 *            the list of table entries
-	 */
-	private void addOptionTable(final Composite parent,
-			final List<OptionsTableProvider.DataEntry> entries) {
-		// construct the options table
-		final Table table = new Table(parent, SWT.BORDER);
-		final TableColumn column1 = new TableColumn(table, SWT.NONE);
-		column1.setText(Messages.getString("kiml.ui.29")); //$NON-NLS-1$
-		final TableColumn column2 = new TableColumn(table, SWT.NONE);
-		column2.setText(Messages.getString("kiml.ui.9")); //$NON-NLS-1$
-		final TableColumn column3 = new TableColumn(table, SWT.NONE);
-		column3.setText(Messages.getString("kiml.ui.19")); //$NON-NLS-1$
-		final TableColumn column4 = new TableColumn(table, SWT.NONE);
-		column4.setText(Messages.getString("kiml.ui.20")); //$NON-NLS-1$
-		table.setHeaderVisible(true);
-		final TableViewer tableViewer = new TableViewer(table);
-		OptionsTableProvider optionsTableProvider = new OptionsTableProvider();
-		tableViewer.setContentProvider(optionsTableProvider);
-		tableViewer.setLabelProvider(optionsTableProvider);
-		tableViewer.setInput(entries);
-		optionTableViewer = tableViewer;
-
-		column1.pack();
-		column2.pack();
-		column3.pack();
-		column4.pack();
-		GridData tableLayoutData = new GridData(SWT.FILL, SWT.FILL, true, true,
-				1, 1);
-		table.setLayoutData(tableLayoutData);
-		table.pack();
-		tableLayoutData.heightHint = ETricePreferenceUtil.OPTIONS_TABLE_HEIGHT;
-
-		// add button to add new options
-		Composite composite = new Composite(parent, SWT.NONE);
-		final Button newButton = new Button(composite, SWT.PUSH | SWT.CENTER);
-		newButton.setText(Messages.getString("kiml.ui.41")); //$NON-NLS-1$
-
-		// add button to edit the options
-		final Button editButton = new Button(composite, SWT.PUSH | SWT.CENTER);
-		editButton.setText(Messages.getString("kiml.ui.21")); //$NON-NLS-1$
-		editButton.setEnabled(false);
-		editButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(final SelectionEvent event) {
-				OptionsTableProvider.DataEntry entry = ETricePreferenceUtil
-						.getEntry(entries, table.getSelectionIndex());
-				if (entry != null) {
-					ETricePreferenceUtil.showEditDialog(parent.getShell(),
-							entry);
-					tableViewer.refresh();
-				}
-			}
-		});
-
-		// add button to remove an option
-		final Button removeButton = new Button(composite, SWT.PUSH | SWT.CENTER);
-		removeButton.setText(Messages.getString("kiml.ui.22")); //$NON-NLS-1$
-		removeButton.setEnabled(false);
-		removeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(final SelectionEvent event) {
-				OptionsTableProvider.DataEntry entry = ETricePreferenceUtil
-						.getEntry(entries, table.getSelectionIndex());
-				if (entry != null) {
-					entry.setValue(null);
-					tableViewer.refresh();
-					int count = 0;
-					for (OptionsTableProvider.DataEntry e : entries) {
-						if (e.getValue() != null) {
-							count++;
-						}
-					}
-					if (count == 0) {
-						editButton.setEnabled(false);
-						removeButton.setEnabled(false);
-					}
-				}
-			}
-		});
-
-		// react on selection changes of the options table
-		table.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(final SelectionEvent event) {
-				if (!entries.isEmpty() && event.item != null) {
-					editButton.setEnabled(true);
-					removeButton.setEnabled(true);
-				} else {
-					editButton.setEnabled(false);
-					removeButton.setEnabled(false);
-				}
-			}
-		});
-		newButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(final SelectionEvent event) {
-				int newIndex = showNewDialog(parent.getShell(), entries);
-				if (newIndex >= 0) {
-					tableViewer.refresh();
-					tableViewer.setSelection(new StructuredSelection(entries
-							.get(newIndex)));
-					editButton.setEnabled(true);
-					removeButton.setEnabled(true);
-					column1.pack();
-					column2.pack();
-					column3.pack();
-					column4.pack();
-				}
-			}
-		});
-
-		composite.setLayout(new FillLayout(SWT.VERTICAL));
-		GridData compositeLayoutData = new GridData(SWT.LEFT, SWT.TOP, false,
-				false, 1, 1);
-		composite.setLayoutData(compositeLayoutData);
-	}
-
-	/**
-	 * Shows an input dialog to add a new layout option to the list.
-	 * 
-	 * @param shell
-	 *            the current shell
-	 * @param entries
-	 *            the list of table entries
-	 * @return the table index to put focus on, or -1 if the focus should not be
-	 *         changed
-	 */
-	private int showNewDialog(final Shell shell,
-			final List<OptionsTableProvider.DataEntry> entries) {
-		NewOptionDialog dialog = new NewOptionDialog(shell) {
-			// Overriding the function for Behavior diagrams specific
-			// implementation
-
-			/**
-			 * @author jayant
-			 */
-			@Override
-			protected String showBrowseModelElementDialog() {
-				ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(
-						this.getShell(), new LabelProvider(),
-						new TreeNodeContentProvider());
-				dialog.setTitle("Select Structure Model Element");
-
-				TreeNode[] input = ETriceDomainModelElement.STRUCTURE_MODEL
-						.getChildren();
-				dialog.setInput(input);
-
-				if (dialog.open() == ElementTreeSelectionDialog.OK) {
-					Object[] result = dialog.getResult();
-					if (result != null && result.length > 0) {
-						return ((ETriceDomainModelElement) result[0]).getId();
-					}
-				}
-				return null;
-			}
-
-			/**
-			 * @author jayant
-			 */
-			@Override
-			protected String showBrowseDiagtDialog() {
-				ListDialog dialog = new ListDialog(this.getShell());
-				dialog.setTitle(Messages.getString("kiml.ui.57")); //$NON-NLS-1$
-				dialog.setContentProvider(ArrayContentProvider.getInstance());
-				dialog.setLabelProvider(new LabelProvider());
-
-				SelectionData[] input = new SelectionData[ETriceDomainModelElement.STRUCTURE_DIAGRAM_TYPES
-						.size()];
-				int i = 0;
-				for (Pair<String, String> type : ETriceDomainModelElement.STRUCTURE_DIAGRAM_TYPES) {
-					SelectionData seld = new SelectionData(type);
-					input[i++] = seld;
-				}
-				Arrays.sort(input);
-				dialog.setInput(input);
-				if (dialog.open() == ListDialog.OK) {
-					Object[] result = dialog.getResult();
-					if (result != null && result.length > 0) {
-						return ((SelectionData) result[0]).getId();
-					}
-				}
-				return null;
-			}
-		};
-		if (dialog.open() == NewOptionDialog.OK) {
-			OptionsTableProvider.DataEntry newEntry = dialog.createDataEntry();
-			if (newEntry == null) {
-				MessageDialog.openError(shell,
-						Messages.getString("kiml.ui.51"),
-						Messages.getString("kiml.ui.52"));
-			} else {
-				// look for an existing entry with same identifiers
-				int oldIndex = 0;
-				OptionsTableProvider.DataEntry oldEntry = null;
-				for (OptionsTableProvider.DataEntry e : entries) {
-					if (e.getValue() != null) {
-						if (e.equals(newEntry)) {
-							oldEntry = e;
-							break;
-						}
-						oldIndex++;
-					}
-				}
-				if (oldEntry != null) {
-					return oldIndex;
-				} else {
-					entries.add(newEntry);
-					return entries.size() - 1;
-				}
-			}
-		}
-		return -1;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	public void init(final IWorkbench workbench) {
-		setPreferenceStore(Activator.getDefault().getSharedPreferenceStore());
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	protected void performDefaults() {
-		super.performDefaults();
-
-		// clear the layout options table
-		for (OptionsTableProvider.DataEntry entry : optionEntries) {
-			entry.setValue(null);
-		}
-		optionTableViewer.refresh();
-	}
-
-	/**
-	 * {@inheritDoc}
-	 * 
-	 * @author jayant
-	 */
-	@Override
-	public boolean performOk() {
-		EclipseLayoutInfoService infoService = EclipseLayoutInfoService
-				.getInstance();
-		IPreferenceStore preferenceStore = getPreferenceStore();
-
-		// store data for the diagram element and diagram type options
-		for (OptionsTableProvider.DataEntry entry : optionEntries) {
-			Object oldValue = infoService.getOptionValue(entry.getElementId(),
-					entry.getOptionData().getId());
-			Object newValue = entry.getValue();
-			if (oldValue == null && newValue != null
-					|| !oldValue.equals(newValue)) {
-				String preference = EclipseLayoutInfoService.getPreferenceName(
-						entry.getElementId(), entry.getOptionData().getId());
-				if (newValue == null) {
-					infoService.removeOptionValue(entry.getElementId(), entry
-							.getOptionData().getId());
-					preferenceStore.setToDefault(preference);
-					infoService.getRegisteredElements().remove(
-							entry.getElementId());
-				} else {
-					infoService.addOptionValue(entry.getElementId(), entry
-							.getOptionData().getId(), newValue);
-					preferenceStore.setValue(preference, newValue.toString());
-					if (entry.getType() != ElementType.DIAG_TYPE) {
-						infoService.getRegisteredElements().add(
-								entry.getElementId());
-					}
-				}
-			}
-		}
-
-		LayoutViewPart layoutView = LayoutViewPart.findView();
-		if (layoutView != null) {
-			layoutView.refresh();
-		}
-		return true;
-	}
-
-}
diff --git a/plugins/org.eclipse.etrice.ui.runtime/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.runtime/META-INF/MANIFEST.MF
index fc3f7bb..d60b666 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.runtime/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: New Wizards for Runtime
 Bundle-SymbolicName: org.eclipse.etrice.ui.runtime;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Vendor: Eclipse eTrice
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.c.zip
index 78766ec..54558e2 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.java.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.java.zip
index b6b2469..05e4d10 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.java.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.examples.java.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip
index c28e411..7d6c3df 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip
index edd1cac..462449c 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.cpp.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip
index 7f5aa5f..ea4301b 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.modellib.java.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip
index bb8fa8b..3ee2d28 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip
index e77ca66..659a475 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.cpp.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip
index da309e5..5bff1e1 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.runtime.java.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.c.zip
index 1db4ee8..d370a20 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.cpp.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.cpp.zip
index ddfb60c..e887aca 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.cpp.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.template.cpp.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip
index 9e0a5f6..e29128f 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.c.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.cpp.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.cpp.zip
index 3f334a3..b8f234e 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.cpp.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.cpp.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip
index 75fe460..919480b 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip
+++ b/plugins/org.eclipse.etrice.ui.runtime/contents/org.eclipse.etrice.tutorials.java.zip
Binary files differ
diff --git a/plugins/org.eclipse.etrice.ui.runtime/plugin.xml b/plugins/org.eclipse.etrice.ui.runtime/plugin.xml
index 9efa56b..e745dfa 100644
--- a/plugins/org.eclipse.etrice.ui.runtime/plugin.xml
+++ b/plugins/org.eclipse.etrice.ui.runtime/plugin.xml
@@ -42,7 +42,7 @@
 	<extension point="org.eclipse.ui.newWizards">
 		<wizard	id="org.eclipse.etrice.ui.runtime.NewCRuntimeWizard"
 			name="eTrice C Runtime"
-			class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
+			class="org.eclipse.etrice.ui.runtime.NonDeletingWizardInstaller"
 			category="org.eclipse.etrice.core.ui.wizardCategory/org.eclipse.etrice.core.ui.wizardCCategory/org.eclipse.etrice.core.ui.libraryCCategory"
 			icon="icons/genproject.gif"
 			project="true">
@@ -86,7 +86,7 @@
 	<extension point="org.eclipse.ui.newWizards">
 		<wizard	id="org.eclipse.etrice.ui.runtime.NewCppRuntimeWizard"
 			name="eTrice C++ Runtime"
-			class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
+			class="org.eclipse.etrice.ui.runtime.NonDeletingWizardInstaller"
 			category="org.eclipse.etrice.core.ui.wizardCategory/org.eclipse.etrice.core.ui.wizardCppCategory/org.eclipse.etrice.core.ui.libraryCppCategory"
 			icon="icons/genproject.gif"
 			project="true">
@@ -96,8 +96,8 @@
 	<extension point="org.eclipse.emf.common.ui.examples">
 		<example wizardID="org.eclipse.etrice.ui.runtime.NewCppRuntimeWizard" pageImage="icons/genproject.gif">
 			<projectDescriptor
-				name="org.eclipse.etrice.runtime.c++"
-				contentURI="contents/org.eclipse.etrice.runtime.c++.zip"
+				name="org.eclipse.etrice.runtime.cpp"
+				contentURI="contents/org.eclipse.etrice.runtime.cpp.zip"
 				description="eTrice Runtime for Cpp"/>
 			<projectDescriptor
 				contentURI="contents/org.eclipse.etrice.runtime.c.zip"
@@ -138,7 +138,7 @@
 	<extension point="org.eclipse.ui.newWizards">
 		<wizard	id="org.eclipse.etrice.ui.runtime.NewJavaRuntimeWizard"
 			name="eTrice Java Runtime"
-			class="org.eclipse.emf.common.ui.wizard.ExampleInstallerWizard"
+			class="org.eclipse.etrice.ui.runtime.NonDeletingWizardInstaller"
 			category="org.eclipse.etrice.core.ui.wizardCategory/org.eclipse.etrice.core.ui.wizardJavaCategory/org.eclipse.etrice.core.ui.libraryJavaCategory"
 			icon="icons/genproject.gif"
 			project="true">
diff --git a/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF
index 0d4662a..556213e 100644
--- a/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Actor Structure Diagram Editor
 Bundle-SymbolicName: org.eclipse.etrice.ui.structure;singleton:=true
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.ui.structure.Activator
 Bundle-Vendor: Eclipse eTrice
-Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.common.ui;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common.base;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common;bundle-version="1.0.1",
- org.eclipse.etrice.ui.behavior;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.core.common.ui;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common.base;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.behavior;bundle-version="1.1.0",
  org.eclipse.graphiti;bundle-version="0.8.0",
  org.eclipse.graphiti.ui;bundle-version="0.8.0",
  org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100",
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/DiagramRefreshBehavior.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/DiagramRefreshBehavior.java
index df877f5..7782206 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/DiagramRefreshBehavior.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/DiagramRefreshBehavior.java
@@ -33,7 +33,7 @@
 	}
 	
 	@Override
-	protected void handleAutoUpdateAtStartup() {
+	public void handleAutoUpdateAtStartup() {
 		IDiagramTypeProvider diagramTypeProvider = diagramBehavior.getDiagramTypeProvider();
 		if (diagramTypeProvider.isAutoUpdateAtStartup()) {
 			StructureClass sc = structureEditor.getStructureClass();
@@ -46,7 +46,7 @@
 	}
 	
 	@Override
-	protected void handleAutoUpdateAtReset() {	
+	public void handleAutoUpdateAtReset() {	
 		super.handleAutoUpdateAtReset();
 	}
 
diff --git a/releng/org.eclipse.etrice.parent/pom.xml b/releng/org.eclipse.etrice.parent/pom.xml
index fa47110..7cfedc6 100644
--- a/releng/org.eclipse.etrice.parent/pom.xml
+++ b/releng/org.eclipse.etrice.parent/pom.xml
@@ -10,7 +10,7 @@
 
 	<groupId>org.eclipse.etrice</groupId>
 	<artifactId>java-generator</artifactId>
-	<version>1.0.1-SNAPSHOT</version>
+	<version>1.1.0-SNAPSHOT</version>
 	<packaging>pom</packaging>
 
 	<name>eTrice Java generator</name>
@@ -280,7 +280,7 @@
 				<plugin>
 					<groupId>org.eclipse.m2e</groupId>
 					<artifactId>lifecycle-mapping</artifactId>
-					<version>1.0.1</version>
+					<version>1.0.0</version>
 					<configuration>
 						<lifecycleMappingMetadata>
 							<pluginExecutions>
diff --git a/releng/org.eclipse.etrice.releng/buckminster.ant b/releng/org.eclipse.etrice.releng/buckminster.ant
index 5d89ac5..1c46ab9 100644
--- a/releng/org.eclipse.etrice.releng/buckminster.ant
+++ b/releng/org.eclipse.etrice.releng/buckminster.ant
@@ -125,15 +125,15 @@
 	
 	<target name="create.site.index">
 		<echo message="Creating human readable index.html" />
-		<unzip src="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2/content.jar"
-			dest="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2" />
+		<unzip src="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2/content.jar"
+			dest="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2" />
 		<xslt style="xsl/content2html.xsl"
-			in="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2/content.xml"
-			out="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2/index.html" />
+			in="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2/content.xml"
+			out="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2/index.html" />
 		<xslt style="xsl/content2xml.xsl"
-			in="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2/content.xml"
-			out="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2/index.xml" />
-		<delete file="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2/content.xml" />
+			in="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2/content.xml"
+			out="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2/index.xml" />
+		<delete file="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2/content.xml" />
 	</target>
 
 	<target name="copy.sites" >
@@ -145,16 +145,16 @@
 		<delete dir="${root}/last_success/site.p2.zip/" failonerror="true" />
 
 		<echo message="Copying site.packed to last_success area" />
-		<copydir dest="${root}/last_success/site.packed/" src="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.packed" />
+		<copydir dest="${root}/last_success/site.packed/" src="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.packed" />
 
 		<echo message="Add update site stuff and user-readable description to site.packed folder (copy from site.p2 folder)" />
-		<copy todir="${root}/last_success/site.packed/" file="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2/artifacts.jar" />
-		<copy todir="${root}/last_success/site.packed/" file="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2/content.jar" />
-		<copy todir="${root}/last_success/site.packed/" file="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2/index.html" />
-		<copy todir="${root}/last_success/site.packed/" file="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2/index.xml" />
+		<copy todir="${root}/last_success/site.packed/" file="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2/artifacts.jar" />
+		<copy todir="${root}/last_success/site.packed/" file="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2/content.jar" />
+		<copy todir="${root}/last_success/site.packed/" file="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2/index.html" />
+		<copy todir="${root}/last_success/site.packed/" file="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2/index.xml" />
 
 		<echo message="Copying site.p2.zip to last_success area" />
-		<copydir dest="${root}/last_success/site.p2.zip/" src="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.0.1-eclipse.feature/site.p2.zip" />
+		<copydir dest="${root}/last_success/site.p2.zip/" src="${root}/buildroot/buckminster.build/org.eclipse.etrice.site_1.1.0-eclipse.feature/site.p2.zip" />
 		<rename dest="${root}/last_success/site.p2.zip/org.eclipse.etrice.site_0.4.0.${build_id}.zip" 
 			src="${root}/last_success/site.p2.zip/org.eclipse.etrice.site_0.4.0.qualifier.zip"/>
 
diff --git a/releng/org.eclipse.etrice.releng/buckminster.cspec b/releng/org.eclipse.etrice.releng/buckminster.cspec
index ab26340..518ef72 100644
--- a/releng/org.eclipse.etrice.releng/buckminster.cspec
+++ b/releng/org.eclipse.etrice.releng/buckminster.cspec
@@ -7,8 +7,6 @@
         <cs:dependency name="org.eclipse.etrice.generator.common.tests" componentType="buckminster"/>
         <cs:dependency name="org.eclipse.etrice.generator.cpp.tests" componentType="buckminster"/>
         <cs:dependency name="org.eclipse.etrice.generator.java.tests" componentType="buckminster"/>
-        <cs:dependency name="org.eclipse.etrice.kieler.feature" componentType="eclipse.feature"/>
-        <cs:dependency name="org.eclipse.etrice.layout.feature" componentType="eclipse.feature"/>
         <cs:dependency name="org.eclipse.etrice.modellib.c" componentType="buckminster"/>
         <cs:dependency name="org.eclipse.etrice.modellib.cpp" componentType="buckminster"/>
         <cs:dependency name="org.eclipse.etrice.modellib.java" componentType="buckminster"/>
diff --git a/releng/org.eclipse.etrice.releng/build.rmap b/releng/org.eclipse.etrice.releng/build.rmap
index b559791..5ed7248 100644
--- a/releng/org.eclipse.etrice.releng/build.rmap
+++ b/releng/org.eclipse.etrice.releng/build.rmap
@@ -4,7 +4,6 @@
   <rm:locator pattern="^org\.eclipse\.etrice\.releng.*" searchPathRef="releng"/>
   <rm:locator pattern="^org\.eclipse\.etrice\.site" searchPathRef="releng"/>
   <rm:locator pattern="^org\.eclipse\.etrice\.*" searchPathRef="sources"/>
-  <rm:locator pattern="^de\.cau\.cs\.kieler\.*" searchPathRef="kieler"/>
   <rm:locator pattern="^org\.eclipse\.license.*" searchPathRef="eclipse.license"/>
   <rm:locator searchPathRef="platform.binaries" failOnError="false"/>
   <rm:locator searchPathRef="orbit"/>
@@ -63,15 +62,6 @@
       </rm:uri>
     </rm:provider>
   </rm:searchPath>
-  <rm:searchPath name="kieler">
-    <rm:provider componentTypes="eclipse.feature,osgi.bundle" readerType="p2" source="false" mutable="false">
-      <rm:property key="buckminster.source" value="false"/>
-      <rm:property key="buckminster.mutable" value="false"/>
-      <rm:uri format="{0}/etrice/KIELER/kieler-0.7.1">
-        <bc:propertyRef key="eclipse.downloads"/>
-      </rm:uri>
-    </rm:provider>
-  </rm:searchPath>
   <rm:searchPath name="platform.binaries">
     <rm:provider componentTypes="eclipse.feature,osgi.bundle" readerType="p2" source="false" mutable="false">
       <rm:property key="buckminster.source" value="false"/>
diff --git a/releng/org.eclipse.etrice.site/buckminster.cspex b/releng/org.eclipse.etrice.site/buckminster.cspex
index 563c9ab..a3b7d61 100644
--- a/releng/org.eclipse.etrice.site/buckminster.cspex
+++ b/releng/org.eclipse.etrice.site/buckminster.cspex
@@ -2,7 +2,7 @@
 <cspecExtension
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
-	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0" componentType="eclipse.feature" version="1.0.1">
+	xmlns="http://www.eclipse.org/buckminster/CSpec-1.0" componentType="eclipse.feature" version="1.1.0">
     <dependencies>
 		<dependency name="org.eclipse.equinox.executable" componentType="eclipse.feature"/>
 		<dependency name="org.eclipse.platform" componentType="eclipse.feature"/>
diff --git a/releng/org.eclipse.etrice.site/build.properties b/releng/org.eclipse.etrice.site/build.properties
index 23e5429..5b5e970 100644
--- a/releng/org.eclipse.etrice.site/build.properties
+++ b/releng/org.eclipse.etrice.site/build.properties
@@ -35,5 +35,4 @@
 
 category.default=optional
 category.members.core=org.eclipse.etrice.feature,org.eclipse.etrice.cdt-integration.feature
-category.members.optional=org.eclipse.etrice.layout.feature,org.eclipse.etrice.kieler.feature
                
\ No newline at end of file
diff --git a/releng/org.eclipse.etrice.site/feature.xml b/releng/org.eclipse.etrice.site/feature.xml
index 6164678..7403541 100644
--- a/releng/org.eclipse.etrice.site/feature.xml
+++ b/releng/org.eclipse.etrice.site/feature.xml
@@ -11,8 +11,8 @@
 -->
 <feature
       id="org.eclipse.etrice.site"
-      label="eTrice 1.0.1 Update Site"
-      version="1.0.1.qualifier"
+      label="eTrice 1.1.0 Update Site"
+      version="1.1.0.qualifier"
       provider-name="%providerName"
       image="eclipse_update_120.jpg">
 
@@ -39,14 +39,6 @@
          version="0.0.0"/>
 
    <includes
-         id="org.eclipse.etrice.layout.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.etrice.kieler.feature"
-         version="0.0.0"/>
-
-   <includes
          id="org.eclipse.etrice.cdt-integration.feature"
          version="0.0.0"/>
 
diff --git a/runtime/org.eclipse.etrice.modellib.java/META-INF/MANIFEST.MF b/runtime/org.eclipse.etrice.modellib.java/META-INF/MANIFEST.MF
index 7427303..f74b28b 100644
--- a/runtime/org.eclipse.etrice.modellib.java/META-INF/MANIFEST.MF
+++ b/runtime/org.eclipse.etrice.modellib.java/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Java ModelLib
 Bundle-SymbolicName: org.eclipse.etrice.modellib.java
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Vendor: Eclipse eTrice
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/runtime/org.eclipse.etrice.modellib.java/jgen_modellib_java.launch b/runtime/org.eclipse.etrice.modellib.java/jgen_modellib_java.launch
index 3e6df2d..77b85d2 100644
--- a/runtime/org.eclipse.etrice.modellib.java/jgen_modellib_java.launch
+++ b/runtime/org.eclipse.etrice.modellib.java/jgen_modellib_java.launch
@@ -6,7 +6,9 @@
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
 <listEntry value="1"/>
 </listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.etrice.generator.java.Main"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="${workspace_loc:org.eclipse.etrice.modellib.java}/model/ALogService.room&#13;&#10;${workspace_loc:org.eclipse.etrice.modellib.java}/model/TimingService.room&#13;&#10;${workspace_loc:org.eclipse.etrice.modellib.java}/model/TcpService.room&#13;&#10;-lib&#13;&#10;-msc_instr"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.generator.java"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
 </launchConfiguration>
diff --git a/runtime/org.eclipse.etrice.modellib.java/pom.xml b/runtime/org.eclipse.etrice.modellib.java/pom.xml
index 85522af..2b46557 100644
--- a/runtime/org.eclipse.etrice.modellib.java/pom.xml
+++ b/runtime/org.eclipse.etrice.modellib.java/pom.xml
@@ -7,7 +7,7 @@
 	<parent>
 		<groupId>org.eclipse.etrice</groupId>
 		<artifactId>java-generator</artifactId>
-		<version>1.0.1-SNAPSHOT</version>
+		<version>1.1.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.etrice.parent</relativePath>
 	</parent>
 	
@@ -29,7 +29,7 @@
 		<dependency>
 			<groupId>org.eclipse.etrice</groupId>
 			<artifactId>org.eclipse.etrice.runtime.java</artifactId>
-			<version>1.0.1-SNAPSHOT</version>
+			<version>1.1.0-SNAPSHOT</version>
 		</dependency>
 	</dependencies>
 </project>
\ No newline at end of file
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/common/etStdDatatypes.h b/runtime/org.eclipse.etrice.runtime.c/src/common/etStdDatatypes.h
index 90f583d..7c240ae 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/common/etStdDatatypes.h
+++ b/runtime/org.eclipse.etrice.runtime.c/src/common/etStdDatatypes.h
@@ -20,6 +20,10 @@
 #ifndef _ETSTDDATATYPES_H_
 #define _ETSTDDATATYPES_H_
 
+#ifndef _ETDATATYPES_H_
+#error etStdDatatypes must not be included before etDatatypes (include etDatatypes instead).
+#endif
+
 /*
  Define switches for additional data types:
  #define ET_INT64
diff --git a/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/etThread.c b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/etThread.c
index cb4beb2..f3c5b04 100644
--- a/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/etThread.c
+++ b/runtime/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC/etThread.c
@@ -64,12 +64,13 @@
 			self->priority = maxPriority;
 
 		param.sched_priority = self->priority;
+		pthread_attr_init(&attr);
 		pthread_attr_setschedparam(&attr, &param);
 		pthread_attr_setschedpolicy(&attr, policy);
 		pthread_attr_setstacksize(&attr, self->stacksize);
 
-		/* TODO: attr doesn't work */
-		pthread_create(&(self->osData), NULL/*&attr*/, (threadFunc) etThread_execute, self);
+		pthread_create(&(self->osData), &attr, (threadFunc) etThread_execute, self);
+		pthread_attr_destroy(&attr);
 	}
 	ET_MSC_LOGGER_SYNC_EXIT
 }
@@ -84,14 +85,13 @@
 
 void etThread_destruct(etThread* self){
 	ET_MSC_LOGGER_SYNC_ENTRY("etThread", "destruct")
-	pthread_cancel(self->osData);
+	pthread_detach(self->osData);
 	ET_MSC_LOGGER_SYNC_EXIT
 }
 
 void etThread_sleep(etInt32 millis){
 	ET_MSC_LOGGER_SYNC_ENTRY("etThread", "sleep")
 	{
-		/* TODO: nanosleep doesn't work at all */
 		struct timespec time;
 		time.tv_sec = millis / 1000;
 		time.tv_nsec = (millis - time.tv_sec * 1000) * 1000*1000;
@@ -99,9 +99,6 @@
 			if(errno != EINTR)
 				break;
 		}
-//		if (millis<1000)
-//			millis = 1000;
-//		sleep(millis/1000);
 	}
 	ET_MSC_LOGGER_SYNC_EXIT
 }
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src-gen/common/modelbase/RTSystemServicesProtocol.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src-gen/common/modelbase/RTSystemServicesProtocol.cpp
index 55276e7..0f201c2 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src-gen/common/modelbase/RTSystemServicesProtocol.cpp
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src-gen/common/modelbase/RTSystemServicesProtocol.cpp
@@ -7,14 +7,13 @@
 
 #include "RTSystemServicesProtocol.h"
 
-#include <common/debugging/DebuggingService.h>
-#include <common/messaging/AbstractMessageReceiver.h>
-#include <common/messaging/Address.h>
-#include <common/messaging/Message.h>
-#include <common/modelbase/IEventReceiver.h>
-#include <iostream>
+#include "common/debugging/DebuggingService.h"
+#include "common/debugging/MSCFunctionObject.h"
+#include "common/messaging/AbstractMessageReceiver.h"
+#include "common/messaging/Address.h"
+#include "common/messaging/Message.h"
+#include "common/modelbase/IEventReceiver.h"
 #include <iterator>
-#include <string>
 #include <vector>
 
 using namespace etRuntime;
@@ -38,16 +37,14 @@
 // port class
 //------------------------------------------------------------------------------------------------------------
 
-RTSystemServicesProtocolPort::RTSystemServicesProtocolPort(IInterfaceItemOwner* actor, const std::string& name, int localId) :
-		PortBase(actor, name, localId, 0)
+RTSystemServicesProtocolPort::RTSystemServicesProtocolPort(IInterfaceItemOwner* actor, const std::string& name, int localId)
+	: PortBase(actor, name, localId, 0)
 {
-	DebuggingService::getInstance().addPortInstance(*this);
 }
 
-RTSystemServicesProtocolPort::RTSystemServicesProtocolPort(IInterfaceItemOwner* actor, const std::string& name, int localId, int idx) :
-		PortBase(actor, name, localId, idx)
+RTSystemServicesProtocolPort::RTSystemServicesProtocolPort(IInterfaceItemOwner* actor, const std::string& name, int localId, int idx)
+	: PortBase(actor, name, localId, idx)
 {
-	DebuggingService::getInstance().addPortInstance(*this);
 }
 
 void RTSystemServicesProtocolPort::destroy() {
@@ -82,16 +79,14 @@
 // conjugated port class
 //------------------------------------------------------------------------------------------------------------
 
-RTSystemServicesProtocolConjPort::RTSystemServicesProtocolConjPort(IInterfaceItemOwner* actor, const std::string& name, int localId) :
-		PortBase(actor, name, localId, 0)
+RTSystemServicesProtocolConjPort::RTSystemServicesProtocolConjPort(IInterfaceItemOwner* actor, const std::string& name, int localId)
+	: PortBase(actor, name, localId, 0)
 {
-	DebuggingService::getInstance().addPortInstance(*this);
 }
 
-RTSystemServicesProtocolConjPort::RTSystemServicesProtocolConjPort(IInterfaceItemOwner* actor, const std::string& name, int localId, int idx) :
-		PortBase(actor, name, localId, idx)
+RTSystemServicesProtocolConjPort::RTSystemServicesProtocolConjPort(IInterfaceItemOwner* actor, const std::string& name, int localId, int idx)
+	: PortBase(actor, name, localId, idx)
 {
-	DebuggingService::getInstance().addPortInstance(*this);
 }
 
 void RTSystemServicesProtocolConjPort::destroy() {
@@ -159,3 +154,4 @@
 	}
 }
 
+
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src-gen/common/modelbase/RTSystemServicesProtocol.h b/runtime/org.eclipse.etrice.runtime.cpp/src-gen/common/modelbase/RTSystemServicesProtocol.h
index 69c914d..7682e93 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src-gen/common/modelbase/RTSystemServicesProtocol.h
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src-gen/common/modelbase/RTSystemServicesProtocol.h
@@ -5,15 +5,15 @@
  *
  */
 
-#ifndef _RTSYSTEMSERVICESPROTOCOL_H_
-#define _RTSYSTEMSERVICESPROTOCOL_H_
+#ifndef _COMMON_MODELBASE_RTSYSTEMSERVICESPROTOCOL_H_
+#define _COMMON_MODELBASE_RTSYSTEMSERVICESPROTOCOL_H_
 
-#include <common/modelbase/InterfaceItemBase.h>
-#include <common/modelbase/PortBase.h>
-#include <common/modelbase/ReplicatedInterfaceItemBase.h>
-#include <common/modelbase/ReplicatedPortBase.h>
-#include <etDatatypes.h>
-#include <string>
+#include "common/modelbase/InterfaceItemBase.h"
+#include "common/modelbase/PortBase.h"
+#include "common/modelbase/ReplicatedInterfaceItemBase.h"
+#include "common/modelbase/ReplicatedPortBase.h"
+#include "common/etDatatypesCpp.hpp"
+
 
 
 
@@ -43,7 +43,6 @@
 	private:
 		static const std::string s_messageStrings[];
 
-
 };
 
 //------------------------------------------------------------------------------------------------------------
@@ -124,4 +123,6 @@
 		}
 
 };
-#endif /* _RTSYSTEMSERVICESPROTOCOL_H_ */
+
+
+#endif /* _COMMON_MODELBASE_RTSYSTEMSERVICESPROTOCOL_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/DebuggingService.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/DebuggingService.cpp
index 89a8bc6..b2dedc3 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/DebuggingService.cpp
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/DebuggingService.cpp
@@ -14,7 +14,7 @@
 
 #include "common/modelbase/ActorClassBase.h"
 #include "common/modelbase/SubSystemClassBase.h"
-#include "common/modelbase/PortBase.h"
+#include "common/modelbase/InterfaceItemBase.h"
 #include <iostream>
 
 namespace etRuntime {
@@ -31,8 +31,8 @@
 		m_portInstances() {
 }
 
-const PortBase* DebuggingService::getPort(const Address& address) const {
-	std::map<Address, const PortBase*>::const_iterator it = m_portInstances.find(address);
+const InterfaceItemBase* DebuggingService::getPort(const Address& address) const {
+	std::map<Address, const InterfaceItemBase*>::const_iterator it = m_portInstances.find(address);
 	if (it != m_portInstances.end())
 		return it->second;
 
@@ -40,8 +40,8 @@
 }
 
 void DebuggingService::addMessageAsyncOut(const Address& source, const Address& target, const std::string& msg) {
-	const PortBase* srcPort = getPort(source);
-	const PortBase* tgtPort = getPort(target);
+	const InterfaceItemBase* srcPort = getPort(source);
+	const InterfaceItemBase* tgtPort = getPort(target);
 	if (srcPort != 0 && tgtPort != 0)
 		m_asyncLogger.addMessageAsyncOut(srcPort->getActor()->getInstancePath(), tgtPort->getActor()->getInstancePath(),
 				msg);
@@ -49,24 +49,24 @@
 }
 
 void DebuggingService::addMessageAsyncIn(const Address& source, const Address& target, const std::string& msg) {
-	const PortBase* srcPort = getPort(source);
-	const PortBase* tgtPort = getPort(target);
+	const InterfaceItemBase* srcPort = getPort(source);
+	const InterfaceItemBase* tgtPort = getPort(target);
 	if (srcPort != 0 && tgtPort != 0)
 		m_asyncLogger.addMessageAsyncIn(srcPort->getActor()->getInstancePath(), tgtPort->getActor()->getInstancePath(),
 				msg);
 }
 
 void DebuggingService::addMessageSyncCall(const Address& source, const Address& target, const std::string& msg) {
-	const PortBase* srcPort = getPort(source);
-	const PortBase* tgtPort = getPort(target);
+	const InterfaceItemBase* srcPort = getPort(source);
+	const InterfaceItemBase* tgtPort = getPort(target);
 	if (srcPort != 0 && tgtPort != 0)
 		m_asyncLogger.addMessageSyncCall(srcPort->getActor()->getInstancePath(), tgtPort->getActor()->getInstancePath(),
 				msg);
 }
 
 void DebuggingService::addMessageSyncReturn(const Address& source, const Address& target, const std::string& msg) {
-	const PortBase* srcPort = getPort(source);
-	const PortBase* tgtPort = getPort(target);
+	const InterfaceItemBase* srcPort = getPort(source);
+	const InterfaceItemBase* tgtPort = getPort(target);
 	if (srcPort != 0 && tgtPort != 0)
 		m_asyncLogger.addMessageSyncReturn(srcPort->getActor()->getInstancePath(),
 				tgtPort->getActor()->getInstancePath(), msg);
@@ -95,11 +95,11 @@
 	m_asyncLogger.addVisibleComment(comment);
 }
 
-void DebuggingService::addPortInstance(const PortBase& port) {
+void DebuggingService::addPortInstance(const InterfaceItemBase& port) {
 	m_portInstances[port.getAddress()] = &port;
 }
 
-void DebuggingService::removePortInstance(const PortBase& port) {
+void DebuggingService::removePortInstance(const InterfaceItemBase& port) {
 	m_portInstances.erase(port.getAddress());
 }
 
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/DebuggingService.h b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/DebuggingService.h
index c7ef3e6..0ac9e63 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/DebuggingService.h
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/DebuggingService.h
@@ -16,6 +16,7 @@
 #include "common/debugging/MSCLogger.h"
 #include "common/messaging/Address.h"
 #include "etDatatypes.h"
+#include "common/modelbase/InterfaceItemBase.h"
 #include <string>
 #include <map>
 
@@ -41,8 +42,8 @@
 	void addMessageActorCreate(const ActorClassBase& parent, const std::string& refName);
 	void addMessageActorDestroy(const ActorClassBase& inst);
 	void addVisibleComment(const std::string& comment);
-	void addPortInstance(const PortBase& port);
-	void removePortInstance(const PortBase& port);
+	void addPortInstance(const InterfaceItemBase& port);
+	void removePortInstance(const InterfaceItemBase& port);
 
 	MSCLogger& getSyncLogger() { return m_syncLogger; }
 	MSCLogger& getAsyncLogger() { return m_asyncLogger; }
@@ -51,9 +52,9 @@
 
 	MSCLogger m_asyncLogger;
 	MSCLogger m_syncLogger;
-	std::map<Address, const PortBase*> m_portInstances;
+	std::map<Address, const InterfaceItemBase*> m_portInstances;
 
-	const PortBase* getPort(const Address& address) const;
+	const InterfaceItemBase* getPort(const Address& address) const;
 
 	DebuggingService();
 	DebuggingService(DebuggingService const&);
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFilter.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFilter.cpp
index d38c206..09d9c15 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFilter.cpp
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFilter.cpp
@@ -37,11 +37,11 @@
 }
 
 std::string MSCFilter::reduceString(const std::string& string) {
-	if (filterList.size() == 1)
-		//TODO: filtering with regular expression
-		// return string.replaceFirst(filterList.front().filter, "");
-		return string;
-	else
+//	if (filterList.size() == 1)
+//		//TODO: filtering with regular expression
+//		// return string.replaceFirst(filterList.front().filter, "");
+//		return string;
+//	else
 		return string;
 }
 
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFilter.h b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFilter.h
index 52067ed..a3c5d98 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFilter.h
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFilter.h
@@ -13,7 +13,7 @@
 #ifndef MSCFILTER_H_
 #define MSCFILTER_H_
 
-#include "etStdDatatypes.h"
+#include "etDatatypes.h"
 #include <list>
 #include <string>
 
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFunctionObject.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFunctionObject.cpp
new file mode 100644
index 0000000..6b7d6ca
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFunctionObject.cpp
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#include "common/debugging/MSCFunctionObject.h"
+#include "common/debugging/DebuggingService.h"
+
+using namespace etRuntime;
+
+MSCFunctionObject::MSCFunctionObject(const std::string& objectName, const std::string& message) :
+		m_syncLogger(DebuggingService::getInstance().getSyncLogger()),
+		m_targetName(objectName),
+		m_sourceName(m_syncLogger.getObjectName())
+{
+	m_syncLogger.setObjectName(m_targetName);
+	m_syncLogger.addMessageSyncCall(m_sourceName, m_targetName, message);
+}
+
+MSCFunctionObject::~MSCFunctionObject() {
+	m_syncLogger.setObjectName(m_sourceName);
+	m_syncLogger.addMessageSyncReturn(m_sourceName, m_targetName, "return");
+}
+
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFunctionObject.h b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFunctionObject.h
new file mode 100644
index 0000000..e521ce5
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCFunctionObject.h
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef SRC_COMMON_DEBUGGING_MSCFUNCTIONOBJECT_H_
+#define SRC_COMMON_DEBUGGING_MSCFUNCTIONOBJECT_H_
+
+#include <string>
+#include "common/debugging/MSCLogger.h"
+
+namespace etRuntime {
+
+class MSCFunctionObject {
+public:
+	MSCFunctionObject(const std::string& objectName, const std::string& message);
+	~MSCFunctionObject();
+
+private:
+	MSCLogger& m_syncLogger;
+	const std::string m_targetName;
+	const std::string m_sourceName;
+};
+
+} // namespace etRuntime
+
+#endif /* SRC_COMMON_DEBUGGING_MSCFUNCTIONOBJECT_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCLogger.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCLogger.cpp
index 60f853f..528ea00 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCLogger.cpp
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCLogger.cpp
@@ -24,12 +24,14 @@
 		m_filter(0),
 		m_path(),
 		m_msc_name(),
-		m_is_open(false) {
+		m_is_open(false),
+		m_objectName() {
 	etMutex_construct(&m_mutex);
 }
 
 MSCLogger::~MSCLogger() {
-	delete m_filter;
+	if(m_filter != NULL)
+		delete m_filter;
 	m_filter = 0;
 	etMutex_destruct(&m_mutex);
 }
@@ -37,7 +39,8 @@
 void MSCLogger::setMSC(const std::string& msc_name, const std::string& path) {
 	m_msc_name = msc_name;
 	m_path = path;
-	delete m_filter;
+	if(m_filter != NULL)
+		delete m_filter;
 	m_filter = new MSCFilter();
 }
 
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCLogger.h b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCLogger.h
index 0074598..440f20e 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCLogger.h
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/debugging/MSCLogger.h
@@ -44,6 +44,9 @@
 	void close();
 	/* --- */
 
+	const std::string& getObjectName(void) { return m_objectName; }
+	void setObjectName(const std::string& name) { m_objectName = name; }
+
 	std::list<std::string>& getCommandList() {	return m_commandList; };
 	MSCFilter* getMSCFilter(){ return m_filter; };
 
@@ -61,6 +64,8 @@
 
 	etMutex m_mutex;
 
+	std::string m_objectName;
+
 	MSCLogger(const MSCLogger& right);
 	MSCLogger& operator=(const MSCLogger& right);
 
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/AbstractMessageService.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/AbstractMessageService.cpp
index e8b5877..a52351d 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/AbstractMessageService.cpp
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/AbstractMessageService.cpp
@@ -18,8 +18,8 @@
 AbstractMessageService::AbstractMessageService(IRTObject* parent, const std::string& name, int node, int thread) :
 		RTObject(parent, name),
 		m_address(node, thread, 0),
-		m_messageQueue(NULL, "Queue"),
-		m_messageDispatcher(NULL, m_address.createInc(), "Dispatcher") {
+		m_messageQueue(this, "Queue"),
+		m_messageDispatcher(this, m_address.createInc(), "Dispatcher") {
 }
 
 Address AbstractMessageService::getFreeAddress() {
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/RTObject.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/RTObject.cpp
index 19e146a..6c3182e 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/RTObject.cpp
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/RTObject.cpp
@@ -33,12 +33,6 @@
 	}
 }
 
-RTObject::~RTObject() {
-	for (std::vector<IRTObject*>::iterator it = m_children.begin(); it != m_children.end(); ++it) {
-		delete *it;
-	}
-}
-
 void RTObject::destroy() {
 	for (std::vector<IRTObject*>::iterator it = m_children.begin(); it != m_children.end(); ++it) {
 		RTObject* child = dynamic_cast<RTObject*>(*it);
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/RTObject.h b/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/RTObject.h
index a4bb6cd..ceb2b6c 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/RTObject.h
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/messaging/RTObject.h
@@ -23,7 +23,7 @@
 public:
 	RTObject(IRTObject* parent, const std::string& name);
 
-	virtual ~RTObject();
+	virtual ~RTObject() {}
 
 	virtual const std::string& getName() const {
 		return m_name;
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ActorClassBase.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ActorClassBase.cpp
index 931449b..5f67b8a 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ActorClassBase.cpp
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ActorClassBase.cpp
@@ -33,6 +33,17 @@
 	m_state = 0;
 }
 
+void ActorClassBase::initialize() {
+	// since we have no mapping for the system ports we connect them directly here
+	IReplicatedInterfaceItem* systemPort = getSystemPort();
+	if (systemPort != 0) {
+		InterfaceItemBase* peer = systemPort->createSubInterfaceItem();
+		m_RTSystemPort.connectWith(peer);
+	}
+}
+
+
+
 //SubSystemClassBase* ActorClassBase::getSubSystem() const {
 //	return 0; // TODO JH
 //}
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ActorClassBase.h b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ActorClassBase.h
index 7bd002c..52d876b 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ActorClassBase.h
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ActorClassBase.h
@@ -23,7 +23,6 @@
 namespace etRuntime {
 
 
-
 class ActorClassBase: public SystemPortOwner, public virtual IMessageReceiver {
 public:
 
@@ -42,6 +41,9 @@
 		return Address::EMPTY;
 	}
 
+	virtual void initialize(void);
+	virtual void setProbesActive(bool recursive, bool active) {}
+
 	//SubSystemClassBase* getSubSystem() const;
 
 	//--------------------- lifecycle functions
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/InterfaceItemBase.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/InterfaceItemBase.cpp
index 2834ff4..498137c 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/InterfaceItemBase.cpp
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/InterfaceItemBase.cpp
@@ -44,8 +44,16 @@
 		m_replicator(0) {
 
 	m_replicator = dynamic_cast<IReplicatedInterfaceItem*>(owner);
+}
 
-	int thread = owner->getEventReceiver()->getThread();
+InterfaceItemBase::~InterfaceItemBase() {
+	m_peerAddress = Address::EMPTY;
+	m_ownMsgReceiver = 0;
+	m_peerMsgReceiver = 0;
+}
+
+void InterfaceItemBase::init() {
+	int thread = dynamic_cast<IEventReceiver*> (getParent())->getThread();
 	if (thread >= 0) {
 		IMessageService* msgSvc = RTServices::getInstance().getMsgSvcCtrl().getMsgSvc(thread);
 		Address addr = msgSvc->getFreeAddress();
@@ -56,12 +64,6 @@
 	}
 }
 
-InterfaceItemBase::~InterfaceItemBase() {
-	m_peerAddress = Address::EMPTY;
-	m_ownMsgReceiver = 0;
-	m_peerMsgReceiver = 0;
-}
-
 IInterfaceItem* InterfaceItemBase::connectWith(IInterfaceItem* peer) {
 	if (peer != 0) {
 		m_peer = peer;
@@ -78,6 +80,10 @@
 
 		InterfaceItemBase* ifItemPeer = dynamic_cast<InterfaceItemBase*>(m_peer);
 		if (ifItemPeer != 0) {
+			// initialize Ports
+			this->init();
+			ifItemPeer->init();
+
 			// connect with each other
 			m_peerAddress = ifItemPeer->getAddress();
 			ifItemPeer->m_peerAddress = getAddress();
@@ -121,8 +127,10 @@
 		m_replicator->removeItem(*this);
 	}
 
-	m_ownMsgReceiver->removeMessageReceiver(*this);
-	m_ownMsgReceiver->freeAddress(getAddress());
+	if(m_ownMsgReceiver) {
+		m_ownMsgReceiver->removeMessageReceiver(*this);
+		m_ownMsgReceiver->freeAddress(getAddress());
+	}
 
 	AbstractMessageReceiver::destroy();
 }
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/InterfaceItemBase.h b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/InterfaceItemBase.h
index 0cc5de2..cdb12d9 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/InterfaceItemBase.h
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/InterfaceItemBase.h
@@ -61,6 +61,7 @@
 		return m_peerMsgReceiver;
 	}
 
+	void init(void);
 	virtual void destroy();
 
 
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/RTSystemProtocol.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/RTSystemProtocol.cpp
index 91eb0e8..9a9f930 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/RTSystemProtocol.cpp
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/RTSystemProtocol.cpp
@@ -20,13 +20,6 @@
 
 RTSystemPort::RTSystemPort(IInterfaceItemOwner* actor, int localId) :
 		RTSystemServicesProtocolPort(actor, RTSystemProtocol::RT_SYSTEM_PORT_NAME, localId) {
-
-	// since we have no mapping for the system ports we connect them directly here
-	IReplicatedInterfaceItem* systemPort = actor->getSystemPort();
-	if (systemPort != 0) {
-		InterfaceItemBase* peer = systemPort->createSubInterfaceItem();
-		connectWith(peer);
-	}
 }
 
 RTSystemConjPort::RTSystemConjPort(IInterfaceItemOwner* actor, int localId) :
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedActorClassBase.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedActorClassBase.cpp
new file mode 100644
index 0000000..52be7ec
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedActorClassBase.cpp
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#include "ReplicatedActorClassBase.h"
+
+namespace etRuntime {
+
+ReplicatedActorClassBase::ReplicatedActorClassBase(IRTObject* parent, const std::string& name) :
+		RTObject(parent, name), m_items() {
+}
+
+ReplicatedActorClassBase::~ReplicatedActorClassBase() {
+	for(std::vector<ActorClassBase*>::iterator it = m_items.begin(); it != m_items.end(); it++)
+		delete *it;
+}
+
+void ReplicatedActorClassBase::createSubActors(int number) {
+	for (int i = 0; i < number; i++) {
+		std::stringstream itemName;
+		itemName << getName() << SEP << i;
+		ActorClassBase* item = createActor(getParent(), itemName.str());
+		m_items.push_back(item);
+	}
+}
+
+void ReplicatedActorClassBase::initialize() {
+	for(std::vector<ActorClassBase*>::iterator it = m_items.begin(); it != m_items.end(); it++)
+		(*it)->initialize();
+}
+
+void ReplicatedActorClassBase::setProbesActive(bool recursive, bool active) {
+	for(std::vector<ActorClassBase*>::iterator it = m_items.begin(); it != m_items.end(); it++)
+			(*it)->setProbesActive(recursive, active);
+}
+
+} // namespace etRuntime
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedActorClassBase.h b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedActorClassBase.h
new file mode 100644
index 0000000..6a1eba3
--- /dev/null
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedActorClassBase.h
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef SRC_COMMON_MODELBASE_REPLICATEDACTORCLASSBASE_H_
+#define SRC_COMMON_MODELBASE_REPLICATEDACTORCLASSBASE_H_
+
+#include "common/messaging/RTObject.h"
+#include "common/modelbase/ActorClassBase.h"
+
+namespace etRuntime {
+
+class ReplicatedActorClassBase : public RTObject {
+
+public:
+	static const char SEP = ':';
+
+	ReplicatedActorClassBase(IRTObject* parent, const std::string& name);
+	virtual ~ReplicatedActorClassBase(void);
+	void createSubActors(int number);
+	void initialize(void);
+	void setProbesActive(bool recursive, bool active);
+	int getNSubActors(void) { return m_items.size(); }
+	ActorClassBase* getSubActor(int index) { return m_items.at(index); }
+
+protected:
+	virtual ActorClassBase* createActor(IRTObject* parent, const std::string& name) = 0;
+
+private:
+	std::vector<ActorClassBase*> m_items;
+};
+
+} // namespace et Runtime
+
+#endif /* SRC_COMMON_MODELBASE_REPLICATEDACTORCLASSBASE_H_ */
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedInterfaceItemBase.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedInterfaceItemBase.cpp
index 9b716f9..6e5b536 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedInterfaceItemBase.cpp
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedInterfaceItemBase.cpp
@@ -25,7 +25,12 @@
 		m_localId(localId),
 		m_items(),
 		m_releasedIndices() {
+}
 
+ReplicatedInterfaceItemBase::~ReplicatedInterfaceItemBase() {
+	for(std::vector<InterfaceItemBase*>::iterator it = m_items.begin(); it != m_items.end(); ++it) {
+		delete *it;
+	}
 }
 
 InterfaceItemBase* ReplicatedInterfaceItemBase::createSubInterfaceItem() {
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedInterfaceItemBase.h b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedInterfaceItemBase.h
index e1460d1..4738382 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedInterfaceItemBase.h
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/ReplicatedInterfaceItemBase.h
@@ -28,7 +28,7 @@
 public:
 	static const char SEP = ':';
 
-	virtual ~ReplicatedInterfaceItemBase(){}
+	virtual ~ReplicatedInterfaceItemBase();
 
 	virtual InterfaceItemBase* createSubInterfaceItem();
 	virtual void removeItem(InterfaceItemBase& item);
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/SubSystemClassBase.cpp b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/SubSystemClassBase.cpp
index 854d6ed..d7e33a0 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/SubSystemClassBase.cpp
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/SubSystemClassBase.cpp
@@ -33,6 +33,7 @@
 	DebuggingService::getInstance().getAsyncLogger().open();
 	DebuggingService::getInstance().getSyncLogger().setMSC(name + "_Sync", "log/");
 	DebuggingService::getInstance().getSyncLogger().open();
+	DebuggingService::getInstance().getSyncLogger().setObjectName("main");
 
 	RTServices::getInstance().setSubSystem(this);
 }
@@ -48,8 +49,9 @@
 	// normaly the ports will address the correct target message service directly
 	// it is just for test purposes
 	// RTServices::getInstance().getMsgSvcCtrl().connectAll();
-
-	instantiateActors();
+	mapThreads();
+	initialize();
+	setProbesActive(true, true);
 //	std::cout << toStringRecursive() << std::endl;
 
 	// initialize all actor instances
diff --git a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/SubSystemClassBase.h b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/SubSystemClassBase.h
index bc80bed..11bd28c 100644
--- a/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/SubSystemClassBase.h
+++ b/runtime/org.eclipse.etrice.runtime.cpp/src/common/modelbase/SubSystemClassBase.h
@@ -32,7 +32,9 @@
 
 	virtual void init();
 	virtual void instantiateMessageServices() = 0;
-	virtual void instantiateActors() = 0;
+	virtual void mapThreads(void) = 0;
+	virtual void initialize(void) = 0;
+	virtual void setProbesActive(bool recursive, bool active) {}
 
 	void start();
 	void stop();
diff --git a/runtime/org.eclipse.etrice.runtime.java.aspects/META-INF/MANIFEST.MF b/runtime/org.eclipse.etrice.runtime.java.aspects/META-INF/MANIFEST.MF
index 037d7f2..f6dfb47 100644
--- a/runtime/org.eclipse.etrice.runtime.java.aspects/META-INF/MANIFEST.MF
+++ b/runtime/org.eclipse.etrice.runtime.java.aspects/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Java Runtime Aspects
 Bundle-SymbolicName: org.eclipse.etrice.runtime.java.aspects
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Export-Package: org.eclipse.etrice.runtime.java.aspects
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/runtime/org.eclipse.etrice.runtime.java/META-INF/MANIFEST.MF b/runtime/org.eclipse.etrice.runtime.java/META-INF/MANIFEST.MF
index e692eb3..7aa7ae9 100644
--- a/runtime/org.eclipse.etrice.runtime.java/META-INF/MANIFEST.MF
+++ b/runtime/org.eclipse.etrice.runtime.java/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Java Runtime
 Bundle-SymbolicName: org.eclipse.etrice.runtime.java
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Export-Package: org.eclipse.etrice.runtime.java.config,
  org.eclipse.etrice.runtime.java.debugging,
  org.eclipse.etrice.runtime.java.etunit,
diff --git a/runtime/org.eclipse.etrice.runtime.java/pom.xml b/runtime/org.eclipse.etrice.runtime.java/pom.xml
index a0751d3..449a673 100644
--- a/runtime/org.eclipse.etrice.runtime.java/pom.xml
+++ b/runtime/org.eclipse.etrice.runtime.java/pom.xml
@@ -7,7 +7,7 @@
 	<parent>
 		<groupId>org.eclipse.etrice</groupId>
 		<artifactId>java-generator</artifactId>
-		<version>1.0.1-SNAPSHOT</version>
+		<version>1.1.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.etrice.parent</relativePath>
 	</parent>
 
@@ -41,7 +41,7 @@
 				<plugin>
 					<groupId>org.eclipse.m2e</groupId>
 					<artifactId>lifecycle-mapping</artifactId>
-					<version>1.0.1</version>
+					<version>1.0.0</version>
 					<configuration>
 						<lifecycleMappingMetadata>
 							<pluginExecutions>
diff --git a/team/workingSets b/team/workingSets
index 9fa9916..767fe15 100644
--- a/team/workingSets
+++ b/team/workingSets
@@ -57,10 +57,8 @@
 </workingSet>
 <workingSet editPageId="org.eclipse.ui.resourceWorkingSetPage" id="1444835049188_14" label="features" name="features">
 <item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.etrice.cdt-integration.feature" type="4"/>
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.etrice.layout.feature" type="4"/>
 <item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.etrice.fsm.feature" type="4"/>
 <item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.etrice.feature" type="4"/>
-<item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.etrice.kieler.feature" type="4"/>
 </workingSet>
 <workingSet editPageId="org.eclipse.ui.resourceWorkingSetPage" id="1444834844450_12" label="releng" name="releng">
 <item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.etrice.site" type="4"/>
diff --git a/tests/org.eclipse.etrice.abstractexec.behavior.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.abstractexec.behavior.tests/META-INF/MANIFEST.MF
index 9a931c3..f066555 100644
--- a/tests/org.eclipse.etrice.abstractexec.behavior.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.abstractexec.behavior.tests/META-INF/MANIFEST.MF
@@ -2,17 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Abstract Execution for Behavior Tests
 Bundle-SymbolicName: org.eclipse.etrice.abstractexec.behavior.tests
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.abstractexec.behavior.tests.Activator
 Bundle-Vendor: Eclipse eTrice
-Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.abstractexec.behavior;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.abstractexec.behavior;bundle-version="1.1.0",
  org.eclipse.core.runtime,
  org.eclipse.emf.ecore;bundle-version="2.7.0",
- org.eclipse.etrice.core.room.ui;bundle-version="0.2.0",
  com.google.inject;bundle-version="3.0.0",
  org.eclipse.xtext;bundle-version="2.6.0",
- org.junit;bundle-version="4.10.0"
+ org.junit;bundle-version="4.10.0",
+ org.eclipse.etrice.core.room
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.etrice.abstractexec.behavior
diff --git a/tests/org.eclipse.etrice.abstractexec.behavior.tests/org.eclipse.etrice.abstractexec.behavior.tests.launch b/tests/org.eclipse.etrice.abstractexec.behavior.tests/org.eclipse.etrice.abstractexec.behavior.tests.launch
index ef17ed1..dfb55dc 100644
--- a/tests/org.eclipse.etrice.abstractexec.behavior.tests/org.eclipse.etrice.abstractexec.behavior.tests.launch
+++ b/tests/org.eclipse.etrice.abstractexec.behavior.tests/org.eclipse.etrice.abstractexec.behavior.tests.launch
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
 <booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
 <booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticAdd" value="false"/>
 <booleanAttribute key="automaticValidate" value="false"/>
 <stringAttribute key="bootstrap" value=""/>
 <stringAttribute key="checked" value="[NONE]"/>
@@ -10,9 +11,8 @@
 <booleanAttribute key="clearws" value="true"/>
 <booleanAttribute key="clearwslog" value="false"/>
 <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.etrice.abstractexec.behavior,org.eclipse.etrice.abstractexec.behavior.tests,org.eclipse.etrice.core.config,org.eclipse.etrice.core.config.tests,org.eclipse.etrice.core.config.ui,org.eclipse.etrice.core.etmap,org.eclipse.etrice.core.etmap.tests,org.eclipse.etrice.core.etmap.ui,org.eclipse.etrice.core.etphys,org.eclipse.etrice.core.etphys.tests,org.eclipse.etrice.core.etphys.ui,org.eclipse.etrice.core.genmodel,org.eclipse.etrice.core.genmodel.tests,org.eclipse.etrice.core.room,org.eclipse.etrice.core.room.tests,org.eclipse.etrice.core.room.ui,org.eclipse.etrice.doc,org.eclipse.etrice.etunit.converter,org.eclipse.etrice.etunit.converter.tests,org.eclipse.etrice.generator,org.eclipse.etrice.generator.c,org.eclipse.etrice.generator.config,org.eclipse.etrice.generator.cpp,org.eclipse.etrice.generator.doc,org.eclipse.etrice.generator.fsmtest,org.eclipse.etrice.generator.fsmtest.tests,org.eclipse.etrice.generator.fsmtest.ui,org.eclipse.etrice.generator.java,org.eclipse.etrice.generator.launch,org.eclipse.etrice.generator.launch.c,org.eclipse.etrice.generator.launch.cpp,org.eclipse.etrice.generator.launch.java,org.eclipse.etrice.generator.tests,org.eclipse.etrice.logging,org.eclipse.etrice.ui.behavior,org.eclipse.etrice.ui.behavior.tests,org.eclipse.etrice.ui.commands,org.eclipse.etrice.ui.common,org.eclipse.etrice.ui.runtime,org.eclipse.etrice.ui.structure,org.eclipse.etrice.ui.structure.tests,org.eclipse.etrice.ui.tests.base"/>
-<booleanAttribute key="includeOptional" value="true"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
 <stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
 <listEntry value="/org.eclipse.etrice.abstractexec.behavior.tests"/>
@@ -35,13 +35,14 @@
 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.6 -Xms40m -Xmx512m  -XX:MaxPermSize=256m -ea"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<stringAttribute key="selected_target_plugins" value="com.google.guava@default:default,com.google.inject@default:default,com.ibm.icu@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,javax.xml@default:default,org.antlr.runtime@default:default,org.apache.ant@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.cli@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.log4j@default:default,org.apache.lucene.analysis@default:default,org.apache.lucene.core@default:default,org.apache.lucene@default:default,org.eclipse.ant.core@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.debug.core@default:default,org.eclipse.debug.ui@default:default,org.eclipse.draw2d@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.mwe.core@default:default,org.eclipse.emf.mwe.utils@default:default,org.eclipse.emf.mwe2.language@default:default,org.eclipse.emf.mwe2.launch@default:default,org.eclipse.emf.mwe2.lib@default:default,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.emf.transaction@default:default,org.eclipse.emf.validation@default:default,org.eclipse.emf.workspace@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.publisher.eclipse@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86_64@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.gef@default:default,org.eclipse.graphiti.mm@default:default,org.eclipse.graphiti.ui@default:default,org.eclipse.graphiti@default:default,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help@default:default,org.eclipse.jdt.annotation@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.pde.build@default:default,org.eclipse.pde.core@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.platform@default:default,org.eclipse.search@default:default,org.eclipse.swt.win32.win32.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.win32@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.eclipse.xpand@default:default,org.eclipse.xtend.lib@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.xtend@default:default,org.eclipse.xtext.builder@default:default,org.eclipse.xtext.common.types.edit@default:default,org.eclipse.xtext.common.types.ui@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.ecore@default:default,org.eclipse.xtext.generator@default:default,org.eclipse.xtext.junit4@default:default,org.eclipse.xtext.junit@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.xtext.smap@default:default,org.eclipse.xtext.ui.codetemplates.ui@default:default,org.eclipse.xtext.ui.codetemplates@default:default,org.eclipse.xtext.ui.junit@default:default,org.eclipse.xtext.ui.shared@default:default,org.eclipse.xtext.ui@default:default,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.junit@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext.xbase@default:default,org.eclipse.xtext@default:default,org.hamcrest.core@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,org.junit*4.10.0.v4_10_0_v20120426-0900@default:default,org.junit4@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil*1.0.1.v200903091627@default:default,org.w3c.dom.svg@default:default"/>
-<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="run_in_ui_thread" value="false"/>
+<stringAttribute key="selected_target_plugins" value="com.google.guava@default:default,com.google.inject@default:default,javax.inject@default:default,javax.xml@default:default,org.antlr.runtime@default:default,org.apache.commons.io@default:default,org.apache.log4j@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi@-1:true,org.eclipse.xtend.lib.macro@default:default,org.eclipse.xtend.lib@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.objectweb.asm@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.etrice.abstractexec.behavior.tests@default:default,org.eclipse.etrice.abstractexec.behavior@default:default,org.eclipse.etrice.core.common@default:default,org.eclipse.etrice.core.fsm@default:default,org.eclipse.etrice.core.genmodel.fsm@default:default,org.eclipse.etrice.core.room@default:default,org.eclipse.etrice.generator.fsm@default:default,org.eclipse.etrice.logging@default:false"/>
+<booleanAttribute key="show_selected_only" value="true"/>
 <stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
 <booleanAttribute key="useDefaultConfig" value="true"/>
 <booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
+<booleanAttribute key="useProduct" value="false"/>
 </launchConfiguration>
diff --git a/tests/org.eclipse.etrice.abstractexec.behavior.tests/src/org/eclipse/etrice/abstractexec/behavior/tests/Activator.java b/tests/org.eclipse.etrice.abstractexec.behavior.tests/src/org/eclipse/etrice/abstractexec/behavior/tests/Activator.java
index be43d5b..48dc8ba 100644
--- a/tests/org.eclipse.etrice.abstractexec.behavior.tests/src/org/eclipse/etrice/abstractexec/behavior/tests/Activator.java
+++ b/tests/org.eclipse.etrice.abstractexec.behavior.tests/src/org/eclipse/etrice/abstractexec/behavior/tests/Activator.java
@@ -2,7 +2,7 @@
 
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.emf.ecore.util.Diagnostician;
-import org.eclipse.etrice.core.ui.RoomUiModule;
+import org.eclipse.etrice.core.RoomStandaloneSetup;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 
@@ -29,7 +29,7 @@
 		
 		instance = this;
         
-		Injector injector = RoomUiModule.getInjector();
+		Injector injector = new RoomStandaloneSetup().createInjectorAndDoEMFRegistration();
         injector.injectMembers(this);
 	}
 
diff --git a/tests/org.eclipse.etrice.core.common.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.common.tests/META-INF/MANIFEST.MF
index df30804..5997e1b 100644
--- a/tests/org.eclipse.etrice.core.common.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.common.tests/META-INF/MANIFEST.MF
@@ -2,14 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests for common eTrice grammar fragments and classes
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.common.tests; singleton:=true
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.etrice.core.common,
- org.eclipse.etrice.core.common.ui,
  org.eclipse.core.runtime,
- org.eclipse.xtext.junit4;bundle-version="2.6.0",
- org.eclipse.ui.workbench;resolution:=optional
+ org.eclipse.xtext.junit4;bundle-version="2.6.0"
 Import-Package: org.apache.log4j,
  org.junit;version="4.5.0",
  org.junit.runner;version="4.5.0",
diff --git a/tests/org.eclipse.etrice.core.common.tests/src-gen/org/eclipse/etrice/core/common/BaseTestUiInjectorProvider.java b/tests/org.eclipse.etrice.core.common.tests/src-gen/org/eclipse/etrice/core/common/BaseTestUiInjectorProvider.java
deleted file mode 100644
index 5167b2c..0000000
--- a/tests/org.eclipse.etrice.core.common.tests/src-gen/org/eclipse/etrice/core/common/BaseTestUiInjectorProvider.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
-* generated by Xtext
-*/
-package org.eclipse.etrice.core.common;
-
-import org.eclipse.xtext.junit4.IInjectorProvider;
-
-import com.google.inject.Injector;
-
-public class BaseTestUiInjectorProvider implements IInjectorProvider {
-	
-	public Injector getInjector() {
-		return org.eclipse.etrice.core.common.ui.internal.BaseActivator.getInstance().getInjector("org.eclipse.etrice.core.common.BaseTest");
-	}
-	
-}
diff --git a/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF
index 7dfac51..dd02fe7 100644
--- a/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.config.tests/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Config DSL Tests
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.config.tests; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.config;bundle-version="1.0.1",
- org.eclipse.etrice.core.config.ui;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.config;bundle-version="1.1.0",
+ org.eclipse.etrice.core.config.ui;bundle-version="1.1.0",
  org.eclipse.core.runtime,
  org.eclipse.xtext;bundle-version="2.6.0",
  org.eclipse.xtext.junit4;bundle-version="2.6.0",
diff --git a/tests/org.eclipse.etrice.core.etmap.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.etmap.tests/META-INF/MANIFEST.MF
index 7887a87..4c87869 100644
--- a/tests/org.eclipse.etrice.core.etmap.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.etmap.tests/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.etrice.core.etmap.tests
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.etmap.tests; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.etmap;bundle-version="1.0.1",
- org.eclipse.etrice.core.etmap.ui;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.etmap;bundle-version="1.1.0",
+ org.eclipse.etrice.core.etmap.ui;bundle-version="1.1.0",
  org.eclipse.core.runtime,
  org.eclipse.xtext.junit4;bundle-version="2.6.0",
  org.eclipse.ui.workbench;resolution:=optional
diff --git a/tests/org.eclipse.etrice.core.etphys.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.etphys.tests/META-INF/MANIFEST.MF
index fb08e9d..719028e 100644
--- a/tests/org.eclipse.etrice.core.etphys.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.etphys.tests/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.etrice.core.etphys.tests
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.etphys.tests; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.core.etphys;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.etphys;bundle-version="1.1.0",
  org.eclipse.etrice.core.etphys.ui,
  org.eclipse.core.runtime,
  org.eclipse.xtext.junit4;bundle-version="2.6.0",
diff --git a/tests/org.eclipse.etrice.core.fsm.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.fsm.tests/META-INF/MANIFEST.MF
index 88edb53..41e92d0 100644
--- a/tests/org.eclipse.etrice.core.fsm.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.fsm.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: FSM DSL Tests
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.core.fsm.tests; singleton:=true
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.etrice.core.fsm,
diff --git a/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF
index 283e71b..fa11a69 100644
--- a/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.genmodel.tests/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Tests
 Bundle-SymbolicName: org.eclipse.etrice.core.genmodel.tests
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Vendor: Eclipse eTrice
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.core.genmodel;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.core.genmodel;bundle-version="1.1.0",
  org.junit;bundle-version="4.8.1",
  org.eclipse.xtext;bundle-version="2.6.0",
  org.eclipse.core.runtime;bundle-version="3.7.0"
diff --git a/tests/org.eclipse.etrice.core.genmodel.tests/org.eclipse.etrice.core.genmodel.tests.launch b/tests/org.eclipse.etrice.core.genmodel.tests/org.eclipse.etrice.core.genmodel.tests.launch
index d1188e3..423c588 100644
--- a/tests/org.eclipse.etrice.core.genmodel.tests/org.eclipse.etrice.core.genmodel.tests.launch
+++ b/tests/org.eclipse.etrice.core.genmodel.tests/org.eclipse.etrice.core.genmodel.tests.launch
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
 <booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
 <booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticAdd" value="false"/>
 <booleanAttribute key="automaticValidate" value="false"/>
 <stringAttribute key="bootstrap" value=""/>
 <stringAttribute key="checked" value="[NONE]"/>
@@ -10,8 +11,8 @@
 <booleanAttribute key="clearws" value="true"/>
 <booleanAttribute key="clearwslog" value="false"/>
 <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
 <stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
 <listEntry value="/org.eclipse.etrice.core.genmodel.tests"/>
@@ -31,11 +32,13 @@
 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea&#13;&#10;-Xmx512m&#13;&#10;-Xms128m&#13;&#10;-XX:PermSize=32m&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dfile.encoding=UTF-8&#13;&#10;-Dosgi.requiredJavaVersion=1.5"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="run_in_ui_thread" value="false"/>
+<stringAttribute key="selected_target_plugins" value="com.google.guava@default:default,com.google.inject@default:default,javax.inject@default:default,javax.xml@default:default,org.antlr.runtime@default:default,org.apache.log4j@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi@-1:true,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.objectweb.asm@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.etrice.core.common@default:default,org.eclipse.etrice.core.fsm@default:default,org.eclipse.etrice.core.genmodel.fsm@default:default,org.eclipse.etrice.core.genmodel.tests@default:default,org.eclipse.etrice.core.genmodel@default:default,org.eclipse.etrice.core.room@default:default,org.eclipse.etrice.logging@default:false"/>
+<booleanAttribute key="show_selected_only" value="true"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
 <booleanAttribute key="useDefaultConfig" value="true"/>
 <booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
+<booleanAttribute key="useProduct" value="false"/>
 </launchConfiguration>
diff --git a/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/GenmodelTestsActivator.java b/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/GenmodelTestsActivator.java
index 4525da4..85eae4b 100644
--- a/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/GenmodelTestsActivator.java
+++ b/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/GenmodelTestsActivator.java
@@ -1,6 +1,7 @@
 package org.eclipse.etrice.core.genmodel;
 
 import org.eclipse.core.runtime.Plugin;
+import org.eclipse.etrice.core.RoomStandaloneSetup;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 
@@ -17,6 +18,8 @@
 		super.start(context);
 		
 		instance = this;
+		
+		RoomStandaloneSetup.doSetup();
 	}
 
 }
diff --git a/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF
index 2f146e2..af58ecc 100644
--- a/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.core.room.tests/META-INF/MANIFEST.MF
@@ -2,19 +2,17 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Room Core Tests
 Bundle-SymbolicName: org.eclipse.etrice.core.room.tests
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-Vendor: Eclipse eTrice
-Require-Bundle: org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.core.room.ui;bundle-version="1.0.1",
- org.eclipse.etrice.core.common;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.common.ui;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.core.common;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
  org.junit;bundle-version="4.8.1",
  org.eclipse.osgi;bundle-version="3.6.0",
  org.eclipse.xtext;bundle-version="2.6.0",
  org.eclipse.core.runtime;bundle-version="3.6.0",
- org.eclipse.ui;bundle-version="3.6.0",
- org.eclipse.emf.ecore
+ org.eclipse.emf.ecore,
+ org.eclipse.xtend.core;bundle-version="2.7.3"
 Bundle-Activator: org.eclipse.etrice.core.CoreTestsActivator
 Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.etrice.core.room.tests/org.eclipse.etrice.core.room.tests.launch b/tests/org.eclipse.etrice.core.room.tests/org.eclipse.etrice.core.room.tests.launch
index 8571d72..409b61a 100644
--- a/tests/org.eclipse.etrice.core.room.tests/org.eclipse.etrice.core.room.tests.launch
+++ b/tests/org.eclipse.etrice.core.room.tests/org.eclipse.etrice.core.room.tests.launch
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
 <booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
 <booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticAdd" value="false"/>
 <booleanAttribute key="automaticValidate" value="false"/>
 <stringAttribute key="bootstrap" value=""/>
 <stringAttribute key="checked" value="[NONE]"/>
@@ -10,8 +11,8 @@
 <booleanAttribute key="clearws" value="true"/>
 <booleanAttribute key="clearwslog" value="false"/>
 <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
 <stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
 <listEntry value="/org.eclipse.etrice.core.room.tests"/>
@@ -26,20 +27,22 @@
 <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
 <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
 <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.core.room.tests"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea&#13;&#10;-Xmx512m&#13;&#10;-Xms128m&#13;&#10;-XX:PermSize=32m&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dfile.encoding=UTF-8&#13;&#10;-Dosgi.requiredJavaVersion=1.5"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea&#13;&#10;-Xmx512m&#13;&#10;-Xms128m&#13;&#10;-Dfile.encoding=UTF-8&#13;&#10;-Dosgi.requiredJavaVersion=1.8&#13;&#10;-Djava.library.path=/usr/lib/jni"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="run_in_ui_thread" value="false"/>
+<stringAttribute key="selected_target_plugins" value="com.google.guava@default:default,com.google.inject@default:default,javax.inject@default:default,javax.xml@default:default,org.antlr.runtime@default:default,org.apache.log4j@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi@-1:true,org.eclipse.xtend.core@default:default,org.eclipse.xtend.lib.macro@default:default,org.eclipse.xtend.lib@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.xtext.smap@default:default,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext.xbase@default:default,org.eclipse.xtext@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.objectweb.asm@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.etrice.core.common@default:default,org.eclipse.etrice.core.fsm@default:default,org.eclipse.etrice.core.room.tests@default:default,org.eclipse.etrice.core.room@default:default,org.eclipse.etrice.logging@default:false"/>
+<booleanAttribute key="show_selected_only" value="true"/>
 <stringAttribute key="templateConfig" value="${target_home}\configuration\config.ini"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
 <booleanAttribute key="useDefaultConfig" value="true"/>
 <booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
+<booleanAttribute key="useProduct" value="false"/>
 </launchConfiguration>
diff --git a/tests/org.eclipse.etrice.core.room.tests/src/org/eclipse/etrice/core/CoreTestsActivator.java b/tests/org.eclipse.etrice.core.room.tests/src/org/eclipse/etrice/core/CoreTestsActivator.java
index 3ca732d..6a4522d 100644
--- a/tests/org.eclipse.etrice.core.room.tests/src/org/eclipse/etrice/core/CoreTestsActivator.java
+++ b/tests/org.eclipse.etrice.core.room.tests/src/org/eclipse/etrice/core/CoreTestsActivator.java
@@ -13,7 +13,6 @@
 package org.eclipse.etrice.core;
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.emf.ecore.util.Diagnostician;
-import org.eclipse.etrice.core.ui.RoomUiModule;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 
@@ -38,7 +37,7 @@
 		
 		instance = this;
         
-		Injector injector = RoomUiModule.getInjector();
+		Injector injector = new RoomStandaloneSetup().createInjectorAndDoEMFRegistration();
         injector.injectMembers(this);
 	}
 
diff --git a/tests/org.eclipse.etrice.core.room.tests/xtend-gen/org/eclipse/etrice/core/TestNames.java b/tests/org.eclipse.etrice.core.room.tests/xtend-gen/org/eclipse/etrice/core/TestNames.java
index 4ec5ada..645b5a7 100644
--- a/tests/org.eclipse.etrice.core.room.tests/xtend-gen/org/eclipse/etrice/core/TestNames.java
+++ b/tests/org.eclipse.etrice.core.room.tests/xtend-gen/org/eclipse/etrice/core/TestNames.java
@@ -47,6 +47,7 @@
     final Diagnostic diag = this.getDiag(model);
     List<Diagnostic> _children = diag.getChildren();
     final Procedure1<Diagnostic> _function = new Procedure1<Diagnostic>() {
+      @Override
       public void apply(final Diagnostic it) {
         if ((it instanceof AbstractValidationDiagnostic)) {
           final EObject obj = ((AbstractValidationDiagnostic)it).getSourceEObject();
@@ -55,14 +56,7 @@
           if (_equals) {
             nameError = Boolean.valueOf(false);
           }
-          boolean _or = false;
-          if ((nameError).booleanValue()) {
-            _or = true;
-          } else {
-            boolean _isNameErrorMessage = TestNames.this.isNameErrorMessage(it);
-            _or = _isNameErrorMessage;
-          }
-          TestNames.this.nameErrorMap.put(obj, Boolean.valueOf(_or));
+          TestNames.this.nameErrorMap.put(obj, Boolean.valueOf(((nameError).booleanValue() || TestNames.this.isNameErrorMessage(it))));
         }
       }
     };
@@ -100,6 +94,7 @@
     int _size = items.size();
     Assert.assertEquals("Unexpected item count", 15, _size);
     final Procedure1<EObject> _function = new Procedure1<EObject>() {
+      @Override
       public void apply(final EObject it) {
         boolean _hasNameErrorMessage = TestNames.this.hasNameErrorMessage(it);
         Assert.assertFalse(("expected no name error: " + it), _hasNameErrorMessage);
@@ -120,6 +115,7 @@
     int _size = items.size();
     Assert.assertEquals("Unexpected item count", 9, _size);
     final Procedure1<EObject> _function = new Procedure1<EObject>() {
+      @Override
       public void apply(final EObject it) {
         boolean _hasNameErrorMessage = TestNames.this.hasNameErrorMessage(it);
         Assert.assertFalse(("expected no name error: " + it), _hasNameErrorMessage);
@@ -135,6 +131,7 @@
     final ArrayList<EObject> items = CollectionLiterals.<EObject>newArrayList();
     EList<EObject> _eContents = ac.eContents();
     final Function1<EObject, Boolean> _function = new Function1<EObject, Boolean>() {
+      @Override
       public Boolean apply(final EObject it) {
         return Boolean.valueOf((!(it instanceof ExternalPort)));
       }
@@ -146,6 +143,7 @@
     int _size = items.size();
     Assert.assertEquals("Unexpected item count", 13, _size);
     final Procedure1<EObject> _function_1 = new Procedure1<EObject>() {
+      @Override
       public void apply(final EObject it) {
         boolean _hasNameErrorMessage = TestNames.this.hasNameErrorMessage(it);
         Assert.assertTrue(("expected name error: " + it), _hasNameErrorMessage);
@@ -164,6 +162,7 @@
     final ArrayList<EObject> items = CollectionLiterals.<EObject>newArrayList();
     EList<EObject> _eContents = ac.eContents();
     final Function1<EObject, Boolean> _function = new Function1<EObject, Boolean>() {
+      @Override
       public Boolean apply(final EObject it) {
         return Boolean.valueOf((!(it instanceof ExternalPort)));
       }
@@ -181,6 +180,7 @@
     int _size = items.size();
     Assert.assertEquals("Unexpected item count", 16, _size);
     final Procedure1<EObject> _function_1 = new Procedure1<EObject>() {
+      @Override
       public void apply(final EObject it) {
         boolean _hasNameErrorMessage = TestNames.this.hasNameErrorMessage(it);
         Assert.assertTrue(("expected name error: " + it), _hasNameErrorMessage);
@@ -190,42 +190,11 @@
   }
   
   private boolean hasNameErrorMessage(final EObject obj) {
-    boolean _and = false;
-    boolean _containsKey = this.nameErrorMap.containsKey(obj);
-    if (!_containsKey) {
-      _and = false;
-    } else {
-      Boolean _get = this.nameErrorMap.get(obj);
-      _and = (_get).booleanValue();
-    }
-    return _and;
+    return (this.nameErrorMap.containsKey(obj) && (this.nameErrorMap.get(obj)).booleanValue());
   }
   
   protected boolean isNameErrorMessage(final Diagnostic diag) {
     final String message = diag.getMessage();
-    boolean _and = false;
-    int _severity = diag.getSeverity();
-    boolean _greaterEqualsThan = (_severity >= Diagnostic.ERROR);
-    if (!_greaterEqualsThan) {
-      _and = false;
-    } else {
-      boolean _or = false;
-      boolean _contains = message.contains("Duplicate name");
-      if (_contains) {
-        _or = true;
-      } else {
-        boolean _and_1 = false;
-        boolean _contains_1 = message.contains("Name");
-        if (!_contains_1) {
-          _and_1 = false;
-        } else {
-          boolean _contains_2 = message.contains("is already assigned to");
-          _and_1 = _contains_2;
-        }
-        _or = _and_1;
-      }
-      _and = _or;
-    }
-    return _and;
+    return ((diag.getSeverity() >= Diagnostic.ERROR) && (message.contains("Duplicate name") || (message.contains("Name") && message.contains("is already assigned to"))));
   }
 }
diff --git a/tests/org.eclipse.etrice.etunit.converter.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.etunit.converter.tests/META-INF/MANIFEST.MF
index 11a49dd..14e9a24 100644
--- a/tests/org.eclipse.etrice.etunit.converter.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.etunit.converter.tests/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: etUnit Converter Tests
 Bundle-SymbolicName: org.eclipse.etrice.etunit.converter.tests
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.etunit.converter.tests.Activator
 Bundle-Vendor: Eclipse eTrice
-Require-Bundle: org.eclipse.etrice.etunit.converter;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.etunit.converter;bundle-version="1.1.0",
  org.eclipse.core.runtime,
  org.junit;bundle-version="4.8.2"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/tests/org.eclipse.etrice.etunit.converter.tests/org.eclipse.etrice.etunit.converter.tests.launch b/tests/org.eclipse.etrice.etunit.converter.tests/org.eclipse.etrice.etunit.converter.tests.launch
index a820b2c..fbad29a 100644
--- a/tests/org.eclipse.etrice.etunit.converter.tests/org.eclipse.etrice.etunit.converter.tests.launch
+++ b/tests/org.eclipse.etrice.etunit.converter.tests/org.eclipse.etrice.etunit.converter.tests.launch
@@ -3,7 +3,7 @@
 <booleanAttribute key="append.args" value="true"/>
 <stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
 <booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticAdd" value="false"/>
 <booleanAttribute key="automaticValidate" value="false"/>
 <stringAttribute key="bootstrap" value=""/>
 <stringAttribute key="checked" value="[NONE]"/>
@@ -11,8 +11,8 @@
 <booleanAttribute key="clearws" value="true"/>
 <booleanAttribute key="clearwslog" value="false"/>
 <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
 <stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
 <listEntry value="/org.eclipse.etrice.etunit.converter.tests"/>
@@ -32,8 +32,10 @@
 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea&#13;&#10;-Xmx512m&#13;&#10;-Xms128m&#13;&#10;-XX:PermSize=32m&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dfile.encoding=UTF-8&#13;&#10;-Dosgi.requiredJavaVersion=1.5"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="run_in_ui_thread" value="false"/>
+<stringAttribute key="selected_target_plugins" value="javax.xml@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.junit@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.etrice.etunit.converter.tests@default:default,org.eclipse.etrice.etunit.converter@default:default"/>
+<booleanAttribute key="show_selected_only" value="true"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
 <booleanAttribute key="useDefaultConfig" value="true"/>
diff --git a/tests/org.eclipse.etrice.generator.common.tests/common.xml b/tests/org.eclipse.etrice.generator.common.tests/common.xml
index cc805e6..1e326bb 100644
--- a/tests/org.eclipse.etrice.generator.common.tests/common.xml
+++ b/tests/org.eclipse.etrice.generator.common.tests/common.xml
@@ -147,6 +147,18 @@
 			</java>
 		</sequential>
 	</macrodef>
+	
+	<macrodef name="convertPre">
+		<attribute name="testId"/>
+		<sequential>
+			<java output="${output}/convert.txt" append="true" classname="org.eclipse.etrice.etunit.converter.EtUnitReportConverter" fork="true" failonerror="true">
+				<arg value="-presuite"/>
+				<arg value="${ant.project.name}."/>
+				<arg value="${testlog.path}/@{testId}.etu"/>
+				<classpath refid="etrice.clspath"/>
+			</java>
+		</sequential>
+	</macrodef>
 
 	<!--
 		copy_results: copies the *.xml results to their final destination
diff --git a/tests/org.eclipse.etrice.generator.fsmtest.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.generator.fsmtest.tests/META-INF/MANIFEST.MF
index 1c40aff..94d5e97 100644
--- a/tests/org.eclipse.etrice.generator.fsmtest.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.generator.fsmtest.tests/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: org.eclipse.etrice.generator.fsmtest.tests
 Bundle-Vendor: Eclipse eTrice
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-SymbolicName: org.eclipse.etrice.generator.fsmtest.tests; singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.etrice.generator.fsmtest;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsmtest.ui;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.generator.fsmtest;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsmtest.ui;bundle-version="1.1.0",
  org.eclipse.core.runtime,
  org.eclipse.xtext.junit4;bundle-version="2.6.0",
  org.eclipse.ui.workbench;resolution:=optional
diff --git a/tests/org.eclipse.etrice.generator.java.tests/targetModels/DynamicConfigTest.config b/tests/org.eclipse.etrice.generator.java.tests/targetModels/DynamicConfigTest.config
index 1e7af96..13fd8a6 100644
--- a/tests/org.eclipse.etrice.generator.java.tests/targetModels/DynamicConfigTest.config
+++ b/tests/org.eclipse.etrice.generator.java.tests/targetModels/DynamicConfigTest.config
@@ -25,11 +25,11 @@
 		Attr aInt64 = 0 {
 			min = -1 max = 59
 		}
-		Attr aFloat32 = 0. {
-			min = -1. max = 59.
+		Attr aFloat32 = 0.0 {
+			min = -1.0 max = 59.0
 		}
-		Attr aFloat64 = 0. {
-			min = -1. max = 59.
+		Attr aFloat64 = 0.0 {
+			min = -1.0 max = 59.0
 		}
 		Attr aChar = ''
 		Attr aString = ""
diff --git a/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF
index 8cd79a9..1460ce2 100644
--- a/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.generator.tests/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Generator Model Tests
 Bundle-SymbolicName: org.eclipse.etrice.generator.tests
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-Vendor: Eclipse eTrice
-Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.0.1",
- org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.generator;bundle-version="1.0.1",
- org.eclipse.etrice.generator.fsm;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.common;bundle-version="1.1.0",
+ org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.generator;bundle-version="1.1.0",
+ org.eclipse.etrice.generator.fsm;bundle-version="1.1.0",
  org.junit;bundle-version="4.8.1",
  org.eclipse.osgi;bundle-version="3.6.0",
  org.eclipse.xtext;bundle-version="2.6.0",
diff --git a/tests/org.eclipse.etrice.generator.tests/org.eclipse.etrice.generator.tests.launch b/tests/org.eclipse.etrice.generator.tests/org.eclipse.etrice.generator.tests.launch
index dc1cc85..0cdfac9 100644
--- a/tests/org.eclipse.etrice.generator.tests/org.eclipse.etrice.generator.tests.launch
+++ b/tests/org.eclipse.etrice.generator.tests/org.eclipse.etrice.generator.tests.launch
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
 <booleanAttribute key="append.args" value="true"/>
+<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
 <booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticAdd" value="false"/>
 <booleanAttribute key="automaticValidate" value="false"/>
 <stringAttribute key="bootstrap" value=""/>
 <stringAttribute key="checked" value="[NONE]"/>
@@ -10,8 +11,8 @@
 <booleanAttribute key="clearws" value="true"/>
 <booleanAttribute key="clearwslog" value="false"/>
 <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
+<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="includeOptional" value="false"/>
 <stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
 <listEntry value="/org.eclipse.etrice.generator.tests"/>
@@ -31,11 +32,13 @@
 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea&#13;&#10;-Xmx512m&#13;&#10;-Xms128m&#13;&#10;-XX:PermSize=32m&#13;&#10;-XX:MaxPermSize=256m&#13;&#10;-Dfile.encoding=UTF-8&#13;&#10;-Dosgi.requiredJavaVersion=1.5"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<booleanAttribute key="run_in_ui_thread" value="true"/>
-<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="run_in_ui_thread" value="false"/>
+<stringAttribute key="selected_target_plugins" value="com.google.guava@default:default,com.google.inject@default:default,com.ibm.icu@default:default,javax.inject@default:default,javax.xml@default:default,org.antlr.runtime@default:default,org.apache.commons.cli@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.log4j@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.win32.x86_64@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources.win32.x86_64@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.emf.cdo.ecore.retrofit@default:false,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.mwe.core@default:default,org.eclipse.emf.mwe.utils@default:default,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.emf@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi@-1:true,org.eclipse.xpand@default:default,org.eclipse.xtend.lib.macro@default:default,org.eclipse.xtend.lib@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.xtend@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.ecore@default:default,org.eclipse.xtext.generator@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext@default:default,org.hamcrest.core@default:default,org.junit@default:default,org.objectweb.asm@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.etrice.core.common@default:default,org.eclipse.etrice.core.etmap@default:default,org.eclipse.etrice.core.etphys@default:default,org.eclipse.etrice.core.fsm@default:default,org.eclipse.etrice.core.genmodel.fsm@default:default,org.eclipse.etrice.core.genmodel@default:default,org.eclipse.etrice.core.room@default:default,org.eclipse.etrice.generator.fsm@default:default,org.eclipse.etrice.generator.tests@default:default,org.eclipse.etrice.generator@default:default,org.eclipse.etrice.logging@default:false"/>
+<booleanAttribute key="show_selected_only" value="true"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
 <booleanAttribute key="useDefaultConfig" value="true"/>
 <booleanAttribute key="useDefaultConfigArea" value="false"/>
-<booleanAttribute key="useProduct" value="true"/>
+<booleanAttribute key="useProduct" value="false"/>
 </launchConfiguration>
diff --git a/tests/org.eclipse.etrice.runtime.c.tests/make.xml b/tests/org.eclipse.etrice.runtime.c.tests/make.xml
index 1bdb40a..a37d667 100644
--- a/tests/org.eclipse.etrice.runtime.c.tests/make.xml
+++ b/tests/org.eclipse.etrice.runtime.c.tests/make.xml
@@ -53,8 +53,8 @@
 		convert: converts etu- into xunit xml-format
 	-->
 	<target name="convert" depends="run">
-		<convert testId="TestEtUnitSpecial"/>
-		<convert testId="TestCRuntime"/>
+		<convertPre testId="TestEtUnitSpecial"/>
+		<convertPre testId="TestCRuntime"/>
 	</target>
 	
 	<!--
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/.cproject b/tests/org.eclipse.etrice.runtime.cpp.tests/.cproject
index 99202a4..2fe7c18 100644
--- a/tests/org.eclipse.etrice.runtime.cpp.tests/.cproject
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/.cproject
@@ -244,10 +244,11 @@
 							<tool id="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug.789259845" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.exe.debug">
 								<option id="gnu.both.asm.option.include.paths.1341683413" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp/src/}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp/src-gen}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp/src}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/util}&quot;"/>
@@ -260,10 +261,11 @@
 								<option id="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level.1528455563" name="Debug Level" superClass="gnu.cpp.compiler.mingw.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
 								<option id="gnu.cpp.compiler.option.include.paths.247464205" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp/src/}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp/src-gen}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp/src}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/util}&quot;"/>
@@ -278,10 +280,11 @@
 								<option id="gnu.c.compiler.mingw.exe.debug.option.debugging.level.1501583494" name="Debug Level" superClass="gnu.c.compiler.mingw.exe.debug.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.max" valueType="enumerated"/>
 								<option id="gnu.c.compiler.option.include.paths.225039145" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp/src/}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp/src-gen}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp/src}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/common}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/config}&quot;"/>
 									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/src/util}&quot;"/>
@@ -291,8 +294,8 @@
 							<tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug.1858445743" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.exe.debug"/>
 							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug.326802020" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.exe.debug">
 								<option id="gnu.cpp.link.option.paths.1352233185" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
-									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp/LinuxPosix}&quot;"/>
-									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/LinuxPosix}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.cpp/WindowsMinGW}&quot;"/>
+									<listOptionValue builtIn="false" value="&quot;${workspace_loc:/org.eclipse.etrice.runtime.c/WindowsMinGW}&quot;"/>
 								</option>
 								<option id="gnu.cpp.link.option.libs.1439602349" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs">
 									<listOptionValue builtIn="false" srcPrefixMapping="" srcRootPath="" value="org.eclipse.etrice.runtime.cpp"/>
@@ -313,20 +316,21 @@
 						<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/org.eclipse.etrice.runtime.c"/>
 						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.c/src/common"/>
 						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.c/src/config"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW"/>
 						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.c/src/util"/>
-						<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/LinuxPosix"/>
+						<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.c/WindowsMinGW"/>
 						<entry flags="RESOLVED" kind="libraryFile" name="org.eclipse.etrice.runtime.c" srcPrefixMapping="" srcRootPath=""/>
 					</externalSetting>
 				</externalSettings>
 				<externalSettings containerId="org.eclipse.etrice.runtime.cpp;" factoryId="org.eclipse.cdt.core.cfg.export.settings.sipplier">
 					<externalSetting>
 						<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/org.eclipse.etrice.runtime.cpp"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.cpp/src/"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.c/src/platforms/MT_WIN_MinGW"/>
+						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.c/src/common"/>
 						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.cpp/src-gen"/>
 						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.cpp/src"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.c/src/platforms/MT_POSIX_GENERIC_GCC"/>
-						<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="includePath" name="/org.eclipse.etrice.runtime.c/src/common"/>
-						<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.cpp/LinuxPosix"/>
+						<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/org.eclipse.etrice.runtime.cpp/WindowsMinGW"/>
 						<entry flags="RESOLVED" kind="libraryFile" name="org.eclipse.etrice.runtime.cpp" srcPrefixMapping="" srcRootPath=""/>
 					</externalSetting>
 				</externalSettings>
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/doc/doc.txt b/tests/org.eclipse.etrice.runtime.cpp.tests/doc/doc.txt
new file mode 100644
index 0000000..d482f6e
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/doc/doc.txt
@@ -0,0 +1,16 @@
+Gnu Coverage:
+	1. Install Linux tools in Eclipse
+	2. Add -ftest-coverage and -fprofile-arcs to the compiler and the linker flags (Properties -> C++ Build -> Settings -> Miscellaneous)
+	3. Compile and run the application
+	4. Open one of the generated .gcov files
+
+CppCheck:
+	1. Download, install, open CppCheck
+	2. Choose Check Directory and select the source-folder
+	
+Valgrind:
+	1. Valgrind only works on Linux
+	2. Download the Valgrind source files and install them on the system (http://valgrind.org/docs/manual/dist.install.html)
+	3. Install Linux tools in Eclipse
+	4. Create a new profile configuration and select the tab Profiler
+	5. Switch to memcheck and press the button Profile
\ No newline at end of file
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/make.xml b/tests/org.eclipse.etrice.runtime.cpp.tests/make.xml
index 438134e..e8c7725 100644
--- a/tests/org.eclipse.etrice.runtime.cpp.tests/make.xml
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/make.xml
@@ -55,7 +55,7 @@
 		convert: converts etu- into xunit xml-format
 	-->
 	<target name="convert" depends="run">
-		<convert testId="TestCppRuntime"/>
+		<convertPre testId="TestCppRuntime"/>
 	</target>
 
 	<!--
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/RunAllTestCases.cpp b/tests/org.eclipse.etrice.runtime.cpp.tests/src/RunAllTestCases.cpp
index ac99ad9..3d76952 100644
--- a/tests/org.eclipse.etrice.runtime.cpp.tests/src/RunAllTestCases.cpp
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/RunAllTestCases.cpp
@@ -12,16 +12,17 @@
 
 #include "containers/StaticArrayTest.h"
 #include "containers/StaticStringTest.h"
-//#include "debugging/MSCFilterTest.h"
-//#include "debugging/MSCLoggerTest.h"
-//#include "debugging/DebuggingServiceTest.h"
+#include "debugging/MSCFunctionObjectTest.h"
+#include "debugging/MSCFilterTest.h"
+#include "debugging/MSCLoggerTest.h"
+#include "debugging/DebuggingServiceTest.h"
 #include "messaging/AddressTest.h"
 #include "messaging/MessageTest.h"
 #include "messaging/RTObjectTest.h"
 #include "messaging/MessageSeQueueTest.h"
 #include "messaging/MessageDispatcherTest.h"
 #include "messaging/MessageServiceTest.h"
-//#include "messaging/MessageServiceControllerTest.h"
+#include "messaging/MessageServiceControllerTest.h"
 
 #include "etUnit/etUnit.h"
 
@@ -37,14 +38,17 @@
 	staticStringTest.run();
 
 	// Test debugging
-//	MSCFilterTest filterTest;
-//	filterTest.run();
-//
-//	MSCLoggerTest loggerTest;
-//	loggerTest.run();
-//
-//	DebuggingServiceTest debugSvcTest;
-//	debugSvcTest.run();
+	MSCFilterTest filterTest;
+	filterTest.run();
+
+	MSCLoggerTest loggerTest;
+	loggerTest.run();
+
+	DebuggingServiceTest debugSvcTest;
+	debugSvcTest.run();
+
+	MSCFunctionObjectTest mscFunctionObjTest;
+	mscFunctionObjTest.run();
 
 	// Test messaging
 	AddressTest addressTest;
@@ -64,9 +68,9 @@
 
 	MessageServiceTest msgServiceTest;
 	msgServiceTest.run();
-//
-//	MessageServiceControllerTest msgSvcCtrlTest;
-//	msgSvcCtrlTest.run();
+
+	MessageServiceControllerTest msgSvcCtrlTest;
+	msgSvcCtrlTest.run();
 
 	etUnit_close();
 
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/DebuggingServiceTest.cpp b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/DebuggingServiceTest.cpp
new file mode 100644
index 0000000..9b489d9
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/DebuggingServiceTest.cpp
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#include "debugging/DebuggingServiceTest.h"
+#include "common/debugging/DebuggingService.h"
+#include "common/messaging/MessageService.h"
+#include "common/messaging/RTServices.h"
+#include "etUnit/etUnit.h"
+
+using namespace etRuntime;
+
+void DebuggingServiceTest::testLogging() {
+
+	MessageService msgSvc(NULL, IMessageService::BLOCKED, 0, 0,
+			"TestMessageService");
+	RTServices::getInstance().getMsgSvcCtrl().addMsgSvc(msgSvc);
+	RTServices::getInstance().getMsgSvcCtrl().start();
+	SubSystemClass subSystem(NULL, "TestSubSystem");
+	ActorClass actor1(&subSystem, "TestActor1");
+	ActorClass actor2(&subSystem, "TestActor2");
+	Port port1(&actor1, "TestPort1");
+	Port port2(&actor2, "TestPort2");
+	DebuggingService& dbgSvc = DebuggingService::getInstance();
+	dbgSvc.getAsyncLogger().setMSC("DebuggingServiceTest", "log/testlog/");
+	dbgSvc.getAsyncLogger().open();
+
+	InterfaceItemBase::connect(&subSystem, port1.getInstancePath(),
+			port2.getInstancePath());
+	dbgSvc.addPortInstance(port1);
+	dbgSvc.addPortInstance(port2);
+
+	dbgSvc.addMessageActorCreate(subSystem, "TestActor1");
+	dbgSvc.addMessageActorCreate(subSystem, "TestActor2");
+	dbgSvc.addMessageActorCreate(actor1, "SubActor");
+	dbgSvc.addMessageAsyncOut(port1.getAddress(), port2.getAddress(),
+			"MessageAsync");
+	dbgSvc.addMessageAsyncIn(port1.getAddress(), port2.getAddress(),
+			"MessageAsync");
+	dbgSvc.addMessageSyncCall(port1.getAddress(), port2.getAddress(),
+			"MessageSyncCall");
+	dbgSvc.addMessageSyncReturn(port1.getAddress(), port2.getAddress(),
+			"MessageSyncReturn");
+	dbgSvc.addActorState(actor1, "TestState");
+	dbgSvc.addMessageActorDestroy(actor1);
+	dbgSvc.addVisibleComment("This is a comment");
+
+	dbgSvc.removePortInstance(port1);
+	dbgSvc.removePortInstance(port2);
+
+	dbgSvc.getAsyncLogger().close();
+	RTServices::getInstance().getMsgSvcCtrl().stop();
+
+	const char* failMsg = "DebuggingServiceTest failed";
+	std::list<std::string>& result = dbgSvc.getAsyncLogger().getCommandList();
+
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare(
+					"\t/TestSubSystem (!) /TestSubSystem/TestActor1 "));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare(
+					"\t/TestSubSystem (!) /TestSubSystem/TestActor2 "));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare(
+					"\t/TestSubSystem/TestActor1 (!) /TestSubSystem/TestActor1/SubActor "));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare(
+					"\t/TestSubSystem/TestActor1 >-- /TestSubSystem/TestActor2 MessageAsync"));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare(
+					"\t/TestSubSystem/TestActor1 --> /TestSubSystem/TestActor2 MessageAsync"));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare(
+					"\t/TestSubSystem/TestActor1 ==> /TestSubSystem/TestActor2 MessageSyncCall"));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare(
+					"\t/TestSubSystem/TestActor1 <== /TestSubSystem/TestActor2 MessageSyncReturn"));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare(
+					"\t/TestSubSystem/TestActor1 >>> TestState"));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare(
+					"\t/TestSubSystem (X) /TestSubSystem/TestActor1 "));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare("# This is a comment"));
+	result.pop_front();
+
+}
+
+void DebuggingServiceTest::runAllTestCases() {
+	ADD_TESTCASE_CPP(testLogging)
+}
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/DebuggingServiceTest.h b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/DebuggingServiceTest.h
new file mode 100644
index 0000000..44f19d5
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/DebuggingServiceTest.h
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef SRC_DEBUGGING_DEBUGGINGSERVICETEST_H_
+#define SRC_DEBUGGING_DEBUGGINGSERVICETEST_H_
+
+#include "util/etTestSuite.h"
+#include "common/modelbase/ActorClassBase.h"
+#include "common/modelbase/SubSystemClassBase.h"
+#include "common/modelbase/PortBase.h"
+
+using namespace etRuntime;
+
+class DebuggingServiceTest: public etTestSuite {
+public:
+	DebuggingServiceTest() :
+			etTestSuite("DebuggingServiceTest") {
+	}
+
+protected:
+	void testLogging(void);
+
+	void runAllTestCases(void);
+};
+
+class ActorClass: public ActorClassBase {
+public:
+	ActorClass(IRTObject* parent, const std::string& name) :
+			ActorClassBase(parent, name) {
+	}
+
+	void receiveEvent(InterfaceItemBase* ifitem, int evt, void* data) {
+	}
+	void executeInitTransition() {
+	}
+};
+
+class SubSystemClass: public SubSystemClassBase {
+public:
+	SubSystemClass(IRTObject* parent, std::string name) :
+			SubSystemClassBase(parent, name) {
+	}
+
+	void receiveEvent(InterfaceItemBase* ifitem, int evt, void* data) {
+	}
+	void instantiateMessageServices() {
+	}
+	void mapThreads() {
+	}
+	void initialize() {
+	}
+
+};
+
+class Port: public PortBase {
+public:
+	Port(IInterfaceItemOwner* owner, const std::string& name) :
+			PortBase(owner, name, 0) {
+	}
+
+	void receive(const Message* msg) {
+	}
+};
+
+#endif /* SRC_DEBUGGING_DEBUGGINGSERVICETEST_H_ */
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFilterTest.cpp b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFilterTest.cpp
new file mode 100644
index 0000000..0f3ba62
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFilterTest.cpp
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#include "debugging/MSCFilterTest.h"
+#include "common/debugging/MSCFilter.h"
+#include "etUnit/etUnit.h"
+
+using namespace etRuntime;
+
+void MSCFilterTest::testFilter() {
+	const char* failMsg = "MSCFilter test failed";
+	MSCFilter filter;
+
+	// Test with no filter
+	EXPECT_TRUE(m_caseId, failMsg, filter.applyTo("test"));
+
+	// Test with one filter
+	filter.addFilter(MSCFilter::FilterItem("test1", false));
+	EXPECT_TRUE(m_caseId, failMsg, filter.applyTo("test1"));
+	EXPECT_FALSE(m_caseId, failMsg, filter.applyTo("eTrice"));
+
+	// Test with several filters
+	filter.addFilter(MSCFilter::FilterItem("test2", false));
+	filter.addFilter(MSCFilter::FilterItem("test3", false));
+	filter.addFilter(MSCFilter::FilterItem("test4", false));
+	EXPECT_TRUE(m_caseId, failMsg, filter.applyTo("test4"));
+	EXPECT_TRUE(m_caseId, failMsg, filter.applyTo("test3"));
+	EXPECT_TRUE(m_caseId, failMsg, filter.applyTo("test2"));
+	EXPECT_TRUE(m_caseId, failMsg, filter.applyTo("test1"));
+	EXPECT_FALSE(m_caseId, failMsg, filter.applyTo("eTrice"));
+	EXPECT_FALSE(m_caseId, failMsg, filter.applyTo("blabla"));
+}
+
+void MSCFilterTest::testReduceString() {
+}
+
+void MSCFilterTest::runAllTestCases() {
+	ADD_TESTCASE_CPP(testFilter)
+	// ADD_TESTCASE_CPP(testReduceString)
+}
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFilterTest.h b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFilterTest.h
new file mode 100644
index 0000000..f1de8d6
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFilterTest.h
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef SRC_DEBUGGING_MSCFILTERTEST_H_
+#define SRC_DEBUGGING_MSCFILTERTEST_H_
+
+#include "util/etTestSuite.h"
+
+class MSCFilterTest: public etTestSuite {
+public:
+	MSCFilterTest() :
+			etTestSuite("MSCFilterTest") {
+	}
+
+protected:
+	void testFilter(void);
+	void testReduceString(void);
+
+	void runAllTestCases(void);
+};
+
+#endif /* SRC_DEBUGGING_MSCFILTERTEST_H_ */
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFunctionObjectTest.cpp b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFunctionObjectTest.cpp
new file mode 100644
index 0000000..b7c8567
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFunctionObjectTest.cpp
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#include "debugging/MSCFunctionObjectTest.h"
+#include "common/debugging/MSCFunctionObject.h"
+#include "common/debugging/DebuggingService.h"
+#include "etUnit/etUnit.h"
+
+using namespace etRuntime;
+
+void MSCFunctionObjectTest::test() {
+	DebuggingService::getInstance().getSyncLogger().setMSC(
+			"MSCFunctionObjectTest", "log/testlog/");
+	DebuggingService::getInstance().getSyncLogger().open();
+	DebuggingService::getInstance().getSyncLogger().setObjectName("main");
+	MSCFunctionObject* obj = new MSCFunctionObject("MSCFunctionObjectTest",
+			"test(void)");
+	TestClassA* tca = new TestClassA();
+	tca->test();
+	delete tca;
+	delete obj;
+	DebuggingService::getInstance().getSyncLogger().close();
+}
+
+void MSCFunctionObjectTest::runAllTestCases() {
+	ADD_TESTCASE_CPP(test);
+}
+
+TestClassA::TestClassA() :
+		tcb() {
+	MSCFunctionObject("TestClassA", "Constructor");
+}
+
+TestClassA::~TestClassA() {
+	MSCFunctionObject("TestClassA", "Destructor");
+}
+
+void TestClassA::test() {
+
+	MSCFunctionObject msc("TestClassA", "test");
+	tcb.test();
+}
+
+TestClassB::TestClassB() {
+	MSCFunctionObject("TestClassB", "Constructor");
+}
+
+TestClassB::~TestClassB() {
+	MSCFunctionObject("TestClassB", "Destructor");
+}
+
+void TestClassB::test() {
+	MSCFunctionObject("TestClassB", "test");
+}
+
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFunctionObjectTest.h b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFunctionObjectTest.h
new file mode 100644
index 0000000..3415f4c
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCFunctionObjectTest.h
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef SRC_DEBUGGING_MSCFUNCTIONOBJECTTEST_H_
+#define SRC_DEBUGGING_MSCFUNCTIONOBJECTTEST_H_
+
+#include "util/etTestSuite.h"
+
+class MSCFunctionObjectTest: public etTestSuite {
+public:
+	MSCFunctionObjectTest() :
+			etTestSuite("MSFunctionObjectTest") {
+	}
+
+protected:
+	void test(void);
+
+	void runAllTestCases(void);
+};
+
+class TestClassB {
+public:
+	TestClassB(void);
+	void test(void);
+	~TestClassB(void);
+};
+
+class TestClassA {
+public:
+	TestClassA(void);
+	void test(void);
+	~TestClassA(void);
+private:
+	TestClassB tcb;
+};
+
+#endif /* SRC_DEBUGGING_MSCFUNCTIONOBJECTTEST_H_ */
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCLoggerTest.cpp b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCLoggerTest.cpp
new file mode 100644
index 0000000..ea1ae06
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCLoggerTest.cpp
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#include "MSCLoggerTest.h"
+#include "common/debugging/MSCLogger.h"
+#include "etUnit/etUnit.h"
+#include <stdio.h>
+#include <string.h>
+
+using namespace etRuntime;
+
+void MSCLoggerTest::testLogger() {
+
+	MSCLogger logger;
+	logger.setMSC("MSCTest", "log/testlog/");
+	logger.open();
+	logger.addMessageAsyncOut("Source", "Target", "MessageAsync");
+	logger.addMessageAsyncIn("Source", "Target", "MessageAsync");
+	logger.addMessageSyncCall("Source", "Target", "MessageSyncCall");
+	logger.addMessageSyncReturn("Source", "Target", "MessageSyncReturn");
+	logger.addMessageActorCreate("Source", "Target");
+	logger.addMessageActorDestroy("Source", "Target");
+	logger.addNote("Actor", "Note");
+	logger.addMessageCreate("Source", "Target");
+	logger.addActorState("Actor", "State");
+	logger.addVisibleComment("This is a comment");
+	logger.close();
+
+	const char* failMsg = "MSCLoggerTest failed";
+	std::list<std::string>& result = logger.getCommandList();
+
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare("\tSource >-- Target MessageAsync"));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare("\tSource --> Target MessageAsync"));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare("\tSource ==> Target MessageSyncCall"));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare("\tSource <== Target MessageSyncReturn"));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare("\tSource (!) Target "));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare("\tSource (X) Target "));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare("\tActor note: Note"));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare("\tSource (!) Target "));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare("\tActor >>> State"));
+	result.pop_front();
+	EXPECT_TRUE(m_caseId, failMsg,
+			!result.front().compare("# This is a comment"));
+	result.pop_front();
+
+}
+
+void MSCLoggerTest::runAllTestCases() {
+	ADD_TESTCASE_CPP(testLogger)
+}
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCLoggerTest.h b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCLoggerTest.h
new file mode 100644
index 0000000..0a2491a
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/debugging/MSCLoggerTest.h
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef SRC_MSCLOGGERTEST_H_
+#define SRC_MSCLOGGERTEST_H_
+
+#include "util/etTestSuite.h"
+
+class MSCLoggerTest: public etTestSuite {
+public:
+	MSCLoggerTest(void) :
+			etTestSuite("MSCLoggerTest") {
+	}
+
+protected:
+	void testLogger(void);
+
+	void runAllTestCases(void);
+};
+
+#endif /* SRC_MSCLOGGERTEST_H_ */
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageDispatcherTest.cpp b/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageDispatcherTest.cpp
index 113d20d..f81c3ae 100644
--- a/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageDispatcherTest.cpp
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageDispatcherTest.cpp
@@ -98,16 +98,16 @@
 	msgDisp.removeMessageReceiver(recv3);
 
 	// Test polling Messages
-	Message *pollMsg = new Message(Address(1, 2, 0), 0, NULL);
+	Message pollMsg(Address(1, 2, 0), 0, NULL);
 	msgDisp.addPollingMessageReceiver(recv1);
 	msgDisp.addPollingMessageReceiver(recv2);
 	msgDisp.addPollingMessageReceiver(recv3);
-	msgDisp.receive(pollMsg);
-	EXPECT_EQUAL_PTR(m_caseId, failMsg, pollMsg,
+	msgDisp.receive(&pollMsg);
+	EXPECT_EQUAL_PTR(m_caseId, failMsg, &pollMsg,
 			recv1.getLastReceivedMessagePtr());
-	EXPECT_EQUAL_PTR(m_caseId, failMsg, pollMsg,
+	EXPECT_EQUAL_PTR(m_caseId, failMsg, &pollMsg,
 			recv2.getLastReceivedMessagePtr());
-	EXPECT_EQUAL_PTR(m_caseId, failMsg, pollMsg,
+	EXPECT_EQUAL_PTR(m_caseId, failMsg, &pollMsg,
 			recv3.getLastReceivedMessagePtr());
 	msgDisp.removePollingMessageReceiver(recv1);
 	msgDisp.removePollingMessageReceiver(recv2);
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageServiceControllerTest.cpp b/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageServiceControllerTest.cpp
new file mode 100644
index 0000000..374aaba
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageServiceControllerTest.cpp
@@ -0,0 +1,116 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#include "messaging/MessageServiceControllerTest.h"
+#include "etUnit/etUnit.h"
+#include "common/messaging/MessageServiceController.h"
+#include "common/messaging/MessageService.h"
+#include "common/messaging/RTServices.h"
+#include "osal/etThread.h"
+
+using namespace etRuntime;
+
+MessageServiceControllerTest::MessageServiceControllerTest() :
+		etTestSuite("MessageServiceControllerTest") {
+
+	etTime interval;
+	interval.sec = 5;
+	interval.nSec = 0;
+	etTimer_construct(&m_timer, &interval,
+			MessageServiceControllerTest::timeout, static_cast<void*>(this));
+
+	RTServices::getInstance().getMsgSvcCtrl().resetAll();
+}
+
+MessageServiceControllerTest::~MessageServiceControllerTest() {
+
+	etTimer_destruct(&m_timer);
+}
+
+void MessageServiceControllerTest::testThreadIds() {
+
+	const char* failMsg = "MessageServiceControllerTest testThreadIds failed";
+	MessageServiceController& msgSvcController =
+			RTServices::getInstance().getMsgSvcCtrl();
+
+	EXPECT_EQUAL_INT32(m_caseId, failMsg, 0, msgSvcController.getNewID());
+	EXPECT_EQUAL_INT32(m_caseId, failMsg, 1, msgSvcController.getNewID());
+	EXPECT_EQUAL_INT32(m_caseId, failMsg, 2, msgSvcController.getNewID());
+	msgSvcController.freeID(1);
+	EXPECT_EQUAL_INT32(m_caseId, failMsg, 1, msgSvcController.getNewID());
+	EXPECT_EQUAL_INT32(m_caseId, failMsg, 3, msgSvcController.getNewID());
+	msgSvcController.resetAll();
+
+}
+
+void MessageServiceControllerTest::testMsgSvcManagement() {
+	// Construct timeout for the case that the MessageServiceController doesn't terminate
+	etTimer_start(&m_timer);
+
+	const char* failMsg =
+			"MessageServiceControllerTest testMsgSvcManagement failed";
+	MessageServiceController& msgSvcController =
+			RTServices::getInstance().getMsgSvcCtrl();
+	MessageService msgSvc1(NULL, IMessageService::BLOCKED, 1,
+			msgSvcController.getNewID(), "MessageService1");
+	MessageService msgSvc2(NULL, IMessageService::POLLED, 1,
+			msgSvcController.getNewID(), "MessageService2");
+
+	msgSvcController.addMsgSvc(msgSvc1);
+	msgSvcController.addMsgSvc(msgSvc2);
+	msgSvcController.start();
+	EXPECT_EQUAL_PTR(m_caseId, failMsg,
+			dynamic_cast<IMessageService*>(&msgSvc1),
+			msgSvcController.getMsgSvc(0));
+	EXPECT_EQUAL_PTR(m_caseId, failMsg,
+			dynamic_cast<IMessageService*>(&msgSvc2),
+			msgSvcController.getMsgSvc(1));
+	msgSvcController.resetAll();
+
+	msgSvcController.addMsgSvc(msgSvc1);
+	msgSvcController.addMsgSvc(msgSvc2);
+	msgSvcController.start();
+	EXPECT_EQUAL_PTR(m_caseId, failMsg,
+			dynamic_cast<IMessageService*>(&msgSvc1),
+			msgSvcController.getMsgSvc(0));
+	EXPECT_EQUAL_PTR(m_caseId, failMsg,
+			dynamic_cast<IMessageService*>(&msgSvc2),
+			msgSvcController.getMsgSvc(1));
+	msgSvcController.stop();
+	msgSvcController.removeMsgSvc(msgSvc1);
+	msgSvcController.removeMsgSvc(msgSvc2);
+
+	etTimer_stop(&m_timer);
+}
+
+void MessageServiceControllerTest::timeout() {
+	EXPECT_TRUE(m_caseId,
+			"MessageServiceControllerTest testMsgSvcManagement failed (timeout)",
+			false);
+	MessageServiceController& msgSvcController =
+			RTServices::getInstance().getMsgSvcCtrl();
+	IMessageService *msgSvc1 = msgSvcController.getMsgSvc(0);
+	IMessageService *msgSvc2 = msgSvcController.getMsgSvc(1);
+	if (msgSvc1) {
+		msgSvc1->terminate();
+		msgSvcController.setMsgSvcTerminated(*msgSvc1);
+	}
+	if (msgSvc2) {
+		msgSvc2->terminate();
+		msgSvcController.setMsgSvcTerminated(*msgSvc2);
+	}
+}
+
+void MessageServiceControllerTest::runAllTestCases() {
+	ADD_TESTCASE_CPP(testThreadIds)
+	ADD_TESTCASE_CPP(testMsgSvcManagement)
+}
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageServiceControllerTest.h b/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageServiceControllerTest.h
new file mode 100644
index 0000000..7c6f49b
--- /dev/null
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/MessageServiceControllerTest.h
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2016 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * 		Jan Belle (initial contribution)
+ *
+ *******************************************************************************/
+
+#ifndef SRC_MESSAGING_MESSAGESERVICECONTROLLERTEST_H_
+#define SRC_MESSAGING_MESSAGESERVICECONTROLLERTEST_H_
+
+#include "util/etTestSuite.h"
+#include "osal/etTimer.h"
+
+class MessageServiceControllerTest: public etTestSuite {
+public:
+	MessageServiceControllerTest();
+	~MessageServiceControllerTest();
+
+protected:
+	void testThreadIds(void);
+	void testMsgSvcManagement(void);
+
+	void runAllTestCases(void);
+
+private:
+	etTimer m_timer;
+
+	void timeout(void);
+	static void timeout(void* self) {
+		(static_cast<MessageServiceControllerTest*>(self))->timeout();
+	}
+};
+
+#endif /* SRC_MESSAGING_MESSAGESERVICECONTROLLERTEST_H_ */
diff --git a/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/RTObjectTest.cpp b/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/RTObjectTest.cpp
index fa2b28a..f84456f 100644
--- a/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/RTObjectTest.cpp
+++ b/tests/org.eclipse.etrice.runtime.cpp.tests/src/messaging/RTObjectTest.cpp
@@ -103,6 +103,9 @@
 	EXPECT_EQUAL_INT16(m_caseId, failMsg, -1,
 			rto4->getThreadForPath(rto4->getInstancePath()));
 
+	delete rto4;
+	delete rto3;
+	delete rto2;
 	delete rto1;
 }
 
diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF
index d67be93..077ea38 100644
--- a/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Behavior Diagram Tests
 Bundle-SymbolicName: org.eclipse.etrice.ui.behavior.tests
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.etrice.ui.behavior.BehaviorTestActivator
 Bundle-Vendor: Eclipse eTrice
-Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.ui.behavior;bundle-version="1.0.1",
- org.eclipse.etrice.ui.behavior.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common.base;bundle-version="1.0.1",
- org.eclipse.etrice.ui.tests.base;bundle-version="1.0.1",
+Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.behavior;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.behavior.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common.base;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.tests.base;bundle-version="1.1.0",
  org.eclipse.ui,
  org.eclipse.core.runtime,
  org.junit;bundle-version="4.8.1",
diff --git a/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF
index 272fb6a..d7dabb4 100644
--- a/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Structure Diagram Tests
 Bundle-SymbolicName: org.eclipse.etrice.ui.structure.tests
-Bundle-Version: 1.0.1.qualifier
-Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.0.1",
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.ui.structure;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common;bundle-version="1.0.1",
- org.eclipse.etrice.ui.common.base;bundle-version="1.0.1",
- org.eclipse.etrice.ui.tests.base;bundle-version="1.0.1",
+Bundle-Version: 1.1.0.qualifier
+Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="1.1.0",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.structure;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.common.base;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.tests.base;bundle-version="1.1.0",
  org.eclipse.ui,
  org.eclipse.core.runtime,
  org.junit;bundle-version="4.8.1",
diff --git a/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF
index 896c0df..4b28b72 100644
--- a/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: eTrice Diagram Test Base Classes
 Bundle-SymbolicName: org.eclipse.etrice.ui.tests.base
-Bundle-Version: 1.0.1.qualifier
+Bundle-Version: 1.1.0.qualifier
 Require-Bundle: org.junit;bundle-version="4.8.1",
  org.eclipse.core.runtime,
- org.eclipse.etrice.core.room;bundle-version="1.0.1",
- org.eclipse.etrice.ui.structure;bundle-version="1.0.1",
+ org.eclipse.etrice.core.room;bundle-version="1.1.0",
+ org.eclipse.etrice.ui.structure;bundle-version="1.1.0",
  org.eclipse.xtext;bundle-version="2.6.0",
  org.eclipse.graphiti;bundle-version="0.8.0"
 Bundle-Vendor: Eclipse eTrice